神经网络训练时是否可以将全部参数初始化为0?

考虑全连接的深度神经网络, 同一层中的任意神经元都是同构的, 它们拥有相同的输入和输出, 如果再将参数全部初始化为同样的值, 那么无论前向传播还是反向传播的取值都是完全相同的。 学习过程将永远无法打破这种对称性, 最终同一网络层中的各个参数仍然是相同的。
因此, 我们需要随机地初始化神经网络参数的值, 以打破这种对称性。 简单来说, 我们可以初始化参数为取值范围在这里插入图片描述
的均匀分布, 其中d是一个神经元接受的输入维度。 偏置可以被简单地设为0, 并不会导致参数对称的问题。
令所有权重都初始化为0这个一个听起来还蛮合理的想法也许是一个我们假设中最好的一个假设了, 但结果是错误的,因为如果神经网络计算出来的输出值都一个样,那么反向传播算法计算出来的梯度值一样,并且参数更新值也一样(w=w−α∗dw)。更一般地说,如果权重初始化为同一个值,网络即是对称的, 最终所有的神经元最后都会变成识别同样的东西。

猜你喜欢

转载自blog.csdn.net/gubeiqing/article/details/111592996