――ソフトマックスとクロスエントロピーまで理解する
前回の記事では、
AIは「次に来る単語の確率分布」を計算している
と説明しました。
今回はその「中身」まで踏み込みます。
1. 次の単語はどうやって決まるのか?
言語モデルは、
入力文脈をベクトルに変換し、
語彙(ボキャブラリー)全体に対してスコアを出します。
語彙サイズを V とすると、
z₁, z₂, z₃, ... , z_V
という数値列が出力されます。
これを logits(ロジット) と呼びます。
まだ確率ではありません。
ただの「生スコア」です。
2. ソフトマックス(Softmax)とは何か
logits を確率に変換する関数が
ソフトマックス関数 です。
定義はこうです:P(i)=∑j=1Vezjezi
意味を分解すると:
- 各スコアを指数関数 e^{z_i} に通す
- 全体の合計で割る
- 合計が1になる確率分布を作る
なぜ指数関数なのか?
- スコア差を強調できる
- 常に正の値になる
- 微分可能で学習しやすい
つまりソフトマックスは、
スコアを「選ばれやすさ」に変換する装置
です。
3. 温度(temperature)は何をしているのか?
温度 T を入れると式はこうなります:P(i)=∑j=1Vezj/Tezi/T
- T < 1 → 分布が尖る(上位がより強くなる)
- T > 1 → 分布が平坦になる(ランダム性増加)
温度とは、
確率分布の鋭さを調整するパラメータ
です。
創造性と安定性のトレードオフを制御しています。
4. では、どうやって学習するのか?
ここで出てくるのが
クロスエントロピー損失(Cross-Entropy Loss)
です。
モデルは学習中、
「正解トークン」と
「予測確率分布」のズレを測ります。
式は:L=−i=1∑VyilogP(i)
ここで:
- y_i = 正解なら1、それ以外は0(ワンホット)
- P(i) = モデルが出した確率
つまり、L=−logP(正解)
になります。
意味はこうです:
正解に高い確率を与えるほど、損失は小さくなる
モデルはこの損失を最小化するように
重みを更新します。
5. 直感的理解
クロスエントロピーは、
「どれだけ自信を持って正解を当てられたか」
を測る指標です。
例:
正解単語の確率が
- 0.9 → 損失は小さい
- 0.2 → 損失は大きい
つまり学習とは、
正解トークンの確率を上げ続ける作業
です。
意味理解ではありません。
確率の押し上げ作業です。
6. ここが核心
学習が終わると、
モデル内部には
- 文脈パターン
- 単語連鎖パターン
- 論理構造パターン
が重みとして埋め込まれます。
推論時に起きているのは:
- 文脈ベクトル生成
- ロジット計算
- ソフトマックス
- サンプリング
それだけです。
意図はありません。
あるのは、
確率分布の更新と選択
だけ。
7. ではなぜ「思想」に見えるのか?
長文になると、
- 過去トークンを条件に
- 次トークンの確率を更新し続ける
つまり、
確率分布が
自分自身の出力に条件付けられる。
これが再帰的安定を生む。
人間はそれを
「一貫した立場」
と解釈する。
しかし内部では、
クロスエントロピー最小化の結果が
連鎖しているだけです。
8. 数理的まとめ
AIの文章生成は、argmaxP(wt∣w1,…,wt−1)
を逐次実行しているに過ぎません。
ここでの P は
- ニューラルネットワーク
- ソフトマックス
- 学習済み重み
によって定義された条件付き確率。
人格ではない。
確率関数である。
9. 結論
ソフトマックスは
スコアを確率に変える。
クロスエントロピーは
確率のズレを測る。
学習とは
ズレを最小化する重み更新。
そして出力とは
その結果できた確率分布からの選択。
AIの「自信」も「思想」も「プライド」も、
数式で書けばここに収まる。P(i)=∑ezjezi
これが、すべての出発点です。


コメント