两行代码写数值稳定的 softmax:减最大值防溢出的数学原理
cneuralnetwork · x · 2026-10-29
作者用两行 PyTorch 演示数值稳定的 softmax 写法,并解释为什么要减去最大值:softmax 计算 e^x/Σe^x,当 x 很大时 e^x 会溢出为无穷大产生 NaN;而对所有 logit 减去同一常数不改变 softmax 结果,因为 e^(-c) 因子在分子分母中约掉。取 c = max(x) 后最大指数变为 e^0 = 1,其余指数均 ≤1,从而保证训练稳定。配图给出了完整实现代码。
「研究」频道最新
- AI 智能体写出 4300 万行代码:Axiom 用智能体形式化验证 CFSG 定理 — SucceededMind · 2026-10-29
- MIT「AI 心灵感应」KV-cache 直传:比文字通信准确率高 40%、快 4 倍 — LucaAmb · 2026-10-29
- 用最新编码 Agent 复现论文模型全部失败,研究者反思论文写法缺陷 — charlieharris01 · 2026-10-29
- 扩散模型信息论 scaling 律:用互信息预测模型何时开始记忆训练数据 — davidad · 2026-10-29
- Amandine Flachs 上线副业项目 orbench — IgorCarron · 2026-10-29
- 闭源权重才能藏住隐藏人格?AI 圈激辩模型不可解释性论证 — aiamblichus · 2026-10-29