Resnet论文解读 (Deep Residual Learning for Image Recognition)

论文基本信息

  • 标题:Deep Residual Learning for Image Recognition
  • 作者:Kaiming He,Xiangyu Zhang, Shaoqing Ren ,and Jian Sun
  • 机构:Microsoft Research
  • 来源:CVPR
  • 时间:2016
  • 链接:[https://openaccess.thecvf.com/content_cvpr_2016/html/He_Deep_Residual_Learning_CVPR_2016_paper.html]
  • 成就:2016CVPR 最佳论文,2015年Image/vet,coco竞赛五项冠军!

论文概要

解决问题

深度卷积神经网络是用来提取图片的特征的。几乎所有的视觉任务,比如分类,检测,分割都是基于提取的特征来进行学习的。所以,能提取到更好的特征就能获得更好的效果。

如何通过深度卷积神经网络更好的提取特征?一个很直接的想法就是加深网络的深度。但是实验结果表明,在线性的卷积神经网络中仅仅增加网络的深度,会出现网络退化现象。 为了解决网络退化现象,使得网络的深度可以更深,能够提取更好的特征。本文提出了 Residual Network(ResNet)

名词解释

  • 网络退化现象:网络退化现象,不同于梯度爆炸/消失,而是随着网络的深度的增加,网络的训练趋于饱和。甚至出现层数越多,训练误差越大的现象。如下图所示。
    Resnet论文解读 (Deep Residual Learning for Image Recognition)_第1张图片

创新点

  • 提出了残差学习网络ResNet。使得网络的学习能力能够随着网络深度的增加而增加。

性能

  • 大幅度提高了深度卷积网络提取特征的能力,获得2015年Image/vet,coco竞赛五项冠军!
  • 使得计算机的在视觉方面的识别能力达到并超过了人类的水平。下图给出了在分类领域的top5错误率。可以看到ResNet的提出使得计算机的识别的错误率低于了人类的水平。
    Resnet论文解读 (Deep Residual Learning for Image Recognition)_第2张图片

不足

ResNet详解

Residual Learning

在普通的卷积神经网络中,我们假设输入X,想要经过网络拟合H(x),即要学习一些参数,使得X经过网络后得到H(x)。
Resnet论文解读 (Deep Residual Learning for Image Recognition)_第3张图片

而ResNet,学习的是残差,拟合的是残差F(x),F(x) = H(x) - X
输入: x
网络输出: F(x)
期待输出: H(x)
其中: F(x) + x = H(x)。

残差模块

在ResNet之前,主流的神经网络都是卷积层的线性堆叠。输入数据经过每个卷积层都会发生变化,产生一个输出的feature map。我们要训练的就是网络中的参数,使得输入,输出之间能够形成一个映射,即mapping。
作者的思路是,引入一个identity mapping(恒等映射)跨越一些(至少一个)卷积层,然后网络只进行一个residual mapping(残差映射)。
Resnet论文解读 (Deep Residual Learning for Image Recognition)_第4张图片

  • 其中 x和网络输出的F(x)必须维度一致。(维度不同,直接采用1*1的卷积进行上/下采样)
  • 在网络的输出阶段,先相加,在进行relu。

网络结构

基于VGG-19网络进行改造,加上了Shortcut Connections(快捷连接),使得网络学习能力更强,学习速度更快。
Resnet论文解读 (Deep Residual Learning for Image Recognition)_第5张图片

思考

残差模块的优点

  • 不引入新的参数,不增加计算复杂度。
  • 拟合的不再是underlying mapping ,而是 residual mapping。拟合起来要更简单更快。
  • 采用残差模块,能通过增加网络深度,来提高网络的学习能力。
  • 能够直接用SGD进行优化。

为什么能解决网络退化问题

  • 恒等映射,这一路的梯度是1,这样就相当于把深层的梯度直接注入了底层,防止了梯度消失。
  • 学习的是残差,是相对于本身出入x的偏差,学习能力更强。很容易拟合恒等映射,只要将网络中所有参数都设为0即可。

实验

在实验部分大家可以直接看论文,在这就不详细描述了。

ImageNet

从这张图可以明显看出,右图中随着网络深度的增加,训练error会变小。
Resnet论文解读 (Deep Residual Learning for Image Recognition)_第6张图片

CIFAR-10

中间的图是采用ResNet,虚线是训练集,粗线是测试集。
Resnet论文解读 (Deep Residual Learning for Image Recognition)_第7张图片

新手小白,如有错误,欢迎批评指正!

参考:
https://blog.csdn.net/briblue/article/details/83544381?spm=1001.2014.3001.5501
https://www.bilibili.com/video/BV1vb4y1k7BV?p=4

你可能感兴趣的:(深度学习,深度学习,神经网络,pytorch,计算机视觉)