ACL Reading @NAIST: Fast and Robust Neural Network Joint Model for Statistical Machine Translation
-
Upload
yusuke-oda -
Category
Technology
-
view
932 -
download
7
description
Transcript of 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
論文紹介: [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