Self Attentionは、系列内の各要素がクエリ・キー・バリューに基づく関連度(重み)を全要素に対して計算し、その重み付き和で自分の表現を更新する仕組み。 ## なぜ必要? Self-Attentionは「離れた単語どうしの関係を、距離に関係なく一発で結びつけつつ(最長経路 O(1))、並列に高速学習でき、しかも入力内容に応じて“どこを見るか”を動的に変えられる」から必要です。 主な理由 * **長距離依存の獲得**:RNN/CNNでは難しい遠距離の関係(代名詞と指示先など)を直接重み付けして結ぶ。 * **並列化による効率**:再帰をなくし、系列全体を一度に計算できて学習が速い。 * **動的な受容野**:固定サイズの畳み込み窓ではなく、入力ごとに重要な位置へ重みを振り分けられる(マルチヘッドで多様な関係も同時に見る)。 * **アライメントと解釈性**:翻訳や要約で「どこを参照したか」を重みとして可視化しやすい。