网络结构解读之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. 6.RDD算子实战

    from pyspark import SparkContext,SparkConf import sys if __name__ == '__main__': if len(sys.argv) != ...

  2. MQTT--笔记

    一.MQTT协议基本介绍 1.1.MQTT是什么? MQTT,全称为Message Queue Telemetry Transport.在1999年,由IBM的Andy Stanford-Clark和 ...

  3. scala中Array简单实用

    /** * 在scala中数组的使用 * 和java很类似,初始化后,长度就固定了,而且元素全部根据其类型初始化 * */ object arrayUse { def main(args: Array ...

  4. thinkphp 模块化设计

    一个完整的ThinkPHP应用基于模块/控制器/操作设计,并且,如果有需要的话,可以支持多入口文件和多级控制器. ThinkPHP3.2采用模块化的架构设计思想,对目录结构规范做了调整,可以支持多模块 ...

  5. VS2010-MFC(常用控件:标签控件Tab Control 下)

    转自:http://www.jizhuomi.com/software/207.html 上一节讲了标签控件知识的上半部分,本节继续讲下半部分. 标签控件的创建 MFC为标签控件的操作提供了CTabC ...

  6. deployment资源

    目的:用rc在滚动升级之后,会造成服务访问中孤单,于是k8s引入了deploymentziyuan 创建deployment vim k8s_deploy.yml apiVersion: extens ...

  7. ubuntu常见错误–Could not get lock /var/lib/dpkg/lock解决

    ubuntu常见错误–Could not get lock /var/lib/dpkg/lock解决     通过终端安装程序sudo apt-get install xxx时出错:     E: C ...

  8. <Django>第一篇:入门的例子

    1.MVT框架 Model(模型):数据库交互相关.在这部分一般需要进行三个操作: (1)面向数据库:模型对象.列表 (2)定义模型类:指定属性及类型,确定表结构(设计表),需要迁移(生成表) (3) ...

  9. [POI2013]MOR-Tales of seafaring

    题目 思博题,发现一旦路径太长我们可以来回走最后一条边,但是这样并不能改变路径长度的奇偶性 所以求一下所有点之间奇最短路和偶最短路就好了,直接暴力\(BFS\)即可 有一个烦人的特判 代码 #incl ...

  10. SQL Serve 临时表

    SQL Server 支持临时表.临时表就是那些名称以井号 (#) 开头的表.如果当用户断开连接时没有除去临时表,SQL Server 将自动除去临时表.临时表不存储在当前数据库内,而是存储在系统数据 ...