用一个三分类例子讲透 Softmax 与交叉熵的分工与梯度
techNmak · x · 2026-10-11
作者用 logits 为 2、1、0 的三分类例子(正确类 C 反而得分最低),完整走一遍分类器末端的数学链路:
- 分工不同:Softmax 只把 logits 转成概率分布(约 66.5% / 24.5% / 9.0%),它不知道哪个类正确;交叉熵才引入目标,损失由正确类分到的概率决定——本例仅 9%,损失约 2.4076。
- 对数惩罚:正确类概率越高损失越小,趋近零时损失无界增长,惩罚压错很离谱的预测。
- 极简梯度:对 logits 的梯度就是「预测概率减目标」,错类为正(约 +0.665、+0.245)、对类为负(约 -0.910),即压低错类 logit、抬高对类,再由反向传播传回全网络。
- 数值稳定技巧:指数大 logits 会溢出,标准做法是先减去最大 logit(2,1,0 → 0,-1,-2),不改变概率和损失。
- 实践提醒:PyTorch 的 crossentropy 期望直接传入未归一化的 logits,不要再先做 softmax。
「研究」频道最新
- 从失败动作反推目标:有界理性规划代理的在线贝叶斯目标推断 — xuanalogue · 2026-10-11
- 对齐研究者荐读:Rohin Shah 价值学习序列与模型误设反强化学习 — xuanalogue · 2026-10-11
- 循环模型新方法:1.6B 模型用 1/3 KV 缓存追平全缓存基线 — rupspace · 2026-10-11
- 纯 RL 训出的机器人自创杆上立杆、原地翻螺母等人类不会教的策略 — KyleMorgenstein · 2026-10-11
- PartLLM 登陆 SIGGRAPH Asia:LLM 驱动任意粒度 3D 网格部件分割 — Promptmethus · 2026-10-11
- Duo Bregman伪散度实现截断指数族KL散度闭式计算 — FrnkNlsn · 2026-10-11