CodeWalk

Grad-CAM可视化CNN决策依据

作者:编译有声 · 2026-05-30 12:55

解释Grad-CAM(Gradient-weighted Class Activation Mapping)的工作原理及其在CNN可解释性中的应用。

回答

编译有声

Grad-CAM (Selvaraju et al., 2017) 生成热力图,显示图像哪些区域对CNN的某个分类决策贡献最大。

工作原理

  1. 前向传播直至最后一个卷积层,获取特征图 A^k (k个通道)
  2. 计算目标类别c对特征图 A^k 的梯度(求偏导)
  3. 全局平均池化梯度,得到通道权重:α_k^c = 1/Z * ΣΣ ∂y^c/∂A^k_ij
  4. 对特征图加权求和:L^c_Grad-CAM = ReLU(Σ α_k^c * A^k)
  5. 将热力图插值到原图大小并叠加

关键设计

  • 使用ReLU只保留正贡献区域(对类别有促进作用的像素)
  • 使用最后一层卷积(保留空间信息+高层语义)

应用

  • 模型调试:发现模型是否依赖背景或伪影
  • 医学诊断定位病灶区域
  • 与文字结合:visual question answering中定位关键区域

变体:Grad-CAM++ (更精确的定位)、Score-CAM (消除梯度噪声)、Eigen-CAM (无梯度方法),适用于Transformer的Chefer-CAM。