論文:Score-CAM: Score-Weighted Visual Explanations for Convolutional Neural Networks
作者:Haofan Wang1, Zifan Wang1, Mengnan Du2, Fan Yang2,
Zijian Zhang3, Sirui Ding3, Piotr Mardziel1, Xia Hu
代碼:https://github.com/haofanwang/Score-CAM
收錄于CVPR2020
摘要
與以往的CAM系方法不同,不需要梯度,通過收集目标類在前向傳播上的每個激活圖的權重實作,最終結果由權重和激活圖的線性組合獲得。
1.Introduction
CNN可視化三類主要方法:Gradient visualization , Perturbation, Class Activation Map (CAM)
3點貢獻:
1.Score-CAM, 連接配接Perturbation-Based和CAM-Based
2.Average Drop / Average Increase and Deletion curve / Insertion
curve metrics 量化評估,Score-CAM更能發現重要特征
3.量化評估定位能力
2.BackGround
CAM, Grad-CAM
2.1梯度問題
飽和的深度神經網絡梯度經過sigmoid和RELU層可能會引入噪聲和消失,可視化效果如下
不可信度,Grad-Cam隻是激活圖的線性平均權重,那麼會對貢獻度高的權重産生失真(平均的特點),Grad-CAM++就是針對這個問題提出的改進
3. Score-CAM
具體方法,對激活圖的每個通道,進行上采樣,用于生成掩模。再用掩模點乘原圖後,輸入到cnn中。
p.s.可以了解為,對于特征圖的每個通道,上采樣獲得貢獻度最大的區域,保證不會出現類似Grad-Cam的失真。
上圖意思是,計算出的掩模點乘原圖,輸入到模型中得到的得分,減去原圖直接的得分,定義為Increase of Confidence
把掩模分通道計算
之後進行平滑處理(歸一化,Smoothing with Normalization),把二值化的掩模映射到[0,1]區間上,使可視化效果看起來更真實柔和。
計算Score-CAM:
上述和Grad-CAM類似。
計算出激活圖後,最後再歸一化一下。整個流程如下:
4.實驗
先直覺的對比下
多目标檢測效果好
對比Grad-CAM的faithfulness evaluation
可以對比Perturbation Based 的mask,用CAM掩模後輸入到模型中,比較輸出的變化,
下圖就是基于Perturbation Based 的兩種規則的實驗
之後是定位性能名額,除去了資料集中目标占比50%以上的圖檔
最後介紹了Score-CAM可以用來診斷分析模型。