当将权重初始化为相同值时,为什么反向传播不起作用?


20

当将所有权重初始化为相同的值(例如0.5)时,为什么反向传播不起作用,但是给定随机数时,反向传播却可以正常工作?

尽管权重最初相同,但算法是否应该不计算误差并从那里开始工作?

Answers:


26

对称破坏。

如果所有权重均以相等的值开头,并且解决方案要求开发不相等的权重,则系统将永远无法学习。

这是因为误差通过权重与权重的值成比例地传播回去。这意味着直接连接到输出单元的所有隐藏单元都将获得相同的错误信号,并且由于权重的变化取决于错误信号,因此从这些单元到输出单元的权重必须始终相同。该系统从一个不稳定的平衡点开始,该平衡点使权重保持相等,但是它高于错误表面上的某些相邻点,一旦移至这些点之一,它将永远不会返回。我们通过以较小的随机权重启动系统来解决此问题。在这些条件下,不会出现这种对称性问题。


因此,NN的初始权重不仅决定其训练的速度,还可能是学习还是不学习的原因?
user1724140 2012年

2
是的,有时候,我们不仅仅训练一组重量(例如神经网络)。如果有时间,要做的一件事是创建几种不同的起始权重配置并在其上训练网络。因为有时,可能会发生一种配置最终会达到局部最优的情况,或者不幸的是权重并未真正随机化。
ThiS 2012年

这不是错误的,因为不同的输入仍然可以破坏对称性。见:open.wolframcloud.com/env/...
user3180

12

[Rñ[R

您想要的是全局最小值,但是您无法保证找到它的方法。而且,如果您的表面有几个局部最小值,那么您可能会遇到麻烦。

但是,如果只有少数几个,那么Thierry的策略应该起作用-通过从随机选择的点开始对局部最小值进行多次搜索,应该会增加找到全局最小值的机会。

在只有一个最小值的情况下-任何初始权重向量都将引导您实现这一目标。

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.