Encoder-Decoder と Attention - 機械翻訳の革命

seq2seqのEncoder-Decoder構造と、そのボトルネックを解決したAttention機構を解説。Transformer理解の前提を押さえます。

機械翻訳を革新した『Encoder-Decoder』と『Attention』。Transformer理解の前提として不可欠なテーマです。

胡桃 あんず(普段) 胡桃 あんず

Encoder-Decoderって、要は符号化と復号化ってこと?

若葉 みどり 先生(笑顔) 若葉 みどり 先生

その通り。
Encoder-Decoder(エンコーダ・デコーダ) は、入力を中間表現 (コンテキストベクトル) に変換し、それから出力を生成する2段階構造よ。

白銀 ゆき(普段) 白銀 ゆき

機械翻訳が代表例ね。
英文をエンコーダがベクトル化して、デコーダが日本語文を生成する、という流れよ。
2014年のsutskever等のSequence-to-Sequence (seq2seq)論文が画期的だったわ。

桜井 もも(笑顔) 桜井 もも

わぁ、2段階構造なんですねぇ♪

若葉 みどり 先生(普段) 若葉 みどり 先生

でも当初のseq2seqには弱点があって、長い文を固定長のベクトルに圧縮すると情報が失われるボトルネック問題があったの。

白銀 ゆき(普段) 白銀 ゆき

これを解決したのがAttention機構(Attention Mechanism)。
2014年にバダナウ等が提案したわ。
デコーダが出力する各ステップで、入力のどこに注目すべきかを学習するの。

胡桃 あんず(笑い) 胡桃 あんず

注意を向けるってどういうこと?

若葉 みどり 先生(笑顔) 若葉 みどり 先生

例えば『The cat sat on the mat』を日本語訳する時、『猫は』を出力する瞬間は『cat』に強く注目し、『マット』を出力する時は『mat』に注目する、というイメージね。

白銀 ゆき(普段) 白銀 ゆき

Attentionはクエリ (Q)、キー (K)、バリュー (V)の3つのベクトルで計算される。
QとKの内積で注目度を算出し、その重みでVを集約するの。

桜井 もも(しょんぼり) 桜井 もも

Q・K・V…あわわ、覚えられるかなぁ…

若葉 みどり 先生(普段) 若葉 みどり 先生

ソフトアテンション(全位置に重み)、ハードアテンション(離散的に1箇所選ぶ) の違いもあるわ。
実用ではソフトが主流よ。

白銀 ゆき(普段) 白銀 ゆき

Attentionは翻訳精度を飛躍的に向上させ、Google翻訳の品質改善にも寄与したわ。
2017年のTransformerはAttentionを中核に据えた発展形よ。

胡桃 あんず(笑い) 胡桃 あんず

Attentionって、めっちゃ大事なんだね!

若葉 みどり 先生(普段) 若葉 みどり 先生

G検定では『Encoder-Decoder』『ボトルネック問題』『Attention (バダナウ, 2014)』『Q・K・V』を押さえて!

確認クイズ

機械翻訳でデコーダが入力のどの部分に注目すべきかを学習する機構はどれか。

  1. Dropout
  2. Attention
  3. Batch Normalization
  4. ResNet
こたえを見る

正解: 2. Attention

Attention機構は、デコーダの各ステップで入力のどこに注目すべきかを重み付けして学習する機構です。2014年にバダナウ等が提案し、機械翻訳の品質を飛躍的に向上させました。

若葉みどり先生・白銀ゆき・桜井もも・胡桃あんずのイラスト。雪だるま作り

この記事の関連書籍

Amazonアソシエイトリンクを含みます。他分野は おすすめ書籍ページ へ。

この記事について

G検定スタディが作成した教材です。運営について・記事の作り方

試験についてはこちらをご覧ください: JDLA G検定公式ページ

この記事を共有