acl reading @naist: fast and robust neural network joint model for statistical machine translation
Post on 11-Jun-2015
932 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
論文紹介: [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
手法の概要
• 点線部分に"the"が来たときの尤度が知りたい。
– 目的言語の「履歴」、原言語の「ある範囲」の単語をニューラルネットに放り込む
– 「ある範囲」
• "the"にアライメントがある…アライメント先を中心語とする
• アライメントがない…いくつかのヒューリスティクスで中心語を決定
• 中心語の左右数語を使用
2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 3
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
高速化
• 何が遅いのか?
• 射影層から隠れ層への遷移
– 射影層の次元が大きい
– 入力層は非常に疎なのに無駄な計算をしている
• 出力層のsoft-max演算
– 分配関数の計算に、すべての出力ノードの総和が必要
2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 5
Self-normalization -出力層の高速化
• 分配関数の計算に時間がかかるので、これを省略したい
• 分配関数の計算が不要 ⇒ 𝑍 𝑥 = 1
⇒ log 𝑍 𝑥 = 0
• 最適化する関数に、log 𝑍 𝑥 に関する正則化項を追加
これをSGDで学習(多少の誤差は容認する)
2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 6
最大で15倍程度高速化
入力層の高速化
• 隠れ層の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倍程度高速化
隠れ層への行列の乗算まで完了したベクトル
𝜎
モデルのバリエーション (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
モデルのバリエーション (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
デコーダの修正
• 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
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
実験設定
• 提案法を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
実験結果 (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は向上。
実験結果 (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
実験結果 (3) - NNの設定の影響
• パラメータを小さくすれば性能は低下する
– 大方の予想通り
• パラメータを大きくしても大きな性能上昇はない
– 論文の設定が妥当
(個人的に気になる)
• 活性化関数が線形でも論文の2/3程度向上
– NNの実装が面倒ならlog-linearか何かで実装してしまってよい?
2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 15
実験結果 (4) -高速化の影響
2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 16
• 厳密なモデル(Standard)と他のモデルでそこまで精度に差があるわけではない。
– 速いのを使えばよい。
まとめ
• Neural Networkを使って、目的言語の履歴と原言語から単語を推定するモデルを作成
• 色々な高速化を実装
• 結果
– Hiero系のデコーダに適用すると、従来法より高い翻訳精度
• 単独で既存の素性いくつか分の有効性
• メリット
– 既存のデコーダに適用しやすい
• 素性と内部情報の追加だけでよい
– デコード時と再ランキング時の両方で使用可能
2014/7/17 (ACL Reading at NAIST) ©2014 by Yusuke Oda, AHC-Lab, IS, NAIST 17
top related