查看原文
其他

【源头活水】Grad-CAM论文总结

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:咫尺小厘米

地址:https://www.zhihu.com/people/chen-zhao-yu-80


ICCV 2017,IJCV 2019
原文链接:https://arxiv.org/abs/1610.02391
官方开源代码:https://github.com/ramprs/grad-cam/
演示:


01

要解决的问题

为了更好地理解CNN,对其在视觉上进行可视化解释,更好地对模型进行决策,于是提出了Gradient-weighted Class Activation Mapping (Grad-CAM),在没有attention的情况下,也能对图像位置进行判别。相比于之前的工作CAM,Grad-CAM可以对任意结构的CNN进行可视化,不需要修改网络结构或者重新训练。

02

解决的方法

Grad-CAM使用流入CNN的最后一个卷积层的梯度信息为每个神经元分配重要值,以进行特定的关注决策。尽管技术相当笼统,因为它可以用来解释深层网络任何层中的激活,但是文章中,只专注于解释输出层的决策。

如上图,为了获得类别判别图Grad-CAM,记为高度为  、宽度为  、类别为  为  。首先利用  (softmax之前的,logits)计算c这个类的梯度,定义特征图的激活值为  。这些回流的梯度在宽度和高度维度(分别由i和j索引)上全局平均池化,以获得神经元重要性权重 α :

在计算 α 的同时,相对于激活反向传播梯度,精确的计算等于权重矩阵和梯度相对于激活函数的连续矩阵乘积,直到将梯度传播到的最终卷积层为止。因此,该权重 α 代表A下游的深层网络的部分线性化,并捕获了特征图k对于目标类别c的“重要性”。
我们前向传播激活图的加权组合,然后通过ReLU来获得:

请注意,这会导致生成与卷积特征图大小相同的粗略热图(在VGG和AlexNet网络的最后一个卷积层的情况下为14×14)。本文将ReLU应用于特征图的线性组合,因为仅对对关注类别有积极影响的特征感兴趣,即,应该增加强度以增加  的像素。负像素可能属于图像中的其他类别。不出所料,如果没有此ReLU,定位上有时会突出显示更多内容,而不仅仅是所需的类,并且在定位方面表现较差。

2.1 Grad-CAM是CAM的泛化形式

文中讨论了Grad-CAM和类激活映射(CAM)之间的联系,并正式证明Grad-CAM可以将CAM推广到各种基于CNN的体系结构中。回想一下,CAM使用特定类型的体系结构为图像分类CNN生成了一个定位图,其中全局平均池化卷积特征图被直接馈送到softmax中。
具体地说,倒数第二层输出了  个特征图,  ,每个元素的下标为(i,j),比如  。然后使用全局平均池化(GAP)在空间上对这些特征图进行池化,并对其进行线性变换以生成每个类c的得分  。

定义  为全局平均池化的输出:
CAM是计算最后的分数,
其中  是将第k个特征图与第c个类连接的权重。取c类(  )的分数相对于特征图  的梯度,我们得到:

(4)关于  的梯度记为  ,得到:

(5)得到  ,推出:

考虑到所有的像素,
因为Z和w权重和坐标无关,化简为:
Z为像素点总数或者记为1,重写到:
在可视化过程中,直到比例常数  被标准化,  的表达式与Grad-CAM使用的 α 相同。因此,Grad-CAM是CAM的严格概括。这种概括能够从基于CNN的模型中生成可视化的解释,该模型将卷积层与更复杂的交互级联,例如用于图像说明和VQA的交互。

2.2 Guided Grad-CAM

虽然Grad-CAM是类别区分的,并且可以定位相关的图像区域,但是它缺乏例如像素空间梯度可视化方法(Guided Backpropagation, Deconvolution)那样突出显示细微细节的能力。Guided Backpropagation可可视化相对于图像的梯度,其中通过ReLU层反向传播时可抑制负梯度。
我们通过逐元素乘法融合了Guided Backpropagation和Grad-CAM可视化(  首先使用双线性插值上采样到输入图像分辨率)。用Deconvolution代替Guided Backpropagation可得到相似的结果,但我们发现Deconvolution可视化具有伪影,而Guided Backpropagation通常噪音较小。

2.3 Counterfactual Explanations (反事实解释?)

使用对Grad-CAM的稍加修改,便可以获得解释,突出说明了对将使网络更改其预测的区域的支持。结果,删除那些区域中出现的概念将使模型对其预测提高置信度,将此解释方式称为反事实解释。具体来说,针对卷积层的特征图A否定了  (c类分数)的梯度。因此,重要性权重 α 现在变为

将前向激活图A的加权总和与权重 α 进行加权,然后通过ReLU进行反事实解释,如下图所示。


03

实验和效果

3.1 弱监督定位

比VGG、AlexNet和GoogLeNet性能好。

3.2 弱监督分割

用从标准VGG-16网络获得的Grad-CAM替换了CAM,并在PASCAL VOC 2012分割任务中获得了49.6的IoU(相比之下,通过CAM获得的44.6)。
这里只列举两个比较直观的应用场景,文章中提到很多任务以及用Grad-CAM做可视化解释的实例。

04

优缺点和展望

优点就是效果好,改进了CAM;缺点应该是在一张图片中存在多个相同物体的情况下,可能效果会不太好。但是不可否认的是,这种应用的前景广阔,比如在寻找对于网络最敏感的区域上。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。

直播预告



“源头活水”历史文章




分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存