Inception-v2 & v3论文拜读:Rethinking the Inception Architecture for Computer Vision

原文链接:https://arxiv.org/pdf/1512.00567v3.pdf

0 摘要

卷积网络是最先进的计算机视觉解决方案的核心,适用于各种各样的任务。自2014年起,非常深入的卷积网络开始成为主流,在各种基准上获得了巨大的收益。虽然增加的模型大小和计算成本往往会转化为大多数任务的即时质量收益(只要提供足够的标记数据用于培训),计算效率和低参数计数仍然是各种用例(如移动视觉和大数据场景)的有利因素。在这里,我们正在探索通过适当的因数分解卷积和积极的正则化,以尽可能有效地利用增加的计算的方式来扩展网络的方法。我们基准方法2012年ILSVRC分类挑战验证设置展示实质性收益超过国家的艺术:21.2%(和5:6%单帧评价前5的错误使用网络的计算成本50亿multiply-adds推理和使用少于2500万参数。综合4个模型和多作物评价,我们报告了3.5%的top-5误差和17.3%的top-1误差。

1 介绍

自2012年ImageNet[16]的竞争被Krizhevsky等[9]赢得,他们的网络AlexNet已成功应用于一个更大的各种各样的计算机视觉任务,例如对象检测[5],分割[12],人体姿态估计[22],视频分类[8],对象跟踪[23],超限分辨[3]。

这些成功催生了一个新的研究方向,即寻找性能更高的卷积神经网络。从2014年开始,利用更深更广的网络,网络架构的质量显著提高。VGGNet[18]和GoogLeNet[20]在2014年ILSVRC[16]分类挑战中取得了类似的高性能。一个有趣的观察结果是,分类性能的提高往往会转化为各种应用程序领域中显著的质量提高。这意味着,深度卷积架构中的架构改进可以用于提高大多数其他计算机视觉任务的性能,这些任务越来越依赖于高质量、学习过的视觉特性。此外,网络质量的改进也为卷积网络带来了新的应用领域,比如AlexNet功能无法与人工设计的、精心设计的解决方案相竞争,例如在检测[4]中生成建议。

尽管VGGNet[18]具有引人注目的架构简单性特性,但这样做的代价很高:评估网络需要大量的计算。另一方面,GoogLeNet[20]的Inception架构也被设计为即使在内存和计算预算的严格限制下也能很好地执行。例如,GoogleNet只使用了500万个参数,这比它的前任AlexNet减少了12个,后者使用了6000万个参数。此外,VGGNet使用的参数大约是AlexNet的三倍。

Inception的计算成本也比VGGNet或者它的性能更好的后继者[6]要低得多。这使得在大数据场景[17]和[13]中使用Inception网络成为可能,这些场景中需要以合理的成本处理大量数据,或者内存或计算能力天生有限的场景,例如在移动视觉设置中。通过对目标内存使用[2]、[15]应用专门的解决方案,或者通过计算技巧[10]优化某些操作的执行,当然可以减轻这些问题的一部分。然而,这些方法增加了额外的复杂性。此外,这些方法也可以用于优化在Inception架构,再次扩大效率差距。

然而,Inception架构的复杂性使得对网络进行更改变得更加困难。如果架构被天真地放大,大部分的计算收益会立即丢失。此外,[20]并没有提供关于导致GoogLeNet体系结构的各种设计决策的促成因素的清晰描述。这使得它更难以适应新的用例,同时保持其效率。例如,如果认为有必要增加某些接收类型模型的容量,只需将所有滤波器组的大小翻倍即可实现简单的转换,从而使计算成本和参数数量都增加4倍。在许多实际场景中,这可能会被证明是不合理的,尤其是在相关收益不大的情况下。在本文中,我们首先描述了一些一般原则和优化思想,这些原则和思想被证明对于以有效的方式扩展卷积网络非常有用。尽管我们的原则并不局限于Inceptiontype网络,但是它们更容易在上下文中观察到,因为Inception样式构建块的一般结构足够灵活,可以自然地合并这些约束。这是通过Inception模块的维度缩减和并行结构的大量使用实现的,它允许减轻结构更改对附近组件的影响。尽管如此,这样做仍然需要谨慎,因为应该遵循一些指导原则来保持模型的高质量。

2 一般性设计原则

在这里,我们将描述一些设计原则,这些原则基于使用卷积网络的各种架构选择的大规模试验。在这一点上,以下原则的效用是推测性的,未来还需要更多的实验证据来评估它们的准确性和有效性。尽管如此,严重偏离这些原则往往会导致网络质量的恶化,并且在发现这些偏离的情况下进行修复,通常会导致架构的改进。

  1. 避免具有代表性的瓶颈,特别是在网络的早期。前馈网络可以用从输入层到分类器或回归器的无环图来表示。这为信息流定义了一个清晰的方向。对于任何将输入与输出分离的 cut,都可以访问通过该 cut传递的信息量。应该避免极限压缩的瓶颈。一般来说,表示大小应该在到达用于当前任务的最终表示之前,从输入逐渐减少到输出。从理论上讲,信息内容不能仅仅通过表征的维度来评估,因为它抛弃了重要的因素,如相关结构;维度仅仅提供了对信息内容的粗略估计。
  2. 高维表示更容易在网络中本地处理。在卷积网络中增加每个块的激活允许更多的解纠缠特性。由此产生的网络将训练得更快。
  3. 空间聚合可以通过更低维度的嵌入实现,而不会损失太多或任何表示能力。例如,在执行更广泛的卷积(例如3 x 3)之前,可以在空间聚合之前减少输入表示的维数,而不会产生严重的负面影响。我们假设这样做的原因是相邻单元之间的强相关性,如果输出用于空间聚合上下文,则在降维过程中损失的信息要少得多。考虑到这些信号应该是容易压缩的,降维甚至可以促进更快的学习。
  4. 平衡网络的宽度和深度。通过平衡每级滤波器的数目和网络的深度,可以达到网络的最优性能。同时增加网络的宽度和深度可以提高网络的质量。然而,如果两者并行地增加,就可以达到对固定计算量的最优改进。因此,计算预算应该在网络的深度和宽度之间以一种平衡的方式分配。

尽管这些原则可能有意义,但是使用它们来提高开箱即用网络的质量并不是一件简单的事情。这个想法是在模棱两可的情况下明智地使用它们。

3 用大的过滤器来分解卷积

GoogLeNet网络[20]最初的收获主要来自于对降维的大量使用。这可以看作是一种以计算效率的方式对卷积进行因式分解的特殊情况。例如,考虑一下这样的情况:一个卷积层是 1 x 1 个,然后是一个卷积层是 3 x 3 个。在视觉网络中,邻近激活的输出是高度相关的。因此,我们可以预期它们的激活可以在聚合之前减少,并且这将导致类似的表达性本地表示。

在这里,我们将探索在各种设置下对卷积进行因式分解的其他方法,特别是为了提高解决方案的计算效率。由于初始网络是完全卷积的,每个权值对应于每个激活的一个乘法。因此,计算成本的任何减少都会导致参数数量的减少。这意味着通过适当的因式分解,我们可以得到更多的被解开的参数,从而得到更快的训练。此外,我们可以使用节省的计算和内存来增加网络的过滤库大小,同时保持在一台计算机上训练每个模型副本的能力。

3.1 因式分解为更小的卷积

使用较大空间过滤器的卷积(例如5 x 5或7 x 7)在计算方面往往非常昂贵。例如,一个含有 n n n个过滤器的5 x 5 个卷积在一个含有 m m m个过滤器的网格上的计算开销是一个含有相同数量过滤器的 3x 3 个卷积的计算开销的 25 / 9 = 2.78 25/9 = 2.78 25/9=2.78倍。当然,5 x 5 过滤器可以捕获信号之间的依赖关系,在更早的层中更远处的单元激活之间,因此减少过滤器的几何尺寸以表达性的巨大代价为代价。然而,我们可以提出这样一个问题,即一个5 x 5卷积是否可以被一个参数更少、输入大小和输出深度相同的多层网络所取代。如果我们放大5 x 5卷积的计算图表,我们可以看到,每个输出看起来就像一个小型全连通网络,在它的输入上滑动 5 x 5个平铺(见Figure 1)。由于我们构造一个视觉网络,似乎自然再次利用平移不变性和取代完全连接组件通过一个两层的卷积架构:第一层是一个3 x 3卷积,第二个是一个完全连接层的3 x 3输出网格的第一层(见Figure 1)。滑动这个小型网络输入激活网格可以归结为替换5 x 5 卷积与两层3 x 3卷积(比较Figure 4和5)。

这种设置通过在相邻块之间共享权重来减少参数数量。分析预计节省计算成本,我们将做一些简化假设,这适用于典型的情况:我们可以假定 n = α m n =αm n=αm,是我们想要改变激活的数量/单位一个常数 α α α因子。因为5 x 5卷积是聚合, α α α通常略大于一个GoogLeNet(约1.5)。有两层替代5 x 5层,它似乎是合理的达到这一扩张两个步骤:由 α \sqrtα α 增加过滤器的数量在这两个步骤。为了简化我们的估算,选择 α = 1 α= 1 α=1(没有扩张),如果我们在不重用相邻网格块之间的计算的情况下简单地滑动网络,我们会增加计算成本。这个网络可以由两个3 x 3个卷积层表示,它重用相邻块之间的激活。这样,我们最终净减少了 9 + 9 25 \frac{9+9}{25} 259+9的计算量,通过这种因式分解,我们获得了28%的相对收益。在计算每个单元的激活时,每个参数都只使用一次,因此参数计数的保存也完全相同。然而,这种设置提出了两个普遍的问题:这种替换是否会导致表达能力的丧失?如果我们的主要目标是对计算的线性部分进行因式分解,那么是否建议在第一层保留线性激活?我们进行了一些控制实验(例如,请参见 Figure 2),在分解的所有阶段中,使用线性激活总是不如使用经过校正的线性单元。我们将此收益归功于网络可以学习的增强的变异空间,尤其是当我们将输出激活的[7]进行批处理时。当对降维组件使用线性激活时,可以看到类似的效果。

3.2 空间因子分解成非对称卷积

以上结果表明,使用更大的 3×3 a 滤波器的卷积可能不是很有用,因为它们总是可以被简化成 3×3 个卷积层的序列。我们仍然可以问是否应该因式分解成更小的卷积,例如 2 x 2 个卷积。然而,事实证明使用非对称卷积甚至可以做得比 2 x 2 更好,例如 n x 1 n x 1 nx1。例如使用3 x 1卷积之后1 x 3卷积等价于滑动两层网络与3 x 3中相同的接受域卷积(参见Figure 3)。不过两层的解决方案是便宜33%相同数量的输出过滤器,如果输入和输出滤波器的数量是相等的。相比之下,将一个3 x 3卷积分解为两个2 x 2卷积只节省了11%的计算量。

理论上,我们可以走得更远,认为通过一个 1 × n 1×n 1×n卷积后跟一个 n × 1 n×1 n×1卷积可以代替任何 n × n n×n n×n卷积,并且随着n的增加,节省的计算成本显著增加(参见Figure 6)。在实践中,我们发现使用这对早期层分解并不奏效,但它给很好的结果介质网格大小(在 m × m m×m m×m特征图上,其中 m m m的取值范围为12到20)。在这个层次上,使用 1 × 7 1 × 7 1×7个卷积后跟 7 × 1 7 × 1 7×1个卷积可以得到非常好的结果。

4 辅助分类器的效果

[20]引入了辅助分类器的概念,以提高非常深的网络的收敛性。最初的动机是将有用的梯度推到较低的层,使它们立即有用,并通过在非常深的网络中解决消失梯度问题来提高训练的收敛性。Lee等人也认为辅助分类器促进了更稳定的学习和更好的收敛。有趣的是,我们发现辅助分类器在训练的早期并没有提高收敛性:有侧头和没有侧头的网络的训练进程在两种模型都达到高准确度之前看起来几乎是相同的。在训练接近结束时,有辅助分支的网络开始超越没有辅助分支的网络的精度,达到一个稍高的平台。

此外,[20]在网络的不同阶段使用了两个侧头。下辅助支路的撤除对网络的最终质量没有任何不利影响。再加上前一段中较早的观察,这意味着[20]的原始假设,即这些分支帮助进化低级特征很可能是错误的。相反,我们认为辅助分类器充当正则化器。如果侧分支是批规范化的[7]或具有dropout层,则网络的主分类器执行得更好,这一事实支持了这一点。这也为批量规范化充当正则化器的猜想提供了一个弱支持证据。

5 有效减少网络大小

传统的卷积网络使用一些池操作来减小特征图的网格大小。为了避免代表性瓶颈,在应用最大池或平均池之前,将扩展网络过滤器的激活维度。例如,开始一个带有 k k k个过滤器的 d × d d × d d×d网格,如果我们想要得到一个带有 2 k 2k 2k个过滤器的 d 2 × d 2 \frac d2 × \frac d2 2d×2d网格,我们首先需要计算一个带有2k个过滤器的stride-1卷积,然后应用一个额外的池化步骤。这意味着使用 2 d 2 k 2 2d^2k^2 2d2k2操作在更大的网格上进行昂贵的卷积运算,从而控制了总体计算成本。一种可能是通过卷积转换到池,从而使 2 ( d 2 ) 2 k 2 2(\frac d2)^2k^2 2(2d)2k2减少四分之一的计算成本。然而,这将创建一个表征瓶颈的整体维度表示下降少 ( d 2 ) 2 k (\frac d2)^2k (2d)2k导致表达网络(参见Figure 9)。这样做,而是我们建议进一步降低计算成本的另一个变体而删除具象的瓶颈。(见Figure 10)。我们可以使用两个并行的stride 2块: P P P C . P C. P C.P是一个池化层(平均池化或最大池化)激活,它们都是stride 2,它们的过滤器组连接在一起,如Figure 10所示。

6 Inception-v2

在这里,我们从上面的点连接,并提出一个新的体系结构,在ILSVRC 2012分类基准上提高性能。我们的网络布局如Table 1所示。请注意,根据3.1节中描述的相同思想,我们已经将传统的7 x 7卷积分解为3个3 x 3个卷积。对于网络的Inception部分,我们有3个传统的Inception模块,每个模块35 x 35个,每个模块有288个过滤器。使用第5节中描述的网格约简技术,这被简化为一个17×17的网格,带有768个过滤器。接下来是5个因数分解的inception模块的实例,如Figure 5所示。使用Figure 10中描述的网格缩减技术,这被简化为一个8×8×1280的网格。在最粗的8 x 8级,我们有两个Inception模块,如Figure 6所示,每个tile有一个大小为2048的串联输出过滤器。网络的详细结构,包括在Inception模块内部的过滤器组的大小,在补充材料中给出,在本次提交的tar文件中的model.txt中给出。

然而,我们已经观察到,只要遵守第2节的原则,网络的质量相对稳定。虽然我们的网络有42层,但是我们的计算成本只比GoogLeNet高了2分5秒,而且比VGGNet的效率更高。

7 通过标签平滑实现模型正则化

在此,我们提出一种机制,通过估计训练过程中标签缺失的边缘效应来规范分类器层。

对于每个训练示例x,我们的模型计算每个标签的概率 k ∈ { 1... K } : p ( k ∣ x ) = e x p ( z k ) ∑ i = 1 K e x p ( z i ) . k\in\{1...K\}:p(k|x)=\frac{exp(z_k)}{\sum_{i=1}^Kexp(z_i)}. k{1...K}:p(kx)=i=1Kexp(zi)exp(zk). 这里, z i z_i zi是对数或非标准化对数概率。对于这个训练示例,考虑标签 q ( k ∣ x ) q(k|x) q(kx)上的 ground-truth 分布,将其规范化 ∑ k q ( k ∣ x ) = 1. \sum_kq(k|x)=1. kq(kx)=1. 为了简洁起见,我们省略了 p p p q q q对示例 x x x的依赖关系。我们将例子中的损失定义为交叉熵: l = − ∑ k = 1 K l o g ( p ( k ) ) q ( k ) . l=-\sum_{k=1}^Klog(p(k))q(k). l=k=1Klog(p(k))q(k). 最小化这个值就相当于最大化标签的期望对数可能性,其中标签是根据其ground-truth分布 q ( k ) q(k) q(k)选择的。交叉熵损失相对于对数 z k z_k zk是可微的,因此可以用于深度模型的梯度训练。梯度有一个相当简单的形式: ∂ l ∂ z k = p ( k ) − q ( k ) , \frac{\partial l}{\partial z_k}=p(k)-q(k), zkl=p(k)q(k),在 -1 和 1 之间。

考虑一个单一的基本真理标签 y y y的情况,使 q ( y ) = 1 和 q ( k ) = 0 q(y) = 1 和 q(k) = 0 q(y)=1q(k)=0对于所有 k ≠ y k \ne y k=y。在这种情况下,最小化交叉熵就相当于最大化正确标签的对数可能性。对于带有 y y y的特定例子 x x x,对数似然函数 q ( k ) = δ k , y q(k)=\delta_{k,y} q(k)=δk,y δ k , y \delta_{k,y} δk,y是狄拉克函数,当 k = y k=y k=y时等于1,否则等于0。对于所有的 k ≠ y k \ne y k=y,如果 z y > > z k z_y >> z_k zy>>zk,这个最大值对于有限的 z k z_k zk是无法达到但无限接近,也就是说,如果与ground-truth标签对应的logit比其他所有的logit都要大得多。然而,这将导致两个问题。第一,它可能导致过拟合:如果模型学会为每个训练示例分配完全概率到groundtruth标签,则不能保证泛化。第二,它鼓励最大的logit和所有其他logit之间的差异变得更大,而这一点,再加上有界的梯度 ∂ l ∂ z k \frac{\partial l}{\partial z_k} zkl,降低了模型的适应能力。直观地说,这是因为模型对其预测过于自信。

我们提出了一个机制来鼓励模型变得不那么自信。如果目标是最大化训练标签的日志可能性,这可能不是理想的,但它确实使模型规范化并使其更具适应性。方法很简单。考虑在标签 u ( k ) u(k) u(k)上的分布,训练示例 x x x的独立性,和一个平滑参数 ϵ . \epsilon. ϵ. 对于带有ground-truth标签 y y y的训练示例,我们用
q ′ ( k ∣ x ) = ( 1 − ϵ ) δ k , y + ϵ u ( k ) q^{'}(k|x)=(1-\epsilon)\delta_{k,y}+\epsilon u(k) q(kx)=(1ϵ)δk,y+ϵu(k)替换了标签分布 q ( k ) = δ k , y q(k)=\delta_{k,y} q(k)=δk,y。这是原始地面真值分布 q ( k ∣ x ) q(k|x) q(kx)和固定分布 u ( k ) u(k) u(k)的混合,分别用权重 1 − ϵ 和 ϵ 1-\epsilon 和 \epsilon 1ϵϵ。这可以看作是得到的标签 k k k的分布如下:首先,将它设置为groundtruth标签 k = y k = y k=y;然后用 ϵ \epsilon ϵ替换来自分布 u ( k ) u(k) u(k)的一个抽样 k k k,在我们的实验中,我们使用均匀分布 u ( k ) = 1 / K u(k) = 1/K u(k)=1/K,因此
q ′ ( k ) = ( 1 − ϵ ) δ k , y + ϵ K . q^{'}(k)=(1-\epsilon)\delta_{k,y}+\frac{\epsilon} {K}. q(k)=(1ϵ)δk,y+Kϵ.
我们将这种地面真值标签分布的变化称为标签平滑正则化,简称LSR。

注意,LSR实现了防止最大logit变得比其他所有logit大得多的预期目标。事实上,如果发生这种情况,那么一个 q ( k ) q(k) q(k)将趋近于1,而其他所有 q ( k ) q(k) q(k)将趋近于0。这将导致一个大的交叉熵 q ′ ( k ) q^{'}(k) q(k),因为不同于 q ( k ) = δ k , y q(k)=\delta_{k,y} q(k)=δk,y q ′ ( k ) q^{'}(k) q(k)都有一个正下界。

考虑交叉熵可以得到LSR的另一种解释:
H ( q ′ , q ) = − ∑ k = 1 K l o g p ( k ) q ′ ( k ) = ( 1 − ϵ ) H ( q , p ) + ϵ H ( u , p ) H(q^{'},q)=-\sum_{k=1}^Klogp(k)q^{'}(k)=(1-\epsilon)H(q,p)+\epsilon H(u,p) H(q,q)=k=1Klogp(k)q(k)=(1ϵ)H(q,p)+ϵH(u,p)
因此,LSR等价于用一对这样的损失 H ( q , p ) H(q,p) H(q,p) H ( u , p ) H (u,p) H(u,p)替换单个交叉熵损失 H ( q , p ) H(q,p) H(q,p)

第二次损失用相对权重 ϵ 1 − ϵ \frac{\epsilon}{1-\epsilon} 1ϵϵ补偿了预测的标签分布 p p p与先验 u u u的偏差。注意,这个偏差可以等价地用 K L KL KL散度表示,因为 H ( u , p ) = D K L ( u ∣ ∣ p ) + H ( u ) H(u,p)=D_{KL}(u||p)+H(u) H(u,p)=DKL(up)+H(u) H ( u ) H(u) H(u)是固定的。当 u u u是均匀分布时, H ( u , p ) H (u,p) H(u,p)是预测分布 p p p与均匀分布的不相似程度的度量,也可以用负熵 H ( p ) H(p) H(p)来度量(但不相等);我们还没有试验过这种方法。

在我们的ImageNet实验中K = 1000个类,我们用 u ( k ) = 1 / 1000 和 ϵ = 0.1 u(k)=1/1000和\epsilon=0.1 u(k)=1/1000ϵ=0.1,对于ILSVRC 2012,我们发现前1名误差和前5名误差的绝对误差均有大约 0.2 % 0.2\% 0.2%的持续改善(参见Table 3)。

8 训练方法

我们使用TensorFlow[1]分布式机器学习系统对我们的网络进行了随机梯度训练,该系统使用了50个副本,每个副本在NVidia开普勒GPU上运行,批量大小为32,持续100个epochs。我们早期的实验使用的是0:9衰减的动量[19],而我们最好的模型是使用0:9衰减和 ϵ = 0.1 \epsilon=0.1 ϵ=0.1的RMSProp [21]。我们使用了0:045的学习率,每两个epochs衰减一次,使用的是0:94的指数率。此外,梯度剪枝[14]与阈值2.0被发现是有用的稳定训练。模型评估是使用随时间计算的参数的运行平均值来执行的。

9 低分辨率输入下的性能

视觉网络的一个典型用例是检测的后分类,例如在多框[4]上下文中。这包括分析图像的一个相对小的补丁,其中包含一个带有上下文的单一对象。任务是确定补丁的中心部分是否与某个对象相对应,如果是,则确定该对象的类。挑战在于,物体往往相对较小,分辨率也较低。这就提出了如何正确处理低分辨率输入的问题。

普遍的看法是,采用更高分辨率接受域的模型往往会显著提高识别性能。然而,重要的是要区分提高第一层感受场分辨率的影响和更大的模型电容和计算的影响。如果我们只是改变了输入的分辨率,而没有对模型做进一步的调整,那么我们最终会使用计算上便宜得多的模型来解决更困难的任务。当然,由于计算工作量的减少,这些解已经变得松散,这是很自然的。为了做出准确的评估,模型需要分析模糊的线索,以便能够对细节产生幻觉。这在计算上是很昂贵的。因此,问题仍然是:如果计算工作量保持不变,那么更高的输入分辨率有多大帮助。确保持续努力的一种简单方法是在分辨率较低的输入情况下减少前两层的步骤,或者简单地删除网络的第一个池化层。

为此,我们进行了以下三个实验:

  1. 299 x 299接受域,第一层后带有stride 2和maximum pooling.
  2. 151 x 151接受域,第一层后带有stride 1和maximum pooling.
  3. 79 x 79接受域,第一层后带有stride 2并且不带有pooling.

这三种网络的计算成本几乎相同。尽管第三个网络稍微便宜一些,但池化层的成本是边际的(在总成本的1%以内)。在每种情况下,对网络进行训练,直到收敛并在ImageNet ILSVRC 2012分类基准的验证集上测量其质量。结果见Table 2。虽然低分辨率网络需要更长的时间来训练,但最终结果的质量与高分辨率网络相当接近。

但是,如果根据输入分辨率天真地降低网络大小,那么网络的性能就会差得多。然而,这将是一个不公平的比较,因为我们将在一个更困难的任务上比较一个16倍便宜的模型。

Table 2的这些结果还表明,可以考虑在R-CNN[5]上下文中对较小的对象使用专用的高成本低分辨率网络。

10 实验结果和比较

Table 3显示了我们在第6节中描述的我们所提出的体系结构(Inceptionv2)的识别性能的实验结果。每一个incepep -v2行都显示了累积变化的结果,包括突出显示的新修改和所有以前的修改。标签平滑指的是第7节中描述的方法。因数分解的7 x 7包括一个变化,它将前7 x 7个卷积层因数分解为一个由3个3 x 3卷积层组成的序列。辅助性是指辅助性分类器的全连接层也是批处理规范化的版本,而不仅仅是卷积。我们将Table 3最后一行中的模型引用为incepep -v3,并评估它在多作物和集成设置中的性能。

按照[16]的建议,我们对ILSVRC-2012验证集上的48238个未列入黑名单的示例进行了所有评估。我们也评估了所有的50000个例子,结果在前5个错误中约为 0.1 % 0.1\% 0.1%,在前1个错误中约为 0.2 % 0.2\% 0.2%。在本文即将发布的版本中,我们将在测试集上验证我们的集成结果,但是在最后一次评估spring[7]中的BNInception时,我们发现测试集错误和验证集错误有很好的相关性。

11 总结

我们提供了几个设计原则来扩展卷积网络,并在Inception架构的背景下研究它们。与更简单、更统一的体系结构相比,这种指导可以产生高性能的视觉网络,其计算成本相对较低。在ILSVR 2012年分类中,我们的最高质量版本incepv3达到21.2%,single crop 评价的top-1和5.6% top-5错误,开创了新的技术水平。与Ioffe等人的[7]中描述的网络相比,这是通过相对较小的计算成本(2.5倍)实现的。然而,我们的解决方案比基于更密集的网络的最佳发布结果使用更少的计算:我们的模型比He等人的[6]结果表现更好,将前5个(前1个)误差分别减少了25%(14%),同时计算成本降低了6倍,使用的参数(估计数)至少减少了5倍。我们的4个incepv3模型的集成达到了3.5%,多作物评价达到了3.5%的top- 5误差,这代表了比最佳发表结果减少了25%以上,几乎是ILSVRC 2014 winining GoogLeNet集成的一半误差。

我们还证明了,高质量的结果可以达到接受域分辨率低至79 x 79。这可能对探测相对较小的物体的系统很有帮助。我们已经研究了在神经网络中对卷积进行因式分解和积极的降维可以如何在保持高质量的同时使网络的计算成本相对较低。低参数计数和附加正则化与批规范化辅助分类器和标签平滑相结合,允许在相对较小的训练集上训练高质量的网络。

Refences

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZPILOTE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值