【发布时间】:2018-03-04 09:46:16
【问题描述】:
目前我正在尝试通过阅读书籍来学习如何使用神经网络,但主要是互联网教程。
我经常看到“XOR 是神经网络的‘Hello World’”。
但这里有一件事:一个教程的作者说,对于计算 XOR 值的神经网络,我们应该使用 1 个隐藏层和 2 个神经元。他还使用带有增量的反向传播来调整权重。
我实现了这个,但即使在 100 万个 epoch 之后,我也遇到了一个问题,即网络被输入数据 1 和 1 卡住了。应该有“0”作为答案,但答案通常是 0.5something。我检查了我的代码,它是正确的。
如果我尝试在隐藏层中再添加 1 个神经元,网络将在约 50 000 个 epoch 后成功计算 XOR。
同时有人说“异或不是一件小事,我们应该使用2-3层或更多层的网络”。为什么?
拜托,如果异或产生了这么多问题,也许我们不应该将它用作神经网络的“hello world”?请解释发生了什么。
【问题讨论】:
-
引用:“我检查了我的代码,它是正确的。”如果您自己的代码没有按照您的意愿执行,那么根据定义,它是不正确的。很抱歉让您分心。继续... :-)
-
看有很多关于异或神经网络应该是什么样子的意见。其中之一是我们应该使用 3 个神经元——就像我一样。如果您有一些建设性的想法 - 请分享。
标签: machine-learning neural-network