Xception_深度可分卷积

标签: 神经网络 结构
206人阅读 评论(0) 收藏 举报

转载自:http://blog.csdn.net/wangli0519/article/details/73004985
卷积神经网络中Inception模块是在在普通卷积和深度可分卷积操作之间一种中间状态。基于此,深度可分卷积可理解为最大数量tower的INception模块。根据Inception,提出一种新的的深度卷积神经网络结构,用深度可分卷积替代Inception模块。昵称为Xception结构,表现略优于Inception V3。。Xception结构和Inception V3有相同数量的参数,这种性能的提升是来自与更有效的的使用模型参数而不是提高容量。
2014年Szegedy等人引入GoogLeNet,也就是Inception V1,之后优化为Inception V2,Inception V3,以及最新的Inception-ResNet。传统Inception模块如图所示
这里写图片描述
Inception V3结构是上图传统Inception模块的堆叠,Inception模块概念上与卷积相似,实践中她们能够在更少参数中学习到更多的表征。
Inception假设

卷积层试图在3D空间学习过滤器,2个空间维度以及1个通道维度,因此一个卷积核需要同时绘制跨通道相关性和空间相关性。Inception模块背后的思想就是通过将这个过程分解成一系列相互独立的操作以使它更为便捷有效。进一步,典型的Inception模块首先跨处理通道相关性,通过一组1×1卷积,将输入数据绘制到3或4个小于原始输入的不同空间,然后通过3×3或者5×5卷积将所有县官性绘制到更小3D空间。图上所示是Inception背后基本假设是跨通道相关性和空间相关性的绘制有效脱钩。
考虑一个Inception模块的简化版本,只使用一种规格的卷积,并不含平均池化。

这里写图片描述

这个模块可以转化成1×1卷积,然后在输出通道不重复的区块进行空间卷积。
这里写图片描述

这个观察自然提出了一个问题:在分割中区块数量的效用?如果假设区域相关性和空间相关性完全分开绘制,会不会比Inception假设更合理?
一个Inception模块极端的版本就是基于上述的假设,首先使用1×1卷积绘制跨通道相关性,然后独立的绘制每个输出通道的空间特性。
这里写图片描述
这种Inception模块的极端版本与深度可分卷积几乎相同,在Tensorflow中极为流行。
深度可分卷积,普遍称作“可分卷积”,在深度学习框架TensorFlow和keras,包含深度卷积,即在每个通道独立执行空间卷积,然后进行逐点卷积,即1×1卷积,将深度卷积的通道映射到新的通道空间。
Inception模块的极端版本和深度可分卷积的两个不同有:
—顺序操作:深度可分卷积一般先进性通道的空间卷积,然后进行1×1卷积,而Inception首先进行1×1卷积。
—上个操作后是否进行非线性操作:Inception中两个操作都使用ReLU进行非线性激活,而深度可分卷积不使用。
我们认为第一个区别不重要,因为这些操作会被堆叠起来,第二个去被在实验中对对结果有所影响。
我们也注意到,在普通Inception模块和深度可分卷积之间也可能存在其他组合:实际上通过调整空间卷积不同数量的独立通道-空间区块,存在一个离散的序列。普通卷积(1×1卷积开始)在序列的一端,对应单一区块情况;深度可分卷积对应另一端,每个通道为一个区块;Inception模块居于其间,将数百个通道划分成3或4个区块。这些居间模块的属性还没有被完全审视挖掘。

基于上述观察,我们认为使用深度可分卷积替代Inception模块能够提升Inception结构,即用深度可分卷积堆叠来构建模型。

我们提出一个完全基于深度可分卷积层的卷积神经网络结构。实际上,我们做如此假设:卷积神经网络的特征图中的跨通道相关性和空间相关性的绘制可以完全脱钩。由于这种假设是Inception结构中极端化的假设,我们将它称作Xception,意指极端Inception。

网络的完整描述如下图
这里写图片描述

查看评论

Xception —— 深度可分卷积

卷积神经网络中的Inception模块是在普通卷积和深度可分卷积操作(深度卷积后逐点卷积)之间的一种中间步骤的解释。基于此,深度可分卷积可以理解为最大数量tower的Inception模块。受Ince...
  • wangli0519
  • wangli0519
  • 2017-06-10 19:54:53
  • 3790

【Tensorflow】tf.nn.separable_conv2d如何实现深度可分卷积?

实验环境:tensorflow版本1.2.0,python2.7介绍tf.nn.separable_conv2d可以看做,深度卷积tf.nn.depthwise_conv2d的扩展,所以首先我们需要了...
  • mao_xiao_feng
  • mao_xiao_feng
  • 2017-09-16 13:01:12
  • 2270

CVPR 2017精彩论文解读:Xception深度可分离卷积模型

在Inception模块基础之上,当所有3*3或5*5的卷积都作用在只有一个通道的特征图上时,通道间的相关性和空间上的相关性即达到了完全分离的效果。...
  • zchang81
  • zchang81
  • 2017-08-23 15:25:56
  • 926

对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解

参考: https://zhuanlan.zhihu.com/p/28749411 https://zhuanlan.zhihu.com/p/28186857 https://blog.yani...
  • Chaolei3
  • Chaolei3
  • 2018-02-26 20:39:03
  • 849

<模型汇总_1>牛逼的深度卷积神经网络CNN

最近在整理深度学习中用到的算法、常见的模型和优化技巧,于是,决定整理成一个深度学习模型和一个深度学习优化算法单元,大家一起学习,有什么问题可以在微信群里讨论,同时也热烈欢迎大家加入微信群“深度学习与N...
  • lqfarmer
  • lqfarmer
  • 2017-04-26 11:10:19
  • 6008

深度学习中的「卷积层」如何深入理解?

本文经公众号「雷克世界」授权转载(微信号:ROBO_AI) 原文来源:medium 作者:ApilTamang 「雷克世界」编译:嗯~阿童木呀 多啦A亮 ...
  • tkkzc3E6s4Ou4
  • tkkzc3E6s4Ou4
  • 2017-11-30 00:00:00
  • 308

对抗的深度卷积生成网络来学习无监督表示

Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks.
  • shadow_guo
  • shadow_guo
  • 2016-10-03 23:34:16
  • 5522

如何得到卷积层输出的深度--CNN卷积层

tensorflow代码(Tensorflow官方文档)中: w_conv1=weight_variable([5,5,1,32]),一直不明白这个32是怎么来的,表示的是什么? 后来看到cs23...
  • xuke100
  • xuke100
  • 2017-04-07 13:23:53
  • 1458

图像卷积-空间卷积

空间卷积-Spatial convolution译自Spatial convolution卷积是对f和g两个函数的运算,产生了第三个函数,可以理解为f的一个修改(“过滤”)版本。 在这个解释中,我们称...
  • akadiao
  • akadiao
  • 2017-11-14 13:55:12
  • 602

深度卷积生成对抗网络--DCGAN

深度卷积生成对抗网络
  • chenyanqiao2010
  • chenyanqiao2010
  • 2017-07-29 21:45:23
  • 1291
    个人资料
    等级:
    访问量: 2万+
    积分: 351
    排名: 22万+