使用 Sigmoid 而不是 Tanh 激活函数失败 - 神经网络

Using Sigmoid instead of Tanh activation function fails - Neural Networks

我正在查看以下内容code from this blog

它提供了同时使用 sigmoidtanh 激活函数的选项。

异或测试似乎可以很好地与 tanh 函数一起产生 ~ (0,1,1,0)

但是在更改为 sigmoid 后我得到了错误的输出 ~ (0.5,0.5,0.5,0.5)

我已经在网上找到 another piece of code 并尝试了这个,但出现了完全相同的问题。

似乎唯一改变的是激活函数(及其导数)。改变这个是否需要其他改变,比如反向传播?

非常感谢您的帮助!

看起来你使用的模型没有训练偏见。 tanhsigmoid 之间的唯一区别是缩放和偏移。学习新的缩放将通过权重完成,但您还需要学习补偿新的偏移量,这也应该通过学习偏差来完成。