Comparaison du nombre de paramètres
Vous avez vu que la représentation one-hot n’est pas une bonne représentation des mots, car elle est très clairsemée. L’utilisation de la couche Embedding crée une représentation dense des vecteurs, mais requiert aussi un grand nombre de paramètres à apprendre.
Dans cet exercice, vous allez comparer le nombre de paramètres de deux modèles utilisant des embeddings et un encodage one-hot pour constater la différence.
Le modèle model_onehot est déjà chargé dans l’environnement, de même que Sequential, Dense et GRU depuis keras. Enfin, les paramètres vocabulary_size=80000 et sentence_len=200 sont également chargés.
Cet exercice fait partie du cours
Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras
Instructions
- Importez la couche
Embeddingdepuiskeras.layers. - Dans la couche d’embedding, utilisez la taille du vocabulaire plus un comme dimension d’entrée et la taille de la phrase comme longueur d’entrée.
- Compilez le modèle.
- Affichez le résumé du modèle avec embedding.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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.____