一般来说,通过向隐藏层或更多隐藏层添加更多节点,您可以通过扩展人工神经网络获得什么?
它是否允许更精确的映射,或者它是否允许它可以识别的关系中的更微妙,或其他什么?
在机器学习中有一个众所周知的结果,它表明单个隐藏层足以逼近任何平滑的有界函数(该论文被称为"多层前馈网络是通用逼近器",它现在已有近20年的历史).但是,有几点需要注意.
单个隐藏层可能需要任意宽.
这没有说明可以找到近似的容易程度; 一般来说,大型网络难以正确训练并且经常成为过度拟合的牺牲品(例外的是所谓的"卷积神经网络",其实际上仅用于视力问题).
这也没有说明代表的效率.有些函数需要指数数量的隐藏单元(如果使用一个图层完成),但可以更好地扩展到更多图层(有关此读取缩放学习算法的更多讨论,可用于AI)
深度神经网络的问题在于它们甚至更难训练.你最终将非常小的渐变反向传播到较早的隐藏层并且学习并不是真正去任何地方,特别是如果权重被初始化为小(如果你将它们初始化为更大的幅度,你经常陷入糟糕的局部最小值) .有一些"预训练"的技术,就像Geoff Hinton 在谷歌技术讲座中所讨论的那样,试图解决这个问题.
这是一个非常有趣的问题,但回答并不容易.这取决于您尝试解决的问题以及您尝试使用的神经网络.有几种神经网络类型.
我一般不太清楚,更多的节点等于更高的精度.研究表明,您大多只需要一个隐藏层.节点的数量应该是解决问题所需的最小节点数.如果你没有足够的 - 你将无法达成解决方案.
另一方面 - 如果您已经达到了解决方案的好处节点数量 - 您可以添加越来越多的节点,您将不会在结果估算中看到任何进一步的进展.
这就是为什么有这么多类型的神经网络.他们试图解决不同类型的问题.所以你有NN来解决静态问题,解决时间相关的问题等等.节点的数量并不像它们的设计那么重要.
当您有隐藏层时,您正在创建输入的组合功能.那么,现有输入的更多功能,还是通过组合现有功能的高阶功能,可以更好地解决问题吗?这是标准前馈网络的权衡.
您有理论上的保证,任何函数都可以由具有两个隐藏层和非线性激活的神经网络表示.
此外,如果您不确定适当的拓扑,请考虑使用其他资源进行增强,而不是添加更多节点.