第4章 — Attention

公開日: 2026-03-06 最終更新日: 2026-06-07 バージョン: 2

第4章 — Attention

LLM Primer II: 数学で読み解く言語モデル』を章ごとに紹介していくシリーズ、第4回です。今回はこの本のあとに続く章のほとんどが寄りかかっている、いわば背骨の章にあたります。


この章の問い

第II部のここから先 — 位置エンコーディング、Transformer ブロック、効率化、学習、スケーリング — のほぼすべてが、第4章の Attention の導出にもたれかかって書かれています。もし「1章だけ読む時間がある」という方は、本書のなかから差し出すのは、たぶんこの章になります。

章の目的は「Attention を説明する」よりも、もう少しだけ具体的です。直観から、誰かが実際に発明したかもしれない順序で式を組み立て直すこと。読み終わったときに、公式を覚えているだけでなく、なぜその形をしているのかが手のひらに残るようにしておくこと。そのあたりを目指しています。

ひとことで言うと: Attention とは「各トークンが、ほかのすべてのトークンに問いを投げ、返ってきた答えの近さに応じて重みづけして平均する」仕組みです。あの公式は、その作業を行列でいっぺんにやるための帳簿付け、と捉えていただくと、すっと収まるかと思います。

4.1 自己 Attention — 式・幾何・直観

4.1 節は、式ではなく「必要」から始まります。系列のなかの各トークンに、ほかのすべてのトークンを見渡して「どれがどれくらい自分に関係するか」を決めさせたい。そのために必要な、いちばん素朴な数学装置はなんだろう、という問い立てです。

章のなかでは、これを一段ずつ組み立てていきます。各トークンは「クエリ」を作る — 自分が投げかける質問です。同時に「キー」も作る — 自分が何を提供できるかを示すラベルです。第3章で出てきた内積で、クエリと各キーの近さを測る。近ければ重要、遠ければ薄い。その近さを softmax で確率分布に整える。最後に、「バリュー」 — 各トークンが実際に持ち寄る中身 — の加重平均を、その分布で取る。

仕組みはこれで全部です。クエリ・キー・バリュー、内積、softmax、加重和。よく見かける softmax(QKT/√d) V という公式は、この作業を行列にまとめて並列に流すための、ささやかな帳簿付けにすぎません。

この章では幾何にも丁寧に手をかけています。クエリとキーは同じ空間に住んでいる — 比べたいからです。バリューは別の空間に住んでいる — 問いに答える側で、問う側ではないからです。分母の √d は、d が大きくなったときに内積が膨らみすぎて softmax を一極化させてしまうのを防ぐ、ささやかな補正です。これを抜いた挙動を一度ご覧いただくと、なぜ要るのかがすっと納得していただけるかと思います。

4.2 マルチヘッド Attention、正規化、残差

1つの Attention ヘッドは、1つの問い方にすぎません。4.2 節では、なぜ実際の Transformer が複数のヘッドを並列に走らせるのか、なぜそれが小手先の工夫ではなく構造的な選択といえるのかを書きました。

マルチヘッド Attention は、小さな部分空間でいくつもの Attention を同時に計算し、その出力をつなぎ合わせる仕組みです。直観としては、ヘッドごとに異なる関係 — 文法的な一致、共参照、話題の切り替え — を学べる余地ができる。数学としては、丁寧に因数分解しただけで、計算量を線形以上に増やさずに表現力を引き上げてくれる構造です。

節の後半では、残差ストリーム — 各層が現在の表現を置き換えるのではなく、そこに小さく書き足していく考え方 — と、層正規化に触れています。64層や128層という深さで Transformer が学習できるのは、この控えめな安定装置のおかげといってもよろしいかもしれません。

4.3 softmax — 安定性、温度、解釈

softmax は、見た目は短い式です。それでも 4.3 節では真正面から時間を割いています。Attention のなかで、出力側の次トークン予測で、サンプリング時の温度つまみの裏で、合計3か所に現れます。そして実装で踏み外しやすく、学習を壊す古典的な原因のひとつでもあるからです。

節のなかでは、まず数値安定化の常套手段 — 指数化の前に最大値を引いておく — を確認します。続いて、第I部でも顔を出した「温度」というつまみが、じつは softmax の前にロジットを定数で割っているだけだと確かめてまいります。温度が低ければ尖った分布で決め打ち、高ければ平らな分布で多様。ひとつの作りで、いくつもの用途に届くお話です。

4.4 Attention をカーネル法として読む

章の終わりに、もう少し古い数学の系譜と Attention をつなぎ直してみます。4.4 節は、Attention がじつはカーネル平滑化 — 近くの点の値を、近さに応じて重みづけて平均する手法 — の一例として読めることを示しています。

これは余興ではありません。なぜ Attention が新しい系列にもよく一般化するのか(カーネル構造がきちんと働いているのです)、そして第7章で効率が立場を持ち始めたときに登場する「線形 Attention」「カーネル化 Attention」がどこから生えてくるのか、その出どころに直接つながる節です。

覚えておきたいこと: Attention というアイデア自体は Transformer の専売特許ではなく、もっと古いアイデアの新しい応用にすぎません。Transformer の貢献は、それを並列に、しかも至るところで使ったこと — 逐次モデルの脇役のサブルーチンではなく、本体に据えたこと — にあるのではないかと思います。

この章を踏まえて

第4章を読み終えるころには、Attention について、計算ができるくらいには正確で、記憶に残るくらいには鮮明な絵が手元にあるはずです。ここから先の章は、ほぼすべて「公式は読める」を前提に進みます。位置エンコーディングはこの式の隣に並び、フィードフォワード層はその上に重なり、効率の章はこの式を書き直し、学習の章は「私たちが最適化しているのはこれです」と指さしてくれます。


次回 — 第5章: 位置、順序、系列の構造 Attention だけでは「猫が座った」と「座ったが猫」を区別できません。正弦波エンコーディング、相対位置、RoPE、そして全体を Fourier の目で眺めなおす視点まで、控えめに紹介していきます。

全体像を押さえたい方へ: 本書では、Attention 1 層分を端から端まで、手で追える小さな行列で通して計算し、各ステップを幾何の図と結びつけてあります。Amazonで『LLM Primer II』を見る

下田 昌平
下田 昌平
開発と設計を担当。1994年からプログラミングを始め、今もなお最新技術への探究心を持ち続けています。