反卷积,导向反向传播,反向传播
区别在于反向传播过程中经过ReLU层时对梯度的不同处理策略
CAM
Class Activation Mapping
借鉴GAP
对于其中一个类别:
这样,CAM以热力图的形式告诉了我们,模型是重点通过哪些像素确定这个图片是羊驼了。
Grad-CAM
CAM缺点是要求修改修改原模型的结构,提出Grad-CAM
第k个特征图对类别c的权重为 α k c \alpha_k^c αkc
Z为特征图的像素个数
y c y^c yc是对应类别c的分数,logits表示,是输入softmax层之前的值
α 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
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对最终的加权和加了一个ReLU,只关心对类别c有正影响的像素点
除了直接生成热力图对分类结果进行解释,Grad-CAM还可以与其他经典的模型解释方法如导向反向传播相结合,得到更细致的解释。
参考:
https://www.jianshu.com/p/1d7b5c4ecb93
http://bindog.github.io/blog/2018/02/11/model-explanation-2/