卷积神经网络结构设计与实现外文翻译资料

 2022-11-08 17:52:13

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


Going Deeper with Convolutions

摘要

我们提出了一个深卷积神经网络架构,代号为Inception,该架构在ImageNet大规模视觉识别挑战2014(ILSVRC14)的(图像)分类和检测中目前是最先进的。此体系结构的主要特点是提高了网络内部的计算资源的利用率。通过精心设计,我们增加了网络的深度和宽度,同时保持常数计算预算。为优化质量,网络使用了基于Hebbian的感受野和多尺度处理原则的架构。我们基于此特别设计并提交了名为GoogLeNet的22层深度网络用于在ILSVRC14上进行分类和检测挑战。

  1. 引言

在过去三年,深度和卷积网络的进步,使得我们的对象分类和检测能力得到了大幅提升[10]。一个令人鼓舞的消息是,大多数的进步并不仅是因为更强的硬件、更大的数据集或者更大的模型,而是新的思想和算法优化了网络的架构。比如,除了用于检测目的的同一竞争对手的分类数据集之外,还没有使用新的数据源,例如ILSVRC 2014比赛的顶级参赛作品。 我们提交给ILSVRC 2014的GoogLetNet架构,相较于两年前赢得比赛的Krizhevsky等团队的架构[9],实际使用参数少了12倍,但精确度却更高。在目标检测方面,最大的收益并非来自于拥有越来越大的深度网络的本地程序,而是来自于协同架构和经典计算机视觉,如R-CNN Girshick等算法[6]。

另一个值得注意的因素是,持续增长的移动和嵌入式计算,使得我们算法的效率,尤其是功耗和内存的使用显得尤为重要。值得注意的是本文提出的架构在设计时考虑的是这个因素而不是一个纯粹的固定的精度数字。对于大多数实验,模型被设计用于进行1.5亿次复合计算事保持在预定时间内,所以他们最终不是因为纯学术好奇心,而是能以合理的成本在现实世界中使用,即使需要大型的数据集。

在本文中,我们将关注一个效率的深度神经网络的计算机视觉架构,代号为Inception,它的名字来自于Lin等得论文以及网络上著名的“我们需要往更深处去”。对我们而言,“深度”一词用于两种不同的含义:首先,在某种意义上,我们在Inception的模块中引入了一个新水平的架构,也更直接的增加了网络的深度。Arora等说,一般而言,一个可见的Inception模型的顶层逻辑的设计灵感是从实际工作中得到的[2]。本文提出的架构的优越性在ILSVRC2014的分类和检测挑战中得到证实,它明显的优于目前的其他架构。

  1. 实际工作

从Let-5[10]开始,卷积神经网络通常有一个标准的结构-堆叠的卷积层(其次是可选的对比度归一和池化优化)后面跟着一个或多个全连接层。其衍生设计在图像分类和MNIST的文字识别达到了最好的效果,特别是CIFAR和大规模视觉挑战赛中。对于ImageNet等更大型的数据库,最近的趋势是增加网络的层数和增加层的大小,而使用中断法解决过度拟合问题。

尽管担心池化层会导致失去准确的空间信息,但同样的卷积网络体系架构也被成功的用于对象检测和人类姿态评估。

灵感来自于灵长类动物的视觉神经科学模型,Serre等使用了一系列大小不同的Gabor过滤器来处理多尺度问题。我们使用了一个类似的策略。然而,相对与固定的双层模型,Inception中得所有过滤器体系结构都是通过学习得到的。此外,Inception是重复多层的,最终构成22层的GoogLeNet深度模型。

在网络中嵌套网络是Lin等提出的一种方法,以此提高神经网络的表征能力。在他们的模型中,额外的1 x 1的卷积层被添加到网络中,增加了网络的深度。我们也在架构中使用这种方法,然而,在我们的设计里,1 x 1的卷积层有双重目的,他们的主要目的是使用降维模块来消除计算的瓶颈,那样的话会限制我们的网路规模。这不仅可以增加深度,并且对我们网络的宽度没有明显的性能损失。

最后,Girshick等提到当前对象检测达到的最好状态是区域与卷积神经网络法(R-CNN)。R-CNN将所有检测问题分解为两个子问题:利用颜色和纹理等low- level cues,以便生成与类别无关的对象位置建议以及使用CNN分类器识别识别这些位置的对象类别。这样的两阶段的方法利用了边界分割的准确性和低级别的线索,以及功能强大的state-of- the-art的分类能力。我们提交的框架中采用了类似于管道的检测方式,但我们通过探索增强了这两个阶段,如使用多箱式预测以达到更高的对象边界回归和整体上更好的对分类边界的建议。

  1. 积极和更高水平的考虑

最简单的提高深层神经网络的性能的方法使增加他们的大小。包括增加深度-网络的层数和宽度:每个级别上的单元数量。这是一个简单和安全的训练更高质量模型的方法,特别是有大量标记的训练数据可用的情况下。然而,这个简单地解决方案有两个主要的缺点。

更大的尺寸意味着数量更多地参数,这使得扩大了的网络容易过度拟合,特别带标签的训练集数量有限的情况下。这是一个主要的瓶颈,因为要获得强有力的带标签数据集是很费力的,通常需要专家评委区分不同细粒度的视觉类别,如ImageNet(甚至有1000类ILSVRC子集),如图一所示。

另外一个缺陷是网络规模的扩大增加了计算资源的使用。例如,一个深度视觉神经网络,如果有两个卷积层束缚,任何uniform的增加都会使得他们的二次过滤结果计算量的增加。如果增加部分是使用效率很低的(例如,如果大多数的最终权重接近于零),那么大部分计算资源都被浪费了。既然计算资源总是有限的,那么一个优先高效的分配计算资源的架构是可以随意的增加大小,即使这最主要的目标是提高性能质量。

解决这两个问题的一个基本方法是引入稀疏层并用稀疏层替换掉全连接层,甚至是卷积层内替换。除了模仿生物系统,因为有Arora等的的开创性的工作,这个方案也有着坚实的理论基础。其主要结果是,如果数据集的概率分布能被一个大型并且稀疏的深度神经网络所代表(representable),那么最理想的网络拓扑结构可以通过分析前一层的激活状态和将神经元和输出高度集成来一层一层的构建网络。尽管严格的数学证明需要在很苛刻的条件下,但根据众所周知的Hebbian原则,即神经元相互连接相互激活原则,在实践中证明即使在没有那么严格的条件下,该底层想法同样适用。

不幸的是,当今的基础设施在计算非均匀稀疏的数据结构时效率是非常低的。即使运算数量减少10的平方,但查询的消耗和缓存的流失会导致:切换到稀疏矩阵可能得不偿失。使用稳步提升和高度调整的数值库使得差距进一步扩大,数值库利用CPU或GPU硬件的底层细节允许极快的稠密的矩阵乘法。同时,非均匀的稀疏模型需要更复杂的工程和计算基础设施。最新的视觉导向的机器学习系统在空间区域利用卷积的优点。然而,卷积被作为密集连接的集合被在前一层实现。卷积网络传统上使用随机特性和稀疏连接表在要素维度上,目的是为了打破对称性并且提高学习率,然而这趋向回完整连接。为了进一步优化并行计算,目前用于计算机视觉的最先进的架构统一了结构。大量的过滤器和更大批量的数据使可以有效的用于密集计算。

这里我们提出一个问题,是否有希望在接下来的中间步骤:使用理论所建议的稀疏过滤层构建一个架构,但是利用我们现有的硬件进行密度矩阵计算。大量的稀疏矩阵计算的文章表名(例如[3]),集群稀疏矩阵相对于密集矩阵在矩阵计算上有更好的性能。这似乎并不牵强的认为相似的方法会在不久的将来用于非均匀深度学习网络的自动化构建。

Inception架构开始作为一个案例研究,用于评估复杂网络拓扑构建算法的假设输出,该算法试图逼近隐含于视觉网络的稀疏结构,并通过密集,易于获得的组件覆盖假设结果。尽管是一个非常投机的事情,但与基于[12]的参考网络相比,早期观察到适度的收益。通过一点调整,差距扩大,Inception被证明在本地化和对象检测的背景下尤其有用,作为[6]和[5]的基础网络。有趣的是,虽然大多数原始的建筑选择已经被分离检查和彻底测试,但是他们原本在本地接近最佳。人们必须谨慎,尽管Inception架构已经成为计算机视觉的一个成功,但这仍然可以归结于导致其构建的指导原则。确保这一点将需要更彻底的分析和验证。

  1. 架构细节

Inception架构的主要思想是考虑如何通过容易获得的密集组件来近似和覆盖卷积式威胁网络的最优局部稀疏结构。请注意,假设翻译不变性意味着我们的网络将由卷积积木构建。我们需要的是找到最佳的地方建设,并在空间上重复。 Arora等人[2]提出了一个层次结构,其中应该分析最后一层的相关统计,并将它们聚集成具有高相关性的单元组。这些组合体形成下一层的单元,并连接到上一层中的单元。我们假设来自较早层的每个单元对应于输入图像的一些区域,并且这些单元被分组成过滤器组。在较低层(接近输入层),相关单位将集中在本地区域。因此,我们最终将集中在单个区域中的大量集群,并且可以在下一层中覆盖一层1times;1的卷积,如[12]所述。然而,人们还可以预期,在较大的补丁上可以被卷积覆盖的更多的空间扩展簇的数量将更少,并且在较大和较大的区域中将存在数量减少的补丁。为了避免补丁对齐问题,当前的接收体系结构被限制在1times;1,3times;3和5times;5的滤波器尺寸上。这个决定更多的是基于便利而不是必要性。这也意味着建议的架构是所有这些层的组合,其输出滤波器组连接成形成下一级输入的单个输出向量。此外,由于池操作对于当前卷积网络的成功至关重要,因此建议在每个这样的阶段添加一个替代的并行池路径也应该具有额外的有益效果(参见图2(a))。

由于这些“初始模块”堆叠在一起,它们的输出相关统计量必然会有变化:由于较高抽象的特征被较高层捕获,因此预计其空间集中度将会降低。这表明,随着我们向高层移动,3times;3和5times;5卷积的比例应该会增加。

上述模块的一个大问题是,至少在这样的形式下,即使是大量的5times;5卷积,在具有大量滤波器的卷积层之上也是非常昂贵的。一旦将组合单元添加到组合中,这个问题变得更加明显:输出过滤器的数量等于上一个阶段中的过滤器数量。汇集层的输出与卷积层的输出的合并将导致阶段到阶段的产出数量的不可避免的增加。虽然这种架构可能会覆盖最优的稀疏结构,但它会非常低效地导致在几个阶段内的计算机爆炸。

这导致了初始架构的第二个想法:在计算要求会增加太多的地方,明智地减小维度。这是基于嵌入的成功:即使是低分辨率的嵌入可能包含大量有关较大图像补丁的信息。然而,嵌入表示密集的压缩形式的信息,压缩的信息更难处理。在大多数地方(根据[2]条件的要求),应该保持稀疏,并且只有在必须汇总时才压缩信号。也就是说,1times;1个卷积被用于在昂贵的3times;3和5times;5卷积之前计算减少量。除了被用作减量之外,它们还包括使用纠正的线性激活,使其成为双重目的。最终结果如图2(b)所示。一般来说,启动网络是由上述类型的模块组成的网络,彼此堆叠,偶尔具有步幅2的最大池层将二分之一格。出于技术原因(培训时的记忆效率),开始使用Inception模块只是在较高层,同时保持传统卷积方式的较低层似乎是有益的。这不是绝对必要的,只是反映了我们目前实施中的一些基础设施效率低下。

该架构的一个有用的方面是它可以显着增加每个阶段的单元数量,而不会在稍后阶段的计算复杂性中产生不受控制的爆炸。这是通过在具有较大补丁尺寸的昂贵卷积之前普遍使用维数降低来实现的。此外,设计遵循视觉信息在各种尺度上进行处理,然后进行聚合的实际直觉,使得下一个阶段可以同时从不同尺度抽取特征。

改进的计算资源的使用允许增加每个阶段的宽度以及阶段的数量,而不会导致计算困难。可以利用Inception架构来创建略低一些但是计算量较低的版本。我们已经发现,所有可用的旋钮和杠杆允许计算资源的受控平衡,导致比具有非初始体系结构的类似网络更快3〜10倍的网络,但是在这一点上需要仔细的手动设计。

  1. GoogLeNet

通过“GoogLeNet”的名称,我们提到了在ILSVRC 2014比赛的提交中使用的Inception架构的具体化身。我们还使用了一个更深入和更广泛的Inception网络,具有稍微优越的品质,但将其添加到合奏似乎只是略微提高了结果。我们忽略了该网络的细节,因为经验证据表明,确切的架构参数的影响相对较小。表1说明了竞争中使用的最常见的Inception实例。这个网络(用不同的图像补丁采样方法训练)被用于我们的系统中的7个模型中的6个。

所有的卷积,包括Inception模块内的卷积,都使用纠正的线性激活。我们网络中接收场的大小在RGB颜色空间中为224times;224,平均值为零。 “3times;3减少”和“#5times;5减少”代表在3times;3和5times;5卷积之前使用的还原层中的1times;1个滤色器的数量。在pool proj列中内置max-pooling之后,可以看到投影层中1times;1个滤镜的数量。所有这些还原/投影层也使用整流的线性激活。

网络的设计考虑了计算效率和实用性,因此可以在单个设备上运行推理,包括具有有限计算资源的设备,特别是具有低内存占用的设备。

当仅使用参数计数层(如果我们还计数池,则为27层),网络深度为22层。用于构建网络的层数(独立构建块)大约为100个。确切的数量取决于机器学习基础设施的层数。在分类器之前使用平均池是基于[12],虽然我们的实现有一个额外的线性层。线性层使我们能够轻松地将我们的网络适应其他标签集,但是它主要用于方便,我们不期望它具有重大的影响。我们发现,从完全连接的层到平均池的移动将前1个精度提高了约0.6

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[138915],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。