トランスフォーマー-01 アテンションメカニズム

『Transformer』以降の一連の記事を読んだ後、論文を読んだ後にいくつかの疑問が生じます。 

質問 1: アテンション メカニズムと完全な接続の違い:

ディープラーニングにおけるアテンション層と完全接続層の違いは何ですか? - ほぼ知っています

i アテンション メカニズムは、入力の特徴情報を使用して、どの部分がより重要であるかを判断できます。

ii アテンション メカニズムの重要性は、重み関数 f が導入され、重みが入力に関連付けられ、全結合層での固定重みの問題が回避されることです。

可変長シーケンスの場合、注意を計算するためのスクリーニング基準は、長さによってもたらされる情報の自然な変化を回避しますが、一定の重点と基準があります。

質問 2: アテンション層を理解する方法:

keras の本のアテンション メカニズムの説明は、より古典的であるようです。

アテンションの最初のステップ: アテンション分布の計算は、クエリ変数クエリと周囲の単語の間の類似性を計算することとして理解できます (言語モデルは埋め込みの積を計算することです)。第 2 ステップは、次の合計を計算することとして理解できます。文内のすべての単語ベクトル。つまり、結果ベクトルは、クエリ変数 query と周囲のテキストを組み合わせた結果です。

ATTENTION の計算プロセスは次のように理解されます。 1. 「駅」などのベクトルと文内の他のすべての単語の間の関連性スコアを計算します。

2、文内のすべての単語ベクトルの合計を計算します。結果のベクトルは、「駅」の新しい表現です。これは、周囲のコンテキストを組み込んだ表現です。

文内のすべての単語に対してこのプロセスを繰り返し、文をエンコードする新しいベクトルのシーケンスを生成します。

質問 3: キーと値のペアの注意点、キーと値のペアの選択方法

    キーと値のペアの注意のアイデアは、クエリの状況に応じて結果を並べ替える必要があるレコメンデーション システムから来ています。Transformer スタイルのアテンションの考え方もこれと同様で、クエリに従ってシーケンス内の正確な情報を抽出します。クエリをキーと照合するだけで、
値の加重合計が返されます。このことから、次のことがわかります。

翻訳問題では、問題はターゲット シーケンスである必要があり、ソース シーケンスはキーと値になります。

分類問題では、クエリ、キー、値がすべて同じになります。これは、自分自身を周囲の要素と比較し、文自体を通じて結果を抽象化したいためです。

質問 4: マルチヘッド アテンションを理解する方法:

             マルチヘッド アテンションで採用されたアイデアは畳み込みのアイデアに似ており、マルチヘッド アテンションは、同様の畳み込みを達成するために、異なるグループのトークン関連特徴の学習を実現できます: 異なる部分空間の独立した特徴ペアを学習します。

おすすめ

転載: blog.csdn.net/qq_30330061/article/details/127807754