首次摆脱对梯度的依赖,CMU等开源Score-CAM:基于置信分数的视觉可解释性
本文介紹一篇被CVPRW2020接受的論文,主要關于一種基于置信分數的視覺可解釋性方法。本文的亮點在于:在CAM系列方法的基礎上,首次提出了一種新的gradient-free的權重表達方式。
本文首發自極市平臺,作者王浩帆,轉載需獲授權。
論文:Score-CAM:Score-Weighted Visual Explanations for Convolutional Neural Networks
官方代碼:https://github.com/haofanwang/Score-CAM
本文是由來自于卡內基梅隆大學、德州農工大學、武漢大學的研究人員共同提出的一種基于置信分數的視覺可解釋性方法,目前論文被CVPRW 2020接收,代碼已開源。
背景介紹
神經網絡可解釋性是指對于神經網絡所做出的決策,進行合理的解釋。這里解釋可以是從數學理論層面進行的先驗解釋,比如對于激活函數的差異分析、模型的泛化能力分析,也可以是對于網絡預測結果的后驗解釋,比如我們訓練好的模型將一張圖片分類為"貓",我們希望知道網絡是通過什么因素或特征將它分類為"貓"這個類別的。本文關注的是后驗解釋,即解釋已有模型的決策。而對于卷積神經網絡,目前最常見的是通過可視化的方式來解釋模型的決策(下文中可解釋性與可視化將不再區分)。
2.1 基于梯度的可解釋性
基于梯度的可視化是通過將目標類別上的決策分數往原始圖像上求取梯度得到,可視化結果如上圖(左)。梯度作為一種局部信息,反映了局部位置的擾動對于決策分數的影響。我們常見的Saliency Map [6], 即通過該種方式得到。除此之外,近幾年還出現多種基于梯度的改進方法,其中Smooth Gradient [2] 與Integrated Gradient [3] 最為著名,它們分別分析了原始梯度可能存在的一些問題,然后通過平滑和路徑積分的方式,得到了更為清晰的可視化結果。值得一提的是,Guided-Backpropagation目前在可解釋性方面存在較大爭議,它是通過對于回傳梯度進行一定過濾,從而得到更為干凈和聚焦的可視化結果,但在Sanity Check [9] 中,作者發現,該方法與模型參數無關,即初始化模型參數后,仍然能得到相似結果。
2.2 基于掩碼的可解釋性
梯度信息反映了局部變化對于結果的影響,基于掩碼的可視化則采用一種全局的方式來定位圖像中對于決策更重要的區域。此類方法的做法符合人類直覺,通過將圖像上部分的移除或者保留,來直接衡量該區域對于網絡決策分數的影響。比如在一張"貓"的圖片中,背景信息的移除通常不會降低"貓"類別上的置信度,而一些關鍵區域,如"貓"的耳朵,在移除后則可能造成置信度的下降。但是這類方法存在一個明顯的劣勢,即如何生成掩碼(mask)。目前主要有兩種思路,一種是通過采樣的方式(比如隨機采樣或蒙特卡洛采樣 [10])生成多個掩碼,然后來計算每一個掩碼區域的重要性,這種方式往往需要生成大量掩碼,計算量很大;第二種是通過優化的方式來生成掩碼,初始化一個隨機掩碼,通過優化損失函數來不斷更新掩碼,這種方法的缺點是需要在損失函數中增加額外的正則化項,來使得生成的掩碼面積盡可能的小,同時還能盡可能多的影響決策分數,由于存在優化過程,即使對于同一張圖,方法每一次生成的解釋都是不完全一致的。
2.3 基于類激活地圖的可解釋性
類激活地圖(CAM)是一種通過對中間層的特征圖進行線性加權來定位圖像中判別性的位置。2015年提出的CAM [4] ,首先對最后一層卷積結果進行全局池化得到一維的向量,向量再輸入其后的全連接層分類得到最終預測結果。但是初代的CAM對于模型結構有特殊要求(全局池化層),并且需要通過重新訓練模型才能得到全連接層上對應的權重,借此來表示每一張特征圖的重要性。為了解決CAM的不便性,隨后的工作Grad-CAM [7] 以及Grad-CAM++ [8] 都采用了局部回傳的梯度信息來近似代表每一張激活圖或特征圖的線性權重,使得CAM可以應用到大部分卷積神經網絡中。目前Grad-CAM也是最常見的可視化方式之一。
研究動機
作者在實驗中發現,基于梯度的CAM方法(Grad-CAM [7]、Grad-CAM++[8])生成的可視化結果在視覺上不夠干凈,即除了目標物體被標記以外,大量背景信息也被標記。考慮到背景信息在訓練過程中有可能作為上下文信息輔助模型決策(例如"草地"可能與"狗"存在一定相關性),為了驗證背景區域的重要性,作者在原始圖像(隨機挑選的測試用例)中移除部分背景信息后發現,對于多數樣本,在移除背景信息后,置信度不會有明顯變化,因此作者認為,在Grad-CAM中被標記的背景區域是錯誤標記。
而由于CAM的本質是特征圖的線性加權,作者在實驗中進一步發現,這種現象來自于線性權重分布。作者通過對特征圖的可視化發現,在Grad-CAM中獲得較高權重的特征圖,在網絡中的響應很低,而部分權重較低的特征圖,則獲得到了很高的置信度。作者分析基于梯度的CAM中問題,可能來源于梯度本身,即梯度的飽和性(類似于Sigmoid函數,當特征強度超過一定程度,其梯度可能會變小),以及梯度本身的不穩定性(局部的梯度受噪聲影響很大),甚至是梯度消失的影響。
總之,為了擺脫梯度帶來的潛在影響,作者希望找到一種梯度以外的權重表示方式。
核心方法
本文提出的Score-CAM [1],沿用了CAM的主要思路(特征圖的線性加權),相比之前一系列CAM方法,主要的差別在于獲取線性權重的方式。初代CAM使用訓練后全連接層上的模型權重,Grad-CAM和Grad-CAM++均采用對應特征圖上的局部梯度(差別在于對于梯度的處理方式),而在Score-CAM中,它首次擺脫了對于梯度的依賴,使用模型對于特征圖的全局置信分數來衡量線性權重。
作者在問題提出了置信度提升(CIC)的概念,具體操作如下,
即通過將特征圖視為一種特殊的掩碼(無需采樣生成)上采樣后,與原始圖像點乘,使用模型對掩碼后的圖片的響應于模型對于基圖片(baseline)的響應差值,來代表特征圖的重要性。其中,作者在代碼中將baseline設置為全黑的圖片。
Score-CAM主要包含兩個階段(如上圖)。階段一中提取特征圖,這也是所以CAM系列方法中都存在的一步。階段二通過對于特征圖上采樣,然后將其作為掩碼信息,重新得到模型對于圖片在目標類別上的響應值。最后,通過將階段一中的特征圖,與階段二中得到的響應值線性加權求和,得到最終可視化的結果。
可以看到Score-CAM相較于此前的方法,可視化的結果明顯更為聚焦,背景中的噪聲減少。除了可視化比較外,作者也在定量指標上大幅超過其它方法,具體指標定義請參見論文。
個人討論
神經網絡的可解釋性本身目前還是一個具有爭議的方向,關于模型是否可以被解釋還有待商榷。目前關于可解釋性的研究處在百花齊放的階段,對于可解釋性的定義、評估都還沒有統一標準。本文的亮點主要在于,在CAM系列方法的基礎上,首次提出了一種新的gradient-free的權重表達方式。值得一提的是,Ablation-CAM [5] 作為Score-CAM [1] 幾乎同期的工作,直接通過對特征圖的掩碼操作,也得到一種不依賴于梯度的表達方式。
開源資源
Score-CAM官方代碼:https://github.com/haofanwang/Score-CAM
CAM系列方法開源庫torch-cam:https://github.com/frgfm/torch-cam
常見可視化方法實現:https://github.com/utkuozbulak/pytorch-cnn-visualizations
引用文獻
[1] Wang, Haofan, et al. “Score-CAM: Score-weighted visual explanations for convolutional neural networks.”?Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2020.
[2] D. Smilkov, N. Thorat, B. Kim, F. Viegas, and M. Wattenberg. Smoothgrad: removing noise by adding noise. arXiv preprint arXiv:1706.03825, 2017.
[3] M. Sundararajan, A. Taly, and Q. Yan. Axiomatic attribution for deep networks. In Proceedings of the 34th International Conference on Machine Learning-Volume 70, pages 3319-- 3328. JMLR. org, 2017.
[4] B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba. Learning deep features for discriminative localization. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2921–2929, 2016.
[5] Ramaswamy, H. G. (2020). Ablation-CAM: Visual Explanations for Deep Convolutional Network via Gradient-free Localization. In?The IEEE Winter Conference on Applications of Computer Vision?(pp. 983-991).
[6] M. D. Zeiler and R. Fergus. Visualizing and understanding convolutional networks. In European conference on computer vision, pages 818–833. Springer, 2014.
[7] R. R. Selvaraju, M. Cogswell, A. Das, R. Vedantam, D. Parikh, and D. Batra. Grad-cam: Visual explanations from deep networks via gradient-based localization. In Proceedings of the IEEE International Conference on Computer Vision, pages 618–626, 2017.
[8] A. Chattopadhay, A. Sarkar, P. Howlader, and V. N. Balasubramanian. Grad-cam++: Generalized gradient-based visual explanations for deep convolutional networks. In 2018 IEEE Winter Conference on Applications of Computer Vision (WACV), pages 839–847. IEEE, 2018.
[9] J. Adebayo, J. Gilmer, M. Muelly, I. Goodfellow, M. Hardt, and B. Kim. Sanity checks for saliency maps. In Advances in Neural Information Processing Systems, pages 9505–9515, 2018
[10] Petsiuk, Vitali, Abir Das, and Kate Saenko. “Rise: Randomized input sampling for explanation of black-box models.”?arXiv preprint arXiv:1806.07421?(2018).
總結
以上是生活随笔為你收集整理的首次摆脱对梯度的依赖,CMU等开源Score-CAM:基于置信分数的视觉可解释性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Transformer再下一城!low-
- 下一篇: ACCV2020国际细粒度网络图像识别冠