Inception-v4, Inception-ResNet andthe Impact of Residual Connections on Learning
论文基于Inception结构和残差连接实现了3个网络:Inception-v4、Inception-ResNet-v1、Inception-ResNet-v2;通过实验证明了残差连接能够很好的改善训练速度,同时证明了非残差的Inception网络同样能够实现最好的分类精度。
近年来,非常深的卷积网络一直是图像识别性能最大进步的中心。一个示例是Inception架构,该架构已显示出以相对较低的计算成本实现了非常好的性能。最近,在2015年ILSVRC挑战赛中,引入残余连接与更传统的体系结构取得了最先进的性能;它的性能类似于最新一代的Inception-v3网络。这就提出了一个问题,那就是将Inception体系结构与残差连接相结合是否有任何好处。在此,我们给出明确的经验证据,即带有残差连接的训练显着地加速了Inception网络的训练。也有一些证据表明,残差的接收网络性能优于价格昂贵的Inception网络,而没有残差连接的可能性很小。我们还为残留和非残留Inception网络提供了几种新的简化架构。这些变化显着提高了ILSVRC 2012分类任务的单帧识别性能。我们进一步证明了适当的激活缩放如何稳定非常广泛的残差初始网络的训练。具有三个残差和一个Inception-v4的集合,在ImageNetclassification(CLS)挑战的测试集上实现了3.08%的top-5错误率。
自从Krizhevsky等人在2012年ImageNet竞赛中获胜以来,他们的网络“ AlexNet”已成功应用于各种计算机视觉任务,例如对象检测,分段,人体姿势估计,视频分类,对象跟踪和超分辨率。从那时起,这些示例只是深度卷积网络非常成功地应用到的所有应用程序中的少数。
在这项工作中,我们研究了两种最新观点的结合:He等人引入的残差连接和以及最新修订版的Inception架构。争论在于残余连接对于训练非常深的体系结构具有内在的重要性。由于Inception网络往往很深,因此自然地用残余连接代替Inception体系结构的过滤器串联阶段。这将使Inception可以在保留残差方法的所有优点的同时保持其计算效率。
除了直接集成之外,我们还研究了通过将Inception本身做得更深,更广泛,是否可以使它更有效。为此,我们设计了一个名为Inception-v4的新版本,与Inception-v3相比,它具有更统一的简化架构和更多inception模块。从历史上看,Inception-v3继承了许多早期化身的许多包袱。技术约束主要来自使用DistBelief 划分模型以进行分布式训练的需求。现在,在将我们的训练设置迁移到TensorFlow 之后,这些约束已经解除,这使我们可以显着简化架构。简化的体系结构的详细信息在第3节中进行了描述。
在此报告中,我们将比较两个纯Inception变量Inception-v3和v4,以及价格昂贵的混合Inception-ResNet版本。可以肯定的是,这些模型是在某种程度上临时选择的,其主要约束是模型的参数和计算复杂度应与非残差模型的成本相似。实际上,我们已经测试了更大,更广泛的Inception-ResNet变体,它们在ImageNet分类挑战数据集中的表现非常相似。
此处报告的最后一个实验是对此处介绍的所有最佳性能模型的整体评估。很明显,Inception-v4和Inception-ResNet-v2的性能相似,均超过了最新的单帧性能。 ImageNet验证数据集,我们想看看这些组合如何在这个经过充分研究的数据集上推陈出新。出乎意料的是,我们发现单帧性能的收益并没有转化为整体流血性能的类似大收益。尽管如此,它仍然使我们能够报告验证集上3.1%的前5个错误,其中包括四个模型,这些模型设定了我们最新的知识水平。
在最后一部分中,我们研究了一些分类失败的问题,并得出结论,该集合仍未达到该数据集上注释的标签噪声,并且仍有改进的空间。
继Krizhevsky等人之后,卷积网络在大规模的图像识别任务中已经变得很流行,接下来的一些重要里程碑是Lin等人的网络中网络,Simonyan等人的VGGNet和Szegedy等人的GoogLeNet(Inception-v1)。
He等人引入了残差连接,他们从理论和实践上证明了利用信号的加性合并进行图像识别,特别是目标检测的优点。作者认为,残差连接对于训练非常深的卷积模型是内在必要的。我们的发现似乎并不支持这一观点,至少在图像识别方面是如此。然而,它可能需要更多的测量点和更深入的体系结构来理解残差连接所提供的有益方面的真实程度。在实验部分,我们证明了在不利用残差连接的情况下,训练有竞争力的很深的网络不是很困难。然而,残差连接的使用似乎大大提高了训练速度,这是使用它们的一个很好的理由。
介绍了Inception深卷积体系结构,在我们的论述中称为GoogLeNet或Inception-v1。后来,以各种方式改进了Inception的体系结构,首先是由Ioffe等人引入了批标准化(Inception-v2)。后来,在第三次迭代中,通过附加的因式分解思想对体系结构进行了改进,在本报告中将其称为Inception-v3。
我们以前的Inception模型以前是按分区方式训练的,其中每个副本都被划分为多个子网,以便能够将整个模型适配到内存中。但是,Inception体系结构是高度可调的,这意味着各个层中的过滤器数量有很多可能的变化,这些变化不会影响经过全面训练的网络的质量。为了优化训练速度,我们通常仔细地调整层大小,以平衡各种模型子网之间的计算。相反,通过TensorFlow的引入,我们可以训练最新模型而无需对副本进行分区。这是通过反向传播最近对内存进行的优化来实现的,该优化是通过仔细考虑梯度计算需要哪些张量并构造计算结构来实现的。减少此类张量的数量。从历史上看,我们在更改架构选择方面相对保守,将我们的实验限制在变化的隔离网络组件上,同时保持网络的其余部分稳定。不简化先前的选择会导致网络看起来比他们需要的更加复杂。在我们的最新实验中,对于Inception-v4,我们决定摆脱这种不必要的负担,并针对每种网格大小为Inception块做出统一的选择。对于Inception-v4网络的大规模结构,请参见图9,对于其组件的详细结构,请参见图3、4、5、6、7和8。图中所有未标有“ V”的卷积都用相同的填充表示其输出网格与输入的大小匹配。标有“ V”的卷积有效填充,这意味着每个单元的输入补丁都完全包含在上一层中,并且相应地减小了输出激活图的网格大小。
对于Inception网络的残差版本,我们使用比原始Inception便宜的Inception块。每个Inception块后面都有滤波器扩展层(1 x 1卷积,未激活),用于在添加匹配之前按比例增加滤波器组的维数输入的深度。这是补偿因感应块引起的尺寸减小所需要的。
我们尝试了Inception残差版本的多个版本。这里仅详述其中两个。第一个“ Inception-ResNet-v1”大致计算了Inception-v3的计算成本,而“ Inception-ResNet-v2”与新引入的Inception-v4网络的原始成本相匹配。有关两个变体的大规模结构,请参见图15(但是,实际上,Inception-v4的步长时间被证明明显较慢,这可能是由于层数较大)。
残差和非残差的Inception变体之间的另一个小技术差异是,在Inception-ResNet的情况下,我们仅在传统层的顶部而不是汇总的顶部使用批标准化。可以合理预期,彻底使用批处理规范化将是有利的,但是我们希望保持可在单个GPU上训练的每个模型副本。事实证明,具有较大激活大小的层的内存占用量消耗了不成比例的GPU内存。通过省略这些层之上的批量归一化,我们能够大幅增加Inception块的总数。我们希望,随着更好地利用计算资源,这种取舍将变得不必要。
图3。纯Inception-v4和Inception-ResNet-v2网络的模式。这是这些网络的输入部分。参见图9和图15。
图7。35×35至17×17缩减模块的架构。图9中使用了此块的不同变体(具有不同数量的过滤器),每个新Inception(-v4,-ResNet-v1,-ResNet- v2)本文介绍的变体。 其中k,l,m,n数字代表1可以在表中查找的滤波器组大小。
图15。 Inception-ResNet-v1和Inception-ResNet-v2网络的架构。此架构适用于两个网络,但基础组件有所不同。 Inception-ResNet-v1使用图14、10、7、11、12和13中描述的块。Inception-ResNet-v2使用图3、16、7、17、18和19中描述的块。该图参考了Inception-ResNet-v1的激活矢量张量形状。
表1。本文介绍的三种Inception变体的Reduction-A模块的过滤器数量。纸的列中的四个数字参数化了图7的四个卷积。
图20。缩放组合的Inception-resnet模块的一般模式。我们希望在一般Resnet情况下使用相同的想法,在该情况下,使用任意子网代替Inception块。缩放块仅按合适的常数(通常约为0.1)缩放最后的线性激活。
我们还发现,如果过滤器的数量超过1000,则残差变体开始表现出不稳定性,并且网络在训练的早期就“死亡”,这意味着平均池化之前的最后一层在经过几十次过滤后才开始产生零。成千上万次迭代,这既不能通过降低学习率,也不能通过在该层添加额外的批标准化来防止。
我们发现在将残差添加到前一层激活之前将其缩小似乎可以稳定训练。通常,我们选择了一些介于0.1到0.3之间的缩放因子,以在将残差添加到累积层激活之前对其进行缩放(请参见图20)。
He等人观察到了类似的不稳定性。在残差网络非常深的情况下,他们建议采用两阶段训练,即以非常低的学习率完成第一个“热身”阶段,然后进行具有较高学习率的第二阶段。我们发现,如果过滤器的数量非常多,那么即使是非常低的学习率(0.00001)也不足以应付这种不稳定性,而采用高学习率的培训有机会破坏其效果。我们发现仅扩展残差部分更为可靠。
即使在并非绝对必要的缩放比例下,它似乎也不会损害最终的准确性,但有助于稳定训练。
我们使用TensorFlow 分布式机器学习系统,使用在NVidia KeplerGPU上运行的20个副本,通过随机梯度训练了我们的网络。我们较早的实验使用衰减为0.9的动量,而我们的最佳模型是使用衰减为0.9且= 1.0的RMSProp。我们使用0.045的学习率,使用0.94的指数率每两个时期衰减一次。使用随时间推移计算出的参数的运行平均值来执行模型评估。
图21。在纯Inception-v3与具有类似计算成本的残差网络的训练期间,Top-1误差演变。评估是在ILSVRC-2012验证集的非黑名单图像上对单个裁剪进行评估的。残差模型的训练速度快得多,但最终精度却比传统的Inception-v3差一些。
首先,我们观察了四个变量在训练过程中的前1和前5验证错误的演变。在进行了实验之后,我们发现我们对验证集的一个子集进行了连续评估,该验证集由于框较差而省略了大约1700个列入黑名单的实体。事实证明,仅应为CLSLOC基准执行省略,但是与其他报告(包括我们团队先前的一些报告)相比,收益率有些无法比拟(更乐观)。前1个错误的差异约为0.3%,前5个错误的差异约为0.15%。但是,由于差异是一致的,因此我们认为曲线之间的比较是合理的。
另一方面,我们已经重新运行了多幅裁剪并在包含500000张图像的完整验证集上集合结果。同样,最终的合奏结果也将在测试集中执行,并发送到ILSVRC测试服务器进行验证,以验证我们的调校不会导致过度拟合。我们想强调的是,该最终验证仅进行了一次,并且在去年仅提交了两次结果:对于BN-Inception论文及以后在ILSVR-2015 CLSLOC竞赛中的提交,请相信测试集号构成了真实的评估模型的泛化能力。
最后,我们介绍了Inception和Inception-ResNet的各种版本之间的一些比较。模型Inception-v3和Inception-v4是深度卷积网络不使用残差连接,而Inception-ResNet-v1和Inception-ResNet-v2是使用残差连接而不是过滤器串联的Inception样式网络。
图22。纯Inception-v3训练与类似计算成本的剩余Inception训练期间的前5个错误演变。评估是在ILSVRC-2012验证集的非黑名单图像上对单个裁剪进行评估的。残留版本的训练速度更快,并且在验证集上的最终召回率略好。
图23。纯Inception-v3训练期间的top-1错误演变与类似计算量的残差Inception训练期间。评估是在ILSVRC-2012验证集的非黑名单图像上对单个裁剪进行评估的。与传统的Inception-v4相比,剩余版本的训练速度更快,并且最终精度稍高。
图24。在纯Inception-v4训练与类似计算成本的剩余Inception训练期间,前5个错误的演变。评估是在ILSVRC-2012验证集的非黑名单图像上对单个裁剪进行评估的。剩余版本训练更快,并在验证集上达到了更好的最终召回率。
图25。所有四个模型(单个模型,单个裁剪)的Top-5错误演变。由于更大的模型尺寸而显示出了改进。尽管残差版本收敛速度更快,但最终精度似乎主要取决于模型尺寸。
表2显示了验证集中各种体系结构的单一模型、单一裁剪top-1和top-5错误。
表3显示了具有少量裁剪的各种模型的性能:ResNet的10种裁剪,对于初始变量,我们使用了12种裁剪评估。
表4显示了使用的各种模型的单个模型性能。对于残差网络,报告了密集的评估结果。对于初始网络,使用了144种裁剪策略。
表5。144种裁剪/密集密度评估的综合结果。重新报告了ILSVRC2012验证集的所有50000张图像。对于Inception-v4(+ Residual),该集成由一个纯Inception-v4和三个Inception-ResNet-v2模型组成,并在验证和测试集上进行了评估。测试设定的效能为3.08%top-5错误,验证了我们在验证集上没有过度匹配。
表5比较了整体结果。对于纯残差网络,报告了6个模型的密集评估结果。对于初始网络,使用144种裁剪策略对4个模型进行了集成。
我们详细介绍了三种新的网络架构:
我们研究了引入残余连接如何显着提高Inception架构的训练速度。同样,凭借增加的模型大小,我们的最新模型(带有和不带有残留连接的模型)也优于我们以前的所有网络。