通过Log-Sum-Exp 技巧,上述表达式可以改写为: 其中: 原理解析 减去c可以防止exi−c的值变得过大或过小。 最后加回c可以保证结果的准确性。 2. 为什么需要 Log-Sum-Exp 技巧? 对数和指数运算中的数值不稳定性 在计算∑i=1nexi时,可能会遇到以下问题: ...
return y / y.sum() x = np.array([1, -10, 1000]) print(bad_softmax(x)) 1. 2. 3. 4. 5. 6. ... RuntimeWarning: overflow encountered in exp ... RuntimeWarning: invalid value encountered in true_divide array([ 0., 0., nan]) 1. 2. 3. 接下来进行上面的优化,并进行测试:...