什么是 Softmax(概率归一化天平)?
神经网络算出的原始得分(Logits)就像各个选手杂乱无章的票数(如 10分、2分、-5分);而 Softmax 是一座神奇的概率天平 —— 通过指数放大($e^x$)将所有分数换算为 0%~100% 且加起来恰好等于 100% 的百分比概率!
赢家通吃,微积分求导瞬间归零
只选得分最高的那一个直接定为 100%,其余全部判为 0%。这种一刀切在数学上不可导(导数为0),反向传播无法更新梯度,模型根本学不会!
- ❌ 缺乏柔软度(Non-smooth):无法体现第二名与第三名的微弱差距
- ❌ 导数全为 0:梯度直接断流,深度神经网络无法自主学习
温柔平滑,全员有份且总和为 1
通过自然底数指数 $e^x$ 放大差距、消灭负数,再除以总和。处处平滑可导,大模型据此生成多姿多彩的下一个词语!
- ✨ 处处连续可导:反向传播梯度畅通无阻
- ✨ 支持 Temperature 调节:控制大模型回答是“严谨确定”还是“发散创意”
拆解 Softmax 的 4 大核心数学法宝
从公式推导到大模型温度调节,读懂概率归一化的运行秘密
1. $e^{z_i}$ 指数映射与非负化
输入值无论多么小、多么负(如 $-100$),经过 $e^x$ 变换后都会变成非负实数,确保概率具备现实物理意义。
2. 分母总和归一化 ($\sum e^{z_j}$)
将每个候选词的指数得分除以全词表所有得分的总和,使所有输出概率相加严格等于 1.0(100%)。
3. Temperature 温度旋钮 ($z / T$)
温度 $T \to 0$ 时概率极度尖锐(贪婪确定);温度 $T > 1$ 时概率分布被抹平(天马行空充满创意)。
4. Attention 注意力权重分配
Transformer 的核心 $\text{Attention} = \text{Softmax}(QK^T / \sqrt{d})V$。通过 Softmax 计算全篇单词对当前词的注意力权重。
🕹️ Softmax 动态概率与温度调节演练台
调整大模型的 Temperature(温度系数),观察各个候选词的生成概率如何动态变化:
下一个 Token 如何选出?
大模型经过数十层 Transformer 运算后,最后一层输出一个词表大小(如 128,000 维)的原始打分向量。
Softmax 将其转为 12.8 万个词的概率分布,随后根据 Top-p 或 Top-k 采样掷骰子吐出下一个字。
Safe Softmax 与溢出防范
在硬件中计算 $e^{z}$ 时,如果 $z=1000$,计算机浮点数会瞬间溢出为 Infinity。
工程师采用 Safe Softmax:计算前先减去全组最大值 $e^{z_i - \max(z)}$,数学等价且彻底杜绝数值溢出!
Softmax + CrossEntropy
分类模型训练时,Softmax 与交叉熵损失函数(Cross Entropy Loss)结合,能推导出极其优美简洁的梯度公式 $\hat{y} - y$。
这种天作之合使得反向求导计算极快,支撑了几乎所有现代分类与自回归生成模型的训练。