Начальная точка при трансферном обучении
В этом упражнении вы убедитесь в преимуществах использования предобученных векторов в качестве отправной точки для модели.
Вы сравните точность двух моделей, обученных в течение двух эпох. Архитектура моделей одинакова: один слой эмбеддинга (векторного представления), один слой 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.____