文章提出了深层卷积网络的基础结构--Inception,提高了网络计算资源的利用率,提出了模型的典型实例--GoogLeNet(具有22层)。
一系列新的想法、算法、网络结构使图像识别和目标检测有了很大的进步。GoogLeNet比克里热夫斯基Krizhevsky等人两年前的获奖架构参数更少,同时也更准确得多。目标检测方面的进步并不是仅仅来自使用深度网络或更大的模型,而是来自深度架构和经典计算机视觉的协同作用,比如Girshick等人的R-CNN算法。
本文考虑了深层架构模型的能力和内存,而不仅仅是准确率。
max-pooling层虽然会丢失空间信息但仍然被使用,Inception模型使用不同大小的过滤器来处理多尺度,Inception模型被重复多次,形成了22层GoogLeNet深度模型。
网中网络是Lin等人提出的一种提高神经网络表征能力的方法。当应用于卷积层时,该方法可以看作是额外的1×1卷积层,然后通常跟着校正线性激活。
Inception模型大量使用了1×1卷积,它主要被用作降维模块,以消除计算瓶颈,否则这将限制我们的网络的大小。这不仅允许增加深度,还可以增加网络的宽度,而不会造成显著的性能损失。
目前领先的目标检测方法是由Girshick等人提出的区域卷积神经网络(R-CNN)。R-CNN将整个检测问题分解为两个子问题:首先以类别无关的方式利用潜在的对象特征的颜色和超像素一致性,然后使用CNN分类器来识别这些位置的对象类别。这种两阶段的方法利用了具有低水平线索的边界盒分割的准确性,以及最先进的cnn的高度强大的分类能力。我们在检测提交中采用了类似的管道,但在这两个阶段都探索了增强,如用于更高对象边界框召回的多盒预测,以及用于更好地对边界框建议进行分类的集成方法。
训练高质量模型最简单的方法是增大深度神经网络的规模,包括深度和宽度。
增大神经网络规模的两个缺点:
(1)有更多参数,容易过拟合,获得大量的标记训练样本比较困难且昂贵。
(2)计算资源急剧增加。
解决这两个问题的基本方法是最终将完全连接转换到稀疏连接的架构,甚至在卷积内部。但是当前还不能很好的实现转向稀疏矩阵架构,密集矩阵计算的硬件条件更好,相比之下方法更有效。
文章提出假设:利用额外的稀疏性架构,即使是在过滤器级别,并利用目前计算密集矩阵运算的硬件。
Inception架构最初是第一作者的一个案例研究,用于评估一个复杂的网络拓扑构造算法的假设输出,该算法试图为视觉网络近似一个稀疏结构,并通过密集的、可用的组件覆盖假设的结果。在进一步调整了学习速率、超参数和改进训练方法后,我们确定了生成的Inception架构作为基础网络,在定位和目标检测中特别有用。
Inception架构的主要思想是基于如何找到一个可以被现成的密集组件近似和覆盖的卷积视觉网络中的最优局部稀疏结构。
Inception架构的当前版本过滤器大小被限制为1×1、3×3和5×5。3*3和5*5卷积比较昂贵,尤其添加了池化之后,因此先使用1*1卷积进行降维,减少计算量,同时也可以起到使用额外的线性激活函数的作用。
Inception结构的优点:
(1)允许在每个阶段显著增加单元的数量,而不会出现不受控制的计算复杂性膨胀。
(2)它与直觉相一致,即视觉信息应该在不同的尺度上进行处理,然后进行聚合,以便下一阶段可以同时从不同的尺度上提取特征。
计算资源使用的改进允许增加每个阶段的宽度和阶段的数量,而不遇到计算困难。利用Inception架构的另一种方法是创建质量稍低,但计算成本也较低的版本。
所有的卷积,包括那些在初始模块内部的卷积,都使用了修正的线性激活。在我们的网络中,接受域的大小是224×224,采用RGB颜色通道的平均减法。
该网络在设计时考虑到了计算效率和实用性,当只计算带有参数的层时,该网络有22层。
在分类前使用的平均池化能够很容易地为其他标签集调整和微调我们的网络,但它主要是为了方便,不期望它会产生重大影响。
由于网络的深度相对较大,以有效的方式将梯度传播回所有层的能力是一个问题。一个有趣的观点是,相对较浅的网络在这一任务上的强大表现表明在网络中间的层产生的特征应该是非常有区别的。通过添加连接到这些中间层的辅助分类器,我们将期望在分类器的较低阶段鼓励区分,增加传播回的梯度信号,并提供额外的正则化。这些分类器采用了较小的卷积网络的形式,并将它们放在初始空间(4a)和(4d)模块的输出之上。在训练过程中,它们的损失以折扣权值加到网络的总损失中(辅助分类器的损失加权为0.3)。在测试时,这些辅助网络被丢弃。
我们的网络使用分布式机器学习系统进行训练,使用少量的模型和数据并行性。训练基于CPU,但粗略的估计表明,GoogLeNet网络可以在一周内使用少量的高端gpu来训练到收敛,主要的限制是内存的使用。
训练使用了具有0.9动量的异步随机梯度下降,固定的学习速率(每8个epoch学习速率降低4%)。
训练使用不断改变超参数、采样图片大小不固定等方法,因此不能确定最终结果是否受到了使用某些方法的积极影响。
可以提高测试性能的技术方法:
(1)采用不同的抽样方法和输入顺序训练多组相同的模型进行集成预测
(2)测试时对每个图片进行频繁采样
(3)对在多次采样上进行预测的多个分类器进行平均
通过密集结构块来近似预期的最优稀疏结构是改进计算机视觉神经网络的可行方法。这种方法的主要优点是与较浅和较不宽的网络相比,在计算需求的适度增加下显著提高质量。还需要注意的是,尽管我们既没有使用上下文,也没有执行边界框回归,但其检测工作仍然具有竞争力,这一事实进一步证明了Inception架构的强度。虽然期望通过更昂贵的相似深度和宽度的网络可以实现相似的结果质量,但我们的方法提供了坚实的证据,证明转向稀疏架构是可行和有用的想法。