更深的卷积
论文题目:Going Deeper with Convolutions
paper是谷歌发表在CVPR 2015上的工作
论文地址:链接
Abstract
作者提出了一种名叫Inception的深度卷积神经网络架构,该架构在 2014 年 ImageNet 大规模视觉识别挑战赛 (ILSVRC14) 中实现了分类和检测的最先进水平。这个架构提高了网络内部计算资源的利用率。作者通过精心设计,增加了网络的深度和宽度,同时保持计算预算不变。为了优化质量,架构决策基于Hebbian原则和多尺度处理的直觉。我们为 ILSVRC14 提交的文件中使用的一个特殊形式称为GoogLeNet,这是一个22层的深度网络,其在分类和检测的背景下进行评估。
1. Introduction
在过去的三年里,由于深度学习和卷积网络的进步,目标分类和检测能力得到了极大的提高。一个令人鼓舞的消息是,大部分的进步不仅仅是更强大的硬件、更大的数据集和更大的模型的结果,而主要是新想法、算法和改进的网络架构的结果。例如,在2014年ILSVRC比赛中,除了用于检测目的的同一比赛的分类数据集外,没有使用新的数据源。作者提交给ILSVRC 2014的GoogLeNet实际上比两年前Krizhevsky等人[9]的获胜架构使用的参数少了12倍,而准确度却明显更高。在目标检测方面,最大的收益不是来自更大和更大深度网络的幼稚应用,而是来自深度架构和经典计算机视觉的协同作用,例如 Girshick 等人 [6] 的 R-CNN 算法。
另一个值得注意的因素是,随着移动和嵌入式计算的不断发展,算法的效率–特别是它们的功率和内存使用–变得非常重要。注意,本文提出的深度架构设计的考虑因素包括这个因素,而不是纯粹追求准确率数字。在大多数实验中,这些模型被设计成在推理时保持15亿次的计算预算,这样它们就不会最终成为纯粹的学术探索,而是可以以合理的成本投入到现实世界中去,甚至在大型数据集上。
本文将重点介绍一种用于计算机视觉的高效深度神经网络架构,名为Inception,其名称来源于 Lin 等人 [12] 的 Network in network 论文以及著名的“we need to go deeper”互联网模因 [1]。在本文中,"深度 "一词有两种不同的含义:首先是指以 "Inception模块 "的形式引入了一个新的组织层次,同时也是指网络深度增加这一更直接的意义。总的来说,可以把Inception模型看作是[12]的一个逻辑顶点,同时从Arora等人[2]的理论工作中获得灵感和指导。该架构的优势在ILSVRC 2014的分类和检测挑战中得到了实验验证,它明显优于目前的技术水平。
2. Related Work
从LeNet-5开始,卷积神经网络(CNN) 通常具有标准结构——堆叠的卷积层(可选地后跟对比度归一化和最大池化)后跟一个或多个全连接层。在图像分类文献中有很多这种基本设计的变体,并且在 MNIST、CIFAR 和ImageNet分类挑战中取得了迄今为止最好的结果。对于Imagenet等较大的数据集,最近的趋势是增加层数和层大小,同时使用dropout来解决过拟合问题。
尽管担心最大池化层会导致准确的空间信息丢失,但与 [9] 相同的卷积网络架构也已成功用于定位、目标检测和人体姿态估计。
受灵长类视觉皮层神经科学模型的启发,Serre 等人[15]使用了一系列不同大小的固定 Gabor 滤波器来处理多个尺度。作者在这里使用类似的策略。与 [15] 的固定 2 层深度模型不同的是,Inception 架构中的所有滤波器都是可学习的。此外,Inception 层会重复多次,在 GoogLeNet 模型下会生成22层的深度模型。
Network-in-Network 是 Lin 等人 [12] 提出的一种方法,目的是提高神经网络的表示能力。在他们的模型中,额外的卷积层被添加到网络中,增加了它的深度。作者在本文架构中多次使用这种方法。而本文设置中,卷积具有双重目的:一,主要用作降维模块以消除计算瓶颈,否则会限制网络的大小。二,这不仅可以增加深度,还可以增加网络的宽度,而不会显著降低性能。
最后,当前最先进的目标检测技术是 Girshick 等人 [6] 提出的具有卷积神经网络的区域 (R-CNN) 方法。 R-CNN 将整个检测问题分解为两个子问题:利用颜色和纹理等低级线索以与类别无关的方式生成目标位置,并使用 CNN 分类器识别这些位置的目标类别。这种两阶段方法利用了具有低级线索的边界框分割的准确性,以及最先进的 CNN 的强大分类能力。作者在检测提交中采用了类似的pipeline,在两个阶段都探索了增强功能,例如用于更高目标边界框召回率的多框预测,以及用于更好地对边界框进行分类的集成方法。
3. Motivation and High Level Considerations
提高深度神经网络性能的最直接的方法是增加其规模。这包括增加深度–网络层次的数量–以及其宽度:每个层次的单元数量。这是训练更高质量模型的一种简单而安全的方法,特别是考虑到大量的标记训练数据。然而,这个简单的解决方案有两个主要缺点。
更大的规模通常意味着更多的参数,这使得扩大的网络更容易过拟合,特别是在训练集中的标记示例数量有限的情况下。这是一个主要的瓶颈,因为强标记的数据集是费力和昂贵的,通常需要专家评估来区分各种细粒度的视觉类别,如ImageNet中的类别(即使是1000类的ILSVRC子集),如图1所示。
图 1:ILSVRC 2014 分类挑战的 1000 个类别中的两个不同类别。需要领域知识来区分这些类。
统一增加网络规模的另一个缺点是计算资源的使用急剧增加。例如,在深度视觉网络中,如果将两个卷积层连接起来,则其滤波器数量的任何均匀增加都会导致计算量呈二次增长。如果增加的容量被低效地使用(例如,如果大多数权重最终接近于零),那么大部分的计算就被浪费了。由于计算预算总是有限的,有效地分配计算资源比不加选择地增加规模要好,即使主要目标是提高性能。
解决这两个问题的一个基本方法是引入稀疏性,用稀疏层取代全连接层,即使在卷积内部也是如此。除了模仿生物系统之外,由于 Arora 等人 [2] 的开创性工作,这还具有更坚实的理论基础的优势。他们的主要结果表明,如果数据集的概率分布可以由一个大型的、非常稀疏的深度神经网络来表示,那么最佳的网络拓扑结构可以通过分析前面几层激活的相关统计数据和对输出高度相关的神经元进行聚类来逐层构建。
虽然严格的数学证明需要非常强的条件,但这一陈述与Hebbian原则(神经元一起激活、连接在一起)产生共鸣的事实表明,即使在不太严格的条件下,基本思想也适用于实践。
不幸的是,当今的计算基础设施在非均匀稀疏数据结构上的数值计算方面效率非常低。即使算术运算的数量减少了 100 倍,查找和缓存未命中的开销也会占主导地位:切换到稀疏矩阵可能不会得到提升。通过使用稳定改进和高度调整的数值库,差距仍在进一步扩大,允许极快的密集矩阵乘法,利用底层 CPU 或 GPU 硬件的微小细节。此外,非均匀稀疏模型需要更复杂的工程和计算基础设施。当前大多数面向视觉的机器学习系统仅通过使用卷积来利用空间域中的稀疏性。然而,卷积被实现为与前一层patch的密集连接的集合。自 [11] 以来,ConvNets 传统上在特征维度中使用随机和稀疏连接表,以打破对称性并改善学习,但为了进一步优化并行计算,趋势又回到了 [9] 的全连接。当前最先进的计算机视觉架构具有统一的结构。大量的滤波器和更大的batch size允许有效使用密集计算。
这提出了一个问题,即下一步是否有希望:一种利用滤波器级稀疏性的架构,正如理论所提出的那样,但通过利用密集矩阵上的计算来利用当前的硬件。关于稀疏矩阵计算的大量文献(例如[3])表明,将稀疏矩阵聚类成相对密集的子矩阵往往会为稀疏矩阵乘法提供有竞争力的性能。认为在不久的将来会使用类似的方法来自动构建非均匀深度学习架构似乎并不牵强。
Inception架构一开始是作为一个案例研究,用于评估一个复杂的网络拓扑结构算法的假设输出,该算法试图接近[2]所暗示的视觉网络的稀疏结构,并通过密集的、现成的组件覆盖假设的结果。尽管这是一项高度推测性的工作,但在早期与基于[12]的参考网络相比,观察到了适度的收益。通过一些调整,差距扩大了,Inception 被证明在定位和目标检测的上下文中作为 [6] 和 [5] 的基础网络特别有用。有趣的是,虽然大多数最初的架构选择都在分离方面受到了彻底的质疑和测试,但事实证明它们接近于局部最优。但必须谨慎:尽管Inception架构已经成为计算机视觉的一个成功,但这是否可以归功于其指导原则,仍然是值得怀疑的。要确定这一点,需要更彻底的分析和验证。
参考文献
[1] Know your meme: We need to go deeper.http://knowyourmeme.com/memes/we-need-to-go-deeper.Accessed: 2014-09-15.
[2]Sanjeev Arora, Aditya Bhaskara, Rong Ge, and Tengyu Ma.Provable bounds for learning some deep representations.CoRR, abs/1310.6343, 2013.
[3] Ümit V. Çatalyürek, Cevdet Aykanat, and Bora Uçar.On two-dimensional sparse matrix partitioning: Models, methods, and a recipe.SIAM J. Sci. Comput., 32(2):656–683, February 2010.
[6] Ross B. Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik.Rich feature hierarchies for accurate object detection and semantic segmentation.In Computer Vision and Pattern Recognition, 2014. CVPR 2014. IEEE Conference on, 2014.
[9] Alex Krizhevsky, Ilya Sutskever, and Geoff Hinton.Imagenet classification with deep convolutional neural networks.In Advances in Neural Information Processing Systems 25, pages 1106–1114, 2012.
[11] Yann LeCun, Léon Bottou, Yoshua Bengio, and Patrick Haffner.Gradient-based learning applied to document recognition.Proceedings of the IEEE, 86(11):2278–2324, 1998.
[12] Min Lin, Qiang Chen, and Shuicheng Yan.Network in network.CoRR, abs/1312.4400, 2013.
[15] Thomas Serre, Lior Wolf, Stanley M. Bileschi, Maximilian Riesenhuber, and Tomaso Poggio.Robust object recognition with cortex-like mechanisms.IEEE Trans. Pattern Anal. Mach. Intell., 29(3):411–426, 2007.