Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks论文阅读笔记
摘要
作者提出了一种不依赖梯度的类激活图生成方法Score-CAM,其通过前向传播获取每一个激活图的权重。实验证明Score-CAM能在解释决策过程方面实现更好的视觉性能和公平性。
方法
不同于之前的方法,作者将置信度增量纳入重要性的计算。置信度增量定义如下:
\(c_i=f(X_b◦H_i)-f(X_b)\),其中\(X_b\)是长度为n的向量,\(H_i\)和\(X_b\)大小相同且除了第i个位置为1其他位置的值都为0,最终得到的\(c_i\)就是第i个位置的贡献。更进一步,通道维度的置信度增量定义如下:
\(C(A_l^k)=f(X◦H_l^k)-f(X_b), H_l^k=s(Up(A_l^k))\)
其中l为网络中的某个卷积层,k代表第k个通道,s为归一化函数。注意这里的\(X_b\)是baseline(作者使用的是全黑图像,因此在代码中可以忽略)。
方法的整体流程是,对于类别c,首先得到最后一层输出的n个特征图,之后遍历这些特征图,将其插值到原图大小,归一化后与输入图像做点乘,送入网络计算属于c的概率,将这个概率作为权重与当前的特征图相乘,最后求和就得到了最终的CAM。
实验
相比于Grad-CAM,Score-CAM可以定位多个目标,且能捕捉到更加重要的特征。