learning phrase representations using rnn encoder-decoder for statistical machine translation

52
Learning Phrase Representations using RNN EncoderDecoder for Statistical Machine Translation 2014/11/22 EMNLP2014読み会@PFI 菊池 悠太

Upload: yuta-kikuchi

Post on 07-Jul-2015

3.831 views

Category:

Technology


1 download

DESCRIPTION

EMNLP2014読み会の資料です. おまけはNeural Machine Translationについて.

TRANSCRIPT

Page 1: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Learning  Phrase  Representations  using  RNN  Encoder-‐‑‒Decoder    

for  Statistical  Machine  Translation

2014/11/22  EMNLP2014読み会@PFI    

菊池  悠太

Page 2: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Neural Network系技術を統計的機械翻訳(SMT)に活かす研究は流行っている,ACL2014も多かった(best paperもそうだった) 多くはphrase-based SMTの枠組みのどこかに活かす形

今回は 翻訳の枠組みがNeural Networkだけで完結する

Neural Machine Translation ....の(Bengio先生達にとっての)序章的論文

!本稿ではまだphrase-based SMTの素性として使った時の報告 時間があれば触れる用におまけを用意したが絶対時間足りない

はじめに

Page 3: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Agenda - はじめに - RNN Encoder-Decoder !

!

!

- 実験・結果 !

- おまけたち (Neural Machine Translation系の話題)

- RNN - LSTM(のシンプル版) - Maxout

出てくる技術

- phrase-based SMT - Feed Forward Neural Network Language Model (FFNNLM)

出てくる技術

Page 4: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Agenda - はじめに - RNN Encoder-Decoder !

!

!

- 実験・結果 !

- おまけたち (Neural Machine Translation系の話題)

- RNN - LSTM(のシンプル版) - Maxout

出てくる技術

- phrase-based SMT - Feed Forward Neural Network Language Model (FFNNLM)

出てくる技術

Page 5: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-Decoder

2種類のRNN

Page 6: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-Decoder

1. Encoder現言語列の単語をひとつずつ受け取り,隠れ状態ベクトルcを作るRNN

Page 7: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-Decoder

2. Decodercから目的言語列を生成するRNN

Page 8: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

よく見るシンプルなRNNの図

今回の図

ちなみに

Page 9: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

つまり - ◯は連続値ベクトル - xはone-hotベクトル

よく見るシンプルなRNNの図

今回の図

ちなみに

Page 10: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-DecoderのEncoder

Page 11: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Encoder (LSTM-likeな活性化関数)

Page 12: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Encoder (LSTM-likeな活性化関数)

?

Page 13: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

X1 X2

target!!

Page 14: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

reset gate: どのくらい前回の隠れ層が影響するか

X1 X2

r

実際は…

Page 15: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

resetを考慮した 仮のhidden unit

X1 X2

r

Page 16: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

update gate

z

X1 X2

r

Page 17: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

今回の入力単語をどのくらい使うか?をupdate gate が決定

z

X1 X2

r

Page 18: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

z

X1 X2

実際には隠れ層(1000次元)の各ユニットが独立した↑になってる - reset gateが1になりやすいユニットは短い時間依存を担当 - update gateが1になりやすいユニットは長い時間依存を担当

r

Page 19: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-DecoderのDecoder

Page 20: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-DecoderのDecoder

Page 21: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-DecoderのDecoder

[点線部分]以外大体Encoderと一緒

隠れ層の活性化関数はさっきのLSTM亜種

Page 22: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

RNN Encoder-DecoderのDecoder

出力層の活性化関数はMaxout

Page 23: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
Page 24: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Training

訓練後は1. 目的言語列の生成 2. (原言語列-目的言語列)対 の翻訳確率 に使える

Page 25: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Training

訓練後は1. 目的言語列の生成 2. (原言語列-目的言語列)対 の翻訳確率 に使える

今回は1.は定性評価のみ

Page 26: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

実験提案手法をphrased-base SMTの素性として使う

(Moses with default settings)

Page 27: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

phrase-base SMTにおけるデコーダとしての対数線形モデル

の素性関数fn(f,e)に追加する

RNN: - 提案手法による入力文のフレーズ対の翻訳確率(フレーズ対の数分足す) - フレーズ対の数 (フレーズ対の数だけ翻訳確率の総和が発生するため,これで公平さを取る狙い) CSLM[Schwenk2007] (基本的には[Bengio2003]のFFNNLMのこと): - 目的言語列の生成確率 Word Penalty - 出てきたUnknown wordの数

Page 28: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

BLUE

RNN, CSLMどっちも貢献してる

Page 29: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Table 2 現言語phraseに対するtop-scoredな目的言語

phraseの実例(baselineと比較)

割愛 まぁ良い感じ

提案手法はphrase table上の出現頻度に寄らないとか RNNencoderは短めのphraseを好むとか 

Page 30: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

提案手法baseline翻訳モデル

さすがにアレかなと思ったので急遽貼りました

Table 2の上半分

Page 31: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

提案手法baseline翻訳モデル

Table 2の下半分

さすがにアレかなと思ったので急遽貼りました

Page 32: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Table 3: 提案手法が生成したphraseたち

phrase tableにないものも生成できている →将来的に従来のphrase tableの代替に?

Page 33: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Figure 4: お約束,単語ベクトルの次元削減による可視化

青い部分を拡大

もっと大きな図は付録として最後についてます

Page 34: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Figure 5: cの次元圧縮による可視化

良い感じにphrase空間ができてる(論文をご参照下さい…)

Page 35: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Figure 5: cの次元圧縮による可視化

さすがにいっこ拡大してみる

Page 36: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

Conclusion

RNN Encoder-Decoderというものを提案 encoder: 任意長の原言語列 → 中間表現 decoder: 中間表現 → 任意長の目的言語列

Large Potential phrase tableの一部ないし全部を置き換える

RNNベースだしSpeech recognitionにも使えそう

Page 37: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

おまけ

Neural Machine Translation

Page 38: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

おまけ1, Bengio先生勢のNMT本編的論文

Page 39: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

今日のやつ(RNNenc)この論文の提案手法(grConv)

文長・未知語数別のBLUEスコア

純粋にNNだけで翻訳生成(デコード時に幅10でビームサーチ)

次のおまけのやつ

Page 40: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

文の長さ,未知語の数で かなり変わる

次のおまけのやつ

っていう論文がすでにarXivに….

Page 41: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

おまけ2

話題になったこれとの関係

Page 42: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

このへんを

Page 43: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

こう!

Page 44: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

わりと似てる!

Page 45: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

NMT的に生成したもののBLUEスコア

Page 46: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

NMT的に生成したもののBLUEスコア

“おまけ1”で出てきた結果の表

見比べるべき条件はこのふたつ

Page 47: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

NMT的に生成したもののBLUEスコア

“おまけ1”で出てきた結果の表

ハイパーパラメータが違ったり

モデルも一緒ではないので

この数値だけだと優劣分からない

Page 48: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

おまけ3

Page 49: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

バイリンガルで学習するとモノリンガルな 単語類似度評価セットも向上

!

“bilingual word embeddings”は以前からあったが 実際に有名な評価セットで優位性を報告したのは初?

単語の分散表現の学習について今日の有名なの

Page 50: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

今日の有名なの

バイリンガルで学習するとモノリンガルな 単語類似度評価セットも向上

!

“bilingual word embeddings”は以前からあったが 実際に有名な評価セットで優位性を報告したのは初?

単語の分散表現の学習について新しい単語類似度評価セット

Page 51: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

バイリンガルで学習するとモノリンガルな 単語類似度評価セットも向上

!

“bilingual word embeddings”は以前からあったが 実際に有名な評価セットで優位性を報告したのは初?

単語の分散表現の学習について今日の有名なの

これもNMT しかもBLUEはRNNencより良いっぽい

!!!

!

Page 52: Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation

全体まとめ

Neural Machine Translationやばそう !

純粋にNNだけでちゃんと生成ができそうな報告が溜まってきた?

!

先行者はBengio先生組やGoogle組