当我们在训练一个神经网络的时候,参数的随机初始化是非常重要的,对于逻辑回归来说,把参数初始化为0是很ok的。但是对于一个神经网络,如果我们将权重或者是所有参数初始化为0,梯度下降算法将不会起到任何作用。
1. 为什么LR参数初始化为0是ok的?
交叉熵与sigmoid的连用使得反向传播时,Loss对sigmoid的输入求偏导时,直接可以得到a-y,进而对a中的w求偏导时,梯度就只和x有关了,所以w初始化为0,与梯度更新并不影响。
2. 为什么神经网络的权重或所有参数初始化为0,梯度下降不再work?
普通神经网络中,如果将权值初始化为 0 ,或者其他统一的常量,会导致后面的激活单元具有相同的值,所有的单元相同意味着它们都在计算同一特征,网络变得跟只有一个隐含层节点一样,这使得神经网络失去了学习不同特征的能力!
