softmax
softmax用于处理多项式分布的概率, softmax(x)i=exp(xi)sumnj=1exp(xj)
这里考虑一个计算的基本问题:overflow和underflow,超出了数据类型范围的最大值和低于了数据类型范围的最小值。对于softmax上式,假定有每个 xi 都为常数 c ,此时在数值计算中会出现两种极端:
- 当
c 为很大的负数,公式分母会为0,计算结果无意义- 当
c
为很大的正数时,
exp(c) 会overflow 解决这个问题的办法是,让 softmax(z) 的变量 z:=x−maxixi
BeyondGradient:Jacobian/Hessian
- 当
c
为很大的正数时,