关于sigmod**函数图像不是以0为中心的问题探讨
这个问题之前也遇到过,没有深究,最近一位网友向我询问此事,我总结如下:
首先我们要知道反向传播的流程:
1、概念:
前项传播:
反向传播:
反向传播的思想其实就是,对于每一个训练实例,将它传入神经网络,计算它的输出;然后测量网络的输出误差(即期望输出和实际输出之间的差异),并计算出上一个隐藏层中各神经元为该输出结果贡献了多少的误差;反复一直从后一层计算到前一层,直到算法到达初始的输入层为止。此反向传递过程有效地测量网络中所有连接权重的误差梯度,最后通过在每一个隐藏层中应用梯度下降算法来优化该层的参数(反向传播算法的名称也因此而来)。
权重更新方式是发生在反向更新阶段,过程:,对于神经元A来说,wi更新的方向和后几项都有关系,先看超参数,他是人为规定的,默认值,所以学习率可以不考虑;再看最后两位乘积项,这个对于神经元A来说,它是神经元A的误差表示,在某一次反向传播也是不变的,也不考虑,所以w值的更新方向只与值有关,这个值是上一层神经元的输入值,即经过了sigmod函数**过,所以肯定是正值,那么可以得出结论:在某一次反向传播时,对于神经元A来说,w1、w2..改变的方向是统一的,或正或负。如果你的最优值是需要w1增加,w2减少,那么只能走z字形才能实现。
参考资料:
https://zhuanlan.zhihu.com/p/32714733
https://zhuanlan.zhihu.com/p/25110450
https://liam.page/2018/04/17/zero-centered-active-function/