残差网络笔记,克服网络退化

了解残差块非常容易。 在传统的神经网络中,每一层都进入下一层。 在具有残差块的网络中,每一层都馈入下一层,并直接进入约2-3跳远的层。但是,我们首先要了解为什么首先需要它,为什么它如此重要以及它与某些其他现有技术架构有多相似的直觉。 对于残差块为何如此出色以及为什么以及为什么它们是可以使神经网络显示各种任务的最先进性能的关键思想之一,有多种解释。 在深入研究细节之前,这里是一张残留块实际外观的图片。

在这里插入图片描述

我们知道神经网络是通用函数逼近器,并且精度随着层数的增加而增加。

但是添加的层数有限,导致精度提高有限。因此,如果神经网络是通用函数逼近器,那么它应该能够学习任何单纯形或复杂函数。

但是事实证明,由于诸如梯度消失和维数诅咒之类的问题,如果我们拥有足够深的网络,它可能将无法学习诸如身份函数之类的简单函数。现在,这显然是不可取的。

同样,如果我们仍然继续增加层数,我们将看到精度将在某一点开始饱和并最终降低。并且,这通常不是由于过拟合造成的。因此,似乎较浅的网络要比较深的网络学习得更好,这很违反直觉。但这是在实践中看到的,通常被称为降级问题。

在没有根源导致退化问题和深度神经网络无法学习身份功能的情况下,让我们开始考虑一些可能的解决方案。在降级问题中,我们知道较浅的网络要比较深的网络(添加了很少的层)的性能更好。因此,为什么不跳过这些额外的层,并且至少匹配浅层子网的准确性。但是,如何跳过图层?

您可以使用跳过连接或剩余连接来跳过几层的训练。这就是我们在上图中看到的。实际上,如果您仔细观察,我们可以仅依靠跳过连接来直接学习身份功能。这就是为什么跳过连接也称为身份快捷方式连接的确切原因。解决所有问题的一种方法!

但是为什么称其为残差?残留物在哪里?是时候让我们内部的数学家浮出水面了。让我们考虑一个神经网络块,其输入为x,我们想学习真实分布H(x)。让我们将两者之间的差异(或残差)表示为

R(x) = Output — Input = H(x) — x

或者

H(x) = R(x) + x

我们的残差块总体上是在尝试学习真实的输出H(x),如果仔细观察上图,您将意识到,由于x导致了身份连接,因此各层实际上正在尝试学习残差,R(x)。综上所述,传统网络中的层正在学习真实输出(H(x)),而残差网络中的层正在学习残差(R(x))。因此,名称为:残渣块。

还已经观察到,学习输出和输入的残差比仅输入更容易。另外一个优势是,我们的网络现在可以通过简单地将残差设置为零来学习身份功能。而且,如果您真正了解了反向传播以及随着层数的增加而消失的梯度问题变得多么严重,那么您可以清楚地看到,由于这些跳过连接,我们可以将更大的梯度传播到初始层,使我们能够训练更深层次的网络。下图显示了如何为最佳梯度流布置残差块和标识连接。已经观察到,使用批量归一化的预激活通常可获得最佳结果(即,下图中最右边的残留块给出了最有希望的结果)。

在这里插入图片描述

除了上面已经讨论过的残差块和ResNets,还有更多的解释。在训练ResNets时,我们要么在残差块中训练图层,要么使用跳过连接跳过对这些图层的训练。因此,对于不同的训练数据点,将根据错误在网络中的反向流动方式,以不同的速率对网络的不同部分进行训练。可以将其视为在数据集上训练不同模型的集合并获得最佳的准确性。

在这里插入图片描述
也可以从乐观的角度看待一些残留块层中的跳过训练。通常,我们不知道神经网络所需的最佳层数(或剩余块数),这可能取决于数据集的复杂性。通过向我们的网络添加跳过连接,而不是将层数视为重要的超参数进行调整,我们允许网络跳过对无用的层的培训,这些层不会为总体准确性带来任何价值。在某种程度上,跳过连接使我们的神经网络具有动态性,因此可以在训练过程中最佳地调整层数。跳过层之间的连接的想法最早是在高速公路网络中引入的。公路网与闸门之间的跳过连接可控制通过闸门传递多少信息,并且可以训练这些闸门有选择地打开。在LSTM网络中也可以看到这种想法,该网络控制着从网络看到的过去数据点流来的信息量。这些门的工作类似于从先前看到的数据点控制内存流。下图显示了相同的想法。
在这里插入图片描述

类似于LSTM块残留块基本上是高速公路网络的一种特殊情况,其跳过连接中没有任何闸门。本质上,残差块允许内存(或信息)从初始层流到最后一层。尽管跳过连接中没有闸门,但残差网络在实践中的表现与任何其他高速公路网络一样好。在结束本文之前,下图是如何将所有剩余块的集合完整地集成到ResNet中的图像。

下图显示了残差块的多种解释。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值