ÎncepețiÎncepe gratuit

Încorporările îmbunătățesc performanța

Stratul de încorporare (embedding) îmbunătățește acuratețea modelului? Hai să verificăm pe același set de date IMDB.

Modelul a fost deja antrenat timp de 10 epoci, la fel ca modelul anterior cu celula simpleRNN. Pentru a compara modelele, în mediu este disponibil un set de testare (X_test, y_test), precum și modelul vechi simpleRNN_model. Acuratețea modelului vechi este stocată în variabila acc_SimpleRNN.

Toate modulele și funcțiile necesare sunt încărcate în mediu: Sequential() din keras.models, Embedding și Dense din keras.layers, și SimpleRNN din keras.layers.

Acest exercițiu face parte din cursul

Rețele Neuronale Recurente (RNN) pentru Modelare a Limbajului cu Keras

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă stratul de încorporare la model.
  • Calculează acuratețea modelului și storeaz-o în variabila acc_embeddings.
  • Afișează acuratețea modelului vechi și a celui nou.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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, ____))
Editează și rulează codul