为什么当您将所有权重初始化为相同的值(例如 0.5)时反向传播不起作用,但在给定随机数时工作正常?
尽管权重最初是相同的,但算法不应该计算误差并从那里开始工作吗?
为什么当您将所有权重初始化为相同的值(例如 0.5)时反向传播不起作用,但在给定随机数时工作正常?
尽管权重最初是相同的,但算法不应该计算误差并从那里开始工作吗?
对称破缺。
如果所有权重都以相等的值开始,并且如果解决方案需要开发不相等的权重,则系统永远无法学习。
这是因为误差通过与权重值成比例的权重传播回来。这意味着所有直接连接到输出单元的隐藏单元将获得相同的误差信号,并且由于权重的变化取决于误差信号,因此从这些单元到输出单元的权重必须始终相同。系统从一种不稳定的平衡点开始,保持权重相等,但它高于误差面上的一些相邻点,一旦移动到其中一个点,它就永远不会返回。我们通过使用小的随机权重启动系统来解决这个问题。在这些条件下,不会出现这种对称性问题。
要添加到蒂埃里的答案,您可以将误差视为权重向量的函数,即您希望最小化反向传播算法通过查看一个点的局部邻域并查看哪个方向会导致较小的误差来工作。然后,这将为您提供局部最小值。
您希望它是全局最小值,但您无法保证找到它。如果你的表面有几个局部最小值,那么你可能会遇到麻烦。
但是,如果它只有几个,那么蒂埃里的策略应该起作用 - 通过从随机选择的点开始执行多次局部最小值搜索应该会增加找到全局最小值的机会。
在只有一个最小值的情况下,任何初始权重向量都会引导您找到它。