没有合适的资源?快使用搜索试试~ 我知道了~
1251Xception:深度可分离卷积Google,Inc.fchollet@google.com摘要我们将卷积神经网络中的Inception模块解释为常规卷积和深度可分离卷积运算(深度卷积之后是逐点卷积)之间的中间步骤。在这种情况下,深度可分离的卷积可以被理解为具有最大数量的塔的初始模块这一观察使我们提出了一种受Inception启发的新型深度卷积神经网络架构,其中Inception模块已被深度可分离卷积所取代。我们发现,这种被称为Xception的架构在ImageNet数据集上的性能略优于Inception V3(InceptionV3是为之设计的),并且在包含3.5亿张图像和17,000个类的更大图像分类数据集上的性能明显优于InceptionV3。由于Xception体系结构具有与Inception V3相同数量的参数,因此性能提升不是由于容量增加,而是由于模型参数的更有效使用。1. 介绍卷积神经网络近年来已成为计算机视觉领域的主流算法,设计卷积神经网络的去卷积方法一直是一个卷积神经网络设计的历史始于LeNet风格的模型[10],它是用于特征提取的简单卷积堆栈和用于空间子采样的最大池化操作。2012年,这些想法被改进到AlexNet架构中[9],其中卷积操作在最大池化操作之间重复多次,使网络能够在每个空间尺度上学习更丰富的特征。随之而来的是一种趋势,使这种网络越来越深入,主要是由每年的ILSVRC竞赛推动的;首先是2013年的Zeiler和Fergus [25],然后是2014年的VGG架构[18]。作为GoogLeNet(Inception V1),后来改进为InceptionV2 [7] , Inception V3 [21] , 以 及 最 近 的 Inception-ResNet [19]。Inception本身的灵感来自早期的网络中网络 架 构 [11] 。 自 首 次 引 入 以 来 , Inception 一 直 是ImageNet数据集[14]上表现最好的模型家族之一,以及Google使用的内部数据集,特别是JFT [5]。Inception风格模型的基本构建块是Inception模块,其中 存 在 几 个 不 同 的 版 本 。 在 图 1 中 , 我 们 展 示 了Inception模块的规范形式,如Inception V3架构中所示。Inception模型可以被理解为这样的模块的堆栈。这与早期的VGG风格网络不同,后者是简单卷积层的堆叠。虽然Inception模块在概念上类似于卷积(它们是卷积特征提取器),但根据经验,它们似乎能够用更少的参数学习更丰富的表示。它们是如何工作的,它们与常规卷积有何不同在Inception之后会有哪些1.1. 盗梦空间假说卷积层尝试学习3D空间中的滤波器,具有2个空间维度(宽度和高度)和通道维度;因此,单个卷积核的任务是同时映射交叉信道相关和空间相关。Inception模块背后的想法是通过将其明确分解为一系列独立查看跨通道相关性和空间相关性的操作,使该过程更容易和更有效。更准确地说,典型的Inception模块首先通过一组1x1卷积来查看跨通道相关性,将输入数据映射到3或4个小于原始输入空间的独立空间中,然后通过常规的3x3或5x5卷积来映射这些较小3D空间这在图1中示出。实际上,Inception背后的基本假设是跨通道相关性和空间相关性充分解耦,最好不要将它们联合映射1。在这一点上,一种新的网络风格出现了,Incep-Tion架构,由Szegedy et al. 2014年[20]1该过程的一个变体是独立地查看宽度方向的相 关性 ,1252考虑一个简化版本的Inception模块,它只使用一种卷积大小(例如:3x3),并且不包括平均汇集塔(图2)。这个Incep- tion模块可以重新表述为一个大的1x 1卷积,然后是空间卷积,它将在输出通道的非重叠段上操作(图3)。这一观察自然提出了一个问题:分区中段的数量(及其大小)的影响是什么?假设一个比初始假设强得多的假设,并假设跨通道相关性和空间相关性可以完全分开映射,这是否合理?图1. 一个规范的Inception模块(Inception V3)。图2. 简化的Inception模块。1.2. 卷积和分离卷积之间的连续统基于该更强假设的这在图4中示出。我们注意到,Inception模块的这种极端形式几乎与可分离卷积相同,这是一种在神经网络中使用的操作。和高度相关性。这是由Inception V3中的一些模块实现的,它们交替使用7x1和1x7卷积。这种空间上可分离的卷积的使用在图像处理中具有很长的历史,并且至少从2012年(可能更早)起已经在一些卷积神经网络实现中使用。图3. 一个严格等价的简化的概念模块的重新表述。图4.我们的Inception模块的网络设计早在2014年[15],自2016年被纳入TensorFlow框架[1]以来变得越来越受欢迎深度可分离卷积,在TensorFlow和Keras等深度学习框架中通常称为即在输入的每个通道上独立执行的空间卷积,随后是逐点卷积,即1 × 1卷积,将由去卷积输出的声道这不应与空间可分离卷积混淆,空间可分离卷积在图像处理社区中通常也称为Inception模块的“极端”版本和深度可分离卷积之间的两个小区别• 操作顺序:如通常实现的依赖可分离卷积(例如,在TensorFlow中)首先执行通道空间卷积,然后执行1x1卷积,而Inception首先执行1x1卷积。• 第一次操作后是否存在非线性。在Inception中,这两个操作都遵循ReLU非线性,无论多么依赖1253可分离卷积通常在没有非线性的情况下实现。我们认为,第一个区别是不重要的,特别是因为这些操作是为了在堆栈设置中使用。第二个差异可能很重要,我们在实验部分研究它(特别是参见图10)。我们还注意到,位于规则Inception模块和依赖可分离卷积之间的Inception模块的其他中间公式也是可能的:实际上,在规则卷积和依赖可分离卷积之间存在离散谱,由用于执行空间卷积的独立通道空间段的数量在该频谱的一个极端处,规则卷积(之前是1x 1卷积)对应于单段情况;深度方向可分离的卷积对应于每个通道有一个段的另一个极端; Inception模块位于中间,将数百个通道分成3或4个段。这种中间模块的属性似乎还没有被探索过。在进行了这些观察之后,我们建议可以通过用可分离的卷积替换Inception模块来改进Inception体系结构家族,即:通过构建深度可分离卷积的堆叠模型。这是通过TensorFlow中提供的高效深度卷积在下文中,我们提出了一个基于这一思想的卷积神经网络架构,其参数数量与Inception V3相似,并且我们在两个大规模图像分类任务上评估了其相对于Inception V3的性能。2. 先前工作目前的工作在很大程度上依赖于以下领域的先前努力:• 卷积神经网络[10,9,25],特别是VGG-16架构[18],它在几个方面与我们提出的架构示意性相似。• 卷积神经网络的Inception架构家族[20,7,21,19],它首先展示了将卷积分解为多个分支的优势,这些分支依次在通道上和空间上运行。• 深度可分离卷积,我们提出的架构完全基于此虽然空间可分离卷积在神经网络中的使用有着悠久的历史,至少可以追溯到2012年[12](但可能更早),但空间可分离卷积的版本是最近的。Lau-rent Sifre发展了独立的可分卷积2013年在Google Brain实习期间,他们在AlexNet中使用它们,以获得准确性的小幅提升和收敛速度的大幅提升,以及模型大小的显着减少。他的工作概述首次在ICLR 2014的演讲中公开[23]。详细的实验结果见Sifre这项关于可分离卷积的初步工作受到Sifre和Mallat关于变换不变散射的先前研究的启发[16,15]。后来,深度可分离卷积被用作Inception V1和Inception V2的第一层[20,7]。在Google内部,Andrew Howard [6]引入了使用深度可分离卷积的高效移动模型,称为MobileNets。2014年Jin等人[8]和Wang等人在2016年[24]也做了相关的工作,旨在减少使用可分离卷积的卷积神经网络的大小和计算成本。此外,我们的工作只有在TensorFlow框架[1]中包含深度可分离卷积的有效实现才是可能的。• 剩余连接,介绍了他等。在[4]中,我们提出的架构广泛使用。3. Xception架构我们提出了一种完全基于深度可分离卷积层的卷积神经网络架构。实际上,我们做出以下假设:卷积神经网络的特征图中的交叉信道相关性和空间相关性的映射可以完全解耦。因为这个假设是Inception架构基础假设的一个更强版本,我们将我们提出的架构命名为Xception,它代表图5中给出了网络规格的完整说明。Xception架构具有36个卷积层,形成网络的特征提取基础。在我们的实验评估中,我们将专门研究图像分类,因此我们的卷积基础后面将是逻辑回归层。可选地,可以在逻辑回归层之前插入全连接层,这在实验评估部分中进行了探索(特别地,参见图7和图8)。36个卷积层被构造成14个模块,除了第一个和最后一个模块之外,所有模块都有线性剩余连接。简而言之,Xception架构是具有残余连接的深度可分离卷积层的线性堆栈。这使得该架构非常容易定义和修改;使用Keras [2]或TensorFlow-Slim [17]等高级库只需30到40行代码,与VGG-16 [18]等架构没有什么不同,但却不像1254像Inception V2或V3这样的架构,定义起来要复杂使用Keras和TensorFlow的Xception开源实现作为Keras应用程序模块2的一部分,在MIT许可下提供4. 实验评价我们选择将Xception与Inception V3架构进行比较,因为它们的规模相似:Xception和Inception V3具有几乎相同数量的参数(表3),因此任何性能差距都不能归因于网络容量的差异。我们对两个图像分类任务进行比较:一个是众所周知的ImageNet数据集上的1000类单标签分类任务[14],另一个是大规模JFT数据集上的17,000类多标签分类任务。4.1. JFT数据集JFT是Google内部的大规模图像分类数据集,由Hinton等人首次提出在[5]中,它包括超过3.5亿张高分辨率图像,这些图像带有来自一组17,000个类的标签。为了评估在JFT上训练的模型的性能,我们使用了一个辅助数据集FastEval14k。FastEval14k是一个包含14,000张图像的数据集,来自大约6,000个类的注释(平均每个图像36.5个标签)。在这个数据集上,我们使用前100个预测的平均精度(MAP@100)来评估性能,并对每个类别对MAP@100的贡献进行加权,并通过一个评分来估计该类别在社交媒体图像中的常见程度(因此重要性)这个评估过程旨在捕捉社交媒体上频繁出现的标签的性能,这对谷歌的生产模型至关重要。4.2. 优化配置ImageNet和JFT使用了不同的优化配置• 在ImageNet上:– 优化器:SGD– 动量:0.9– 初始学习率:0.045– 学习率衰减:每2个历元衰减率0.94• 关于JFT:– [22]第二十二话– 动量:0.9– 初始学习率:0.0012https://keras.io/applications/#xception– 学习率衰减:每3,000,000个样本衰减率为0.9对于这两个数据集,Xception和Inception V3使用了完全相同的优化请注意,此配置已在Inception V3中进行 了 优 化 , 以 获 得 最 佳 性 能 ; 我 们 没 有 尝 试 调 整Xception的优化超参数。由于网络具有不同的训练配置文件(图6),这可能是次优的,特别是在ImageNet数据集上,在该数据集上使用的此外,在推断时使用Polyak平均[13]评价所有模型。4.3. 正则化组态• 权重衰减:Inception V3模型使用的权重衰减(L2正则化)率为4e− 5,这是为了在ImageNet上的性能而精心调整的 我们发现这个速率对于Xception来说是相当次优的,因此选择了1 e−5。我们没有对最佳权重衰减率进行广泛的搜索ImageNet实验和JFT实验都使用了相同的权重衰减率。• Dropout:对于ImageNet实验,两个模型都在逻辑回归层之前包含一个率为0.5的dropout层。对于JFT实验,由于数据集的大尺寸使得在任何合理的时间内不太可能发生过拟合,因此不包括脱落。• 辅助损耗塔:Inception V3架构可以可选地包括辅助塔,其在网络中较早地反向传播分类损失,用作附加的正则化机制。为简单起见,我们选择不在任何模型中包含此辅助4.4. 培训基础设施所有网络均使用TensorFlow框架[1]实现,并在60个NVIDIA K80 GPU上进行训练。对于ImageNet实验,我们使用同步梯度下降的数据并行性来实现最佳分类性能,而对于JFT,我们使用异步梯度下降来加速训练。ImageNet实验每个花费大约3天,而JFT实验每个花费超过一个月。JFT模型没有被训练到完全收敛,这将花费超过三个月的时间每次实验。1255图5.Xception架构:数据首先通过入口流,然后通过中间流,中间流重复八次,最后通过出口流。请注意,所有卷积和可分离卷积层后面都是批量归一化[7](不包括在图中)。所有SeparableConvolution层都使用深度乘数1(无深度扩展)。4.5. 与Inception V3的比较4.5.1分类性能所有评估均使用输入图像的单个裁剪和单个模型进行。报告ImageNet结果152 [4]。表1.ImageNet上的分类性能比较(单作物,单模型)。VGG-16和ResNet-152编号仅作为提醒。正在进行基准测试的Inception V3版本不包括辅助塔。不包括任何全连接层的网络,以及在逻辑回归层之前包括两个4096个单元的全连接层的版本。在 ImageNet 上 , Xception 的 结 果 略 好 于 InceptionV3。在JFT上,Xception在FastEval14k MAP@100指标上显示出4.3%的相对改进。我们还注意到,Xception优于He等人报道的对于ResNet-50、ResNet-101和ResNet-与ImageNet数据集相比,Xception架构在JFT数据集上显示出更大的性能改进。我们认为这可能是由于Inception V3是以ImageNet为重点开发的,因此可能在设计上过度适合这个特定的任务。另一方面,这两种架构都没有为JFT调优。在ImageNet上为Xception寻找更好的超参数(特别是优化参数和reg)可能是一个很好的方法。在验证集而不是测试集上(即在前1精度Top-5精度ILSVRC验证集中的非黑名单图像VGG-160.7150.9012012年)。JFT结果在3000万次迭代后报告ResNet-1520.7700.933(one一个月的训练),而不是完全收敛后Inception V30.7820.941结果见表1和表2以及图Xception0.7900.945图6、图7、图8。在JFT上,我们测试了两个版本的1256表2. JFT(single crop,single model)分类性能比较FastEval14k MAP@100Inception V3 -无FC层6.36Xception -无FC层6.70带有FC层的Inception V36.50带FC层的Xception6.78图6. ImageNet上的培训简介图7.JFT上的培训配置文件,没有完全连接的层极化参数)将产生显著的额外改进。4.5.2大小和速度表3. 大小和训练速度的比较。参数计数步数/秒Inception V323,626,728 31Xception22,855,952 28在表3中,我们比较了Inception的大小和速度图8.JFT上的培训配置文件,具有完全连接的层V3和Xception。参数计数在ImageNet上报告(1000个类,没有全连接层),每秒的训练步骤(梯度更新)数量在ImageNet上报告,其中60个K80 GPU运行同步梯度下降。两种架构的大小大致相同(在3.5%以内),Xception稍微慢一些。我们预计,在深度卷积操作级别的工程优化可以使Xception在不久的将来比Inception V3更快。这两种架构具有几乎相同数量的参数,这表明ImageNet和JFT的改进不是来自增加的容量,而是来自更有效地使用模型参数。4.6. 残余连接图9.带和不带残余连接的培训配置文件为了量化Xception架构中剩余连接的好处,我们在ImageNet上对Xception的改进版本进行了基准测试,该版本不包括任何剩余连接。1257连接.结果示于图9中。残差连接显然是必不可少的,在帮助收敛,无论是在速度和最终的分类性能。然而,我们将注意到,用与残差模型相同的优化配置对非残差模型进行基准测试可能是不仁慈的,并且更好的优化配置可能产生更具竞争力的结果。此外,让我们注意到,该结果仅仅显示了剩余连接对于该特定架构的重要性,并且为了构建作为可分离卷积的堆栈的模型,不需要我们还使用非残差VGG风格的模型获得了出色的结果,其中所有卷积层都被替换为深度可分离卷积(深度乘数为1),优于JFT上的Inception V3。4.7. 逐点卷积后中间激活的效果图10. 在可分离卷积层的深度和逐点操作之间具有不同激活的训练简档。我们前面提到,深度可分离卷积和Inception模块之间的类比表明,深度可分离卷积应该潜在地包括深度和逐点操作之间的非线性。在迄今为止报道的实验中,没有包括这种非线性。然而,我们还通过实验测试了包含ReLU或ELU [3]作为中间非线性。结果在图10中的ImageNet上报告,并且显示没有任何非线性导致更快的收敛和更好的最终性能。这是一个了不起的观察,因为Szegedy et al.在[21]中报告了Inception模块的相反结果可能的是,在其上应用空间卷积的中间特征空间的深度对于非线性的有用性是关键的:对于深特征空间(例如,那些在Inception模块中发现),非线性是有帮助的,但是对于浅的(例如深度可分离卷积的1通道深度特征空间)可能由于信息的丢失而变得有害。5. 未来方向我们在前面注意到,在规则卷积和可分离卷积之间存在离散谱,由用于执行空间卷积的独立通道空间段的数量参数化入侵模块是这个频谱上的一个点我们在经验评估中表明,初始模块的极端形式,依赖可分离卷积,可能比常规初始模块更有优势。然而,没有理由相信深度可分离卷积是最优的。可能是频谱上的中间点,位于规则的Inception模块和dependently可分离卷积之间,具有进一步的优势。这个问题留待以后研究。6. 结论我们展示了卷积和依赖可分离卷积如何位于离散谱的两端,而Inception模块是两者之间的中间点。这一观察结果促使我们提出在神经计算机视觉架构中用深度可分离卷积替换Inception模块我们提出了一个基于这个想法的新架构,命名为Xception,它具有与InceptionV3类似的参数计数。与Inception V3相比,Xception在ImageNet数据集上的分类性能略有提高,而在JFT数据集上则有很大的提高我们预计深度可分离卷积将成为未来卷积神经网络架构设计的基石,因为它们提供与Inception模块相似的属性,但与常规卷积层一样易于使用。引用[1] M. Abadi、A. Agarwal,P. Barham,E. Brevdo,Z. 陈先生,C. 西特罗湾S. Corrado,A.Davis,J.Dean,M.Devin,S.盖-马瓦特岛。Goodfellow,A.Harp,G.Irving,M.Isard,Y.贾,R. 约瑟夫奥维奇湖Kaiser,M.Kudlur,J.L evenber g,D.伙计,R. Monga、S. 穆尔,D. 默里角 奥拉山舒斯特J. 什 伦 斯 湾 施 泰 纳 岛 Sutskever , K. 塔 尔 瓦 尔 山 口Tucker,V.范厚凯,维。 Vasud ev an,F. Vi egas,O. Vin yals,P. 华登,M. Wattenberg,M. Wicke,Y. Yu和X.郑张量-流量:异构 系 统 上 的 大 规 模 机 器 学 习 , 2015 年 。 软 件 可 从tensorflow.org获得。[2] F.胆Keras https://github.com/fchollet/keras,2015.[3] D.- A. Clevert,T. Unterthiner和S. Hochreiter。通过指数线性单元(elus)进行快速准确的深度网络学习。arXiv预印本arXiv:1511.07289,2015。1258[4] K.他,X。Zhang,S. Ren和J. Sun.用于图像识别的深度残差学习。arXiv预印本arXiv:1512.03385,2015。[5] G. Hinton,O.Vinyals和J.Dean. 在神经网络中提取知识,2015年。[6] A.霍华德Mobilenets:高效的卷积神经网络-适用于移动视觉应用。马上就到[7] S. Ioffe和C.赛格迪批次标准化:通过减少内部协变量偏移来加速深度网络训练。第32届机器学习国际会议论文集,第448-456页,2015年[8] J. Jin,杨花A.Dundar和E.Culurciello。用于前馈加速的扁平卷积神经网络arXiv预印本arXiv:1412.5474,2014年。[9] A.克里热夫斯基岛Sutskever和G. E.辛顿Imagenet分类与深度卷积神经网络。在神经信息处理系统的进展,第1097[10] Y. 勒昆湖杰克尔湖博图角Cortes,J.S. 登克尔,H.德鲁克岛盖永Muller,E.萨金格山口Simard等人分类的学习算法:手写数字识别的比较神经网络:统计力学观点,261:276,1995。[11] M.林角,澳-地Chen和S.燕.网络中的网络。arXiv预印本arXiv:1312.4400,2013。[12] F. Mamalet和C.加西亚简化ConvNets以实现快速学习。人工神经网络国际会议(ICANN 2012),第58-65页。Springer,2012.[13] B. T. Polyak和A. B.朱迪茨基用平均法加速随机近似。SIAM J. Control Optim. ,30(4):838[14] O. 鲁萨科夫斯基Deng,H.Su,J.Krause,S.萨特伊什妈,Z. Huang,黄背天蛾A.卡帕西A.科斯拉,M。Bernstein等人ima-genet大规模视觉识别挑战赛。2014年[15] L.西弗用于图像分类的刚性运动散射,2014年。博士论文[16] L. Sifre和S.马拉特纹理鉴别的旋转、缩放和变形不变性散射。在2013年IEEE计算机视觉和模式识别会议上,美国俄勒冈州波特兰,2013年6月23-28日,第1233-1240页[17] N. Silberman和S.瓜达拉马Tf-slim,2016.[18] K. Simonyan和A.齐瑟曼。用于大规模图像识别的深度卷积网络。arXiv预印本arXiv:1409.1556,2014。[19] C.塞格迪,S。Ioffe和V.范霍克起始-v4,起始-resnet和剩 余 连 接 对 学 习 的 影 响 。 arXiv 预 印 本 arXiv :1602.07261,2016。[20] C. 塞格迪,W。Liu,Y.Jia,P.Sermanet,S.里德D.安盖洛夫D. Erhan,V. Vanhoucke,和A.拉比诺维奇。更深的回旋。在IEEE计算机视觉和模式识别会议论文集,第1[21] C. 塞格迪河谷Vanhoucke,S.Ioffe,J.Shlens和Z.沃伊纳重新思考计算机视觉的初始架构。arXiv预印本arXiv:1512.00567,2015。[22] T. Tieleman和G.辛顿将梯度除以其最近幅度的运行平均值。Coursera:神经机器学习网络,2012年4月。 访问日期:2015-11-05.[23] 诉范霍克学习大规模的视觉表征ICLR,2014年。[24] M.王湾,澳-地Liu和H.呼分解卷积神经网络。arXiv预印本arXiv:1608.04337,2016年。[25] M. D. Zeiler和R.费格斯。可视化和理解卷积网络。计算机Springer,2014.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功