sigmoid不是以0为中心造成的后果及原因

  1. 后果
    有可能导致网络收敛慢(我认为在某一层反向传播中,如果参数们本来就是都要增,都要减,那么在这一层收敛不受影响)如果参数们有的需要增有的需要减,这种情况下,收敛就像第二张图,明明可以走绿线进行收敛,但不得不走了红线,这是因为参数们只能同增或同减,那么为什么会这样呢,下面解释,(注意我们的论证都是在反向传播某一层中)

  2. 原因
    sigmoid不是以0为中心造成的后果及原因_第1张图片

权重更新的公式(它也有变形,但意思一样):sigmoid不是以0为中心造成的后果及原因_第2张图片
对于神经元A来说,wi更新的方向和后几项都有关系
先看超参数,他是人为规定的,是默认值,可以不考虑;
再看最后两位乘积项,这个对于神经元A来说,它是神经元A的误差表示,αL是损失函数,αz我认为就是表示已经反向传播完的那些层带来的参数,最后两位乘积项在某一次反向传播也是不变的,也不考虑,
所以w值的更新方向只与xi值有关,我们会有疑问为什么公式里要乘这个xi,那是因为,对wi求导,一定有一项是αf/αwi得到的系数不就是xi嘛(不会的可以看我反向传播博客),这个值是上一层神经元的输入值,即经过了sigmod函数激活过,所以肯定是正值,那么可以得出结论:在某一次反向传播时,对于神经元A来说,w1、w2…改变的方向是统一的,或正或负。所以如果你的最优值是需要w1增加,w2减少,那么只能走z字形才能实现。
sigmoid不是以0为中心造成的后果及原因_第3张图片

你可能感兴趣的:(神经网络,机器学习)