FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

「ゼロから作るディープラーニング②」を読む (6. ゲート付きRNN)

ゼロから作るDeep Learning ? ―自然言語処理編

ゼロから作るDeep Learning ? ―自然言語処理編

「ゼロから作るディープラーニング②」を購入した。

あまり内容を詳細に記録するつもりはないので、読んで纏めていったものをGistに張り付けていく。

第6章はゲート付きRNNだ。シンプルなRNNでは学習の効率が良くないところを、ゲート付きのRNN(いわゆるLSTMなど)を使って効率化していく。

  • 6章 ゲート付きRNN

Jupyter Notebook Viewer

f:id:msyksphinz:20180812022100p:plain

6.6 まとめ

  • 単純なRNNの勾配喪失・勾配爆発の問題を解決するために、以下のテクニックを導入する。
  • LSTMに使用されるゲート
    • inputゲート
    • forgetゲート
    • outputゲート
    • それぞれに重みがついている。sigmoid関数で0.0から1.0までの値が使われる。
  • 言語モデルの実装
    • LSTMレイヤの多層化
    • Dropout
    • 重み共有
  • RNNの正則化は重要なテーマであり、Dropoutベースの様々な手法が提案されている。
f:id:msyksphinz:20180812021948p:plain
図. ゲート付きRNNの実行結果。