Inception模块分为V1、V2、V3和V4。

  1. V1(GoogLeNet)的介绍

论文:Going deeper with convolutions

论文链接:https://arxiv.org/pdf/1409.4842v1.pdf

主要问题:

  1. 每张图中主体所占区域大小差别很大。由于主体信息位置的巨大差异,那选择合适的卷积核相对来说就比较困难。信息分布更全局性的图像适合选用较大的卷积核,信息分布较局部的图像适合较小的卷积核。
  2. 非常深的网络更容易过拟合。将梯度更新传输到整个网络是很困难的。
  3. 简单地堆叠较大的卷积层非常消耗计算资源。

解决方法:

作者在神经网络设计上不是增加深度而是增加网络宽度,并且为了降低算力成本,作者在3*3和5*5卷积层之前添加额外的1*1卷积层,来限制输入信道的数量。

  2.V2介绍

论文:Rethinking the Inception Architecture for Computer Vision

论文地址:https://arxiv.org/pdf/1512.00567v3.pdf

主要问题:

  1. 减少特征的表征性瓶颈。直观来说,当卷积不会大幅度改变输入维度时,神经网络可能会执行地更好。过多地减少维度可能会造成信息的损失,也成为[特征性瓶颈]。
  2. 使用更优秀的因子分解方法,卷积才能在计算复杂度上更加高效。

解决方法:

最左侧一排将5*5分解成两个3*3,实际上一个5*5卷积的计算成本是一个3*3卷积的2.78倍。所以叠加会提升性能。如下图:

推论出,若有n*n卷积核,那么我们可以分解为1*n和n*1两个卷积。如下图,若n为3,则和上图一致:

但是,为了解决表征性瓶颈,我们若拓宽模型而不是加深模型,那么会避免信息损失,如下图:

   3.V3介绍

论文:Rethinking the Inception Architecture for Computer Vision

论文地址:https://arxiv.org/pdf/1512.00567v3.pdf

主要问题:

  1. 作者注意到辅助分类器直到训练过程快结束时才有较多的贡献,那时准确率接近饱和。作者认为辅助分类器的功能是正则化,尤其是它们具备BN和dropout时。
  2. 是否能够改进V2而无需大幅更改模块仍需要研究。

解决方法:

  1. RMSProp优化器;
  2. Factorized7*7卷积;
  3. 辅助分类器使用了BN;
  4. 标签平滑(添加到巡视公式的一种正则化项,旨在组织网络对某一类别过分自信,即阻止过拟合)。

  4.V4介绍

论文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning

论文地址:https://arxiv.org/pdf/1602.07261.pdf

主要问题:

使模块更加一致。作者还注意到某些模块有不必要的复杂性。这允许我们通过添加更多一致的模块来提高性能。

解决方法:

图1左侧是V4的整体结构,图1右侧是V4的stem部分,用于对于进入Inception模块钱的数据进行预处理,减小对图像压缩的精度损失。stem部分就是多次卷积+2次池化,池化采用了V3论文里面提到的卷积+pooling并行的结构,来防止bottleneck问题。stem后用了3种Inception模块。直接的Reduction模块起到了pooling作用,同样使用了并行的结构来防止bottleneck问题。

图1:Inception-V4结构

图2:从左到右分别为Inception-V4中的InceptionA\B\C模块

图3所示,V4中引入了专用的reduction block,它被用于改变网络的宽度和高度。

图3:Inception-V4中的Reduction模块

小总结:

  1. 降维:比如,一张500*500且厚度depth为100的图片在20个filter上做1*1的卷积,那么结果的大小为500*500*20.
  2. 加入非线性。卷积层之后经过激励层,1*1的卷积在前一层的学习表示上添加了非线性激励,提升网络的表达能力;可以在保持特征面尺度不变的(即不损失分辨率)的前提下大幅度增加非线性特性(利用后接的非线性激活函数),把网络坐的很深。

Inception V1、V2、V3和V4的更多相关文章

  1. GoogLeNet 之 Inception v1 v2 v3 v4

    论文地址 Inception V1 :Going Deeper with Convolutions Inception-v2 :Batch Normalization: Accelerating De ...

  2. 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2

    from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...

  3. android google map v1 v2 v3 参考

    V1,V2已经不被推荐使用,谷歌强烈推荐使用V3. 本人在选择时着实纠结了良久,现在总结如下: 对于V1,现在已经申请不到API KEY了,所以不要使用这个版本.这个是网址:https://devel ...

  4. 51nod Bash游戏(V1,V2,V3,V4(斐波那契博弈))

    Bash游戏V1 有一堆石子共同拥有N个. A B两个人轮流拿.A先拿.每次最少拿1颗.最多拿K颗.拿到最后1颗石子的人获胜.如果A B都很聪明,拿石子的过程中不会出现失误.给出N和K,问最后谁能赢得 ...

  5. react-router 从 v2/v3 to v4 迁移(翻译)

    react-router v4 是完全重写的,所以没有简单的迁移方式,这份指南将为您提供一些步骤,以帮助您了解如何升级应用程序. 注意: 这份迁移指南适用于react-router v2和v3,但为简 ...

  6. 51Nod 最大M子段和系列 V1 V2 V3

    前言 \(HE\)沾\(BJ\)的光成功滚回家里了...这堆最大子段和的题抠了半天,然而各位\(dalao\)们都已经去做概率了...先%为敬. 引流之主:老姚的博客 最大M子段和 V1 思路 最简单 ...

  7. 51Nod 最大公约数之和V1,V2,V3;最小公倍数之和V1,V2,V3

    1040 最大公约数之和 给出一个n,求1-n这n个数,同n的最大公约数的和.比如:n = 6 1,2,3,4,5,6 同6的最大公约数分别为1,2,3,2,1,6,加在一起 = 15 输入 1个数N ...

  8. Feature Extractor[inception v2 v3]

    0 - 背景 在经过了inception v1的基础上,google的人员还是觉得有维度约间的空间,在<Rethinking the Inception Architecture for Com ...

  9. 论文阅读笔记四十二:Going deeper with convolutions (Inception V1 CVPR2014 )

    论文原址:https://arxiv.org/pdf/1409.4842.pdf 代码连接:https://github.com/titu1994/Inception-v4(包含v1,v2,v4)   ...

随机推荐

  1. phpStudy中升级MySQL版本到5.7.17的方法步骤

    http://www.jb51.net/article/120263.htm 前言 今天在工作发现一个错误,在往本地导数据表的时候老是报错: ? 1 [Err] 1294 - Invalid ON U ...

  2. Python--day43--mysql唯一索引和外键变种之多对多

    唯一索引:(unique关键字)unique 名字 (num) 外键的变种:

  3. 浅谈集合框架六——集合扩展:Arrays工具类、集合与数组相互转换方式;

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  4. 【t093】外星密码

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有了防护伞,并不能完全避免2012的灾难.地球防卫小队决定去求助外星种族的帮助.经过很长时间的努力,小 ...

  5. Vue 子组件传父组件

    vue中的传值是个很烦的问题,记录一下自己完成的这个需求. 首先,被引用的称之为子组件,当前页面为父组件,这个不能搞错. 子组件传值,要用到this.$emit. 子组件页面,需要在一个函数中使用th ...

  6. vue2.x+elelmentUI@3.5 表格

    <template> <section> <el-row> <el-col :span="16"> <!--表单--> ...

  7. SpringBoot使用Junit测试 防止事物自动回滚

           问题:我在测试类中的save方法测试成功通过,但数据库没有插入数据 测试方法如下: @Test @Transactional // @Rollback(false) public voi ...

  8. SpringBoot的四种定时任务

    定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务. 使用这种方式可以让你的程序按照某一个频度执行 ...

  9. EJB版本

    1999: ejb version 1.1 -- j2ee 1.22001: ejb version 2.0 -- j2ee 1.32003: ejb version 2.1 -- j2ee 1.42 ...

  10. If条件语句实战

    1.If条件判断语句 通常以if开头,fi结尾.也可加入else或者elif进行多条件的判断,if表达式如下: if (表达式) 语句1 else 语句2 fi 2.If常见判断逻辑运算符详解: -f ...