Apprentissage par transfert
Vous avez constaté que lors de l'entraînement d'une couche d'intégration, il est nécessaire d'apprendre un grand nombre de paramètres.
Dans cet exercice, vous constaterez qu'en utilisant l'apprentissage par transfert, il est possible d'utiliser les poids pré-entraînés sans les mettre à jour, ce qui signifie que tous les paramètres de la couche d'intégration seront fixes et que le modèle n'aura qu'à apprendre les paramètres des autres couches.
La fonction load_glove
est déjà chargée dans l'environnement et récupère la matrice du gant sous la forme d'un vecteur d'numpy.ndarray
. Il utilise la fonction abordée dans les diapositives de la leçon pour récupérer les vecteurs gants avec 200 dimensions d'intégration pour le vocabulaire présent dans cet exercice.
Cet exercice fait partie du cours
Réseaux neuronaux récurrents (RNN) pour la modélisation du langage avec Keras
Instructions
- Veuillez utiliser la fonction prédéfinie pour charger les vecteurs de gants.
- Utilisez l'initialiseur
Constant
sur les vecteurs pré-entraînés. - Ajoutez la couche de sortie en tant qu'
Dense
e avec une unité. - Veuillez imprimer le résumé et vérifier les paramètres pouvant être ajustés.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Load the glove pre-trained vectors
glove_matrix = ____('glove_200d.zip')
# Create a model with embeddings
model = Sequential(name="emb_model")
model.add(Embedding(input_dim=vocabulary_size + 1, output_dim=wordvec_dim,
embeddings_initializer=____(glove_matrix),
input_length=sentence_len, trainable=False))
model.add(GRU(128))
model.add(____)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Print the summaries of the model with embeddings
model.____