参考自:
https://www.jianshu.com/p/1d7b5c4ecb93
定义Grad-CAM中第k个特征图对类别c的权重为
α
k
c
\alpha_k^c
αkc,
α
k
c
=
1
Z
∑
i
∑
j
∂
y
c
∂
A
i
j
k
\alpha_k^c=\frac{1}{Z}\sum\limits_{i}\sum\limits_{j}\frac{\partial y^c}{\partial A_{ij}^k}
αkc=Z1i∑j∑∂Aijk∂yc
其中, Z Z Z为特征图的像素个数, y c y^c yc是对应类别c的分数(在代码中一般用logits表示,是输入softmax层之前的值), A i j k A_{ij}^k Aijk表示第k个特征图中, ( i , j ) (i,j) (i,j)位置处的像素值。求得类别对所有特征图的权重后,求其加权和就可以得到热力图。
L
G
r
a
d
−
C
A
M
c
=
R
e
L
U
(
∑
k
α
k
c
A
k
)
L_{Grad-CAM}^c=ReLU(\sum\limits_k\alpha_k^cA^k)
LGrad−CAMc=ReLU(k∑αkcAk)
Grad-CAM的整体结构如下图所示: