Zacznij terazZacznij za darmo

Transfer learning jako punkt wyjścia

W tym ćwiczeniu przekonasz się, jakie korzyści daje użycie wstępnie wytrenowanych wektorów jako punktu wyjścia dla modelu.

Porównasz dokładność dwóch modeli wytrenowanych przez dwie epoki. Architektura obu modeli jest identyczna: warstwa osadzeń (embedding), warstwa LSTM ze 128 jednostkami oraz warstwa wyjściowa z 5 jednostkami odpowiadającymi liczbie klas w przykładowych danych. Różnica polega na tym, że jeden model używa wstępnie wytrenowanych wektorów w warstwie osadzeń (transfer learning), a drugi nie.

Wykorzystane wstępnie wytrenowane wektory to GloVE o wymiarze 200. Historia dokładności na zbiorze walidacyjnym obu modeli jest dostępna w zmiennych history_no_emb i history_emb.

To ćwiczenie jest częścią kursu

Rekurencyjne sieci neuronowe (RNN) do modelowania języka w Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Zaimportuj moduł matplotlib.pyplot jako plt.
  • Dodaj do wykresu listę wartości dokładności z modelu bez osadzeń.
  • Dodaj do wykresu listę wartości dokładności z modelu z osadzeniami.
  • Wyświetl wykres za pomocą metody .show().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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.____
Edytuj i uruchom kod