Xception: Deep Learning with Depthwise Separable Convolutions个人理解

Xception: Deep Learning with Depthwise Separable Convolutions

提出背景:

  在Inception结构提出时,作者通过BottleNeck方法减小卷积操作的计算量,即在特征图输入Inception模块之前添加1x1的卷积层对特征图的通道关系进行映射减小通道数,从而减小运算量。但在此之后深度可分离卷积操作证明了其优越性。有基于此,为了对这两种操作进行比较,以及使Inception吸收深度可分离卷积操作的思想,作者首先针对Inception提出解析:一般的标准卷积操作尝试对卷积层参数进行三个维度数据的学习,其中两个维度分别是特征图的长宽平面维度,第三个维度是通道数维度,每个卷积核同时执行特征图二维平面上的映射和通道维度间的映射,而Inception模块的思想是将整个标准卷积操作进行分解使得其能够在平面空间关系和通道关系上的卷积操作相互独立,即Inception模块先使用1x1卷积操作对通道维度关系进行操作,通过降低通道数并将其映射成3到4个独立空间(就是branches)使得整个特征图的数量减小,然后在通过标准操作的3x3或5xx卷积各个branches的特征图,具体如下图1所示。从效果上来说,Inception隐藏的基本假设是通过这种bottleneck操作,通道相关性和平面空间维度相关性显著解耦,这也说明了通道卷积和二维平面卷积最好不要结合操作。(就是以往的标准卷积操作将通道维度和二维平面维度一起卷积操作不如分开操作好)。在这个通道卷积和二维平面卷积最好不要结合操作的假设基础上,作者提出了Inception模块的简化结构(即只是用3x3卷积核操作的版本)并且不包含平均池化结构如下图2所示,Inception模块重组为1x1卷积操作再通过对输出的通道均分为多份(互不重叠的多份)继续进行后续军及操作。通过提出这些网络结构的猜想作者尝试探讨对1x1卷积后的通道分段的数量会有什么影响,是否这种1x1卷积操作再通过对输出的通道均分为多份进行后续卷积操作的结果比Inception假说效果要好,通道相关性和空间相关性的映射操作能否完全分离。在图1、2、3的基础上,作者提出了一个Inception模块的特化版本如图4所示,在Inception模块中作者先使用1x1的卷积对输入特征图的通道相关性进行映射,之后对输出的通道分段进行二维平面的映射操作。整个Inception模块的特化版本几乎和深度可分离卷积非常相似,但仍存在以下两个差别:

1.卷积操作的顺序不同,深度可分离卷积的实现过程一般是首先进行通道间的空间卷积再执行1x1的通道间卷积,而Inception特化版本则与之相反,先使用1x1卷积进行通道间操作再进行二维平面操作。

2.在Inception特化模块中通道间操作和二维平面间的卷积层操作都跟着一个ReLU非线性激活函数操作,但是深度可分离卷积操作则没有。

作者认为第一点的影响很小,因为当卷积操作不断重叠时这样的通道操作在前或者二维平面操作在前差别不大。而第二点则可能产生一些效果。除了这两点差异之外,作者对于Inception模块的操作和深度可分离卷积之间的中间步骤的差异进行了对比:可以将常规标准卷积操作和深度可分离卷积操作之间卷积的过程看做一个离散谱,这个离散谱通过由通道卷积分割的段数来参数化。在这个离散谱中将段数为1的极端操作就是标准1x1的常规卷积将整个通道数作为一段通道数进行卷积,而在这个离散谱中将段数最大化的另一个极端操作就是深度可分离卷积将一个通道都作为一段,Inception模块处于常规1x1卷积核深度可分离卷积之间,它将几百个通道数化成3到4个段数。而Xception这种尝试也是它的最大亮点。

 Xception具体结构

  基于深度可分离卷积网络层的操作作者提出自己的卷积神经网络架构,首先作者提出设想:对特征图的通道间相关性和二维平面空间相关性的映射可以完全解耦。基于以上描述,因为这个设想是也是隐藏在Incepiton架构后的一个更强假设版本,所以作者将其命名为“Extreme Inception”也即Xception。其网络架构的具体结构图如图5所示,图5中特征提取部分由36层卷积层组成。如下所示,Xception架构是由深度可分离卷积网络层结合残差连接组合模块的线性堆叠。

Xception: Deep Learning with Depthwise Separable Convolutions个人理解_第1张图片

Xception: Deep Learning with Depthwise Separable Convolutions个人理解_第2张图片Xception: Deep Learning with Depthwise Separable Convolutions个人理解_第3张图片

Xception: Deep Learning with Depthwise Separable Convolutions个人理解_第4张图片

Xception: Deep Learning with Depthwise Separable Convolutions个人理解_第5张图片


你可能感兴趣的:(网络模型)