【CV+DL学习路03】CNN可视化学习3——Visual Explanations from Deep Networks via Gradient-based Localization

这是我可视化学习的第三篇文章。

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization     ICCV 2017

参考的阅读笔记如下:阅读笔记

翻译:翻译

1、介绍

这篇论文主要是提出了一种Grad-CAM技术对神经网络进行解释。

Grad-CAM是对周等人于2016年提出的CAM技术的推广,该方法不需要对网络架构进行任何修改。这使我们的方法可以应用于任何基于CNN的体系结构。对于全卷积网络,Grad-CAM可以简化为CAM。因此,Grad-CAM是CAM的推广。我们的方法只需要对每个图像有一个前向和一个部分后向传递,因此在一个数量级上这个方法更有效。

CAM技术使用的时候有以下缺点:要先改变网络的结构,然后再进行训练;只能作用于一类神经网络(含有卷积层和全连接层的图像分类CNN);会影响原网络的分类效果。

Grad-CAM可以对大量的CNN模型进行可视化,而且不会影响神经网络的分类效果,可以运用于多个领域,不仅仅只针对图像分类应用。

Grad-CAM是在最后一个卷积层产生一个粗略的定位图谱,突出显示图像中用于预测的重要区域。与以前的方法不同,Grad-CAM适用于各种各样的CNN模型族:(1)具有全连接层的CNN(例如VGG),(2)用于结构化输出的CNN(例如captioning),(3)用于具有多模式输入(例如视觉问答)或强化学习的任务,无需进行架构更改或重新训练。

将Grad-CAM与现有的细粒度可视化技术相结合,创建具有高分辨率的类别判别的可视化技术,Guided Grad-CAM,可以应用于图像分类,图像描述生成和视觉问答(VQA)等多个领域。

论文在实验部分,从多个方面对Grad-CAM进行了研究:弱监督定位能力,分类能力,可信度,通过识别数据集偏差来帮助实现模型泛化,以及在Image Captioning和VQA领域的应用。证明了Grad-CAM广泛适用于各种现成的可用架构,它可以为可能的模型决策提供可信的视觉解释。

paper中的一个小demo,使用Grad-CAM的效果如下:

【CV+DL学习路03】CNN可视化学习3——Visual Explanations from Deep Networks via Gradient-based Localization_第1张图片

这样的结果十分符合我们人眼的观测效果,当我们说一张图中有一条狗的时候,也主要依靠狗的头部进行判别,猫也是如此。

 

2、相关工作

论文借鉴了最近在CNN可视化,模型信任度评估和弱监督定位方面的工作。

可视化CNN。

之前的网络可视化的两种方法: 

 1)deconvnet(反卷积)

 2)guided-backpropagation(导向反向传播)

尽管产生了细粒度的可视化,但这些方法不具有类别判别能力。关于不同类别的可视化几乎完全相同(见图1b和1h)。

其他可视化方法合成图像以最大程度地激活网络单元或反转潜在表示。虽然这些可以是高分辨率,也可以进行类别判别,但它们可以对整个模型进行可视化,却不能预测特定的输入图像。

评估模型可信度。论文通过实验评估Grad-CAM可视化技术,证明它们可以成为用户在自动化系统中评估和放置信任度的重要工具。

弱监督定位。另一个相关的工作是在CNN中进行弱监督定位,其任务是仅使用整个图像类别标签对图像中的对象进行定位。

 

3、方法

Grad-CAM使用流入CNN最后一层卷积层的梯度信息来理解每个神经元对于目标分类的重要性。

【CV+DL学习路03】CNN可视化学习3——Visual Explanations from Deep Networks via Gradient-based Localization_第2张图片

如图:Grad-CAM概述:给定一个图像和一个目标类(例如,''或任何其他类型的可微分输出)作为输入,我们将图像传播通过模型的CNN部分,然后通过特定任务的计算来获得该类别的原始分数。对于所有类,除了所需类的梯度设置为1,其余的梯度设置为零。然后将该信号反向传播到所关注的卷积特征映射,结合起来计算Grad-CAM定位(蓝色热力图)。最后,将热力图与导向反向传播逐点相乘,获得高分辨率的GuidedGrad-CAM

【CV+DL学习路03】CNN可视化学习3——Visual Explanations from Deep Networks via Gradient-based Localization_第3张图片

这会产生与卷积特征映射相同大小的粗略的热力图(如在VGG和AlexNet网络的最后一层卷积层的情况下为14×14)。我们将ReLU应用于图谱的线性组合。如果没有这个ReLU,定位图谱有时会突出显示的不仅仅是目标类别,而且这样会降低定位的性能。

       作为CAM的推广的Grad-CAM。

【CV+DL学习路03】CNN可视化学习3——Visual Explanations from Deep Networks via Gradient-based Localization_第4张图片

GuidedGrad-CAM。虽然Grad-CAM可视化具有类别判别能力,并能很好地定位相关图像区域,但它们缺乏像像素空间梯度可视化方法(导向反向传播和反卷积)那样显示细粒度重要性的能力。例如在图1c中,Grad-CAM可以轻松定位猫区域;然而,为什么网络预测这个特殊情况是“老虎猫”还不清楚。

为了结合两者的最佳方面,作者通过逐点乘法(首先使用双线性插值对输入图像分辨率进行上采样)将导向反向传播和Grad-CAM可视化融合在一起。这种可视化既有高分辨率(当目标类别是'老虎猫',它识别重要的'老虎猫'的特征,如条纹,尖的耳朵和眼睛)又有类别判别能力(它显示'老虎猫',但不是'拳击手(狗)')。

 

4、弱监督定位评估

论文本节的内容是评估Grad-CAM在图像分类环境下的定位能力。

使用ImageNet比赛的Top-1和Top-5进行预测,给定一个图像,为每个预测类别生成对应的Grad-CAM图,并以最大激活值的15%作为阈值进行二值化。围绕单个最大的段绘制边界框。评估对象是Caffe模型经过预训练的VGG-16模型。结果如下:

【CV+DL学习路03】CNN可视化学习3——Visual Explanations from Deep Networks via Gradient-based Localization_第5张图片

Grad-CAM定位误差显著低于c-MWP和Simonyan等人对VGG-16模型所实现的误差, Grad-CAM也实现了比CAM更好的top-1定位误差,CAM需要改变模型架构,需要重新训练,从而导致更低的分类误差(top-1增加2.98%),而Grad-CAM 不影响分类性能。

 

5、可视化评估

评估Grad-CAM可视化是否比以前的技术更具有类别判别能力。比较模型为VGG-16和AlexNet CNNs,将其用于PASCAL VOC 2007数据集,并生成可视化图。

5.1、评估分类判别能力

本部分实验从VOC 2007数据集中选择包含两个注释类别的图像,并为它们中的每一个创建可视化。对四种可视化方法进行比较:反卷积,导向反向传播和每种这些方法的Grad-CAM版本(Deconvolution Grad-CAM和Guided Grad-CAM)。实验对象是亚马逊(AMT)的43名工作人员。

实验使用全部4个可视化对90个图像类别对(即360个可视化)进行实验;对每幅图像收集9个评级,根据实际情况进行评估并取平均值以获得准确性。

当观察Guided Grad-CAM时,实验者可以在61.23%的病例中正确识别正在显现的类别(相比之下,导向反向传播为44.44%;因此,Grad-CAM将人类表现提高了16.79%)。而且,Grad-CAM有助于使反卷积更具类别判别能力(从53.33%到61.23%)。Guided Grad-CAM在所有方法中表现最好。

5.2、信任度评估

比较guided-backpropagation和Guided Grad-CAM,结果是 VGG-16比AlexNet更可靠,精确度为79.09 mAP(vs. 69.20 mAP)。

实验指导54名AMT工作人员以显著更高/更不可靠(+/- 2)的等级评估模型的可靠性。结果显示,尽管分类器有相同的结果,但人类受试者能够从不同的解释中识别出更精确的分类器。因此,我们的可视化可以帮助用户将信任置于可以更好地推广的模型中。

5.3、可信度与解释性

这部分我们评估潜在模型的可信度。

首先,我们选择图像遮挡作为具有很高可信度的参考解释,测量输入图像的补丁被掩盖时CNN得分的差异。结果表明,与所有现有方法相比,Grad-CAM可视化对原始模型更可信。Grad-CAM可视化更具可解释性, Grad-CAM对模型的信任度更高。

 

6、诊断图像分类CNN

6.1、分析VGG-16的故障模式

实验内容是使用Guided Grad-CAM分析ImageNet中VGG-16的错误。首先得到一个VGG-16无法正确分类的例子列表,对于这些错误分类的例子,使用Guided Grad-CAM将正确的和预测的类别可视化。Guided Grad-CAM可视化优于其他方法的一个主要优点是其高分辨率和高分辨率的能力。

【CV+DL学习路03】CNN可视化学习3——Visual Explanations from Deep Networks via Gradient-based Localization_第6张图片

在这些情况下,模型(VGG-16)未能预测其前1ad)和前5bc)预测中的正确类别。

6.2、识别数据集中的偏差

Grad-CAM的另一种用法:识别并减少训练数据集中的偏差。

将ImageNet训练的VGG-16模型归并为“医生”与“护士”的分类任务。使用流行的图像搜索引擎中前250个相关图像构建训练数据集。训练好的模型达到了很好的验证准确性(82%)。模型预测的Grad-CAM可视化表明,该模型学会了看人的面部/发型以区分护士和医生。但是这个模型把几名女医生错误地归类为护士和男护士成为医生。通过从可视化中获得的结果,我们将男护士和女医生添加到训练集中,可以减少训练集中的偏差,同时保持每个类相同数量的图像。重新训练的模型现在更好地推广到更平衡的测试集(90%)。该实验表明,Grad-CAM可以帮助检测和消除数据集中的偏见。

 

7、Image Captioning和VQA

最后,作者将Grad-CAM技术应用于Image Captioning和VQA任务并进行了实验,由于对Image Captioning和VQA应用的不了解这部分暂时没有细看。

 

8、结论      

       这篇论文提出了一种新颖的类别判别定位技术-梯度加权类激活映射(Grad-CAM)-通过生成视觉解释来使任何基于CNN的模型更加透明。

此外,论文将的Grad-CAM定位与现有的高分辨率可视化相结合,以获得高分辨率的有类别判别能力的Guided Grad-CAM。

作者通过实验证明Grad-CAM在两个方面都优于所有现有的方法:可解释性和对原始模型的可信度。不但可以更准确地区分类,更好地揭示分类器的可信度,而且可以帮助识别数据集中的偏差。

你可能感兴趣的:(CV+DL学习路)