数值稳定的softmax

数值稳定的softmax,第1张

数值稳定的softmax

softmax exp( x )/ sum(exp( x
))实际上在数字上表现良好。它只有正数项,因此我们不必担心重要性下降,并且分母至少与分子一样大,因此可以保证结果介于0到1之间。

唯一可能发生的事故是指数溢出或溢出。 x 的单个元素上溢或所有元素的下溢将使输出或多或少地无用。

但是很容易通过使用对任何标量c都成立的恒等式softmax( x* )= softmax( x + c)来防范这一点:从 x
减去max( x )会留下一个只有非正项的向量,排除上溢和至少一个为零的元素排除了消失的分母(某些但并非全部入口的下溢是无害的)。
*

脚注:从理论上说,在和灾难性事故是可能的,但你需要一个 荒谬的 条款数。例如,即使使用只能解析3个小数的16位浮点数(相比于“正常”
64位浮点数的15个小数点),我们也需要2 ^ 1431(〜6 x 10 ^ 431)和2 ^
1432得到的总和减少两倍



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5653853.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存