ふむ、内積か。私は40年間、融資審査で 「客の真意ベクトル」と「銀行の与信ベクトル」の内積 を毎日計算していたな。
社長、それを 紙とそろばん で?
そろばん、紙、そして勘だ。1件あたり3分 で判定していた。
……(光速GPUと同じ速度では、と思ったが言わない)

- 内積(Dot Product) とは、2つのベクトルから 1つの数値 を作る演算で、その数値は 「2つがどれだけ同じ方向を向いているか(波長が合うか)」 を表す。(計算式は本文で)
- これが重要なのは、LLM のアテンション機構が 内積でトークン同士の関連度を測っている から。Transformer の心臓部の演算であり、ここを押さえると次の仕組みが一気に見通せる。
- イメージは 「波長一致度スコア」: 顧客と提案、候補者と職務、戦略と実行 が噛み合っているかを、数値1つでパッと測るようなもの。
「ベクトル同士の似ている度合いを測る」と言われると、なんとなく難しそうに聞こえるが、実態はただの掛け算と足し算 だ。
その演算を 内積(Dot Product) と呼ぶ。中学高校で出てきたかもしれないが、機械学習で出てくると意味合いがガラッと変わって見える。本記事は内積の正体を、計算・直感・使われ方 の3点で押さえる。LLM のアテンション機構を理解する直前の「最後のピース」でもある。
計算は驚くほどシンプル
![凡田と川口がホワイトボードで内積の計算 [1,2,3]·[4,5,6]=32 を実演](/assets/articles/A23/A23_illust1_dot_calculation.png)
定義から入る。
内積 = 同じ位置の要素同士を掛けて、全部足したもの
例:
v1 = [1, 2, 3]
v2 = [4, 5, 6]
v1 · v2 = 1×4 + 2×5 + 3×6
= 4 + 10 + 18
= 32
これだけ。2つのベクトルから1つの数値が生まれる。ベクトル → スカラー の変換と覚えてもいい。
ポイント:
- 2つのベクトルは 同じ次元 である必要がある(でないと位置がずれる)
- 結果は 数値ひとつ(スカラー)
- 計算自体は要素ごとの掛け算と足し算だけ
直感: 「どれだけ同じ方向を向いているか」
数式だけだと「で?」となる。意味を捉えるには 幾何学的な見方 が必要だ。
2次元で考えるとわかりやすい。2本のベクトルを矢印として描いたとき、
- 同じ方向を向いてる → 内積は 正の大きな値
- 直角(90度)で交差する → 内積は ゼロ
- 逆方向を向いている → 内積は 負の値
数式で書くと:
v1 · v2 = |v1| × |v2| × cos(θ)
ここで θ は2本のベクトルの間の角度、|v| はベクトルの長さ。つまり内積は、2つのベクトルがどれだけ整列しているかを、長さの掛け算でスケーリングしたもの。
機械学習で重要なのは、この 「整列度」 の解釈。「2つの何かが、どれだけ同じ方向性を持っているか」を1つの数値に圧縮できる。
「類似度」を測る最も基本的な道具
機械学習で内積が主役になる場面は、ほぼすべて 「類似度の計算」 だ。
| 場面 | 何と何の内積か |
|---|---|
| 検索エンジン | クエリベクトル と 文書ベクトル |
| レコメンド | ユーザーベクトル と アイテムベクトル |
| 顔認識 | 入力画像ベクトル と 登録済み顔ベクトル |
| 文書クラスタリング | 各文書ベクトル同士 |
| Transformer のアテンション | あるトークンの 「問い」 と 他トークンの 「鍵」 |
特に最後が重要。LLM のアテンション機構は、トークン同士の関連度を内積で測ることが本質。だから内積を理解せずに Transformer は語れない、というのが立場として正しい。
コンサル業務にもう一歩寄せる
内積を「波長一致度スコア」と思って業務に重ねる。
| 業務 | こう測れる |
|---|---|
| 顧客と提案 | 顧客課題ベクトル × 提案要素ベクトル → 提案の刺さり度 |
| 採用 | 候補者プロファイル × 職務要件 → 適合度 |
| 案件アサイン | コンサルタント能力ベクトル × 案件要求ベクトル → マッチ度 |
| クライアントと自社 | 価値観ベクトル × カルチャーベクトル → 相性 |
| 戦略と実行 | 経営層の方針 × 現場の動き → KGI整合度 |
コンサル流に言えば、「波長が合う/合わない」を数値1つで判定する道具。経験豊富なシニアが「直感で」感じている整合度を、ベクトルにしてしまえば数値化できる、というのが内積の身も蓋もない意味だ。
あー、これ俺、マッチングアプリで嫁さんと出会ったときに、まさにアプリ側がやってたやつだ。プロフィール5項目の内積でスコアつけて、99%とか出してくる。それで1ヶ月で結婚決めた俺は、内積を信じすぎた結果なのか…?
凡田くん、それは投資判断と同じだよ。私はキャンプブームでキャンプ用品を買うとき、自分の理想ベクトル [軽量, 多機能, 直火対応, 北欧デザイン, 1万円以下] と商品ベクトルの内積で全部買ったんだ。…結果、内積100点満点のテントが、いまも納戸で埃をかぶってるんだけどな。
フッ、お前らは内積を浅く語っている。本質は、ハラリが『サピエンス全史』で論じた「文化と文化の重なり度」だ。日本酒銘酒会で常に主張しているのは、銘柄の[香り, 旨味, 酸度]ベクトルと飲み手の[気分, 体調, 食事]ベクトルの内積で完璧なペアリングが成立するという…
あら、内積で人生が動くと言うなら、私のInstagramのDMで来る「あなたと感性が一致しています、お試しください」っていう美容クリニックの広告ですわ。あれ、絶対 私の閲覧履歴ベクトルとクリニックの施術ベクトルの内積で出してますわよね。…一度頬のフィラー試しちゃいましたの。
あの、オンラインゲームのマッチング、ぼくのプレイスタイル [APM高め, 集団戦少なめ, 索敵重視] と相手のスタイルの内積で組まれるんですけど、内積が高すぎるとお互い同じ動きして全滅するので、わざと低めを選ぶこともあって…(無言で過去のマッチ履歴を開く)

「直交」が意味すること
内積がゼロになる場合、つまり2つのベクトルが 直角に交わる とき。これを「直交している」と言う。
機械学習で直交が出てくると、次のような意味になる:
- 2つのベクトルが 完全に独立した情報 を持っている
- 一方を変えても、もう一方には影響しない
- 「混ざらない軸」として共存できる
埋め込み空間で「性別の方向」と「単複の方向」が直交していると、その2つは互いに干渉せずに動かせる(king→queen の方向と cat→cats の方向が独立)。次元を増やす理由の1つは、意味同士を直交に近く保つこと で干渉を減らすこと(詳細は 高次元空間 の記事へ)。
Transformer での主役: アテンション機構の中身
ここから Transformer の心臓部に直結する話。
LLM のアテンション機構では、各トークンに対して「Query(問い)」と「Key(鍵)」というベクトルが用意される。そして、
あるトークン i から見て、トークン j がどれだけ関連しているか = Q_i · K_j (内積)
を全ペアで計算する。内積が大きいトークンほど「関連が強い」と判定され、その情報が今のトークンに引き込まれる。
つまり 「今のトークンは、文中のどのトークンに注意を向けるべきか?」 という問いを、内積で解いている。これがアテンション機構の数学的な核心。
詳細は アテンションブロック の記事に譲るが、ここで覚えておきたいのは:
- 内積はアテンションの 最小単位の演算
- 数千トークン × 数千トークン の内積を、行列演算で一気にやる
- LLM の処理時間の大半はこの内積計算 に費やされている
つまり、現代のAI 業界が GPU を血眼で探している理由は、「大規模な内積計算を高速化したい」 という一点に集約される。
ふむ、アテンションは内積か。…私は経営判断で、無数の情報の中からどれに注意を向けるかを、長年の勘で決めてきた。あれは私の脳が、無意識に内積を計算していたということか?
はい社長、まさにその通りでして、ふわっとした方向感としては、人間の脳も結局…
部長、社長、それは違う気がします。人間の勘って、内積みたいに均等にスコアつけてないですよね。バイアスが乗ってて、自分が見たいものに高得点つけがちで…
フッ、それはまさに認知心理学のヒューリスティクスだ。私が学生時代に読んだダニエル・カーネマンの著書では…(ふと、ポケットのスマホが震える)…失礼、急ぎの案件で。私のYouTubeのおすすめなど、最近は完全に「青と紫の髪の女の子の3Dお披露目」で埋まっていてだな、内積アルゴリズムが私の閲覧履歴を完璧に……(ハッ、と気付いて咳払い)
あら…御託さん、いまの「青と紫の髪の」って、どちら様のお話ですの?
……(目を逸らす)
あの、ぼく、社内の議事録を全部ベクトル化して、「南雲社長が次に注意を向けるべき案件は?」を内積で計算するスクリプトを書いたんですけど、出てきたのが「ゴルフ会員権の更新」で…
…川口くん、それは正しい。
