神经网络训练时是否可以将全部参数初始化为0?
对于逻辑回归把全部参数初始化0是可以的,但在神经网络中,把参数初始化为0梯度下降算法将不会起作用
在神经网络中,参数初始化为0分为三种情况:
1.将权重w初始化为0,将偏置b初始化为0
同一隐藏层的所有神经元的输出都是一致的,对于后期不同的batch,每一隐藏层的权重都能更新,但是存在每一隐藏层的隐藏神经元的权重都是一致的,多个隐藏神经元的作用相当于一个神经元
2.将权重w初始化为0,将偏置b随机初始化
会出现参数更新慢,梯度消失,梯度爆炸等问题
3.将权重和偏置都随机初始化
参数都能更新
参数初始化的方法
整个大型前馈神经网络无非就是一个超级大的映射,将原始样本空间映射到类别空间。如果原始样本空间和类别空间差距较大,比如原始样本空间十分稀疏,类别空间十分稠密,那么在类别空间中得到的用于反向传播的误差对于样本空间根本就是微不足道的,模型训练非常缓慢;反过来如果样本空间十分稠密,类别空间十分稀疏,那么类别空间中得到的用于反向传播的误差对于样本空间就是爆炸性的,导致模型发散震荡,无法收敛。因此,就是要让原始样本空间和类别空间的方差尽量一样大。
1.Xavier初始化
2.He初始化