トランスファーラーニングの出発点
この演習では、事前学習済みベクトルをモデルの初期値として使う利点を確認します。
2 エポックで学習した2つのモデルの正解率を比較します。どちらのモデルもアーキテクチャは同じで、埋め込み層、128ユニットの LSTM 層、そしてサンプルデータのクラス数にあたる5ユニットの出力層から成ります。違いは、片方のモデルは埋め込み層に事前学習済みベクトル(トランスファーラーニング)を用い、もう片方は用いない点です。
使用する事前学習済みベクトルは 200 次元の GloVE です。両モデルの検証データに対する学習時の正解率の履歴は、history_no_emb と history_emb に用意されています。
この演習はコースの一部です
Kerasで学ぶ言語モデリングのためのRecurrent Neural Networks (RNNs)
演習の手順
- モジュール
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.____