НачатьНачать бесплатно

Начальная точка при трансферном обучении

В этом упражнении вы убедитесь в преимуществах использования предобученных векторов в качестве отправной точки для модели.

Вы сравните точность двух моделей, обученных в течение двух эпох. Архитектура моделей одинакова: один слой эмбеддинга (векторного представления), один слой LSTM с 128 нейронами и выходной слой с 5 нейронами — по числу классов в выборке. Разница в том, что одна модель использует предобученные векторы на слое эмбеддинга (трансферное обучение), а другая — нет.

В качестве предобученных векторов использовались GloVE размерностью 200. Истории точности на валидационной выборке для обеих моделей доступны в переменных history_no_emb и history_emb.

Это упражнение является частью курса

Рекуррентные нейронные сети (RNN) для языкового моделирования с Keras

Посмотреть курс

Инструкции к упражнению

  • Импортируйте модуль matplotlib.pyplot как plt.
  • Добавьте на график список значений точности модели без эмбеддингов.
  • Добавьте на график список значений точности модели с эмбеддингами.
  • Отобразите график с помощью метода .show().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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.____
Редактировать и запускать код