Aan de slagGa gratis aan de slag

Startpunt voor transfer learning

In deze oefening zie je het voordeel van het gebruiken van voorgetrainde vectoren als startpunt voor je model.

Je vergelijkt de nauwkeurigheid van twee modellen die met twee epochs zijn getraind. De architectuur van de modellen is hetzelfde: één embeddinglaag, één LSTM-laag met 128 units en de outputlaag met 5 units, wat gelijk is aan het aantal klassen in de voorbeelddata. Het verschil is dat één model voorgetrainde vectoren gebruikt in de embeddinglaag (transfer learning) en het andere niet.

De gebruikte voorgetrainde vectoren zijn GloVE met 200 dimensies. De trainingsnauwkeurigheid van de validatieset van beide modellen is beschikbaar in de variabelen history_no_emb en history_emb.

Deze oefening maakt deel uit van de cursus

Recurrent Neural Networks (RNN's) voor taalmodellen met Keras

Cursus bekijken

Oefeninstructies

  • Importeer de module matplotlib.pyplot als plt.
  • Voeg de lijst met accuracies van het model zonder embeddings toe aan de grafiek.
  • Voeg de lijst met accuracies van het model met embeddings toe aan de grafiek.
  • Toon de grafiek met de methode .show().

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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.____
Code bewerken en uitvoeren