機械翻訳を革新した『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』を押さえて!
確認クイズ
機械翻訳でデコーダが入力のどの部分に注目すべきかを学習する機構はどれか。
- Dropout
- Attention
- Batch Normalization
- ResNet
こたえを見る
正解: 2. Attention
Attention機構は、デコーダの各ステップで入力のどこに注目すべきかを重み付けして学習する機構です。2014年にバダナウ等が提案し、機械翻訳の品質を飛躍的に向上させました。