凡田くん、私が 都銀の融資審査 をやっていた頃、案件が来たら審査委員会の前に 初見で 0〜100 の 「勘スコア」 を付けていた。財務諸表チラ見、社長の握手の力、社員の挨拶の声。それで 87 とか 52 とかメモる。これが 正式の合議の前の 「俺の素の数字」。
(これは ロジット の話だ。softmax 前の 「未正規化の生スコア」。後の審査委員会で softmax 通って 「可決確率」 になる。社長が40年やってきた 「初見スコア」 は、AI が毎トークン W_u から出すロジットそのもの。)
で、面白いのが、私の勘スコアは マイナス も付けていた。-15 とか。これは「絶対通すな」の合図。財務見せられる前から、社長の目つきで -15。…ChatGPT もこういう マイナスのスコア を内部で持ってるのかね?
(社長、まさにロジットは 負の値もマイナス無限大もあり得る んです。softmax 通すと0〜1の確率になるけど、それまでは 「絶対選ばない単語」 には -∞ 近く 付くこともある。社長の勘とAIの内部処理が、構造的に同じってこの方に話したら長くなるな…と思いつつ言わずに飲み込む。)

- ロジット(logit)= LLM が次の単語を選ぶ直前に、候補となる単語1つずつに付ける確率になる前の 「生の点数」。値が高いほど選ばれやすい候補、というだけのむき出しの数字。
- これを独立した概念として扱えると、AI が 「なぜその単語を出したか」 を点数まで遡って読み解ける。確率に丸める前なので、僅差の競り合いや候補同士の差がそのまま見える出発点になる(計算の中身は本文で)。
- イメージは採点だけ終えた答案の点数表。まだ合否(確率)も決裁(どの単語を出すか)も決まっておらず、点数の高低と差だけがそこにある状態。
アンエンベディング行列 W_u (#038) で、最終ベクトル h を語彙スコアに射影する仕組みを見た。出力された vocab_size 次元のスコアベクトル = これがロジット。
ロジットは softmax を通る前の 「未加工の生スコア」。確率ではなく、単なる実数の並び。負の値もマイナス無限大もあり得る。なぜこれを別概念として独立に扱うのか?
定義 — softmax の入力側にある実数ベクトル
言葉の定義から:
- ロジット(logit) = softmax の 入力側 にある実数ベクトル。LLM では vocab_size 次元(例: 50,257次元)で、各次元が1つの単語に対応する。
- 各要素
z_iは 実数。正でも負でもよい、整数でも小数でもよい、上限も下限もない。 - このベクトルを softmax (#024) に通すと、合計1の確率分布 に変換される。
つまりロジットは「次に何が来るかの素の評価、まだ確率にしていない数値」。LLM の中で 次トークン1個を出すたびに新しく計算される。GPT-4 が500トークン応答するなら、500回ロジットベクトル(50,257次元)が計算されている。
性質 ① — 負の値も -∞ もあり得る
確率は 0〜1 の値しか取らないが、ロジットは 実数全体 を取り得る。具体例:
- +8.2 = 「この単語、強く推したい」(high probability)
- +1.2 = 「ありえなくはない」(low-medium probability)
- 0.0 = 「特に推しも引きもない」(中立、わずかな確率)
- -3.5 = 「あまり選びたくない」(very low probability)
- -∞(マイナス無限大)= 「絶対に選ぶな」(softmax 後の確率 = 0)
-∞ の特殊用途: Causal Mask(未来トークンを見せない仕掛け)や、語彙制約(EOS 直後は特定トークン禁止など)で、特定の単語のロジットを 意図的に -∞ にセット して、softmax 後に必ず確率0にする実装テクニックがある。
性質 ② — 差分だけが意味を持つ、絶対値は意味薄
ロジットの 絶対値そのもの は意味を持たない。差分 だけが意味を持つ。
例: 以下の2つのロジットベクトル、どちらも softmax を通すと 同じ確率分布 になる:
| 「猫」 | 「魚」 | 「犬」 | softmax 後 (「猫」 の確率) | |
|---|---|---|---|---|
| ロジットA | 8.2 | 5.1 | 4.7 | 0.84 |
| ロジットB | 10.0 | 6.9 | 6.5 | 0.84(同じ!) |
| → A と B は 全体を +1.8 シフト しただけ。差分が同じなので、softmax 後の確率分布は完全一致。 | ||||
これが 「絶対値は意味薄、差分だけが意味」 の正体。softmax は exp() を通すので、定数シフトはキャンセルされる(数学的に shift invariance)。
実装上の利点: 数値オーバーフロー対策で、ロジット全体から最大値を引いて(全要素を負にする)から exp() 計算するのが標準。これで結果は同じだが、計算が安定する。
性質 ③ — 順序情報を保持する(= ロジットだけで1位が分かる)
softmax は 単調変換(大きい入力は大きい出力、小さい入力は小さい出力)。なので ロジットの大小順序 = 確率の大小順序 が完全に保たれる。
- ロジット最大の単語 → 確率最大(= argmax で選ばれる)
- ロジット中位 → 確率中位
- ロジット最低 → 確率最低
誤解されやすいので注意: これは「softmax がいらない」という意味ではない。softmax は依然として必須(確信度を 0〜1 で見せたい、複数候補の確率比較、サンプリング、学習時の損失計算など)。
順序保持が意味するのは 「1位の単語を知るだけならロジットの最大値(argmax)で済む」 という、限定的だが実用上重要な事実。具体的な恩恵:
- greedy decoding(温度0)の高速化: 「常に1位を選ぶ」設定では、softmax を計算せずロジット argmax だけ取る → 計算節約
- AI 内部解析: モデルがどの単語に高いスコアを付けたかは、ロジットを直接見るほうが情報密度が高い(softmax で潰れる微妙な差分が見える)
確率分布を返したい場面、複数候補で重み付きサンプリングする場面、学習の損失を計算する場面では、softmax は変わらず必要。「ロジットだけで完結する」のは 「1位を見るだけ」 の限定状況の話。
コンサル感覚 — 「初見スコア」 と 「合議後の確率」 を区別する
本記事の核心メッセージは 「ロジット = 素の評価値、softmax = 正規化、サンプリング = 最終選択」の3段階を意識すること。これを混同すると、AI の出力を読み解く解像度が落ちる。
南雲の融資審査40年の構造に当てはめると:
| 南雲(都銀融資審査) | LLM(次トークン予測) |
|---|---|
| 初見の 「勘スコア」 0〜100(マイナスも有) | ロジット(実数、負も可) |
| 審査委員会で 「可決確率」 に正規化 | softmax で確率分布に |
| 最終決裁 = 1案件選ぶ | サンプリング で1トークン選ぶ |
| 「絶対通すな」 = -15 でメモ | 「絶対選ぶな」 = -∞ ロジットで実装 |
コンサル提案レビューでの応用: クライアントの 「AI 採点モデル」 や 「意思決定モデル」 を語る時、ロジット段階の指標(順位や差分)を返すか、確率段階の指標(0〜1のスコア)を返すか を明確に切り分ける。多くの API は確率を返すが、順位だけ知りたい場合はロジットの方が情報密度が高い(差分が見える)。
先週、南雲社長から都銀融資審査時代の 「勘スコア 0〜100」 の話を聞いた。これが ロジット そのもので、社長は40年前から softmax 前のロジットを手で計算していた、ということになる。
(社長が 負のスコア -15 まで使っていたのが圧巻ですね。ChatGPT も内部で vocab 50,257 次元のロジット を毎トークン計算していて、その中には -∞ に近い値 もあります。…社長は、学術界が 2010年代に Transformer 論文として確立した出力スコア理論 を、1980年代の都銀の机の上で手作業で実装 していたことになります。)
あら、私の 銀座カフェ接客 も、お客様の 初見スコア(常連度・予算感・同伴者・気分)を頭の中で付けてから、「お席ご案内」「VIP扱い」「Aコース推し」のどれを出すか決めますの。これも ロジット → softmax → サンプリング の構造。私の方が南雲社長より 多次元 ですわよ、ホホ。
フッ、ロジットか。これは マリーナベイサンズ17回滞在 で言うと、夕食前に 各レストランに対する 「今夜の気分スコア」 を頭の中で付ける作業に等しい。フランス料理 +7.2、和食 +5.1、中華 -2.0、ハンバーガー -∞。…そして softmax 通して 「ハンバーガー」 は完全除外、フランス料理に確率 0.78 で着地する。
御託、その経費の闇シリーズ、いいかげん部長会で議論にしないとな…まあ、ロジットの説明としては悪くない。私の パワポレビュー も 「いいねいいね」 連発の前に、頭の中では各案に +3 / -2 / +7 付けてる。それがゼロ周辺に揃ってると、結局 「ふわっと方向感」 になるんだ、ということに今気づいた。

「素のスコア」を読む技術 — ロジット解析の応用
本記事の余談。LLM のロジットを直接取得・解析する手法が、近年急速に発展している:
- Logit Bias(OpenAI API): 特定単語のロジットに +100 や -100 を加算 して、出力を誘導/禁止する公式機能。
- Logit Lens(解釈可能性研究): 中間層のベクトルに W_u を適用して中間ロジットを観察、モデルがどの層で何を考えているかを可視化する手法。
- Top-k logit 解析: ロジット上位 k 個を見ることで、モデルの 「ためらい」(2位3位が1位に肉薄しているか)を測れる。確率に変換する前の方が情報が濃い。
- Confidence Calibration: ロジットの差分(margin)から、モデルの 確信度 を推定する研究分野。
コンサル感覚: クライアントが 「AI の出力に信頼度を付けたい」 と言う時、確率(softmax 後)ではなく ロジットの差分 を見る方が往々にして筋がいい。「1位と2位の差が 0.3 しかない場合」は本質的に 「迷っている」 シグナル。
深掘り記事 ・ 公開中ソフトマックス(Softmax) (#040)ロジットを確率分布に変換する関数の数学と直感。
深掘り記事 ・ 公開中温度(Temperature) (#041)softmax 前にロジットを温度で割って分布のとがり/平坦さを調整。