Attentionは、seq2seqのアーキテクチャにおいて、Decoderが生成する出力に対して、Encoderが生成した中間表現から重要な情報を選択する手法です。
Attentionは、Decoderが生成する各時刻の出力に対して、Encoderが生成した中間表現から、その出力に対して重要な情報を選択します。これにより、Decoderは、入力シーケンス全体から必要な情報だけを取り出し、出力を生成することができます。
Attentionのアルゴリズムには、多くの種類がありますが、主に以下の2つが使われます。
Dot-product attention
Multi-head attention
Dot-product attentionは、入力シーケンスと出力シーケンスの各時刻のベクトルを内積を取って計算し、それに基づいて重みを計算します。Multi-head attentionは、複数のheadを使って計算を行い、それらの結果を結合します。これにより、より複雑な情報を取り入れることができます。
Attentionは、自然言語処理タスクにおいて広く使われており、機械翻訳や文章の生成などに用いられます。