这篇论文写得很好。只要你知道卷积操作或公式,哪怕没看过Inception,也能看懂。

核心贡献:从Inception的思想:剥离时序卷积和空域卷积 得到启发,提出了Xception(Extreme Inception),希望能彻底解耦二者。

其他贡献:

  1. 本文提供了关于Inception的一种解释。

  2. 讨论了与现有深度可分离卷积的区别,并指出其最大影响因素是两层卷积之间的非线性化。

  3. 在两个图像分类数据库上的效果都超越了Inception V3,但参数量是一样的。

故事

Inception结构和思想

Inception结构的演进:In-Network[11] => 2014年GooLeNet(V1)[20] => Inception V2[7] => Inception V3[21] => Inception-ResNet[19]。

首先我们应该知道:一般的卷积实际上是在同时完成 通道互相关 和 空域 互相关。

A convolution layer attempts to learn filters in a 3D space, with 2 spatial dimensions (width and height) and a channel dimension; thus a single convolution kernel is tasked with simultaneously mapping cross-channel correlations and spatial correlations.

这是基础。如果这一点不清楚,后面就没法看啦。

Inception的核心思想,就是解耦这两个操作:先做多个\(1 \times 1\)卷积,得到多个通道互相关结果;然后再对这些结果进行空域互相关操作。

It first looks at cross-channel correlations via a set of \(1 \times 1\) convolutions, mapping the input data into 3 or 4 separate spaces that are smaller than the original input space, and then maps all correlations in these smaller 3D spaces, via regular 3x3 or 5x5 convolutions.
In effect, the fundamental hypothesis behind Inception is that cross-channel correlations and spatial correlations are sufficiently decoupled that it is preferable not to map them jointly.

看图应该就明白了。最好能提前熟悉\(1 \times 1\)卷积的原理和应用。

补充:V3有一些变种的思想是类似的,但不一样:它是希望解耦height-wise和width-wise的卷积,方法是级联\(7 \times 1\)和\(1 \times 7\)的卷积。

更进一步,以及现有的深度可分离卷积

上图可以等价为下图3所示的两步:

  1. 用一个\(1 \times 1\)卷积,得到很多通道;

  2. 将这些通道分成几份(几百个通道分成3、4份),然后对每一份做正常的卷积(既包含空域,也有一定的通道互相关,但是少很多)。

既然如此,我们为什么不更进一步呢?我们让空域卷积只在单个通道上操作,即完全不含任何通道互相关信息。如图4:

值得一提的是,TensorFlow和Keras里已经内置了类似的结构,称为深度可分离卷积。有两点不同:

  1. 通道互相关卷积 和 空域卷积 的顺序。现存结构中,空域卷积在前。

  2. 两层卷积之间是否有ReLU非线性。现存结构中,两层卷积中间没有ReLU激活。注意,Inception内每一层卷积后一般都有。

作者将展示:第一点无关紧要,然而第二点非常重要。

Xception结构

  1. 36层卷积。Entry flow进行一次(8层卷积),Middle flow重复8次(24层卷积),最后是Exit flow(4层卷积)。由于是分类任务,最后跟了FC层和逻辑回归。

  2. 一共有14个module包裹这36个卷积层。每个module都有头尾短连接。

实验

实验和V3比较,并且保证参数数量基本一致。优化方法都沿袭V3的方法。

实验结果:Xception更快、更好。

各模块的短连接有必要:

在 depthwise 和 pointwise 卷积之间的非线性激活是不好的。取消非线性激活,可以让收敛速度更快,效果更好:

这一点和Inception的报告是相反的。可能的原因是:Inception是将几百个通道分成3-4份,每一份都很多。因此非线性对于这种深度学习是有帮助的。但是,Xception的空域卷积只对单通道操作,深度不足,非线性反而会让信息丢失。

Paper | Xception: Deep Learning with Depthwise Separable Convolutions的更多相关文章

  1. paper 149:Deep Learning 学习笔记(一)

     1. 直接上手篇 台湾李宏毅教授写的,<1天搞懂深度学习> slideshare的链接: http://www.slideshare.net/tw_dsconf/ss-62245351? ...

  2. Depthwise Separable Convolution(深度可分离卷积)的实现方式

    按照普通卷积-深度卷积-深度可分离卷积的思路总结. depthwise_conv2d来源于深度可分离卷积,如下论文: Xception: Deep Learning with Depthwise Se ...

  3. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  4. (转) Deep Learning Resources

    转自:http://www.jeremydjacksonphd.com/category/deep-learning/ Deep Learning Resources Posted on May 13 ...

  5. Why are very few schools involved in deep learning research? Why are they still hooked on to Bayesian methods?

    Why are very few schools involved in deep learning research? Why are they still hooked on to Bayesia ...

  6. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  7. What are some good books/papers for learning deep learning?

    What's the most effective way to get started with deep learning?       29 Answers     Yoshua Bengio, ...

  8. 可分离卷积详解及计算量 Basic Introduction to Separable Convolutions

    任何看过MobileNet架构的人都会遇到可分离卷积(separable convolutions)这个概念.但什么是“可分离卷积”,它与标准的卷积又有什么区别?可分离卷积主要有两种类型: 空间可分离 ...

  9. #Deep Learning回顾#之2006年的Science Paper

    大家都清楚神经网络在上个世纪七八十年代是着实火过一回的,尤其是后向传播BP算法出来之后,但90年代后被SVM之类抢了风头,再后来大家更熟悉的是SVM.AdaBoost.随机森林.GBDT.LR.FTR ...

随机推荐

  1. springboot+lucene实现公众号关键词回复智能问答

    一.场景简介 最近在做公众号关键词回复方面的智能问答相关功能,发现用户输入提问内容和我们运营配置的关键词匹配回复率极低,原因是我们采用的是数据库的Like匹配. 这种模糊匹配首先不是很智能,而且也没有 ...

  2. app——升级测试点

    APP版本升级的测试点 该文章转载于:https://www.cnblogs.com/changpuyi/p/8618755.html   移动端版本更新升级是一个比较重要的功能点,主要分为强制更新和 ...

  3. HTML5新特性——自定义滑动条(input[type="range"])

    HTML 4.01 与 HTML5之间的差异 以下 input 的 type属性值是 HTML5 中新增的: color.date.datetime.datetime-local.month.week ...

  4. GNSS频率分配表

    说明: 公开资料表示,GPS L3用于核爆炸等高能红外辐射事件的侦查,L4用于电离层研究. GLONASS FDMA信号G1.G2.G3三个频段各自频点见以下附表,摘自ITU的频率协调结果. GLON ...

  5. 常用regex正则表达式

    [单个]字符匹配 任意字符:表示由任意字符组成 \\:匹配一个'\' \n:匹配换行 \t:匹配制表符 [单个]字符集(可以从里面任选一个字符) [abc]:可以是字母abc中任意一个 [^abc]: ...

  6. Python爬取前程无忧网站上python的招聘信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 我姓刘却留不住你的心 PS:如有需要Python学习资料的小伙伴可以 ...

  7. LinuxShell脚本——变量和数据类型

    LinuxShell脚本——变量和数据类型 摘要:本文主要学习了Shell脚本中的变量和数据类型. 变量 定义变量的语法 定义变量时,变量名和变量值之间使用“=”分隔,并且等号两边不能有空格: 变量名 ...

  8. media适配css

    /*引入适配的less*/ html { font-size: 16px; } @media only screen and (min-width: 320px) { html { font-size ...

  9. php 的定界符 <<<eof

    PHP是一个Web编程语言,在编程过程中难免会遇到用echo来输出大段的html和javascript脚本的情况,如果用传统的输出方法 ——按字符串输出的话,肯定要有大量的转义符来对字符串中的引号等特 ...

  10. 当cell中有UItextfiled或者UITextVIew时,弹出键盘把tableview往上,但是有的cell没有移动

    cell中有UITextView时,输入文字是需要将tableView向上移,基本的做法是,注册键盘变化的通知在通知的方法中做tableVIew的位置调整, 一,一般做法 - (void)regist ...