Deep Residual Learning for Image Recognition

微软亚洲研究院的何凯明等人

论文地址

https://arxiv.org/pdf/1512.03385v1.pdf

Abstract

更深层次的神经网络训练更加困难。我们提出一个 Residual的学习框架来缓解训练的网比之前所使用的网络深得多。我们提供全面的经验证据显示这些残余网络更容易优化,并可以从显着增加的深度获得准确性。在ImageNet数据集上我们评估深度达152层残留网比VGG网[41]更深,但复杂度仍然较低。这些残留网络的集合实现了3.57%的误差在ImageNet测试集上。这个结果赢得了ILSVRC 2015分类任务第一名。

比赛总结ppt链接

http://image-net.org/challenges/talks/ilsvrc2015_deep_residual_learning_kaiminghe.pdf

ICCV 2015 Tutorial on Tools for Efficient Object Detection链接

http://mp7.watson.ibm.com/ICCV2015/ObjectDetectionICCV2015.html

1. Introduction

学习更好的网络是否容易堆叠更多层?

层次深的问题是梯度消失/爆发[1,9],阻碍了收敛。 这个问题已经通过归一化初始化被很大程度上解决[23,9,37,13]和中间标准化层[16],使具有数十层用于反向传播的随机梯度下降(SGD)的网络开始收敛。

当更深层次的网络能够开始收敛时,退化问题已暴露:随着更深网络层次增加,然后准确度迅速下降。这种退化不是由过度拟合引起的,而是加入更多的层次到合适的深度模型导致更高的训练错误,如[11,42]中所报告,并经过全面验证我们的实验。

如果我们加入额外的层只是一个 identity mapping,那么随着深度的增加,训练误差并没有随之增加。所以我们认为可能存在另一种构建方法,随着深度的增加,更深层次的模型不应该产生更高的训练误差。

提出一个 deep residual learning 框架来解决这种因为深度增加而导致性能下降问题。

假设我们期望的网络层关系映射为 H(x),我们假设把多增加的那些层拟合另一个映射, F(x):= H(x)-x , 那么原先的映射就是 F(x)+x。假设优化残差映射F(x) 比优化原来的映射 H(x)容易。F(x)+x 可以通过图二shortcut connections前馈神经网络来实现。

在ImageNet上评估此方法,发现更容易优化。并且发现plain nets在网络增加时候有更大的训练误差。我们的方法在深度增加时候比之前的网络更容易获准确提升。

2. Related Work

Residual Representations.VLAD [18]是通过相对于字典的残差向量进行编码的表示,并且Fisher Vector [30]可以被公式化为VLAD的概率版本[18]。他们都是图像检索和分类的强大的浅表示[4,48]。对于矢量量化,编码残差矢量[17]被证明比编码原始矢量更有效。

在低级视觉和计算机图形学中,为了求解部分微分方程(PDE),广泛使用的Multigrid方法[3]将系统重构为多个尺度的子问题,其中每个子问题负责较粗和更细的残余解 规模。 Multigrid的替代方法是层次化基础预处理[45,46],它依赖于代表的变量两个尺度之间的残差向量。 已经显示[3,45,46]这些求解器比没有考虑残差性质的标准求解器收敛得快得多。 这些方法表明,良好的重新配置或预处理可以简化优化。

Shortcut Connections.

Shortcut Connections的实践和理论[2,34,49]已经被研究了很长时间。训练多层感知器(MLP)的早期实践是将从网络输入连接到线路层的输出[34,49]。在[44,24]中,几个中间层直接连接到辅助分类器,用于消除/爆炸梯度。 [39,38,31,47]的论文提出了将层响应,梯度和传播错误对中的应用Shortcut Connections方法。

在[44]中,“初始”层由快捷分支和更深的分支组成。 与我们的工作同时,“highway networks”[42,43]提供了与门控功能的Shortcut Connections[15]。 这些门是数据相关的,并且具有参数,与我们不具参数的identity shortcuts方式相反。门gate当接近0时候关闭,相当于non-residual函数。而本文residual函数是始终存在的。

3. Deep Residual Learning

3.1. Residual Learning

性能退化问题暗示多个非线性网络层用于近似identity mappings 可能有困难。使用残差学习改写问题之后,如果identity mappings 是最优的,那么优化问题变得很简单,直接将多层非线性网络参数趋0。实际中,identity mappings 不太可能是最优的,但是上述改写问题通过实验图7表明可能能帮助预处理问题。如果最优函数接近identity mappings,那么优化将会变得容易些。

3.2. Identity Mapping by Shortcuts

公式(1)中的快捷连接不会引入额外的参数也不计算复杂度。 这不仅仅是我们可以相当比较plain and residual 网络同时拥有相同数量的参数,深度,宽度和计算成本(除了可忽略的元素加法除外)。方程(1)中x和f的尺寸必须相等。如果不是这种情况(例如,当改变输入/输出时通道),我们可以执行linear projection Ws 和shortcut connections匹配维度:

3.3. Network Architectures

Plain Network.

受 VGG 网络启发采用3*3滤波器,遵循两个设计原则:1)对于相同输出特征图尺寸,卷积层有相同个数的滤波器,2)如果特征图尺寸缩小一半,滤波器个数加倍以保持每个层的计算复杂度。通过步长为2的卷积来进行降采样。一共34个权重层。 需要指出,我们这个网络与VGG相比,滤波器比VGG19的18%,复杂度要小例如图3所示。我们推测深层网可能会具有指数低收敛速度,这影响了减少训练误差。这种优化的原因将来会有困难。

Residual Network.

Residual Network.在plain network上每两个3*3filters中加入 shortcut connections,如图三所示。

网络结构:

3.4. Implementation

针对 ImageNet网络的实现,我们遵循【21,41】的实践,图像以较小的边缩放至[256,480],这样便于 scale augmentation,然后从中随机裁出 224*224,采用【21,16】文献的方法。

使用[21]中的标准色彩增强。 在每个卷积之后和激活之前,我们采用批量归一化(BN)[16] [16]。 我们按照[13]初始化权重,从头开始训练所有的平原/残留网。 我们用mini-batch为256的SGD。学习率从0.1开始,当偏差平缓时被除以10,并且模型训练高达60×10000迭代。 我们使用0.0001的重量衰减和0.9的动量。 我们不要使用dropout14],遵循[16]的做法。

4. Experiments

4.1. ImageNet Classification

Plain Networks.

细节结构如table1,具体表现如图4和tables2结果。

Residual Networks.

我们对所有shortcut connections和零填充使用identity mapping来增加维度。 所以与plain network相比,它们没有额外的参数。我们有三个重要实验显示table 2和fig 4。Residual learning 34层ResNet优于18层ResNet(下跌百分之二点八)。 更重要的是,34层ResNet展出大大降低了训练误差,可以概括为验证数据。 这表明退化问题在这个设置中得到很好的解决,我们获得在增加的深度获得更好的acc。

Identity vs. Projection Shortcuts.

实验表明parameter-free, identity shortcuts有利于训练。通过公式2映射shortcuts。Table 3中比较了三个方式,发现projections不是解决degradation问题的关键。Identity shortcuts是特别重要对于不增加bottleneck架构复杂性的情况下。

Deeper Bottleneck Architectures.

接下来我们描述我们更深入的网络网络。 由于考虑训练时间,我们可以将building block修改为bottleneck 设计4。 对于每个残差函数F,我们使用3层而不是2层(图5)。 三层是1×1,3×3和1×1卷积,其中1×1层负责减少然后增加(恢复)尺寸,使bottleneck 的3×3层具有较小输入/输出尺寸,两种设计具有相似的时间复杂性。无参数的Identity shortcuts方式特别重要对于bottleneck 架构。 如果Identity shortcuts方式在图5(右)中可以用投影projections来代替,发现时间复杂度和模型尺寸加倍,因为Identity shortcuts连接到两个高维端。 所以Identity shortcuts方式对于bottleneck 架构是很有效的设计。

50-layer ResNet

101-layer and 152-layer ResNets

Comparisons with State-of-the-art Methods

Table 1 2 3 4 5 对以上三个实验数据结果都有印证。

4.2. CIFAR-10 and Analysis

Analysis of Layer Responses

4.3. Object Detection on PASCAL and MS COCO

转载于:https://www.cnblogs.com/vincentqliu/p/7464918.html

卷积神经网络之ResNet网络模型学习相关推荐

  1. 卷积神经网络之AlexNet网络模型学习

    ImageNet Classification with Deep Convolutional Neural Networks 论文理解  在ImageNet LSVRC-2010上首次使用大型深度卷 ...

  2. 【TensorFlow实战】TensorFlow实现经典卷积神经网络之ResNet

    ResNet ResNet(Residual Neural Network)通过使用Residual Unit成功训练152层深的神经网络,在ILSVRC 2015比赛中获得冠军,取得3.57%的to ...

  3. 《基于卷积神经网络的深度迁移学习,用于燃气轮机燃烧室的故障检测》论文阅读

    目录 突出 抽象 引言 1.1动机 1.2文献综述获得的结论 1.3贡献 1.4组织 2方法 2.1燃汽轮机组故障知识共享 2.2迁移学习 2.3 基于卷积神经网络的深度迁移学习 2.4用于燃气轮机燃 ...

  4. 卷积神经网络以及经典网络模型的浅谈

    "ML炼丹路上的小学徒",记录学习过程中的所见所闻,CSDN上佛系更新,要是觉得不错,可以来访我的博客:fangkaipeng.com,第一时间在个人网站上更新,无广告无利益,有更 ...

  5. 为什么说卷积神经网络,是深度学习算法应用最成功的领域之一?

    目前,作为深度学习的代表算法之一,卷积神经网络(Convolutional Neural Networks,CNN)在计算机视觉.分类等领域上,都取得了当前最好的效果. 后来,基于深度神经网络和搜索树 ...

  6. 【卷积神经网络】ResNet翻译详解

    论文题目:Deep Residual Learning for Image Recognition 论文地址:https://arxiv.org/pdf/1512.03385.pdf Pytorch官 ...

  7. TextCNN——基于卷积神经网络的文本分类学习

    1.CNN基础内容 CNN的全称是Convolutional Neural Network,是一种前馈神经网络.由一个或多个卷积层.池化层以及顶部的全连接层组成,在图像处理领域表现出色. 本文主要学习 ...

  8. 【图像分类】卷积神经网络之AlexNet网络模型实现花卉图像识别(附代码和数据集,PyTorch框架)

    写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌. 在上一篇博文中我们对AlexNet网络模型的结构 ...

  9. 卷积神经网络CNN与深度学习常用框架的介绍与使用

    一.神经网络为什么比传统的分类器好 1.传统的分类器有 LR(逻辑斯特回归) 或者 linear SVM ,多用来做线性分割,假如所有的样本可以看做一个个点,如下图,有蓝色的点和绿色的点,传统的分类器 ...

最新文章

  1. Facebook再曝数据丑闻删除应用数据仍会被泄漏
  2. python 比较list差异
  3. 【路由交换实验】生成树STP(stp,rstp,mstp)
  4. 图像坐标:我想和世界坐标谈谈(B)
  5. js中的preventDefault与stopPropagation详解(转)
  6. 路由器和iP地址的那些事
  7. Centos6.5优化Tomcat7
  8. unity webplayer 与html 传参
  9. Unity(十九):获取编辑器内置样式和内置图标
  10. Android开发中需要用到的常见APP对应包名
  11. 【软件分析/静态程序分析学习笔记】1.静态程序分析(Static Program Analysis)介绍
  12. 感谢爱测未来,零基础的我的实习期是这么过来的
  13. Android apk安装过程
  14. html个人中心布局,html5前端开发笔记-个人中心
  15. 超有趣,在idea中加入emoji图像!
  16. 中国最有意境的33句
  17. 漫画 | 程序员,你得一条道走到黑!
  18. 软件工程导论期末复习整理
  19. idm 使用本地hosts 破解步骤
  20. Xmind8Update7安装与Xmind8Update7破解

热门文章

  1. 会议容易中吗_拉伸、缩放、比例,这些CAD中容易混淆的概念你搞清楚了吗?
  2. 大数据教程(2.2):Linux系统安装JDK1.7
  3. Docker系列教程06-实战:修改Nginx首页
  4. VirtualBox启动报错
  5. 持续交付模型中文化转型的重要意义
  6. KMP算法 --- 深入理解next数组
  7. iPhone SplitViewController
  8. c++《VS2008 快捷键大全》
  9. Lucene 3.0 Field类(自己学习)
  10. Python天天美味(4) - isinstance判断对象类型