1个具有1000个神经元的隐藏层与10个具有100个神经元的隐藏层


13

这些类型的问题可能取决于问题,但是我试图找到研究来解决这个问题,即隐藏层的数量及其大小(每层中神经元的数量)是否真的很重要。

所以我的问题是,例如,是否有1个包含1000个神经元的大隐藏层与10个包含100个神经元的隐藏层真的重要吗?

Answers:


12

基本上,具有多层(又称为深度网络)使您的网络更渴望识别输入数据的某些方面。例如,如果您有房屋的详细信息(大小,草坪大小,位置等)作为输入,并希望预测价格。第一层可以预测:

  • 面积大,价格高
  • 卧室少,价格低

第二层可以得出结论:

  • 大面积+少量卧室=大卧室= +-效果

是的,一层还可以“检测”统计信息,但是它将需要更多的神经元,因为它不能依靠其他神经元来执行检测该统计信息所需的总计算的“部分”。

看看这个答案


非常感谢您的回答。为了澄清一下,当您写“它使您的网络[...]”时,您是指我的隐藏层很多,每个隐藏层的神经元更少,而不是更少的神经元吗?
斯蒂芬·约翰逊

@StephenJohnson糟糕,我编辑了问题。我指的是深度网络(多层)。
Thomas W

好的答案,再次感谢。也许我应该在另一个线程中继续进行此操作,但是您认为同一种推理适用于递归神经网络(例如GRU或LSTM)吗?
斯蒂芬·约翰逊

@StephenJohnson是指一个分层的递归网络还是多层的递归网络,或者是因为它们的递归连接?
Thomas W

我的意思是说,一般来说,由于它们具有经常性的连接,允许它们在更远的距离上映射上下文,因此像常规前馈网络一样,这种网络是否可以从Deep中受益?也许无法像这样进行比较,因为在使用顺序数据(例如音频)时通常会使用循环网络。
斯蒂芬·约翰逊

4

有很多方面。

1.训练: 由于逐渐消失的梯度问题,训练深网是一项艰巨的工作。因此,不建议构建10x100神经网络。

2.训练有素的网络性能:

  • 信息丢失: 神经网络的经典用法是分类问题。这意味着我们要从数据中获得一些定义明确的信息。(例如,图片中是否有面孔。)因此,分类问题通常输入很多,而输出很少,隐藏层的大小从输入到输出逐渐减小。但是,我们使用较少的神经元逐层丢失信息。(即,我们无法基于上面或上面没有面孔的事实来复制原始图像。)因此,如果输入的大小为(假设)为1000,则必须知道使用100个神经元会丢失信息。
  • 信息复杂性:但是,更深的网络(如Tomas W提到的)可以从输入数据中获取更复杂的信息。尽管这样,不建议使用10个完全连接的层。建议使用卷积/ relu / maxpooling或其他类型的图层。最火的层可以压缩输入的某些基本部分。(例如,图片的特定部分中有任何线条)第二层可以说:图片中此位置有特定的形状。等等

因此,较深的网络更“聪明”,但10x100的网络结构是一个不错的选择。


1

如果您要解决的问题是线性可分离的,那么1000个神经元中的一层可以比100个神经元中的每10个层做得更好。如果问题是非线性的而不是凸的,那么您需要深度神经网络。


2
如果问题是线性可分离的,那么您根本不需要隐藏的层
Amedeo Baragiola 18/12/24

0

我认为您对神经网络的基本知识感到困惑。每层都有单独的激活功能和输入/输出连接权重。

第一个隐藏层的输出将乘以权重,然后在下一层中的激活函数进行处理,依此类推。单层神经网络仅用于简单任务,深层神经网络的性能远胜于单层神经网络。

但是,如果您的应用程序不是很复杂,则不要使用多于层的内容。总之,100个神经元层并不意味着比10层x 10个神经元更好的神经网络,但是10层是虚构的,除非您要进行深度学习。从隐藏层中的10个神经元开始,然后尝试添加层或在同一层中添加更多神经元以查看差异。多层学习将更容易,但是需要更多的培训时间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.