跳到正文
AGI Hunt· cneuralnetwork·· 2 小时前AI 评分49

两行 PyTorch 代码实现数值稳定的 softmax:减去最大值防溢出的数学原理

两行代码写数值稳定的 softmax:减最大值防溢出的数学原理

AI 导读

两行 PyTorch 代码通过从所有 logit 中减去最大值,实现数值稳定的 softmax,避免 x 很大时 e^x 溢出为无穷大并产生 NaN。对所有 logit 减去同一常数不会改变结果,因为 e^(-c) 因子会在分子与分母中约掉;取 c = max(x) 后,最大指数变为 e^0 = 1,其余指数均 ≤1,从而保证训练稳定。

来源:AGI Hunt · agihunt.info