acl reading @naist: fast and robust neural network joint model for statistical machine translation

17
Fast and Robust Neural Network Joint Models for Statistical Machine Translation Jacob Devlin, Rabih Zbib, Zhongqiang Huang, Thomas Lamar, Richard Schwarts, John Mackhoul Introducing by Yusuke Oda (@odashi_t) 2014/7/17 ACL Reading IS, NAIST 1 2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST

Upload: yusuke-oda

Post on 11-Jun-2015

932 views

Category:

Technology


7 download

DESCRIPTION

ACL2014のbest long paperの紹介。2014/7/17にやったACL読み会@NAISTで発表しました。

TRANSCRIPT

Page 1: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

Fast and Robust Neural Network Joint Models for Statistical Machine Translation

Jacob Devlin, Rabih Zbib, Zhongqiang Huang,

Thomas Lamar, Richard Schwarts, John Mackhoul

Introducing by Yusuke Oda (@odashi_t)

2014/7/17 ACL Reading

IS, NAIST

12014/7/17 (ACL Reading at NAIST)

©2014 by Yusuke Oda, AHC-Lab, IS, NAIST

Page 2: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

論文紹介: [Devlin et al.]

• "Fast and Robust Neural Network Joint Models for Statistical Machine Translation"

• Best long paper award of ACL2014

• NNLMの考え方を機械翻訳プロセスへ応用– 目的言語だけでなく、対応する原言語の単語を考慮

• "Joint Model" の由来

– NNで学習した素性をデコーダのスコアとして追加

• 今年のACLの流行り?

• そのままでは遅いので高速化を検討– 入力層のテーブル化

– "Self Normalization"

• 何もしない場合より1万倍程度高速化

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 2

Page 3: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

手法の概要

• 点線部分に"the"が来たときの尤度が知りたい。

– 目的言語の「履歴」、原言語の「ある範囲」の単語をニューラルネットに放り込む

– 「ある範囲」

• "the"にアライメントがある…アライメント先を中心語とする

• アライメントがない…いくつかのヒューリスティクスで中心語を決定

• 中心語の左右数語を使用

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 3

Page 4: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

NNJM: ネットワークの構造

42014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST

𝑠𝑎𝑖−2𝑠𝑎𝑖−1𝑠𝑎𝑖𝑠𝑎𝑖+1𝑠𝑎𝑖+2

𝑡𝑖−2𝑡𝑖−1

𝑡𝑖−3

𝑃(𝑡𝑖)

hidden512

hidden512 soft-max

vocab=32k

projection192 * #input

vocab=16k

vocab=16k

shared projection matrix

input1-of-K

Page 5: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

高速化

• 何が遅いのか?

• 射影層から隠れ層への遷移

– 射影層の次元が大きい

– 入力層は非常に疎なのに無駄な計算をしている

• 出力層のsoft-max演算

– 分配関数の計算に、すべての出力ノードの総和が必要

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 5

Page 6: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

Self-normalization -出力層の高速化

• 分配関数の計算に時間がかかるので、これを省略したい

• 分配関数の計算が不要 ⇒ 𝑍 𝑥 = 1

⇒ log 𝑍 𝑥 = 0

• 最適化する関数に、log 𝑍 𝑥 に関する正則化項を追加

これをSGDで学習(多少の誤差は容認する)

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 6

最大で15倍程度高速化

Page 7: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

入力層の高速化

• 隠れ層のtanh ∙ を行う直前の値をテーブルに格納

– 計算は入力単語の個数分の総和とtanh ∙ だけでよい

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 7

𝑠𝑎𝑖−2𝑠𝑎𝑖−1𝑠𝑎𝑖𝑠𝑎𝑖+1𝑠𝑎𝑖+2

𝑡𝑖−2𝑡𝑖−1

𝑡𝑖−3

𝛴

メモリはそこそこ使うが1000倍程度高速化

隠れ層への行列の乗算まで完了したベクトル

𝜎

Page 8: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

モデルのバリエーション (1)

• 履歴の方向・翻訳の方向で4種類のNNJMが定義可能。

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 8

𝑠1 𝑠2 𝑠3 𝑠4 𝑠5 𝑠6 𝑠7

𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6 𝑡7

𝑠1 𝑠2 𝑠3 𝑠4 𝑠5 𝑠6 𝑠7

𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6 𝑡7

S2T/L2R ModelSource-to-Target / Left-to-Right

for decoding

S2T/R2L Modelfor rescoring

Target History Affiliation

Page 9: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

モデルのバリエーション (2)

• 履歴の方向・翻訳の方向で4種類のNNJMが定義可能。

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 9

𝑠1 𝑠2 𝑠3 𝑠4 𝑠5 𝑠6 𝑠7

𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6 𝑡7

𝑠1 𝑠2 𝑠3 𝑠4 𝑠5 𝑠6 𝑠7

𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6 𝑡7

T2S/L2R Modelfor rescoring

T2S/R2L Modelfor rescoring

Target History Affiliation

Page 10: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

デコーダの修正

• Tree-basedデコーダの場合

– より外側のルールで使用するので、使用した翻訳ルールの両端のaffiliationを覚えておかなければならない。

• 探索空間はそこまで増えない

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 10

𝑠1 𝑠2 𝑠3 𝑠4 𝑠5 𝑠6 𝑠7

foo bar

baz qux

quux corge

Page 11: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

NULLアライメントの考慮

• NNJMはNULLアライメントを考慮していない。

• 原言語の各単語から、NULLを含む各目的言語の単語が生成される確率を定義: Neural Network Lexical Translation Model

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 11

S2T Model: 𝑃 𝑡𝑠𝑖 𝑠𝑖 , 𝑠𝑖−1, 𝑠𝑖+1, …

T2S Model: 𝑃 𝑠𝑡𝑗 𝑡𝑗 , 𝑡𝑗−1, 𝑡𝑗+1, …

𝑠1 𝑠2 𝑠3 𝑠4 𝑠5 𝑠6 𝑠7

𝑡1 𝑡2 𝑡3 𝑡4 𝑡5 𝑡6 𝑡7NULL

Page 12: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

実験設定

• 提案法をHiero系のデコーダに適用。

– Baseline 1: String-to-dependency hierarchical decoder[Shen+ 2010]

– Baseline 2: Simple Hiero implementation[Chiang 2007]

• NNの基本設定

– Input: 3 * 1-of-16000(history) + 11 * i-of-16000(affiliation)

– Projection: (3+11) * 192 nodes

– Hidden: 512 nodes * 2 layers

– Output: 32000 soft-max nodes

– 高速化: Self-normalizationのみ

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 12

Page 13: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

実験結果 (1) - NIST OpenMT 2012

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 13

• DecodingとrescoringにNNJM, NNLTMを使用するとfeature-richなbaselineよりBLEUが3程度向上(Ar-En)。

• より素性の少ないbaselineではBLEUが6程度向上(Ar-En)。

– 色々な素性を組み合わせたもの

• Ch-Enでも変化は小さいが基本的に適用後のBLEUは向上。

Page 14: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

実験結果 (2) - Rescoringへの影響

• NNJMによるrescoringはRNNLMと同程度

– rescoringにRNNLMを使う必要はもうない?

• Decodingに使用した方がNNJMは効果的。

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 14

Page 15: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

実験結果 (3) - NNの設定の影響

• パラメータを小さくすれば性能は低下する

– 大方の予想通り

• パラメータを大きくしても大きな性能上昇はない

– 論文の設定が妥当

(個人的に気になる)

• 活性化関数が線形でも論文の2/3程度向上

– NNの実装が面倒ならlog-linearか何かで実装してしまってよい?

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 15

Page 16: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

実験結果 (4) -高速化の影響

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 16

• 厳密なモデル(Standard)と他のモデルでそこまで精度に差があるわけではない。

– 速いのを使えばよい。

Page 17: ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation

まとめ

• Neural Networkを使って、目的言語の履歴と原言語から単語を推定するモデルを作成

• 色々な高速化を実装

• 結果

– Hiero系のデコーダに適用すると、従来法より高い翻訳精度

• 単独で既存の素性いくつか分の有効性

• メリット

– 既存のデコーダに適用しやすい

• 素性と内部情報の追加だけでよい

– デコード時と再ランキング時の両方で使用可能

2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 17