CommencerCommencez gratuitement

Les embeddings améliorent les performances

La couche d’embedding améliore-t-elle la précision du modèle ? Vérifions cela sur les mêmes données IMDB.

Le modèle a déjà été entraîné pendant 10 époques, comme le modèle précédent avec la cellule simpleRNN. Pour comparer les modèles, un jeu de test (X_test, y_test) est disponible dans l’environnement, ainsi que l’ancien modèle simpleRNN_model. La précision de l’ancien modèle est chargée dans la variable acc_SimpleRNN.

Tous les modules et fonctions requis sont chargés dans l’environnement : Sequential() depuis keras.models, Embedding et Dense depuis keras.layers, et SimpleRNN depuis keras.layers.

Cet exercice fait partie du cours

<cours>Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras</cours>
Voir le cours

Instructions de l’exercice

  • Ajoutez la couche d’embedding au modèle.
  • Calculez la précision du modèle et stockez-la dans la variable acc_embeddings.
  • Affichez la précision de l’ancien et du nouveau modèle.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create the model with embedding
model = Sequential(name="emb_model")
model.add(____(input_dim=max_vocabulary, output_dim=wordvec_dim, input_length=max_len))
model.add(SimpleRNN(units=128))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Load pre-trained weights
model.load_weights('embedding_model_weights.h5')

# Evaluate the models' performance (ignore the loss value)
_, ____ = model.evaluate(X_test, y_test, verbose=0)

# Print the results
print("SimpleRNN model's accuracy:\t{0}\nEmbeddings model's accuracy:\t{1}".format(acc_simpleRNN, ____))
Modifier et exécuter le code