网络结构解读之inception系列四:Inception V3

 

  Inception V3根据前面两篇结构的经验和新设计的结构的实验,总结了一套可借鉴的网络结构设计的原则。理解这些原则的背后隐藏的动机比单纯知道这个操作更有意义。

  Rethinking the Inception Architecture for Computer Vision

  • 主题:如何高效的增大网络规模

    通过分解卷积和正则实现高效计算

  • 设计网络原则

  1.避免表征瓶颈。大部分时候,特征大小应当缓慢变小,在变小的同时增加维度。(下采样是减小信息,而升维是增加信息)

  2.高维特征更容易局部处理,收敛更快。(高维易分)

  3.空间聚合能通过低维嵌入达到无损。(concat前可以降维,性能损失接近无)

  4.平衡宽度和深度。(宽度和深度的比例要合适)

  以上原则或许是有意义的,但不能直接参照,是在不明确的时候下使用的。(相对来说可靠,但不是绝对的原则)

  • 分解卷积

  2个3*3代替1个5*5 减少28%的计算量。

一个问题,第一个3*3后接线性激活会不会比ReLU更好?(因为5*5是线性操作,而2个3*3去代替的话全程应当是线性操作)实验结果,relu更优,作者猜测是因为网络能够学习这种空间变化的增强(实验证明这是数据增强)

  • 非对称分解

  3*3卷积分解2个2*2节省11%计算量,而分解成1*3和3*1节省33%

  理论上,任何卷积都能分解成不对称卷积,但实验发现,在低层次效果不好,在12到20层加较好

  • 辅助分类器

  经过实验观察,辅助分类器在训练初期无明显作用,接近训练结束时性能开始超越,作者认为起到正则化作用。

  • 高效降分辨率(下采样)

  按照准则1,在使用pooling进行下采样前,激活值要升维。

  参照下图,如果使用左边的方式,违背准则1。如果使用右边,计算量较大(V1是这种方式)

  Inception Reduction Module

  • 结构InceptionV2(V3去掉BN)

   5*5分解卷积        非对称卷积 

基于原则2高维易分

  • 标签平滑正则LSR ( label smoothing regularization )

  作者认为硬标签下softmaxloss会过拟合,改为soft label。

   croos-entropy:

  最终损失:

  LSR:

  最终损失:

  • 低分辨率输入实验

  • Inception对比实验

网络结构解读之inception系列四:Inception V3的更多相关文章

  1. 网络结构解读之inception系列五:Inception V4

    网络结构解读之inception系列五:Inception V4 在残差逐渐当道时,google开始研究inception和残差网络的性能差异以及结合的可能性,并且给出了实验结构. 本文思想阐述不多, ...

  2. 网络结构解读之inception系列三:BN-Inception(Inception V2)

    网络结构解读之inception系列三:BN-Inception(Inception V2) BN的出现大大解决了训练收敛问题.作者主要围绕归一化的操作做了一系列优化思路的阐述,值得细看. Batch ...

  3. 网络结构解读之inception系列二:GoogLeNet(Inception V1)

    网络结构解读之inception系列二:GoogLeNet(Inception V1) inception系列的开山之作,有网络结构设计的初期思考. Going deeper with convolu ...

  4. 网络结构解读之inception系列一:Network in Network

    网络结构解读之inception系列一:Network in Network   网上有很多的网络结构解读,之前也是看他人博客的介绍,但当自己看论文的时候,发现存在很多的细节和动机解读,而这部分能加深 ...

  5. 经典分类CNN模型系列其五:Inception v2与Inception v3

    经典分类CNN模型系列其五:Inception v2与Inception v3 介绍 Inception v2与Inception v3被作者放在了一篇paper里面,因此我们也作为一篇blog来对其 ...

  6. Inception系列

    从GoogLeNet的Inceptionv1开始,发展了众多inception,如inception v2.v3.v4与Inception-ResNet-V2. 故事还是要从inception v1开 ...

  7. Inception系列理解

    博客:博客园 | CSDN | blog 写在前面 Inception 家族成员:Inception-V1(GoogLeNet).BN-Inception.Inception-V2.Inception ...

  8. 『高性能模型』卷积复杂度以及Inception系列

    转载自知乎:卷积神经网络的复杂度分析 之前的Inception学习博客: 『TensorFlow』读书笔记_Inception_V3_上 『TensorFlow』读书笔记_Inception_V3_下 ...

  9. 深度卷积网络-Inception系列

    目录 1. Inception V1 1.1 Inception module 2. Inception V2 3. Inception V3 4. Inception V4, Inception-R ...

随机推荐

  1. Delphi 第一课

    Delphi 是面向对象的 可视化的集成开发环境 对象包括属性 方法   事件. 用户事件 对象响应事件 不同的对象响应事件不一样

  2. Flink SQL 系列 | 5 个 TableEnvironment 我该用哪个?

    本文为 Flink SQL 系列文章的第二篇,前面对 Flink 1.9 Table 新架构及 Planner 的使用进行了详细说明,本文详细讲解 5 个 TableEnvironment 及其适用场 ...

  3. window.location 对象中各种方法的用途

    一.简介 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostname 当前 URL 的主机名 href 完整的 URL pathname 当 ...

  4. K最近邻(KNN,k-Nearest Neighbor)准确理解

    K最近邻(KNN,k-Nearest Neighbor)准确理解 用了之后,发现我用的都是1NN,所以查阅了一下相关文献,才对KNN理解正确了,真是丢人了. 下图中,绿色圆要被决定赋予哪个类,是红色三 ...

  5. JDK语法糖之switch字串与枚举支持

    在JDK1.7之前,switch只支持byte,short,char,int,注意1.5之后的自动拆箱,对应的这四种基础类型的封装类也同样支持Byte,Short,Character,Integer, ...

  6. element表单验证

    rules: { name:[{ required: true, message: '请输入用户名', trigger: 'blur' },{ min: 2, max: 5, message: '长度 ...

  7. <每日一题>题目5:生成器表达式面试题

    题目: def demo(): for i in range(4): yield i g = demo() g1 = (i for i in g ) g2 = (i for i in g1) prin ...

  8. P1006 传纸条 /// DP+滚动数组

    题目大意: https://www.luogu.org/problemnew/show/P1006 题解 不难想到 求从起点到终点的两条不同的路 因为只能向右或向下走 所以纸条1和2不可能同时位于同一 ...

  9. UMP系统架构 RabbitMQ

  10. U-BOOT 命令的介绍

    U­BOOT 常用命令 通常使用 help(或者只使用问号?),来查看所有的 U­BOOT 命令.将会列出在当前配置下所有支持的命令. 但是我们要注意,尽管 U­BOOT 提供了很多配置选项,并不是所 ...