Group-CAM: Group Score-Weighted Visual Explanations for Deep Convolutional Networks
Abstract
最近,深度卷積神經網絡的解釋引起了越來越多的關注,因為它有助於理解網絡的內部機制和網絡做出特定決策的原因。在計算機視覺領域,可視化和理解深度網絡最流行的方法之一是生成顯著性maps(saliency maps),突出顯示與網絡決策最相關的顯著區域。然而,現有方法生成的saliency maps要么只能反映網絡預測的微小變化,要么計算saliency maps的過程需要大量的時間。我們提出了一種高效的saliency map生成方法Group score-weighted Class Activation Mapping (Group-CAM),該方法采用“split-transform-merge”策略生成saliency maps。具體來說,對於輸入圖像,類激活首先被分成組。在每一組中,子激活被求和以及去噪操作后作為一個初始mask。之后,將初始masks用有意義的擾動進行變換,然后應用於保留輸入(即masked輸入)的子像素,然后將這些子像素輸入到網絡中計算置信度分數。最后,對初始masks進行加權求和,形成最終的saliency maps,其中的權重是由masked輸入產生的置信度分數。Group-CAM既高效又有效,它在生成與目標相關的saliency maps時只需要對網絡進行幾十次查詢。因此,Group-CAM可以作為一種有效的數據增強技巧來微調網絡。我們綜合評估了Group-CAM在常用基准上的性能,包括在ImageNet-1k上的deletion和insertion 測試,以及在COCO2017上的pointing game測試。大量的實驗結果表明,與目前最先進的解釋方法相比,Group-CAM取得了更好的視覺性能。代碼可見https://github.com/wofmanaf/Group-CAM。
1. Introduction
理解和解釋由深度神經網絡(DNN)做出的決策對人類來說至關重要,因為它有助於構建DNN模型的信任度[5,2,9,17]。在計算機視覺領域,一項關鍵技術是生成直觀的熱圖,突出顯示與DNN決策最相關的區域。
確定salient區域的一種常見方法是依賴於模型輸出中的變化,例如預測分數關於輸入圖像的變化。例如,RISE[7]通過使用隨機masked版本的圖像探索模型並獲得相應的輸出來經驗估計重要性。雖然RISE提供了非常引人注目的結果,但是會生成數以千計的隨機masked,並應用於查詢模型,使其效率低下。
其他方法,如GradCAM[11],通過在網絡的目標層中反向傳播預測分數來計算梯度,並將其作為權重來合並正向特征maps。這些方法通常比RISE更快,因為它們只需要對網絡[8]進行單個或固定數量的查詢。但是GradCAM的結果僅僅反映了預測的微小變化,而這些變化並不一定反映了足以改變網絡決策的大變化。自然地,一個問題出現了:“是否有一種方法能夠以更高效的方式產生真正反映模型決策的結果?”
為了回答這個問題,我們首先回顧一下RISE背后的直覺。讓表示一個分布為
的隨機二進制mask,輸入圖像
可以通過
去對輸入mask,來保留像素的子集,其中
表示元素級乘法。然后應用masked圖像產生置信度分數,以衡量這些保留的像素的貢獻。最后,可以通過結合大量隨機masks和與之相關的分數來生成saliency map。研究發現,最耗時的過程是生成隨機masks和對神經網絡進行多次查詢。
為了解決效率問題,我們提出Group score-weighted Class Activation Mapping (Group-CAM)方法,采用“split-transform-merge”策略生成saliency maps。具體來說,對於輸入圖像,類激活首先被分成組。在每一組中,沿channels維度將子激活求和,作為初始masks。然而,由於梯度消失,直接應用初始masks來保持輸入像素可能會導致噪聲視覺。因此,我們設計了一種去噪策略來過濾初始masks中不太重要的像素。此外,為了減輕模糊區域和salient區域之間的尖銳邊界的對抗效應,我們利用輸入的模糊信息來替換masked圖像的無保留區域(像素為0值)。最后,Group-CAM的saliency map可以計算為分組初始masks的加權和,其中的權重是由masked輸入產生的置信分數。Group-CAM非常高效,它可以在對網絡進行數十次查詢后產生引人矚目的目標相關saliency maps。因此,Group-CAM可以用於訓練/微調分類方法。Group-CAM的整體架構如圖1所示。
本文的主要貢獻總結如下:
(1)引入了Group-CAM這種高效的深度卷積網絡解釋方法,估計輸入圖像像素對模型預測的重要性;
(2)提出了一種新的初始masks生產策略,通過簡單的分組group sum類激活(class activations)只生成幾十個初始masks,使得Group-CAM非常快;
(3)在ImageNet-1k和MS COCO2017上對Group-CAM進行綜合評價。結果表明,Group-CAM的計算量更少,但視覺性能更好;
(4)我們擴展了saliency方法的應用,並將Group-CAM作為一種有效的數據補充技巧用於分類網絡的微調,大量實驗結果表明Group-CAM可以大幅度提高網絡的性能。
需要注意的是,如果Group-CAM中的group數設置為1,並且沒有采用去噪策略,那么Group-CAM可以簡化為Grad-CAM。
2. Related Work
Region-based Saliency Methods. 近年來,人們提出了許多將輸入歸因於輸出預測的saliency方法。一套方法采用masks來保留輸入的某些區域,並通過對這些區域執行一個該網絡的前向傳播來測量這些區域對輸出的影響。這些類型的saliency方法稱為基於區域的saliency方法。其中,RISE首先生成數千個隨機masks,然后使用它們來mask輸入。然后將隨機masks與對應的masked圖像的預測分數進行線性組合,作為最終saliency map。Score-CAM采用目標層(目標層通常包含數千個feature maps)的feature map作為初始masks來計算saliency map,而不是生成隨機masks。與RISE和Score-CAM不同,XRAI首先對輸入圖像進行過分割,然后迭代測試每個區域的重要性,根據屬性分數將小區域合並成大區域。基於區域的方法通常產生更好的人類可解釋的可視化結果,但效率較低,因為它們需要對神經網絡進行大量查詢。
Activation-based Saliency Methods. 這些方法結合所選卷積層的激活(通常是反向傳播梯度和特征maps的組合)來形成解釋。CAM和Grad-CAM采用激活的線性組合,形成有着細粒度細節的熱圖。Grad-CAMpp擴展了Grad-CAM,並使用目標層中關於特定類別分數的特征maps的正偏導數的加權組合作為權重,為相應的類別標簽生成一個視覺解釋。基於激活的方法通常比基於區域的方法更快,因為它們只需要對模型進行單個或固定數量的查詢。然而,基於激活的方法的結果只反映了預測的無窮小的變化,這些變化不一定反映出足以改變神經網絡決策的變化。
Grouped Features. 學習特征分組可以追溯到AlexNet,其動機是將模型分配到更多的GPU資源上。MobileNets和ShuffleNets將每個通道視為一個組,並對這些組內的空間關系進行建模。ResNeXT以可擴展的方式利用split-transform-merge策略,即將特性maps拆分為組,對每個子特征應用相同的轉換策略,然后將轉換后的子特征連接起來。雖然split-transform-merge策略已廣泛應用於學習特征,但在可解釋AI領域仍沒有采用該策略的工作。
3. Group-CAM
在該節中,我們首先描述了Group-CAM的算法,然后解釋其背后的動機。細節可見算法1:
3.1. Initial Masks
讓表示輸入圖像,
表示一個使用輸入
預測類
的分數
的深度神經網絡。為了得到目標卷積層的類可區分的初始組masks,我們首先計算第k個特征map
的
分數的梯度。然后對這些梯度的長寬維度(分別用i,j表示)進行全局平均池化來得到神經元重要性權重:
其中表示特征map
的像素數量。
假設是目標層特征maps的channels數量,我們首先拆分所有特征maps和神經元重要性權重成
個組,然后每個組中的初始mask可計算為:
是特征maps和梯度的組合,意味着當DNN的梯度因為ReLU的flat zero-gradient區域而趨向於消失時,
在視覺上是有噪音的。因此直接將
作為初始mask是不合適的
為了修復這個問題,我們實現一個去噪音函數(de-noising function)去過濾中小於
的像素,其中
是用來計算
第Θ個百分位數的函數
正式來說,對於的標量
,去噪音函數可表示為:
最好是為激活map生成更平滑的mask,而不是設置所有像素為二進制值。具體來說,就是我們通過使用min-max歸一化方法將的原始值按比例設置為[0,1]范圍中的值
其中是使用雙線性插值(bilinear interpolate)上采樣到和輸入
相同分辨率的結果,用來mask輸入
3.2. Saliency Map Generation
眾所周知,如果saliency方法實際上是識別對模型預測有重要意義的像素,這應該體現在模型對重建圖像[5]的輸出中。然而,由於masked和salient區域之間的尖銳邊界,僅僅標注感興趣的區域以外的圖像像素會導致意想不到的效果。因此,在測試特征子集[3]的重要性時,將這種對抗效應最小化是至關重要的。
為了解決上面的問題,我們以一個輸入的masked版本開始,使用模糊信息替換沒保留的區域(即像素值為0的區域),然后實現該圖像的分類去測量初始masks的重要性。模糊圖像可計算為:
其中是與
有着相同形狀大小的基線圖像,且其類c的置信度很低。
保留區域的貢獻
可計算為:
最后的saliency map是權重和初始masks的線性結合:
4. Experiments
在本節中,我們首先利用消融研究來研究組數G和過濾閾值θ的影響。然后我們應用一個完整性檢查(sanity check)來測試Group-CAM是否對模型參數敏感。最后,我們將所提出的Group-CAM與其他流行的saliency方法進行比較,以評價其性能。
4.1. Experimental Setup
本節的實驗使用常用的計算機視覺數據集,包括ImageNet-1k[10]和MS COCO2017[6]。對於這兩個數據集,所有圖像都被調整為3 × 224 × 224,然后轉換為張量,並歸一化到范圍[0,1]。除此之外不再執行任何預處理。我們報告使用預訓練的torchvision視覺模型VGG19[12]作為基分類器的insertion and deletion test 結果,其他結果實現在預訓練的ResNet-50[4]上。除非明確說明,Group-CAM采用的組數G為32,等式3中的θ閾值為70。為了進行公平的比較,所有saliency maps都用雙線性插值上采樣到224 × 224。
4.2. Class Discriminative Visualization
我們定性地和最近的SOTA方法產生的saliency maps進行了比較,包括基於梯度的方法(Guided Backpropagation [14], IntegrateGrad [15], SmoothGrad[13]),基於區域的方法(RISE [7], XRAI[5]),以及基於激活的方法(Grad-CAM [11], Score-CAM[16]),以驗證Group-CAM的有效性。
如圖2所示,Group-CAM結果中的隨機噪聲比基於梯度的方法和基於激活的方法的結果要小得多。此外,與基於梯度的方法相比,Group-CAM生成更平滑的saliency maps。
我們進一步進行實驗來檢驗Group-CAM是否能夠區分不同的類。如圖3所示,VGG19將輸入分類為“bull mastiff”,置信度為46.06%,“tiger cat”置信度為0.39%。Group-CAM正確給出了這兩個類別的解釋位置,盡管后者的分類分數遠低於前者。說明Group-CAM可以區分不同類別。
4.3. Deletion and Insertion
我們遵循[7]進行deletion和insertion測試,以評估不同的saliency方法。deletion度量背后的直覺是,刪除與類最相關的像素/區域將導致分類分數顯著下降。另一方面,insertion度量從模糊的圖像開始,並逐漸重新引入內容,這將產生更真實的圖像,並具有減輕對抗性攻擊樣本的影響的額外優勢。在deletion測試中,我們根據saliency map的值,每次將原始圖像中1%的像素逐步替換為高度模糊的版本,直到沒有像素剩余。與deletion測試相反,insertion測試將模糊圖像的1%像素替換為原始圖像,直到圖像完全恢復。我們以Softmax作為定量指標計算分類分數的AUC。另外,我們還提供了綜合評價deletion和insertion結果的over-all分數,通過AUC(insertion)−AUC(deletion)來計算。示例如圖4所示。表1報告了超過10k張圖像的平均結果。
如表1所示,所提出的Group-CAM在insertion和over-all AUC方面優於其他相關方法。此外,除了XRAI之外,Group-CAM在deletion AUC方面也超過了其他方法。
Ablation Studies. 我們報告了Group-CAM對在ImageNet-1k上隨機采樣的5k張圖像的消融研究結果,以深入研究濾波閾值θ和組數G的影響。結果見圖5和表2。
從圖5可以看出,閾值θ對Group-CAM的性能有顯著影響(over-all 分數波動超過1.1%)。當θ較小時,隨着θ的增加,over-all 分數趨於穩定。然后,隨着θ的增加,當θ > 70時,over-all 分數迅速下降。在這里,為了權衡insertion和deletion結果,我們將θ = 70設為默認值。
此外,從表2中我們可以看出,over-all 分數隨着G的增加而增加。但是,正如算法1中所介紹的,G越大,意味着計算機成本越高。為了折衷起見,我們將G = 32設置為Group-CAM的默認組數。
Running Time. 在表3中,我們總結了RISE [7], XRAI [5], Grad-CAM [11], Score-CAM[16]和提出的Group-CAM在一個NVIDIA 2080Ti GPU上的平均運行時間。如表3所示,Grad-CAM和Group-CAM的平均運行時間均小於1秒,在所有方法中效果最好。結合表1和表3,我們觀察到盡管Group-CAM運行速度比Grad-CAM慢,但它獲得了更好的性能。
4.4. Localization Evaluation
在這一部分中,我們采用MS COCO2017上的pointing game[18],通過定位能力來衡量生成的saliency map的質量。我們使用[7]的相同的預訓練的ResNet-50模型。每個目標類(如果大多數salient像素坐落在對象標注的bounding boxes中,則算是擊中,即hit)的定位准確度可計算為。整體性能是通過不同類別的平均准確度來衡量的。
從表4中,我們觀察到Group-CAM勝過其他所有比較方法。具體來說,Group-CAM在平均准確度中以0.8%的差距優於基礎Grad-CAM。
4.5. Sanity Check
最后,我們使用sanity check[1]來檢查Group-CAM的結果是否可以被認為是對一個訓練模型的行為的完全可靠的解釋。具體來說,我們使用了級聯隨機化(cascade randomization)和獨立隨機化方法(independent randomization),來比較Group-CAM在預訓練的VGG19模型上的輸出。如圖6所示,Group-CAM對分類模型參數敏感,能夠產生有效的結果。
5. Fine-tuning Classification Methods
最后,我們擴展了Group-CAM的應用,並將其作為一種有效的數據擴充策略用於微調/訓練分類模型。我們認為適合於網絡微調的saliency方法應該具有以下兩個特點:(1)saliency方法應該是高效的,可以在有限的時間內生成saliency maps;(2)生成的saliency maps應與目標目標相關聯。我們的Group-CAM可以在0.09秒內生成引人矚目的目標相關的saliency maps,設置G = 32,這意味着Group-CAM適合對網絡進行微調。
為了使Group-CAM更高效,我們刪除了重要性權重和去噪音過程。雖然這將會稍微削弱Group-CAM的性能,但不再需要反向傳播,這可以大大節省saliency maps的生成時間。
微調過程定義如下:
(1)生成輸入的saliency map
,設置G=16,ground-truth的目標類為c
(2)使用閾值Θ二值化,其中Θ是
的平均值
(3)應用等式5去得到模糊輸入
(4)采用去微調分類模型
因為是在訓練過程中得到的,這意味着當分類模型的性能有所改善時,Group-CAM將生成更好的
,這將返回來提升分類模型的性能
在這里,我們報告了微調ResNet-50的ImageNet-1k驗證split的結果。具體來說,我們用SGD訓練預處理過的ResNet-50,權重高衰減為1e-4,momentum為0.9,mini-batch size為256(使用8個GPU,每個GPU 32張圖像),訓練20個epochs,從初始學習率1e-3開始,每15個epoch減少10倍。對於驗證集上的測試,首先將輸入圖像的較短邊調整為256,並使用224 × 224的中心裁剪結果進行評估。
如圖7所示,在Top-1准確度方面,使用Group-CAM進行微調可以提高0.59% (76.74% vs. 76.15%)的效果。
在這里,我們可視化了經過微調的ResNet-50生成的saliency maps,如圖8所示。如圖8所示,隨着ResNet-50性能的提高,Group-CAM生成的saliency maps的噪聲降低,更多地集中在重要區域。由於噪聲可以在一定程度上反映性能,我們也可以將其作為判斷模型是否已經收斂的提示。也就是說,如果Group-CAM生成的saliency maps不發生變化,則模型可能已經收斂。
6. Conclusion
在本文中,我們提出了Group-CAM,它采用梯度和特征map組合的grouped sum作為初始masks。利用這些初始masks保留輸入像素的一個子集,然后將這些像素輸入到網絡中計算置信度分數,這反映了masked圖像的重要性。Group-CAM的最終saliency map被計算為初始masks的加權和,其中的權重是由masked輸入產生的置信度分數。所提出的Group-CAM是高效且有效的,可以作為一種數據增強技巧用於微調/訓練分類模型。ImageNet-1k和COCO2017的實驗結果表明,Group-CAM比目前最先進的解釋方法獲得了更好的視覺性能。