以下内容由AI辅助生成
Softmax 是多分类任务中最常见的输出层函数。它的任务表面上是“把 logits 变成概率”,但本质是:将一组可加的分数转换为可比较、可优化的相对强度,并与极大似然/交叉熵无缝对接,同时保证数值稳定和梯度友好。
1. 问题设定:从 logits 到概率
1.1 什么是 logits?
神经网络最后一层通常输出一组实数:
这组
1.2 我们需要什么?
我们需要一个函数,将任意实数向量映射到“概率单纯形”:
其中概率单纯形定义为:
1.3 硬约束(缺一不可)
非负性:输出必须 > 0
归一化:总和为 1
全域定义:对所有实数输入都有定义
保序性:
例子:如果 logits 是
,那么 Softmax 后 的顺序不变 可微性:平滑可导,梯度稳定(用于反向传播)
2. Softmax 的定义
2.1 标准形式
其中:
:类别数 :第 类的 logit - 分母:对所有类别的指数求和,用于归一化
2.2 向量形式
2.3 数值稳定版(工程实践)
为什么要减
当
- 最大的 logit 变为 0:
- 其他 logit 都是负数:
最多下溢到 0,不会 NaN - 数学上结果完全相同(分子分母同时除以
)
例子:
- 原始:
→ 溢出! - 稳定版:
→ ✓
3. 为什么输出在 (0,1) 且和为 1?
这是纯代数结论,无需“概率直觉”。
令
3.1 为什么 ?
- 对任意实数
,都有 - 分母是正数之和,必然 > 0
- 因此
3.2 为什么 ?
分母包含分子本身:
(除非
3.3 为什么 ?
3.4 本质
Softmax = 对一组正数做 L1 归一化
指数的作用是将“任意实数”转为“严格正权重”。
4. 为什么必须用指数?
4.1 方案一:直接归一化 ❌
问题:
可能为负 → “概率”为负 - 分母可能为 0
- 符号变化时语义被破坏
结论:不满足基本约束
4.2 方案二:ReLU 后归一化 ❌
问题:
- 0 处不可导,训练困难
- 大量类可能变为 0,梯度长期为 0(神经元“死亡”)
- 相对差异被扭曲
4.3 方案三:平方归一化 ❌
问题:
与 得到相同权重 - logits 的“偏好方向”丢失
- 分类语义崩塌
5. 指数为什么“刚刚好”?
指数函数
严格正性:
(无零点、无负值、无断点) 严格单调:保持顺序
差异放大:线性差转为倍率差
例子:
- 如果
,则 倍 - 如果
,则 倍 - logit 差距越大,概率比越悬殊
- 如果
加法→乘法同态:
第 4 点是关键的“桥梁”性质,后文将深入阐述。
6. e 是什么?
6.1 连续复利的极限
背景:假设你存 1 元钱,年利率 100%。
- 一年计息 1 次:
元 - 半年计息 1 次:
元 - 每天计息:
元 - 每秒计息:
元
当计息频率趋于无限(连续复利),极限就是
6.2 级数定义(实际计算常用)
算到
6.3 最关键性质:自导数
这是 Softmax + 交叉熵梯度简洁的根本原因。
7. 为什么用 e 而非其他底数?
7.1 其他底数可行吗?
假设用底数
导数为:
7.2 梯度尺度污染
配合交叉熵时,梯度变为:
而使用
7.3 为什么这很重要?
- 学习率本应直接控制步长
- 换底数会引入无意义的常数
- 多层网络中尺度难以控制
- 表达能力没有提升,纯属干扰
结论:用
8. Softmax + 交叉熵的“奇迹”
8.1 什么是交叉熵?
在分类任务中,我们用 one-hot 编码 表示真实标签:
- 如果样本属于第 2 类(共 3 类):
- 只有正确类别为 1,其他为 0
交叉熵损失衡量预测分布
因为
意义:
- 如果
(预测完全正确)→ - 如果
(预测很不确定)→ - 如果
(预测错误)→
目标:最小化交叉熵 = 最大化正确类别的预测概率。
8.2 交叉熵损失的完整形式
使用 one-hot 标签
8.3 代入 Softmax
8.4 梯度极简
这个“干净到难以置信”的形式,根源于:
若用其他正函数
9. “加法 → 乘法”:唯一的自然桥梁
这不是比喻,而是结构必然性。
9.1 Logits 的加法世界
最后一层的典型形式:
语义是“证据累加”:
- 支持特征 →
增加 - 反对证据 →
减少 - 多条证据 → 分数相加
例子(图像分类):
- 检测到“毛发” → 猫的分数 +2
- 检测到“尖耳朵” → 猫的分数 +1.5
- 检测到“圆脸” → 猫的分数 +1
- 最终:
比较两类时,自然量是差值:
表示“
9.2 概率的乘法世界
分类中真正关心的是“相对可能性”,即比值:
例子:
- 如果
- 比值:
,表示“猫的可能性是狗的 3.5 倍” - 这是倍率/赔率,本质是乘法结构(比例、连乘)
9.3 核心需求:差值控制比值
希望存在单调函数
左边:概率的比例结构(乘法世界)
右边:logit 的差分结构(加法世界)
我们需要一座桥,将“差”转为“比”。
9.4 一致性约束逼出指数
希望满足传递性:
- 若
比 强 , 比 强 - 则
比 应强
即:
对应概率比值的链式相乘:
结合两式,得函数方程:
在“正、连续、单调”等合理条件下,唯一解是指数族:
因此:
归一化后:
(
结论:“加法→乘法”不是比喻,而是结构要求的必然结果。
9.5 对训练的友好性
训练使用对数似然,对数将乘法拉回加法:
- 指数:加法 → 乘法
- 对数:乘法 → 加法
整个系统形成闭环:logits 的差是线性的,log 概率比也是线性的,梯度才简洁稳定。
10. 信息论视角:最大熵推导
10.1 问题设定
在约束条件下:
最大化熵:
10.2 拉格朗日方法
用拉格朗日乘子法求解,得到:
归一化后即为 Softmax。
10.3 深层意义
Softmax 不是约定俗成,而是在“仅知期望分数”约束下,熵最大的唯一形式。
这从信息论角度证明了 Softmax 的必然性。
11. 总结:Softmax 的必然性
Softmax 不是随便设计的,而是唯一同时满足以下要求的函数:
基础要求:
- 任意实数输入 → 正数输出 → 和为 1
- 大的 logit → 大的概率(保序)
- 处处可导,梯度稳定
核心机制:
- 用指数把“证据累加”(加法)转成“可能性倍率”(乘法)
- logit 差 2 → 概率比
倍;差 5 → 比 倍
训练完美:
- 配合交叉熵,梯度就是
(干净到极致) - 用
而非其他底数,避免梯度尺度污染
数值稳定:
- 减
防溢出,下溢到 0 也符合语义
理论支撑:
- 最大熵原理下的唯一解
- 指数族分布的自然形式
一句话:Softmax 是“把加法世界的分数转成乘法世界的概率”的唯一自然方式。