Extract and Edit:
An Alternative to Back-Translation
for Unsupervised Neural Machine
Translation [1]
2019/07/23
1
[1] Wu, Jiawei, Xin Wang, and William Yang Wang. "Extract and Edit: An
Alternative to Back-Translation for Unsupervised Neural Machine
Translation." arXiv preprint arXiv:1904.02331(2019).
※大変なので,今回はほとんど作図してません.
2
この論文を選んだ理由
ドメイン特価でなく,広く使用可能なアイデアを発表したい
◆逆翻訳はアイデアに溢れていて今後伸びそう!
◆逆翻訳の良さでなく,問題についても話したい!
結果:NAACL 2019 から引っ張ってきました
機械翻訳における supervised, unsupervised の意味
◆supervised
異なる言語間の情報を利用可能
◆unsupervised
異なる言語間の情報を利用せずに翻訳
注意事項
「教師あり」,
「教師なし」と
は別物
3
はじめに
なぜ機械翻訳において深層学習が成功しているのか
※ WMT は Workshop on Statistical Machine Translation の略.
現在は Conference on Machine Translation?
深層学習の精度は学習データの質と量に強く依存
⇒ 機械翻訳においても対訳コーパスの確保は必要不可欠
機械翻訳におけるデータ量・質は?
◆WMT’14 English-German は 4.5 M もの対訳文が存在※
◆様々な言語間の対訳文が WMT の translation task で整備
学習用データが充実し,深層学習による翻訳が効果を発揮
4
対訳コーパスへの依存
大規模な対訳コーパスによって,機械翻訳の精度は向上
⇒ 翻訳モデルの発展で機械翻訳は実用可能な域に!
対訳コーパスに依存しすぎない翻訳モデルが必要
・・・ん?大規模な対訳コーパス?誰が揃えるん?
⇒ すべての言語対に大規模コーパスの確保は困難
あれ?対訳コーパスの傾向を再現しているだけでは?
⇒ 学習データによって翻訳モデルの表現に制限
5
対訳コーパスからの脱却
◆対訳コーパス
対応付けが必要であり,データの収集が困難
◆monolingual データ・コーパス
対応付けが不要なため,データの収集が容易
対訳コーパスからの脱却 = monolingual データの活用
monolingual コーパスの利用案として,逆翻訳の登場
逆翻訳(back-translation)とは
ある言語から別の言語へ翻訳した後,元の言語に戻すこと
e.g. 日本語 ⇒ 英語 ⇒日本語
6
逆翻訳(back-translation)
逆翻訳(back-translation)とは
ある言語から別の言語へ翻訳した後,元の言語に戻すこと
e.g. 「逆翻訳って何のこと?」 ⇒ 「逆翻訳とはどういう意味ですか?」
日本語 ⇒ 英語 英語 ⇒日本語
逆翻訳とはどういう意味ですか?What does reverse translation mean?
What does reverse translation mean?逆翻訳って何のこと?
※google translate によって翻訳
翻訳 翻訳
元の文章「逆翻訳って何のこと?」に近い文章が生成可能
≅ 「日本語 ⇒ 英語」,「英語 ⇒ 日本語」の翻訳が正しい
output
input
中間文
7
逆翻訳の抱える課題
逆翻訳は対訳コーパスを必要としない学習手法
逆翻訳は元の文章を再生成するシナリオ
⇒ ・・・これは,Auto Encoder (AE) の一種では!
Lample らは Denoising AE, discriminator の両方を使用[2]
逆翻訳は AE と類似し,モデルが持つ性質も類似
AE はぼやけた画像を生成し,詳細な画像の生成が困難
⇒ 逆翻訳における翻訳(特に中間文)もぼやけた文に
[2] Lample, Guillaume, Alexis Conneau, Ludovic Denoyer, and Marc'Aurelio Ranzato. "Unsupervised
machine translation using monolingual corpora only." arXiv preprint arXiv:1711.00043 (2017).
8
目的
◆対訳コーパスに頼った手法は翻訳モデルの表現を制限
◆逆翻訳は翻訳の品質が保てず学習を妨害
課題
逆翻訳に代わる unsupervised 手法,Extract-Edit を提案
◆対訳コーパス
⇒ 対訳候補を monolingual コーパス中から抽出(Extract)
◆ノーヒントでの文の生成
⇒ monolingual コーパスから抽出した文を編集し利用(Edit)
※深層学習による翻訳は fluent だが,データが少ない時は不正確
※文章生成 ⇒ 文章補完に近い?
9
逆翻訳との違い
Extract-Edit
◆target 言語側でも利用
◆comparative loss
Back-Translation
◆source 言語側で利用
◆reconstruction loss
monolingual コーパスの使い方と loss の算出が異なる
10
関連研究
Comparable Corpora Mining
BiRNN による識別器
[3] Grégoire, Francis, and Philippe Langlais. "Extracting parallel sentences with bidirectional recurrent
neural networks to improve machine translation." arXiv preprint arXiv:1806.05559(2018).
学習した識別器を用いて対訳文を見つける試み
source language target language
ラベルの振られた target 文を識別
◆正例:対訳文
◆負例:negative sampling による文
80% 近い precision を達成
◆919k の対訳文を使用し学習
◆未知の対訳文で検証
11
関連研究
一般的な翻訳モデル
seq2seq[4, 6]
Recurrent Neural Network (RNN) によるエンコーダ・デコーダ
Transformer[5]
Attention 構造と全結合層によるエンコーダ・デコーダ
エンコーダ デコーダ
エンコーダ デコーダ
ℎ0 ℎ1 ℎ2 ℎ3
ℎ 𝑓𝑖𝑛𝑎𝑙
𝒉
: RNN の各 cell
ℎ0: 0番目の隠れ層の状態
ℎ 𝑓𝑖𝑛𝑎𝑙: 2層のbiRNNの結合
𝒉 = [ℎ0, ℎ1, ℎ2, ℎ3]
: Attention 構造
◆ Attention による接続
◆ Attention 構造後に順序
毎に独立の全結合層
ℎ0 ℎ1 ℎ2 ℎ3
𝒉
12
関連研究
back-translation における3概念[7]
各言語の
文章が存在
Initialization
言語間の
分布を整理
Language
modeling
データの構造
を推論
Back-
translation
翻訳と逆翻訳
3つの概念に従い学習
[7] Lample, Guillaume, Myle Ott, Alexis Conneau, Ludovic Denoyer, and Marc'Aurelio Ranzato.
"Phrase-based & neural unsupervised machine translation." arXiv preprint arXiv:1804.07755 (2018).
13
3概念と逆翻訳の学習
Initialization
cross lingual Byte Pair Encoding (BPE) と shared encoder
Language modeling
単語の drop と swap による Denoising Auto Encoder
𝐿𝑙𝑚 = 𝐸 𝑥~𝑆 −log𝑃𝑠⇒𝑠 𝑥 𝐶 𝑥 + 𝐸 𝑦~𝑇 −log𝑃𝑡⇒𝑡 𝑦 𝐶 𝑦
𝑠: source language, 𝑡: target language, 𝑆: source language space, 𝑇 : target language space
𝐶(𝑥): drop or swap された文, 𝑥:入力文,y:翻訳文(参照文)
「source (target) ⇒ target (source) ⇒ source (target)」 を繰り返し実行
※原文では最大5回の iteration
Back-translation
最も中間文(翻訳文)らしい文 𝑢∗ 𝑦 からの逆翻訳
𝐿 𝑏𝑎𝑐𝑘 = 𝐸 𝑦~𝑇 −log𝑃𝑠⇒𝑡 𝑦 𝑢∗
𝑦 + 𝐸 𝑥~𝑆 −log𝑃𝑡⇒𝑠 𝑥 𝑣∗
𝑥
𝑢∗
𝑦 : argmax𝑃𝑡⇒𝑠(𝑢|𝑦), 𝑣∗
𝑥 : argmax𝑃𝑠⇒𝑡(𝑣|𝑥)
14
提案手法の概要
Extract
関連のある
重要文を抜粋
Edit
Enc-Dec で
重要文を編集
Evaluation
翻訳文>重要文
となるよう学習
Extract-Edit
15
Extract-Edit
Extract
1. shared Encoder によって sentence embedding を算出
2. ユークリッド距離で近い順に対訳候補文を選出
𝑀 = {𝑡| min
1,⋯,𝑘
𝑒𝑠 − 𝑒𝑡 , 𝑡 ∈ 𝑇}
𝑠:source language, 𝑡:target language, 𝑇 :target language space, 𝑘:extract する文の数
𝑀:対訳候補文の集合,𝑒:encode によって得られる sentence embedding
Edit
source 側に関連した特徴を抽出し,新たな文 𝑡′ を生成
◆集合 𝑀 中に対訳文が存在しない場合への対処
◆target 側における⚓(錨・目印)となる文(≠構造的な文)
𝑀′ = {𝑡′|𝑡′ = 𝑑𝑒𝑐(maxpooling 𝑒𝑠, 𝑒𝑡 ), 𝑡 ∈ 𝑀}
𝑡′:decode によって生成される新たな文,𝑀′:Extract-Edit された文の集合
※decoder も share
16
Evaluate
Extract-Edit による対訳候補(𝑠, 𝑡′)はそのまま使えるのか
⇒ ニューラル翻訳モデルはノイズに弱く,難しい
(⇒ ablation study で検証)
対訳候補(𝑠, 𝑡′)を直接学習 ⇒ comparable loss を使用
𝛼 𝑡 𝑠 = 𝑐𝑜𝑠𝑖𝑛𝑒 𝑟𝑡, 𝑟𝑠 =
𝑟𝑡 ∙ 𝑟𝑠
𝑟𝑡 𝑟𝑠
𝑃 𝑡∗ 𝑠, 𝑀′ =
exp(𝜆𝛼 𝑡∗ 𝑠 )
σ 𝑡′ 𝜖𝑀′∪{𝑡∗} exp(𝜆𝛼 𝑡′ 𝑠 )
𝑟:evaluation network 𝑅 𝑒 で取得,𝜆:hyper-parameter (𝜆 が多いほど高スコアの影響度が上昇)
softmax like
◆多層パーセプトロン 𝑅 により,各文章を評価し学習
◆良い翻訳文は Extract-Edit による文より良くなるはず
※𝑡∗: 翻訳文,𝑡′: Extract-Edit による文
17
Learning
学習に関連するパラメータ
𝜃𝑒𝑛𝑐: encoder (LSTM or Transformer)
𝜃 𝑑𝑒𝑐: decoder (LSTM or Transformer)
𝜃 𝑅: evaluation network (多層パーセプトロン)
学習に使用される誤差関数
min
𝜃 𝑒𝑛𝑐,𝜃 𝑑𝑒𝑐
max
𝜃 𝑅
𝐿(𝜃𝑒𝑛𝑐, 𝜃 𝑑𝑒𝑐, 𝜃 𝑅)
= −𝐿 𝑅 𝜃 𝑅 + 𝐿 𝑠⇒𝑡(𝜃𝑒𝑛𝑐, 𝜃 𝑑𝑒𝑐|𝜃 𝑅)
Extract-Edit を generator, Evaluate を discriminator とし学習(≅ GAN)
adversarial comparable + Language Model
GAN[8] の minimax 関数
min
𝑑𝑖𝑠𝑐𝑟𝑖𝑚𝑖𝑛𝑎𝑡𝑜𝑟
max
𝑔𝑒𝑛𝑒𝑟𝑎𝑡𝑜𝑟
𝑉(𝑑𝑖𝑠𝑐𝑟𝑖𝑚𝑖𝑛𝑎𝑡𝑜𝑟, 𝑔𝑒𝑛𝑒𝑟𝑎𝑡𝑜𝑟)
[8] Goodfellow, Ian, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and
Yoshua Bengio. "Generative adversarial nets." In Advances in neural information processing systems, pp. 2672-2680. 2014.
18
Learning 詳細
comparable + Language Model
Language Model と comparable の組み合わせによるパラメータの更新
𝐿 𝑠⇒𝑡 𝜃𝑒𝑛𝑐, 𝜃 𝑑𝑒𝑐 𝜃 𝑅 = 𝑤𝑙𝑚 𝐿𝑙𝑚 𝜃𝑒𝑛𝑐, 𝜃 𝑑𝑒𝑐 + 𝑤𝑐𝑜𝑚 𝐿 𝑐𝑜𝑚 𝜃𝑒𝑛𝑐|𝜃 𝑅
𝑤𝑙𝑚, 𝑤𝑐𝑜𝑚: モデル間の重要度を設定するパラメータ
comparable
翻訳文 𝑡∗ > Extract-Edit 文 𝑡′ となるように学習
𝐿 𝑐𝑜𝑚 𝜃𝑒𝑛𝑐|𝜃 𝑅 = −𝐸(log𝑃 𝑡∗
= 𝑉𝑠⇒𝑡 𝑠 |𝑠, 𝑀′ )
adversarial
Extract-Edit 文 𝑡′ > 翻訳文 𝑡∗ となるように学習
𝐿 𝑅 𝜃 𝑅 = −𝐸𝑡′∈𝑀′(log𝑃 𝑡′|𝑠, 𝑀′ )
discriminator (実在の文章との仕分け)
generator (本物らしい文章の生成)
学習全体の流れ
1. Extract
2. Edit
3. Evaluate
4. evaluate network の更新
5. encoder, decoder の更新
6. 翻訳モデル(言語モデル?)の更新
19
学習の流れとモデル選択
モデル選択
翻訳文の順位の期待値(> Extracted-Edit)によりモデル選択
𝐷𝑠⇒𝑡 = 𝐸𝑠∈𝑆[𝐸(log𝑃 𝑡∗
= 𝑉𝑠⇒𝑡 𝑠 |𝑠, 𝑀′ )]
※対訳文は用いない
1~6の繰り返し
20
実験対象
4種の単語ペアについて実験
◆English-French (en-fr)
◆English-German (en-de)
◆English-Russian (en-ru)
◆English-Romanian (en-ro)
学習コーパスはどの言語も 1GB 以上(> Wikipedia)
◆English, French, German, and Russian
WMT monolingual News Crawl datasets (07-17)
◆Romanian
News Crawl dataset and WMT’16 monolingual dataset
※コーパスサイズは https://www.statmt.org/wmt16/translation-task.html より目測計算
21
評価方法
評価実験
各言語が 3k sentence ある newstest を使用
◆2014年: en-fr
◆2016年: en-de, en-ru, en-ro
比較手法
lample らの unsupervised NMT[7]
評価指標
BLUE = 𝐵𝑃𝐵𝐿𝑈𝐸 ∙ exp(σ 𝑛=1
𝑁 1
𝑁
log𝑝 𝑛)
𝑝 𝑛:
σ 𝑖 翻訳文 𝑖 と参照訳 𝑖 で一致した 𝑛−𝑔𝑟𝑎𝑚 数
σ 𝑖 翻訳文 𝑖 中の 𝑛−𝑔𝑟𝑎𝑚 数
, 𝐵𝑃𝐵𝐿𝑈𝐸: 翻訳文が短い際のペナルティ
22
実装関連のお話
embedding
60k token による BPE
Model structure
◆LSTM: 3層
◆Transformer: 4層
◆多層パーセプトロン: 2層
◆optimizer: Adam
◆𝑤𝑙𝑚, 𝑤𝑐𝑜𝑚: 1, 1
◆𝜆: 0.5
ℎ0 ℎ1 ℎ2 ℎ3
ℎ0 ℎ1 ℎ2 ℎ3
LSTM の層
Transformer の層
2層の LSTM
2層の Transformer
23
結果
多くの組み合わせで,逆翻訳を用いた手法より高精度
Top-10 Extract+Edit の時
◆2 BLUE points 向上
◆ru ⇒ en では 3.63 point
Top-1 の時
◆精度の差は 1 points 以内
◆悪くなる例も存在
その他
◆Transformer > LSTM
◆Top-10 > Top-1
24
ablation study
抽出する文章の数の重要性
Extract する文章の数 𝑘 の影響を en⇒fr で検証
どのモデルでも,𝑘 の数を増やすほど精度が向上
Top-10 以上はリソース的に断念・・・
Extract-Edit に用いられた文章は
◆翻訳時の⚓(錨・目印)の役目
◆再現率を向上
25
ablation study
抽出された文章の品質の検証
Extract された文章の質を en⇒fr で検証
Grégoire らの supervised 手法[3]と抽出のヒット率@𝑘を比較
精度と計算コストの観点から,𝑘 = 10 が最適と再確認
◆文章の数 𝑘 を増やすと,Grégoire らの手法に近い精度に
◆ノイズを増やすと精度が低下.ノイズに弱い可能性
※ノイズは検証のため
26
ablation study
comparable loss の効果
comparable translation loss の効果を en⇒fr で検証
Extract-Edit による文を正解として最尤推定した場合と比較※
comparable loss により,ノイズの影響を避けて学習可能
最尤推定(Maximum Likelihood Estimation)
= 通常の学習をした場合
⇒ 精度が 50%減
◆ニューラル機械翻訳はノイズの割合が強く影響
◆comparable loss はノイズとなる文を多く抽出しても学習可能
※本来の対訳コーパスを Extract-Edit によって拡張したデータで
comparable loss ではなく,MLE loss を用いて学習した場合
27
まとめ
◆reconstruction loss から comparable loss へ
◆Extract-Edit に使用した文章は翻訳時の⚓(錨)であり目印
◆Top-10 Extract+Edit の時,2 BLUE points 向上
逆翻訳に代わる unsupervised 手法,Extract-Edit を提案
2言語間でドメインの重複が多い程,精度が向上
⇒ Wikipedia や news 記事を用いても精度が向上するかも?
今後の発展
おまけ
◆ supervised と比べると?
⇒ まだまだ良くはない
◆ 一方,1位は
Transformer + back-translation
⇒ 今後の発展に期待
[9] paper with code,
https://paperswithcode.com/sota/
machine-translation-on-wmt2014-
english-French 2019/07/23
28
Transformer
+ back-translation
Transformer[5]
seq2seq[4]
比較手法’[7]
比較手法[7]
今回(27.56)
paper with code の WMT en-fr [9]
※今回は比較対象外
29
参考文献
[4] Sutskever, Ilya, Oriol Vinyals, and Quoc V. Le. "Sequence to sequence learning
with neural networks." In Advances in neural information processing systems, pp.
3104-3112. 2014.
[5] Vaswani, Ashish, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones,
Aidan N. Gomez, Łukasz Kaiser, and Illia Polosukhin. "Attention is all you need."
In Advances in neural information processing systems, pp. 5998-6008. 2017.
[6] 根石 将人,吉永 直樹.”英日翻訳タスクにおけるスワップモデルを通した
seq2seq と Transformer の比較” 言語処理学会(2019).
https://www.anlp.jp/proceedings/annual_meeting/2019/pdf_dir/P5-21.pdf
「Phrase-Based & Neural Unsupervised Machine Translation.」‘s video,
https://vimeo.com/306145842

Extract and edit