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

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

摘要:

1.我们提出了一种技术,用于为来自大型基于卷积神经网络(CNN)的模型的决策产生“视觉解释”,使其更加透明

2.我们的方法 - 梯度加权类激活映射(Grad-CAM),使用任何目标概念的梯度(比如'dog'或甚至是标题的logits),流入最终的卷积层以生成粗略的定位图,突出显示重要的 图像中用于预测概念的区域。

3.(1)具有完全连接层的CNN(例如VGG),(2)用于结构化输出的CNN(例如字幕),(3)用于具有多模态输入(例如视觉问答)或强化学习的任务的CNN,没有结构改变或重训练。 我们将Grad-CAM与现有的细粒度可视化相结合,创建高分辨率类辨别可视化,Guided Grad-CAM,并将其应用于图像分类,图像字幕和视觉问答(VQA)模型,包括基于ResNet的模型架构。(Grad-CAM)

(caption??什么意思,细粒度什么意思??)

4.(a)提供对这些模型失效模式的见解(表明看似不合理的预测有合理的解释),(b)优于ILSVRC-15弱监督定位任务的先前方法,(c)更忠实于基础模型, (d)通过识别数据集偏差来帮助实现模型概括。

(什么是失效模型的见解???)

5.对于图像字幕和VQA,我们的可视化显示甚至基于非注意力的模型也可以对输入进行本地化。最后,我们设计并进行人体研究以测量Grad-CAM解释是否有助于用户建立对深度网络预测的适当信任并显示Grad-CAM 帮助未经训练的用户成功地从“弱”的网络中辨别出“更强大”的深层网络,即使两者都做出相同的预测。

 

introduction:

1.可解释性的作用主要集中在三个方面:
(1)例如知识问答,(人比机器要强),帮助研究者确定方向,分析失败原因

(2)图像分类,(人和机器差不多),让人能够更加信任机器

(3)在机器教学方面,例如国际象棋,

 

周博磊在2016年的工作:只能限定几种cnn,并在准确率和模型复杂度上做了平衡

而我们的工作不用限定cnn,不用在模型准确率和复杂度上做平衡

什么是好的可视化解释?

1.证明任何的目标类是类可是别的 2.高分辨率的,即能捕捉到细粒度特征

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第1张图片(a)带有猫和狗的原始图像。 (b-f)根据VGG-16和ResNet的各种可视化支持猫类。 (b)引导反向传播[42](guied backprop):强调所有贡献特征。 (c,f)Grad-CAM(Ours):定位类判别区域,(d)组合(b)和(c)给出Guided Grad-CAM,它提供高分辨率的类判别可视化。 有趣的是,通过我们的Grad-CAM技术实现的局部化(c)与遮挡灵敏度(e)的结果非常相似,而计算的成本则低了几个数量级。 (f,l)是ResNet-18层的Grad-CAM可视化。 注意,在(c,f,i,l)中,红色区域对应于类的高分,而在(e,k)中,蓝色对应于类的证据。 图最好用彩色看。(这个图能代表的意义是什么?)

 

如1d和1j,Guided Grad-CAM,是图d,不仅是能够将猫表示出来,而且还能够将猫的纹理表示出来。(这能代表什么?光guided backprop不能显示纹理吗?好像也可以支部狗没有那么明显)

我们的贡献可以总结如下:

1.我们提出Grad-CAM,一种类别判别定位技术,可以从任何基于CNN的网络生成视觉解释,而无需进行架构更改或重新训练。 我们评估Grad-CAM的localization(第4.1节),以及对模型的faithfulness(第5.3节),它优于baseline(这里的localization和faithfulness是什么?)。

2.我们将Grad-CAM应用于现有的最佳表现分类,字幕(第7.1节)和VQA(第7.2节)模型。 对于图像分类,我们的可视化有助于识别数据集偏差(第6.2节)(数据集偏差是什么?),并提供对当前CNN失败的洞察(第6.1节),表明看似不合理的预测有合理的解释。 对于字幕和VQA,我们的可视化揭示了一些令人惊讶的见解,即常见的CNN + LSTM模型通常擅长定位判别图像区域,尽管没有接受基础图像文本对的训练。

3.我们将ResNets [16]可视化应用于图像分类和VQA(第7.2节)从深层到浅层,Grad-CAM的判别能力显着降低,因为我们遇到具有不同输出维数的层(这里判别能力降低是什么意思?)

4.我们进行人类研究(第5节),显示引导Grad-CAM解释是类可是别的,不仅帮助人类建立信任,还帮助未经训练的用户成功地从“弱”网络中辨别出“更强大”的网络,即使两者都有 相同的预测。(人类研究是什么意思?)

相关工作:

1.[40,42,45,13]通过突出显示“重要”像素来可视化CNN预测(即,这些像素的强度变化对预测的分数具有最大影响)。

2.Simonyan等人。 [40]可视化预测班级分数的偏导数w.r.t. 像素强度

3.而Guided Backpropagation [42]和Deconvolution [45]对原始梯度进行修改,从而得到质的提高。

4.[30]将以上这些方法做了比较。
5.关于不同类别的可视化几乎相同(见图1b和1h)(这句话是什么意思?

总结:尽管这些方法有一些细粒度的可视化(什么是细粒度?),但是不是类可识别的

6.其他可视化方法合成图像以最大化地激活网络单元[40,11]或反转潜在表示[31,10]。 虽然这些可以是高分辨率和类辨别力,但它们可以整体模拟模型而不是特定输入图像的预测(不懂?)

 

Assessing Model Trust

在可解释性概念[26]和评估模型中的信任[37]的推动下,我们通过人类研究以类似于[37]的方式评估Grad-CAM可视化,以表明它们可以成为用户评估和信任的重要工具--自动化系统。

Weakly supervised localization:

另一个相关的工作是在CNN环境中进行弱监督定位,其任务是仅使用整个图像类标签来定位图像中的对象[7,33,34,47]。(为什么会用到弱标签定位?)

与我们的方法最相关的是类激活映射(CAM)本地化方法[47]。 这种方法修改了图像分类CNN架构,用卷积层和全局平均池[25]取代了完全连接的层,从而实现了类特定的特征映射。 其他人使用全局最大池[34]和log-sum-exp池[35]研究了类似的方法

CAM的一个缺点是它需要直接在softmax层之前的特征映射,因此它仅适用于在预测之前立即在卷积映射上执行全局平均汇集的特定种类的CNN架构(即转换特征映射→全局平均池→softmax) 层)。 与某些任务上的一般网络相比,这种架构可能实现较差的精度(例如,图像分类)或可能只是不适用于任何其他的任务,我们介绍了一种使用梯度信号组合特征映射的新方法,该方法不需要在网络架构中进行任何修改。 这允许我们的方法应用于任何基于CNN的架构,包括用于图像字幕和视觉问题回答的架构。 对于完全卷积架构,Grad-CAM减少到CAM。 因此,Grad-CAM是对CAM的推广

CAM仅适用于分类网络吗?

approach:

1.许多以前的作品都断言,CNN中更深层次的表现捕捉了更高层次的视觉结构[5,31]。 此外,卷积特征自然地保留了在完全连接的层中丢失的空间信息,因此我们可以预期最后的卷积层在高级语义和详细空间信息之间具有最佳折衷。 这些层中的神经元在图像中查找特定于语义类的信息(比如对象部分)

2.Grad-CAM使用流入CNN的最后卷积层的梯度信息来理解每个神经元对于感兴趣的决定的重要性。 虽然我们的技术非常通用,可用于可视化深层网络中的任何激活,但在这项工作中,我们专注于解释网络可能做出的决策。

方法:先求每个特征图的重要性:

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第2张图片
y^c代表分类分数,代表的是第k张feature map中i,j位置上的激活值,就是用y^c对它求倒数,得到对应的梯度,然后将整个特征图所有的元素加和求平均,得到最后的,表示这张特征图的重要性。

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第3张图片

将重要性因子与对应的特征图相乘,然后将所有的特征图相加,经过一个RELU函数得到heat map也就是,(为什么要使用RELU呢,因为对那些负数,也就是对类别评分没有产生正面影响的,给去掉)

更多的ablation study和GRAD-CAM可视化可以在[38] 中看到。

Grad-CAM as a generalization to CAM.:

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第4张图片

这是全局平均池化的一个正常过程:先对feature map求平均,然后乘一个权重,最后相加得到一个类别的分数。

也可以通过交换顺序求得CAM:

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第5张图片

可以通过S^c和如上公式求出

CAM并不是通用的,因为并不是所有的网络都有w,

 

流程图:

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第6张图片

Guided Grad-CAM:

1.虽然Grad-CAM可视化是类可辨别的和能够较好的定位图片相关区域,但是缺少一些细粒度特征,比如像素空间梯度的可视化方法(Guided backpropagation和Deconvolution)

2.为了两个方面都利用到,所以与guided backpropagation进行了融合,Guided backpropagation与Grad-CAM点乘,(L c Grad-CAM先是上采样到原图大小,使用的是双线性插值的方法)

3.其实用反卷积取代Guided back propagation也可以取得相似的结果,但是使用反卷积会有更多的噪音,所以我们选择Guided back propagation

4. Evaluating Localization

4.1. Weakly-supervised Localization:

定位方法:
与分类类似,对前1和前5预测类别进行评估。 给定图像,我们首先从我们的网络获得类别预测,然后为每个预测类别生成Grad-CAM图,并以阈值15%的最大强度进行二值化。 这导致连接的像素段,我们围绕单个最大的段绘制边界框

结果:

我们从Caffe [19]模型zoo(我ubuntu里面有)评估了预训练的现成VGG-16 [41]模型。 在ILSVRC 15评估之后,我们报告表中val设置的top-1和top-5定位误差。

1. Grad-CAM定位误差显着低于c-MWP [46]和Simonyan等人的误差------ [40]对于VGG-16模型,它使用抓取将图像空间梯度后处理成热图。

2.Grad-CAM也比CAM更好地实现了前1个定位误差[47]------这需要改变模型架构,需要重新训练,从而实现更差的分类错误(前1个增加2.98%),而Grad-CAM 对分类性能不做任何妥协

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第7张图片

5. Evaluating Visualizations:

我们的第一个人类研究评估了我们的方法的主要前提:Grad-CAM可视化比以前的技术更具阶级辨别力吗? 确定了这一点后,我们转而了解它是否可以引导最终用户适当地信任可视化模型。 对于这些实验,我们比较在PASCAL VOC 2007训练集上微调的VGG-16和AlexNet CNN,并使用val集生成可视化。

5.1. Evaluating Class Discrimination:

人类研究:

为了测量Grad-CAM是否有助于区分类,我们从VOC 2007 val集中选择包含两个带注释类别的图像,并为每个类创建可视化。 对于VGG-16和AlexNet CNN,我们使用四种技术获得类别特定的可视化:每种方法的反卷积,Guided backpropagation和Grad-CAM版本(Deconvolution Grad-CAM和Guided Grad-CAM)。 我们在Amazon Mechanical Turk(AMT)上向43名工作人员展示可视化,并询问他们“图像中描绘了两个对象类别中的哪一个?”,如图3所示。

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第8张图片

 

直观地,良好的预测解释是为感兴趣的类产生判别性可视化的解释。使用所有4个可视化对90个图像 - 类别对(即360可视化)进行实验;收集每个图像的9个评级,根据基础事实进行评估并平均以获得准确性。当观察Guided-Grad-CAM时,人类受试者可以正确识别61.23%的病例中可视化的类别(与引导背向传播的44.44%相比;因此,Grad-CAM将人类表现提高16.79%)。类似地,我们还发现Grad-CAM有助于使反卷积更具类别判别性(从53.33%到61.23%)。引导Grad-CAM在所有方法中表现最佳。有趣的是,我们的结果似乎表明反卷积更具有阶级判别性。比引导反向传播,虽然引导反向传播比反卷积更美观。据我们所知,我们的评估是第一个量化这种微妙差异的评估。

5.2. Evaluating Trust:

结果:

1.给出两个预测解释,我们评估哪个看起来更值得信赖。我们使用AlexNet和VGG-16来比较Guided Backpropagation和Guided Grad-CAM可视化,并指出VGG-16比AlexNet更可靠,PASCAL分类的准确度为79.09 mAP(vs.69.20 mAP)。

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第9张图片

方法:

2.为了将可视化的效果与可视化模型的准确性区分开来,我们只考虑两个模型与地面实况进行相同预测的情况。给出AlexNet的一个可视化和来自VGG-16的可视化,以及预测对象类别中,54名AMT工作人员被指示以明显更多/更不可靠(+/- 2),稍微更多/更不可靠(+/- 1),同样可靠的等级对模型相对于彼此的可靠性进行评级。 (0)。该界面如图3所示。为消除任何偏差,VGG和AlexNet被分配为model1,概率大致相等。值得注意的是,尽管预测相同,我们发现人类受试者能够从不同的解释中识别出更准确的分类器(基于AlexNet的VGG)。使用Guided Backpropagation,人类为VGG分配平均分为1.00,这意味着它比AlexNet稍微可靠,而Guided Grad-CAM获得更高的分数1.27,这更接近于说VGG显然更可靠。因此,我们的可视化可以帮助用户信任一个可以更好地推广的模型,只需基于个人预测解释。

5.3. Faithfulness vs . Interpretability

这一段没有看懂什么忠实程度?

6. Diagnosing image classification CNNs
6.1. Analyzing Failure Modes for VGG-16

用Guided Grad-CAM去可视化正确的类和所预测的类:

1.正确的类:应该是标签所对应的正确的类别,即使它的分数比预测的分数要低一些

2.预测的类:预测的分数最高的类(分错的类)

总结:针对不同的类求梯度,然后再相加

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization_第10张图片

6.2. Identifying bias in dataset:

可以减少数据集中的偏差,提高泛化能力,

比如对一个只有护士和医生的数据集,在验证集上效果很好,但是在其他的数据集上效果表现的并不好

通过Guided Grad-CAM发现,模型更多的是依靠脸部去区分护士和医生的,长发就是护士,短发就是医生,

解决:加了一些女医生,和男护士进去,使得模型更具有泛化能力。

8. Conclusion:

在这项工作中,我们提出了一种新颖的类别判别定位技术 - 梯度加权类激活映射(Grad-CAM) - 通过产生视觉解释使任何基于CNN的模型更加透明。此外,我们将Grad-CAM本地化与现有的高分辨率可视化相结合,以获得高分辨率的类判别式Guided-Grad-CAM可视化。我们的可视化在两个方面都优于所有现有方法:可解释性和对原始模型的忠诚度。广泛的人类研究表明,我们的可视化可以更准确地区分类,更好地揭示分类器的可信度,并帮助识别数据集中的偏差。最后,我们展示了Grad-CAM对各种现成可用架构的广泛适用性,包括图像分类,图像字幕和VQA,为可能的模型决策提供忠实的视觉解释。我们认为,真正的人工智能系统不仅应该是智能的,而且还应该能够推断出人类相信它的信念和行动。未来的工作包括解释深层网络在强化学习,自然语言处理和视频应用等领域所做出的决策。

 

你可能感兴趣的:(paper)