Comparación del número de parámetros
Has visto que la representación one-hot no es una buena representación de las palabras porque es muy escasa. El uso de la capa « Embedding » crea una representación densa de los vectores, pero también requiere aprender muchos parámetros.
En este ejercicio compararás el número de parámetros de dos modelos utilizando la codificación embeddings y one-hot para ver la diferencia.
El modelo model_onehot ya está cargado en el entorno, al igual que Sequential, Dense y GRU de keras. Por último, también se cargan los parámetros vocabulary_size=80000 y sentence_len=200.
Este ejercicio forma parte del curso
Redes neuronales recurrentes (RNN) para el modelado del lenguaje con Keras
Instrucciones del ejercicio
- Importa la capa «
Embedding» desdekeras.layers. - En la capa de incrustación, utiliza el tamaño del vocabulario más uno como dimensión de entrada y el tamaño de la frase como longitud de entrada.
- Compila el modelo.
- Imprime el resumen del modelo con incrustación.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import the embedding layer
from tensorflow.keras.layers import ____
# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=____, output_dim=wordvec_dim, input_length=____, trainable=True))
model.add(GRU(128))
model.add(Dense(1))
model.____(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Print the summaries of the one-hot model
model_onehot.summary()
# Print the summaries of the model with embeddings
model.____