《Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps》文献阅读

本文探讨了使用深度卷积网络(ConvNets)学习的图像分类模型的可视化方法,包括通过梯度上升优化生成类概念图像和计算特定图像的类显著性图,这些图可用于弱监督对象分割。此外,研究还建立了基于梯度的可视化与去卷积网络之间的联系,并在ILSVRC-2013数据集上展示了其实现。
摘要由CSDN通过智能技术生成

题目:深度卷积网络:可视化图像分类模型和显著性图

作者:Karen Simonyan,Andrea Vedaldi,Andrew Zisserman

发表日期:2013

发表期刊:Computer Science

摘要

     本文讨论了使用深度卷积网络(ConvNets)学习的图像分类模型的可视化。我们考虑两种可视化技术,基于计算相对于输入图像的类分数的梯度。第一个生成一个图像,它最大化类得分[5],从而可视化由ConvNet捕获的类的概念。第二种技术计算特定于给定图像和类的类显著性图。我们表明,这样的地图可以用于弱监督对象分割使用分类ConvNets。最后,我们建立了基于梯度的ConvNet可视化方法与去卷积网络之间的联系[13]。


1 引言

     随着深度卷积网络(ConvNets)[10]现在成为大规模图像识别的首选架构[4,8],理解隐藏在深度模型中的视觉外观可解释性问题变得特别重要,并且这也是本文的主题。

     在前人的工作中,Erhan等人[5]通过在图像空间中使用梯度上升进行优化来找到最大化感兴趣神经元活动的输入图像,从而可视化深度模型。该方法用于可视化无监督深度架构的隐藏特征层,例如深度信念网络(DBN)[7],后来Le等人[9]采用该方法来可视化由深度无监督自动编码器捕获的类模型。最近,Zeiler等人解决了ConvNet可视化的问题[13]。对于卷积层可视化,他们提出了Deconvolutional Network(DeconvNet)架构,其目的是从输出中近似重建每层的输入。

     在本文中,我们讨论了深度卷积网络图像分类的可视化(该ConvNets在大规模ImageNet挑战数据集上进行了训练[2])。在达到可视化的目的中,我们做出以下三点贡献。首先,我们证明了可以使用输入图像的数值优化来获得ConvNet分类模型的可理解的可视化[5](Sect.注意,在我们的情况下,与[5]不同,网络以监督的方式进行训练,因此我们知道最终全连接分类层中的哪个神经元应该最大化以可视化感兴趣的类(在无监督的情况下,[9]必须使用单独的注释图像集来找出负责特定类的神经元)。据我们所知,我们是第一个将[5]的方法应用于ImageNet分类ConvNets [8]的可视化。其次,我们提出了一种方法,用于使用通过分类ConvNet的单个反向传播通道来计算给定图像中给定类的空间支持(图像特定类显著性图)(Sect. 3)。正如在3.2节讨论的那样,这样的显著性图可以用于弱监督对象定位。最后,我们在第4章中显示了基于梯度的可视化方法概括了去卷积网络重建过程[13]。

     卷积网络实现细节:我们的可视化实验是使用单个深度ConvNet进行的,该ConvNet在ILSVRC-2013数据集[2]上进行训练,其中包括120万张训练图像,标记为1000个类。我们的ConvNet类似于[8],并且使用他们的cuda-convnet工具箱1实现,尽管我们的网络不太宽,并且我们使用了额外的图像抖动,基于将图像的随机部分归零。我们的权重层配置为:conv 64-conv 256-conv 256-conv 256-conv 256-full 4096-full 4096-full 1000,其中convN表示具有N个过滤器的卷积层,fullM -具有M个输出的全连接层。在ILSVRC-2013验证集上,该网络实现了39.7% / 17.7%的top-1/top-5分类误差,略优于[8]中针对单个ConvNet报告的40.7% / 18.2%。

2 分类模型可视化

     在本节中,我们描述了一种通过图像分类ConvNets学习的可视化类模型的技术。给定一个学习的分类ConvNet和一个感兴趣的类,可视化方法包括在数字上生成一个图像[5],该图像代表ConvNet类评分模型中的类。

     更正式地说,令Sc(I)是类别c的得分,由ConvNet的分类层为图像I计算。我们想要找到L2正则化的图像,使得分数Sc高:

(1)

     其中λ是正则化参数。一个局部最优的I可以通过反向传播方法找到。该过程与ConvNet训练过程相关,其中反向传播用于优化层权重。不同之处在于,在我们的情况下,相对于输入图像执行优化,而权重固定为在训练阶段期间找到的权重。
     我们用零图像初始化优化(在我们的例子中,ConvNet是在零中心图像数据上训练的),然后将训练集均值图像添加到结果中。几个类的类模型可视化如图1所示。

     应该注意的是,我们使用了soft-max层返回的(未归一化的)类得分Sc,而不是类后验:Pc = exp Sc Pc exp Sc。原因是类后验的最大化可以通过最小化其他类的分数来实现。因此,我们优化Sc以确保优化仅集中于问题c中的类。我们还尝试优化后验Pc,但结果在视觉上并不突出,从而证实了我们的直觉。

图1.数值计算的图像,说明类外观模型,由ConvNet学习,在ILSVRC-2013上训练。请注意类外观的不同方面是如何在单个图像中捕获的。更好地查看色彩。

3 特定图像分类显著性可视化

     在本节中,我们将描述如何查询分类ConvNet关于给定图像中特定类的空间支持。给定图像I0、类别c和具有类别得分函数Sc(I)的分类ConvNet,我们希望基于I0的像素对得分Sc(I0)的影响来对I0的像素进行排名。

     我们从一个激励性的例子开始。考虑类别c的线性得分模型:

(2)

      其中图像I以矢量化(一维)形式表示,并且wc和bc分别是模型的权重向量和偏置。在这种情况下,很容易看出,w的元素的大小定义了I的对应像素对于类c的重要性。

      在深度ConvNets的情况下,类得分Sc(I)是I的高度非线性函数,因此上一段的推理不能立即应用。然而,给定一个图像I0,我们可以通过计算一阶泰勒展开,用I0邻域中的线性函数来近似Sc(I):

(3)

     其中w是Sc相对于点(图像)I0处的图像I的导数:

 (4)

     使用类分数导数(4)计算图像特定类显著性的另一种解释是导数的幅度指示哪些像素需要被改变最少以最大程度地影响类分数。可以预期这样的像素对应于图像中的对象位置。我们注意到,类似的技术已经被[1]应用在贝叶斯分类的上下文中。 

 3.1 分类显著性提取

     给定图像I 0(具有m行和n列)和类c,类显著性图M 2 Rm×n计算如下。首先,通过反向传播找到导数w(4)。之后,通过重新排列向量w的元素来获得显著性图。在灰度图像的情况下,w中的元素的数量等于I 0中的像素的数量,因此映射可以被计算为Mij = jwh(i; j)j,其中h(i; j)是对应于第i行和第j列中的图像像素的w的元素的索引。在多通道(例如,RGB)图像,让我们假设像素(i; j)对应于具有索引h(i; j; c)。为了导出每个像素(i; j),我们取所有颜色通道上的w的最大幅度:Mij = maxc jwh(i; j;c)j.

     重要的是要注意,显着图是使用在图像标签上训练的分类ConvNet提取的,因此不需要额外的注释(例如对象边界框或分割掩码)。单个类别的图像特定显著性图的计算非常快,因为它只需要单个反向传播通道。

     我们在图2中可视化了在随机选取的ILSVRC-2013测试集图像上得分最高的类别(排名第一的类别预测)的显著性图。类似于ConvNet分类过程[8],其中类预测是在10个裁剪和反射的子图像上计算的,我们在10个子图像上计算了10个显着性图,然后对它们进行平均。

图2.ILSVRC-2013测试图像中top-1预测类的图像特定类显着性图。使用通过分类ConvNet的单次反向传播来提取映射。在训练中没有使用额外的注释(除了图像标签)。

 3.2 弱监督对象定位

     弱监督类显着图(Sect. 3.1)对给定图像中给定类别的对象的位置进行编码,并且因此可以用于对象定位(尽管仅在图像标签上进行训练)。在这里,我们简要描述了一个简单的对象定位程序,我们将其用于ILSVRC-2013挑战的定位任务[12]。

     给定图像和相应的类显着图,我们使用GraphCut颜色分割[3]计算对象分割掩码。颜色分割的使用是由以下事实激发的:显著性图可能仅捕获对象的最有区别的部分,因此显著性阈值可能无法突出显示整个对象。因此,重要的是能够将阈值化的映射传播到对象的其他部分,我们的目标是在这里使用颜色连续性线索来实现。前景和背景颜色模型被设置为高斯混合模型。从显著性高于阈值的像素估计前景模型,该阈值被设置为图像中显著性分布的95%分位数;背景模型是从显著性小于30%分位数的像素估计的(图1B)。3,右-中)。然后使用公开可用的实现2执行GraphCut分割[3]。一旦计算出标记为前景和背景的图像像素,则将对象分割掩模设置为前景像素的最大连通分量(图1B)。3,右)。

图3.使用ConvNets的弱监督对象分割(Sect. 3.2)。左:来自ILSVRC-2013测试集的图像。左中:前1个预测类的对应显著性图。右中:阈值显著性图:蓝色示出了用于计算前景颜色模型的区域,青色示出了背景颜色模型,红色示出的像素不用于颜色模型估计。右:结果前景分割遮罩。

     我们将我们的对象本地化方法输入ILSVRC-2013本地化挑战。考虑到挑战需要报告对象边界框,我们将它们计算为对象分割掩码的边界框。对前5个预测类别中的每一个重复该过程。该方法在ILSVRC-2013的测试集上实现了46:4%的前5名误差。
     应该注意的是,该方法是弱监督的(与具有29:9%误差的挑战赢家不同),并且在训练期间没有考虑对象定位任务。尽管其简单,但该方法仍然优于我们提交的ILSVRC-2012挑战(使用相同的数据集),其使用基于基于部分的模型[6]和Fisher向量特征编码[11]的全监督算法实现了50:0%的定位误差。

4 与解卷积网络的关系

     在本节中,我们建立了基于梯度的可视化和[13]的DeconvNet架构之间的联系。如下所示,第n层输入Xn的基于DeconvNet的重建等同于或类似于计算可视化神经元活动f相对于Xn的梯度,因此DeconvNet有效地对应于通过ConvNet的梯度反向传播。

     对于卷积层Xn+1 = Xn?Kn,梯度计算为@f =@Xn = @f =@Xn+1?cKn,其中Kn和Kcn分别是卷积核及其翻转版本。与翻转内核的卷积完全对应于计算DeconvNet中的第n层重建Rn:Rn = Rn+1?Kcn。

     对于RELU整流层Xn+1 = max(Xn; 0)时,子梯度采用以下形式:@f =@Xn = @f =@Xn+11(Xn > 0),其中1是逐元素指示函数。这与DeconvNet RELU重建略有不同:Rn = Rn+11(Rn+1 > 0),其中在输出重构Rn+1而不是层输入Xn上计算符号指示符。

     最后,考虑最大池化层Xn+1(p)= maxq 2 Ω(p)Xn(q),其中输出特征图的元素p通过池化输入的相应空间邻域Ω(p)来计算。次梯度的计算公式为@f =@Xn(s)= @f =@Xn+1(p)1(s = arg maxq 2 Ω(p)Xn(q))。这里,arg max对应于DeconvNet中的最大池化“开关”。

     我们可以得出结论,除了RELU层之外,使用DeconvNet计算近似特征图重建Rn相当于使用反向传播计算导数@f =@Xn,这是我们可视化算法的一部分。因此,基于梯度的可视化可以被视为[13]的推广,因为基于梯度的技术可以应用于任何层中活动的可视化,而不仅仅是卷积层。特别是,在本文中,我们可视化了最终全连接层中的类得分神经元。

     应该注意的是,我们的类模型可视化(Sect. 2)描述了一个类的概念,由ConvNet记忆,并且不特定于任何特定的图像。与此同时,类显着性可视化(节3)是图像特定的,并且在这个意义上与[13]的图像特定卷积层可视化有关(主要区别在于我们在完全连接的层而不是卷积层中可视化神经元)。

5 结论

     在本文中,我们提出了两种用于深度分类ConvNets的可视化技术。第一个生成一个人工图像,这是一个感兴趣的类的代表。第二个计算特定于图像的类显着性图,突出显示给定图像的区域,相对于给定的类是有区别的。我们表明,这种显着性图可用于初始化基于GraphCut的对象分割,而无需训练专用的分割或检测模型。
     最后,我们证明了基于梯度的可视化技术概括了DeconvNet重建过程[13]。在我们未来的研究中,我们计划将imagespecific显着性地图以更有原则的方式纳入学习公式。

致谢

参考文献

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值