CommencezCommencez gratuitement

Les embeddings améliorent la performance

La couche d'intégration (embedding) améliore-t-elle la justesse du modèle? Vérifions-le 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 une cellule simpleRNN. Pour comparer les modèles, un ensemble de test (X_test, y_test) est disponible dans l'environnement, de même que l'ancien modèle simpleRNN_model. La justesse 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() de keras.models, Embedding et Dense de keras.layers, ainsi que SimpleRNN de keras.layers.

Cette activité fait partie du cours

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

Voir le cours

Instructions de l’exercice

  • Ajoutez la couche d'intégration (embedding) au modèle.
  • Calculez la justesse du modèle et stockez-la dans la variable acc_embeddings.
  • Affichez la justesse 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