[reading] learning to translate in real-time with neural machine translation
TRANSCRIPT
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 1
Learning to Translate in Real-timewith Neural Machine Translation
Jiatao Gu, Graham Neubig, Kyunghyun Cho, Victor O.K. Li
(Presented by Yusuke Oda)
2017/01/26 NAIST MT-Study Group
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 2
論文の目的● 入力を処理しながら同時に出力を生成
● →妥当な出力を生成できると判断するまで読み込み 対応する部分を出力
● 訳を出すタイミングも学習
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 3
翻訳器の構成要素● Encoder (READ): 順方向 RNN のみ
– 入力の終わりが分からないので逆方向が使用できない
● Decoder (WRITE): Encoder が保持している入力のみで Attention
● Agent: READ か WRITE かを制御
– 独自に内部状態の RNN を保持
– 入力ベクトル (Observation):
● デコーダの状態
● 直前の出力 Embedding
● 入力済みの単語の Attention
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 4
学習 (1)● 事前学習
– まず普通に最尤推定で Encoder-decoder を学習
● 最終的なモデルの一部にする
● Agent の報酬関数 (1)
– 全体の報酬関数
– 翻訳の品質 (Q) : BLEU で評価
● Y: 出力 (WRITE が発生する度に1単語ずつ書き込まれる・READ では変化なし)
● Y*: 参照文
● T: Agent の動作終了時刻
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 5
学習 (2)● Agent の報酬関数 (2)
– 遅延ペナルティ(D): 入出力の同時性
● Average Proportion (AP): Attention の面積
● Consecutive Wait length (CW): READ の長さ
● 報酬として使用する関数: α 0, β 0, c*, d* ≦ ≦ はパラメータ
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 6
学習 (3)● 強化学習
– 事前学習した Encoder-decoder はパラメータを固定
– Agent のみを Policy-gradient + Variance-reduction で学習
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 7
ビームサーチ● ビームサーチの扱いが自明でない
– READ と WRITE の切り替わりをどうするか
– とりあえず WRITE 時に Decoder のみをビームサーチ
● READ は入力待ち時間が発生するが、WRITE は一瞬と考えてよい
● Agent が READ を出したら 1-best の WRITE パスを採用
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 8
実験● 詳細な実験設定は省略(論文参照)
● いくつかの手法と Delay-Accuracy を比較
– 全ての手法でNMTを使用
● Competitors:
– Wait-Until-End (WUE)
● 最後まで READ してから WRITE (=普通のencoder-decoder)
– Wait-One-Step (WOS)
● 1 単語 READ するごとに WRITE
– Wait-If-Worse (WIW) [Cho&Esipova 2016]
● READ したら 出力確率が下がるようなら WRITE 開始
– Wait-If-Diff (WID) [Cho&Esipova 2016]
● READ したら 出力単語が変化するようなら WRITE 開始
– Segmentation (SEG) [Oda+ 2014]
● 区切り位置を別に学習したモデルで推定
– 翻訳単位の独立性を仮定したモデルなので NMT では恐らく使用が妥当ではない
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 9
実験結果 (1) 学習の進捗
● BLEUは正常な値
– WUE と WOS の中間に収まっているので、翻訳面では問題なく学習している
● APの変化は制約の強さに依存
– BLEUと併せて見る限り、最終的な精度にもかなりの影響
● CWはいずれも減少
– 翻訳精度は維持して遅延は減少
● ちょっと減りすぎに見える。 EN→RU だから他の言語対より遅延の面では簡単な設定か
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 10
実験結果 (2) Delay-Accuracy Curve (1)
– ビームサーチで精度向上
– パラメータである程度遅延を制御できるらしい
– 従来法のヒューリスティクス (WIW/WID) よりは優秀
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 11
実験結果 (3) Delay-Accuracy Curve (2)
● 事前に文を区切ってから翻訳するよりは有効
– 結果自体はその通りと思われる。
– 同じ翻訳モデルを使っている割に精度が下がりすぎているように見える。
– 恐らく分割モデルの学習に問題があるか、翻訳を完全に独立に行っている。
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 12
実験結果 (4) モデルの限界 (De→En)
● 後置の動詞がうまく出力されていない。
– Agent が Attention を制限するので、このモデルでは原理的に解決不能
– 同時翻訳系のアルゴリズム共通の問題。入力を待つ以外の手法が必要。
– 入力されそうな単語を予測するモデルなどは提案されている [Grissom II+2014]
17/01/26 Copyright (C) 2015 by Yusuke Oda, AHC-Lab, IS, NAIST 13
実験結果 (5) 翻訳例 (En→Ru)
● AP と CW である程度遅延を制御できるらしい。