【阅读笔记】《Grad-CAM: Why did you say that? ...》

本文记录了博主阅读论文《Grad-CAM: Why did you say that? Visudal Explanations from Deep Networks via Gradient-based Localization》的笔记,代码,demo。更新于2019.05.31。

文章目录

  • Abstract
  • Introduction
  • Related Work
  • Approach
  • Weakly-supervised Localization
  • Evaluating Visualizations
    • Evaluating Class Discrimination
    • Evaluating Trust
    • Faithfulness vs. Interpretability
  • Analyzing Failure Modes for Image Classification
  • Image Captioning and VQA
    • Image Captioning
    • Visual Question Answering
  • Conclusion
  • Appendix
    • A. Introduction
    • B. Experimental Results
      • B.1 Image Classification
      • B.2 Image Captioning
      • B.3 Visual Question Answering (VQA)
    • C. Ablation studies
      • C.1 Varying mask size for occlusion
      • C.2 Grad-CAM on different layers
      • C.3 Design choices
        • C.3.1 Importance of ReLU in (4) in main paper
        • C.3.2 Absolute value of each derivative in (3) in main paper
        • C.3.3 Global Average Pooling vs. Global Max Pooling
        • C.3.4 Effect of different ReLU on Grad-CAM

Abstract

提出了一个通过观察对于估计更重要的区域,实现将基于神经网络的模型变得更灵活的方法。这个方法称为Gradient-weighted Class Activation Mapping (Grad-CAM),利用了传递到CNN最后一层的与类别相关的梯度信息来生成图像中重要区域的粗略位置信息。Grad-CAM是CAM的一个严格范化(strict generalization)。CAM局限于CNN模型的有限类别(narrow class),而Grad-CAM能够使用人和基于CNN模型。【意思就是Grad-CAM不受限于网络模型而CAM受限】。论文中还展示了Grad-CAM如何能够结合现有的像素级显示(pixel-space visualizations,比如Guided Backpropagation)来生成更高分辨率的分类器(Guided Grad-CAM)。

论文作者还生成了Grad-CAM和Guided Grad-CAM的视觉解释来帮助理解图像分类、图像说明(iamge captioning)和视觉问题回答(VQA,visual question answering)模型。在图像分类模型的上下文中,本文的显示(a)考察这些模型的失败情况(对于看似无法理解的估计其实有合理的解释);(b)在ILSVRC-15弱监督位置任务中的网络模型能够实现更好的pixel-space gradient visualizations(比如Guided Backpropagation和Deconvolution)。对于图像说明和VQA,本文的模型在莫种程度上证明了即使不用真值image-text pairs训练,CNN+LSTM模型通常也能够实现更好的定位。

最后,我们设计并实施了调查,来看显示Guided Grad-CAM解释能否帮助用户建立对深度学习网络的估计结果的新人。有趣的是,他们证明了Guided Grad-CAM能够帮助没有受训过的用户,只依靠不同的解释,成功辨别强网络和弱网络。

Introduction

Related Work

Approach

Class Activation Mapping(CAM)
CAM中对指定类型的图像分类结构提取坐标图,其中要求最后一层全局平均池化的结果直接送入softmax。具体而言,假设倒数第二层生成了K个宽为 u u u高为 v v v的特征图 A k ∈ R u × v A^k\in\mathbb R^{u\times v} AkRu×v。这些特征图随后用全局平均池化(Global Average Pooling, GAP)和线性变换生成对c个类别的score y c y_c yc
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第1张图片
为了生成对于类别c的位置图 L C A M c ∈ R u × v L_{CAM}^c\in\mathbb R^{u\times v} LCAMcRu×v,CAM计算最后一层权重所学习到的最终特征图的线性组合:
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第2张图片
用于现实目的,这个被归一化在0到1之间。为了将CAM应用在在最后一层之前使用了多层全连接层的网络上,全连接层被替换成卷积层,重新训练网路。


Gradient-weighted Class Activation Mapping
为了对一般结构得到类别敏感的位置图Grad-CAM L G r a d − C A M c ∈ R u × v L^c_{Grad-CAM}\in\mathbb R^{u\times v} LGradCAMcRu×v,文中计算了一个卷积层 y c y^c yc相对于特征图 A A A的梯度,即 ∂ y c ∂ A i j k \frac{\partial y^c}{\partial A^k_{ij}} Aijkyc。这个梯度遵循全局池化回去得到权重 α k c \alpha^c_k αkc
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第3张图片
这个权重 α k c \alpha^c_k αkc代表神经网络从 A A A中传递回来的部分线性(partial linearization),并获取了特征图 k k k对于目标类别KaTeX parse error: Double superscript at position 4: c^2^̲的重要性。凭经验,用全局平均池…y^c$不需要是CNN图像分类器的类别score,而可以是任何可微激活(differentiable activation)。

与CAM相同,Grad-CAM的热度图也是一个特征图的加权组合,但是后面跟了ReLU:
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第4张图片
得到的热度图的尺寸与卷积特征图尺寸是相同的(对于VGG和AlexNet的最后一层是14x14)。为了实现下图中的显示(1c、1h等), L G r a d − C A M c L^c_{Grad-CAM} LGradCAMc被归一化到0到1之间。
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第5张图片
对于CAM可使用的网络结构(即全卷积网络的输出为 A A A,后面接一个全局平均池化和softmax),CAM中调用的权重 w k c w_k^c wkc是精确的 α k c \alpha^c_k αkc。除了上式中的ReLU使得Grad-CAM成为CAM的范化。ReLU的动机是:我们只关心对于结果有正面影响的特征,即像素点的intensity应该为了增加 y c y^c yc而增加。既然特征图 A A A已经是非负的了,就用了上式来强化这些像素点。正如推测,在没有ReLU的情况下,定位图有时候会在关注区域以外也进行标注,从而影响精度(见支撑材料)。直观上来说,负值代表像素可能属于另一个类别的图像,因此需要用ReLU将它们评比出去。上图中的1c和1h分别代表Grad-CAM对于猫和狗的可视化结果(更多结果见支撑材料)。

这个ReLU也使得Grad-CAM可以适用于除了分类以外的任务,比如温中实验的图像标注和视觉问答。


Guided Grad-CAM
尽管Grad-CAM可视化是类别可分的而且能够不错地定位相关图像区域,但是它们缺少了显示fine-grained importance的能力,比如pixel-space梯度可视化方法(Guided Back-propagation和Deconvolution)。比如上如中的1c,Grad-CAM能够轻松定位猫的位置,但是在低分辨率下,热度图很难解释为什么这个实例是tiger cat。为了结合这两种方式的优势,这里将Guided Backpropagation和Grad-CAM可视化通过point-wise乘法整合在一起(先把 L C A M c L^c_{CAM} LCAMc用双线性插值上采样到输入图像分辨率)。下图左下角显示这个融合过程。用Deconvolution替代Guided Backpropagation能够得到相似的结果,但是作者发现Deconvolution有artifacts,所以这里选择了Guided Backpropagation(无噪声)。
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第6张图片
根据以往的研究结果,作者默认最后一层中有着最高级的语义特征和最细节的空间信息。下图显示了在不同卷积层下的效果(通过替换特征图 A A A)来证明这个假设。
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第7张图片

Weakly-supervised Localization

这一部分平谷了Grad-CAM在图像分类上的定位能力(同时提供bounding box和类别标签)。与CAM的做法相同,给定一个图像,先用网络获取类别估计。随后,用Grad-CAM定位每个估计类别,再用阈值(最大值的15%)将定位图二值化。最后,在单个最大的分割周围生成bounding box。

下表是结果:
【阅读笔记】《Grad-CAM: Why did you say that? ...》_第8张图片

Evaluating Visualizations

实验中用到了PASCAL VOC 2007训练集下fine-tuned的VGG和AlexNet CNNs,同时用到验证集生成可视化结果。

Evaluating Class Discrimination

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第9张图片

Evaluating Trust

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第10张图片

Faithfulness vs. Interpretability

Analyzing Failure Modes for Image Classification

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第11张图片

Image Captioning and VQA

Image Captioning

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第12张图片

Visual Question Answering

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第13张图片

Conclusion

Appendix

A. Introduction

B. Experimental Results

B.1 Image Classification

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第14张图片

B.2 Image Captioning

B.3 Visual Question Answering (VQA)

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第15张图片

C. Ablation studies

C.1 Varying mask size for occlusion

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第16张图片

C.2 Grad-CAM on different layers

C.3 Design choices

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第17张图片

C.3.1 Importance of ReLU in (4) in main paper

C.3.2 Absolute value of each derivative in (3) in main paper

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第18张图片

C.3.3 Global Average Pooling vs. Global Max Pooling

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第19张图片

C.3.4 Effect of different ReLU on Grad-CAM

【阅读笔记】《Grad-CAM: Why did you say that? ...》_第20张图片

更多内容,欢迎加入星球讨论。

你可能感兴趣的:(笔记,图像分割)