ResNet论文详解

在这里插入图片描述

ResNet论文详解

文章概述:

  • 这是一个在ImageNet detection, ImageNet localization,COCO detection, and COCO segmentation都包揽冠军的网络。在它之前的网络的主要目标是为了使得loss减小,拟合目标值,而resnet主要的思想是拟合残差,在module之间添加了一个shortcut,使得网络的梯度不会消失,而且训练的时候效果也会更好。

  • 在加上了shortcut的同时,其实相当于模型的融合,数据走过不同通道相当于不同模型的融合。比如说,三个resnet的基本block堆叠之后其实可以等价于各种不同模型的堆叠,这种模型融合也提高了模型的泛化性能。(如下图所示,通过不同路径就是一个不同模型)
    在这里插入图片描述

  • 在resnet中也开始使用了1x1卷积,BN层等trick。并尝试将每一个block模块化,这是非常值得我学习的。

问题的提出:

  • 作者在论文中先提出了,网络层数增加导致的训练困难和错误率上升的问题。虽然这个时候已经有了合理的初始化方案,还有在层与层之间的归一化防止梯度消失的方案。但是网络变深,梯度还是会消失,训练还是会变得很困难。而且,当网络层不断加深的时候,很深的网络反而性能不如很浅的网络。下图显示了深层网络反而不如浅层网络的现象。
    -

  • 为了避免这个现象,作者想到了用拟合残差的方法逼近目标值的方法。传统的方法一般都是直接拟合目标值,但是这个目标值是潜在的,没有参照的(underlying mapping),在真正优化的时候往往会有难度。然而残差拟合法经过实验发现,这是一种比较快的拟合方法,因为残差比较容易趋近0,而且有拟合的参照。于是作者提出了一下的module:

在这里插入图片描述

  • 我们假设要拟合的潜在目标值是H(x),在网络中,我们转而拟合的是F(x),由网络我们可以清楚地知道,

    H ( x ) = F ( x ) + x H(x) = F(x)+x H(x)=F(x)+x F ( x ) = H ( x ) − x F(x) = H(x)-x F(x)=H(x)x,在这个网络中F(x)经过网络,x通过shortcut,在BP的时候,优化的是F(x),也就是残差,这也是残差网络的来源,也是这个网络最关键的部分。

  • 作者在后续的实验发现,Bottleneck能够使得网络精度得到进一步提高。bottleneck就相当于一个细细的瓶口一样,再计算的过程中把用1x1卷积通道数降低之后,进行3x3卷积,最后再把通道数提升回来,这不仅减少了计算的参数量,而且使得shortcut能够继续使用在module中。

  • 在这里插入图片描述

实验结果和性能对比

  • 作者在比赛的时候建立了两个模型,分别与VGG19进行对比,第一个模型在没有shortcut,但是除去了VGG19在最后的两个4096的FC层,改成了avg pool和1000的fc,大大减少参数量。第二个模型在第一个模型的基础上加上了shortcut。虽然图很大,我想想还是放上去吧。
    在这里插入图片描述

  • 需要注意的是,在resnet的网络结构中,不仅有实线的shortcut,也有虚线的shortcut,虚线的shortcut出现在下采样的时候,为了配合下采样,使得elewise顺利进行,作者在shortcut中也加了一层步长为2的卷积,使得图片的size减半。具体实现如下图:
    -

  • 这三个网络的浮点计算次数如下:Left: theVGG-19 (19.6 billion FLOPs) as a reference. Middle:
    a plain network with 34 parameter layers (3.6 billion FLOPs).Right: a residual network with 34 parameter layers (3.6 billion FLOPs).

  • 加了shortcut对于浮点计算次数并没有很大的影响,或者说是几乎没有影响。网络的具体数字结构如下,最深的网络的参数量也远小于VGG16

  • 以下图表是各种resnet的层级结构:在pytorch中,resnet的基本模块通过make_layer实现。也就是说,make_layer就是为了实现下面图表的基本模块。
    在这里插入图片描述

  • 在训练中,作者发现层数变深,并没有出现梯度消失的现象,反而精确率不断提高。这篇文章基本上从根本上解决了由于层数增加而出现的梯度消失现象,使得深层网络更容易训练,最终也成为了现在cv方向的主流模型。

  • resnet凭借它优异的性能成为了第一个分类精确度大于人类的神经网络。最后放上一张resnet的成绩单,凯明大神的强大,可以好好品品。
    -

    • 在论文的最后是作者的那5场冠军比赛的实现细节,和之前的Fast RCNN结合起来,完成了分类,回归还有目标检测的功能。在这里就不多说了,有兴趣的可以自己去看看喽。
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值