Xception: Deep Learning with Depthwise Separable Convolutions

Abstract

  • 我们将卷积神经网络中的起始模解释为在规则卷积和非纵向可分离卷积运算(非纵向卷积和非纵向卷积)之间的中间步骤。在这种情况下,深度可分离卷积可以理解为具有最大数量塔的初始模块。这一观察结果使我们提出了一种新颖的深度卷积神经网络结构,其灵感来自于Inception,其中Inception模块已经被深度可分离的卷积所取代。
  • 我们证明这个被称为Xception的体系结构在ImageNet数据集(Inception V3的设计目标)上稍微优于Inception V3,并且在包含3.5亿个图像和17,000个类的更大图像分类数据集上显着优于Inception V3。由于Xception体系结构具有与Inception V3相同数量的参数,因此性能增益不是由于容量增加,而是由于更有效地使用模型参数。

Introduction

  • 卷积神经网络近年来已成为计算机视觉中的主算法,并且开发用于设计它们的配方已成为相当受关注的主题。卷积神经网络设计的历史始于LeNet风格的模型[10],它是用于特征提取和空间子采样的最大池操作的简单卷积堆栈。2012年,这些想法被重新定义为AlexNet架构,其中卷积操作在最大池操作之间重复多次,允许网络在每个空间尺度上学习更丰富的特征。
  • 在这一点上,出现了一种新的网络形式,即Szegedy等人介绍的Inception架构。 在2014年作为GoogleNet(Inception V1),后来被定义为Inception V2 [7],Inception V3 [21],以及最近的Inception-ResNet [19]。 初始版本的灵感来自早期的NetworkIn-Network架构[11]。 自首次推出以来,Inception一直是ImageNet数据集[14]上表现最佳的模型之一,以及谷歌使用的内部数据集,特别是JFT [5]。
  • Inception模式的基本构建块是Inception模块,其中存在几个不同的版本。 在图1中,我们展示了Inception模块的规范形式,如Inception V3体系结构中所示。 初始模型可以理解为这种模块的堆栈。 这与早期的VGG式网络不同,后者是简单卷积层的堆栈。
  • 卷积层试图学习3D空间中的滤波器,具有2个空间维度(宽度和高度)和通道维度; 因此,单个卷积核的任务是同时映射跨通道相关和空间相关。Inception模块背后的这个想法是通过将其明确地分解为一系列独立查看跨通道相关性和空间相关性的操作,使这个过程更容易,更有效。 更确切地说,典型的初始模块首先通过一组1x1卷积来查看交叉通道相关性,将输入数据映射到小于原始输入空间的3或4个独立空间,然后映射这些较小3D空间中的所有相关性, 通过常规的3x3或5x5卷积。 这在图1中说明。实际上,初始背后的基本假设是跨通道相关性和空间相关性足够分离,最好不要将它们联合起来。
  • 考虑一个简化版本的Inception模块,该模块仅使用一种大小的卷积(例如3x3),并且不包括平均合并塔(图2)。 这个初始模块可以重新表示为一个大的1x1卷积,然后是空间卷积,它将在输出通道的非重叠段上运行(图3)。 这种观察结果自然会引出一个问题:分区中的段数(及其大小)的影响是什么? 制定一个比起始假设更强的假设是合理的,并假设跨渠道相关和空间相关可以完全分开绘制?
  • 基于这一更强假设的“极端”版本的初始模块将首先使用1x1卷积来映射跨通道相关性,然后分别映射每个输出通道的空间相关性。 这在图4中显示。我们注意到这种极端形式的Inception模块几乎与深度可分离卷积相同,这种操作早在2014年就被用于神经网络设计[15],并且自从它变得越来越受欢迎 2016年纳入TensorFlow框架[1]。
  • 在深度学习框架(如TensorFlow和Keras)中通常称为“可分离卷积”的深度可分卷积包括深度卷积,即在输入的每个通道上独立执行的空间卷积,然后是逐点卷积,即1x1卷积 ,将深度卷积输出的通道投影到新的通道空间。 这不能与空间可分离的卷积混淆,后者在图像处理社区中通常也称为“可分离卷积”。
  • 和Inception模块的“极端”版本和深度可分的卷积之间的两个细微差别是:
  1. 操作的顺序:通常实现的深度可分离卷积(例如在TensorFlow中)首先执行通道空间卷积,然后执行1x1卷积,而Inception首先执行1x1卷积。
  2. 在第一次操作之后是否存在非线性。 在Inception中,两个操作之后都是ReLU非线性,但是深度可分离卷积通常在没有非线性的情况下实现。
  • 我们认为,第一个差异并不重要,特别是因为这些操作旨在用于堆叠设置。第二个差异可能很重要,我们在实验部分对其进行了研究(尤其参见图10)。
  • 我们还注意到,位于常规初始模块和深度可分离卷积之间的初始模块的其他中间公式也是可能的:实际上,在常规卷积和深度可分离卷积之间存在离散谱,由独立通道空间的数量参数化。 用于执行空间卷积的段。 在该频谱的一个极端处,常规卷积(前面是1x1卷积)对应于单段情况; 深度可分的卷积对应于每个通道有一个段的另一个极端; 初始模块介于两者之间,将数百个通道分成3或4个段。 这些中间模块的属性似乎还没有被探索过。
  • 完成这些观察之后,我们建议通过用深度可分离卷积替换初始模块,即通过构建可以是深度可分离卷积堆栈的模型,可以改进初始架构系列。 通过TensorFlow中提供的高效深度卷积实现,这是切实可行的。 在下文中,我们提出了一种基于这种思想的卷积神经网络架构,其具有与Inception V3相似数量的参数,并且我们在两个大规模图像分类任务中评估其针对Inception V3的性能。

Prior Work

  • 目前的工作在很大程度上依赖于以下领域的先前努力:
  1. 卷积神经网络[10,9,25],特别是VGG-16架构[18],它在一些方面示意性地类似于我们提出的架构。
  2. 卷积神经网络的初始架构系列[20,7,21,19],首先证明了将卷积分解为多个分支在通道上然后在空间上连续运行的优点。
  3. 深度可分离的卷积,我们提出的架构完全基于此。虽然在神经网络中使用空间可分离的卷积具有悠久的历史,但至少可以追溯到2012 [12](但可能更为平庸),深度版本更新近。 Laurent Sifre于2013年在Google Brain实习期间开发了深度可分离卷积,并在AlexNet中使用它们以获得精确度的小幅提升和收敛速度的大幅提升,以及模型尺寸的显着缩小。他的工作概述首先在2014年ICLR [23]的演讲中公布。 Sifre的论文第6.2节[15]报道了详细的实验结果。这个关于深度可分离卷积的初步工作受到了Sifre和Mallat先前关于变换不变散射的研究的启发[16,15]。之后,深度可分离卷积被用作Inception V1和Inception V2的第一层[20,7]。在谷歌内部,Andrew Howard [6]使用深度可分离卷积引入了称为MobileNets的高效移动模型。 Jin等人。在2014年[8]和王等人。 2016年[24]也做了相关的工作,旨在减少使用可分离卷积的卷积神经网络的大小和计算成本。此外,我们的工作才有可能,因为在TensorFlow框架中包含了深度可分离卷积的有效实现[1]。
  4. 由He等人介绍的残差连接。 在[4]中,我们提出的架构广泛使用。

The Xception Architecture

  • 我们提出了一种完全基于深度可分离卷积层的卷积神经网络架构。 实际上,我们做出以下假设:卷积神经网络的特征映射中的跨通道相关性和空间相关性的映射可以完全解耦。 因为这个假设是对Inception架构底层假设的强烈反转,我们将我们提出的架构Xception命名为“极端初始”。
  • 图5给出了网络规范的完整描述.Xception架构有36个卷积层,构成了网络的特征提取基础。 在我们的实验评估中,我们将专门研究图像分类,因此我们的卷积基数将跟随逻辑回归层。 可选地,可以在逻辑回归层之前插入完全连接的层,这在实验评估部分中进行了探索(特别参见图7和8)。 36个卷积层被构造成14个模块,除了第一个和最后一个模块外,所有模块都围绕它们具有线性残余连接。简而言之,Xception架构是具有残余连接的深度可分离卷积层的线性堆栈。 这使得架构非常容易定义和修改; 使用像Keras [2]或TensorFlow-Slim [17]这样的高级库只需30到40行代码,与VGG-16 [18]等架构不同,但与Inception V2或V3等架构不同这些要复杂得多。 

Conclusions

  • 我们展示了卷积和深度可分离卷积如何位于离散谱的两个极端,其中初始模块是两者之间的中间点。 这一观察结果使我们建议在神经计算机视觉架构中用深度可分离的卷积替换初始模块。 我们提出了一种基于这个想法的新颖架构,名为Xception,它具有与Inception V3类似的参数计数。 与Inception V3相比,Xception显示了ImageNet数据集上的分类性能和JFT数据集的大量增益。 我们期望深度可分离卷积成为未来卷积神经网络架构设计的基石,因为它们提供与Inception模块类似的属性,但与常规卷积层一样易于使用。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值