Networking 尝试实现一种求解异或的神经网络

Networking 尝试实现一种求解异或的神经网络,networking,artificial-intelligence,backpropagation,Networking,Artificial Intelligence,Backpropagation,我希望这里一些更有经验的用户能给我一些建议。 我正在实现一个具有2个输入、2个隐藏节点和1个输出的神经网络 我在隐藏层和输出上都使用了sigmoid激活函数,我使用的是反向传播。我相当肯定我正确地理解了这个理论。我有程序计算梯度,更新权重和偏差,我使用动量和强度变量进行调整 使用多层的目的是解决非线性可分问题,但到目前为止,我只能解决线性可分和或布尔函数。我尝试过各种不同的动量和力量设置,但都没有效果 对于所有4个变量,我通常的输出总是完全相同的。有一段时间它接近0.55,直到我使用设置,现在它

我希望这里一些更有经验的用户能给我一些建议。 我正在实现一个具有2个输入、2个隐藏节点和1个输出的神经网络

我在隐藏层和输出上都使用了sigmoid激活函数,我使用的是反向传播。我相当肯定我正确地理解了这个理论。我有程序计算梯度,更新权重和偏差,我使用动量和强度变量进行调整

使用多层的目的是解决非线性可分问题,但到目前为止,我只能解决线性可分和或布尔函数。我尝试过各种不同的动量和力量设置,但都没有效果

对于所有4个变量,我通常的输出总是完全相同的。有一段时间它接近0.55,直到我使用设置,现在它们都输出0.9。如果我去掉偏差,第一个值变为零,但第四个值不是


有什么建议吗

来回答我自己的问题

经过多次尝试和错误,我放弃了谨慎,尝试使用tanh(x)代替sigmoid。。只需轻轻一点,它就成功了

如果其他任何人一直在与这些网络之一斗争,它可能对你有用

导数为(1-tanh(x))(1+tanh(x))