作者:18届 cyl
时间:2021-08-08
论文:《Grad-CAM:Visual Explanations from Deep Networks via Gradient-based Localization》
一、简单介绍
CAM(上一篇)需要使用到GLobal average pooling,如果原model用的是FC,要对model进行修改,有局限性。本文是对CAM 的改进。
二、问题陈述
1、对一个深层的卷积神经网络而言,通过多次卷积和池化以后1.,它的最后一层卷积层包含了最丰富的空间和语义信息。要让卷积神经网络的对其分类结果给出一个合理解释,必须要充分利用好最后一个卷积层。
2、CAM的解释效果已经很不错了,但是它的问题是为了得出GAP中的权重,需要替换最后的分类器后重新训练模型,这大大限制了它的使用场景(图像描述生成和视觉问答等模型并不适用)。
3.因此我们提出了Grad-CAM来解决这个问题。
三、how to do?
CAM
CAM的做法是引入GAP更充分的利用了空间信息、对最后一层卷积层的feature map及其对应权重进行相乘并总和,如下图所示。(生成的Class Activation Mapping大小与最后一层特征图的大小一致,接着进行上采样即可得到与原图大小一致的Class Activation Mapping)
Grad-CAM
CAM的缺点很明显,为了得出GAP中的权重,需要替换最后的分类器后重新训练模型,Grad-CAM克服了上述缺点。
首先根据梯度值计算出c类对应的第k个卷积特征图像的重要性:
再将卷积特征图像与其对应的重要性经过ReLU函数相乘累和得到Grad-CAM图像:
之所以使用ReLU激活函数,是因为我们只关注对于类别有关的区域,即特征图取值大于0的部分
经过一系列的推导我们可以得到:
即Grad-CAM是CAM的一般化。
Guided Grad-CAM
为了让Grad-CAM可视化出的图像尺寸更大(因为Grad-CAM输出的热力图的尺寸大小和最后一层卷积特征图的大小一样),我们首先使用双线性插值对输入图像进行上采样,再通过点乘法将”导向反向传播“和Grad-CAM可视化融合在一起。使得可视化出的图像既有高分辨率(当目标类别是’tiger cat’,它识别重要的’tiger cat’的特征,如条纹,尖的耳朵和眼睛)又有类别判别能力(它显示’tiger cat’,而不是’boxer (dog)’)。
(这里和CAM不同的就是更细化了上采样的操作)
上图为pipeline图。输入图像经过正向传播后再进行一次引导反向传播得到第一张图。再根据最后一层卷积层的重要性得到Grad-CAM图。将两图融合可以得到Guided Grad-CAM图。
上图为同一图像选定不同分类后的可视化图像。第一列为原图,第二列为引导反向传播图,第三列为本文的Grad-CAM图,第四列为Guided Grad-CAM图,第五列为遮挡实验的效果图,第六列为应用于resnet上的Grad-CAM图。
导向反向传播即在该方法的反向传播过程中,只往回传播特征值>0且梯度值>0的梯度值。
导向反向传播(Guided-Backpropagation),来自论文《Striving for Simplicity: The All Convolutional Net》。文章提出一种最简化的模型,网络只由卷积层构成。当前展示模型效果的方法DeConvolution要求分类网络必须含有pool操作,因此并不适用于本网络,因此在DeConvolution基础上进行改进提出了guided backpropagation。
下图为图解:
实验:
1.定位能力评估
给定一个图像,我们首先从我们的网络中获得类别预测,然后为每个预测类别生成Grad-CAM图,并以15%的最大阈值进行二值化操作连接像素块,再围绕单个最大的像素块绘制边界框。
各种方法在不同网络、ILSVRC-15 val数据集上的分类和定位能力(越低越好)
2.可视化能力评估
通过用户实验评估了本方法对比其他方法在类别判别能力和可信度。
上图为用户实验的交互界面。
再通过图像遮挡实验评估了本方法对原模型的忠实性。
通过定位实验和人类研究,我们发现Grad-CAM可视化更具可解释性,通过图像遮挡实验,我们可以看到Grad-CAM更加忠实于模型。
四、结论
1.我们提出了一种新生成视觉解释的方法(Grad-CAM)。
2.通过将Grad-CAM与现有的高分辨率可视化方法相结合,得到Guided Grad-CAM。
3.通过一系列实验证明了本方法在可解释性和对原始模型的忠实度两个方面优于现有方法。
4.我们展示了Grad-CAM在各种现成可用架构中的适用性,其中包括图像分类,图像描述生成和VQA等任务,它可以为可能的模型决策提供可信的视觉解释。