神经网络权重为什么不能初始化为0,而线性回归和LR可以?

线性回归基本可以是LR的简化版(论证思路上),因此本文将主要探讨两个问题:1. 为什么LR可以将权重初始化为0?2. 为什么神经网络不能将权重初始化为0?

本文参考资料:https://zhuanlan.zhihu.com/p/75879624

为什么LR可以将权重初始化为0?

神经网络权重为什么不能初始化为0,而线性回归和LR可以?_第1张图片

为什么神经网络不能将参数初始化为0?

以下图为例:
神经网络权重为什么不能初始化为0,而线性回归和LR可以?_第2张图片

情况1:w和b都初始化为0

神经网络权重为什么不能初始化为0,而线性回归和LR可以?_第3张图片
那么由于反向传播的公式,从上图一个简单反向传播可以看出,每一轮参数更新只能从后往前更新一层的参数。这且不管,而且由于初始化参数完全相同,那么上上图中的 a 1 a_1 a1 a 2 a_2 a2的值相同,因此更新的参数值也相同,而之后的迭代也是这样,即同一层的每个节点的参数值会完全相同!这个叫做隐藏神经元的对称性。而倘若同一层每个神经元输出相同,那么这样的神经网络就没有意义了。

情况2:模型所有w初始化为0,b随机初始化

从上图可以看出,这种情况下模型同样在刚开始时每轮只能从后往前更新一层的参数,但由于b的不同,在经过足够多的轮数后所有参数还是能得到更新的。但是这种方式更新较慢,且存在梯度消失、梯度爆炸等问题,通常不会这么干。

模型所有w随机初始化,b初始化为0

从上图看得出,每一层的参数的更新与其后一层的b并没有关系,因此b的初始值不会影响BP算法的效果,所有权值和b都能得到更新。

你可能感兴趣的:(夯实-机器学习,神经网络,机器学习,算法,LR,BP)