资讯专栏INFORMATION COLUMN

[ResNet系] 002 ResNet-v2

JohnLui / 1158人阅读

摘要:大量实验结果证明了恒等映射的重要性。本文实验了不同形式的,发现使用恒等映射的网络性能最好,误差减小最快且训练损失最低。为了使得是恒等映射,需要调整和带权值层的位置。恒等映射形式的快捷连接和预激活对于信号在网络中的顺畅传播至关重要。

ResNet-v2

Identity Mappings in Deep Residual Networks
Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun

Caffe实现:https://github.com/binLearnin...

摘要

近期已经涌现出很多以深度残差网络(deep residual network)为基础的极深层的网络架构,在准确率和收敛性等方面的表现都非常引人注目。本文主要分析残差网络基本构件(block)中的信号传播,我们发现当使用恒等映射(identity mapping)作为快捷连接(skip connection)并且将激活函数移至加法操作后面时,前向-反向信号都可以在两个block之间直接传播而不受到任何变换操作的影响。大量实验结果证明了恒等映射的重要性。本文根据这个发现重新设计了一种残差网络基本单元(unit),使得网络更易于训练并且泛化性能也得到提升。官方实现(Torch)的源码地址:https://github.com/KaimingHe/... 。

1. Introduction

深度残差网络(ResNet)由“残差单元(Residual Units)”堆叠而成,每个单元可以表示为:

其中F是残差函数,在ResNet中,h(xl)=xl是恒等映射,f是ReLU激活函数。
在ImageNet数据集和COCO数据集上,超过1000层的残差网络都取得了最优的准确率。残差网络的核心思想是在h(xl)的基础上学习附加的残差函数F,其中很重要的选择就是使用恒等映射h(xl)=xl,这可以通过在网络中添加恒等快捷连接(skip connection / shortcut)来实现。
本文中主要着眼于分析在深度残差网络中构建一个信息“直接”传播的路径——不只是在残差单元直接,而是在整个网络中信息可以“直接”传播。如果h(xl)和f(yl)都是恒等映射,那么信号可以在单元间直接进行前向-反向传播。实验证明基本满足上述条件的网络架构一般更容易训练。本文实验了不同形式的h(xl),发现使用恒等映射的网络性能最好,误差减小最快且训练损失最低。这些实验说明“干净”的信息通道有助于优化。各种不同形式的h(xl)见图1,2,4中的灰色箭头所示。

为了构建f(yl)=yl成为恒等映射,我们将激活函数(ReLU和BN)移到权值层之前,形成一种“预激活(pre-activation)”的方式,而不是常规的“后激活(post-activation)”方式,这样就设计出了一种新的残差单元(见图1(b))。基于这种新的单元我们在CIFAR-10/100数据集上使用1001层残差网络进行训练,发现新的残差网络比之前的更容易训练并且泛化性能更好。另外还考察了200层新残差网络在ImageNet上的表现,原先的残差网络在这个层数之后开始出现过拟合的现象。

2. Analysis of Deep Residual Networks

原先的残差网络中的残差单元可以表示为:

如果h、f都是恒等映射,那么公式(1)(2)可以合并为:

那么任意深层的单元L与浅层单元l之间的关系为:

公式(4)有两个特性:(i)深层单元的特征可以由浅层单元的特征和残差函数相加得到;(ii)任意深层单元的特征都可以由起始特征x0与先前所有残差函数相加得到,这与普通(plain)网络不同,普通网络的深层特征是由一系列的矩阵向量相乘得到。残差网络是连加,普通网络是连乘
反向传播时的计算公式如下:

从公式(5)中可以看出,反向传播也是两条路径,其中之一直接将信息回传,另一条会经过所有的带权重层。另外可以注意到第二项的值在一个mini-batch中不可能一直是1,也就是说回传的梯度不会消失,不论网络中的权值的值再小都不会发生梯度消失现象。

3. On the Importance of Identity Skip Connections

首先考察恒等映射的重要性。假设将恒等映射简单的改为h(xl)=λxl,即:

如公式(3)到(4)一样递归调用公式(6),得到:

那么这种情况下的反向传播计算公式为:

假设模型是一个极深层的网络,考察第一个连乘的项,如果所有的λ都大于1,那么这一项会指数级增大;如果所有λ都小于1,那么这一项会很小甚至消失,会阻碍信号直接传播,而强制信号通过带权值的层进行传播。实验表明这种方式会导致模型很难优化。不同形式的变换映射都会妨碍信号的传播,进而影响训练进程。

3.1 Experiments on Skip Connections

考察使用不同形式映射(见图2)的网络的性能,具体结果见表1,在训练过程中的误差变化见图3。

在使用exclusive gating时,偏置bg的初始值对于网络性能的影响很大。

3.2 Discussions

快捷连接中的乘法操作(scaling, gating, 1×1 convolutions, and dropout)会妨碍信号传播,导致优化出现问题。
值得注意的是gating和1×1 convolutions快捷连接引进了更多的参数,增强了模型的表示能力,但是它们的训练误差反而比恒等映射更大,这说明是退化现象导致了这些模型的优化问题。

4. On the Usage of Activation Functions

第3章讨论了公式(1)中的h是恒等映射的重要性,现在讨论公式(2)中的f,如果f也是恒等映射的话网络性能会不会也有提升。为了使得f是恒等映射,需要调整ReLU、BN和带权值层的位置。

4.1 Experiments on Activation

下面考察多种组织方式(见图4),使用不同激活方式的网络的性能表现见表2。

BN after addition
效果比基准差,BN层移到相加操作后面会阻碍信号传播,一个明显的现象就是训练初期误差下降缓慢。
ReLU before addition
这样组合的话残差函数分支的输出就一直保持非负,这会影响到模型的表示能力,而实验结果也表明这种组合比基准差。
Post-activation or pre-activation?
原来的设计中相加操作后面还有一个ReLU激活函数,这个激活函数会影响到残差单元的两个分支,现在将它移到残差函数分支上,快捷连接分支不再受到影响。具体操作如图5所示。

根据激活函数与相加操作的位置关系,我们称之前的组合方式为“后激活(post-activation)”,现在新的组合方式称之为“预激活(pre-activation)”。原来的设计与预激活残差单元之间的性能对比见表3。预激活方式又可以分为两种:只将ReLU放在前面,或者将ReLU和BN都放到前面,根据表2中的结果可以看出full pre-activation的效果要更好。

4.2 Analysis

使用预激活有两个方面的优点:1)f变为恒等映射,使得网络更易于优化;2)使用BN作为预激活可以加强对模型的正则化。
Ease of optimization
这在训练1001层残差网络时尤为明显,具体见图1。使用原来设计的网络在起始阶段误差下降很慢,因为f是ReLU激活函数,当信号为负时会被截断,使模型无法很好地逼近期望函数;而使用预激活的网络中的f是恒等映射,信号可以在不同单元直接直接传播。我们使用的1001层网络优化速度很快,并且得到了最低的误差。

f为ReLU对浅层残差网络的影响并不大,如图6-right所示。我们认为是当网络经过一段时间的训练之后权值经过适当的调整,使得单元输出基本都是非负,此时f不再对信号进行截断。但是截断现象在超过1000层的网络中经常发生。

Reducing overfitting
观察图6-right,使用了预激活的网络的训练误差稍高,但却得到更低的测试误差,我们推测这是BN层的正则化效果所致。原来的设计中虽然也用到了BN,但归一化后的信号很快与快捷连接通道中的相加了,而相加后的信号是没有归一化的。本文新设计的预激活的单元中的所有权值层的输入都是归一化的信号。

5. Results

表4、表5分别展示了不同网络在不同数据集上的表现。使用的预激活单元的更深层的残差网络都取得了最好的成绩。

Computational Cost
本文提出的模型的计算复杂度正比于网络深度,在ImageNet数据集上,200层的残差网络使用8块GPU耗时约3周完成训练。

6. Conclusions

恒等映射形式的快捷连接和预激活对于信号在网络中的顺畅传播至关重要。
另附件介绍了各种网络的实现细节。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19630.html

相关文章

  • [ResNet] 004 WRN

    摘要:显示了残差连接可以加速深层网络的收敛速度,考察了残差网络中激活函数的位置顺序,显示了恒等映射在残差网络中的重要性,并且利用新的架构可以训练极深层的网络。包含恒等映射的残差有助于训练极深层网络,但同时也是残差网络的一个缺点。 WRN Wide Residual NetworksSergey Zagoruyko, Nikos Komodakis Caffe实现:https://github...

    hankkin 评论0 收藏0
  • [ResNet] 003 ResNeXt

    摘要:本文提出的网络名为,意为维度基数。在空间通道维度分解网络,减少冗余,可以对网络进行加速或精简。复杂度不变的情况下,随着基数的增大错误率持续减小。考察增加深度宽度基数对网络性能的提升。 ResNeXt Aggregated Residual Transformations for Deep Neural NetworksSaining Xie, Ross Girshick, Piotr ...

    kidsamong 评论0 收藏0
  • [ResNet] 005 DenseNet

    摘要:将这些需要保留的信息直接通过恒等映射进行传输,展示了中的很多层对最终的结果影响极小,可以在训练时随机丢弃部分层。得益于密集连接的方式,可以同时具有恒等映射深度监督和深度多样性的特性。 DenseNet Densely Connected Convolutional NetworksGao Huang, Zhuang Liu, Kilian Q. Weinberger, Laurens ...

    CODING 评论0 收藏0
  • [ResNet] 006 DPN

    摘要:和是两个非常重要的网络,它们显示了深层卷积神经网络的能力,并且指出使用极小的卷积核可以提高神经网络的学习能力。也有工作考察与的关系,与其相似,本文考察了与的关系。与的网络架构配置以及复杂度见表。 DPN Dual Path NetworksYunpeng Chen, Jianan Li, Huaxin Xiao, Xiaojie Jin, Shuicheng Yan, Jiashi F...

    plus2047 评论0 收藏0
  • [ResNet] 007 SENet

    摘要:前面层中的以类别无关的方式增强可共享的低层表示的质量。通过调整网络各层间的连接机制来提升深层网络的学习和表示性能。基本都是常规处理和训练设置。根据输入动态调整各通道的特征,增强网络的表示能力。 SENet Squeeze-and-Excitation NetworksJie Hu, Li Shen, Gang Sun 摘要 卷积神经网络顾名思义就是依赖卷积操作,使用局部感受区域(loc...

    huashiou 评论0 收藏0

发表评论

0条评论

JohnLui

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<