ResNet文献阅读报告

  • 一、背景简介
  • 二、残差结构
  • 三、bottleneck结构
  • 四、实验细节
    • (1)对ResNet解决网络退化问题能力的验证
    • (2)与SOTA的对比
    • (3)CIFAR-10的实验结果
    • (4)目标检测的实验结果
  • 五、总结

一、背景简介

我选择的文献是Deep Residual Learning for Image Recognition,这篇论文的第一作者为何恺明,并夺得了2016年CVPR的best paper奖项。

深度学习中的网络从AlexNet,到VGG,再到GoogleNet,经历了网络层数的逐步加深。更深层的网络有着更强大的表征能力,可以提取出更加复杂的特征,从原则上来说应该会带来更好的结果。但是仅仅通过堆积层数来加深网络,会带来梯度消失和梯度爆炸的问题,进而使网络更难收敛;同时,网络性能会逐渐趋于饱和,甚至开始下降,这也被称为深度网络的退化问题。

在这种背景下,作者提出了ResNet深度残差网络,成功解决了退化问题,使得网络性能随着网络层数的增加而增加。

二、残差结构

ResNet中引入了残差网络结构,即在输入和输出层之间添加了一个直接通路,即恒等映射。对于一般的网络,网络需要学习的是从输入到输出的映射H(x),而对于残差网络,网络需要学习的是H(x)-x。残差结构见下图所示。

残差结构的提出源于作者作出的假设:对于一个更深层的网络,如果多出来的层仅仅做了恒等映射的话,那么更深层的网络性能一定不会比浅层网络的性能要差。残差结构既没有增加原模型的计算复杂度,也没有增加模型的参数量,但却使得网络的学习变得更加容易。

三、bottleneck结构

在构建ResNet-18和ResNet-34的时候,采用的是上述的残差结构,当需要构建更深的ResNet模型时,采用的是一种称为bottleneck的残差结构。

在bottleneck残差结构中,输入会经过1×1的卷积进行降维,经过3×3的卷积层之后,又会经过1×1的卷积进行升维,这使得模型的参数量大大减少,同时加快了模型的计算速度。Bottleneck残差结构和一般的残差结构对比见下图所示。

四、实验细节

(1)对ResNet解决网络退化问题能力的验证

作者首先比较了18层和34层的普通网络在ImageNet数据集上的分类效果,发现34层的深层网络表现比18层的浅层网络要差;之后作者又比较了18层和34层的残差网络在ImageNet数据集上的分类效果,发现情况相反,34层的ResNet网络表现比18层的ResNet网络表现更好。具体的表现见下表。

(2)与SOTA的对比

作者在ImageNet上评测了融合了6个深度ResNet模型的融合模型,并与之前的State-of-the-art(SOTA)模型进行了比较,结果表明在测试集上达到了3.57%的top-5错误率,远远超过了之前的SOTA模型。比较结果见下表。

(3)CIFAR-10的实验结果

作者同样在CIFAR-10数据集上进行了类似的实验探究,发现对于普通网络来说,更深的网络存在退化问题,会带来更高的训练误差;而对于残差网络,更深的网络可以达到更低的训练误差,呈现出更好的效果。

同时作者还在该数据集上探究了超过1000层的ResNet模型的分类效果,结果发现1202层的网络和110层的网络的训练误差接近,但是1202层的网络测试误差更大,作者分析认为这可能是由于过拟合导致的。

相关实验的数据见下图。

(4)目标检测的实验结果

作者将ResNet模型进一步应用于目标检测领域,将FasterRCNN方法中的VGG-16模型替换成ResNet-101,结果发现在PASCAL和MS COCO数据集上都相比于之前的SOTA方法有着显著提高。见下表所示。

五、总结

本篇文章提出了学习残差的思想,将残差结构应用到深层的网络模型中,使得网络对于恒等映射的学习变得更加容易,进而解决了深层网络中存在的退化问题,使得网络的性能可以随着网络深度的加大而提高。因此,ResNet的提出也成为了卷积神经网络在处理图像问题上的一个里程碑事件,推动了计算机视觉领域的进一步发展。

纵观本篇文章,我认为作者提出的残差结构非常直观易懂,很简单但却又很难想到,这或许也是这篇文章堪称经典的原因吧。真正让人惊叹的作品往往都是那些简单直观,却又很好地解决了问题的,阅读这篇文章带给我的启迪也会在我以后的学术生涯中持续激励着我前行。

ResNet文献阅读报告相关推荐

  1. 文献阅读报告:MutiPath: Multiple Probabilistic Anchor Trajectory Hypotheses for Behavior Prediction

    文献阅读报告:MutiPath: Multiple Probabilistic Anchor Trajectory Hypotheses for Behavior Prediction 文章目录 文献 ...

  2. SCI文献阅读报告模板

    作为科研狗,无法逃避的事就是看文献!我们通过大量的文献阅读汲取自己所需要的方法和思维模式. 由于人的记忆周期规律,许多科研狗会面临看文献很容易忘记的问题!为了解决这个问题,我们可以通过总结.做笔记等方 ...

  3. 计算机专业文献阅读报告,研究生文献阅读课程的报告撰写基本要求

    一.  文献阅读报告的基本要求 1.按以下次序排版打印: 标题,(姓名,所在学院,学号),中文摘要及关键词,英文摘要及关键词,正文,参考文献.其中: (1)中文摘要(约150-250字)在前,英文摘要 ...

  4. [文献阅读报告]:Take-over Time Prediction for Autonomous Driving in the Real-World: Robust Models, Data Aug

    [文献阅读报告]:Take-over Time Prediction for Autonomous Driving in the Real-World: Robust Models, Data Aug ...

  5. 2015年语音识别文献阅读报告

    2015年语音识别文献阅读报告 @sprt 摘要 本文回顾了语音识别技术从开创至今的发展历程,总结了2015年国际上在内容语音识别领域所取得的最新成果和面临的主要问题,并重点关注了深度学习在自动语音识 ...

  6. haar分类器详解(Haar特征,积分图,adaboost算法,筛选式级联分类器),DCG介绍 --文献阅读报告《基于素描对视频的人脸识别研究》

    基于素描对视频的人脸识别--haar分类器详解,haar特征,adaboost,级联强分类器,积分图,DCG 背景 算法总体流程 1.预处理--识别出人脸并将人脸图像标准化 haar特征 积分图--加 ...

  7. [文献阅读报告][译]: Social-STGCNN:CVPR2020论文翻译以及解读

              Social-STGCNN: A Social Spatio-Temporal Graph Convolutional Neural Network for Human Traje ...

  8. 【课程作业】学术英语写作:文献阅读报告3

    目录 简介 Reading Report 1 Title Journal /Proceedings name (Issue/Volume) impact factor Journal ranking ...

  9. 第一篇CrossVIT文献阅读收获体会

    本篇论文是本人阅读的第一篇文献,在听过同学对Transformer模型的讲解之后,作为研一刚看完一边吴恩达视频的小白,直接上手本篇文章,属实有点跨度大.选择本篇文献作为文献阅读报告,实属巧合.在组会上 ...

最新文章

  1. Protocol Buffers简明教程
  2. 5.1软件升级的小阳春
  3. Java基础--通过反射获取成员方法并使用
  4. 操作系统大内核和微内核_操作系统中的内核类型
  5. C++王者之路 | C++的sizeof 与C语言的sizeof
  6. Java笔记9:构造方法,内部类
  7. 推荐一个简洁优雅的博客系统,farbox
  8. 单一职责原则 (Single Responsibility Principle,SRP)
  9. 多重句柄怎么处理_golang异常处理详解
  10. Vert.x Web
  11. Futter基础第6篇: 实现网格布局【GridView、GridView.count、GridView.builder】
  12. 电脑怎么开护眼模式_心累!整天对着手机电脑,到底该怎么护眼啊啊啊
  13. 使用socks5代理实现SSH安全登录
  14. 4083. 最大公约数
  15. 使用Mac打开mht格式文件
  16. android动图状态延迟获取到,android实现牛顿摆
  17. 湖北智禾网络科技:新卖家前期对电商和淘宝店铺具备哪些基本的认知
  18. 问号在c语言里面的作用,问号的作用是什么-写作基础知识
  19. AV1 motion filed projection
  20. 开源OLAP系统的比较:ClickHouse、Druid和Pinot

热门文章

  1. Delphi 获取打印机,打印队列中任务数量
  2. 简洁大气的PHP抽奖网站系统源码 带留言板功能
  3. 吴恩达机器学习课程作业(一)基于python实现 详细解析(上篇)
  4. 企业从无到有,究竟靠什么?
  5. Window10安装Linux子系统(Ubuntu20.04)
  6. Linux -- Windows右键开启Linux子系统Bash
  7. 一个月薪1万的程序员给我上了震撼一课
  8. 自动驾驶中间件之三:活跃玩家盘点
  9. 适用于可迭代对象的通用函数
  10. IntelliJ Mac 常用快捷键