什么是 Grad-CAM?

Grad-CAM(Gradient-weighted Class Activation Mapping)是一种模型相关归因方法,利用指定输出对空间特征图的梯度生成粗粒度、目标相关的定位热力图。

快速了解

全称Gradient-weighted Class Activation Mapping
规范文档官方规范

工作原理

选择目标分数与空间层

先固定模型检查点和 Eval Mode,再声明精确标量目标,例如类别 Logit、检测分数、Caption Token 分数或其他可微输出。所选层必须保留有意义的空间结构。Grad-CAM 原始论文使用流入卷积层的目标梯度,在不重训模型的情况下生成目标相关定位。

用池化梯度加权特征图

前向运行时保留目标层 Feature Map,再对目标分数反向传播;把每个通道的梯度在空间位置上平均为权重,对 Feature Map 加权求和,在关注正向支持证据时应用 ReLU,最后上采样。应保留原始 Map,因为 Color Map、Clipping、Smoothing 和 Min-Max Normalization 会放大微弱差异。

检验定位、忠实性与稳定性

比较不同层、目标类别、种子、邻近输入与符号处理,加入参数随机化和领域有效的插入或删除测试;只有可靠 Mask 或 Box 时才评价定位。近期 CAM 稳健性研究说明,应同时测量预测保持时的解释一致性,以及预测变化时的响应性,而不能只相信视觉效果。

主要特点

  • 根据空间特征图与梯度生成目标相关热力图
  • 使用空间平均梯度作为各通道的重要性权重
  • 通常在通道聚合后通过 ReLU 保留正向证据
  • 无需重训模型,但必须能对内部激活求导
  • 通过层选择权衡语义抽象程度与空间分辨率
  • 需要定量忠实性、定位、随机化与稳定性检验

常见用途

  1. 检查哪些图像区域支持指定分类 Logit
  2. 比较不同模型版本或类别的定位行为
  3. 发现水印、边框或背景等数据集捷径
  4. 审查检测、图像描述或视觉问答中的空间证据
  5. 为遮挡、消融与定向数据采集生成待验证假设

示例

loading...
Loading code...

常见问题

Grad-CAM 与原始 CAM 方法有什么区别?

CAM 依靠分类器前的 Global Average Pooling 和对应类别权重,因此要求特定网络结构;Grad-CAM 从选定目标对卷积特征图的梯度推导通道权重,能在不重训或替换预测头的情况下适配更广泛的可微 CNN 模型。

Grad-CAM 为什么常选择最后一个卷积层?

后期卷积层通常仍保留空间布局,同时比早期层编码更接近类别的抽象特征,但 Feature Map 分辨率也更低,所以定位较粗。最后一层只是常用约定,不是正确性保证;应比较多个有效层,并在结果中记录具体选择。

Grad-CAM 中的 ReLU 会删除什么信息?

ReLU 会删除通道加权和中的负值,只保留在当前方法下正向支持指定目标的位置。这适合展示支持证据,却会隐藏反对证据。若任务需要理解抑制作用,应另外保留并分析 ReLU 前的有符号 Map,不能只看最终彩色热力图。

Grad-CAM 可以用于 Vision Transformer 吗?

只有定义了明确的空间表征和 Reshape 规则才可以。Transformer Token、Class Token、Patch Embedding 与 Attention Block 不会自动满足 CNN Feature Map 假设。必须记录目标层、移除的 Token、网格重建、梯度与上采样方式,并独立验证适配结果。

Grad-CAM 热力图能证明哪些像素导致预测吗?

不能。它是一个内部层上的梯度加权摘要,会受分辨率、梯度饱和、ReLU 与显示方式影响。应使用参数随机化、插入删除、尽量保持分布的遮挡、替代层与替代方法进行忠实性测试;有可靠定位标签时再评价区域重合,并报告失败样本。

相关术语

相关文章