Self-Attention
自己注意機構
DEFINITION
系列内の各位置が、同じ系列内の他のすべての位置に対して「どの程度参照するか」の重みを動的に計算し、それに基づいて表現を再構成する操作です。Query / Key / Value という 3 つの線形写像を入力に適用し、$\text{Attention}(Q, K, V) = \text{softmax}(QK^\top / \sqrt{d_k}) V$ で計算します。分母の $\sqrt{d_k}$ は softmax の温度制御として機能し、勾配消失を抑制します。Transformer の中核機構であり、これ単体で言語の長距離依存を捉えられる点が革新でした。「すべての位置がすべての位置を見る」という大胆な発想は、計算量 $O(N^2)$ を払うだけの価値があると認めます。
§01 押さえるべき要点
- Query Q / Key K / Value V を入力 X の線形写像として生成
- QK^T で「どの位置がどの位置に注目するか」の親和度行列を計算
- √d_k で割って softmax にかけ、確率分布として正規化
- Multi-Head Attention は複数の注意を並列に走らせて concat する拡張
- 因果マスク付きで言語モデル (GPT)、双方向で BERT、画像で ViT