極市導(dǎo)讀 本文介紹一篇被CVPRW2020接受的論文,主要關(guān)于一種基于置信分?jǐn)?shù)的視覺(jué)可解釋性方法。本文的亮點(diǎn)在于:在CAM系列方法的基礎(chǔ)上,首次提出了一種新的gradient-free的權(quán)重表達(dá)方式。 >>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺(jué)的最前沿 論文: Score-CAM:Score-Weighted Visual Explanations for Convolutional Neural Networks 官方代碼:https://github.com/haofanwang/Score-CAM 本文是由來(lái)自于卡內(nèi)基梅隆大學(xué)、德州農(nóng)工大學(xué)、武漢大學(xué)的研究人員共同提出的一種基于置信分?jǐn)?shù)的視覺(jué)可解釋性方法,目前論文被CVPRW 2020接收,代碼已開(kāi)源。 背景介紹1.視覺(jué)可解釋性 神經(jīng)網(wǎng)絡(luò)可解釋性是指對(duì)于神經(jīng)網(wǎng)絡(luò)所做出的決策,進(jìn)行合理的解釋。這里解釋可以是從數(shù)學(xué)理論層面進(jìn)行的先驗(yàn)解釋,比如對(duì)于激活函數(shù)的差異分析、模型的泛化能力分析,也可以是對(duì)于網(wǎng)絡(luò)預(yù)測(cè)結(jié)果的后驗(yàn)解釋,比如我們訓(xùn)練好的模型將一張圖片分類為"貓",我們希望知道網(wǎng)絡(luò)是通過(guò)什么因素或特征將它分類為"貓"這個(gè)類別的。本文關(guān)注的是后驗(yàn)解釋,即解釋已有模型的決策。而對(duì)于卷積神經(jīng)網(wǎng)絡(luò),目前最常見(jiàn)的是通過(guò)可視化的方式來(lái)解釋模型的決策(下文中可解釋性與可視化將不再區(qū)分)。 2.主流的視覺(jué)可解釋性方法 2.1 基于梯度的可解釋性 基于梯度的可視化是通過(guò)將目標(biāo)類別上的決策分?jǐn)?shù)往原始圖像上求取梯度得到,可視化結(jié)果如上圖(左)。梯度作為一種局部信息,反映了局部位置的擾動(dòng)對(duì)于決策分?jǐn)?shù)的影響。我們常見(jiàn)的Saliency Map [6], 即通過(guò)該種方式得到。除此之外,近幾年還出現(xiàn)多種基于梯度的改進(jìn)方法,其中Smooth Gradient [2] 與Integrated Gradient [3] 最為著名,它們分別分析了原始梯度可能存在的一些問(wèn)題,然后通過(guò)平滑和路徑積分的方式,得到了更為清晰的可視化結(jié)果。值得一提的是,Guided-Backpropagation目前在可解釋性方面存在較大爭(zhēng)議,它是通過(guò)對(duì)于回傳梯度進(jìn)行一定過(guò)濾,從而得到更為干凈和聚焦的可視化結(jié)果,但在Sanity Check [9] 中,作者發(fā)現(xiàn),該方法與模型參數(shù)無(wú)關(guān),即初始化模型參數(shù)后,仍然能得到相似結(jié)果。 2.2 基于掩碼的可解釋性 梯度信息反映了局部變化對(duì)于結(jié)果的影響,基于掩碼的可視化則采用一種全局的方式來(lái)定位圖像中對(duì)于決策更重要的區(qū)域。此類方法的做法符合人類直覺(jué),通過(guò)將圖像上部分的移除或者保留,來(lái)直接衡量該區(qū)域?qū)τ诰W(wǎng)絡(luò)決策分?jǐn)?shù)的影響。比如在一張"貓"的圖片中,背景信息的移除通常不會(huì)降低"貓"類別上的置信度,而一些關(guān)鍵區(qū)域,如"貓"的耳朵,在移除后則可能造成置信度的下降。但是這類方法存在一個(gè)明顯的劣勢(shì),即如何生成掩碼(mask)。目前主要有兩種思路,一種是通過(guò)采樣的方式(比如隨機(jī)采樣或蒙特卡洛采樣 [10])生成多個(gè)掩碼,然后來(lái)計(jì)算每一個(gè)掩碼區(qū)域的重要性,這種方式往往需要生成大量掩碼,計(jì)算量很大;第二種是通過(guò)優(yōu)化的方式來(lái)生成掩碼,初始化一個(gè)隨機(jī)掩碼,通過(guò)優(yōu)化損失函數(shù)來(lái)不斷更新掩碼,這種方法的缺點(diǎn)是需要在損失函數(shù)中增加額外的正則化項(xiàng),來(lái)使得生成的掩碼面積盡可能的小,同時(shí)還能盡可能多的影響決策分?jǐn)?shù),由于存在優(yōu)化過(guò)程,即使對(duì)于同一張圖,方法每一次生成的解釋都是不完全一致的。 2.3 基于類激活地圖的可解釋性 類激活地圖(CAM)是一種通過(guò)對(duì)中間層的特征圖進(jìn)行線性加權(quán)來(lái)定位圖像中判別性的位置。2015年提出的CAM [4] ,首先對(duì)最后一層卷積結(jié)果進(jìn)行全局池化得到一維的向量,向量再輸入其后的全連接層分類得到最終預(yù)測(cè)結(jié)果。但是初代的CAM對(duì)于模型結(jié)構(gòu)有特殊要求(全局池化層),并且需 研究動(dòng)機(jī)作者在實(shí)驗(yàn)中發(fā)現(xiàn),基于梯度的CAM方法(Grad-CAM [7]、Grad-CAM++[8])生成的可視化結(jié)果在視覺(jué)上不夠干凈,即除了目標(biāo)物體被標(biāo)記以外,大量背景信息也被標(biāo)記。考慮到背景信息在訓(xùn)練過(guò)程中有可能作為上下文信息輔助模型決策(例如"草地"可能與"狗"存在一定相關(guān)性),為了驗(yàn)證背景區(qū)域的重要性,作者在原始圖像(隨機(jī)挑選的測(cè)試用例)中移除部分背景信息后發(fā)現(xiàn),對(duì)于多數(shù)樣本,在移除背景信息后,置信度不會(huì)有明顯變化,因此作者認(rèn)為,在Grad-CAM中被標(biāo)記的背景區(qū)域是錯(cuò)誤標(biāo)記。 而由于CAM的本質(zhì)是特征圖的線性加權(quán),作者在實(shí)驗(yàn)中進(jìn)一步發(fā)現(xiàn),這種現(xiàn)象來(lái)自于線性權(quán)重分布。作者通過(guò)對(duì)特征圖的可視化發(fā)現(xiàn),在Grad-CAM中獲得較高權(quán)重的特征圖,在網(wǎng)絡(luò)中的響應(yīng)很低,而部分權(quán)重較低的特征圖,則獲得到了很高的置信度。作者分析基于梯度的CAM中問(wèn)題,可能來(lái)源于梯度本身,即梯度的飽和性(類似于Sigmoid函數(shù),當(dāng)特征強(qiáng)度超過(guò)一定程度,其梯度可能會(huì)變?。约疤荻缺旧淼牟环€(wěn)定性(局部的梯度受噪聲影響很大),甚至是梯度消失的影響。 總之,為了擺脫梯度帶來(lái)的潛在影響,作者希望找到一種梯度以外的權(quán)重表示方式。 核心方法本文提出的Score-CAM [1],沿用了CAM的主要思路(特征圖的線性加權(quán)),相比之前一系列CAM方法,主要的差別在于獲取線性權(quán)重的方式。初代CAM使用訓(xùn)練后全連接層上的模型權(quán)重,Grad-CAM和Grad-CAM++均采用對(duì)應(yīng)特征圖上的局部梯度(差別在于對(duì)于梯度的處理方式),而在Score-CAM中,它首次擺脫了對(duì)于梯度的依賴,使用模型對(duì)于特征圖的全局置信分?jǐn)?shù)來(lái)衡量線性權(quán)重。 作者在問(wèn)題提出了置信度提升(CIC)的概念,具體操作如下, 即通過(guò)將特征圖視為一種特殊的掩碼(無(wú)需采樣生成)上采樣后,與原始圖像點(diǎn)乘,使用模型對(duì)掩碼后的圖片的響應(yīng)于模型對(duì)于基圖片(baseline)的響應(yīng)差值,來(lái)代表特征圖的重要性。其中,作者在代碼中將baseline設(shè)置為全黑的圖片。 Score-CAM主要包含兩個(gè)階段(如上圖)。階段一中提取特征圖,這也是所以CAM系列方法中都存在的一步。階段二通過(guò)對(duì)于特征圖上采樣,然后將其作為掩碼信息,重新得到模型對(duì)于圖片在目標(biāo)類別上的響應(yīng)值。最后,通過(guò)將階段一中的特征圖,與階段二中得到的響應(yīng)值線性加權(quán)求和,得到最終可視化的結(jié)果。 可以看到Score-CAM相較于此前的方法,可視化的結(jié)果明顯更為聚焦,背景中的噪聲減少。除了可視化比較外,作者也在定量指標(biāo)上大幅超過(guò)其它方法,具體指標(biāo)定義請(qǐng)參見(jiàn)論文。 個(gè)人討論神經(jīng)網(wǎng)絡(luò)的可解釋性本身目前還是一個(gè)具有爭(zhēng)議的方向,關(guān)于模型是否可以被解釋還有待商榷。目前關(guān)于可解釋性的研究處在百花齊放的階段,對(duì)于可解釋性的定義、評(píng)估都還沒(méi)有統(tǒng)一標(biāo)準(zhǔn)。本文的亮點(diǎn)主要在于,在CAM系列方法的基礎(chǔ)上,首次提出了一種新的gradient-free的權(quán)重表達(dá)方式。值得一提的是,Ablation-CAM [5] 作為Score-CAM [1] 幾乎同期的工作,直接通過(guò)對(duì)特征圖的掩碼操作,也得到一種不依賴于梯度的表達(dá)方式。 論文鏈接: https://openaccess./content_CVPRW_2020/papers/w1/Wang_Score-CAM_Score-Weighted_Visual_Explanations_for_Convolutional_Neural_Networks_CVPRW_2020_paper.pdf 開(kāi)源資源Score-CAM官方代碼:https://github.com/haofanwang/Score-CAM CAM系列方法開(kāi)源庫(kù)torch-cam:https://github.com/frgfm/torch-cam 常見(jiàn)可視化方法實(shí)現(xiàn):https://github.com/utkuozbulak/pytorch-cnn-visualizations 參考 |
|