深度学习|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。使得网络的学习能力能够随着网络深度的增加而增加。
- 大幅度提高了深度卷积网络提取特征的能力,获得2015年Image/vet,coco竞赛五项冠军!
- 使得计算机的在视觉方面的识别能力达到并超过了人类的水平。下图给出了在分类领域的top5错误率。可以看到ResNet的提出使得计算机的识别的错误率低于了人类的水平。
文章图片
文章图片
而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(残差映射)。
文章图片
- 其中 x和网络输出的F(x)必须维度一致。(维度不同,直接采用1*1的卷积进行上/下采样)
- 在网络的输出阶段,先相加,在进行relu。
文章图片
思考 残差模块的优点
- 不引入新的参数,不增加计算复杂度。
- 拟合的不再是underlying mapping ,而是 residual mapping。拟合起来要更简单更快。
- 采用残差模块,能通过增加网络深度,来提高网络的学习能力。
- 能够直接用SGD进行优化。
- 恒等映射,这一路的梯度是1,这样就相当于把深层的梯度直接注入了底层,防止了梯度消失。
- 学习的是残差,是相对于本身出入x的偏差,学习能力更强。很容易拟合恒等映射,只要将网络中所有参数都设为0即可。
ImageNet 从这张图可以明显看出,右图中随着网络深度的增加,训练error会变小。
文章图片
CIFAR-10 中间的图是采用ResNet,虚线是训练集,粗线是测试集。
文章图片
新手小白,如有错误,欢迎批评指正!
【深度学习|Resnet论文解读 (Deep Residual Learning for Image Recognition)】参考:
https://blog.csdn.net/briblue/article/details/83544381?spm=1001.2014.3001.5501
https://www.bilibili.com/video/BV1vb4y1k7BV?p=4
推荐阅读
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 如何更好的去学习
- 【韩语学习】(韩语随堂笔记整理)
- 焦点学习田源分享第267天《来访》