看到了上面的内容并看到了 softmax 归一化,我试图在避免溢出的同时对向量进行归一化 -
那就是如果我有一个数组
x[1], x[2] x[3], x[4], ... , x[n]
对我来说,归一化形式的元素平方和为 1.0,是通过将每个元素除以
sqrt(x[1]*x[1]+x[2]*x[2]+...+x[n]*x[n])
现在即使平方根小到足以放入浮点变量,平方和也会溢出,所以我想可以做类似的事情
s=(2*log(fabs(x[1]))+2*log(fabs(x[2]))+...+2*log(fabs(x[n])))/2
并将元素计算为
exp(log(fabs(x[1]))-s), ..., exp(log(fabs(x[n]))-s
但
以上是不正确的,因为 log(A+B) 不是 log(A)+log(B) - 现在有没有办法进行向量归一化来更好地避免溢出?