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

Post on 07-Jul-2015

3.829 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

Learning  Phrase  Representations  using  RNN  Encoder-‐‑‒Decoder    

for  Statistical  Machine  Translation

2014/11/22  EMNLP2014読み会@PFI    

菊池  悠太

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

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

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

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

はじめに

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

!

!

- 実験・結果 !

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

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

出てくる技術

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

出てくる技術

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

!

!

- 実験・結果 !

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

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

出てくる技術

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

出てくる技術

RNN Encoder-Decoder

2種類のRNN

RNN Encoder-Decoder

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

RNN Encoder-Decoder

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

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

今回の図

ちなみに

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

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

今回の図

ちなみに

RNN Encoder-DecoderのEncoder

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

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

?

X1 X2

target!!

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

X1 X2

r

実際は…

resetを考慮した 仮のhidden unit

X1 X2

r

update gate

z

X1 X2

r

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

z

X1 X2

r

z

X1 X2

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

r

RNN Encoder-DecoderのDecoder

RNN Encoder-DecoderのDecoder

RNN Encoder-DecoderのDecoder

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

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

RNN Encoder-DecoderのDecoder

出力層の活性化関数はMaxout

Training

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

Training

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

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

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

(Moses with default settings)

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

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

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

BLUE

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

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

phraseの実例(baselineと比較)

割愛 まぁ良い感じ

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

提案手法baseline翻訳モデル

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

Table 2の上半分

提案手法baseline翻訳モデル

Table 2の下半分

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

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

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

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

青い部分を拡大

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

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

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

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

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

Conclusion

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

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

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

おまけ

Neural Machine Translation

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

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

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

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

次のおまけのやつ

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

次のおまけのやつ

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

おまけ2

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

このへんを

こう!

わりと似てる!

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

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

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

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

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

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

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

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

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

おまけ3

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

!

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

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

今日の有名なの

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

!

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

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

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

!

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

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

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

!!!

!

全体まとめ

Neural Machine Translationやばそう !

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

!

先行者はBengio先生組やGoogle組

top related