论文阅读——Deep Residual Learning for Image Recognition

目录

前言

Abstract

1. Introduction

2、Related Work

3、Deep Residual Learning

3.1、残差学习

3.2、快捷恒等映射

3.3、网络结构

3.4、实现

4、Experiments

4.1、ImageNet分类

4.2、CIFAR-10和分析

4.3、PASCAL和MS COCO上的目标检测


前言

之前有一段时间看了挺多深度学习方面的论文,但是由于时间方面的问题一直没来得及进行总结。最近一段时间突发奇想把自己看论文时的学习笔记给记录一下,由于之前没写过博文,所以排版可能会有点emmm...一言难尽。专业方面的知识,如果有理解不到位的地方欢迎各位大佬指教。

Abstract

文章的主要工作:

  1. 文章提出了一个残差学习框架来减轻更深度网络的训练难度。
  2. 文章提出的残留网络更容易优化,其深度比VGG网络深,但复杂度却更低。
  3. 文章提出的残留网络可以通过不断增加网络深度来提高识别精度。

1. Introduction

这一部分作者主要提到了近些年来,随着卷积网络深度的增加,网络训练所遇到的一些问题以及解决方法,并抛出残差学习框架一概念。

1、卷积网络深度增加所遇到的主要问题及解决方式:

  • 梯度消失——进行初始标准化和在网络中添加标准化层。
  • 网络的深度增加但是训练精度却出现退化(大网络的精度反而不如小网络好)——引入本文中提出的残差网络。
论文阅读——Deep Residual Learning for Image Recognition_第1张图片 从左边的图可以看出在没有使用残差网络时,更深层网络的错误率反而要比浅层网络高

2、引入深度残差学习框架来解决训练时的精度退化问题

  1. 假设网络期望得到的映射为H\left ( x \right )(即希望使用网络拟合得到的函数)。
  2. 但我们让堆叠的非线性层去拟合另一个映射F\left ( x \right )=H\left ( x \right )-x
  3. 此时网络最终期望得到的映射H\left ( x \right )就可以改写成 H\left ( x \right )=F\left ( x \right )+x
  4. 上面公式中的F\left ( x \right )+x可以通过引入一个快捷连接来实现,具体如下图所示。
论文阅读——Deep Residual Learning for Image Recognition_第2张图片 快捷连接从输入直接引出,跳过多个卷积层并最终和通过卷积层那个分支得到的结果相加

3、网络在引入深度残差学习框架后的效果

  • 残差结构对解决精度退化问题有普适效果,在CIFAR-10、ImageNet等数据集上的实验结论都一致。
  • 极深的残差网络易于优化,当深度增加时,对应的“简单”网络(没有设置残差结构其他配置完全一致的网络)表现出更高的训练误差。
  • 深度残差网络可以通过深度的增加提高准确性。

2、Related Work

这一部分作者介绍了一些和论文中所研究项目有关的其他科研进展(虽然我也不知道具体有啥关系,文章中也没说,害)。

  • 残差表示方法:1.VLAD:一种通过关于字典的残差向量进行编码的表示形式。2.Fisher矢量:VLAD的概率版本。
  • 解偏微分方程的方法:1.Multigrid方法:将系统重构为在多个尺度上的子问题,其中每个子问题负责较粗尺度和较细尺度的残差解。2.层次化基础预处理:其依赖于表示两个尺度之间残差向量的变量。
  • 快捷连接:1.普通快捷连接(就如上面所讲到的那样)。2.门控制快捷连接:可以看作快捷连接由一个门所控制,当门打开时就是普通快捷连接,当门关闭时就是没有残差结构的卷积网络。

3、Deep Residual Learning

3.1、残差学习

1、残差网络构建的原理(其实在introduction的时候我提到过):

  1. 假设H\left ( x \right )是我们期望得到的拟合函数,x为网络第一层的输入。
  2. 我们让多个非线性层近似残差函数F\left ( x \right )=H\left ( x \right )-x而不是H\left ( x \right )
  3. 最后通过添加一条快捷连接x,来达到拟合函数H\left ( x \right )的目的,即H\left ( x \right )=F\left ( x \right )+x

2、残差网络更加容易学习的原因:

  • 恒等映射(即直接使用多个卷积层对H\left ( x \right )进行拟合)不太可能得到最优解。
  • 如果恒等映射为最优解,求解器可以简单地将多个非线性层的权重置零使其得到恒等映射。
论文阅读——Deep Residual Learning for Image Recognition_第3张图片 学习的残差函数总体上有更小的响应,表明恒等映射提供了合理的预处理

3.2、快捷恒等映射

  • 文中将残差结构块的数学表达式定义为:y=F\left ( x,\left \{ W_{i} \right \} \right )+x
  • 由于xF的维度必须是相等的,当F修改了数据维度时数学表达式定义为y=F\left ( x,\left \{ W_{i} \right \} \right )+W_{s}x
  • 残差结构块中的快捷连接没有引入额外的参数,也不需要额外进行计算。

3.3、网络结构

在这一部分中,作者设置三个不同的网络以便后续实验中使用这三个网络进行对照。其中有两个为无残差结构网络,另一个为残差网络。

1、简单网络的设计思路:

  • 对于输出相同尺寸特征图的卷积层,卷积核的数量应该保持一致。
  • 如果特征图尺寸减半,则卷积核的数量应该翻倍(也就是随着网络的深入,特征图尺寸不断减小但通道数不断增加)。

2、残差网络的设计思路:

  • 残差网络是基于上述的简单网络,在其中插入快捷连接构成的。
  • 当输入和输出通道数相等时直接插入快捷连接。
  • 当输入和输出通道数不等时有两种方法:A.快捷连接仍然使用恒等映射,额外填充零输入以增加维度。B.使用投影快捷连接y=F\left ( x,\left \{ W_{i} \right \} \right )+W_{s}x用于匹配维度。
论文阅读——Deep Residual Learning for Image Recognition_第4张图片 左边是VGG-19网络,中间是34层简单网络,右边是以简单网络为基础添加残差结构的残差网络

3.4、实现

这个部分主要是将网络训练时一些参数的设置。

  • 尺度增强:1.调整图像大小,其较短的边在[256,480]之间进行随机采样。2.使用224×224裁剪从图像或其水平翻转中随机采样,并逐像素减去均值。
  • 在每个卷积层之后和激活函数之前,采用批量归一化(BN)
  • 学习速度从0.1开始,当误差稳定时学习率除以10,总迭代数为60\times 10^{4}
  • 网络权重衰减为0.0001,动量为0.9。

4、Experiments

4.1、ImageNet分类

这一部分主要是在ImageNet 2012分类数据集对普通模型和残差模型进行性能评估,评估标准为top-1和top-5错误率。

1、普通网络

  • 几个普通网络的具体结构参数如下表所示。
论文阅读——Deep Residual Learning for Image Recognition_第5张图片 不同层数的普通网络结构
  • 34层的普通网络比更浅的18层普通网的验证误差更高,如下表所示。

论文阅读——Deep Residual Learning for Image Recognition_第6张图片

  • 在34层的普通网络训练时出现了精度退化的问题,但是由于网络中使用了BN层,精度退化不太可能是由梯度消失引起的。
论文阅读——Deep Residual Learning for Image Recognition_第7张图片 图中细线是训练误差,粗线是验证误差。很明显,34层网络的错误率要比18层网络的高。

2、残差网络

  • 很明显可以看出34层残差网络的错误率要比普通网络的低,如下表所示。

论文阅读——Deep Residual Learning for Image Recognition_第8张图片

  • 对于18层的普通网络,虽然添加残差结构后的错误率降低不明显,但是其收敛速度提升了。
论文阅读——Deep Residual Learning for Image Recognition_第9张图片 残差网络的错误率,图中细线是训练误差,粗线是验证误差。

 3、恒等映射vs投影快捷连接

在这一部分中作者使用了3种不同的投影快捷连接​​​​​​​进行性能验证:

  • A:零填充快捷方式,用于在下采样时增加维数。
  • B:投影快捷连接​​​​​​​,用于在下采样时增加维数,其他都使用恒等映射。
  • C:将所有快捷连接变为投影快捷连接。

论文阅读——Deep Residual Learning for Image Recognition_第10张图片

结论:

  1. A、B、C三个选项都比普通的选项性能要好得多,但A、B、C之间性能差距不大。
  2. C选项会明显增大参数数目和计算量因此不采用。

4、更深的瓶颈结构

为了尽可能增加网络深度的同时降低运算量,文章提出了一种瓶颈结构的设计。在这种结构中,第一层为1×1的卷积负责减少输出通道数(图中输入为256通道,输出为64通道),第二层为3×3的卷积,第三层为1×1的卷积负责将输出通道数恢复到输入的水平(256维)。作者用这种瓶颈结构替换普通残差结构弄出了表1中的50、101和152层网络,其表现如表4所示。

论文阅读——Deep Residual Learning for Image Recognition_第11张图片 左边为普通残差网络,右边为带瓶颈结构的残差网络

5、与最先进模型的对比

论文阅读——Deep Residual Learning for Image Recognition_第12张图片

4.2、CIFAR-10和分析

1、网络设置

  • 残差网络和普通网络使用了图3中中间和右边的结构,网络根据输出特征图的大小设置卷积层结构,如下表所示总共有6n+2层。

论文阅读——Deep Residual Learning for Image Recognition_第13张图片

  • 残差网络的所有快捷连接都使用恒等映射

2、训练设置

  • 使用0.0001的权重衰减和动量为0.9。
  • 模型在两个GPU上以128个小批量进行训练。
  • 学习率从0.1开始,在迭代为32k和48k时分别除以10,并且迭代为64k时终止训练。

3、结果

  • CIFAR-10测试集上的分类误差如下表所示。
论文阅读——Deep Residual Learning for Image Recognition_第14张图片 CIFAR-10测试集上的分类误差
  • 普通网络和残差网络随着训练迭代数的增加,分类错误率的表现情况。
论文阅读——Deep Residual Learning for Image Recognition_第15张图片 左边为普通网络,右边为其对应的残差网络
  • 超过1000层的残差网络的表现:很明显超过1000层的残差网络收敛效果仍然是非常不错的,但是其错误率仍高于110层的残差网络,作者推测主要的原因是数据集太小了,出现了过拟合的情况。

论文阅读——Deep Residual Learning for Image Recognition_第16张图片

4.3、PASCAL和MS COCO上的目标检测

  • PASCAL数据集上的检测效果。

论文阅读——Deep Residual Learning for Image Recognition_第17张图片

  • MS COCO数据集上的检测效果。

论文阅读——Deep Residual Learning for Image Recognition_第18张图片

 

你可能感兴趣的:(论文阅读——Deep Residual Learning for Image Recognition)