1

在反向传播训练中,在沿着误差面梯度下降的过程中,隐藏层中具有大量神经元的网络可能会陷入局部最小值。我已经读过在所有情况下将权重重新初始化为随机数最终会避免这个问题。这意味着始终存在一组“正确”的初始权重值。(假设这是安全的吗?)

我需要找到或制作找到它们的算法。

我试过用谷歌搜索算法,尝试自己设计它,但无济于事。任何人都可以提出解决方案吗?也许我可以搜索的算法名称?

注意:这是一个常规的前馈 3 层卷饼 :)

注意:我知道已经尝试为此目的使用 GA,但这需要在每次迭代中重新训练网络,当它变得足够大时,这会耗费时间。

提前致谢。

4

1 回答 1

4

遗憾的是,永远无法保证您不会陷入局部最优。除非您可以证明您正在尝试优化的函数的某些属性,否则存在局部最优并且爬山方法将成为它们的牺牲品。(通常,如果你能证明你需要证明的东西,你也可以选择比神经网络更好的工具。)

一种经典的技术是逐渐降低学习率,然后增加它,然后慢慢地把它拉下来,再一次,几次。提高学习率会降低算法的稳定性,但会赋予算法跳出局部最优的能力。这与模拟退火密切相关。

我很惊讶谷歌在这里没有帮助你,因为这是一个有许多已发表论文的主题:尝试结合神经网络和反向传播使用“局部最小值”和“局部最小值问题”等术语。您应该看到许多对改进的反向传播方法的引用。

于 2013-07-02T15:45:10.763 回答