《Deep residual learning for image recognition》论文阅读笔记

        本周阅读了ResNet的论文,整篇文章的大概思路可以简述如下:

        由于深度学习的模型“深度”愈发增加,发现了一个问题——随着网络深度的增加,准确率达到饱和后会迅速退化,并且这不是由过拟合造成的——称之为退化问题(degradation problem)。而这个问题的本质原因是,模型很难去拟合一个经历过许多非线性层的恒等映射。于是作者提出了拟合残差的思想:与其让这些层直接去拟合所需的底层映射H(x),不如让这些层去拟合残差映射F(x)=H(x)-x,因为后者会更容易优化。此时H(x)就变成了F(x)+x,那么现在问题就是应该怎么去设计拟合这个F(x)+x了。

        作者为此提出了残差块(residual block),每个残差块有一个主路径和一个shortcut路径。对于主路径,有两种设计方法:①对于ResNet-34的网络,设计的是basic block,也就是每一个block包含两层;②对于ResNet-50/101/152(层数较大)的网络,设计的是bottleneck block,也就是一个block包含两层,它里面应用了1X1的卷积核进行先降维再升维的操作,使得模型的参数降低,提高训练的速度。

        对于shortcut路径,因为我们在残差块最后是要进行加法的,必须保证维度相同,而shortcut路径就可以通过比如0填充或者用1x1卷积核且stride=2等操作来进行维度的匹配,以保证加法可行。

        介绍完大致思路后,作者就进行了一系列在不同数据集上的模型比较。结果均表明,ResNet确实可以解决退化问题,即便网络深度再深,也不会出现训练准确率下降的问题了,并且作者的模型远远超过当时现有模型准确率相当大的比率,拿了许多比赛的第一名。同时,该方法的泛化能力也很强,适用于许多场合。

        最后总结一下自己对ResNet的理解。假设我们现在有一个网络,它是存在最优的网络层次的,而我们设计的深层次网络可能是有许多冗余层的,那么我们就希望这些冗余层能够完成恒等映射,保证输入与输出是相同的,这样至少也不会说降低模型的准确率。但实际中这种恒等映射很难学习。而有了residual block后,我们拟合残差为0会更加容易,其效果就相当于拟合一个恒等映射,故也使得模型至少保持了以往拥有的准确率不至于说下降。而即便现实中,最优的方案不一定是恒等映射,实验也表明,residual block的存在也可以作为一个预处理而存在,有利于我们处理问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seven_777k

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值