论文阅读 --- Xception

关于图像分类的论文《Xception: Deep Learning with Depthwise Separable Convolutions》,论文链接: arxiv.org/abs/1610.02357
读论文前先了解下ImageNet大规模视觉识别挑战赛(ILSVRC)

ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库。超过1400万的图像URL被ImageNet手动注释,以指示图片中的对象。ImageNet包含2万多个类别。第三方图像URL的注释数据库可以直接从ImageNet免费获得;但是,实际的图像不属于ImageNet。
自2010年以来,ImageNet项目每年举办一次软件比赛,即ImageNet大规模视觉识别挑战赛(ILSVRC),软件程序竞相正确分类检测物体和场景。2012年在解决ImageNet挑战方面取得了巨大的突破,被广泛认为是2010年的深度学习革命的开始。

Xception是Google继Inception后提出的对Inception-v3的另一种改进。深度可分离卷积可以理解为具有最多数量的Inception模块。

在 Inception 中,特征可以通过1×1卷积,3×3卷积,5×5卷积,pooling等进行提取,Inception是将一个输入同时使用几种不同的提取特征方式,然后再concat到一起 。Inception-v3的结构图如下

图1 Inception-v3

对Inception-v3进行简化,每个支路的特征提取方式都是一个1X1卷积接一个3X3卷积,然后再做concat,如下图所示

图2 simplified Inception-v3

图2中也可以共用一个1X1卷积,然后将输出分成3份,每一份都分别使用3X3卷积提取特征,最后再将输出concat,如下图所示

图3 reformulation simplified Inception-v3

将图3中的模型进一步更改,1X1卷积的输出不再划分成3份,而是对应输出的channel数,称作“extreme”版本的Inception模块,见下图

图4 extreme Inception-v3

这些Inception模块的变形都是先利用1X1卷积来提取深度信息特征,然后再利用3X3卷积来提取空间信息特征,最后将各支路输出做concat。
而深度可分离卷积 Depthwise Separable Convolution则是反过来的,首先是利用Depthwise的3X3卷积对网络输入的每个channel提取特征,然后将结果concat,再通过Pointwise的1X1卷积得到最终的输出,而实际上在模块的堆叠使用中,这样顺序更换的影响并不大。

Xception网络结构

Xception就是多个深度可分离卷积层和残差连接模块的线性堆叠


图5 Xception网络结构

论文将Xception和Inception-v3在ImageNet以及JFT数据集上进行了对比实验,可以从表1,2以及图6中看出Xception的准确率要高于Inception


表1 classification results on ImageNet
表2 classification results on JFT
图6 training profile on ImageNet

另外,作者也通过实验表示使用中间激活层例如ReLU、ELU等反而会降低网络效果,作者认为对于浅一些的特征空间(例如深度可分离卷积的单通道特征空间)它可能由于非线性操作而信息丢失从而使分类效果变差。

你可能感兴趣的:(论文阅读 --- Xception)