梯度grad公式_【论文翻译】Grad-CAM++,可视化卷积的升级

Grad-CAM++是一种改进的视觉解释方法,针对深度卷积网络提供更好的目标定位和多目标实例解释。该方法通过加权结合最后一层卷积层的特征图,生成更准确的类别可视化解释,并在图像分类、字幕生成和3D动作识别任务中表现出色。Grad-CAM++解决了Grad-CAM在多个同类目标定位上的不足,通过一次反向传播计算权重,提高了解释的精确性和效率。
摘要由CSDN通过智能技术生成

9a2538e9461d0c20ef5752576d6e3f07.png

Contact me:

Blog : https://cugtyt.github.io/blog/index

Email: cugtyt#qq.com, cugtyt#http://gmail.com


Grad-CAM++: Generalized Gradient-based Visual Explanations for Deep Convolutional Networks​cugtyt.github.io
fbf557732dda1716011b9f44183f1b02.png

由于知乎文章编辑问题,最好看上面链接。

由于精力有限,只对论文做概要性的翻译,细节见论文原文。

Grad-CAM++: Generalized Gradient-based Visual Explanations for Deep Convolutional Networks

Abstract

基于最近提出的方法Grad-CAM,我们提出了一个通用方法叫做Grad-CAM++,可以对CNN模型预测提供更好的视觉可解释性,与目前最好的方法相比,更好的解释了目标定位和单个图形上出现多个目标实例的解释。我们提供了数学推导,加权结合了最后一层卷积层的特征图对特定类别分数的正偏导,作为权重来生成对应类别的视觉解释。我们在标准数据集上的实验和评估,包括主观和客观,展示了Grad-CAM++提供了很好的人类可观察的解释,无论CNN在分类,字幕生成和3D动作识别,还有一些新的东西如知识蒸馏。

INTRODUCTION

现在的深度学习模型效果很好,但是解释性很差。解释黑盒方面也有一些工作如ZFnet,CAM,Grad-CAM等。

虽然Grad-CAM等方法效果不错但是,这些方法有局限性,例如多个同类目标同时出现的定位,即使是单一物体,Grad-CAM也不能定位完全。我们提出了Grad-CAM++,改良了先前的方法,我们的关键贡献在于:

  • 我们引入了输出梯度对于特定位置的像素级别加权。这个方法提供了对每个像素在特征图的重要性衡量,更重要的是我们推导了闭式解,同时获得了高阶的精确表达,包括了softmax和指数激活输出。我们的方法需要一次反向回传,因此计算量和先前的基于梯度的方法一致,但是效果更好。
  • 先前的几个方法,如反卷积(Deconvolution),导向反向传播(Guided Backpropagation),CAM,Grad-CAM,他们的结果评判都是靠人眼,或其他辅助标准。我们提出了新的方法来衡量可靠性,也就是说这个可视化结果是否与决策相关,我们的方法有很大优势。
  • 好的可视化方法应该能够高效提炼模型的知识。这个方面最近一致被忽视,我们用受限的师生设置(teacher-student setting),发现可以通过特定的损失函数来提升学生的性能,这个损失函数受Grad-CAM++生成的解释图启发。我们引入了一个训练方法,发现效果很好。
  • 我们也用了人工的方式来评价可视化效果,发现我们的方法的确很好。
  • 通过可视化样本和目标估计,我们展示了Grad-CAM++在弱监督目标定位上相比Grad-CAM有提升。
  • 最后,我们展示了Grad-CAM++在图像字幕生成,3D动作识别方面的有效性。据我们所知,这是第一次3D-CNN的可视化。

RELATED WORK

Zeiler & Fergus提出了反卷积方法来理解网络层。“Deconvnet”让激活信息从高层流入图像,这样激活神经元的部分就高亮了。后面Springenberg扩展了这个工作提出了导向反向传播(guided backpropagation)。【略去一些工作】

我们的工作主要受两个算法的启发,叫做CAM和Grad-CAM,他们都基于一个基本假设,类别c获得的分数Yc

可以写作最后卷积层特征图Ak的全局均值池化的线性组合:

d40f4188a1fe1127001ca620ca3c09d1.png

特定类别显著图(saliency map)在位置(i, j)上的Lc计算是:

9d50a59bad6fc0731a11030435d79a58.png

CAM通过最后一层卷积层生成的激活图来训练线性分类器预测这些wck,但是有一些局限,它受限于使用全局均值池化层,在初始化模型后,需要重新训练搜歌线性分类器。

Grad-CAM解决了这些问题,他的权重wck计算为:

9621f9b99e6ed85b2fbf735022b02275.png

其中Z是个常数(激活图的像素数量)。这可以让CAM泛化到任意的CNN模型,而不需要重新训练,最后的Yc是激活图Ak的可微函数。但是这让权重wck独立于位置(i,j),解决这个的方法是取偏导的全局均值池化:

cd36d7788df05338e0f7b6ae0ad8dd3a.png

为了获取更好的像素尺度的表达,Grad-CAM上采样,通过逐点相乘融合了特征图Lc和导向反向传播的可视化结果。如图1他有些缺点,如果图中有多个同类物体,它不能完好定位目标。另一个偏导不加权的结果是,它只能定位物体的一部分。

9ed7708a821471518d58c90966cecc06.png

GRAD-CAM++ METHODOLOGY

我们的方法通过对每个像素对最终特征图的贡献建模。我们通过显式编码权重结构wck

重写公式1:

878a20a43bed95ce16732ded66b4273f.png

背后的想法是wck捕获特定激活图Ak的重要性。激活图在像素上正的梯度代表对分数正的影响。这样保证了权重wck是加权平均而不是全局平均。

结合公式1和公式5我们得到:

9c50288715cb7b190c6e7e941fea28b8.png

不失一般性,我们去掉了relu,因为他只是个阈值,两边取偏导:

9f178ee433e4578263b6b50a6351ee34.png

整理得到:

38b24e693fd4bebdd28aae3d618af860.png

20a6b60108c9f82c2ef8f4c311098d6c.png

下,Grad-CAM++退化为Grad-CAM。原则上,Yc可以说任意预测的分数,唯一的要求是他必须是光滑函数。由于这个原因,不像Grad-CAM(把倒数第二层表示作为分数Yc),我们把倒数第二层分数传入一个指数函数,因为它可微。如果我们把倒数第二层分数传入指数函数,网络的最后一层卷积和倒数第二层只有线性或ReLU激活,计算高阶倒数很容易了。令Sc为类c的倒数第二层分数:

750e74b03c5d8ff5e4b6b2831bb02122.png

5d96c3daa1c03f3d5fb208e03206314b.png

对于ReLU,导数是:

c338ee51dbba296b63b154008b5c8c2f.png

把式14带入12,得到:

7ed78048c1d1c868ed693705e93141c9.png

所以,一次反向回传,所有的梯度权重都可以计算得到。显著图Lc可以用前向激活图+relu的线性组合计算得到:

b926802417aa0b4d0e1e389d5d2a426c.png

为了生成在像素空间梯度可视化的显著图方法,我们逐点相乘了上采样显著图和导向反向传播生成的可视化结果,这个方法启发于Grad-CAM,这个方法叫做Grad-CAM++。

图2展示了加权的可视化结果,图3是三种方法CAM,Grad-CAM,Grad-CAM++的鸟瞰图。

45080b3ccdea004c099de06b431574b6.png

78357949f74bfe81dfd8e0665fd76ebc.png

Gradient weights for the softmax function

softmax:

fc7918f34a47681d3103e12ed1c48083.png

Sk是倒数第二层分数。

5bca6fdcfa6e199d8db1cef6a9b1b52a.png

aaa18895dc5c6d626ee4ec1cc6942106.png

EMPIRICAL EVALUATION OF GENERATED EXPLANATIONS

实验结果的详细内容见论文原文。

Objective Evaluation of Performance based on Object Recognition

65913fe25ec620849a6eaec7dc183a7d.png

186f9caab1e81064ec1fc8abcfe7987d.png

Evaluating Human Trust

fc54ce457fa4411f07e32264dd551be4.png

Harnessing Explainability to generate Object Localizations

89de2adcd40b1a2bd624e9cf2c3796f7.png

16bb8462d66c160bf6f2828ab31c4de8.png

LEARNING FROM EXPLANATIONS: KNOWLEDGE DISTILLATION

这部分介绍了知识蒸馏和师生设置的细节。

7e349877f02681a74c6eafe9cd4ed375.png

EXPLANATIONS FOR IMAGE CAPTIONING AND 3D ACTION RECOGNITION TASKS

Image Captioning

639de1f0d1b10ef9301f48563e183029.png

3D Action Recognition

见原文附录

WHY ONLY POSITIVE GRADIENTS IN GRADCAM++?

这部分解释了为什么只用正的梯度,因为实验发现效果更好。

de08a23246346dc6024652b8fd80ab27.png

CONCLUSION

我们提出了一个通用的类别判别方法,Grad-CAM++,用于视觉解释基于CNN的架构。我们提供了一个严格推导,展示了它的简洁,是早期基于梯度视觉解释方法的有效泛化。我们的方法解决了Grad-CAM的短板——一个图像出现多个相同类别和目标定位差。这是通过视觉样本来证明的。我们使用标准的CNN模型和数据集客观的和主观的验证了方法的有效性。我们展示了在图像字幕生成和视频理解等任务的优越性。我们也启发了一个研究方向,对深度网络的解释不仅用于理解模型背后的推理,而且可以用于训练一个简陋的学生网络。这个学生网络比老师网络可以学到更好的表示(低测试错误率)。未来的工作包括优化老师-学生设定的损失公式,通过Grad-CAM++高效的蒸馏知识。我们也希望探索我们的算法到解释其他网络架构的决策,例如RNN,LSTM,GAN。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值