softmax 与交叉熵藏两处数值 bug,或致训练损失突刺
lmoroney · x · 2026-10-24
lmoroney 转述 Jon Barron 的研究结果:标准 softmax 与交叉熵实现(JAX、PyTorch 乃至教科书公式)存在两处细微数值 bug——
- Softmax Collapse:当某个 logit 远大于其余时,它的梯度被舍入为 0 而其他不为 0,梯度之和不再为 0;
- Softmax Cancellation:输出已几乎等于目标(如蒸馏中学生初始化为教师)时,仍产生非零梯度。
一个简单的重写即可同时修复两处,并消除 grokking 过程中出现的「弹弓式」损失突刺。作者借此提醒学习者要理解每天调用的 API 背后的数学,建议在自己熟悉的小模型上试修复并对比 loss 曲线。
所属事件:Barron 揭 softmax 与交叉熵实现两大数值 bug(21 条相关)→
「研究」频道最新
- IEEE IT 刊文:希尔伯特空间高斯测度间的几何 Jensen-Shannon 散度 — FrnkNlsn · 2026-10-28
- CPR 数据集:现有检索器跨领域联想最佳 Recall@10 仅 0.26 — coallaoh · 2026-10-28
- HuggingFace 机器鸭雪地行走:29 万片雪花物理仿真有多较真 — lukas_m_ziegler · 2026-10-28
- Mercor 联合斯坦福、NBER 发布开源任务目录 TaskNet,补齐 O*NET 盲区 — soumitrashukla9 · 2026-10-28
- François Fleuret 提出对齐三步法:预训练加 RL、给 token 标「想/说」 — francoisfleuret · 2026-10-28
- 基准也有保质期:Reddit 整理评测发布时间线防 benchmaxxing — Express_Quail_1493 · 2026-10-28