神经网络权重为什么不能初始化为0,而线性回归和LR可以?
线性回归基本可以是LR的简化版(论证思路上),因此本文将主要探讨两个问题:1. 为什么LR可以将权重初始化为0?2. 为什么神经网络不能将权重初始化为0?本文参考资料:https://zhuanlan.zhihu.com/p/75879624为什么LR可以将权重初始化为0?为什么神经网络不能将参数初始化为0?以下图为例:情况1:w和b都初始化为0那么由于反向传播的公式,从上图一个简单反向传播可以看
·
线性回归基本可以是LR的简化版(论证思路上),因此本文将主要探讨两个问题:1. 为什么LR可以将权重初始化为0?2. 为什么神经网络不能将权重初始化为0?
本文参考资料:https://zhuanlan.zhihu.com/p/75879624
为什么LR可以将权重初始化为0?

为什么神经网络不能将参数初始化为0?
以下图为例:
情况1:w和b都初始化为0

那么由于反向传播的公式,从上图一个简单反向传播可以看出,每一轮参数更新只能从后往前更新一层的参数。这且不管,而且由于初始化参数完全相同,那么上上图中的a1a_1a1和a2a_2a2的值相同,因此更新的参数值也相同,而之后的迭代也是这样,即同一层的每个节点的参数值会完全相同!这个叫做隐藏神经元的对称性。而倘若同一层每个神经元输出相同,那么这样的神经网络就没有意义了。
情况2:模型所有w初始化为0,b随机初始化
从上图可以看出,这种情况下模型同样在刚开始时每轮只能从后往前更新一层的参数,但由于b的不同,在经过足够多的轮数后所有参数还是能得到更新的。但是这种方式更新较慢,且存在梯度消失、梯度爆炸等问题,通常不会这么干。
模型所有w随机初始化,b初始化为0
从上图看得出,每一层的参数的更新与其后一层的b并没有关系,因此b的初始值不会影响BP算法的效果,所有权值和b都能得到更新。
更多推荐



所有评论(0)