模型架构 入门

Softmax 与 Logits

别名:Softmax / Logits / 概率分布 / Probability Distribution

Logits 是模型输出的未归一化分数,Softmax 把它变成概率分布,再交给采样或交叉熵。

更新于 2026/11/08
基础概率输出层

一句话定义

Logits 是模型最后一层输出的未归一化分数;Softmax 把这些分数变成总和为 1 的概率分布,供采样或计算损失。

为什么需要它

模型输出的是任意实数,不能直接当概率。Softmax 用指数函数放大差距、再归一化,得到可解释的分布;训练时用交叉熵比较预测分布和真实 token,推理时用它采样下一个 token。Softmax 对 logits 的尺度很敏感:整体放大 logits,分布会变得更尖锐。

怎么工作

  1. 模型对词表每个 token 输出一个 logit z_i。
  2. Softmax 计算 p_i = exp(z_i) / Σ exp(z_j)。
  3. 训练时用 -log p(y) 作为交叉熵损失。
  4. 推理时按 p_i 采样,或取最大概率做贪心解码。

Softmax 与 Logits:把分数变成概率

关键点与取舍

  • 温度 T 把 logits 除以 T:T<1 更尖锐,T>1 更平坦。
  • Softmax 的概率不是“置信度”,模型可能很自信地答错。
  • 词表很大时,Softmax 计算和显存都不小;实际实现会做数值稳定处理。
  • 数值稳定实现会先减去最大值,再取指数,避免溢出。

常见误区

  • Logits 不是概率,可能为负、也不求和为 1。
  • 概率高不等于答案正确;它只表示模型更倾向这个 token。
  • Argmax 只是贪心解码,不等于“最优回答”。
  • 多分类 Softmax 假设类别互斥;多标签任务通常用 Sigmoid。

用在哪里

  • 语言模型的输出层、分类任务、交叉熵训练。
  • 调温度/Top-P、做校准或分析模型不确定性时。
  • 看模型输出分数、做蒸馏或对比不同模型时,先分清 logits 和概率。
  • 分析模型不确定性时,要看校准后的概率,而不是单看最高分。

相关概念