ResNet 论文阅读笔记
1 问题的提出
在我们的一般印象中,深度学习的网络越是深(复杂,参数多)意味着越是有着更强的表达能力。但是paper中提出:
Is learning better networks as easy as stacking more layers?
CNN网路(AlexNet,VGG,GoogleNet)随着网络深度的增加,会出现梯度消失/梯度爆炸的问题(原因),这个问题一定程度上可以被 normalized initialization 和 intermediate normalization layers 缓和。
This problem, however, has been largely addressed by normalized initialization and intermediate normalization layers which enable networks with tens of layers to start converging for stochastic gradient descent (SGD) with backpropagation .
但是,我们发现深度CNN网络达到一定深度后再一味地增加层数并不能带来进一步地分类性能提高,反而会招致网络收敛变得更慢,test dataset的分类准确率也变得更差。排除数据集过小带来的模型过拟合等问题后,我们发现过深的网络仍然还会使分类准确度下降(相对于较浅些的网络而言)。这篇paper提出了一种如何用深层网络进行学习而不会使得模型退化的解决方法。
2 残差学习网络的搭建
2.1 Residual Learning
对于一般的CNN特征提取网络来说(VGG/AlexNet),整个学习的过程的目标是学习输入、输出之间的映射函数(记为H(x))。但残差学习的过程目标是学习输入、输出之间的残差F(x)的过程。( 残差F(x)可表示为 H(x)=F(x)+x )。实验表明使用一般意义上的有参层来直接学习残差F(x)要比学习H(x)输入、输出间映射要容易得多(收敛速度更快),也有效得多(可通过使用更多的层来达到更高的分类精度)。
2.2 Identity Mapping by Shortcuts
对深度网络中的every few stacked layers进行残差结构的搭建。搭建的结构单元如下:
公式如下:
这里的x,y代表输入输出,F(x, {Wi})代表需要学习的residual mapping。其中F+x的支路在论文中被称为shortcut-connection and element-wise addition。这种shortcut-connection的优势在于:可以在网络参数、深度、激活函数、损失函数相同的情况下对plain network 和 residual network 进行比较。
文中提出,x和F的维度必须一致。如果不一致,第一种解决方法是在shortcut-connection支路上乘上一个用于线性投影的矩阵来使得x和F保持一致,上述公式变为:
第二种解决方法是在缺失的维度上补0,从而使得x和F维度一致。
此外,文中还特别指出:
The form of the residual function F is flexible. Experiments in this paper involve a function F that has two or three layers , while more layers are possible. But if F has only a single layer(means y = W1x + x), for which we have not observed advantages.
2.3 Network Architectures
在具体实现残差网络时,对于其中的输入、输出通道数目不同的情况作者使用了两种可能的选择。A)shortcut直接使用identity mapping(恒等映射),不足的通道通同补零来对齐;B)使用1x1的Conv来表示Ws映射,从而使得输入、输出通道数目相同。
3 bottleneck构建模块
为了实际计算的考虑,作者提出了一种bottleneck的结构块来代替常规的Resedual block,它像Inception网络那样通过使用1x1 conv来巧妙地缩减或扩张feature map维度从而使得我们的3x3 conv的filters数目不受外界即上一层输入的影响,自然它的输出也不会影响到下一层module。
不过它纯是为了节省计算时间进而缩小整个模型训练所需的时间而设计的,对最终的模型精度并无影响。
4 总结
当下Resnet已经代替VGG成为一般计算机视觉领域问题中的基础特征提取网络。当下Facebook提出的可有效生成多尺度特征表达的FPN网络也可通过将Resnet作为其发挥能力的基础网络从而得到一张图片最优的CNN特征组合集合。
参考文献
Deep Residual Learning for Image Recognition, He-Kaiming, 2015
经典分类CNN模型系列其四:Resnet
各种优化器的简介: 传送门1
梯度消失、梯度爆炸:传送门2
Numpy库的使用: Numpy中文网
1×1卷积