Neural network 神经网络异或不收敛

Neural network 神经网络异或不收敛,neural-network,backpropagation,gradient-descent,bias-neuron,Neural Network,Backpropagation,Gradient Descent,Bias Neuron,我曾试图用myslef用Java实现一个神经网络,使之成为一个XOR门,它已经有点奏效了。当我尝试训练它时,大约有20%的时间权重收敛以产生足够好的输出(RMS

我曾试图用myslef用Java实现一个神经网络,使之成为一个XOR门,它已经有点奏效了。当我尝试训练它时,大约有20%的时间权重收敛以产生足够好的输出(RMS<0.05),但其他80%的时间没有

神经网络(可见)由2个输入(+1个偏置)、2个隐藏(+1个偏置)和1个输出单元组成。我使用的激活函数是sigmoid函数

e / ( 1 + e^-x)
它将输入值映射到0和1之间。使用的学习算法是使用RMS作为代价函数的随机梯度下降。偏置神经元的恒定输出为1。我曾尝试将学习率更改为0.1到0.01之间,但似乎无法解决问题

我让网络跟踪网络的权重和均方根值,并将其绘制在图表上。权重基本上有三种不同的行为。我只能发布三个中的一个

另外两种方法中的一种是权值收敛到一个好值,另一种是一个权值的随机摆动

我不知道这是否只是一件发生的事情,或者是否有某种方法可以解决它,所以如果你知道什么,请告诉我