您的位置:首页 > 其它

ResNet: Deep Residual Learning for Image Recognition 论文阅读

2018-02-07 12:30 731 查看

ResNet: Deep Residual Learning for Image Recognition

作者:Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun

Microsoft Research


[pdf] [github]

0. 简介

深度神经网络难于训练,作者提出的residual learning优化起来更加容易,实验中的结果证明它也可以提升accuracy。基于此作者设计的resnet在ImageNet比赛获得了3.57% test error,并一举拿下了获得ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation的第一名。同时文中在cifar-10上成功的训练了1000层的cnn,同样是很惊人的结果。

1. Motivation

有代表性的几个研究团队,在Imagnet中竞赛的都不约而同的使用了“超级深”的网络,作者提出:

Is learning better networks as easy as stacking more layers?

首先考虑梯度稳定性,现在的优化技术(标准的初始化和正则化)可以确保几十层的网络能够收敛;另外degradation problem才是更严重的问题:随着神经网络深度的增加,精确度开始饱和,然后会迅速的变差。出人意料的,这样一种退化,并不是过拟合导致的,并且增加更多的层匹配深度模型,会导致更多的训练误差。训练精度的退化表明,不是所有的系统都同样容易优化。



如图,随着layer层数的增加,训练误差与测试误差在整个训练过程中都更高,即退化现象。

综上,既然identity mapping难以学习,容易产生退化现象,那么通过学习残差函数:

f(x)=H(x)-x


此时原最优解映射H(x)就可以改写成F(x)+x,文中假设残差映射跟原映射相比更容易被优化。



2.网络结构

Identity Mapping vs projection

y=F(x,Wi)+x−−−−−−(1)y=F(x,Wi)+x−−−−−−(1)

y=F(x,Wi)+Wsx−−−−(2)y=F(x,Wi)+Wsx−−−−(2)

作者类似VGG网络的方法进行设计,如果特征图大小不变,则卷积核数量相同,如果大小减半则卷积核数量翻倍,这样可以保持每层的计算量。文中比较了两个策略:

维度不变时仍然使用自身映射,对于维度的增加用零来填补空缺。此策略不会引入额外的参数;

projection(公式2)被用来匹配尺寸(靠1×1的卷积完成)。

对于这两种选项,当快捷连接在两个不同大小的特征图谱上出现时,用stride=2来处理。

文中提到的网络结构如下:



bottleneck结构



文中巧妙的利用1*1的卷积来控制featuremap的维度,从而控制计算量。表1中详细的阐明了文中设计到的resnet结构:



3. 实验

作者首先比较了不同深度的resnet和plainnet之间的区别:

如图,更浅的plainnet中获得了更少的train/test error,说明了退化现象的存在。作者指出更深的网络的收敛率更低,通过更多的训练iter不能解决上述问题。在resnet中,没有出现退化现象,还带来了效果的提升。





接下来作者比较了identity 与projection:

A 零填充用来增加维度

B projection用来增加维度,其他identity。

C 所有的都是projection



结果现实C略优于B,证明了projection不是解决退化问题的关键。

最终ensemble的结果3.57%top-5 test error rate。其中 ResNet-152 单模型的结果已经优于其他的ensemble结果了,足以证明ResNet的有效性。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习
相关文章推荐