最近准备用Resnet来解决问题,于是重读Resnet的paper

《Deep Residual Learning for Image Recognition》, 这是何恺明在2016-CVPR上发表的一篇paper,在2015年12月已经发布在arXiv上,并且用文中所述的网络在 2015年 的ILSVRC获得分类任务冠军,在2015-COCO detection,segmentation 的冠军.

先说一下新的收获:

  1. 结合了caffe的prototxt才知道, F(x) + x ,是 element-wise addition , 是逐元素相加,之前以为是在通道那个维度进行连接呢.

  2. cifar10 实验中, Data Aumentation的方法,在 32*32的基础上行进行padding , 得到 36*36的图片,然后再随机的crop出 32*32 的,这种方法是([24] C.-Y. Lee, S. Xie, P. Gallagher, Z. Zhang, and Z. Tu. Deeply-supervised nets. ArXiv:1409.5185, 2014.) 当中提到的. 以后可以考虑这种方法

  3. 在cifar10的实验当中, 训练 resnet-110时, 初始学习率不能像之前那样设置为0.1 而是设置成 0.01, 等到训练了400 个interactions 时,再把学习率增大到0.1 ( 差不多3个epochs的时候, 把学习率增大到

    0.1) . 这种一开始小, 然后大的方法, 可以借鉴.

Abstract:

深层网络难以训练, 而深层的Resnet 可以训练得很好. Resnet改变传统神经网络学习的内容, 传统上,让神经网络直接学习(mapping)一个复杂函数, 而Resnet是让网络学习一个Residual function (文中提及的 F(x) ) . 而且证明了这样效果好, 获得了多个竞赛任务冠军.

Introduction:

神经网络越深可以得到的特征的”level”越丰富 .越深就越好. 想要更好,就要越深. 越深,那么问题就来了.

两个问题: 1. vanishing/exploding gradients 2. degradation problem

针对1. 有batch normalization 以及 intermediate normalization layers 这两种方法来解决,但是也就在几十层内奏效

问题2. 越深, 反而训练 error 越高. 主要是深了, 不好训练

存在问题, Resnet就是来解决问题的. 利用 residual learning frame 解决 问题2.degradation problem. 就是越深, training error 没有像之前那样会升高, 而是降低. 到底residual是什么意思呢? Residual function 是什么function呢?

通常, 神经网络学习的输入是 x, 输出是 y = H(x), 那么神经网络学习的是一个映射H(). 直接学习H()可能不那么容易, 那么假设 H() 是这样一个形式, 就是 H(x) = x + F(x) . 再假设一个条件, 就是我们要学习的映射是一个 identity mapping的话, 直接学习 H() 不容易, 然而 学习 x +F(x) 就容易了. 以为让 F(x)等于0 ,那么好了.

F(x) + x 这个形式可以理解为传统的前向神经网络 加上一个 shortcut connections ,什么意思呢? 如上图:

Related work

Residual representation, 讲到 VLAD ,VLAD是通过Residual vector 编码得到的一种 representation .结果显示很还不错.( 要深究的话, 还要去看看文中给的文献, 到底residual vector是什么概念, 作者是如何想到把residual vector的思想给用到这里来的)

shortcut connections, 说到shortcut connections 的工作被人研究了不少年了, 给了一些 关于 shortcut connections 的paper . 最后对比highway networks , highway networks 的shortcut connections 有一个gating functions, 而Resnet没有. 这样就不会增加额外的参数 .

Deep residual learning

residual learning , 就是 将本来是学习 H(x) 这样一个映射, 现在把映射变成 x +F(x) 了.

先假设本身要映射的是一个identity mapping , 那么 x + F(x)映射 要比 H(x)这个映射要来得简单, 然后说, 实际情况并不像 学习一个 identity mapping , 但是, 这样做有助于解决 precondition 问题.

(终究搞不懂为什么work ,反正paper中说这样做的效果好, 做了实验也是好….)

Identity mapping by shortcuts

定义一个 building block 是这样的

F(x {w}) 要和 x 相加, 那么经过 F()的映射, 维度可能发生变化, 维度不同是不能相加的, 所以作者探讨了如何使x的维度与F()一致. 一种方法就是给x一个线性变换, 就是wx的方法( 经过实验, 最终并不是用这个方法)

看图 , 当虚线部分那里, feature maps 是56*56*64 然后要变成 28 * 28 * 128 , 这样维度就不一样了,

所以要对shortcut connections 进行操作,使得 56* 56 * 64 变得和 28* 28 *128一致

这里有两种方法(1) 补零 . (2) 线性变换

Experiments

实验部分主要是做了 imagenet 和cifar10 的实验, 对于imagenet 主要是对标vgg, 更深,参数更少,性能更好. 对于cifar10 主要是验证深层resnet的性能, 并不对标state of the art.

如果有做相应实验的话, 建议看一看作者的实验描述, 讲得还是很详细的.

【文献阅读】Deep Residual Learning for Image Recognition--CVPR--2016的更多相关文章

  1. [论文阅读] Deep Residual Learning for Image Recognition(ResNet)

    ResNet网络,本文获得2016 CVPR best paper,获得了ILSVRC2015的分类任务第一名. 本篇文章解决了深度神经网络中产生的退化问题(degradation problem). ...

  2. Deep Residual Learning for Image Recognition这篇文章

    作者:何凯明等,来自微软亚洲研究院: 这篇文章为CVPR的最佳论文奖:(conference on computer vision and pattern recognition) 在神经网络中,常遇 ...

  3. 论文笔记——Deep Residual Learning for Image Recognition

    论文地址:Deep Residual Learning for Image Recognition ResNet--MSRA何凯明团队的Residual Networks,在2015年ImageNet ...

  4. [论文理解]Deep Residual Learning for Image Recognition

    Deep Residual Learning for Image Recognition 简介 这是何大佬的一篇非常经典的神经网络的论文,也就是大名鼎鼎的ResNet残差网络,论文主要通过构建了一种新 ...

  5. Deep Residual Learning for Image Recognition (ResNet)

    目录 主要内容 代码 He K, Zhang X, Ren S, et al. Deep Residual Learning for Image Recognition[C]. computer vi ...

  6. Deep Residual Learning for Image Recognition

    Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun           Microsoft Research {kahe, v-xiangz, v-sh ...

  7. Deep Residual Learning for Image Recognition论文笔记

    Abstract We present a residual learning framework to ease the training of networks that are substant ...

  8. Deep Residual Learning for Image Recognition(残差网络)

    深度在神经网络中有及其重要的作用,但越深的网络越难训练. 随着深度的增加,从训练一开始,梯度消失或梯度爆炸就会阻止收敛,normalized initialization和intermediate n ...

  9. Deep Residual Learning for Image Recognition(MSRA-深度残差学习)

    转自:http://blog.csdn.net/solomonlangrui/article/details/52455638   ABSTRACT:           神经网络的训练因其层次加深而 ...

  10. Paper | Deep Residual Learning for Image Recognition

    目录 1. 故事 2. 残差学习网络 2.1 残差块 2.2 ResNet 2.3 细节 3. 实验 3.1 短连接网络与plain网络 3.2 Projection解决短连接维度不匹配问题 3.3 ...

随机推荐

  1. 动态路由协议(3)--ospf

    1.设置pc ip 网关 192.168.1.1 192.168.1.254 192.168.4.1 192.168.4.254 2.设置路由器 (1)设置接口ip Router(config-/ R ...

  2. Android之Activity的启动模式

    启动模式有4种,分别为:1.standard(默认)  -- 标准2.singleTop  -- 单顶3.singleTask -- 单任务4.singleInstance: -- 单例  -- 如果 ...

  3. 关于宏:container_of和 offsetof以及list_for_each_entry

    1.offsetof(TYPE, MEMBER) #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) offse ...

  4. Windows API常用函数

    转自:http://www.cnblogs.com/xiashengwang/p/4026259.html .NET中虽然类库很强,但还是有些时候功能有限,掌握常用的api函数, 会给我们解决问题提供 ...

  5. [转载]Install Opera 12.16 Web Browser in CentOS/RHEL and Fedora

    FROM: http://tecadmin.net/install-opera-web-browser-in-centos-rhel-fedora/ Opera is an modern web br ...

  6. ASP.NET MVC学习---(四)MVC初窥

    前面三篇大幅度的介绍了EF框架 这并不是没有道理的 现在使用mvc开发一般都离不开ef 因为它们相结合可以为你带来完美的体验 当然 前面所描述的仅仅是ef框架的冰山一角 它是一门学问很深的功课 如果你 ...

  7. Jquery.data()的值存放再什么地方的问题?

    Where is jQuery.data() stored? Where does jQuery store the values of the data() that it sets to DOM ...

  8. shell通配符、命令代换、引号

    1.通配符 (1)* :匹配多个任意字符 (2)? :匹配一个任意字符 (3)[若干字符] :匹配方括号中任意一个字符的一次出现 2.命令代换:反引号``或者$() 例1:vim test_th.sh ...

  9. 2017.5.24 在intelliJ IDEA 中生成war包

    1.勾选Build on make file -> project structure -> Artifacts 2.compile module "***" 选择项目 ...

  10. mysql开发之---使用游标双层嵌套对总表进行拆分为帖子表和回复表

    注意点: (1)进行拆分的总表表名是不同的.所以创建暂时表,把总表的数据先插入暂时表 (2)为了避免最外层游标轮询数据结束时,抛出 not found 退出程序,不会运行关闭游标等兴许操作,定义con ...