Math World Lab

アテンション機構とTransformerの数学

ChatGPTやLLMの心臓部 — Query・Key・Valueの内積とSoftmaxによる文脈理解

Q×Kᵀ➔Vsoftmax(QKᵀ / √d) V
この単元の発見をシェア
3行要約(Key Takeaways / AIOサマリー)
1
Transformerの革新は『単語と単語の関連度(注意スコア)』を内積計算で瞬時に求めるSelf-Attention機構にある
2
Query(問い合わせベクトル)とKey(索引ベクトル)の内積を取り、ルート次元数で割ってSoftmaxにかけることで重み付き確率を算出
3
算出したアテンション重みでValue(意味ベクトル)を重み付き加算し、前後の文脈がブレンドされた高精度な単語表現を生成する

なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値

Purpose & Motivation

なぜ生まれたのか?

ChatGPTやClaude、Geminiなどの生成AIがなぜ人間のように自然な文章を読み書きできるのか。その中核は複雑な魔術ではなく、高校〜大学初年級で習う『ベクトルの内積』と『Softmax(正規化指数関数)』の組み合わせです。

身につく武器・思考力

最新AI(LLM)の理論基盤の理解、高次元ベクトル空間と行列積の直感的センス、AIエンジニアリングの実装力

実社会・ITでの活躍現場

  • •ChatGPT・Claude等の大規模言語モデル(LLM)の基幹アーキテクチャ
  • •Vision Transformer(ViT)による画像認識・医療画像診断
  • •タンパク質構造予測AI(AlphaFold2)におけるアミノ酸配列の相互作用解析
  • •音声認識・リアルタイム多言語機械翻訳モデル(Whisper等)

Layer 1 — 直感・シミュレーター

例文の各単語(Query)をクリックすると、他のどの単語(Key)に対してどれだけの注意(アテンション重み)を向けているかがヒートマップと接続線で可視化されます。ベクトルの類似度(内積スコア)がSoftmaxによって合計1.0の確率分布に変換される様子を観察しましょう。

ChatGPTの思考回路:Self-Attention Visualizer

「it」は何を指している? 単語をタップしてAIの「注意(アテンション)」を覗き見よう

AIは文中のすべての単語同士の内積を総当たり計算($QK^T$)し、文脈上の結びつきの強さをSoftmax確率として算出します。 特に「it(それ)」をタップすると、「animal(動物)」へ極めて強いアテンションが注がれていることが分かります。

1. 注目する単語(Query: 問い合わせ側)を選択
Query = "it" の各単語(Key)に対する注意スコア
Softmax合計 = 100%
Key:The2.0%
Key:animal★ 最重要照応関係58.0%
Key:did2.0%
Key:cross4.0%
Key:street8.0%
Key:because5.0%
Key:it12.0%
Key:was2.0%
Key:tired7.0%
内部で行われている3ステップの数学
① 内積スコア(類似度)

Score = Q · K / √d_k

QueryベクトルとKeyベクトルの角度(コサイン類似度)を掛け算し、単語同士の関連度を抽出。

② Softmax正規化

Weight = exp(S_i) / Σexp(S_j)

内積スコアを指数関数に入れ、合計が1.0(100%)になる確率分布に変換。

③ Valueの重み付き合算

Output = Σ (Weight_i × V_i)

注意の強さに応じて各単語の意味(Value)を合成し、文脈を含んだ新たなベクトルを完成。

直感チェック!ミニクイズ

TransformerのScaled Dot-Product Attentionで、内積スコアを dk\sqrt{d_k} で割る最も重要な数学的・工学的理由はどれ?

Layer 2 — 定義・受験・証明

定義

**Scaled Dot-Product Attention(縮小付きドット積アテンション)**とは、入力された一連の単語トークンに対して、それぞれ3つの変換行列によって Query (QQ), Key (KK), Value (VV) を生成し、以下の数式によって文脈を考慮した新たなベクトル表現を出力する機構である。

公式・数理モデル

Attention(Q,K,V)=softmax(QKTdk)VSoftmax定義: softmax(zi)=ezi∑jezj\text{Attention}(Q, K, V) = \text{softmax}\left( \frac{Q K^T}{\sqrt{d_k}} \right) V \text{Softmax定義: } \text{softmax}(z_i) = \frac{e^{z_i}}{\sum_{j} e^{z_j}}

証明・導出

**なぜ dk\sqrt{d_k} で割るのか?(スケーリングの数学的理由)**

もし QQ と KK の各要素が平均 00、分散 11 の独立な確率変数であると仮定すると、次元数 dkd_k のベクトルの内積 q⋅k=∑i=1dkqikiq \cdot k = \sum_{i=1}^{d_k} q_i k_i は平均 00、分散 dkd_k となる。

dkd_k が大きくなると(例: 64や128)、内積の値が非常に大きな正または負の値をとる。これをそのまま softmax\text{softmax} に入力すると、勾配(微分値)が極めて小さくなる『勾配消失問題』が発生し、ニューラルネットワークの学習が停止してしまう。

そこで標準偏差である dk\sqrt{d_k} で割ることで、分散を常に 11 に正規化し、安定した勾配計算を維持している。

押さえておきたいポイント

  • Query(何を探しているか)と Key(何の情報を持っているか)の内積が単語同士の『関連度』を表す
  • Softmax関数を通すことで、関連度が『合計100%の確率分布(アテンション重み)』に変換される
  • Multi-Head Attentionでは、複数の視点(構文関係、代名詞の指示関係、感情など)を並列に学習する
参照基準・学習指導要領との対応

本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。

Layer 3 — 工学応用・現場実装

PyTorchによるScaled Dot-Product Attentionのミニマム実装

大規模言語モデルの根幹をなすアテンション計算のPython/PyTorchコード例です。

1import torch
2import torch.nn.functional as F
3import math
4
5def scaled_dot_product_attention(Q, K, V, mask=None):
6 """
7 Q: [batch_size, seq_len, d_k]
8 K: [batch_size, seq_len, d_k]
9 V: [batch_size, seq_len, d_v]
10 """
11 d_k = Q.size(-1)
12
13 # 1. QとKの転置の内積を計算: [seq_len, seq_len]
14 scores = torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(d_k)
15
16 if mask is not None:
17 scores = scores.masked_fill(mask == 0, -1e9)
18
19 # 2. Softmaxで正規化(合計1.0のアテンション重み)
20 attention_weights = F.softmax(scores, dim=-1)
21
22 # 3. Valueの重み付き加算
23 output = torch.matmul(attention_weights, V)
24 return output, attention_weights
この単元につながる学習ロードマップ

次に学ぶならコレ!おすすめトピック

この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元

数理モデル・概念が近い関連トピック

関連度高工学応用

ニューラルネットワークの数学(順伝播と活性化関数)

入力に重みを掛けて足し合わせ、非線形関数で発火させるAIの基本素子

xhy順伝播 ➔◀ 逆伝播 (∂L/∂w)Chain Rule ∂L/∂w = δ · a
関連度高大学数学

誤差逆伝播法(バックプロパゲーション)と合成関数の微分

ディープラーニングの学習エンジン — 微分の連鎖律(チェインルール)によるパラメータ更新

Loss Landscape & Adam
関連度高工学応用

損失関数の地形(Loss Landscape)とオプティマイザの数理

AIはなぜ谷底へ辿り着けるのか? — SGD・Momentum・Adamの鞍点脱出と多変数微分

同じレベルで次に挑戦したいトピック

同レベル推薦工学応用

勾配降下法

谷底を探すAIの基本アルゴリズム

同レベル推薦工学応用

レコメンドの仕組み(コサイン類似度とベクトル検索)

ユーザーの好みと商品の近さを「ベクトルのなす角」で判定するアルゴリズム

"PASS"c=mᵉ%n
同レベル推薦工学応用

RSA暗号と素数の秘密(公開鍵暗号)

「掛け算は簡単だが、素因数分解は極めて困難」という非対称性を利用した現代暗号の金字塔

工学・実社会での応用先でつながるトピック

工学・実践連携小学校・算数

平均値・中央値・データの活用

棒グラフを動かして、平均と中央値の違いを体で覚えよう

工学・実践連携中学数学

四分位範囲・箱ひげ図

データを並べて4等分すると、散らばり具合が一目でわかる

✨1% 排出100連ガチャ当選 63.4%爆死 36.6%1/e の法則
工学・実践連携中学数学

ガチャ確率と大数の法則(確率の心理バイアス)

「確率1%を100回引けば当たる?」余事象と二項分布が暴くスマホゲームの現実

あなたの数学力をさらに伸ばす

数学の弱点診断や算数パズルに挑戦してみませんか?

簡単な質問に答えてあなたにぴったりの学習ロードマップを発見したり、直感を試すパズルで数の面白さを体験できます。