ResNet

论文信息

论文名称:Deep Residual Learning for Image Recognition
论文地址:https://arxiv.org/pdf/1512.03385.pdf
发表期刊:CVPR
发表年份:2016

主要问题

在引言中作者提出了一个问题:训练一个更好的网络是否像堆叠更多的层一样容易?答案当然是否定的,因为在网络训练的过程中存才梯度消失梯度爆炸的问题,这个问题阻碍了网络的收敛。当然梯度消失和梯度爆炸的问题很大程度上通过初始归一化中间层归一化解决了。

但是当更深层的网络收敛后,网络退化的问题暴露了出来:当网络层数增加,精度先饱和,然后急剧下降。这并不是由过拟合引起的(这也是本文着重需要解决的问题)。如图所示,当往一个适当深度的网络中添加层时,网络的训练误差会上升。
ResNet_第1张图片
为了解决这个问题作者提出了基于残差结构的残差网络。

主要工作——两种残差结构

作者设计了两种残差结构,作为残差网络的基本结构。
ResNet_第2张图片
左侧的网络包含两个残差层,右侧的包含三个残差层,左侧的用在ResNet-18和ResNet-34中,右侧的用在ResNet-50\101\152中。当作者在文章和特地强调了下,残差结构包含更多的残差层也是可以的,但如果只有一层的话与其他网络相比没有任何优势。

主要工作——两种网络

为了方便实验对比,作者根据VGG网络搭建了不含残差结构的Plain Network。(下图中间),作者在Plain Network的基础上加入残差结构,就得到了Residual Network。这里面有两个注意点:①虚线部分的残差连接需要进行维度升降②在每一个卷积层后面加上Batch Normalization(BN)

ResNet_第3张图片
作者设计了五种残差网络结构,如下图所示:
ResNet_第4张图片

identity shortcut和projection shortcut方式对比

作者在文中提到两种shortcut 方式:
(1)identity shortcut: 一种不需要extra parameters的shortcut
(2)projection shortcut: 一种需要extra parameters的shortcut
作者给出了三种方案,并进行了实验对比:
A:都是identity,zero-padding来升维,所有shortcuts都没有参数要学
B:projection来升维,其他都是identity
C:所有都是projection

举例说明:
(1)在输入输出维度一样的时候:比如14x14x64 – > 14x14x64

identity shortcut会原封不动把x传出去,projection shortcut通过64个1x1x64的filter,映射到输出。这些projection 的filters都是需要learn的。

(2)在输入输出维度不一样的时候: 比如14x14x64 – > 7x7x128

identity shortcut会先把14x14x64 downsample到7x7x64。 然后和输出差的那64个feature map全部zero padding补上,以实现free of parameters的前提。projection shortcut会用128个1x1x64的filters搭配上stride 2实现空间降维,深度升维的骚操作。然而这个也是需要learn的。

参考文献

https://blog.csdn.net/Pcl2001/article/details/125177750
https://blog.csdn.net/m0_50143220/article/details/113488457(identity和projection shortcut对比)
https://blog.csdn.net/weixin_44381334/article/details/106659787(identity和projection shortcut对比)

你可能感兴趣的:(深度学习论文精读,深度学习,机器学习,计算机视觉)