英语原文共 12 页,剩余内容已隐藏,支付完成后下载完整资料
深入了解卷积
摘要-我们在ImageNet大规模视觉识别挑战赛2014(ILSVRC14)上提出了一种代号为Inception的深度卷积神经网络结构,并在分类和检测上取得了新的最好结果。该体系结构的主要特点是提高了网络内计算资源的利用率。这是通过精心设计实现的,该设计允许在保持计算预算不变的同时增加网络的深度和宽度。为了优化质量(quality),架构决策基于Hebbian原则和多尺度处理。在我们为ilsvrc 14提交的文件中使用的一种特殊形式称为googlenet,它是一个22层深的网络,其质量将在分类和检测的范围内进行评估。
1.介绍
近三年来,主要由于深入学习、更具体的卷积网络[10]的发展,图像识别和目标检测的质量正以前所未有的速度向前发展。一个令人鼓舞的消息是,这一进步的大部分不仅仅是更强大的硬件、更大的数据集和更大的模型的结果,而且主要是新的思想、算法和改进的网络结构的结果。 例如,ILSVRC 2014竞赛中最靠前的输入除了用于检测目的的分类数据集之外,没有使用新的数据资源。我们的GoogleNet提交给ILSVRC 2014的报告实际上是两年前Krizhevsky等人[9]的获奖架构使用的参数的1/12,而且要准确得多。在目标检测方面,最大的收获不是来自于单独利用深度网络或更大的模型,而是来自于深层架构和经典计算机视觉的协同作用,比如girshick等人的r-cnn算法[6]。
另一个值得注意的因素是,随着移动计算和嵌入式计算的不断发展,我们算法的效率-尤其是它们的能力和内存的使用-变得越来越重要。 值得注意的是,正是包含了这个因素的考虑才得出了本文中呈现的深度架构设计,而不是单纯的为了提高准确率。在大多数实验中,这些模型的设计是为了保持15亿的计算预算-在推理时增加,这样它们最终不会成为纯粹的学术好奇心,而是可以合理的成本投入现实世界的使用,即使是在大型数据集上也是如此。
本文将重点研究一种高效的计算机视觉深层神经网络体系结构,代号为“Inception”,它的名称来源于Lin等人[12]的网络论文中的网络,以及著名的“我们需要更深层次的”网络模因[1]。在我们的例子中,“深度”一词有两种不同的含义:首先,我们以“Inception模块”的形式引入了一个新的组织层次,并且在更直接的意义上增加了网络深度。一般来说,人们可以把初始模型看作是[12]的逻辑顶点,同时从Arora等人的理论工作中获得灵感和指导[2]。该架构的优点在ILSVRC 2014分类和检测挑战上得到了实验验证,在这方面,它的性能明显优于当前的先进水平。
2.相关工作
从LENET-5[10]开始,卷积神经网络(CNN)通常有一个标准的结构-堆叠的卷积层(可选地接着是对比度归一化和最大池)后面是一个或多个完全连接的层。这种基本设计的变体在图像分类文献中非常流行,并在mnist、CIFAR和ImageNet分类挑战[9,21]上取得了迄今为止最好的结果。对于大型数据集,如ImageNet,最近的趋势是增加层数[12]和层大小[21,14],同时使用Dropout[7]来解决过度拟合的问题。
尽管人们担心最大池化层层会导致精确的空间信息丢失,但与[9]相同的卷积网络结构也被成功地用于定位[9,14],目标检测[6,14,18,5]和人体姿态估计[19]。 受灵长类视觉皮层神经科学模型的启发,Serre等人[15]使用了一系列固定的不同大小的Gabor滤波器来处理多尺度。然而,与[15]中固定的2层深度模型相反,在初始模型中的所有滤波器都是学习的。 此外,Inception层重复了很多次,在GoogLeNet模型中得到了一个22层的深度模型。
Network-in-Network是Lin等人[12]为了增加神经网络表现能力而提出的一种方法。当应用于卷积层时,该方法可以看作是额外的1times;1卷积层,然后是典型的校正线性激活[9]。这使得它能够很容易地集成到目前的CNN管道中。我们在架构中大量使用这种方法。然而,在我们的设置中,1times;1卷积具有双重用途:最关键的是,它们主要用作降维模块,以消除计算瓶颈,否则会限制我们网络的规模。这不仅允许增加深度,而且还允许我们的网络的宽度没有显著的性能损失。
目前主要的目标检测方法是Girshick等人提出的基于区域的卷积神经网络方法(R-CNN)[6]。R-CNN将整个检测问题分解为两个子问题:首先,以一种与类别无关的方式,利用颜色和超像素一致性等低级别线索来进行潜在的对象建议,然后使用cnn分类器识别这些位置的对象类别。 这样一种两个阶段的方法利用了低层特征分割边界框的准确性,也利用了目前的CNN非常强大的分类能力。我们在提交的检测报告中采用了类似的方法,但在这两个阶段都进行了改进,例如多框[5]对较高对象包围盒召回的预测,以及更好地对边界框提案进行分类的集成方法。
3.动机和高层考虑
改善深层神经网络性能最直接的方法是增加它们的大小。这包括增加网络的深度(层数)及其宽度:每层的单元数。这是一种简单而安全的方法来训练高质量的模型,特别是考虑到大量的标记训练数据的可用性。然而,这个简单的解决方案有两个主要缺点。
更大的规模通常意味着更多的参数,这使得扩大后的网络更容易过度拟合,特别是在训练集中标记示例的数量有限的情况下。这可能成为一个主要的瓶颈,因为创建高质量的培训集可能是棘手和昂贵的,特别是如果需要专家评估人员来区分像ImageNet(甚至在1000类ILSVRC子集中)这样的细粒度视觉类别,如图1所示。
网络大小均匀增加的另一个缺点是计算资源的使用急剧增加。例如,在深度视觉网络中,如果将两个卷积层链接起来,它们的滤波器数目的任何均匀增加都会导致计算的二次增长。如果增加的容量没有得到有效的使用(例如,如果大多数权重最终接近于零),那么大量的计算就会被浪费掉。由于计算预算在实践中总是有限的,因此更倾向于有效分配计算资源,而不是任意增加规模,即使主要目标是提高结果的质量。
解决这两个问题的一个基本的方式就是将全连接层替换为稀疏的全连接层,甚至在卷积层内部。除了模仿生物系统之外,由于Arora等人的开创性工作,这也将具有更坚实的理论基础的优势[2]。它们的主要结果是,如果数据集的概率分布可以用一个大的、非常稀疏的深层神经网络来表示, 则最优的网络拓扑结构可以通过分析前一层激活的相关性统计和聚类高度相关的神经元来一层层的构建。尽管严格的数学证明需要很强的条件,但这一说法与众所周知的Hebbian原理产生了共鸣-神经元一起激发、一起连接-这表明,即使在实际中,在不太严格的条件下,这种基本思想也是适用的。
缺点是,今天的计算架构对于非均匀稀疏数据结构的数值计算效率很低。即使算术运算的数量减少了100倍,查找和缓存丢失的开销仍然占主导地位,因此切换到稀疏矩阵是不会有好处的。 随着稳定提升和高度调整的数值库的应用,差距仍在进一步扩大,这些数值库允许极度快速密集的矩阵乘法,利用底层的CPU或GPU硬件[16, 9]的微小细节。此外,非均匀 的稀疏模型需要更复杂的工程和计算基础设施。目前大多数面向视觉的机器学习系统都是利用空间域的稀疏性来实现的。但是,卷积是作为与前一层中的补丁的密集连接的集合来实现的。自[11]以来,为了打破对称性和提高学习能力,卷积网习惯上上在特征维中使用随机和稀疏连接表,以更好地优化并行计算,这种趋势又回到了与[9]完全连接的状态。结构的均匀性和大量的过滤器和更大的批量允许使用高效的密集计算。
这就提出了一个问题:是否有希望实现下一个中间步骤:一种利用额外稀疏性的体系结构,即使是滤波器级,但正如理论所建议的那样,能通过利用密集矩阵上的计算来利用我们当前的硬件。关于稀疏矩阵计算的大量文献(例如[3])表明,将稀疏矩阵聚类成相对稠密的子矩阵,往往会给稀疏矩阵乘法提供最先进的实际性能。似乎不难想象,在不久的将来,类似的方法将被用于非均匀的深度学习体系结构的自动化构建。
4.结构细节
Inception架构开始是作为案例研究,用于评估一个复杂网络拓扑构建算法的假设输出,该算法试图近似[2]中所示的视觉网络的稀疏结构,并通过密集的、容易获得的组件来覆盖假设结果。尽管这是一项高度投机性的工作,但只有在对拓扑的精确选择进行了两次迭代之后,我们已经可以看到与基于[12]的参考架构相比所取得的一些进展。在进一步调整学习率、超参数和改进的训练方法之后,我们确定了该Inception结构对于[6]和[5]的基本网络在定位和目标检测方面是特别有用的。有趣的是,虽然大多数最初的架构选择都经过了彻底的质疑和测试,但最终它们至少在本地是最优的。
然而必须谨慎:尽管Inception架构在计算机上领域取得成功,但这是否可以归因于构建其架构的指导原则仍是有疑问的。要确保这一点需要更彻底的分析和验证:例如,如果基于以下原则的自动化工具会发现类似的、但更好的视觉网络拓扑结构。最令人信服的证据是,自动化系统是否会创建网络拓扑,从而在其他领域使用相同的算法,但具有非常不同的全局架构,从而获得类似的收益。至少,Inception架构的最初成功为在这个方向上激动人心的未来工作提供了坚定的动力。
Inception架构的主要思想是找出卷积视觉网络中最优的局部稀疏结构是如何被容易获得的密集分量所近似与覆盖的。请注意,假定转换不变性意味着我们的网络将由卷积积木构建。请注意,假定平移不变性意味着我们的网络将由卷积积木构建。Arora等人[2]提出一种逐层结构,对上一层的相关统计量进行分析,并将其聚成一组具有高度相关性的单元。这些聚类形成了下一层的单元并与前一层的单元连接。我们假设来自前一层的每个单元对应于输入图像的某个区域,并且这些单元被分组为滤波器组。在较低层(接近输入层),相关单元集中在局部区域。这意味着,我们最终会有大量的团簇集中在一个单一的区域,它们可以在下一层被1times;1的卷积覆盖,就像[12]中所建议的那样。然而也可以预期,将存在更小数目的在更大空间上扩展的聚类,其可以被更大块上的卷积覆盖,在越来越大的区域上块的数量将会下降。为了避免块校正的问题,目前Inception架构形式的滤波器的尺寸仅限于1times;1、3times;3、5times;5,这个决定更多的是基于便易性而不是必要性。这还意味着所建议的体系结构是所有这些层的组合,它们的输出滤波器组连接成一个单一的输出矢量,形成下一阶段的输入。此外,由于池操作对于当前最先进的卷积网络的成功至关重要,它建议在每个这样的阶段增加一条可供选择的并行池路径,这也应具有额外的有益效果(见图2(A)。
由于这些“Inception模块”是层叠在一起的,它们的输出相关统计量必然会有所不同:由于较高的抽象特征被较高的层所捕捉,它们的空间浓度预计会降低,这意味着3times;3和5times;5卷积的比率应该随着我们移动到更高的层而增加。
上述模块的一个大问题是在具有大量滤波器的卷积层之上,即使适量的5times;5卷积也可能是非常昂贵的,至少在这种朴素形式中有这个问题。一旦将池单元添加到混合中,这个问题就会更加明显:它们的输出过滤器的数量等于上一阶段的过滤器的数量。将池层的输出与卷积层的输出合并将不可避免地导致从一个阶段到另一个阶段的输出数量的增加。即使这个体系结构可能覆盖最优的稀疏结构,它也会非常低效率地完成它,在几个阶段内导致计算崩溃。
这导致了Inception架构的第二个想法:在计算要求会增加太多的地方,明智地减少维度和映射。这是基于嵌入式的成功:即使是低维嵌入也可能包含大量关于相对较大的图像修补程序的信息。然而,嵌入以密集、压缩的形式表示信息,压缩后的信息更难建模。我们希望在大多数地方保持我们的表示稀疏(根据[2]的要求),并且只有当信号必须聚集在一起时才对它们进行压缩。也就是说,在昂贵的3times;3和5times;5卷积之前,使用1times;1卷积来进行计算约简。除了用作减少(参数)外,它们还包括使用经校正的线性激活,使它们具有双重用途。最后的结果如图2(B)所示。
一般来说,Inception网络是由上述类型的模块相互叠加而成的网络,偶尔会有跨越2的最大池层,以将网格的分辨率减半。由于技术原因(训练期间的内存效率),似乎只在较高层开始使用初始模块,而以传统的卷积方式保持较低层的使用是有益的。这不是绝对必要的,只是反映了我们目前实现中的一些基础结构效率低下。
这个体系结构的主要好处之一是,它允许在每个阶段显着地增加单元数量, 而不会在后面的阶段出现计算复杂度不受控制的爆炸。维数约简的普遍使用使得在上一阶段的大量输入滤波器被屏蔽到下一层,首先减小它们的维数,然后再将它们与大的块大小集合在一起。该设计的另一个实际有用的方面是,它与直觉保持一致,即视觉信息应该在不同的尺度上进行处理,然后进行聚合,以便下一阶段能够同时从不同的尺度中提取特征。
通过改进计算资源的使用,可以增加每个阶段的宽度和阶段数,而不会陷入计算困难。另一种利用初始架构的方法是创建稍微低劣的,但计算成本较低的版本。我们已经发现,所有包含的旋钮和杠杆都允许对计算资源进行控制平衡,从而使网络比具有非初始架构的类似执行网络快2minus;3times;,但是这需要在此时进行仔细的手工设计。
5.GOOGLENET
我们在ilsvrc 14竞赛中选择GoogLeNet作为我们的团队名称。这个名字是对亚恩莱昂开拓性的 LeNet 55网络[10]的一种敬意。我们还使用GoogleNet来作为我们提交的竞赛中所使用的Inception架构的特例。我们还使用了一个更深更广的初始网络,其质量稍差,但将其添加到集合中似乎可以稍微提高效果。我们忽略了网络的细节,因为我们的实验表明,精确的架构参数的影响相对较小。在这里,为了演示目的,表1描述了最成功的特定实例(名为GoogLeNet)。在我们集成的7种模型中,有6种采用了完全相同的
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[608828],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。