Startpunkt för transferinlärning
I den här övningen får du se fördelen med att använda förtränade vektorer som startpunkt för din modell.
Du kommer att jämföra noggrannheten hos två modeller tränade under två epoker. Arkitekturen är densamma: ett inbäddningslager, ett LSTM-lager med 128 enheter och ett utdatalager med 5 enheter – vilket motsvarar antalet klasser i exempeldatan. Skillnaden är att en modell använder förtränade vektorer i inbäddningslagret (transferinlärning) och den andra inte gör det.
De förtränade vektorer som används är GloVE med 200 dimensioner. Träningsnoggrannhetshistoriken för valideringsmängden från båda modellerna finns tillgänglig i variablerna history_no_emb och history_emb.
Den här övningen är en del av kursen
Återkommande neurala nätverk (RNN) för språkmodellering med Keras
Övningsinstruktioner
- Importera modulen
matplotlib.pyplotsomplt. - Lägg till listan med noggrannhetsvärden från modellen utan inbäddningar i diagrammet.
- Lägg till listan med noggrannhetsvärden från modellen med inbäddningar i diagrammet.
- Visa diagrammet med metoden
.show().
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____