1
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
“Unsupervised Neural MachineTranslation(ICLR2018)”
MasashiYokota, Nakayama Lab
書誌情報
• UNSUPERVISED NEURAL MACHINE TRANSLATION
• 著者
– Mikel Artetxe
– Gorka Labaka
– Eneko Agirre
– Kyunghyun Cho
• 概要
機械翻訳タスクで初めて本格的に教師なし学習手法を提案。共通のエン
コーダ(shared encoder)に通し得られた表現ベクトルを元にターゲット言語
に翻訳する。
2
教師あり機械翻訳
• 一般的に機械翻訳はEncoder-Decoderモデルを用いて、source
からtargetに翻訳する。
3
Encoder Deocoder
This is a pen
こ れ は ペ ン で す
教師あり機械翻訳の問題点
• 大量のparallel corpus が必要
– 十分な学習データがないと良い性能が得ることが難しいことは知られて
いる [Koehn & Knowles, ACL 2017]
– 十分な学習データを得にくいマイナー言語(ex. バスク語)の学習は特に
困難。
4
リソースの少ない言語への取り組み
• Pivot-base approach:
Neural machine translation with pivot languages.[Cheng+
CoRR2016]
• teacher-student approach:
A teacher-student framework for zero-resource neural machine
translation. [Chen+ ACL2017]
5
Pivot-base approach
Neural machine translation with pivot languages.[Cheng+
CoRR2016]
6
• X-ZコーパスとZ-Yコーパスがそれぞれあり、X-Y
コーパスがない場合。XからZに翻訳し、さらにZからYを翻訳(ピ
ボット)することで結果としてX->Yへの翻訳を行う。
Pivot-base approachの問題点
• X->Z->Yのように多段階に翻訳を行うので、計算コストが高い
• X->Yの翻訳のエラーをモデルに直接反映できない。
(X->ZのモデルとZ->Yのモデルが完全に独立なため)
• 上手くX->Yを直接学習したい...
→teacher-student approachの登場
7
Teacher-student approach
A teacher-student framework for zero-resource neural machine
translation. [Chen+ ACL2017]
• X-ZコーパスとZ-Yコーパスはあるが、X-Yコーパスはない。
• X->Yへ翻訳できるモデルが欲しい。
8
X
Z
Y
☓
Teacher-student approach
A teacher-student framework for zero-resource neural machine
translation. [Chen+ ACL2017]
• まず、Z-Yコーパスを用いてZ->Yへの翻訳モデルを学習し、Z->Y
モデルを教師とする
9
X
Z
Y
学習
Teacher-student approach:
A teacher-student framework for zero-resource neural machine
translation. [Chen+ ACL2017]
• XとZは異なる言語で同じ意味の文である場合、XからYへの翻訳
文とZからYへの翻訳文は同じになるという仮定から、
と の分布を近づけるように学習。 10
X
Z
Y
这是一支钢笔
これはペンです
日中(X-Z)の
対訳を使う
this an pen is
this is a pen
これらの分布を
近づける。
(KLを小さくする
ように学習)
従来研究の問題点
• Pivot-base approachもteacher-student approach双方とも
結局の所、大規模コーパスに頼っている(2種類のコーパスが必
要なため)。
• そのため、何かしらの大規模コーパスを作る必要があり問題解決
になっていない
→完全な教師なし学習を実現する必要がある(提案手法)
11
提案手法
12
提案モデル
13
言語L1/言語L2は共通の
エンコーダで学習
単語のembedding層は
学習せず固定
提案モデル ポイント
提案モデルのポイントは3つ
1. Dual structure:
• 英↔仏のような双方向の変換を学習
2. Shared encoder:
• 仮に英語↔仏語の学習を行う時に英語も仏語も共通のエンコーダを用いる
3. Fixed embeddings in the encoder:
• 単語のembeddingは事前に学習したword2vecの値を用いて学習しない。
14
提案モデルの学習方法
• Denoising:
元の文にノイズを入れ、ノイズ除去を行うことで知識を獲得する
• On-the-fly backtranslation
学習途中のモデルを使って擬似対訳コーパスを生成し、
backtranslationされた文と元の文が同じになるように学習
15
Denoising
Shared encoderでは言語L1/言語L2に依らない表現が欲しい
• L1(or L2)をshared encoderに入力し、L1(or L2)のデコーダで元の
文を生成できるようなshared endocoderを学習
– しかし、単にL1->L1 or L2->L2のコピータスクでは簡単すぎて有益な学
習にならない。
• 入力文にノイズを入れ、ノイズを除去した文を生成する
– 今回は文の半分の単語をシャッフルし、デコーダで正しい順序の文を生
成する。
→(個人的な意見)L1/L2の文法を学習する感じ?
16
Denoising
17
Shared Encoder
L1 Decoder
L2 Decoderは れ ペ ン で こ す
こ れ は ペ ン で す
ノイズを含む文
(シャッフルされた文)
デコーダでは、
正しい順序の文を
生成するように学習
Denoising
18
Shared Encoder
L1 Decoder
L2 Decoder
a is this pen
this is a pen
ノイズを含む文
(シャッフルされた文)
• 言語L2でも言語L1と同様に学習する
On-the-fly backtranslation
• Denoisingだけでは翻訳タスクの学習は難しい。
– やはり、対訳コーパスが欲しい
→学習中のモデルで擬似的に対訳コーパスを作ってbacktranslation
• 流れ
– 言語L1から言語L2へ推論モードで翻訳
– 翻訳した言語L2から、元の言語L1の文になるように翻訳(学習)
19
On-the-fly backtranslation 1 / 2
L1からL2へgreedyに翻訳(※ここは学習しない)
20
Shared Encoder
L1 Decoder
L2 Decoderこ れ は ペ ン で す
this is a pen
生成した文を
Shared encoderに入力
On-the-fly backtranslation 2 / 2
L2からL1へbacktranslationし元の文と一致するよう学習
21
Shared Encoder
L1 Decoder
L2 Decoder
ほ げ ほ げ
this is a pen
こ れ は ペ ン で す
元の文と一致
するように学習
this is a pen
生成した文を
Shared encoderに入力
学習手順
• 言語L1と言語L2のNMTを学習する
1. Denoising (L1)
2. Denoising (L2)
3. On-the-fly backtranslation (L1 -> L2)
1. L1からL2に翻訳(学習しない)
2. L2から元のL1の文になるように翻訳
4. On-the-fly backtranslation (L2 -> L1)
1. L2からL1に翻訳(学習しない)
2. L1から元のL2の文になるように翻訳
22
実験結果
23
実験設定
• モデル: シンプルなEncoder-Decoderモデル
• データセット: WMT 2014
• 比較手法
– Unsupervised: embedding + nearest neighbor
– Supervised:
• 提案手法と同じパーツを持つNMTの教師あり学習
• GNMT (Wu+ 2016)
24
学習の詳細
• バッチサイズ:
50 (DenoisingとOn-the-fly backtranslation両方)
• Adam: 学習率 0.0002
• 目的関数
– Denoising: cross-entropy loss function
– On-the-fly backtranslation: cross-entropy loss function
• 上記設定で300,000イテレーション学習(およそ4-5日間)学習
25
実験内容
1. 定量評価
– 教師なし、半教師あり、教師ありでそれぞれ比較
– 半教師ありは提案手法を拡張したもの(単に学習プロセスに少量の対
訳コーパスの教師あり学習を追加しただけ)
2. 定性評価
– 提案手法で生成された文がどれほど妥当な文を生成したか定性的に
評価
26
定量評価
• Backtranslationにより精度が向上する。提案手法をsemi-supervisedな手法に
拡張した際に、通常の教師あり学習よりも性能が向上する。しかし、SOTAなモ
デルと比べると大きく性能は劣る。 27
定性評価
• 定性評価でも概ね意味は合っている文を生成できている。
28
まとめと感想
• 完全な教師なし学習で機械翻訳を学習する手法を提案
– Denoising:
ノイズを入れた文からノイズを除去する
– On-the-fly backtranslation:
学習中のモデルを使って擬似的対訳コーパスを作成し学習
• 教師なし学習の提案の貢献は非常に大きいが、性能的には改善
の余地が大いにある
• Dual learning for machine translation [He+ NIPS2016]のように上
手く強化学習を取り入れられたら、もっと性能上がりそう。
29

[DL輪読会]Unsupervised Neural Machine Translation