Softmax と温度

ロジットを softmax(z/T) で確率に変換し、温度 T で分布の鋭さが変わる様子を見ます。次トークン選択の「貪欲 ⇔ 多様」を体感します。

1.00
候補トークンのロジット z(モデルの「生スコア」)
" cat"4.0
" dog"3.2
" fish"2.0
" bird"1.0
" car"-1.0
温度 T
最有力トークン p_max
エントロピー H(bit)
サンプリング回数
softmax 確率 p(温度 T 適用後)
サンプリング頻度(棒)と理論確率 p(破線マーカー)
言語モデルは次のトークンごとにロジット z(生のスコア)を出します。これを確率に変えるのが softmaxp_i = exp(z_i / T) / Σ_j exp(z_j / T)
温度 T は「鋭さ」のつまみです。T → 0 で最大ロジットに確率が集中(ほぼ 1)して常に同じ語を選ぶ貪欲に、 T を上げると分布が平らになり弱い候補も選ばれやすくなって多様になります。
スライダーで T とロジットを変え、棒グラフの変形と、サンプリングを繰り返したときの偏り方を確かめましょう。

いま何が起きている?

ここがポイント