Softmax与交叉熵存在数值缺陷,论文提出修复方案并关联Grokking现象

一篇新论文指出标准 softmax、log-softmax 与交叉熵实现中的两个数值缺陷,并给出简单修复;在小规模玩具实验中,该修复消除了“Slingshot”现象、加速 grokking,并避免无权重衰减时的准确率塌陷。

一句话看懂:一篇新论文指出标准 softmax、log-softmax 与交叉熵实现中的两个数值缺陷,并给出简单修复;在小规模玩具实验中,该修复消除了“Slingshot”现象、加速 grokking,并避免无权重衰减时的准确率塌陷。

事件核心:发生了什么

2026 年 10 月 22 日,Barron、Gnanapragasam 与 Tschannen 在 alphaXiv 发布论文,指出标准交叉熵实现有两个数值 bug。其一为“Softmax Collapse”:当目标 logit 远大于其他 logit 时,目标类梯度在浮点运算中被舍入为零,导致各类梯度之和不等于零。其二为“Softmax Cancellation”:当学生与教师 logit 接近时,即使二者相等,仍会产生非零梯度。fp32 下的精度悬崖约在 logit margin 16.6,bf16 约 5.5,fp64 约 36.7。修复思路是单独计算非最大类的 log-sum-exp,并用数值稳定的 softplus 组合,目标梯度直接由非目标梯度之和的负值构建,而非从接近 1 的概率中减去 1。

为什么重要

交叉熵是分类模型和知识蒸馏训练的基础损失函数,数值稳定性问题在模型置信度增长后才会暴露,容易被忽视。论文在模运算 grokking 实验中对比了标准与修复版交叉熵:在 fp32、权重衰减 λ=1 的设置下,标准版反复跌落后反弹,修复版平滑越过精度悬崖并在 margin 约 18.4 附近稳定;在平方模运算 mod 97、无权重衰减、Adam ε=10⁻¹⁶ 的设置下,约第 1250 步时标准版测试准确率从 61% 降至 23%,修复版继续上升至 85%。作者还提出 Slingshot 现象的一条解释链:精度悬崖使目标梯度归零,Adam 二阶矩估计衰减,梯度重新出现时优化器产生大步长。不过这是作者解释,并非对每次 Slingshot 的证明。

对用户/开发者/创作者的影响

对训练大模型和蒸馏小模型的开发者而言,这项修复可直接用于损失函数实现,尤其在高精度 fp32 或 bf16 训练、且目标类置信度较高的场景。若训练后期出现莫名 loss 尖峰或准确率崩溃,值得检查交叉熵实现是否存在同类舍入问题。但需注意:论文结果来自小规模玩具基准,目前公开信息显示尚未覆盖大规模预训练;社区讨论也不等于论文结论。

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

值得关注的后续

可观察三点:主流深度学习框架是否合入类似稳定实现;知识蒸馏与大规模预训练任务中是否复现收益;Slingshot 现象与数值精度之间的因果关系能否得到更严格验证。

来源:alphaXiv

celebrityanime
celebrityanime
文章: 29763

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注