【论文阅读总结】inception v4与Inception-ResNet总结

news2024/11/19 9:25:26

Inception-v4, Inception-ResNet和Residual connections对学习的影响

  • 1.摘要
  • 2.引言
  • 3.文献综述
  • 4.体系结构的选择
    • 4.1 Pure Inception
    • 4.2 Residual Inception Blocks【残差Inception 块】
    • 4.3 Scaling of the Residuals【残差的缩放】
      • 4.3.1实验发现
        • 4.3.1.1实验发现1
        • 4.3.1.2实验发现2
        • 4.3.1.3实验发现3
  • 5.结构详细介绍
    • 5.1 Inception v4结构
    • 5.2 Inception-Resent-v1结构
    • 5.3 Inception-Resent-v2结构
    • 5.4 总图
  • 6.模型内部组件对比
      • 6.1整体框架
      • 6.2 Stem块【主干块】
      • 6.2Inception A块
      • 6.3 Reduction A块
      • 6.4 Inception B块
      • 6.5 Reduction B块
      • 6.6 Inception C块
    • 7.阅读总结
      • 7.1论文总结
      • 7.2 个人阅读总结

  • 论文链接:
    • https://arxiv.org/pdf/1602.07261.pdf

1.摘要

  • 超深度卷积网络是近年来图像识别性能最大进步的核心。
    • 例如:Inception体系结构,它已经被证明以相对较低的计算成本实现了非常好的性能。
  • 新问题提出:
    • 最近残差连接技术与更传统的结构相结合,取得了最先进的性能,其性能与最新一代的Inception-v3网络相似。这就提出了将Inception体系结构与残差连接结合起来是否有任何好处的问题。
  • 结论:
    • 我们给出了明确的经验证据,表明使用残差连接的训练显著加速了Inception网络的训练。
    • 还有一些证据表明,Residual Inception网络比no-Residual connections的Inception网络性能要好。
    • 我们还针对residual and non-residual Inception networks提出了几种新的流线型架构。我们进一步演示了适当的激活缩放如何稳定非常广泛的Residual Inception网络的训练。通过三个residual和一个Inception-v4的集成,我们在ImageNet分类(CLS)挑战的测试集上实现了3.08%的top-5误差。
      在这里插入图片描述

2.引言

  • 我们研究了两种最新思想结合: Residual connections (残差连接) 和inception v3 结合
  • Residual connections 论文中认为残差连接对于训练非常深入的架构具有内在的重要性。
  • 由于Inception网络往往非常深,因此很自然地用残差连接替换Inception体系结构的过滤器连接阶段。这将允许 Inception 结构获得residual connections方法的所有好处,同时保持其计算效率。
  • inception v4:
    • 除了一个简单的集成,我们还研究了 Inception本身是否可以通过使其更深入和更广泛而变得更高效。设计了一个名为inception-v4的新版本,它具有比inception-v3更统一的简化架构和更多的inception模块。
    • 从历史上看,Inception-v3继承了早期版本的许多包袱。技术上的限制主要来自于需要使用DistBelief对模型进行分布式训练。现在,在将我们的训练设置迁移到TensorFlow之后,这些限制已经解除,这使我们能够显著简化架构。
  • 在本报告中,将比较两个纯Inception变体(Inception-v3和v4),以及混合同样昂贵的Inception resnet版本。这些模型的选择有些特别,主要的限制是模型参数和计算复杂度应该与非残差模型的成本有点相似。
  • 实验结果
    • Inception-v4inception-resnet-v2都表现得很好,在ImageNet验证数据集上超过了最先进的单帧性能.
    • 我们想看看它们的组合如何在这个经过充分研究的数据集上推动最先进的状态。令人惊讶的是,我们发现单帧性能的增益并没有转化为集成性能的同样大的增益。
    • 尽管如此,它仍然允许我们在验证集上报告3.1% top-5 错误,据我们所知四个模型集成设置了一个新的艺术状态。
    • 在最后一节中,我们研究了一些分类失败,并得出结论,集成仍然没有达到该数据集上注释的标签噪声,预测仍有改进的空间。

3.文献综述

  • 卷积网络在大规模图像识别任务中变得流行起来。
  • He et al.等人介绍了残差连接,他们给出了令人信服的理论和实践证据,证明了使用加性合并信号的优势,无论是图像识别,还是物体检测。作者认为,残差连接对于训练非常深度的卷积模型本质上是必要的。
  • 我们的研究结果似乎并不支持这一观点,至少在图像识别方面。
  • 然而,这可能需要更多具有更深架构的测量点来理解残差连接所提供的有益方面的真实程度。
  • 在实验部分中,我们证明了在不利用残差连接的情况下训练具有竞争力的深度网络并不是很难。然而,残差连接的使用似乎大大提高了训练速度,这是使用残差连接的一个很好的理由。
  • Inception深度卷积架构在中被引入。

4.体系结构的选择

4.1 Pure Inception

  • 旧的Inception模型曾经以分区方式进行训练,其中每个副本被划分为多个子网络,以便能够在内存中适应整个模型。
  • Inception体系结构高度可调,对过滤器数量有很多更改方式,而不会影响经过完全训练的网络的质量。为了优化训练速度,我们仔细调整了层大小,以平衡各个模型子网络之间的计算。
  • 随着TensorFlow的引入,我们最新的模型可以在不划分副本的情况下进行训练
    • 原因:在一定程度上是由于对反向传播所使用的内存进行了优化,通过仔细考虑梯度计算需要哪些张量,并构建计算以减少此类张量的数量。
  • 从历史看,在改变架构方面相对保守,限制改变孤立网络组件同时保持网络的其余部分稳定。没有简化早期的选择导致网络看起来比它们需要的更复杂。
  • 在我们更新的实验中,对于Inception-v4,我们决定摆脱这个不必要的包袱,并为每个网格大小的Inception块做出统一的选择。
  • 注意
    • 图中所有未标记V的卷积都是 same-padded,输出网格与输入网格大小一样。
    • 标记为V的卷积是 valid-padded,每个单元的输入patch完全包含在前一层中,输出激活映射的网格大小相应减小。
      在这里插入图片描述

4.2 Residual Inception Blocks【残差Inception 块】

  • 对于Inception网络的残差版本,使用比原始更便宜的Inception块。
  • 每个Inception块后面是过滤器扩展层(1 *1无激活卷积),用于在添加之前缩放滤波器组的维度,以匹配输入的深度。这是补偿由Inception块引起的维数降低所必需的。
  • 我们尝试创建Inception残差版本。这里只详细介绍了其中的两个。
    • Inception-ResNet-v1:大致是Inception-v3的计算成本
    • Inception-ResNet-v2:则与新引入的Inception-v4网络的原始成本相匹配。(在实践中,Inception-v4的步骤时间被证明要慢得多,这可能是由于层数更多的缘故。)
  • Inception-ResNet-v1Inception-ResNet-v2网络模式图
    • 两个模型的模型结构一致,只是内部组件发生变化
      在这里插入图片描述
  • 残差Inception变体和非残差Inception变体之间的另一个技术上的小区别是:
    • 在Inception- resnet的情况下,我们只在传统层上使用批处理规范化,而不是在总和层上使用批处理规范化。
  • 充分使用批处理归一化是有好处的,但我们希望每个模型副本都可以在单个GPU上训练。
    • 事实证明,具有大激活层的内存占用消耗了不成比例的GPU内存。
  • 通过在这些层上省略批处理规范化,我们能够大幅增加Inception块的数量。
  • 我们希望,随着计算资源的更好利用,这种权衡将变得不必要。

4.3 Scaling of the Residuals【残差的缩放】

4.3.1实验发现

4.3.1.1实验发现1

  • 如果过滤器的数量超过1000个,残差变量开始表现出不稳定性,网络刚刚在训练的早期“死亡”,这意味着平均池化之前的最后一层在数万次迭代后开始只产生零。
  • 无论是通过降低学习率,还是通过向该层添加额外的批处理规范化,都无法避免。

4.3.1.2实验发现2

  • 在将残差添加到前一层之前缩小残差,激活似乎可以稳定训练。一般我们在残差被添加到累积层激活之前,选择了0.1到0.3之间的缩放因子来缩放残差。
    在这里插入图片描述

4.3.1.3实验发现3

  • He et al等人在非常深的残差网络的情况下,观察到类似的不稳定性,他们建议进行两阶段训练。
    • 第一个“热身”阶段以非常低的学习率完成
    • 第二个阶段以高学习率完成。
  • 发现:
    • 如果过滤器的数量非常多,那么即使非常低(0.00001)的学习率也不足以应对不稳定性,具有高学习率的训练有机会破坏其效果。
    • 发现按比例计算残差更可靠。即使在不需要严格缩放的情况下,它似乎也不会损害最终的精度,但它有助于稳定训练。
      在这里插入图片描述

5.结构详细介绍

5.1 Inception v4结构

在这里插入图片描述

5.2 Inception-Resent-v1结构

在这里插入图片描述

5.3 Inception-Resent-v2结构

在这里插入图片描述

5.4 总图

在这里插入图片描述

6.模型内部组件对比

6.1整体框架

  • Inception v4
    • 使用figure9,pure inception 块
  • Inception Resent v1Inception Resent v2
    • 使用figure15, Resent inception 块
      在这里插入图片描述

6.2 Stem块【主干块】

在这里插入图片描述

6.2Inception A块

在这里插入图片描述

6.3 Reduction A块

  • 全是用图figure7结构
    在这里插入图片描述

6.4 Inception B块

在这里插入图片描述

6.5 Reduction B块

在这里插入图片描述

6.6 Inception C块

在这里插入图片描述

7.阅读总结

7.1论文总结

  • 论文主要就是将Residual connections (残差连接) 和inception v3 结合。
  • 提出了三种新的网络架构
    • Inception-ResNet-v1:一个混合的Inception版本,与Inception-v3具有类似的计算成本
    • Inception-ResNet-v2:一个更昂贵的混合Inception版本,但识别性能显著提高。
    • Inception v4:一个没有Residual connections的pure Inception变体.
  • 研究了Residual connections的引入如何显著提高了Inception架构的训练速度。
  • 此外,我们最新的模型(Residual connections和no-Residual connections)比我们之前的所有网络都要好,只是因为模型尺寸增加了

7.2 个人阅读总结

  • 论文共有12页,有7-8页是组件结构图,和实验结果图。
  • 这篇论文就是将残差连接与Inception块结合,实验是否能够提升模型。
  • 结果也证明了性能得到了提高,但是论文好像没有提出太明显创建模型的新思想,就是修改组件结构。【可能我还没有读懂】
  • 残差连接这篇论文我还没有看,但是好像没有影响我读这篇论文,组件结构为何这样构建,需要读残差网络论文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/110888.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ERP容灾备份维护工作有哪些?服务器容灾备份

ERP维护工作有哪些?这是公司信息化专员工作职责:信息规划  1、参与 公司信息化系统总体构架,建立健全公司信息化各项管理制度和标准业务流程,组织公司各业务部门不断进行业务流程的梳理、优化和创新,推动信息化的持续…

408 考研《操作系统》第三章第二节:内存管理、覆盖和交换 、连续分配管理方式、动态分区分配算法

文章目录1. 内存管理的概念1.1 内存保护1.2 总结2. 覆盖与交换2.1 覆盖技术2.2 交换技术2.3 总结:3. 连续分配管理方式3.1 单一连续分配3.2 固定分区分配3.3 动态分区分配3.4 总结4. 动态分区分配算法4.1 首次适应算法4.2 最佳适应算法4.3 最坏适应算法4.4 邻近适应…

米尔基于ARM架构核心板的国产化EtherCAT主站控制器解决方案

EtherCAT是由德国BECKHOFF自动化公司于2003年提出的实时工业以太网技术。它具有高速和高数据有效率的特点,支持多种设备连接拓扑结构。其从站节点使用专用的控制芯片,主站使用标准的以太网控制器。 EtherCAT是一种工业以太网技术,看到的大多…

【RocketMQ】RocketMQ实例--顺序消息

1、应用场景 一、以证券股票交易撮合场景为例,对于出价相同的交易单,坚持按照先出价先交易的原则,下游处理订单的系统需要严格按照出价顺序来处理订单。 二、以数据库变更增量同步场景为例,上游源端数据库按需执行增删改操作&…

RK3568烧录系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、烧录工具二、烧录步骤单独烧录烧录整个固件总结前言 前面我们已经学会了编译系统,包括一键编译和单独编译,其中单独编译适合我们做驱…

ENSP 路由器到本地(现实)PC的FTP实验

前言: 在一个风和日丽的下午,我同事突然问我ENSP和本地PC怎么上传和下载文件?我本以为这个很简单,然后我开始了面向百度编程,但是网上的大多数都是ENSP里面的路由器、服务器和PC间的FTP实验,而不是到本地&…

嵌入式经典通信总线协议:SPI协议

目录 一、spi简介 二、SPI特性 三、spi四种工作方式 四、实现代码 1.选择开发板 2.选择SPI 3.设置硬件片选使能和通讯方式,其他根据需要选择 4. 生成代码 一、spi简介 SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口…

GIT:如何删除仓库中的.idea .DS_Store target文件/文件夹并设置下次不上传

0. 引言 我们常常会有在git仓库初始化时,忘记设置.gitignore文件导致一些非工程文件上传到仓库中了,导致整个仓库的不美观,甚至影响其他开发同事配置代码。这时候我们就需要删除这些指定文件,那么如何操作呢,这一章我…

php学生成绩管理系统,在线录入、统计学生成绩,多种图表展示对比学生成绩

教学质量是学校教学的生命线,只有能够客观分析自己教学成败得失的教师才是一个合格的老师。这是一款注重优化成绩采集方法、丰富成绩分析维度的小学成绩统计系统,力争做到符合教师工作习惯、使用方法简单、数据分析多样、分析结果科学,为教师…

垃圾回收机制之v8引擎

v8的内存分配 (栈(执行环境)跟堆) 堆内存负责垃圾回收机制,只有新生代和老生代两部分 新生代:对等分的(严格) 老生代: 都是由新生代转变的(连续的空间&…

Vue 实现 html 表格 (grid) 单元格编辑功能 2

第一版表格编辑实现是刚学VUE时硬凑出来 点击详见 经过网上的不断学习,代码精简功能增强,克服了上一个版本的两个bug。 欢迎没有下载积分的朋友欢迎复制转载。 主要功能: 由于取消了 vue 循环的 key 更新,故单元格不需要点击两…

Redis常见面试题(六)

目录 1、Redis支持的Java客户端有哪些? 2、Redisson是什么框架? 3、Redis和Redisson有什么关系? 4、Jedis和Redisson对比有什么优缺点? 5、Redis为什么不提供Windows版本? 6、Redis怎么在Windows下使用? 7、Redis如何设置密码访问? 8、Redis如何分析慢查询操作?…

前端线上问题如何调试

记录Vue开发过程中遇到的问题,测试环境以及本地显示都没有问题,但是一上线就出现问题,于是对于这个问题进行排查,在此记录排查问题的步骤以及方法,希望对大家有帮助。 错误信息:Uncaught TypeError: Canno…

Redis常见面试题(七)

目录 1、什么是缓存预热? 2、什么是缓存热备? 3、什么是缓存雪崩? 4、如何解决缓存雪崩? 5、什么是缓存穿透? 6、如何解决缓存穿透? 7、什么是缓存击穿? 8、如何解决缓存击穿? 9、什么是缓存抖动? 10、如何解决缓存抖动? 11、什么是缓存无底洞? 12、如何…

如何让一个 C 语言项目调用另一个 C++ 项目中某些类所提供的接口?

目前問題是這樣的:有兩個項目 一個項目是用 C 寫的 裏面提供了一個輸入輸出接口 後來從外面弄來了另外一個項目 用 C 寫的 現在需要將 C 項目中所使用的原有接口替換為使用我們的 C 項目中提供的接口 求問能夠實現否? 在项目开发过程中,我们底…

XGBoost总结

1.算法原理 XGBoost是boosting算法的其中一种。Boosting算法的思想是将许多弱分类器集成在一起形成一个强分类器。因为XGBoost是一种提升树模型,该算法思想就是不断地添加树,不断地进行特征分裂来生长一棵树,每次添加一个树,其实…

CSS3之3D转换

文章目录一、3D移动translate3d二、perspective(透视)三、translateZ四、rotateX-rotateY-rotateZ五、rotate3d(x,y,z,deg)六、3D呈现transfrom-style七、旋转木马案例一、3D移动translate3d 3D移动在2D移动的基础上多加了一个可以移动的方向&#xff0…

Python 函数用法和底层分析

【无限嚣张(菜菜)】:hello您好,我是菜菜,很高兴您能来访我的博客,我是一名爱好编程学习研究的菜菜,每天分享自己的学习,想法,博客来源与自己的学习项目以及编程中遇到问题…

Android编译ZLMediaKit之实现NVR功能问题点记录

NVR功能 NVR,全称Network Video Recorder,即网络视频录像机,是网络视频监控系统的存储转发部分,NVR与视频编码器或网络摄像机协同工作,完成视频的录像、存储及转发功能。 一、git clone项目 git clone --recursive …

ES 的存储原理

目录 一、ES是什么 二、ES基本结构 2.1、结构图 2.2、基本概念 2.3、与关系数据库概念的类比 2.4、数据如何读写 2.5 容灾能力 三、ES的文件存储结构 每个分片的事务日志(Transaction Log) Index文件夹内文件含义(lucene文件夹) 四、存储步骤…