我对神经网络的回归感兴趣。
具有零隐藏节点+跳过层连接的神经网络是线性模型。
相同的神经网络又有隐藏的节点呢?我想知道跳过层连接的作用是什么?
直观地讲,如果您包括跳过层连接,那么最终模型将是线性模型+某些非线性部分的总和。
向神经网络添加跳过层连接有什么优点或缺点?
我对神经网络的回归感兴趣。
具有零隐藏节点+跳过层连接的神经网络是线性模型。
相同的神经网络又有隐藏的节点呢?我想知道跳过层连接的作用是什么?
直观地讲,如果您包括跳过层连接,那么最终模型将是线性模型+某些非线性部分的总和。
向神经网络添加跳过层连接有什么优点或缺点?
Answers:
我玩游戏已经很晚了,但是我想发贴来反映卷积神经网络中有关跳过连接的一些最新发展。
微软研究团队最近赢得了ImageNet 2015竞赛的冠军,并发布了技术报告“ 深度残差学习进行图像识别”,描述了他们的一些主要思想。
他们的主要贡献之一就是深残留层的概念。这些深层残留层使用跳过连接。使用这些深层残差层,他们能够为ImageNet 2015训练152层的卷积网。他们甚至为CIFAR-10训练了1000层的卷积网。
激励他们的问题如下:
当更深层的网络能够开始融合时,就会出现降级问题:随着网络深度的增加,精度达到饱和(这可能不足为奇),然后迅速降级。出乎意料的是,这种降级不是由过度拟合引起的,并且在适当深度的模型中添加更多层会导致更高的训练误差 ...
这个想法是,如果您采用“浅”网络并堆叠在更多的层上以创建更深的网络,则深层网络的性能至少应与浅层网络一样好,因为深层网络可以学习到准确的浅层网络。通过将新的堆叠层设置为标识层来实现网络连接(实际上,我们知道,如果不使用任何架构先验或当前的优化方法,这极不可能发生)。他们观察到情况并非如此,当他们在较浅的模型上堆叠更多的层时,训练错误有时会变得更糟。
因此,这促使他们使用跳过连接并使用所谓的深层残差层,以允许其网络学习与标识层的偏差,因此,术语“ 残差,残差”在此表示与标识的差异。
以这种方式,如果确实是最佳的或局部最佳的,则通过跳过连接使用深残留层允许它们的深网学习近似的身份层。实际上,他们声称自己的剩余层:
我们通过实验(图7)表明,所学习的残差函数通常具有较小的响应
至于为什么这确实起作用,他们没有确切的答案。身份层是最佳的可能性很小,但是他们认为使用这些剩余层有助于解决问题,并且给定与身份映射比较的参考/基准,学习新功能比“从头开始”学习一个新功能要容易。而不使用身份基准。谁知道。但是我认为这将是对您的问题的一个很好的答案。
顺便说一句,事后看来:sashkello的答案更好,不是吗?
从理论上讲,跳过层连接不应提高网络性能。但是,由于复杂的网络很难训练且容易过拟合,因此当您知道数据具有强大的线性成分时,将其显式添加为线性回归项可能非常有用。这暗示着模型朝着正确的方向……此外,由于它以线性+扰动形式显示模型,因此更易于解释,因为它揭示了网络背后的一些结构,通常仅将其视为黑匣子。
我以前的神经网络工具箱(最近我大部分时间使用内核计算机)使用L1正则化来修剪多余的权重和隐藏的单位,并且还具有跳过层连接。这样做的好处是,如果问题本质上是线性的,则隐藏单元往往会被修剪,而您剩下的是线性模型,这清楚地告诉您问题是线性的。
正如sashkello(+1)所建议的那样,MLP是通用逼近器,因此跳过层连接不会改善无限数据和无限数量隐藏单元的结果(但是什么时候可以达到该限制?)。真正的优点是,如果网络体系结构很好地匹配问题,则可以更轻松地估算权重的好值,并且您可以使用较小的网络并获得更好的泛化性能。
但是,与大多数神经网络问题一样,通常找出它是否对特定数据集有用或有害的唯一方法是尝试并查看(使用可靠的性能评估程序)。
基于Bishop 5.1。前馈网络功能:概括网络体系结构的一种方法是包括跳过层连接,每个连接都与相应的自适应参数关联。例如,在两层(两个隐藏层)网络中,这些将直接从输入到输出。原则上,具有S形隐藏单元的网络始终可以通过使用足够小的第一层权重来模拟跳过层连接(针对有界输入值),该权重在其工作范围内有效地为线性的,然后用较大的值进行补偿从隐藏单位到输出的权重值。