在 GradCAM 中,为什么将激活强度视为相关区域的指标?

人工智能 神经网络 深度神经网络 可解释的ai 毕业相机
2021-11-05 21:46:09

GradCAM 论文第 3 节中,他们暗示需要两件事来理解输入图像的哪些区域对输出类的贡献最大(在多标签分类问题中)。那是:

  • Ak最终的特征图
  • αkc输出类分数的平均合并偏导数yc关于最终的特征图Ak.

第二点我很清楚。导数越强,越重要k最终特征图的第 th 通道是。

第一点不是,因为隐含的假设是非零激活比接近零的激活更重要。我知道将其视为既定因素很诱人,但对我来说并不是那么明显。毕竟,神经元有偏差,偏差可以任意移动参考点,因此 0 意味着什么。我们可以通过线性变换轻松地将两个神经元 [0, 1] 转换为 [1, 0]。

那么,为什么最终特征图的哪些区域被强烈激活很重要呢?


编辑

为了解决进一步的评论,该表解释了为什么我在考虑幅度而不是激活的符号

在此处输入图像描述

它来自对可能的变化的思考

LGradCAMc=ReLU(kαkcAk)

1个回答

我认为您在这里误读了相关段落。

由于您没有指定确切的摘录,我通过“隐含假设”认为您指的是等式(2)(ReLU 的应用)和相应的文本解释(粗体强调我的):

在此处输入图像描述

我们将 ReLU 应用于地图的线性组合,因为我们只对对感兴趣的类别有积极影响的特征感兴趣,即应该增加强度以增加yc. 负像素很可能属于图像中的其他类别正如预期的那样,如果没有这个 ReLU,定位图有时会突出显示的不仅仅是所需的类,并且在定位方面表现更差。

这里首先要注意的是,这个选择根本不是关于接近于零的激活,正如你似乎相信的那样,而是关于消极的。并且由于激活确实可能属于其他类别/类别,而不是在给定试验中被“解释”的类别/类别,因此使用 ReLU 排除它们是很自然的。

Grad-CAM 地图本质上是本地化地图;这从论文摘要(强调我的)中已经很明显:

我们的方法——梯度加权类激活映射(Grad-CAM),使用流入最终卷积层的任何目标概念(比如分类网络中的“狗”或字幕网络中的单词序列)的梯度来产生粗略定位图突出显示图像中用于预测概念的重要区域。

它们甚至有时被称为“Grad-CAM本地化”(例如在图 14 的标题中);从论文中获取一个标准示例图,例如图 1 的这一部分:

在此处输入图像描述

很难看出包含地图的负值(即移除 ReLU 施加的阈值)不会导致地图包含图像的不相关部分,从而导致更差的定位。


一般性评论:虽然您声称

毕竟,神经元是有偏差的,一个偏差可以任意移动参考点,因此 0 意味着什么

是正确的,只要我们将网络视为任意数学模型,我们就不能再将经过训练的网络视为这样。对于一个训练有素的网络(Grad-CAM 就是这样),偏差和权重的确切值很重要,我们不能任意转换它们。


更新(评论后):

您是否指出它被称为“本地化”,因此必须如此?

之所以称为“本地化”,是因为它本地化,字面意思(“看,这里是图中的“狗”,而不是那里“)。

我可以提出类似的挑战“为什么正数表示 X,负数表示 Y,为什么在任何训练有素的网络中总是如此?”

根本不是这样。正表示 X,负表示在存在类 X(即存在特定 X)、在特定网络中以及在本地化上下文中的所有这些情况下的非 X;请注意,“狗”的 Grad-CAM 与上图中“猫”的不同。

为什么经过训练的网络倾向于使 0 在更深层意味着“微不足道”?[...] 为什么网络总是应该让积极的激活成为支持预测的那些,而不是消极的?网络不能以相反的方式学习它,而是在最终密集层的权重上使用负号(因此负数翻转为正数,从而支持得分最高的类)?

同样,当这种对称性/不变性被破坏时,请注意这种对称性/不变性论点并且它们确实在这里被破坏了一个非常简单的原因(尽管隐藏在上下文中),即标签的特定单热编码:我们将“猫”和“狗”分别编码为(比如说)[0, 1][1, 0],所以,因为我们对这些 1(表示存在类)感兴趣,因此寻找(后期)卷积层的激活是有意义的。这打破了正/负对称性。如果我们选择将它们分别编码为[0, -1][-1, 0](“负一热编码”),那么是的,你的论点会成立,我们会对否定的激活。但是由于我们将 one-hot 编码作为给定,因此问题不再是围绕零对称/不变的 - 通过使用特定的标签编码,我们实际上选择了一侧(从而破坏了对称性)......