参考:
[1] https://blog.youkuaiyun.com/lk3030/article/details/84847879
[2] https://zhuanlan.zhihu.com/p/127042277
[3] https://www.cnblogs.com/ywheunji/p/10506747.html
论文信息
Xception:Deep Learning with Depthwise Separable Convolutions (https://arxiv.org/abs/1610.02357)
Xception是由Inception-v3d结构加上深度可分离卷积,再加上残差网络的结构改进得到。
Xception对Inception-v3的改进
Inception-v3将输入通过1x1、3x3、5x5和pooling等几种方式进行特征提取,最后进行concat,其基本结构如下图:
Xception对Inception-v3进行了简化,去除了其中的avg pool结构,如下图所示:
然后提取1x1卷积的公共部分,并对1x1卷积后的每个通道分别进行3*3卷积,得到了Inception的极端版本如下:
深度可分离卷积
Xception的核心部分是深度可分离卷积结构(Depthwise separable conv)
- 传统卷积
传统卷积方法(极致的Inception)首先使用普通的1x1卷积,然后对1x1卷积结果的每个通道分别进行3x3的卷积操作,并将结果concat
- 深度可分离卷积
深度可分离卷积首先对输入的每个通道分别进行3x3卷积操作,并将结果concat;然后对concat结果使用1x1的卷积
Xception
Xception以Resnet为基础,将Resnet中的卷积层替换为可谓立卷积模块,整个模块被分为Entry、Middle和Exit三个部分,网络具体结构如下:
Xception体系结构具有36个卷积层,构成网络特征提取的接触。卷积层后紧跟着逻辑回归层,主要用于图像分类任务,可以在逻辑回归层之前插入完全连接的层。
36个卷积层被构造为14个模块,除了第一个和最后一个模块外,所有这些模块周围具有线性残差连接。
由于Xception体系结构是具有残余连接的深度可分离卷积层的线性堆叠,使得其体系结构非常容易定义和修改。