Ausgangspunkt für Transferlernen
In dieser Übung wirst du sehen, wie praktisch es ist, vorab trainierte Vektoren als Ausgangspunkt für dein Modell zu nehmen.
Du wirst die Genauigkeit von zwei Modellen vergleichen, die mit zwei Epochen trainiert wurden. Die Modelle sind alle gleich aufgebaut: Eine Einbettungsschicht, eine „ LSTM “-Schicht mit 128 Einheiten und die Ausgabeschicht mit 5 Einheiten, was der Anzahl der Klassen in den Beispieldaten entspricht. Der Unterschied ist, dass das eine Modell vorab trainierte Vektoren auf der Einbettungsebene nutzt (Transferlernen) und das andere nicht.
Die vorgetraineden Vektoren waren die „ GloVE ” mit 200 Dimensionen. Die Trainingsgenauigkeit der Validierungssätze beider Modelle findest du in den Variablen „ history_no_emb ” und „ history_emb ”.
Diese Übung ist Teil des Kurses
Rekursive neuronale Netze (RNNs) für die Sprachmodellierung mit Keras
Anleitung zur Übung
- Importiere das Modul „
matplotlib.pyplot” als „plt”. - Füge die Genauigkeitsliste aus dem Modell ohne Einbettungen zum Diagramm hinzu.
- Füge die Genauigkeitsliste aus dem Modell mit Einbettungen zum Diagramm hinzu.
- Zeig die Grafik mit der Methode „
.show()“ an.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Import plotting package
import matplotlib.____ as ____
# Insert lists of accuracy obtained on the validation set
plt.plot(____['acc'], marker='o')
plt.plot(history_emb[____], marker='o')
# Add extra descriptions to plot
plt.title('Learning with and without pre-trained embedding vectors')
plt.ylabel('accuracy')
plt.xlabel('epoch')
plt.legend(['no_embeddings', 'with_embeddings'], loc='upper left')
# Display the plot
plt.____