kacky24 / papers

my publications and short summaries of papers I have read
3 stars 1 forks source link

Phrase-Based & Neural Unsupervised Machine Translation #41

Closed kacky24 closed 5 years ago

kacky24 commented 5 years ago

short summary

Neural Machine Translation (NMT)、Phrase-based Statistical Machine Translation (PBSMT)それぞれについて、monolongualのコーパスでの教師なしで学習する手法を提案。WMT'14 English-FrenchとWMT'16 German-EnglishでBLEU28.1, 25.2を記録し、教師なし学習の盆脈では11 point以上更新しSOTA。一昔前の教師ありに匹敵。

※参考文献

PBSMT

先行研究における教師なし機械翻訳の3原則

unsupervised NMT

基本的には、encoder-decoderモデルを

  1. 言語モデルとして学習させた後
  2. 翻訳モデルとして学習させる。

Initialization

sourceとtargetそれぞれのmonolingualコーパスに対して、一緒にbyte-pair encoding (BPE) をかける。 BPEの、vocablary sizeを減らせる、未知語をなくせるという利点に加え、一緒にBPEにかけることで、2言語間で。BPE toeknを共有する(この時、英語とフランス語などアルファベットで構成されている言語同士だと大部分のtokenを共有できるが、日英とかだと、共有できるtokenがだいぶ限られてしまう)。 手順

Language Model

2018-11-05 4 57 17

denoising autoencoderで、ランダムに単語を落としたり、語順を変えたりしたものから、元の文の復元を学習する。この過程により、encoderはnoisyな文からもうまく潜在表現を抽出するようになり、decoderは綺麗な文を出力するように学習される。

ロス

2018-11-12 5 18 02

Iterative Back-translation

一度翻訳したものを、もう一度逆方向に翻訳し、元の文と比較して学習する。

2018-11-12 5 22 18

ただこの操作を行うと、翻訳したnoisyな文から、さらに翻訳して元に戻すのでうまくいかないが、上記のように、encoder, decoderは言語モデルとしてノイズを除去するように学習されているので、decoderはできるだけ綺麗な文を生成し、encoderは入力がnosiyだったとしても文意を捉えた潜在表現を抽出することが期待できる。

2018-11-12 5 24 00

ロス

2018-11-12 5 42 01

sharing latent representation

これら3つは、先行研究でも行われていたが、これらだけではうまくいかない。 → 言語Aに対するencoderが抽出する潜在表現と、言語Bに対するencoderが抽出する潜在表現の分布、空間が違うと、例えば言語Aに対するdecoderは、言語Bに対するencoderからの表現の分布に対しては、ノイズを除去するようには学習していないため、結局言語モデルによるノイズ除去がうまく働かない。

→ 2言語からのencoderの出力の分布が近いものになる必要がある。 先行研究でも、adversarial lossの導入などにより近づけようとしたが、あまりうまくいかなかった。

そこで、この論文では、2言語間でencoder, decoderのパラメータを共有することで、分布を近づけ、encoderが言語によらない中間表現を抽出できるように試みた。

2018-11-12 6 04 58

特にencoderの共有は必須。

Unsupervised PBSMT

教師なし翻訳では、リソースが少ない場合パフォーマンスが相対的に良いPBSMTをニューラルベースの代わりに使うのも合理的かも。

Initialization

普通PBSMTでは、phrase table(2言語間の双方向のフレーズの対応表)を教師ありで作成するが、これを教師なしで行う。 以下の式で、2言語の各単語(phrase)をエンコードし、2言語間の埋め込みの変換行列Wで変換し、cosine類似度を取ることでphrase間のスコア(対応確率)を求める。(詳細は、https://arxiv.org/abs/1710.04087

2018-11-12 7 17 03 2018-11-12 7 11 51

Language Model

KenLMを用いたが、ニューラルベースでも良い。学習中は固定。 PBSMTでは、基本的には、phrase tableでtarget languageに変換した候補とそのスコアに、language modelによるスコアを加味してデコードし、変換するphraseや語順が決まる。

Iterative Back-translation

  1. まず、source(S)からtarget(T)にphrase tableとlanguage modelを用いて翻訳し、T'を生成 次に、T'とSのペアからT→Sのphrase tableを更新する。

  2. まず、TからSにphrase tableとlanguage modelを用いて翻訳し、S'を生成 次に、S'とTのペアからS→Tのphrase tableを更新する。

の1, 2を繰り返す。 phrase tableの中の多くは、あまり正しくない可能性があるが、翻訳時に言語モデルのスコアリングによるフィードバックが入ることで、生成文のnoisyな部分を緩和していき、phrase tableも改善するというサイクルに入ることが期待できる。

実験結果

2018-11-12 7 42 25

大きくSOTA更新。

author

Guillaume Lample† Facebook AI Research Sorbonne Universites´ glample@fb.com Myle Ott Facebook AI Research myleott@fb.com Alexis Conneau Facebook AI Research Universite Le Mans ´ aconneau@fb.com Ludovic Denoyer† Sorbonne Universites´ ludovic.denoyer@lip6.fr Marc’Aurelio Ranzato Facebook AI Research ranzato@fb.com

URL

https://arxiv.org/abs/1804.07755

year

EMNLP2018