特征可視化技術(CAM) - 5 - SS-CAM - 論文學習


 

https://github.com/frgfm/torch-cam

SS-CAM: Smoothed Score-CAM for Sharper Visual Feature Localization

Abstract

由於深度卷積神經網絡在high-risk環境中的應用,對其潛在機制的解釋已成為深度學習領域研究的一個重要方面。為了解釋這些黑箱架構,已經應用了許多方法,以便能夠分析和理解內部決策。本文以Score-CAM為基礎,介紹了一種基於視覺清晰度的加強視覺解釋,稱為SS-CAM,它通過平滑的操作產生圖像內目標特征的集中定位。我們在ILSVRC 2012驗證數據集上評估我們的方法,它在可信度和定位任務上都優於Score-CAM。

 

I. INTRODUCTION

在過去幾年里,解決視覺問題的主要方法是卷積神經網絡(CNNs)。它的架構[6][21]已經有了足夠的進步以處理復雜的問題,如圖像字幕[8],圖像分類[20],語義分割[10]和許多其他問題[7],[13],[22]。盡管它們解決主要視覺任務的能力是不斷在進步的,但它們仍然像黑盒架構一樣工作,並且解釋這些模型已經成為一項困難的任務。由於這些架構應用於醫療、金融和自動導航設施等高度敏感的環境,人們必須了解架構的基礎,以防止任何類型的不可挽回的損害。隨着體系結構復雜性的增加,任務將繼續變得越來越困難。

為了避免這種因敏感問題受到阻礙的情況發生,這些無法解釋的架構需要通過可視化推理來解釋它們所做的決策。視覺信息不僅可以幫助識別架構的缺陷,還可以幫助生成洞察力來改進模型。識別缺陷可以幫助調試網絡。在執行上述任務時,模型通常傾向於錯誤地分類,但是要理解模型究竟為什么會犯這樣的錯誤,需要花費大量的時間和精力。視覺信息可以幫助指出模型的錯誤。其他的見解可以是與改進模型有關的,以產生更好的定位結果、可信度和獲得人們的信任。他們還可以幫助解決[1]中解釋的問題,[1]側重於非包容性數據集中涉及的種族和性別偏見,這已經成為許多開發人員日益關注的問題。任何不能處理種族主義和性別偏見的結構在任何方面都不會被接受。

[26]的Deconvolution方法和[19]的Guided Backpropagation方法是第一個解決這個問題的方法。但是最近的進展是通過在最終的池化層之前給予圖像中每個區域對應的權重來得到最好的attribution maps結果。基於梯度的可視化、基於擾動的可視化和類激活映射[27]是當前常用的三種maps方法,它們可以幫助開發可視化輔助工具。基於梯度的方法通過反向傳播[19],利用目標類分數對輸入圖像的導數來生成saliency maps。擾動(Perturbing)方法[11],[14]也是一種常用的在圖像中尋找感興趣區域的技術,它通過masks輸入中的某個特定區域來工作。在目標類上造成最大下降的區域被視為重要區域。其他作品[24]添加了regularizers來使這些attribution maps結果更加健壯,並且已經開發了一些[25]封裝包。

我們的工作建立在基於CAM的方法[2]、[15]、[27]之上,這些方法通過權重和激活maps的線性組合獲得attribution maps。最近的基於CAM的方法都是對原始CAM的推廣,並不局限於具有特殊全局池化層的CNNs。它們可以分為兩個分支,一個是基於梯度的CAMs[2]、[15],它們通過梯度信息表示內部激活maps對應的線性權值。另一種是無梯度CAMs[4]、[23],它們通過目標分數捕獲每個激活映射在正向傳播中的重要性。雖然Score-CAM[23]在視覺比較和公平性評價方面都取得了很好的成績,但其定位結果比較粗糙,存在一定的不可解釋情況。

為了實現更好的視覺特征定位,本文在Score-CAM[23]的基礎上,提出了一種新的方法SS-CAM,用於增強對對象的理解,並通過平滑處理對圖像中集中的目標對象提供更好的post-hoc解釋。我們在ILSVRC 2012數據集上基於4個主要指標來評估我們的方法。我們的貢獻可以總結如下:

  • 我們介紹了一種增強的視覺特征定位方法SS-CAM,它結合了Score-CAM和一個額外的平滑操作,得到視覺上更清晰的attribution maps。
  • 介紹了兩種類型的平滑方法,定量地評價了不同位置平滑的差異。
  • 與以往基於CAM的方法相比,我們的方法獲得了更好的視覺性能。我們定量地評估了識別、定位和human trust任務,並表明SS-CAM能更好地定位與決策相關的特征。

 

II. RELATED WORK

基於梯度的方法通過[19]反向傳播,使用目標類分數對輸入圖像的導數來生成saliency maps。

SmoothGrad [18]:  SmoothGrad的目標是通過添加足夠的噪聲到圖像和生成類似的圖像來減少視覺噪聲。然后對這些采樣的相似圖像的sensitivity maps進行平均。用噪聲訓練和用噪聲推斷模型的決策似乎在產生最佳結果方面有更好的效果。通過在x附近隨機抽取樣本並對得到的maps進行平均,可以創建視覺上清晰的基於梯度的sensitivity maps。它表示為:

 

其中n表示樣本的數量,表示添加到圖像輸入x的標准差為σ的高斯噪音

 

CAM [27]: CNN利用目標和可區分的圖像區域,通過線性結合權重和激活圖來識別特定類別。這些類別稱為類激活映射(Class Activation Maps ,CAMs)。預測類分數值被映射回上一個卷積層時,對應的區域將高亮顯示。表示為:

表示池化操作后第k個神經元的權重

Grad-CAM[15]是CAM的推廣。為了獲得細粒度的可視化,通過與通過Guided Backpropagation獲得的可視化結果相乘,對Grad-CAM 激活maps進行了修改。這被稱為“Guided Grad-CAM”。

Grad-CAM [15]:  該技術利用局部梯度來表示線性權值,可以應用於任何基於平均池化的CNN架構,無需再進行訓練。表示為:

GAP(.)表示全局平均池化操作

但是,這種方法有一些局限性。由於梯度飽和,它無法在高置信度的情況下提供有價值的解釋,也無法在一張圖像中高亮顯示同一物體的多次出現。此外,用Grad-CAM生成的熱圖不能完全捕捉整個物體,因為梯度往往是嘈雜的,但這卻是獲得更好的識別圖像中的物體所必需的。

該技術在Grad-CAM++[2]中得到了進一步的改進,該技術通過定位圖像中的整個對象而不是局部對象得到了更好的結果。然而,由於最初的CAM僅限於具有CAP層的CNN,因此無法對大量的CNN做出可行的解釋。由於輸出層是一個非線性函數,基於梯度的CAMs往往會減小反向傳播的梯度,導致梯度飽和,因此難以給出具體的解釋。為了解決這些問題,Score-CAM[23]作為第一個無梯度推廣CAM方法,彌補了基於攝動的方法和基於CAM的方法之間的差距。

Score-CAM [23]:  Score-CAM獲得每個激活map在其目標類的前向傳播分數中的權重。最后的結果是權重和激活maps的線性組合。在Score-CAM中,Lc表示為:

 

  

其中c是感興趣的類,是卷積層,C(.)是激活map Channel-wise的Increase of Confidence(CIC)分數。

 

 

III. PROPOSED APPROACH

檢測模型不良行為和良好的post-hoc可視化結果是Score-CAM[23]的主要應用。有了SS-CAM,我們可以產生更好的可視化結果和更高的可信度評估,這使得我們可以更直觀地分析模型。我們借鑒了SmoothGrad[18]的想法,並將smooth集成到Score-CAM的管道中,以生成“更平滑”的特征定位。較高的“平滑度”有助於對體系結構執行更高級別的分析。在本文中,我們評估了兩種平滑方法。該方法的管道如圖1所示。在深入了解技術細節之前,我們先定義了探究這個主題的動機以及我們為什么要討論它。

  

我們選擇研究Score-CAM的中的平滑方法以產生更可行的解釋。正如您可以看到的,Score-CAM map(圖2)顯然沒有突出顯示定位到目標對象(這里是Bull Mastiff)的區域。這可能是由於ReLU非線性函數產生的噪音。這張map覆蓋了所有的地方,這使得預測任何類型的結果都非常不可靠,但SS-CAM生成的是一張集中的熱圖,它完全聚焦在這個物體上。這種集中的熱圖可以大大增加預測中發現錯誤的機會。如果一個模型分類錯誤,錯誤分類的熱圖將適當地顯示被表示的圖像部分,並幫助調試模型。我們現在開始解釋我們的方法,首先用CIC測量每個激活map的重要性:

Channel-wise Increase of Confidence(CIC) :  給定一個模型f(x),輸入圖像X,f的卷積層的激活map A的第k個channel表示為。對於基本輸入Xb的重要性表示為:

 

U(.)是將激活map  上采樣到輸入大小的操作,s(.)是歸一化函數(如等式15),使得元素大小控制在[0,1]范圍

類似的CIC方法有DeepLIFT [16]、Average Drop%和[2]的Increase in Confidence。激活maps的重要性由流入最終卷積層的梯度信息來表示。

Smooth on activation map  我們通過在每個激活map Ai中添加高斯噪聲來產生N個噪聲樣本圖像。對於每個激活map Ai,生成N個分數,並平均到一個最終分數,這被認為是激活map Ai的重要性。

channel k的卷積層的激活map A為特征空間(平滑類型1)上光滑的SS-CAM可以描述為:

其中,c是感興趣的類,是卷積層,是激活map 的平均Channel-wise分數,其解釋了噪聲maps  產生的分數。X0即輸入圖像,表示層的激活map:

 

Smooth on input :  卷積層的第k個channel的激活map A表示為。在輸入空間進行平滑的SS-CAM(平滑類型2)表示為:

其中c為感興趣的類,是卷積層,是添加噪聲的歸一化激活map 的channel-wise 平均分數。X0是輸入圖像,表示歸一化的輸入mask:

 

Normalization:  由於我們的目標是聚焦於物體所在的空間區域,因此在歸一化map上的二進制mask不會很好,而二進制mask會忽略重要的特征。因此,我們使用與[23]相似的歸一化函數來提升特定區域內的特征。

算法中使用的歸一化方法如下:

 

 

 

IV. EXPERIMENTS

在這一節中,我們解釋我們的實驗設置來評估所提出的方法。我們的設置類似於[2][12][23]。首先, 通過A中在ILSVRC 2012 驗證集上的可視化結果來定性比較架構的輸出。第二,在B中,我們評估在目標識別中架構解釋的公平性。接下來,在C中,在從ILSVRC 2012 驗證集中的2000張均勻隨機選擇的圖像上,使用Energy-based pointing game([2]中介紹的), 對給定圖像中特定類的目標定位實現邊界框的評估。最后,我們對Human Trust 評估進行了定量研究,以了解我們的方法如何獲得足夠的可解釋性。

我們的與其他4個現有的CAM技術進行比較,Grad-CAM、Grad-CAM++,Smooth Grad-CAM++和Score-CAM。將圖像按一定的大小(224,224,3)進行調整,轉換到[0,1]范圍,然后使用ImageNet[3]權重(均值向量:[0.485,0.456,0.406]和標准差向量[0.229,0.224,0.225])進行歸一化。為簡單起見,基線圖像Xb被設置為0。

 

A. Visual Comparison

為了進行這個實驗,我們從ILSVRC 2012驗證集中隨機選擇了2000張圖像。圖3顯示了我們的方法與現有的CAM方法(Grad-CAM、Grad-CAM++,Smooth Grad-CAM++和Score-CAM)的比較。這里,我們使用N = 35和σ= 2。D子節進一步深化了這種比較。

 

B. Faithfulness Evaluations

可信度評估是按照Grad-CAM++[2]中的描述進行的,目的是用於目標識別。引入了三個指標,即Average Drop、Average Increase In Confidence 和Win %。

這些指標通過預訓練的VGG-16模型對從ILSVRC 2012驗證集隨機選取的2000幅圖像進行評估。我們使用N = 10和σ= 2來進行這個子實驗。

Insertion and Deletion Curves被用來計算Area Under Curve(AUC)度量,以了解有多少saliency map像素可以貢獻或減少得到的 fractioned maps的分數。我們采用了類似於[12]中引入的設置。Deletion操作顯示了按像素銷毀map信息的能力。產生的分數的急劇下降和較低的AUC表明了這是一個很好的解釋結果。Insertion操作決定了從給定基線重建saliency map的能力。所產生的分數的急劇增加和較高的AUC表明有很好的解釋。

 

1) Average Drop %: Average Drop是指使用輸入圖像進行的預測與使用saliency map進行的預測之間的最大正差值。式子為

。這里表示使用圖像i的類c的預測分數,表示使用輸入圖像i產生的saliency map在類c的預測分數。

 

2) Increase in Confidence %:  The Average Increase in Confidence表示為,其中Func表示布爾函數,當條件<為true時,返回1;否則返回0。這些標注符號表示的意義如上面所說的Average Drop相同。

 

3) Win %: Win percentag 是指SS-CAM生成的解釋map的模型置信度的降低。這個指標將SS-CAM(1)和SS-CAM(2)map的置信度與Score-CAM[23]map生成的置信度進行比較。與Score-CAM相比時,SS-CAM(1)的結果說明有49.8%的分數偏向於它;SS-CAM(2)與Score-CAM相比時,顯示了Win %為47.8%上下的結果。本實驗采用N=10和σ=2。

表二描述了在Average Drop和Average Increase in Confidence中得到的類似的性能。表1從Deletion曲線來看,SS-CAM(2)略低於Score-CAM;而SS-CAM(1)在Insertion曲線表現很好,增加了5%。

 

 

C. Localization Evaluations

邊界框計算在本節中完成。我們采用了類似的指標,就像在Score-CAM中指定的那樣,叫做the Energy-based pointing game。在這里,saliency map的energy的數量是通過找出有多少saliency map落在邊界框內來計算的。具體地說,輸入是將邊界框的內部標記為1,邊界框外的區域標記為0。然后,將此輸入與生成的saliency map相乘並求和去計算比例比,式子為

。使用了三個預訓練模型——VGG-16、ResNet-18(Residual Network with 18-layers) [6] 和SqueezeNet1.0 [9] 模型在從ILSVRC 2012驗證集隨機選取的2000幅圖像上實現 Energy-based pointing game。設置N=10和σ=2來實現該實驗。雖然差距很小,表3顯示3個架構中的兩個架構有了更好的定位效果

  

D. Evaluating Human Trust

在本實驗中,我們在盲評的基礎上評估所產生的視覺解釋的可信度或可解釋性。我們從ILSVRC 2012驗證數據集[3]的1000個類中隨機選擇5個類,生成50幅解釋map,總計250幅圖像。Grad-CAM maps被視為生成的可視化maps的基線。這些maps和輸入的圖像一起展示給10名受試者(他們沒有這個領域或深度學習的知識),並證明哪張map能更深入地觀察捕獲的物體,從而得到更多的信任和更高的可解釋性。使用一個預訓練的VGG-16模型來創建解釋maps。我們隨機選擇5個類,因為這將使所有類從1000個ImageNet類中被選中的概率相等,因此,能消除任何偏差。

對於每一幅圖像,生成6個解釋maps,分別是Grad-CAM、Grad-CAM++,Smooth Grad-CAM++, Score-CAM, SS-CAM(1)和SS-CAM(2)。受試者被要求選擇哪張地圖能更好地解釋圖像中的物體(不知道哪張地圖對應於哪一種方法)。這些回答經過歸一化處理,使每張圖像的總分等於1。然后把這些歸一化的分數加起來,這樣每個subject的最高分數就可以達到250分。記錄的響應總數為10*250 = 2500個響應。如果受試者不能辨別視覺maps,也會提供一個“不確定”選項。表4顯示了使用該評價指標所獲得的相應分數。我們使用N = 35和σ= 2進行這個實驗。表4所示的值明顯地對SS-CAM(2)方法提出了更高的響應,從而得出了更高的人類可解釋性和可信度的結論。

 

 

 

 

V. CONCLUSION

我們提出的方法顯著地增強了目標類特征在圖像中的定位,從而更好地解釋了圖像。在這方面,我們的方法使用Energy-based pointing game(表3)得到的評估結果遠高於現有的CAM的方法。(表1)提出的更高的AUC分數進一步說明了我們的技術在可信度評估上的能力,(表4)顯示了在Human Trust評估上,我們具有的顯著優勢。Insertion曲線(圖4)還表明,SS-CAM具有很大的潛力,因為隨着像素的插入,得分顯著增加。
使用參數為σ[5]、[18]的高斯噪聲平滑了attribution maps的輸入空間,構建視覺清晰的attribution maps。如果參數σ不定,發現如果σ很低,產生的分數很“noisy”,因為得到的attribution maps趨向於太noisy;如果參數σ過高,生成的attribution maps在不同類中將更泛化,將意味着maps會變得無用和無關緊要。因此,我們精心選擇了一個理想的σ來進行評估,以獲得最佳的結果。

與Grad-CAM[15]相比,SS-CAM的局限性在於它需要花費大量的時間來處理這些解釋。這是由於在上采樣階段迭代每個特征圖來計算N個噪聲樣本的分數,並平均它們以生成更平滑的attribution maps。但應該注意的是,這些技術的應用主要集中在一個單一的錯誤就可能造成巨大傷害和損害的環境中。因此,我們優先考慮結果,而不是獲得同樣的結果所花費的時間。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM