文章目录

  • 前言
  • ResNet
  • 为什么有效
  • ResNet结构
  • 参考


前言

残差网络(ResNet)是深度学习的一个重要的概念,在许多关于深度学习的任务中都能够找到它的身影。在这篇文章当中,结合一些文献对ResNet进行分析,介绍其思想以及有效性的一些可能解释。在开始之前,先引出以下两个问题:

  1. 卷积神经网络的深度为什么重要?
    因为卷积神经网络的层数越多,意味着能够提取不同级别的特征越丰富。越深的网络提取的特征越抽象,越具有语义信息。
  2. 增加网络深度是否可以提升性能?
    对于原来的神经网络,如果简单地增加网络深度,会导致梯度弥散或梯度爆炸。地图弥散或梯度爆炸使得模型难以收敛,这个问题很大程度上已经被normalization和正则化方法控制了,使得深度神经网络可以收敛。但是深度神经网络面临一个问题是网络退化问题,如下图所示。从图中可以看出56层的网络性能比20层网络性能要差。在论文当中说明不是过拟合引起的,因为更深层网络在训练集上的表现也比不上浅层的神经网络。这一点是不符合常理:假设存在resnet优化算法 resnet 优点_拟合层网络resnet优化算法 resnet 优点_神经网络_02,可以构造更深的resnet优化算法 resnet 优点_resnet优化算法_03层的网络resnet优化算法 resnet 优点_拟合_04,按理说更深的网络应该取得更好的效果,因为网络resnet优化算法 resnet 优点_拟合_04后面添加的resnet优化算法 resnet 优点_人工智能_06层神经网络可以看作是网络resnet优化算法 resnet 优点_神经网络_02resnet优化算法 resnet 优点_人工智能_06层后的恒等映射。但实际实验结果网络resnet优化算法 resnet 优点_拟合_04比网络resnet优化算法 resnet 优点_神经网络_02的效果要差。其中一个合理的猜测是对神经网络来说,恒等映射并不容易拟合。于是引出了残差网络的基本思路。
  3. resnet优化算法 resnet 优点_深度学习_11

  4. 梯度弥散/爆炸
  5. resnet优化算法 resnet 优点_resnet优化算法_12

ResNet

为了解决上述的问题,ResNet提出了拟合残差的思路,而不是直接拟合输出值,从而构造天然的恒等映射。个人认为拟合0比拟合5.1要简单多了。接下来假设神经网络的非线性单元的输入和输出维度一致,那么可以将神经网络单元要拟合的函数设为resnet优化算法 resnet 优点_人工智能_13,则resnet优化算法 resnet 优点_深度学习_14其中resnet优化算法 resnet 优点_人工智能_15为残差函数,要使得网络高层学习到一个恒等映射resnet优化算法 resnet 优点_深度学习_16,那么只需resnet优化算法 resnet 优点_深度学习_17。网络结构上添加“shortcut”即可,实现如下图所示:

resnet优化算法 resnet 优点_深度学习_18

为什么有效

  1. 前后向传播角度分析
    参考文献: Identity Mappings in Deep Residual Networks
    考虑到resnet优化算法 resnet 优点_深度学习_19这样的残差块组成前馈神经网络,为了讨论简便,假设残差块不使用任何激活函数,即:resnet优化算法 resnet 优点_神经网络_20考虑任意两个层数resnet优化算法 resnet 优点_深度学习_21,递归展开有:resnet优化算法 resnet 优点_resnet优化算法_22,那么则有resnet优化算法 resnet 优点_拟合_23根据上式,在前向传播中,输入信号可以从任意底层直接传播到高层。由于包含了一个天然的恒等映射,一定程度上可以解决网络退化问题。

在后向传播阶段,最终损失resnet优化算法 resnet 优点_人工智能_24对某底层输出的梯度可以展开为:

resnet优化算法 resnet 优点_人工智能_25


或者

resnet优化算法 resnet 优点_resnet优化算法_26


反向传播时,错误信号可以不经过任何中间权重矩阵变换直接传播到低层,一定程度上可以缓解梯度弥散问题(即便中间层矩阵权重很小,梯度也基本不会消失)。综上,可以认为残差连接使得信息前后向传播更加顺畅。

  1. 集成学习的角度
    参考文献: Residual Networks Behave Like Ensembles of Relatively Shallow Networks
  2. resnet优化算法 resnet 优点_拟合_27

  3. 梯度破碎问题
    这一点可以详细参考:The Shattered Gradients Problem: If resnets are the answer, then what is the question?
  4. 自然语言处理中的残差结构
  5. resnet优化算法 resnet 优点_人工智能_28

ResNet结构

resnet优化算法 resnet 优点_resnet优化算法_29


ResNetV2:

resnet优化算法 resnet 优点_神经网络_30

参考

  1. Deep Residual Learning for Image Recognition
  2. Identity Mappings in Deep Residual Networks
  3. Residual Networks Behave Like Ensembles of Relatively Shallow Networks
  4. The Shattered Gradients Problem: If resnets are the answer, then what is the question?
  5. 残差网络解决了什么?为什么有效