Výchozí bod pro transfer learning
V tomto cvičení uvidíš, jakou výhodu přináší použití předtrénovaných vektorů jako výchozího bodu pro model.
Porovnáš přesnost dvou modelů trénovaných po dvou epochách. Architektura modelů je stejná: jedna embedding vrstva, jedna vrstva LSTM se 128 jednotkami a výstupní vrstva s 5 jednotkami odpovídajícími počtu tříd v ukázkových datech. Rozdíl spočívá v tom, že jeden model využívá předtrénované vektory v embedding vrstvě (transfer learning) a druhý ne.
Jako předtrénované vektory byly použity GloVE s 200 dimenzemi. Historie přesnosti na validační sadě obou modelů je dostupná v proměnných history_no_emb a history_emb.
Toto cvičení je součástí kurzu
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras
Pokyny k cvičení
- Importuj modul
matplotlib.pyplotjakoplt. - Přidej do grafu seznam hodnot přesnosti z modelu bez embeddingů.
- Přidej do grafu seznam hodnot přesnosti z modelu s embeddingy.
- Zobraz graf pomocí metody
.show().
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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.____