LoslegenKostenlos loslegen

Einbettungen verbessern die Leistung

Verbessert die Einbettungsschicht die Genauigkeit des Modells? Schauen wir mal in den gleichen IMDB-Daten nach.

Das Modell wurde schon mit 10 Epochen trainiert, genau wie das vorherige Modell mit der Zelle „ simpleRNN ”. Um die Modelle zu vergleichen, gibt's in der Umgebung ein Testset (X_test, y_test) und das alte Modell simpleRNN_model. Die Genauigkeit des alten Modells wird in die Variable „ acc_SimpleRNN “ geladen.

Alle benötigten Module und Funktionen, wie in der Umgebung geladen: Sequential() von keras.models, Embedding und Dense von keras.layers und SimpleRNN von keras.layers.

Diese Übung ist Teil des Kurses

Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras

Kurs anzeigen

Anleitung zur Übung

  • Füge die Einbettungsebene zum Modell hinzu.
  • Berechne die Genauigkeit des Modells und speicher sie in der Variablen „ acc_embeddings “.
  • Druck die Genauigkeit der alten und neuen Modelle aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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, ____))
Code bearbeiten und ausführen