CommencerCommencer 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

Réseaux de neurones récurrents (RNN) pour la modélisation du langage avec Keras

Afficher le cours

Instructions

  • 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 cet exemple de code.

# 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