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

Post on 11-Jun-2015

932 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

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