【问题标题】:Why do we need layers in artificial neural network?为什么我们需要人工神经网络中的层?
【发布时间】:2017-08-29 17:12:38
【问题描述】:
我对人工神经网络很陌生,我不明白为什么我们需要层的概念。
将每个神经元与其他一些神经元连接起来创建一种网络而不是基于分层的结构还不够吗?
例如,为了解决 XOR,我们通常需要至少 3 层,1 个输入有 2 个神经元,1+ 隐藏层有一些神经元,1 个输出层有 1 个神经元。
难道我们不能创建一个包含 2 个输入神经元(我们需要它们)和 1 个输出的网络,这些神经元通过其他神经元的网络连接起来吗?
Example of what I mean
【问题讨论】:
标签:
neural-network
artificial-intelligence
【解决方案1】:
“层”一词与您想象的不同。 总是有一个神经元“网络”。一层只是表示一组神经元。
如果我想连接 X 层和 Y 层,这意味着我将 X 层的所有神经元连接到 Y 层的所有神经元。但并非总是如此!您还可以将 X 层的每个神经元连接到 Y 层的一个神经元。有很多不同的连接技术。
但不需要图层!它只是使编码(和解释)过程变得更加容易。您可以将它们分层连接,而不是将所有神经元一个一个连接起来。说“A 层和 B 层相连”比“1,2,3,4,5 神经元都与 6,7,8,9 神经元相连”要容易得多。
如果您对“无层”网络感兴趣,请查看 Liquid State Machines:
(神经元可能看起来是分层的,但实际上不是!)
PS:我开发了一个 Javascript 神经网络库,并创建了一个在线演示,其中神经网络演变为 XOR 门 - 没有层,仅从输入和输出开始。 View it here.。您的示例图片正是您可以使用该库开发的网络类型。