Grad-CAM: Why did you say that? Visual Explanations from Deep Networks via Gradient-based Localiz...

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ù)的可視化分析中。

原文

官方代碼

PyTorch實(shí)現(xiàn)

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è)示例圖像宦棺。

grad-cam-1.png

上圖的第二列戰(zhàn)士的是根據(jù)指定類別指導(dǎo)反向計(jì)算出來的圖像細(xì)粒度可分類細(xì)節(jié)的可視化結(jié)果瓣距,第三列則展示了本文提出的Grad-CAM粗定位的結(jié)果,最后將兩者結(jié)合在一起之后滿足了上文中作者提到的一個(gè)好的可視化結(jié)果代咸。在這篇文章中作者的主要貢獻(xiàn)為:

  1. 提出了一種類區(qū)分的定位技術(shù)叫做梯度加權(quán)類激活映射圖(Grad-CAM)蹈丸,并且可以將其擴(kuò)展到任何一個(gè)基于CNN的技術(shù)架構(gòu)中,提供一個(gè)網(wǎng)絡(luò)可視化、可解釋的能力逻杖。
  2. 為了解釋這項(xiàng)技術(shù)奋岁,作者對(duì)圖像分類、圖像描述和視覺問答都做了詳細(xì)的實(shí)驗(yàn)研究和對(duì)比荸百。
  3. 文章提到的技術(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á)為:

y^{c} = \sum_{k}w_{k}^{c}\frac{1}{Z}\sum_{i}\sum_{j}A_{ij}^{k}

其中A_{ij}^{k}\in\mathbb{R}^{u*v}表示的是第k個(gè)特征圖的寬高為uv,然后y^{c}表示的是計(jì)算出來的分類結(jié)果景埃,其中w_{k}^{c}就代表了每一類的一個(gè)權(quán)重結(jié)果媒至,通過全連接層得到。將這個(gè)權(quán)重按如下操作以后可以得到CAM的輸出圖谷徙。

L_{CAM}^{c}=\sum_{k}w_{k}^{c}A^{k}

其中的L_{CAM}^{c}就表示的是特征圖的加權(quán)輸出結(jié)果拒啰,將其歸一化到0到1之間就可以畫出一個(gè)熱力圖對(duì)應(yīng)著圖像中的類別感興趣區(qū)域。

Gradient-weighted Class Activation Mapping

在Grad-CAM方法中完慧,作者直接通過特征圖導(dǎo)數(shù)來獲取特征激活圖谋旦,首先讓類別輸出結(jié)果對(duì)卷積層的輸出特征圖求導(dǎo),如\frac{\partial{y^{c}}}{\partial{A_{ij}^{k}}}屈尼,通過計(jì)算可以得到類似于GAP求出的權(quán)重\alpha_{k}^{c}册着,公式如下。

\alpha_{k}^{c}=\frac{1}{Z}\sum_{i}\sum_{j}\frac{\partial{y^{c}}}{\partial{A_{ij}^{k}}}

\alpha_{k}^{c}與特征圖累加同樣能夠得到CAM的可視化結(jié)果脾歧,權(quán)重表示了目標(biāo)類別c對(duì)特征映射的重要性甲捏。因?yàn)槲覀冎魂P(guān)注特征圖中的正值對(duì)最后的分類結(jié)果影響,所以需要對(duì)權(quán)重加權(quán)的結(jié)果特征圖上再使用一個(gè)ReLU函數(shù)去除負(fù)值的影響鞭执。結(jié)果為:

L_{Grad-CAM}^{c}=ReLu(\sum_{k}\alpha_{k}^{c}A^{k})

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)圖如下所示。

grad-cam-2.png

作者同時(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é)果如下所示裸弦。

grad-cam-4.png

從上圖可以看到,對(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-3.png

作者提出的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é)果如下:

grad-cam-5.png

從表中依然可以看出使用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)所展示禀崖。

grad-cam-6.png

同時(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)山卦。如下圖所示:

grad-cam-7.png

從上圖也可以看出鞋邑,作者認(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)域的決策番捂。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末个唧,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子设预,更是在濱河造成了極大的恐慌徙歼,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件絮缅,死亡現(xiàn)場(chǎng)離奇詭異鲁沥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耕魄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門画恰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吸奴,你說我怎么就攤上這事允扇〔郑” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵考润,是天一觀的道長(zhǎng)狭园。 經(jīng)常有香客問我,道長(zhǎng)糊治,這世上最難降的妖魔是什么唱矛? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮井辜,結(jié)果婚禮上绎谦,老公的妹妹穿的比我還像新娘。我一直安慰自己粥脚,他們只是感情好窃肠,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著刷允,像睡著了一般冤留。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上树灶,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天纤怒,我揣著相機(jī)與錄音,去河邊找鬼破托。 笑死肪跋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的土砂。 我是一名探鬼主播,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼谜洽,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼萝映!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起阐虚,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤序臂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后实束,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奥秆,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年咸灿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了构订。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡避矢,死狀恐怖悼瘾,靈堂內(nèi)的尸體忽然破棺而出囊榜,到底是詐尸還是另有隱情,我是刑警寧澤亥宿,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布卸勺,位于F島的核電站,受9級(jí)特大地震影響烫扼,放射性物質(zhì)發(fā)生泄漏曙求。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一映企、第九天 我趴在偏房一處隱蔽的房頂上張望悟狱。 院中可真熱鬧,春花似錦卑吭、人聲如沸芽淡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挣菲。三九已至,卻和暖如春掷邦,著一層夾襖步出監(jiān)牢的瞬間白胀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來泰國打工抚岗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留或杠,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像决瞳,于是被迫代替她去往敵國和親爷辙。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容