为什么权重和偏差的初始化应选择在0附近?


13

我读到这个:

为了训练我们的神经网络,我们将每个参数W(l)ijWij(l)和每个b(l)ibi(l)初始化为接近零的小随机值(根据Normal(0,ϵ2)Normal(0 ,ϵ2)分布一些小ϵϵ,例如0.01)

斯坦福大学深度学习教程 在第7款的BP算法

我不明白的是为什么权重或偏差的初始化应该在0左右

Answers:


11

假设数据归一化比较合理,则权重的期望值应为零或接近零。因此,将所有初始权重都设置为零可能是合理的,因为如果初始权重实际上应该是负权重,那么正负权重还会进一步增加,反之亦然。但是,这不起作用。如果所有权重都相同,则它们都将具有相同的误差,并且该模型将不会学习任何东西-神经元之间没有不对称的来源。

相反,我们可以做的是使权重非常接近零,但通过将其初始化为较小的非零数字来使权重不同。这是您链接的教程中建议的内容。它具有全零初始化的相同优势,因为它接近“最佳猜测”期望值,但对称性也已被破坏,足以使算法起作用。

这种方法还有其他问题。较小的数字不一定会更好地工作,特别是在神经网络较深的情况下。反向传播中计算出的梯度与权重成正比;极小的权重导致极小的梯度,并且可能导致网络花费大量,更长的时间来训练或永远无法完成。

sq[RŤdd[-1个d1个d]


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.