Upgrade to Pro — share decks privately, control downloads, hide ads and more …

EMNLP読み会2020_Non-Autoregressive Machine Translation with Latent Alignments

maskcott
November 24, 2020

EMNLP読み会2020_Non-Autoregressive Machine Translation with Latent Alignments

maskcott

November 24, 2020
Tweet

More Decks by maskcott

Other Decks in Research

Transcript

  1. Intro 非自己回帰モデルにおける二つの主要な制限 ・出力語のトークンが全て独立して生成されることを仮定  →マルチモーダルな出力を引き起こし、繰り返し出力の原因となる  →統計的な検索アルゴリズム (Gu et al., 2018) や、イテラティブなデコード手法(Ghazvininejad

    et al., 2019, 2020b) が取り組まれてきた ・事前に出力文の文長を決定  →学習時にターゲット文の文長も別に学習する必要があり、推論時には文長を決めてからその条 件の下で文を生成することになる  →いくつかの文長候補を挙げておいてそれぞれの結果に対してリスコアリングして出力を決定する 手法(Ghazvininejad et al., 2019, 2020b)が取られたりする 3
  2. Intro 二つの制限に取り組むため潜在的アラインメント(Latent alignment)モデルを導入 ここで、”アラインメント” とは機械翻訳で使われるもの (Manning et al., 1999; Dyer

    et al., 2013) ではなく、CTCの先行研究 (Graves et al., 2006, 2013; Graves and Jaitly, 2014) で定義されるもの →予測単語とターゲット文の間にマッピングされる、ターゲット文にblank tokenを挿入し て事前に決めた長さにすることで作られる アラインメントからblank tokenを取り除くことで元の文を復元する 4
  3. Latent Alignment Model 入力 、出力  ( )、  はターゲットのvocab 二つの仮定 1) モデルの予測とターゲットはモノトニックなマッピングが存在する 2) アラインメント を と 間の離散的な系列として定義

    関数   : niに対応する長さ  の全てのアラインメントを返す 関数   : 連続しているトークンを削除した後、全ての”_”を削除 例. = 10で のときに考えられるアラインメント 5
  4. MTへの適用 (再掲) Latent Alignment Modelを使うにあたっての2つの仮定 1) モデルの予測とターゲットはモノトニックなマッピングが存在する 2) 機械学習は音声認識と違ってこの二つの仮定が成立しないケースが多い 1)

    → Transformerのような強力で深いニューラルネットワークならターゲットとほぼ単調になるように文脈 に応じてエンベディングを並び変えることを学習する能力があると仮定 2) → ソース文のエンベディングを単純にアップサンプリングすることで次元をs倍にする                (Libovicky and Helcl (2018)) 10
  5. Advantages NATでしばしば問題になる2つの問題を軽減 1) 繰り返し出力が少なくなる →直接ターゲット文を生成するわけではないのが他のモデルとの大きな違い  生成されたalignmentを  で復元する際に繰り返しを除去するので、繰り返しの出力を出しにくくなり、精度が 向上する 2) 文長予測の必要が無い →

    アラインメントを介して文長が決められる   アラインメントの長さは srcのものをs倍にするだけでいい   文長予測のためのモデルの構築も推論時に文長を考える必要もないのでよりシンプルなモデルになる 12
  6. Experiments 設定: transformerのデコーダーのレイヤを2倍にして利用 学習は2Mステップ回して、Imputerの学習の際は最初の1MステップはCTCの lossを利用し、残りの1MステップでImputer用の学習を行う データセット: WMT’14 En↔De, WMT’16 En-Ro

    (Sentence Pieceを利用) 知識蒸留: base Transformer と big Transformer を利用 (知識蒸留に関する分析も後 ほど) 13 文をブロックに分割してブロック内の単語を b個(b<B)マスクして学習