初始权重导致异或函数学习神经网络停滞

Initial weights causing stagnation in XOR function learning-neural network

我的神经网络有 2 个入口变量,1 个隐藏层有 2 个神经元,输出层有一个输出神经元。当我从一些随机(从 0 到 1)生成的权重开始时,网络学习 XOR 函数非常快而且很好,但在其他情况下,网络永远不会学习 XOR 函数!你知道为什么会这样吗?我该如何克服这个问题?会涉及一些混乱的行为吗?谢谢!

这是很正常的情况,因为多层神经网络的误差函数不是凸的,优化收敛到局部最小值。

您可以只保留导致优化成功的初始权重,或者 运行 优化器从不同的权重开始多次,并保留最佳解决方案。优化算法和学习率也起着一定的作用,例如动量反向传播 and/or 随机梯度下降有时效果更好。此外,如果你添加更多的神经元,超过学习 XOR 所需的最低限度,这也会有所帮助。

存在旨在寻找全局最小值的方法,例如模拟退火,但在实践中,除了某些特定情况外,它们并不常用于神经网络优化