Deep Residual Learning for Image Recognition
这个就是大家所说的ResNet
——残差网络。
Motivation
很多实验都证明网络的深度对网络的效果有着很重要的影响,理论上网络层数越多,得到的效果会越好,但是作者做了实验却发现网络的深度与网络在test dataset
上的error rate
是一个U
形的曲线。也就是说当网络达到一定深度后,再增加深度,效果会变差,作者把这种现象称为Degradation Problem
。
所以从理论角度分析:因为使用了normalization
,并不是梯度消失的问题,而是网络本身很难学习。
得出结论:很难学习的原因是information flow
在deep network
中受阻,最终导致网络的效果变差。
那如何才能让顺利的传到更深的层中去呢?作者就想到直接把信息传递到下层网络中,也就是采用skip connection
。
Architecture
Residual Learning
Residual Function
动机是:直接拟合原来的目标函数不好弄,可以拟合它的残差函数,实际效果很好,虽然不是最好的。
Building Block
以
building block
为基本单位构建残差网络。设为
2
层只是根据 intuition,如果只有一层,效果相对Conventional CNN
没有提升。
Identity Mapping by Shortcuts
主要目的是 dealing with dimension problem(当把
x
加到f(x)
的时候,可能出现维度不一致的现象),这时有2
种解决方式:Padding Zero
Projection Shortcuts (done by 1×1 convolutions)
Projection shortcuts are used for increasing dimensions, and other shortcuts are identity(只有在碰到维度不一致的时候,才进行
projection shortcuts
,否则就进行Identity Mapping
)。All shortcuts are projections(只要碰到维度问题就进行
projection shortcuts
)。
实验证实以上两种做法相对于
Conventional CNN
都提高了效果,其中最后一种的效果最好,但是与前面的两种效果的差别不大。所以,作者认为projections
不是提升网络效果的主要原因,所以为了节省计算资源和时间,作者在剩下的试验中采用padding 0
的方式。
- 使用
stride=2
的conv
代替了pooling
(之前曾经看过一篇文章是讲conv
降维至少不会比pooling
效果差)。
Bottleneck
这个概念在
Inception
的论文中就提出了,如下图右所示。之所以叫
Bottleneck
,是因为使用了1x1
的卷积操作,作用是减少计算量。实验表明,这样不会对网络的性能造成坏的影响。关于
Bottleneck
,可以参阅参考文献 1 ,其中有一部分讲的就是这个。
Architecture used in experiments
No dropout,因为使用了
batchnormalization
No hidden fc,转化为
Global Average Pooling
Left: the VGG-19 model (19.6 billion FLOPs) as a reference. Middle: a plain network with 34 parameter layers (3.6 billion FLOPs). Right: a residual network with 34 parameter layers (3.6 billion FLOPs). The dotted shortcuts increase dimensions.
Experiments
不同深度的
Conventional CNN
之间的对比:34
层的网络效果没有18
层的好,但是没有差别太大,说明网络正常工作,进一步的说明不是梯度消失的问题。相同深度的
Conventional CNN
与ResNet
的对比。网络较浅的时候,
ResNet
的效果提升不明显,但是比Conventional CNN
收敛更快。网络较深的时候,
ResNet
的效果提升明显。
不同深度的
ResNet
之间的对比:越深越好。作者特别的设计了一个
1202
层的网络,但是training error
和110
层的网络差不多,但是test error
却很差,作者解释是网络太深,数据集太小,产生了overfitting
。实验的具体细节可以看 paper,细节写的挺详细的。
这个网络当时赢得了Object Detection
、Image Localization
的第一,paper 中以附录的形式对其进行了提及,不过由于时间和精力原因没有去看,这一点不好意思,大家如果有兴趣可以看一下。
Related work
Highway Networks
ResNet
是Highway Networks
的一种特例。没有去看这个 paper,有兴趣的可以去参考。