Attention機構 — 「どこを見るか」を学習する

文の意味を理解するには、いま処理している単語から関係の深い単語へ視線を向ける必要があります。その「視線の配り方」自体を学習可能にしたのが Attention。Transformer と現代の LLM を支える最重要部品を、図書館のメタファーから数式まで一気に動かして理解します。

1. なぜ Attention が必要か — RNN のボトルネック

前レッスンまでの RNN は、文を左から右へ読みながら固定長の隠れ状態1本にすべてを詰め込みます。文が長くなるほど昔の情報は薄まり、「文頭の主語」と「文末の動詞」のような遠距離の関係が壊れていきます。

Attention の発想は大胆です — 詰め込むのをやめて、必要なときに全単語を直接見に行けばいい。各単語が他の全単語に「問い合わせ」をして、関係の深さに応じて情報を集める。距離1の単語も距離100の単語も、等しく1ステップで届きます。

POINT — 「記憶」から「検索」へ RNN=読んだ内容を1本のメモに要約しながら進む。Attention=全ページを机に広げておき、毎回必要なページを検索して読む。この転換が長距離依存の問題を一挙に解決した。

2. 図書館で本を探す — Query・Key・Value

Attention の計算は3種類のベクトルで動きます。図書館にたとえると:

Query と各 Key の内積で「関係ありそう度」を測り、softmax で合計100%の注目度に変換し、その重みで Value を混ぜ合わせたものが出力です。下のデモをステップ実行してみてください。

QKV 図書館 — 4冊の本で Attention をステップ実行
STEP 0 → 1 内積 → 2 softmax → 3 重み付き和
「猫の心理学」は Key が Query と最も揃っているのでスコア最大 → softmax 後の注目度 約79%。出力は1冊を選ぶのではなく全冊のブレンド(色の混合で表現)。この「柔らかい検索」が微分可能で、勾配降下で学習できることが決定的に重要です。
output = Σi softmaxi(q·ki) vi q = Query、k = Key、v = Value。内積 → softmax → 重み付き和、の3段構え

3. 自分の文に注目する — Self-Attention

Self-Attention では、同じ文の全トークンがそれぞれ Q・K・V の3役を兼ねます。各トークンが Query となって文中の全トークン(Key)に問い合わせ、自分の意味表現を作り直す。これを可視化したのが attention 行列です。

左列のトークンをクリックしてみてください。特に「それ」や「彼女」のような代名詞を選ぶと、Attention が文中の指し先を見つける様子 — 照応解決 — が観察できます。

文中の注目の可視化 — 線の太さ=注目の重み、右=attention 行列
文1で「それ」を選ぶと「猫」への太い線が現れます — 「満足そうだったのは猫」だと Attention が結び付けている証拠。文2の「彼女」は「花子」を指します。※重みはデモ用に手設計した値ですが、実際の学習済みモデルにも同様のヘッドが観察されます。
POINT — 全ペアを一度に、並列に attention 行列は n×n。全トークン対の関係を一度に計算するので、RNN のような逐次処理が不要になり GPU で完全並列化できる。これが Transformer の学習が速い理由でもある。

4. なぜ √d で割るのか — Scaled Dot-Product

Attention の式には √dk で割るという一見地味な操作が入っています。実はこれが学習の成否を分けます。d 次元のランダムなベクトル同士の内積は、分散が d に比例してどんどん大きくなる。巨大なスコアを softmax に入れると出力がほぼ one-hot に飽和し、勾配が消えて学習が止まってしまうのです。

Attention(Q, K, V) = softmax( QKT / √dk ) V √dk で割ることで、次元数によらずスコアの分散を約1に保つ
スケーリングの効果 — 次元 d を上げたとき softmax はどうなるか
上=内積スコアの分布(ヒストグラム)、下=そのスコアを softmax に通した8トークンへの注目度。チェックを外して d を 512 まで上げると、スコアが±30に暴れて注目度がほぼ one-hot に。√d で割ると d を変えても分布が安定します。温度 τ は同じ仕組みの手動版 — 大きいほど注目が滑らかに、小さいほど尖ります。
注意 — softmax の飽和は勾配の死 注目度が [0, 0, 1, 0] のように飽和すると、softmax の勾配はほぼゼロになり、誤差逆伝播が Attention 層で止まる。√d スケーリングは「学習可能な柔らかさ」を保つための安全装置。LLM の生成時に使う温度パラメータも、まったく同じ数学だ。

5. まとめ

一歩先へ — Multi-Head と Transformer 実際のモデルは Attention を複数ヘッドで並走させる(Multi-Head Attention)。あるヘッドは照応関係、あるヘッドは構文、あるヘッドは隣接語…と異なる「見方」を同時に学習する。このブロックに位置エンコーディングと FFN を組み合わせて積み上げたものが、次のレッスンで学ぶ Transformer だ。