轻量化网络结构——Xception

《Xception: Deep Learning with Depthwise Separable Convolutions》
  • – Google

1.Xception 并不是真正意义上的轻量化模型,是Google继Inception后提出的对Inception v3的另一种改进,主要是采用depthwise separable convolution来替代原来的Inception v3中的卷积操作,这种性能的提升是来自于更有效的使用模型参数而不是提高容量。
一个卷积层尝试去学习特征在3维空间–(高、宽、通道),包含了空间的相关性和跨通道的相关性。
Xception做了一个加强的假设,就是卷积的时候要将通道的卷积与空间的卷积进行分离,这样会不会更合理?

2.Xception结构演变
既然是在Inception v3上进行改进的,那么Xception是如何一步一步的从Inception v3演变而来。
Inception v3结构如下图1,当时提出Inception的初衷可以认为是:特征的提取和传递可以通过1x1卷积,3x3卷积,5x5卷积,pooling等,到底哪种才是最好的特征提取方式呢?Inception结构将这个疑问留给网络自己训练,也就是将一个输入同时给这几种提取特征方式,然后做concat。 Inception v3和Inception v1(GoogLeNet)对比主要是将5x5卷积换成两个3x3卷积层的叠加
在这里插入图片描述
注:1x1卷积的作用: 1)降维:较少计算量 2)升维:小型网络,通道越多,效果会更好 3)1x1是有一个参数学习的卷积层,可以增加跨通道的相关性。

图2 简化了的inception module(就只考虑1x1的那条支路,不包含Avg pool)

在这里插入图片描述
再进一步延伸,就有了图3,把第一部分的3个1x1卷积核统一起来,变成1个1x1的卷积核,然后连接3个3x3的卷积,这3个卷积操作只将前面1x1卷积结果中的一部分作为自己的输入(只负责一部分通道)。
在这里插入图片描述
图4 An“extreme” version of Inception module,先用1x1卷积核对各通道之间(cross-channel)进行卷积,之后使用3x3的卷积对每个输出通道进行卷积操作,也就是3x3卷积的个数和1x1卷积的输出channel个数相同。
在这里插入图片描述
在Xception中主要采用depthwise separable convolution,和原版的相比有两个不同之处:
(1)原版的Depthwise convolution,先是逐通道卷积,再1x1卷积;而Xception是反过来,先1x1卷积,再逐通道卷积。
(2)原版Depthwise convolution的两个卷积之间是不带激活函数的,而Xception再经过1x1卷积之后会带上一个Relu的非线性激活函数。

3.Xception的网络结构

完全基于深度可分离卷积的卷积神经网络结构:
在这里插入图片描述
Xception结构由36层卷积层组成网络的特征提取基础,分为Entry flow,Middle flow,Exit flow;被分成了14个模块,除了第一个和最后一个外,其余模块间均有线性残差连接。

4.实验结果
Table1表示几种网络结构在ImageNet上的对比。
在这里插入图片描述
Table2表示在JFT数据集上的进行比较。大数据集上的提升会更好一点。
在这里插入图片描述
Table3表示参数量和速度的比较。
在这里插入图片描述
可以看到参数量和速度上,Xception相比于Inception v3只是略微的小点,但效果却好,说明网络结构对参数有更有效的使用,之前的假设将通道的卷积和空间的卷积进行分离,这样会比较好。

Xception小结:

Xception作为Inception v3的改进,主要是在Inception v3的基础上引入了depthwise separable convolution,在基本不增加网络复杂度的前提下提高了模型的效果。有些人会好奇为什么引入depthwise separable convolution没有大大降低网络的复杂度,因为depthwise separable convolution在mobileNet中主要就是为了降低网络的复杂度而设计的。原因是作者加宽了网络,使得参数数量和Inception v3差不多,然后在这前提下比较性能。因此Xception目的不在于模型压缩,而是提高性能。


注:博众家之所长,集群英之荟萃。
  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Peanut_范

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值