Recurrent neural network based language model
ChainerのRNN Language Models — Chainer 4.3.1 documentationを動かすにあたり、元論文を読んでみることにした。
明確なリファレンスは見当たらなかったが、恐らく "Mikolov, Tomáš / Karafiát, Martin / Burget, Lukáš / Černocký, Jan / Khudanpur, Sanjeev (2010): "Recurrent neural network based language model", In INTERSPEECH-2010, 1045-1048. ではないかと思う。
論文抄録
1.論文の概要
Recurrent neural networkに基づく言語モデル(RNNLM)の音声認識への応用。 複数のRNN LMを組み合わせることで、backoff language modelと比較して、約50%のperplexityの削減が見込める。 Wall Street Journal taskにおける音声認識実験では約18%の単語エラーの減少を示した。
2. 問題設定と解決した点
シーケンシャルデータ予測はML/AIにおいて重要な問題設定。 統計的言語モデルの目的はテキストデータにおいて文脈上の次の単語を予測すること。 従来提示された高度な言語モデリング技術の大半は、ベースラインをわずかに超える改善しかしめせず、実用的ではなかった。
3. 技術や手法のキモ
simple recurrent neural network を採用した。 入力層がx, 隠れ層がs, 出力層がyで、時刻tの入力がx(t), 状態がs(t), 出力がy(t) となる。 順伝播計算は以下の通り。
(1)
(2)
(3)
w(t)はone-hot vector。隠れ層sのユニットは30-500。
4. 主張の有効性検証
WSJとNIST RT05で実験を行っている。
読み終えて...
ChainerのExampleで紹介している Recurrent Neural Net Language Model のベースには違いないと思われるが、ExampleにはWord Embedding Matrixが追加されていたり、活性化関数がsigmoidではなくtanhだったり、と細かな違いはあった。
そもそも論文を読み慣れてないし、まとめ慣れてないのでだいぶ戸惑った。 抄録フォーマットも力付きて、全部埋めきれず。何回かやれば慣れると思うが。
リファレンス
抄録フォーマットは以下を参考にさせてもらった。