《Visualizing and Understanding Convolutional Networks》翻译

原文:https://arxiv.org/pdf/1311.2901.pdf

摘要

最近,大型卷积网络模型在ImageNet基准测试中表现出令人印象深刻的分类性能(Krizhevsky et al。,2012)。 然而,对于他们为什么表现如此出色以及他们如何改进他们没有清楚的认识。 在本文中,我们解决了这两个问题。 我们介绍了一种新颖的可视化技术,可以深入了解中间要素图层的功能以及分类器的操作。 用于诊断角色,这些可视化让我们找到超越Krizhevsky等人的模型架构。 在ImageNet分类基准上。 我们还进行消融研究,以发现不同模型层的性能贡献。 我们展示了我们的ImageNet模型很好地适用于其他数据集:当softmax classi er被重新训练时,它令人信服地击败了Caltech-101和Caltech-256数据集上的当前最先进的结果。

1.引言

自从二十世纪九十年代早期(LeCun等人,1989)引入它们以来,卷积网络(convnets)在诸如手写数字分类和人脸检测等任务中表现出优异的性能。在去年,一些论文表明,他们还可以在更具挑战性的视觉分类任务上提供出色的性能。(Ciresan等,2012)展示了NORB和CIFAR-10数据集的最新性能。最值得注意的是,(Krizhevsky et al。,2012)在ImageNet 2012分类基准测试中表现出创纪录的表现,其convnet模型的错误率为16.4%,而第二名的结果为26.1%。有几个因素造成了这种对convnet模型重新产生兴趣的原因:(i)提供了更大的训练集,数百万个标记的例子; (ii)强大的GPU实现,使得非常大型模型的训练更加实用,(iii)更好的模型正则化策略,比如Dropout(Hinton et al。,2012)。

尽管取得了令人鼓舞的进展,但对于这些复杂模型的内部运作和行为,或者他们如何取得如此好的表现,仍然没有多少见识。从科学的角度来看,这是非常令人不满的。如果没有清楚地了解他们如何以及他们为什么工作,那么更好的模型的开发就会减少到反复试验。在本文中,我们介绍一种可视化技术,该技术揭示激励模型中任何层的单个特征映射的输入激励。它还使我们能够观察训练过程中的特征演变并诊断模型中的潜在问题。我们提出的可视化技术使用(Zeiler et al。,2011)提出的多层去卷积网络(deconvnet),将特征激活投影回输入像素空间。 我们还通过遮挡输入图像的部分来执行分类器输出的灵敏度分析,揭示场景的哪些部分对分类很重要。

使用这些工具,我们从(Krizhevsky et al。,2012)的体系结构开始,探索不同的体系结构,在ImageNet上发现性能优于其结果的体系结构。 然后,我们探索模型对其他数据集的泛化能力,只需重新调整softmax分类器即可。 因此,这是一种有监督的预训练形式,与(Hinton et al。,2006)和其他人(Bengio等,2007; Vincent等,2008)推广的无监督预训练方法形成鲜明对比。 (Donahue等,2013)在同时工作中也探讨了convnet特征的泛化能力。

1.1相关工作

可视化特征以获得关于网络的直觉是常见的做法,但大多局限于可能对像素空间进行投影的第一层。在较高层次中情况并非如此,解释活动的方法有限。 (Erhan等人,2009)通过在图像空间中执行梯度下降以最大化单元的激活来找到每个单元的最佳刺激。这需要仔细的初始化,并且不会提供关于单位不变的任何信息。 (Le 等2010)(扩展了(Berkes&Wiskott,2006)的一个想法)显示了给定单位的Hessian可以如何在最优反应周围进行数值计算,从而给出一些洞察不变性。问题在于对于更高层次而言,不变性非常复杂,因此通过简单的二次近似很难捕获。相反,我们的方法提供了非参数化的不变性视图,显示了训练集中的哪些模式激活了特征映射。 (Donahue等,2013)展示了可视化,这些可视化识别数据集内的斑块,这些斑块负责模型中较高层的强烈激活。我们的视觉效果更加不同,因为它们不仅仅是输入图像的作物,而是自上而下的投影,可以揭示每个补丁内的结构,从而激发特定的特征映射。

2.方法

正如LeCun等人(1989)和(Krizhevsky等人,2012)所定义的那样,我们在整篇论文中使用标准的完全监督的convnet模型。这些模型将彩色2D输入图像xi经由一系列层映射到C不同类别上的概率向量。每一层由(i)前一层输出(或者在第一层的情况下,输入图像)与一组学习的滤波器的卷积组成; (ii)通过直线函数(relu(x)= max(x,0))传递响应; (iii)[可选地]最大化汇集在当地邻域上,和(iv)[可选地]局部对比操作,其对特征映射上的响应进行归一化。有关这些操作的更多详细信息,请参阅(Krizhevsky等,2012)和(Jarrett等,2009)。网络的前几层是传统的全连接网络,最后一层是softmax分类器。图3显示了我们许多实验中使用的模型。

我们使用大量的N个标记图像fx来训练这些模型{x,y},其中标签yi是指示真实类别的离散变量。 交叉熵损失函数适用于图像分类,用于比较yi尖和yi。 网络参数(卷积层中的滤波器,完全连接层中的权重矩阵和偏差)通过反向传播相对于整个网络中的参数的损失的导数并且通过随机梯度下降来更新参数来训练。 第3节给出了详细的训练内容。

2.1用Deconvnet进行可视化

了解一个convnet的操作需要解释中间层的特征活动。我们提出了一种将这些活动映射回输入像素空间的新方法,显示了最初在特征映射中引起给定激活的输入模式。我们用去卷积网络(deconvnet)执行这种映射(Zeiler et al。,2011)。 deconvnet可以被认为是一个使用相同组件(过滤,合并)但相反的convnet模型,所以不是将像素映射到特征而是相反。在(Zeiler et al。,2011)中,提出了deconvnets作为执行无监督学习的一种方式。在这里,他们没有被用于任何学习能力,只是作为一个已经训练的转折点的探索。

为了检查一个定位点,将一个去卷积(deconvnet)附加到它的每个图层上,如图1(顶部)所示,为图像像素提供一条连续的路径。首先,将输入图像呈现给convnet,并在整个图层中计算特征。为了检查给定的定位点激活,我们将图层中的所有其他激活设置为零,并将该功能图作为输入传递给附加的解卷层。然后,我们先后(i)解开,(ii)纠正和(iii)重新构建在所引起的所选激活下的层中的活动。然后重复此操作直至达到输入像素空间。

上池化:在最小化池中,最大池操作是不可逆的,但是我们可以通过在一组开关变量中记录每个池区中最大值的位置来获得近似反转。在deconvnet中,上池化操作使用这些开关将来自上一层的重建放置到合适的位置,从而保留激励的结构。请参见图1(下图)以了解该过程。

Rectiation:使用relu非线性的convnet,纠正特征映射,从而确保特征映射总是正的。为了在每一层获得有效的特征重建(这也应该是正的),我们将重建的信号通过非线性非线性。

过滤:使用学习的过滤器将前一层的特征映射进行卷积。为了反转这个,deconvnet使用相同的lters的转置版本,但是应用于rectided maps,而不是下面的图层的输出。实际上,这意味着垂直和水平地翻转每一个过滤器。

从较高层向下投影使用由convnet中的最大池所产生的交换设置。 由于这些开关设置对于给定的输入图像是独特的,因此从单次激活获得的重建因此类似于原始输入图像的一小部分,并且结构根据它们对特征激活的贡献而加权。 由于模型是有区别地训练的,因此它们隐含地显示输入图像的哪些部分是有区别的。 请注意,这些预测不是来自模型的样本,因为没有涉及生成过程。

3.训练细节

我们现在描述将在第4节中可视化的大型convnet模型。图3所示的架构与(Krizhevsky等,2012)用于ImageNet分类的架构相似。一个不同之处在于,在我们的模型中,Krizhevsky层3,4,5中使用的稀疏连接(由于模型分裂为2个GPU)被密集连接替换。其他与层1和层2相关的重要区别是如4.1节所述,在检查图6中的可视化之后进行。

该模型在ImageNet 2012培训系列中进行了培训(130万张图像,分布在1000多个不同的课程中)。 通过将最小尺寸恢复到256,裁剪中心256x256区域,减去每像素平均值(跨所有图像),然后使用10个不同尺寸为224x224的子作物(角落+中心与(out )水平翻转)。 使用随机梯度下降,最小批量为128,用于更新参数,从学习率10-2开始,结合动量项0.9。 当验证错误高原时,我们在整个训练中手动退化学习速率。 辍学率(Hinton et al。,2012)用于完全连接的层(6和7),比率为0.5。 所有权重初始化为10-2,偏差设置为0。

第一层过滤器在训练过程中的可视化表明其中一些过滤器占主导地位,如图6(a)所示。为了解决这个问题,我们将RMS值超过10-1的固定半径的卷积层中的每个滤波器重新归一化到这个固定半径。这是至关重要的,特别是在模型的第一层,输入图像大致在[-128,128]范围内。如(Krizhevsky et al。,2012)那样,我们生成多个不同的作物和每个训练样例的翻转以提高训练集大小。我们停止使用基于(Krizhevsky et al。,2012)的70个时代的训练,这个时代在单个GTX580 GPU上花费了大约12天的时间。

4. Convnet可视化

使用第3节中描述的模型,我们现在使用deconvnet来可视化ImageNet验证集上的特征激活。

特征可视化:图2显示了训练完成后我们模型的特征可视化。然而,我们不是展示给定功能图的单一最强动作,而是显示前9个激活。分别向下投影到像素空间显示激发给定特征图的不同结构,因此显示其不变性以输入变形。除了这些可视化之外,我们还会显示相应的图像补丁。这些比可视化具有更大的变化,因为后者仅关注每个补丁内的判别结构。例如,在第5层第1行第2列中,这些补丁几乎没有共同之处,但可视化显示此特定地图侧重于背景中的草地,而不是前景对象。

来自每一层的投影显示了网络中特征的层次性质。第2层回应角落和其他边缘/颜色连词。第3层具有更复杂的不变性,捕获相似的纹理(例如网格图案(第1行,第1列);文本(R2,C4))。第4层显示了显着的变化,但是更具有类别特征:狗脸(R1,C1);鸟的腿(R4,C2)。层5显示具有显着姿态变化的整个物体,例如,键盘(R1,C11)和狗(R4)。

训练过程中的特征演变:图4显示了在给定特征映射投影回像素空间的最强激活(在所有训练示例中)训练过程中的进展。外观突然跳跃是由于最强​​激活源自的图像发生变化而引起的。可以看出模型的较低层在几个时期内汇合。然而,在相当数量的时代(40-50)之后,上层才开始发展,表明需要让模型训练直到完全收敛。

特征不变性:图5示出了5个样本图像相对于未变形的特征,在查看来自模型的顶层和底层的特征矢量的变化的同时被不同程度地翻译,旋转和缩放。小型变换在模型的第一层有着显着的效果,但在顶部要素层的影响较小,对于平移和缩放来说,它是拟线性的。网络输出对翻译和缩放比较稳定。一般来说,除了旋转对称的物体(例如娱乐中心)外,输出不是旋转不变的。

4.1架构选择

尽管可视化的训练模型可以深入了解其操作,但它也可以帮助您选择最佳的体系结构。通过观察Krizhevsky等人的第一层和第二层, (图6(b)和(d)),各种问题都很明显。第一层滤波器是极高和低频信息的混合,几乎没有中频的覆盖。另外,第二层可视化显示了第一层卷积中使用的大跨度4引起的混叠伪像。解决这些问题,我们(i)从11×11个减少了第一层过滤器大小为7x7和(ii)方面的convolu-和灰2的步幅,而不是4。该新的体系结构保持在第一和第二层更多的信息功能,如图6(c)和(e)所示。更重要的是,它也提高了分类性能,如5.1节所示。

4.2闭塞敏感性

使用图像分类方法时,自然的问题是如果模型真正识别图像中物体的位置,或者仅使用环境上下文。图7试图通过系统地用灰色正方形遮挡输入图像的不同部分并监视分类器的输出来回答这个问题。这些例子清楚地表明模型正在对场景中的物体进行本地化,因为当物体被遮挡时,正确类别的概率显着下降。图7还显示了来自顶部卷积层的最强特征图的可视化,以及该图中的活动(在空间位置上求和)作为封堵器位置的函数。当封堵器覆盖可视化图像中出现的图像区域时,我们发现功能图中的活动强度下降。这表明可视化真正对应于刺激该特征映射的图像结构,因此验证了图4和图2所示的其他可视化。

4.3对应分析

深度模型与许多现有的识别方法不同,因为没有明确的机制来建立不同图像中特定对象部分之间的对应关系(例如,脸部具有眼睛和鼻子的特定空间配置)。然而,一个有趣的可能性是深层模型可能会隐含地计算它们。为了探索这一点,我们采用5个随机绘制的带有正面姿势的狗图像,并在每张图像中系统地遮掩了同一部分人脸(例如所有左眼,见图8)。对于每个图像我们然后计算:εli= xli -x li,其中xli和x li分别是对于原始和闭合图像的层l处的特征向量。然后我们测量所有相关图像对(i,j)之间的差异向量ε的一致性:Δl= 5i,j = 1,i̸= j H(sign(εli),sign(εlj)), H是汉明距离。较低的值表示由掩蔽操作引起的变化具有更大的一致性,因此不同图像中相同对象部分之间的对应关系更紧密(即阻止左眼以一致的方式改变特征表示)。在表1中,我们比较了脸部三部分(左眼,右眼和鼻子)与对象随机部分的Δ得分,使用来自l = 5和l = 7的特征。这些部分的得分较低,相对于随机对象区域,对于第5层特征来说,模型确实建立了某种程度的对应关系。

5.实验
5.1 ImageNet 2012

该数据集包括1.3M / 50k / 100k训练/验证/测试示例,分布在1000多个分类上。表2显示了我们对这个数据集的结果。

使用(Krizhevsky et al。,2012)中指定的确切体系结构,我们试图在验证集上复制它们的结果。我们在ImageNet 2012验证集中报告的值的误差率在0.1%以内。

接下来我们将分析4.1节中概述的体系结构变化(第1层中的7×7个过滤器和1层和2层中的跨步2卷积)的模型的性能。如图3所示,该模型显着优于(Krizhevsky et al。,2012)的体系结构,将其单一模型结果击败了1.7%(测试top-5)。当我们组合多个模型时,我们获得了14.8%的测试误差,这是该数据集1上最好的公布性能(尽管只使用了2012年的训练集)。我们注意到这个错误几乎是ImageNet 2012分类挑战中最重要的non-convnet条目的一半,这个错误获得了26.2%的错误(Gunji et al。,2012)。

改变ImageNet模型的大小:在表3中,我们首先通过调整图层的大小或者完全去除它们来探索(Krizhevsky et al。,2012)的体系结构。在每一种情况下,模型都是从零开始修改后的架构。去除完全连接的层(6,7)只会增加误差。这是令人惊讶的,因为它们包含大部分模型参数。去除两个中间卷积层也使得差错率相对较小。然而,去除中间卷积层和完全连接的层都会产生一个只有4层的模型,其性能显着变差。这将表明模型的整体深度对于获得良好性能很重要。在表3中,我们修改了我们的模型,如图3所示。改变完全连接层的大小对性能几乎没有影响(对于(Krizhevsky et al。,2012)模型相同)。但是,增加中间卷积层的大小可以提高性能。但是增加这些,同时扩大完全连接的层会导致过度贴合。

5.2特征泛化

上面的实验显示了我们ImageNet模型的卷积部分在获得最新性能方面的重要性。这由图2的可视化支持,它显示了卷积层中学到的复变量。我们现在探索这些特征提取层对其他数据集进行推广的能力,即Caltech-101(Fei fei et al。,2006),Caltech-256(Griffin et al。,2006)和PASCAL VOC 2012.为此, ,我们将我们的ImageNet训练模型的第1-7层保持固定,并使用新数据集的训练图像在最上面训练一个新的softmax分类器(对于适当数量的类)。由于softmax包含的参数相对较少,因此可以从相对较少的示例中快速进行训练,如某些数据集的情况。

我们的模型(softmax)和其他方法(通常是线性SVM)使用的分类器具有相似的复杂度,因此实验将我们从ImageNet学习到的特征表示与其他方法使用的手工特征进行比较。重要的是要注意,我们的特征表示和手工制作的特征都是使用超出Caltech和PASCAL训练集的图形设计的。例如,HOG描述符中的超参数是通过对行人数据集的系统实验确定的(Dalal&Triggs,2005)。我们还尝试了第二种从头开始训练模型的策略,即将图层1-7重新设置为随机值,并在数据集的训练图像上训练它们以及softmax。

一个复杂因素是加州理工学院的一些数据集也有一些图像也在ImageNet训练数据中。使用归一化相关性,我们确定了这些“重叠”图像2并将它们从我们的Imagenet训练集中移除,然后再训练我们的Imanet模型,以避免训练/测试污染的可能性。

Caltech-101:我们遵循(Fei-fei等,2006)的程序,随机选择每类15或30幅图像进行训练和测试,每班最多50幅图像,报告表中每类精度的平均值4,使用5列火车/测试折叠。培训每分钟30张图像需要17分钟。预先训练的模型以(Bo et al。,2013)的30幅图像/班的成绩优于2.2%。然而,从零开始训练的convnet模型非常糟糕,只能达到46.5%。

Caltech-256:我们按照(Griffin et al。,2006)的程序,选择每班15,30,45或60次训练图像,报告表5中每班准确率的平均值。我们的ImageNet- 预训练模型击败了Bo等人获得的当前最先进的结果。 (Bo et al。,2013),其中60个训练图像/课程分别为74.2%和55.2%。 但是,与Caltech-101一样,从零开始训练的模型效果并不理想。 在图9中,我们探讨了“一次学习”(Fei-fei et al。,2006)制度。 使用我们的预训练模型,只需要6次Caltech-256训练图像即可使用10倍的图像来击败领先的方法。 这显示了ImageNet特征提取器的强大功能。

PASCAL 2012:我们使用标准的培训和验证图像在ImageNet预训练的网点顶部训练20路softmax。这并不理想,因为PASCAL图像可以包含多个对象,而我们的模型仅为每个图像提供一个单独的预测。表6显示了测试集的结果。 PASCAL和ImageNet的图像本质上是不同的,前者是完全不同的后者。这可能解释我们的平均表现比领先(严等人,2012)的结果低3.2%,但是我们确实在5个等级上击败了他们,有时甚至大幅度上涨。

5.3特征分析

我们研究了Imagenet预训练模型每层的特征是如何区分的。我们通过改变ImagNet模型保留的层数来完成这一工作,并将线性SVM或softmax分类器置于顶层。表7显示了Caltech-101和Caltech-256的结果。对于这两个数据集,随着我们提升模型,可以看到一个稳定的改进,最好的结果是通过使用所有层获得的。这支持这样一个前提,即随着功能层次越来越深,他们将学习越来越强大的功能。

6.讨论

我们以多种方式探索了大型卷积神经网络模型,并对图像分类进行了训练。首先,我们提出了一种新颖的方式来可视化模型中的活动。这揭示了这些功能远不是随机的,不可解释的模式。相反,它们显示出许多直观上令人满意的属性,例如组合性,不断增加的不变性和阶级歧视,因为我们提升层次。我们还展示了如何使用这些可视化来调试模型中的问题以获得更好的结果,例如改善Krizhevsky等。 (Krizhevsky et al。,2012)令人印象深刻的ImageNet 2012结果。然后我们通过一系列遮挡实验证明,该模型虽然经过分类训练,但对图像局部结构高度敏感,并不仅仅用于广泛的场景环境。对模型的消融研究表明,对网络而言,具有最小的深度而不是任何单独的部分对模型的性能至关重要。

最后,我们展示了ImageNet训练模型如何很好地推广到其他数据集。对于Caltech-101和Caltech-256,这些数据集足够相似,以至于我们可以击败最好的报告结果,在后一种情况下,这个结果有很大的差距。这个结果会带来一个问题,即使用小的(即<104)训练集对基准的效用。我们的convnet模型对PASCAL数据的推广程度较差,可能受到数据集偏差的影响(Torralba&Efros,2011),虽然它仍然在最佳报告结果的3.2%之内,尽管没有对任务进行调整。例如,如果使用不同的损失函数来为每个图像提供多个对象,我们的性能可能会提高。这将自然而然地使网络能够处理对象检测。

致谢
作者非常感谢NSF拨款IIS-1116923,微软研究院和斯隆研究员的支持。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值