知识卡片:Softmax 与交叉熵的数值修正
一句话结论
论文指出标准 softmax、log-softmax 与交叉熵实现存在两个数值 bug(Softmax Collapse 与 Softmax Cancellation),并给出简单修正实现,声称可消除“Slingshot”现象、加速 grokking、防止无权重衰减时的精度崩溃,并阻止蒸馏中学生网络偏离教师。
事件概述或研究问题
研究问题聚焦于深度学习框架中常用的 softmax 与交叉熵计算的数值稳定性。作者认为标准实现并非完全正确,存在两类可复现的数值缺陷,并试图通过重新实现 log-softmax、softmax 和交叉熵来同时修复这两个问题。
方法/产品要点
- 识别出两个 bug:
- Softmax Collapse:当目标 logit 远大于其他 logit 时,目标 logit 的梯度被舍入为零,导致梯度不再求和为零。
- Softmax Cancellation:当学生 logits 与教师 logits 接近时,即使二者相等也会产生非零梯度。
- 提出简单的 log-softmax、softmax 与交叉熵实现,声称同时修复上述两个 bug。
- 论文作者为 Jonathan T. Barron、Dan Gnanapragasam、Michael Tschannen,arXiv ID 为 2610.31642v1,主分类 cs.LG。
主要结果或产业意义
根据摘要,修正后的实现带来以下效果:
- 消除此前观察到的“Slingshot”现象;
- 在使用权重衰减时加速 grokking;
- 在不用权重衰减时防止精度崩溃;
- 阻止蒸馏过程中学生网络偏离教师;
- 显示记忆之后 logit 的增长受权重衰减与 Adam 的 ε 超参数之间的平衡所约束。
产业意义在于:softmax 与交叉熵是几乎所有分类与蒸馏流程的基础算子,若标准实现确实存在上述数值缺陷,修正后可能影响训练稳定性、蒸馏效果与 grokking 行为。具体影响范围与在不同框架中的表现待核实。
为什么重要
该工作针对的是深度学习中最基础、最不易被质疑的算子实现。若两个 bug 在常见框架中普遍存在,则其修正不仅是数值细节问题,还可能改变对 grokking、蒸馏漂移和精度崩溃等现象的解释。与既有卡片中偏应用层的研究不同,本条属于基础算子层面的修正,增量信息在于指出标准实现本身的数值缺陷而非模型或协议设计。
局限与不确定性
- 论文摘要仅列出结论性效果,未提供实验设置、数据集、模型规模与对比基线,具体数值待核实。
- “Slingshot”现象、grokking 加速幅度、精度崩溃的具体条件等细节需查阅原文确认。
- 两个 bug 在不同深度学习框架(如 PyTorch、TensorFlow、JAX)中的实际存在情况与影响程度待核实。
- 修正实现与现有框架默认实现的兼容性与性能开销待核实。
可用于图书/PPT/简报的角度
- 作为“最基础算子也可能有 bug”的案例,说明数值稳定性检查的必要性。
- 在讲蒸馏训练不稳定性时,引用 Softmax Cancellation 作为学生-教师 logits 接近时梯度异常的潜在来源。
- 在讲 grokking 与权重衰减时,引用“logit 增长受权重衰减与 Adam ε 平衡约束”的观察。
- 在讲工程实践时,提醒读者框架默认实现不等于数值正确实现。
原始材料
- Title: A Fix for Softmax and Cross-Entropy
- arXiv ID: 2610.31642v1
- Authors: Jonathan T. Barron, Dan Gnanapragasam, Michael Tschannen
- Published: 2026-10-22T17:54:56Z
- Primary category: cs.LG
- Abstract URL: https://arxiv.org/abs/2610.31642v1
- PDF URL: https://arxiv.org/pdf/2610.31642v1
发现内容有误?
免登录提交,管理员审核并完成修正后才会公开修订说明。
值得关注
该工作针对的是深度学习中最基础、最不易被质疑的算子实现。若两个 bug 在常见框架中普遍存在,则其修正不仅是数值细节问题,还可能改变对 grokking、蒸馏漂移和精度崩溃等现象的解释。与既有卡片中偏应用层的研究不同,本条属于基础算子层面的修正,增量信息在于指出标准实现本身的数值缺陷而非模型或协议设计。
相关主题
对应的教材知识点
根据卡片内容自动匹配,点击查看已审核的教材讲解: