Abstract
這篇文章其實(shí)是CAM的進(jìn)化版短蜕,主要是為了解決CNN模型的不可見問題报腔,CAM論文中通過Class Activation Mapping技術(shù)將模型中感興趣的區(qū)域用熱力圖的方式區(qū)分出來椒拗。作者在這篇文章中提出了一個(gè)新的概念扑庞,叫做Grad-CAM氏淑,全稱Gradient-weighted Class Activation Mapping兵琳。與CAM不同的是狂秘,文章使用了感興趣骇径、或者說是可指定類的梯度去指明了CNN模型是通過原圖中的哪一部分區(qū)域得到這個(gè)分類結(jié)果,并且這個(gè)方法可以很方便的擴(kuò)展到目前的任意一個(gè)訓(xùn)練完好的CNN模型中者春。通過合并Guided Backpropagation的結(jié)果破衔,Grad-CAM還可以做到更細(xì)粒度的可視化分析,解釋了為什么模型將原圖分類到某一類的結(jié)果钱烟。Grad-CAM可以很方便的推廣到圖像分類晰筛、圖像描述和視覺問答等任務(wù)的可視化分析中。
Introduction
目前CNN在圖像分類拴袭、檢測(cè)和分割任務(wù)中廣泛使用并且被證明具有極高的實(shí)用價(jià)值读第,但是關(guān)于CNN結(jié)構(gòu)的可解釋性,一直沒有一個(gè)比較好的結(jié)果拥刻。傳統(tǒng)方法中每一部分的模型都是手工設(shè)計(jì)的算子怜瞒,它們都是基于研究人員的經(jīng)驗(yàn)和想法很直觀的設(shè)計(jì)得到的,具有較高的解釋性般哼,但是在CNN模型中吴汪,深層模型和自學(xué)習(xí)的參數(shù)使得模型的解釋性變?nèi)跎踔劣诤茈y解釋,因此逝她,找到CNN模型的可解釋性依據(jù)是什么重要的浇坐。
早一點(diǎn)的時(shí)候,CAM這篇文章受NIN結(jié)構(gòu)的啟發(fā)黔宛,將網(wǎng)絡(luò)最后的全連接層替換成GAP(global average pooling)近刘,然后設(shè)置最后一層卷積層的輸出通道與待分類的類別數(shù)相同,這樣訓(xùn)練出來的網(wǎng)絡(luò)臀晃,針對(duì)每一個(gè)類別都有與卷積輸出通道數(shù)維度相同的一維向量表示權(quán)值觉渴,通過加權(quán)累加可以得到解釋性區(qū)域,我們稱之為Class Activation Mapping徽惋。本篇文章提出的Grad-CAM其實(shí)是該種方法的一個(gè)擴(kuò)展案淋。作者認(rèn)為一個(gè)好的可視化解釋應(yīng)該具備兩個(gè)條件。
- 類別判別(具備圖像中的類別定位能力)
- 高分辨率(解釋性輸出能包含一些細(xì)粒度的細(xì)節(jié))
針對(duì)細(xì)粒度可視化的解釋险绘,導(dǎo)向反向傳播(Guided Backpropagation)和反卷積(Deconvolution)可以在高分辨率的圖像中體現(xiàn)一些圖像的細(xì)節(jié)信息踢京。而全局的類別判別也就是感興趣區(qū)域可以使用梯度加權(quán)類激活映射圖(Grad-CAM)來表示。下圖是一個(gè)示例圖像宦棺。
上圖的第二列戰(zhàn)士的是根據(jù)指定類別指導(dǎo)反向計(jì)算出來的圖像細(xì)粒度可分類細(xì)節(jié)的可視化結(jié)果瓣距,第三列則展示了本文提出的Grad-CAM粗定位的結(jié)果,最后將兩者結(jié)合在一起之后滿足了上文中作者提到的一個(gè)好的可視化結(jié)果代咸。在這篇文章中作者的主要貢獻(xiàn)為:
- 提出了一種類區(qū)分的定位技術(shù)叫做梯度加權(quán)類激活映射圖(Grad-CAM)蹈丸,并且可以將其擴(kuò)展到任何一個(gè)基于CNN的技術(shù)架構(gòu)中,提供一個(gè)網(wǎng)絡(luò)可視化、可解釋的能力逻杖。
- 為了解釋這項(xiàng)技術(shù)奋岁,作者對(duì)圖像分類、圖像描述和視覺問答都做了詳細(xì)的實(shí)驗(yàn)研究和對(duì)比荸百。
- 文章提到的技術(shù)指導(dǎo)了研究人員建立更加魯棒闻伶、準(zhǔn)確的網(wǎng)絡(luò)模型。
Related Work
無(感興趣可以閱讀原文)
Approach
CAM方法可以很輕松的獲取CNN結(jié)構(gòu)中對(duì)于感興趣類別的粗略定位管搪,文章基于這個(gè)出發(fā)點(diǎn)虾攻,進(jìn)一步的提出了可以將Guided Backpropagation和Deconvolution與CAM的思想結(jié)合在一起铡买,完成細(xì)粒度的圖像可解釋工作更鲁。
Class Activation Mapping (CAM)
首先來看CAM方法,一個(gè)全連接層被替換成GAP奇钞,然后最后一個(gè)卷積層的輸出通道數(shù)設(shè)置成為待分類類別個(gè)數(shù)之后澡为,分類任務(wù)可以表達(dá)為:
其中表示的是第個(gè)特征圖的寬高為和,然后表示的是計(jì)算出來的分類結(jié)果景埃,其中就代表了每一類的一個(gè)權(quán)重結(jié)果媒至,通過全連接層得到。將這個(gè)權(quán)重按如下操作以后可以得到CAM的輸出圖谷徙。
其中的就表示的是特征圖的加權(quán)輸出結(jié)果拒啰,將其歸一化到0到1之間就可以畫出一個(gè)熱力圖對(duì)應(yīng)著圖像中的類別感興趣區(qū)域。
Gradient-weighted Class Activation Mapping
在Grad-CAM方法中完慧,作者直接通過特征圖導(dǎo)數(shù)來獲取特征激活圖谋旦,首先讓類別輸出結(jié)果對(duì)卷積層的輸出特征圖求導(dǎo),如屈尼,通過計(jì)算可以得到類似于GAP求出的權(quán)重册着,公式如下。
將與特征圖累加同樣能夠得到CAM的可視化結(jié)果脾歧,權(quán)重表示了目標(biāo)類別對(duì)特征映射的重要性甲捏。因?yàn)槲覀冎魂P(guān)注特征圖中的正值對(duì)最后的分類結(jié)果影響,所以需要對(duì)權(quán)重加權(quán)的結(jié)果特征圖上再使用一個(gè)ReLU函數(shù)去除負(fù)值的影響鞭执。結(jié)果為:
Guided Grad-CAM
雖然Grad-CAM可以得到類區(qū)分的粗略定位司顿,也即是視覺解釋區(qū)域,但是缺少了CNN模型為啥會(huì)將其分類成貓或者狗的細(xì)粒度信息兄纺。在前文中我們提到Guided Backpropagation和Deconvolution可以得到一些高分辨率的大溜、細(xì)粒度的可視化分類依據(jù)。所以在這一部分囤热,作者通過使用點(diǎn)乘的方式將這兩者結(jié)合在一起得到同時(shí)具備細(xì)粒度分類依據(jù)和粗定位的可視化結(jié)果猎提,方法稱作Guided Grad-CAM。方法結(jié)構(gòu)圖如下所示。
作者同時(shí)也發(fā)現(xiàn)锨苏,在細(xì)粒度分類依據(jù)提取這一部分疙教,將Deconvolution移除掉以后并不會(huì)對(duì)結(jié)果造成什么影響,單獨(dú)使用Guided Backpropagation這一方法可以做到噪聲更少伞租,所以如同上圖得到了最終Guided Grad-CAM的結(jié)構(gòu)示意圖贞谓。
同時(shí)作者也對(duì)比了,使用不同深淺的特征圖對(duì)Grad-CAM結(jié)果的影響葵诈,結(jié)果如下所示裸弦。
從上圖可以看到,對(duì)于以貓這一個(gè)類別為導(dǎo)向的求導(dǎo)結(jié)果作喘,relu5_3得到的熱力圖結(jié)果更加準(zhǔn)確理疙,這也印證了卷積層對(duì)比全連接層來說,它保留了圖像的空間信息泞坦,具有空間不變性窖贤。而深層次的特征圖具有更高的語義信息,但是淺層的特征則保留了更多的空間信息贰锁。在上圖中赃梧,使用深層特征結(jié)合Grad-CAM方法可以很好的得到類別感興趣區(qū)域。
Weakly-supervised Localization
基于這一方法豌熄,作者同CAM論文一樣授嘀,使用了該種方式做了弱監(jiān)督的定位實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如下:
作者提出的Grad-CAM相對(duì)于方法一來說取得了更低的錯(cuò)誤率锣险,但是對(duì)比CAM那篇論文的結(jié)果蹄皱,錯(cuò)誤率還是稍微高了一點(diǎn),但是因?yàn)镚rad-CAM不對(duì)原來的分類網(wǎng)絡(luò)做任何結(jié)構(gòu)的修改囱持,在Top-1和Top-5的分類準(zhǔn)確率上是高于CAM方法的夯接。因?yàn)镃AM將原來的網(wǎng)絡(luò)最后的一個(gè)全連接層修改為GAP以后對(duì)于分類精度是有一定影響的。同時(shí)修改了網(wǎng)絡(luò)的結(jié)構(gòu)之后還需要再對(duì)網(wǎng)絡(luò)進(jìn)行重新訓(xùn)練纷妆。
Evaluating Visualizations
在這一部分盔几,作者提出了一個(gè)疑問,我們能夠通過Grad-CAM去解釋CNN模型在前向計(jì)算過程中掩幢,對(duì)于某些類別的待分類對(duì)象逊拍,是有一個(gè)關(guān)注的。但是际邻,是什么東西主導(dǎo)了CNN模型認(rèn)為這一部分的特征經(jīng)過前向計(jì)算之后會(huì)分類成貓芯丧,或者是狗。
為了解釋這個(gè)問題世曾,作者在PASCAL VOC 2007中選擇了一部分圖像進(jìn)行驗(yàn)證缨恒,他使用Deconvolution、Guided Backpropagation和Grad-CAM分別結(jié)合這兩個(gè)方法得到Deconvolution Grad-CAM和Guided Grad-CAM一共四個(gè)方法去對(duì)待測(cè)樣本進(jìn)行可視化分析,然后在自己的組織Amazon Mechanical Turk (AMT)抽選志愿者進(jìn)行人為的識(shí)別骗露,通過人和機(jī)器的對(duì)比觀察在前向過程中哪一種方法對(duì)于類別分類可解釋有較好的結(jié)果岭佳。其實(shí)驗(yàn)結(jié)果如下:
從表中依然可以看出使用Guided Grad-CAM方法以后出現(xiàn)的感興趣區(qū)域可以更好地讓人在圖像分類過程中正確的將結(jié)果預(yù)測(cè)出來,并且對(duì)于單獨(dú)使用細(xì)粒度的細(xì)節(jié)表征方法萧锉,比如Deconvolution珊随、Guided Backpropagation,本文將Grad-CAM的結(jié)果與他們點(diǎn)乘到一起柿隙,人為來據(jù)此判斷的識(shí)別準(zhǔn)確率會(huì)上升特別多叶洞,說明這種組合方法對(duì)CNN的可視化分析是有極大幫助的。實(shí)驗(yàn)的可視化結(jié)果如下圖(a)和(b)所展示禀崖。
同時(shí)作者也對(duì)比了衩辟,使用VGG16和AlexNet去對(duì)比,使用Guided Grad-CAM對(duì)樣本可視化之后讓人進(jìn)行識(shí)別判斷帆焕,以VGG16作為backbone的實(shí)驗(yàn)準(zhǔn)確率平均要比AlexNet高一個(gè)點(diǎn)左右惭婿。說明對(duì)分類任務(wù)更有效的網(wǎng)絡(luò),其進(jìn)行可視化分析以后叶雹,結(jié)果也會(huì)更加可靠。
同樣的换吧,作者認(rèn)為一個(gè)模型的解釋能力和使用其進(jìn)行可視化以后的可解釋依據(jù)是有關(guān)系的折晦。過去很多工作表示,更加深層或者準(zhǔn)確率更加高的模型沾瓦,往往解釋性會(huì)很差满着,但是本文的方法顯示了在模型的準(zhǔn)確率和可解釋性之間是有一個(gè)對(duì)應(yīng)關(guān)系的。為了作對(duì)比贯莺,文章也選了很多具有高準(zhǔn)確率的分類樣本來實(shí)驗(yàn)风喇,如果將其一部分地方給遮擋住之后,觀察模型對(duì)該樣本準(zhǔn)確率的下降情況和可視化情況缕探。這一部分作者沒有貼出圖來展示結(jié)果魂莫。不過在結(jié)果中說了Guided Grad-CAM對(duì)比Guided Backpropagation來說,在遮擋住圖像重要部分以后爹耗,針對(duì)他們的可視化結(jié)果耙考,依然是前者對(duì)于人為的識(shí)別能力更有幫助(0.261 VS 0.168)。
Analyzing Failure Modes for Image Classification
在這一部分潭兽,作者揭示了為啥對(duì)于一些樣本倦始,CNN模型將其分類成一些人比較難想到的錯(cuò)誤樣本。文中使用了Guided Grad-CAM作為可視化的指導(dǎo)山卦。如下圖所示:
從上圖也可以看出鞋邑,作者認(rèn)為CNN模型將樣本分類錯(cuò)誤是有依據(jù)的,比如說對(duì)于第一列的樣本,CNN模型將其分類成sandbar枚碗,但是實(shí)際上groundtruth為volcano藻懒,因?yàn)镃NN模型的分類過程他的注意力主要集中在了sandbar的這個(gè)目標(biāo)上,所以對(duì)于最終的分類過程顯示sandbar更加容易被預(yù)測(cè)作為結(jié)果视译。
Conclusion
在這項(xiàng)工作中嬉荆,作者提出了一種新穎的類別判別定位技術(shù)-梯度加權(quán)類激活映射(Grad-CAM)。通過生成視覺解釋來使任何基于CNN的模型更加透明酷含。此外鄙早,將Grad-CAM定位與現(xiàn)有的高分辨率可視化相結(jié)合以獲得高分辨率的類別判別式引導(dǎo)漸變CAM可視化。作者的可視化在兩個(gè)方面都優(yōu)于所有現(xiàn)有的方法:可解釋性和對(duì)原始模型的分類一致度椅亚。大量的人工實(shí)驗(yàn)研究表明限番,Grad-CAM可視化可以更準(zhǔn)確地區(qū)分類,更好地揭示分類器的可信度呀舔,并幫助識(shí)別數(shù)據(jù)集中的偏差弥虐。最后,作者展示了Grad-CAM廣泛適用于各種現(xiàn)成可用架構(gòu)媚赖,其中包括圖像分類霜瘪,圖像描述和圖像問答等任務(wù),它可以為可能的模型決策提供可信的視覺解釋惧磺。我們相信颖对,一個(gè)真正的AI系統(tǒng)不僅應(yīng)該是聰明的,而且能夠推斷它的信念和行動(dòng)磨隘,以便人類相信它缤底。未來的工作包括解釋深層網(wǎng)絡(luò)在強(qiáng)化學(xué)習(xí),自然語言處理和視頻應(yīng)用等領(lǐng)域的決策番捂。