深度学习之图像分类(七)InceptionV2 V3论文翻译总结

Rethinking the Inception Architecture for Computer Vision

摘要

卷积网络是大多数最先进的计算机视觉解决方案的核心,适用于各种任务。自2014年以来,非常深的卷积网络开始成为主流,在各种基准测试中取得了实质性进展。尽管增加的模型大小和计算成本往往会转化为大多数任务的直接质量收益(只要为训练提供足够的标记数据),但计算效率和低参数计数仍是各种应用场景的限制因素,例如移动视觉和大数据场景。在这里,我们正在探索扩大网络规模的方法,旨在通过适当的因式分解卷积和积极的正则化尽可能有效地利用增加的计算。我们在ILSVRC 2012分类挑战验证集上对我们的方法进行了基准测试,证明了相对于现有技术水平的实质性收益:使用每次推理的计算成本为50亿乘加的网络,并使用少于2500万个参数,单帧评估的top-1误差为21.2%,top-5误差为5.6%。在4个模型和多作物评价的集成实验中,top-5误差为3.5%,top-1误差为17.3%。

精读:

主要内容:

背景:自2014年开始,网络变得又大又深,计算复杂度高,无法在移动场景(边缘计算)和大数据场景下使用。

目的:在加宽和加深网络的同时,我们要考虑计算的效率

引出本文主旨:探索了可分离卷积和正则化去提交效率

Introduction

自从Krizhevsky等人[9]在2012年ImageNet竞赛[16]中获奖以来,他们的网络“AlexNet”已经成功应用于更多种类的计算机视觉任务,例如物体检测[5]、分割[12]、人体姿态估计[22]、视频分类[8]、物体跟踪[23]和超分辨率[3]

这些成功激发了一个新的研究方向,专注于寻找性能更高的卷积神经网络。从2014年开始,通过利用更深更广的网络,网络架构的质量显著提高。VGGNet[18]和GoogLeNet[20]在2014年ILSVRC[16]分类挑战赛中取得了类似的高性能。一个有趣的现象是,在许多应用领域中,分类性能的提高往往会转化为质量的显著提高。这意味着深度卷积体系结构的改进可以用于提高大多数其他计算机视觉任务的性能,这些任务越来越依赖于高质量的、学习到的视觉特征。此外,在AlexNet特征无法与手工设计的、精心设计的解决方案竞争的情况下,网络质量的改进导致了卷积网络的新应用领域,例如检测[4]中的建议生成。

尽管VGGNet[18]具有引人注目的架构简单性特征,但这需要很高的成本:评估网络需要大量的计算。另一方面,GoogLeNet[20]的Inception也被设计成即使在内存和计算预算的严格限制下也能很好地运行。例如,GoogleNet仅使用了500万个参数,这比其使用6000万个参数的前身AlexNet减少了12倍。此外,VGGNet使用的参数比AlexNet多3倍。

Inception的计算成本也远低于VGGNet或其更高性能的后继者[6]。这使得可以在大数据场景中[17],[13],在大量数据需要以合理成本处理的情况下或在内存或计算能力固有地受限情况下,利用Inception网络变得可行,例如在移动视觉设定中。通过应用针对内存使用的专门解决方案[2],[15]或通过计算技巧优化某些操作的执行[10],可以减轻部分这些问题。但是这些方法增加了额外的复杂性。此外,这些方法也可以应用于优化Inception架构,再次扩大效率差距。

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

精读

主要内容

(1)深度卷积网络性能的提升可以应用在其它计算机视觉任务中,这些任务有着共同点:它们都依赖学习到的高质量视觉特征(visual features)。

(2)卷积网络性能的提升会产生新的应用领域,比如AlexNet features 无法与手工工程相比,比如目标检测中候选框的生成。

(3)在参数上对比其他模型展现GoogLeNet的优势(参数量Alexnet:6000W,GoogLeNet:500W,VGG16:1.3E)

(4)一味的堆叠Inception模块将使得计算量爆炸,换来的精准度并不划算。

这篇论文中,先会介绍通用设计原则和一些优化的思想,然后再探索新的Inception结构

General Design Principles

这里我们将介绍一些具有卷积网络的、具有各种架构选择的、基于大规模实验的设计原则。在这一点上,以下原则的效用是推测性的,另外将来的实验证据将对于评估其准确性和有效领域是必要的。然而,严重偏移这些原则往往会导致网络质量的恶化,修正检测到的这些偏差状况通常会导致改进的架构。

  1. 避免表示瓶颈,特别是在网络的早期。前馈网络可以用一个从输入层到分类器或回归器的无循环图来表示。这为信息流定义了一个明确的方向。对于将输入与输出分开的任何切割,都可以访问通过该切割面的信息量。应该避免极度压缩的瓶颈。一般来说,在达到用于着手任务的最终表示之前,表示大小应该从输入到输出缓慢减小。从理论上讲,信息内容不能仅仅通过表征的维度来评估,因为它抛弃了相关结构等重要因素; 维度仅仅提供了信息内容的粗略估计。
  2. 高维表示更容易在网络中进行局部处理。在卷积网络中,增加每个贴图的激活可以获得更多的解纠缠特征。由此产生的网络将训练得更快。
  3. 空间聚合可以在较低维度的嵌入上完成,而不会在表示能力上有太多或任何损失。例如,在执行更分散的(例如3 × 3)卷积之前,可以在空间聚合之前降低输入表示的维数,而不会产生严重的不利影响。我们假设,如果在空间聚合上下文中使用输出,则相邻单元之间的强相关性会导致维度缩减期间的信息损失少得多。鉴于这些信号应该易于压缩,因此尺寸减小甚至会促进更快的学习。
  4. 平衡网络的宽度和深度。通过平衡每级滤波器的数量和网络的深度,可以达到网络的最佳性能。增加网络的宽度和深度可以提高网络的质量。然而,如果两者并行增加,则可以达到恒定计算量的最佳改进。因此,计算预算应该在网络的深度和宽度之间以平衡的方式分配。

尽管这些原则可能有意义,但要用它们来提高开箱即用的网络质量并不是直截了当的。我们的想法是只在模棱两可的情况下明智地使用它们。

精读

这一章主要是介绍了作者想到的四种设计原则,论文中说道,这几种设计原则虽然没有严格的证明或者实验加持,但你要大致上遵守,如果你背离这几个原则太多,则必然会造成较差的实验结果。

原则一:要避免过度的降维和压缩特征导致特征表达瓶颈,特别是在网络的浅层。

做法:feature map 长宽大小应随网络加深缓慢减小(不能猛减)。

原因:过度的降维或者收缩特征将造成一定程度的信息丢失(信息相关性丢失)

为何特别是网络的浅层?

因为在网络的浅层丢失的原图信息还不是很多,仍然保留信息的稀疏性。如果在浅层就进行过度地压缩和降维,会对后面提取特征等工作是有负面影响的。

原则二:特征越多,收敛越快

理解:这里的特征多不是说特征图像多,而是说相互独立的特征多,特征分解的彻底。

举例:人脸特征分解成人脸、人左眼、人右眼、鼻子、嘴巴、眉毛等等独立特征会比单纯的一张大脸特征收敛的快。(赫布原理)

原则三:大卷积核的卷积之前可以先降维,这个操作并不会造成太多的损失。

原因:InceptionV1中使用的模块里有 3×3和5×5的卷积,并且在他们之前有使用1×1的卷积,这样的降维操作对于邻近单元的强相关性中损失的特征信息很少。

举例:每一层输出的feature map上每一个相邻的像素,它们的感受野是相邻且有一部分是重合的,即它们高度相关;若将它们进行1x1卷积后,特征信息是可以得到保证,因为1x1卷积后的feature map是能够实现跨通道的信息交融。

原则四:均衡网络中的深度和宽度。

深度就是指层数的多少,宽度指每一层中卷积核的个数,也就是提取到的特征数。

让深度和宽度并行提升,成比例的提升,能提高性能和计算效率。

可以让计算量在每一层上均匀分配,VGG那第一层全连接层的数据堆积就属于不均匀分配的情况。

3.Factorizing Convolutions with Large Filter Size

GoogLeNet网络[20]的大部分原始收益来自于对降维的大量使用。这可以被看作是以计算效率高的方式分解卷积的一个特例。例如,考虑1 × 1卷积层后跟3 × 3卷积层的情况。在视觉网络中,预期附近激活的输出是高度相关的。因此,我们可以预期它们的激活可以在聚集之前减少,并且这应该导致类似的表达性局部表示。

在这里,我们将在各种设定中探索卷积分解的其它方法,特别是为了提高解决方案的计算效率。由于Inception网络是完全卷积的,每个权重对应于每次激活的一次乘法。因此,计算成本的任何减少都会导致参数数量的减少。这意味着通过适当的分解,我们最终可以得到更多的解纠缠参数,从而加快训练速度。此外,我们可以使用计算和内存节省来增加我们网络的滤波器组的大小,同时保持我们在单个计算机上训练每个模型副本的能力。

精读

启发:

Googlenet的inception成功原因大部分得益于使用1 ×1 的卷积核,1 ×1 卷积核可以看作一个特殊的大卷积核分解过程,它损失少,大大降低计算量,增加非线性,跨通道交流。

原因:

由上面的原则三,在使用大卷积核之前先用1 × 1卷积核,feature map信息不会丢失很多,因为感受野相邻的元素相关性很强,他们在卷积的过程中重合度很高,仅相差一个步长,所以feature map基本上不会丢失特征信息(元素特征相关性不变)。

探究方法:

在这篇文章中,作者探究了不同设置下的分解卷积。通过分解卷积在减少参数数量的同时可以得到更多的解耦特征,加快网络的训练。同时,节省下来的空间、计算资源可以用于进一步增加卷积核的尺寸,以达到代价基本不变下的更高性能。

3.1. Factorization into smaller convolutions

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

这种设置通过在相邻图块之间共享权重,明显减少了参数计数。为了分析预期的计算成本节约,我们将做出一些适用于典型情况的简化假设:我们可以假设n=α m,即我们希望通过一个恒定的α因子来改变激活单位的数量。由于5 × 5卷积是聚合的,α通常略大于1(在GoogLeNet的情况下约为1.5)。用两层替换5 × 5层,分两步达到这种扩展似乎是合理的:在两步中增加√α的滤波器数量。为了通过选择α=1(无展开)来简化我们的估计,如果我们天真地滑动网络而不重用相邻网格块之间的计算,我们将增加计算成本。滑动该网络可以由两个3 × 3卷积层来表示,这两个卷积层重用相邻瓦片之间的激活。通过这种方式,我们最终将计算量净减少9+9/25倍,通过这种因式分解获得28%的相对增益。参数计数的节省完全相同,因为在计算每个单元的激活时,每个参数只使用一次。尽管如此,这种设置提出了两个普遍的问题:这种替换会导致表现力的损失吗?如果我们的主要目标是分解计算的线性部分,难道不建议在第一层保持线性激活吗?我们已经进行了几个控制实验(例如,见图2),在因式分解的所有阶段,使用线性激活总是不如使用校正线性单元。我们将这种增益归因于网络可以学习的增强的变化空间,特别是如果我们批量标准化[7]输出激活。当对降维组件使用线性激活时,可以看到类似的效果。

精读

方法:

将一个5×5的卷积换成两个3×3卷积,同理7×7卷积可以用3个3×3卷积。

结果:

相同卷积核个数核feature map尺寸的情况下,5 × 5 卷积核比3 ×3卷积核计算量高了2.78倍。

原因

相邻感受野的权值共享(共享卷积核,即卷积核内的数值都是一样的,用同一个卷积核),所以减少了很多计算量。

3.2. Spatial Factorization into Asymmetric Convolutions

上述结果表明,过滤器大于3 × 3的卷积可能通常不是有用的,因为它们总是可以简化为3 × 3卷积层的序列。我们仍然可以问是否应该把它们分解成更小的,比如2x2的卷积。然而,事实证明,通过使用非对称卷积,可以得到比2 × 2更好的结果,例如n × 1。例如,在3 × 1卷积之后使用1 × 3卷积相当于滑动一个具有与3 × 3卷积相同接受域的两层网络(见图3)。如果输入和输出滤波器的数量相等,那么对于相同数量的输出滤波器,两层解决方案仍然便宜33%。相比之下,将一个3 × 3的卷积分解为两个2 × 2的卷积只节省了11%的计算时间。理论上,我们可以更进一步,认为可以用1 × n卷积后跟n × 1卷积来代替任何n × n卷积,计算成本的节省随着n的增长而显著增加(见图6)。在实践中,我们发现采用这种因式分解在早期图层上效果不佳,但在中等网格大小上(在m × m要素图上,m的范围在12和20之间),它给出了非常好的结果。在这个级别上,使用1 × 7卷积后接7 × 1卷积可以获得非常好的结果。

精读

方法

将3x3卷积可分解为1x3和3x1两个不对称卷积(空间可分离卷积)

假设原始为3×3的图,使用3× 1的卷积核去卷积,得到一个feature map,然后再用1× 3的卷积核对刚才得到的feature map做卷积得到1×1的feature map。

结果

在输入和输出等同的情况下,参数降低33%(将3x3卷积核分解为两个2x2卷积核,只是降低了11%)

结论

(1)这种分解 (n ×n 分解成了 n×1 和1 ×n) ,n 越大节省的运算量越大。

(2)这种分解在前面的层效果不好,使用feature map大小在12-20之间。

变种

可以理解成上面这个是在深度上分解,而下面这个是在宽度上分解。 应用在最后的输出分类层之前,用该模块扩展特征维度生成高维稀疏特征(增加特征个数,符合原则二)。

4.Utility of Auxiliary Classifiers

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

[20]尽管在网络的不同阶段使用了两个侧头。靠近输入层的辅助分类器的移除对网络的最终质量没有任何不利影响。结合前一段的观察,这意味着[20]最初的假设,即这些分支有助于低级特征的进化,很可能是错误的。相反,我们认为辅助分类器可以充当正则化器。如果侧分支是批处理归一化的[7]或具有dropout层,则网络的主分类器性能更好,这一事实支持了这一点。这也为批归一化充当正则化器的猜想提供了一个微弱的支持证据。

5. Efficient Grid Size Reduction

传统的卷积网络使用池化操作来减小特征映射的网格大小。为了避免表征瓶颈,在应用最大池化或平均池化之前,扩展网络过滤器的激活维度。例如,启动一个带有k个过滤器的d ×d网格,如果我们想要到达一个带有2k个过滤器的d/2×d/2网格,我们首先需要计算一个带有2k个过滤器的stride-1卷积,然后应用一个额外的池化步骤。这意味着总体计算成本由使用2d2k2操作的更大网格上昂贵的卷积控制。一种可能是切换到卷积池化,从而导致

将计算成本降低了四分之一。然而,这造成了一个表示瓶颈,因为表示的总维度下降到导致网络表达能力下降(见图9)。这会产生一个表示瓶颈。我们建议另一种变体,其甚至进一步降低了计算成本,同时消除了表示瓶颈(见图10),而不是这样做。我们可以使用两个平行的步长为2的块:P和C。P是一个池化层(平均池化或最大池化)的激活,两者都是步长为2,其滤波器组连接如图10所示。

传统降维方法:

方法一:先对feature map池化会导致表征瓶颈,信息量丢失很多(池化—>卷积)

方法二:信息保留下来但是计算量比较大(卷积->池化)

并行执行(卷积C+池化P),再进行feature map的堆叠。

inception并行模块结构图: 左边两路卷积,右边池化。最后再叠加,可以在不丢失信息的情况下减小参数量。

6. Inception-v2

在这里,我们将上面的点连接起来,并提出了一种在ILSVRC 2012分类基准上具有改进性能的新架构。我们网络的布局如表1所示。请注意,我们已经根据3.1节中描述的相同思想,将传统的7 × 7卷积分解为三个3 × 3卷积。对于网络的初始部分,我们有3个35 × 35的传统初始模块,每个模块有288个滤波器。使用第5节中描述的网格缩减技术,这被缩减为具有768个滤波器的17 × 17网格。接下来是5个分解的inception模块实例,如图5所示。使用图10所示的网格缩减技术,将其缩减为8 × 8 × 1280的网格。在最粗略的8 × 8级别,我们有两个初始模块,如图6所示,每个图块的级联输出滤波器组大小为2048。网络的详细结构,包括初始模块内滤波器组的大小,在补充材料中给出,在本次提交的tar文件中的model.txt中给出。

然而,我们已经观察到,只要遵守第2节中的原则,网络的质量对变化是相对稳定的。虽然我们的网络有42层深,但我们的计算成本只比GoogLeNet高2.5左右,而且仍然比VGGNet高效得多。

figure5 ——把5×5卷积用两个3×3卷积代替

figure6 ——应用的那个不对称卷积

figure7 ——用在输出分类前的那个扩展组合

相比起Inception-v1结构,这里将开始的7x7卷积使用3个3x3卷积替代,在后面的Inception模块中分别使用了三种不同的模式:

第一部分输入的特征图尺寸为35x35x288,采用了图5中的架构,将5x5以两个3x3代替。

第二部分输入特征图尺寸为17x17x768,采用了图6中nx1+1xn的结构

第三部分输入特征图尺寸为8x8x1280, 采用了图7中所示的并行模块的结构

结果

这个网络是符合上面说的设计的四大原则的, 网络有42层深,计算量是googlenet的2.5倍(仍比VGG高效)。

7. Model Regularization via Label Smoothing

相关问题

Q1:one-hot是什么?

独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候,其中只有一位有效。(简单地说,就是对于多分类向量,计算机中往往用[0, 1, 3]等此类离散的、随机的而非有序(连续)的向量表示,而one-hot vector 对应的向量便可表示为[0, 1, 0],即对于长度为n 的数组,只有一个元素是1,其余都为0。因此表征我们已知样本属于某一类别的概率是为1的确定事件,属于其他类别的概率则均为0。)

Q2:one-hot缺点?

1.过拟合:因为模型使得正确标签的概率足够大

2.降低模型的泛化能力,降低了网络的适应性

Q3:LSR是什么?

在深度学习样本训练的过程中,我们采用one-hot标签去进行计算交叉熵损失时,只考虑到训练样本中正确的标签位置(one-hot标签为1的位置)的损失,而忽略了错误标签位置(one-hot标签为0的位置)的损失。这样一来,模型可以在训练集上拟合的很好,但由于其他错误标签位置的损失没有计算,导致预测的时候,预测错误的概率增大。Label Smoothing Regularization(LSR)标签平滑正则化,机器学习中的一种正则化方法,是一种通过在输出y中添加噪声,实现对模型进行约束,降低模型过拟合(overfitting)程度的一种约束方法(regularization methed)。

Q4:LSR的实质?

标签平滑的实质就是促使神经网络中进行softmax激活函数激活之后的分类概率结果向正确分类靠近,即正确的分类概率输出大(对应的one-hot标签为1位置的softmax概率大),并且同样尽可能的远离错误分类(对应的one-hot标签为0位置的softmax概率小),即错误的分类概率输出小。

8. Training Methodology

我们利用TensorFlow[1]分布式机器学习系统用随机梯度训练了我们的网络,该系统使用50个副本,每个副本在NVidia Kepler GPU上运行,批量大小为32,持续100个时期。我们早期的实验使用了衰减为0.9的动量[19],而我们的最佳模型是使用衰减为0.9且=1.0的RMSProp[21]实现的。我们使用0.045的学习率,使用0.94的指数率每两个时期衰减一次。此外,阈值为2.0的梯度削波[14]被发现有助于稳定训练。使用随时间计算的参数的运行平均值来执行模型评估。

9. Performance on Lower Resolution Input

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

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

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

1.  299 × 299接受野,步幅为2,第一层后池化最大。

2.  151 × 151接收野,步幅为1,第一层后池化最大。

3.  79 × 79接收野,步幅为1,在第一层之后没有池化。

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

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

此外,表2的这些结果表明,人们可以考虑在R-CNN[5]环境中使用专用的高成本低分辨率网络来处理较小的对象。

10. Experimental Results and Comparisons

表3显示了我们提出的架构(Inceptionv2)的识别性能的实验结果,如第6节所述。每个Inception-v2行都显示了累积更改的结果,包括突出显示的新修改和所有较早的修改。标签平滑指的是章节7中描述的方法。Factorized 7 × 7包括将第一个7 × 7卷积层分解为3 × 3卷积层序列的更改。BN-auxiliary指的是辅助分类器的全连接层也是批归一化的版本,而不仅仅是卷积。我们将表3最后一行中的模型称为Inception-v3,并评估其在多作物和集成设置中的性能。

按照[16]的建议,我们所有的评估都是在ILSVRC-2012验证集中的48238个非黑名单示例上完成的。我们也评估了所有的50000个例子,结果在前5名的误差大约差了0.1%,在前1名的误差大约差了0.2%。在本文即将发布的版本中,我们将在测试集上验证我们的集成结果,但是在我们春季对BNInception的最后一次评估中[7]表明,测试集和验证集误差倾向于很好地相关。

精读

对Inception-v2进行改进

(1)InceptionV2 加入RMSProp(一种计算梯度的方法)

(2)在上面的基础上加入Label Smoothing(LSR,标签平滑正则化)

(3)在上面的基础上再加入7×7的卷积核分解(分解成3×3)

(4)在上面的基础上再加入含有BN的辅助分类器

所以本文最终提出的InceptionV3=inceptionV2+RMSProp优化+LSR+BN-auxilary

11. Conclusions

我们提供了几个设计原则来扩展卷积网络,并在Inception架构的背景下研究它们。与更简单、更单一的架构相比,这种指导可以导致具有相对适度计算成本的高性能视觉网络。在ILSVR 2012分类中,我们的最高质量版本Inception-v3在单一作物评估中达到21.2%,top-1和5.6%的top-5误差,创下了新的艺术水平。与Ioffe等人[7]所描述的网络相比,计算成本增加相对适度(2.5倍)。尽管如此,我们的解决方案比基于更密集网络的最佳发表结果使用的计算量要少得多:我们的模型优于He等人[6]的结果——分别将top-5 (top-1)的误差相对减少了25%(14%)——同时计算成本降低了6倍,使用的参数至少减少了5倍(估计)。我们的四个Inception-v3模型集合达到3.5%,多作物评估达到3.5%的top5误差,比发表的最佳结果减少了25%以上,几乎是ILSVRC 2014获奖GoogLeNet集合误差的一半。

我们还证明了在低至79 × 79的感受野分辨率下也可以获得高质量的结果。这可能对检测相对较小物体的系统很有帮助。我们已经研究了神经网络内部的卷积因式分解和主动降维如何在保持高质量的同时使网络的计算成本相对较低。较低的参数计数和额外的正则化与批归一化辅助分类器和标签平滑的组合允许在相对适度的训练集上训练高质量的网络。

Q1:论文试图解决什么问题?

在加宽和加深网络的同时,探索了可分离卷积和正则化去提高计算效率,从而达到优化原有GooogLeNet模型,提高网络性能。

Q3:这篇文章要验证一个什么科学假设?

探索了可分离卷积和正则化去提高计算效率

Q5:论文中提到的解决方案之关键是什么?

1.卷积核分解:(1)将大的卷积核分解成小的(2)非对称分解

2.并行执行(卷积C+池化P),再进行feature map的堆叠

3.标签平滑(LSR)进行模型正则化

4.辅助分类器:在本文中,作者纠正了辅助分类器的作用,靠近输入辅助分类器(加不加没有影响),但是靠近输出的辅助分类器(加上BN后)可以起到正则化的作用。

Q6:论文中的实验是如何设计的?

在原有Inception-v2逐步改进,形成对照实验组,引出V3

Inception-v3进行了多尺度的训练,在单模型下的对比结果

Inception-v3进行模型融合(ensemble)后与其他模型做对比

Q8:论文中的实验及结果有没有很好地支持需要验证的科学假设?

有,通过对照实验证明了结论

Q9:这篇论文到底有什么贡献?

改进原有的Inception-V1结构,使得CNN模型在分类任务上获得更高的性能

提出了四大设计原则

分解大filters,使其小型化、多层化,提出了“非对称卷积”

优化inception v1的auxiliary classifiers,并造了新的带BN的辅助分类器

演示了即使是低分辨率的输入也可以达到较好的识别效果

使用新的 inception并行模块解决了传统采样层的问题

inceptionV3 = inceptionV2+RMSProp+LSR+BN-aux

Q10:下一步呢?有什么工作可以继续深入?

如何在计算量不增加的情况下,解决由于信息压缩造成的信息损失问题。

如何在计算量不增加的情况下,增加模型的拓扑结构,以提高模型的表达能力。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值