本文首發(fā)于:行者AI
在整篇文章論述開始之前甸昏,我們先做一些概念性的講解鋪墊膀懈。卷積神經(jīng)網(wǎng)絡(luò)的各層卷積單元在模型網(wǎng)絡(luò)中實際上有充當了目標檢測器的作用,盡管沒有提供對目標位置的監(jiān)督漓踢。雖然其擁有在卷積層中定位對象的非凡能力,但當使用全連接層進行分類時,這種能力就會喪失午乓。基于此闸准,提出了CAM(類激活映射)的概念益愈,采用全局平均池化,以熱力圖的形式告訴我們,模型通過哪些像素點得知圖片屬于某個類別蒸其,使模型透明化和具有可解釋性敏释,如下圖所示:
1. Global Average Pooling的工作機制
這里我們假設(shè)最后的類別數(shù)為n,最后一層含有n個特征圖摸袁,求每張?zhí)卣鲌D所有像素的平均值钥顽,后接入一個有n個神經(jīng)元的全連接層。要有n個特征圖的原因在于靠汁,每個特征圖主要提取了某一類別相關(guān)的某些特征耳鸯。
2. 什么是CAM?
CNN最后一層特征圖富含有最為豐富類別語意信息(可以理解為高度抽象的類別特征)膀曾,因此CAM基于最后一層特征圖進行可視化县爬。CAM能讓我們對CNN網(wǎng)絡(luò)有很好的解釋作用,利用特征圖權(quán)重疊加的原理獲得熱圖添谊,詳細工作原理如下圖所示财喳。
設(shè)最后一層有n張?zhí)卣鲌D,記為斩狱,分類層中一個神經(jīng)元有n個權(quán)重耳高,一個神經(jīng)元對應一類,設(shè)第
個神經(jīng)元的權(quán)重為
泌枪,則第c類的CAM的生成方式為:
生成的CAM大小與最后一層特征圖的大小一致,接著進行上采樣即可得到與原圖大小一致的CAM秕岛。
2.1. 為什么如此計算可以得到類別相關(guān)區(qū)域
用GAP表示全局平均池化函數(shù)碌燕,沿用上述符號,第c類的分類得分為继薛,GAP的權(quán)重為
修壕,特征圖大小為
,第
個特征圖第
行第
列的像素值為
遏考,則有:
特征圖中的一個像素對應原圖中的一個區(qū)域慈鸠,而像素值表示該區(qū)域提取到的特征,由上式可知的大小由特征圖中像素值與權(quán)重決定灌具,特征圖中像素值與權(quán)重的乘積大于0青团,有利于將樣本分到該類,即CNN認為原圖中的該區(qū)域具有類別相關(guān)特征咖楣。式1就是計算特征圖中的每個像素值是否具有類別相關(guān)特征督笆,如果有,我們可以通過上采樣截歉,看看這個像素對應的是原圖中的哪一部分胖腾。GAP的出發(fā)點也是如此,即在訓練過程中讓網(wǎng)絡(luò)學會判斷原圖中哪個區(qū)域具有類別相關(guān)特征,由于GAP去除了多余的全連接層咸作,并且沒有引入?yún)?shù)锨阿,因此GAP可以降低過擬合的風險〖欠#可視化的結(jié)果也表明墅诡,CNN正確分類的確是因為注意到了原圖中正確的類別相關(guān)特征。
2.2. CAM缺陷
需要修改網(wǎng)絡(luò)結(jié)構(gòu)并重新訓練模型桐智,導致在實際應用中并不方便末早。
3. Grad-CAM
3.1. Grad-CAM結(jié)構(gòu)
Grad-CAM 和 CAM 基本思路一樣,區(qū)別就在于如何獲取每個特征圖的權(quán)重说庭,采用了梯度的全局平均來計算權(quán)重然磷。定義了Grad-CAM中第個特征圖對應類別c的權(quán)重:
其中,Z表示特征圖像素個數(shù)刊驴,表示第c類得分梯度姿搜,
表示第
個特征圖中,
位置處的像素值捆憎。然后再求得所有的特征圖對應的類別的權(quán)重后進行加權(quán)求和舅柜,這樣便可以得到最后的熱力圖,求和公式如下:
3.2. Grad-CAM效果
4. 結(jié)論
可視化可以進一步區(qū)別分類躲惰,準確地更好地揭示分類器的可信賴性致份,并幫助識別數(shù)據(jù)集中的偏差。真正的AI應用础拨,也更應該讓人們信任和使用它的行為氮块。
5. 代碼實現(xiàn)
https://github.com/jacobgil/keras-cam
參考文獻
- B. Zhou, A. Khosla, A. Lapedriza, A. Oliva, and A. Torralba. Object detectors emerge in deep scene cnns. International Conference on Learning Representations, 2015.
- Computers - Computer Graphics; Investigators from Georgia Institute of Technology Have Reported New Data on Computer Graphics (Grad-CAM: Visual Explanations from Deep Networks via Gradient-Based Localization). 2020, :355-.