这些关于神经网络性能作为隐藏层数量的函数的陈述是否相互矛盾?

人工智能 神经网络 机器学习 隐藏层
2021-10-18 23:33:32

在这篇笔记中,贾斯汀·多姆克说

在实践中,神经网络似乎通常在层数不太大时找到合理的解决方案,但在使用多于 2 个隐藏层时找到较差的解决方案。

但在Bengio 的评论中,他说

很简单的。只需继续添加层,直到测试错误不再改善。

似乎有冲突。谁能解释他们为什么提出不同的建议?还是我错过了什么?

3个回答

许多问题需要两个以上的隐藏层。随机选择一篇关于深度学习的最新谷歌期刊论文,你会看到他们的网络可能有 5 个(或更多)隐藏层。

贾斯汀·多姆克(Justin Domke)为学生写了他的笔记,所以他可能试图使他的观点尽可能简单。对于学生最有可能解决的“典型”机器学习问题,两个隐藏层就足够了。但这并不能构成一个真正的实际问题。“深度”学习通常意味着两个以上的隐藏层。

隐藏层的数量是没有人确切知道的网络设计。Yoshua Bengio 的建议很常见也很简单。这不是一个数学证明,而只是一个指导方针,如果你不知道该怎么做。你只是重复,重复,直到你看到测试错误不再改善。

您的第一个链接是从 2011 年开始的,这基本上早于当前的深度学习爆炸。在过去的许多年里(AlexNet 2012,ResNet 2015),我们发现如果你继续添加层,我们通常会看到性能提高。

在此处输入图像描述

这是由于改进的训练技术和优化突破(残差连接、ReLU、dropout 等)。但请注意,结果可能会减少。特别是,看看Deep Equilibrium Models,它本质上允许我们训练(在极限等价中)无限深度的神经网络。

事实上,他们说的是同一件事:将 x 轴绘制为隐藏层的数量,将 y 轴绘制为性能(例如分类精度),那么这条曲线将具有倒 U 形。

贾斯汀的笔记显然和我上面写的一样,并补充说明曲线的最大值将在 x = 2 时发生,而本吉奥的笔记说的是同样的事情,但没有告诉你峰值可能在哪里。