Deep Residual Learning for Image Rocognition(深度残差神经网络)

论文基本信息

名称:用于图像识别的深度残差学习

取得成就:ResNet在2015年的图像分类,定位和目标检测竞赛以及MS COCO目标检测、分割竞赛等5个主要赛道都获得了1st,并且远远甩开了第二名以及之前的算法,而且超过了人类的水平,获得了2016年CVPR最佳论文。(“CVPR是IEEE Conference on Computer Vision and Pattern Recognition的缩写,即IEEE国际计算机视觉与模式识别会议)

作者:何恺明(2003年广东省高考状元,09年就已获得CVPR最佳论文奖),张详雨,任少卿,孙剑(导师)(来自于微软亚洲研究院(具有AI黄埔军校之名))

引用量:引用量已超10w,人工智能领域最高

ResNet介绍

技术爆炸:一个弱小文明在非常短的时间内取得了非常大的进步

下图介绍:ImageNet图像分类竞赛从2012-2017年历年的Top5错误率(每张图片都会给出他认为的5个类别,只要这5个里面有正确答案,就认为算法正确)

两次技术爆炸点:

2012年AlexNet首次将深度学习以及卷积神经网络用在了计算机视觉识别领域

2015年ResNet首次将错误率降低到人类认知水平以下,并大大加深了网络深度。

模型深度

如下图所示:

残差模块

残差网络通过加入 shortcut connections,变得更加容易被优化。包含一个 shortcut connection 的几层网络被称为一个残差块(residual block)如下图:

深度学习对于网络深度遇到的主要问题是梯度消失和梯度爆炸,传统对应的解决方案则是数据的初始化(normlized initializatiton)和(batch normlization)正则化,但是这样虽然解决了梯度的问题,深度加深了,却带来了另外的问题,就是网络性能的退化问题,深度加深了,错误率却上升了,而残差用来设计解决退化问题,其同时也解决了梯度问题,更使得网络的性能也提升了。这也是为什么在残差之前网络的深度最深的也只是GoogleNet 的22 层, 而残差却可以达到152层,甚至1000层。

当没有 shortcut connection(即图右侧从 x 到 ⨁ 的箭头)时,残差块就是一个普通的 2 层网络。残差块中的网络可以是全连接层,也可以是卷积层。设第二层网络在激活函数之前的输出为 H(x)。如果在该 2 层网络中,最优的输出就是输入 x,那么对于没有 shortcut connection 的网络,就需要将其优化成 H(x)=x;对于有 shortcut connection 的网络,即残差块,最优输出是 x,则只需要将 F(x)=H(x)−x优化为 0 即可。后者的优化会比前者简单。这也是残差这一叫法的由来。

“F是求和前网络映射,H是从输入到求和后的网络映射。比如把5映射到5.1,那么引入残差前是F’(5)=5.1,引入残差后是H(5)=5.1, H(5)=F(5)+5, F(5)=0.1。这里的F’和F都表示网络参数映射,引入残差后的映射对输出的变化更敏感。比如s输出从5.1变到5.2,映射F’的输出增加了1/51=2%,而对于残差结构输出从5.1到5.2,映射F是从0.1到0.2,增加了100%。明显后者输出变化对权重的调整作用更大,所以效果更好。残差的思想都是去掉相同的主体部分,从而突出微小的变化。

残差网络就是由若干个残差快堆叠起来的,如下图所示:

名词解释:“残差在数理统计中是指实际观察值与估计值(拟合值)之间的差。”“如果回归模型正确的话, 我们可以将残差看作误差的观测值。” 

在ResNet论文中进行了详细的对比实验,无论是在ImageNet还是在CIFAR-10数据集上,在深层网络引入残差之后就解决了网络退化现象,在训练集和测试集上误差表现都更小。

引入残差后,可以尽可能地往深层堆叠模型,提升模型的表示能力和特征提取能力。

那么,是否可以无限的去堆叠层数呢?

实验:1202层的数据集网络,在CIFAR-10上表现不好,过拟合所致。

深度越深越好吗?

如下图所示:56层的网络不论是在训练集还是在测试集都比20层的网络误差要高。这就是网络退化现象,指的是网络层数越高效果还不如浅层网络现象。而不是过拟合、梯度消失、梯度爆炸现象。

名词解释

1、过拟合:模型的训练误差远小于它在测试数据集上的误差。

2、梯度消失出现的原因:在深层网络中,如果激活函数的导数小于1,靠近输入层的参数的梯度因为乘了很多的小于1的数而越来越小,最终就会趋近于0,例如sigmoid函数极易发生这种情况。

3、梯度爆炸出现的原因:求解损失函数对参数的偏导数时,如果在梯度的连续乘法中总是乘以很大的绝对值,部分参数的梯度因而变得非常大,导致模型无法收敛。

ResNet解决网络退化的机理

1、深层梯度回传顺畅:恒等映射这一路的梯度是1,把深层梯度注入底层,防止梯度消失。没有中间商层层盘剥。

2、ResNet相当于几个浅层网络的集成

3、传统线性结构网络难以拟合“恒等映射”弥补了高度非线性造成的不可逆的信息损失。

什么都不做有时很重要(identity)         skip connection可以让模型自行选择要不要更新

类比其它机器学习模型

集成学习boosting,每一个弱分类器拟合“前面的模型与GT之差”

长短时记忆神经网络LSTM的遗忘门

Relu激活函数

ResNet反向传播传回的梯度相关性好

网络加深,相邻像素回传回来的梯度相关性越来越低,最后接近白噪声。但相邻像素之间具有局部相关性,相邻像素的梯度也应该局部相关。相邻像素不相关的白噪声梯度只意味着随机扰动,并无拟合。

ResNet梯度相关性衰减从1/2^L增加为1/L^(1/2)。保持了梯度相关性。

结语

ResNet有效的真实原因(仅个人看法)

对于ResNet有效的真实原因还有待研究,原论文也只是做出了猜测,并没有很严格的理论证明。后续也有非常多的人做出了不一样的或者进一步的论证 个人比较赞同的是残差结构的有效性其实主要源自ensemble,每一个残差都是一次简化的ensemble。比较火的RepVGG就是建立在这个猜测上设计的网络,结果确实很优秀,也侧面论证的ensemble这个猜测的可能性。

参考论文:Deep Residual Learning for Image Recognition

参考视频:YouTube 2016年何恺明在CVPR上的演讲、B站同济子豪兄、跟李沐学AI

辅助文献资料(均来自CSDN):深度学习之残差网络的原理、残差网络原理

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值