我决定在不使用任何库的情况下创建一个前馈神经网络。我对这个主题相当陌生,并且完全是自学的。
我的神经网络使用反向传播来设置权重,所有层之间的激活函数(input-hidden1-output)是一个 Sigmoid 函数。假设我尝试用我的 NN 解决一个基本问题,例如 XOr 逻辑门问题。每当我使用完整的训练集(1 和 0 的所有可能组合)时,我的 NN 都无法以能够产生所需输出的方式设置权重。似乎它总是停在中间。(在所有情况下输出约为 0.5)另一方面,当我只迭代一种类型的输入(比如说 0 和 1)时,它会很快学习。
我的成本函数、节点数、隐藏层或什么有问题吗?我会很感激一些指导的话!