Punto di partenza del transfer learning
In questo esercizio vedrai i vantaggi di usare vettori pre-addestrati come punto di partenza per il tuo modello.
Confronterai l'accuracy di due modelli addestrati per due epoche. L'architettura dei modelli è la stessa: un livello di embedding, uno strato LSTM con 128 unità e il livello di output con 5 unità, che corrisponde al numero di classi nei dati di esempio. La differenza è che un modello usa vettori pre-addestrati nello strato di embedding (transfer learning) e l'altro no.
I vettori pre-addestrati usati sono GloVE con 200 dimensioni. La cronologia dell'accuracy sul set di validazione di entrambi i modelli è disponibile nelle variabili history_no_emb e history_emb.
Questo esercizio fa parte del corso
Reti Neurali Ricorrenti (RNN) per il Language Modeling con Keras
Istruzioni dell'esercizio
- Importa il modulo
matplotlib.pyplotcomeplt. - Aggiungi al grafico la lista delle accuracy del modello senza embeddings.
- Aggiungi al grafico la lista delle accuracy del modello con embeddings.
- Mostra il grafico usando il metodo
.show().
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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.____