本文介紹一篇被CVPRW2020接受的論文,主要是關於一種基於置信分數的視覺可解釋性方法。本文的亮點在於:在CAM系列方法的基礎上,首次提出了一種新的gradient-free的權重表達方式。
論文:Score-CAM:Score-Weighted Visual Explanations for Convolutional Neural Networks
官方代碼:https://github.com/haofanwang/Score-CAM
本文是由來自於卡內基梅隆大學、德州農工大學、武漢大學的研究人員共同提出的一種基於置信分數的視覺可解釋性方法,目前論文被CVPRW 2020接收,代碼已開源。
1
背景介紹
1.視覺可解釋性
神經網絡可解釋性是指對於神經網絡所做出的決策,進行合理的解釋。這裡解釋可以是從數學理論層面進行的先驗解釋,比如對於激活函數的差異分析、模型的泛化能力分析,也可以是對於網絡預測結果的後驗解釋,比如我們訓練好的模型將一張圖片分類為"貓",我們希望知道網絡是通過什麼因素或特徵將它分類為"貓"這個類別的。
本文關注的是後驗解釋,即解釋已有模型的決策。而對於卷積神經網絡,目前最常見的是通過可視化的方式來解釋模型的決策(下文中可解釋性與可視化將不再區分)。
2.主流的視覺可解釋性方法
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也是最常見的可視化方式之一。
2
研究動機
作者在實驗中發現,基於梯度的CAM方法(Grad-CAM [7]、Grad-CAM++[8])生成的可視化結果在視覺上不夠乾淨,即除了目標物體被標記以外,大量背景信息也被標記。考慮到背景信息在訓練過程中有可能作為上下文信息輔助模型決策(例如"草地"可能與"狗"存在一定相關性),為了驗證背景區域的重要性,作者在原始圖像(隨機挑選的測試用例)中移除部分背景信息後發現,對於多數樣本,在移除背景信息後,置信度不會有明顯變化,因此作者認為,在Grad-CAM中被標記的背景區域是錯誤標記。
而由於CAM的本質是特徵圖的線性加權,作者在實驗中進一步發現,這種現象來自於線性權重分布。作者通過對特徵圖的可視化發現,在Grad-CAM中獲得較高權重的特徵圖,在網絡中的響應很低,而部分權重較低的特徵圖,則獲得到了很高的置信度。作者分析基於梯度的CAM中問題,可能來源於梯度本身,即梯度的飽和性(類似於Sigmoid函數,當特徵強度超過一定程度,其梯度可能會變小),以及梯度本身的不穩定性(局部的梯度受噪聲影響很大),甚至是梯度消失的影響。
總之,為了擺脫梯度帶來的潛在影響,作者希望找到一種梯度以外的權重表示方式。
3
核心方法
本文提出的Score-CAM [1],沿用了CAM的主要思路(特徵圖的線性加權),相比之前一系列CAM方法,主要的差別在於獲取線性權重的方式。初代CAM使用訓練後全連接層上的模型權重,Grad-CAM和Grad-CAM++均採用對應特徵圖上的局部梯度(差別在於對於梯度的處理方式),而在Score-CAM中,它首次擺脫了對於梯度的依賴,使用模型對於特徵圖的全局置信分數來衡量線性權重。
作者在問題提出了置信度提升(CIC)的概念,具體操作如下,
即通過將特徵圖視為一種特殊的掩碼(無需採樣生成)上採樣後,與原始圖像點乘,使用模型對掩碼後的圖片的響應於模型對於基圖片(baseline)的響應差值,來代表特徵圖的重要性。其中,作者在代碼中將baseline設置為全黑的圖片。
Score-CAM主要包含兩個階段(如上圖)。階段一中提取特徵圖,這也是所以CAM系列方法中都存在的一步。階段二通過對於特徵圖上採樣,然後將其作為掩碼信息,重新得到模型對於圖片在目標類別上的響應值。最後,通過將階段一中的特徵圖,與階段二中得到的響應值線性加權求和,得到最終可視化的結果。
可以看到Score-CAM相較於此前的方法,可視化的結果明顯更為聚焦,背景中的噪聲減少。除了可視化比較外,作者也在定量指標上大幅超過其它方法,具體指標定義請參見論文。
4
個人討論
神經網絡的可解釋性本身目前還是一個具有爭議的方向,關於模型是否可以被解釋還有待商榷。目前關於可解釋性的研究處在百花齊放的階段,對於可解釋性的定義、評估都還沒有統一標準。本文的亮點主要在於,在CAM系列方法的基礎上,首次提出了一種新的gradient-free的權重表達方式。值得一提的是,Ablation-CAM [5] 作為Score-CAM [1] 幾乎同期的工作,直接通過對特徵圖的掩碼操作,也得到一種不依賴於梯度的表達方式。
論文連結:
https://openaccess.thecvf.com/content_CVPRW_2020/papers/w1/Wang_Score-CAM_Score-Weighted_Visual_Explanations_for_Convolutional_Neural_Networks_CVPRW_2020_paper.pdf
開源資源
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).
由於微信公眾號試行亂序推送,您可能不再能準時收到AI科技評論的推送。為了第一時間收到AI科技評論的報道, 請將「 AI科技評論」設為 星標帳號,以及常點文末右下角的「在看」。