Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

ACL2014読み会:Fast and Robust Neural Network Joint Models for Statistical Machine Translation

  • Loggen Sie sich ein, um Kommentare anzuzeigen.

ACL2014読み会:Fast and Robust Neural Network Joint Models for Statistical Machine Translation

  1. 1. Fast and Robust Neural Network Joint Models for Statistical Machine Translation Authors: Jacob Devlin, Rabih Zbib, Zhongqiang Huang, Thomas Lamar, Richard Schwartz, and John Makhoul 読む人:徳永 2014/07/12 ACL2014読み会@PFI
  2. 2. 自己紹介:徳永拓之 ●  twitter: @tkng ●  Preferred Infrastructure勤務(この会場) ●  MIRU 2014の特別チュートリアルに出ます ●  知的情報処理事業部はじめました
  3. 3. Fast and Robust Neural Network Joint Models for Statistical Machine Translation ●  概要:ニューラルネットを使って翻訳の BLEUスコアを改善した ●  選んだ理由:ベストペーパーだったから  シンプルなアイデアの組合せで良い結果を 出しており、面白かった
  4. 4. 統計的機械翻訳のおさらい P(e|j) = P(j|e) P(e) 翻訳モデルと言語モデルの2つに分けて考える ・翻訳として正しそう ・言語として意味が通る の2つを両立する文を選ぶ
  5. 5. 本論文の言語モデル Bengio et al. (2003)のNNLMの拡張 ●  入力は14単語 ●  各単語を192次元のword vectorに変換 ●  512次元の隠れ層を2つ通す o  tanhで非線形変換 ●  最終層はsoftmax
  6. 6. 図で表現すると 14単語×192次元 512次元 512次元 softmax 入力 (14単語) 0.0021
  7. 7. 本手法のアイデアは3つ ●  NNJM ●  self-normalization ●  pre-computing
  8. 8. NNJM:Neural Network Joint Model ●  言語モデルに翻訳元文の情報を入れる o  結果として、純粋な言語モデルとは言えなくなる o  BLEUが3ptぐらい上がる
  9. 9. NNJMにおける確率モデルの構成 P(wi|wi-2, wi-1, wi+1, wi+2, …, sa-1, sa, sa+1) 普通の言語モデル 翻訳元の単語 aはwiに対応する単語の翻訳元文での位置 (翻訳元文での位置が取れるような翻訳モデ ルを使うことが前提)
  10. 10. 適当にそれっぽく当てはめてみると P(猫|我輩, は, で, ある, …, am, cat, $) 普通の言語モデル 翻訳元の単語
  11. 11. self-normalization (1/3) 問題:softmaxで正規化項の計算が重たい
  12. 12. self-normalization (2/3) 問題:softmaxで正規化項の計算が重たい 解決策:Z(x)が1になるように学習し、デコー ド時にはZ(x)の計算は省略する
  13. 13. self-normalization (3/3) 効果:10倍ぐらい速くなる ※目的関数にそういう項を入れるだけなので、必ず1になるわけではない ※乱暴に感じるが、BLEUは0.1ぐらいしか下がらない
  14. 14. pre-computing (1/3) ●  NNの1段目は、入力コンテキストの単語毎 に192回の積和が512回実行される ●  入力コンテキストは14単語なので、計算回 数は以下になる 192 × 512 × 14 = 約137万回
  15. 15. pre-computing (2/3) ●  単語毎に192次元のベクトル(分散表現)の 値はわかってるので、次の層への影響は事 前に計算できる o  語彙数 × 512 x 14 で、500MB以下で保存可能 ●  512 × 14 = 約7000回の足し算で済む ●  実際にはメモリ待ちが減るのでもっと速く なる
  16. 16. pre-computing (3/3) ●  0.2 × 0.3 + 1.7 × 0.8 + 3.3 × 0.4 = 2.74 ●  <This, (a)> → 2.74 としてキャッシュできる This is a 0.2 1.7 3.3 (a) (b) (c) (d) 0.3 0.8 0.4
  17. 17. 実験結果 OpenMT12の1位を数ポ イント上回るBLEU値を 達成!
  18. 18. 感想:これはDeepではない ●  隠れ層は3層だけ! ●  しかも2層にしてもスコアは0.2下がるだけ o  アブストでの速度向上は、隠れ層を2層にした場合 ●  論文にもdeepという単語は出てこない
  19. 19. Deep LearningのNLP応用はまだ遠い? 以下の手法、全部隠れ層は2以下でいける ●  word2vec ●  paragraph vector ●  neural network joint model
  20. 20. まとめ ●  ニューラルネットを使った翻訳用の言語モ デルを作った ●  翻訳元言語の情報も使うところが新しい ●  self-normalizationなどの手法で大幅な高速化 を果たし、実用的な速度での翻訳を可能に した

×