司念文,張文林,屈丹,常禾雨,李盛祥,牛銅
(1.信息工程大學(xué)信息系統(tǒng)工程學(xué)院,河南 鄭州 450001;2.信息工程大學(xué)密碼工程學(xué)院,河南 鄭州 450001)
近年來(lái),以卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)為代表的深度學(xué)習(xí)技術(shù)在圖像識(shí)別[1-3]和語(yǔ)言文本處理[4-5]等領(lǐng)域的研究應(yīng)用取得了重大進(jìn)展。與傳統(tǒng)機(jī)器學(xué)習(xí)算法相比,深度學(xué)習(xí)模型的優(yōu)勢(shì)在于其優(yōu)異的自動(dòng)特征提取能力,這極大緩解了傳統(tǒng)方法下人工特征設(shè)計(jì)的困難,使目標(biāo)任務(wù)可以學(xué)習(xí)到更加全面的、含有豐富語(yǔ)義信息的組合式特征。然而,盡管深度學(xué)習(xí)模型的識(shí)別效果非常好,但其一直受到可解釋性問(wèn)題的困擾。其中,CNN 作為深度學(xué)習(xí)技術(shù)的代表,其工作機(jī)制及決策邏輯至今尚不能完全被人們理解,阻礙了其在一些對(duì)安全性要求高的領(lǐng)域的深入拓展。對(duì)CNN 的理解與解釋在理論和實(shí)際應(yīng)用上都具有一定的研究?jī)r(jià)值,研究人員為此提出了一系列的可解釋性方法,用于解釋CNN的內(nèi)部表征和決策,這些方法在一定程度上緩解了CNN 可解釋性較差的問(wèn)題,增進(jìn)了人們對(duì)CNN 特征和決策的理解,提升了人們對(duì)CNN 模型的信任度。
在基于CNN 的圖像分類領(lǐng)域,基于顯著圖的解釋方法是一種典型的CNN 解釋方法,這種方法會(huì)生成一個(gè)與輸入圖像相對(duì)應(yīng)的顯著圖,該圖將與特定決策相關(guān)的輸入特征高亮,用以表示對(duì)該決策結(jié)果的可視化解釋。典型的基于顯著圖的解釋方法如圖1 所示(左側(cè)圖像表示Bull_masstiff 的定位結(jié)果,右側(cè)圖像表示Tiger_cat 的定位結(jié)果),主要包括2 種。一種是基于模型梯度(導(dǎo)數(shù))的顯著圖(圖1(d)~圖1(g)),例如反向傳播(BP,back propagation)[6]、導(dǎo)向反向傳播(Guided BP,guided back propagation)[7]、平滑梯度(smooth gradient)[8]及積分梯度(integrated gradient)[9]。梯度構(gòu)成的顯著圖噪聲較多,且由于不具備類別區(qū)分性,導(dǎo)致它們無(wú)法針對(duì)性地分別解釋不同類別目標(biāo)相關(guān)的特征,因此可視化效果并不理想。另一種是基于類激活映射(CAM,class activation mapping)得到的類激活圖(圖1(b)和圖1(c)),最早由Zhou 等[10]提出。類激活圖的主要優(yōu)點(diǎn)體現(xiàn)在類別區(qū)分性上,可在圖像級(jí)標(biāo)簽監(jiān)督下,定位輸入圖像中目標(biāo)的具體位置。由于具有較好的類別區(qū)分特性,因此CAM 及其多種改進(jìn)版本(如Grad-CAM[11]、Grad-CAM++[12]及Score-CAM[13])在弱監(jiān)督目標(biāo)定位[10-11]、視覺(jué)問(wèn)答[11]等眾多場(chǎng)景中均有應(yīng)用。
圖1 梯度圖與類激活圖的比較
Grad-CAM 作為類激活圖方法中較穩(wěn)定的一種,過(guò)程最簡(jiǎn)單且應(yīng)用較廣泛。然而,最近的研究表明,這些基于顯著圖的解釋方法(如Grad-CAM、BP及Guided BP等)存在被攻擊的危險(xiǎn)[14-16]。文獻(xiàn)[14]首次驗(yàn)證了BP 和integrated gradient 方法的脆弱性,通過(guò)最大化對(duì)抗圖像的顯著圖與原圖的顯著圖之間的差異,可以優(yōu)化出一種專門用于攻擊解釋方法的對(duì)抗樣本。文獻(xiàn)[15]進(jìn)一步研究了在特定損失函數(shù)的約束下,可使BP、Guided BP 及integrated gradient 等方法的解釋結(jié)果中出現(xiàn)事先指定的無(wú)關(guān)特征。文獻(xiàn)[16]則通過(guò)對(duì)抗性的微調(diào)模型參數(shù),在不修改輸入圖像的情況下,使用參數(shù)微調(diào)后的模型引導(dǎo)Grad-CAM 的解釋結(jié)果總是偏向特定區(qū)域,實(shí)現(xiàn)無(wú)效的、甚至被引導(dǎo)至有意圖偏向的解釋??傮w來(lái)看,文獻(xiàn)[14-15]提出的攻擊方法主要通過(guò)生成視覺(jué)變化不可感知的對(duì)抗樣本來(lái)針對(duì)性地攻擊解釋結(jié)果。這種對(duì)抗樣本雖然具有較好的偽裝特性,但在現(xiàn)實(shí)中難以應(yīng)用。文獻(xiàn)[16]雖然不需要添加擾動(dòng)來(lái)形成對(duì)抗樣本,但其采用的微調(diào)參數(shù)方法需要重新訓(xùn)練模型,導(dǎo)致攻擊的代價(jià)也較大。
對(duì)抗補(bǔ)丁是一種用于攻擊模型的圖像代替方法,可以不受擾動(dòng)范數(shù)的限制,具有攻擊過(guò)程簡(jiǎn)單、現(xiàn)實(shí)應(yīng)用性強(qiáng)的優(yōu)點(diǎn),通常被用于現(xiàn)實(shí)場(chǎng)景的對(duì)抗攻擊[17]?;趯?duì)抗補(bǔ)丁合成對(duì)抗圖像來(lái)攻擊模型的解釋,在現(xiàn)實(shí)場(chǎng)景中更加方便。為此,本文提出一種基于對(duì)抗補(bǔ)丁的Grad-CAM 攻擊方法,將對(duì)抗補(bǔ)丁方法用于攻擊針對(duì)模型的解釋,而非攻擊模型本身的預(yù)測(cè)。具體地,通過(guò)將對(duì)抗補(bǔ)丁添加在圖像上,保證分類結(jié)果不變,但Grad-CAM 解釋結(jié)果始終偏向目標(biāo)區(qū)域,以此實(shí)現(xiàn)對(duì)解釋結(jié)果的攻擊。實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有的方法相比,本文方法使用一種新的思路實(shí)現(xiàn)對(duì)CNN 解釋的有效攻擊,且過(guò)程更加簡(jiǎn)單。總體來(lái)講,本文的貢獻(xiàn)分為以下3 個(gè)方面。
1) 提出了一種基于對(duì)抗補(bǔ)丁的Grad-CAM 攻擊方法。該方法能夠?qū)δ繕?biāo)圖像的Grad-CAM 解釋結(jié)果針對(duì)性地生成對(duì)抗補(bǔ)丁并合成對(duì)抗圖像,用于攻擊Grad-CAM 解釋方法,使之無(wú)法準(zhǔn)確定位目標(biāo)圖像的顯著性特征,從而產(chǎn)生錯(cuò)誤的解釋。
2) 在多種攻擊場(chǎng)景下進(jìn)一步擴(kuò)展了該方法的應(yīng)用。基于該方法的思路,將其擴(kuò)展到通用的對(duì)抗補(bǔ)丁,以及視覺(jué)變化不可感知的對(duì)抗樣本,提升了該方法的泛化性和多場(chǎng)景可用性。
3) 從攻擊結(jié)果的視覺(jué)效果及目標(biāo)區(qū)域的能量占比的角度,定性和定量評(píng)估了所提方法的攻擊效果。以 4 種典型的 CNN 分類網(wǎng)絡(luò)為例,在ILSVRC2012 數(shù)據(jù)集[18]上進(jìn)行了大量實(shí)驗(yàn),結(jié)果表明,所提方法可以有效地實(shí)現(xiàn)對(duì)Grad-CAM 的攻擊。
近年來(lái),對(duì)于CNN 的可解釋性引起了研究者的關(guān)注,提出了一系列可視化方法用于解釋CNN的預(yù)測(cè)結(jié)果。最簡(jiǎn)單的可視化方法是基于梯度的方法[6-9],但梯度圖中通常含有大量的噪聲問(wèn)題,不具備類別區(qū)分特性。CAM 方法[10-13]是另一類CNN 解釋方法,因其具有較好的類別區(qū)分特性而被用于定位與CNN 特定決策結(jié)果相關(guān)的圖像區(qū)域。同時(shí),由于僅使用圖像級(jí)的標(biāo)簽即可實(shí)現(xiàn)一定效果的目標(biāo)定位,因此類激活圖方法也被用于弱監(jiān)督目標(biāo)定位任務(wù)[10-11]。此外,類激活圖方法還被用來(lái)為圖像分類[19]、語(yǔ)義分割[20]等任務(wù)提供弱先驗(yàn)信息,從而提升其性能。
Grad-CAM 方法的廣泛應(yīng)用導(dǎo)致其解釋結(jié)果的穩(wěn)定性至關(guān)重要,一旦Grad-CAM 被攻擊而產(chǎn)生錯(cuò)誤的定位結(jié)果,基于Grad-CAM 的后續(xù)任務(wù)將接連產(chǎn)生錯(cuò)誤。文獻(xiàn)[14]對(duì)基于梯度的解釋方法和基于樣本的解釋方法進(jìn)行了攻擊,結(jié)果表明,這些可視化方法均存在一定程度的脆弱性。與文獻(xiàn)[14]類似,文獻(xiàn)[15]也對(duì)基于梯度的可視化方法進(jìn)行了攻擊。但由于ReLU 網(wǎng)絡(luò)的二階梯度通常為0,因此文獻(xiàn)[14-15]的攻擊方法需要先將目標(biāo)網(wǎng)絡(luò)的ReLU 函數(shù)統(tǒng)一轉(zhuǎn)換成Softplus 函數(shù),這嚴(yán)重限制了其實(shí)用性。受文獻(xiàn)[14]的啟發(fā),文獻(xiàn)[16]從模型的角度出發(fā),將對(duì)顯著圖的攻擊目標(biāo)作為損失函數(shù)添加到模型訓(xùn)練中,通過(guò)一個(gè)微調(diào)步驟來(lái)微調(diào)模型參數(shù),進(jìn)行對(duì)抗性的模型調(diào)整,再使用調(diào)整后的模型對(duì)輸入圖像產(chǎn)生錯(cuò)誤的Grad-CAM 解釋結(jié)果。然而,這種方法在數(shù)據(jù)集上需要重新訓(xùn)練模型,對(duì)于ImageNet 這樣的大型數(shù)據(jù)集來(lái)說(shuō),時(shí)間和計(jì)算資源消耗非常大,攻擊成本高。
對(duì)抗補(bǔ)丁是一種用于攻擊神經(jīng)網(wǎng)絡(luò)圖像分類系統(tǒng)的補(bǔ)丁圖像。通過(guò)在目標(biāo)圖像上添加對(duì)抗性補(bǔ)丁,可以使用目標(biāo)圖像被神經(jīng)網(wǎng)絡(luò)分類模型誤分類,實(shí)現(xiàn)對(duì)圖像分類系統(tǒng)的攻擊[17]。對(duì)抗補(bǔ)丁的優(yōu)點(diǎn)是不受擾動(dòng)范數(shù)的限制,可在較小的區(qū)域內(nèi)實(shí)現(xiàn)較大的擾動(dòng)。由于對(duì)抗補(bǔ)丁具有顯著性特征,是造成圖像被誤分類的重點(diǎn)區(qū)域,因此普通的對(duì)抗補(bǔ)丁很容易被Grad-CAM 等解釋方法檢測(cè)到。為此,文獻(xiàn)[21]針對(duì)性地提出了一種穩(wěn)健的對(duì)抗補(bǔ)丁方法,該方法在攻擊圖像分類結(jié)果的同時(shí),可以抵抗Grad-CAM 對(duì)補(bǔ)丁位置的檢測(cè)。文獻(xiàn)[21]使用對(duì)抗補(bǔ)丁的目的與文獻(xiàn)[17]相同,均是用于攻擊模型的分類結(jié)果,但其在損失函數(shù)中引入Grad-CAM 約束,僅是為了提升對(duì)抗補(bǔ)丁的穩(wěn)健性,防止補(bǔ)丁位置被Grad-CAM 輕易檢測(cè)到,但對(duì)抗補(bǔ)丁的主要目的仍然是用于攻擊模型的分類結(jié)果。
與文獻(xiàn)[17]和文獻(xiàn)[21]不同,本文將對(duì)抗補(bǔ)丁用作專門攻擊CNN 模型的解釋方法,而不是攻擊圖像的分類結(jié)果。如2.1 節(jié)所述,現(xiàn)有針對(duì)Grad-CAM 的攻擊方法具有攻擊成本高、攻擊過(guò)程復(fù)雜等缺點(diǎn)。為了避免調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)和重新訓(xùn)練目標(biāo)網(wǎng)絡(luò),本文使用基于對(duì)抗補(bǔ)丁的方法實(shí)現(xiàn)對(duì)Grad-CAM 的攻擊。
Grad-CAM 方法由Selvaraju 等[11]于2017 年提出,是類激活圖系列方法中最常用的一種。與同類型方法(如CAM[10]、Grad-CAM++[12]及SS-CAM[13])相比,其實(shí)現(xiàn)過(guò)程最簡(jiǎn)單,對(duì)多種網(wǎng)絡(luò)通用,可視化效果也相對(duì)較好。Grad-CAM 的原理如圖2 所示。給定輸入圖像x和待攻擊的目標(biāo)網(wǎng)絡(luò)f,經(jīng)過(guò)f得到輸入圖像的logits 分?jǐn)?shù)為
圖2 Grad-CAM 的原理
其中,θ表示f的權(quán)重參數(shù),Sc表示第c個(gè)類別的logits 分?jǐn)?shù)。該過(guò)程屬于標(biāo)準(zhǔn)的CNN 分類過(guò)程,僅能給出分類結(jié)果,無(wú)法解釋CNN 基于x的哪些輸入特征得到了該分類結(jié)果。Grad-CAM 方法正是為了解釋目標(biāo)網(wǎng)絡(luò)的分類結(jié)果而被提出的。由于目標(biāo)網(wǎng)絡(luò)f從輸入圖像x提取的最高層特征圖(A1,A2,…,AK)在卷積層和全連接層之間達(dá)到平衡,具有較好的類別區(qū)分性,因此可以使用該層特征圖來(lái)定位感興趣的目標(biāo)。
使用Grad-CAM 方法生成類激活圖的過(guò)程可形式化描述為
其中,Ak表示最高層特征圖的第k個(gè)通道,表示該通道的權(quán)重,其計(jì)算式為
其中,Ak,i,j表示第k個(gè)通道位于(i,j)的元素,Z表示歸一化因子。由于通道權(quán)重是從類別c的導(dǎo)數(shù)得來(lái)的,因此通道權(quán)重含有類別相關(guān)信息,這也是Grad-CAM 能夠針對(duì)不同決策結(jié)果進(jìn)行解釋的主要原因。
3.2.1 目標(biāo)函數(shù)與優(yōu)化
一般情形下,對(duì)抗補(bǔ)丁被用于誤導(dǎo)圖像分類結(jié)果,使添加對(duì)抗補(bǔ)丁的圖像總是被分類器誤分類。而在可解釋深度學(xué)習(xí)領(lǐng)域,解釋結(jié)果與分類結(jié)果同樣重要,攻擊者不僅會(huì)對(duì)模型分類結(jié)果進(jìn)行攻擊,還可能攻擊模型的解釋結(jié)果?;诖?,本節(jié)提出了一種基于對(duì)抗補(bǔ)丁的針對(duì)Grad-CAM 解釋方法的攻擊方法。給定輸入圖像x和目標(biāo)網(wǎng)絡(luò)f,設(shè)表示二值化的掩碼,其中補(bǔ)丁區(qū)域?yàn)?,其余區(qū)域?yàn)?,z表示擾動(dòng)圖像,對(duì)抗圖像可由輸入圖像x、二值化掩碼m及擾動(dòng)圖像z合成,合成過(guò)程為
其中,⊙表示哈達(dá)瑪積,z⊙m相當(dāng)于對(duì)抗補(bǔ)丁。本文使用對(duì)抗補(bǔ)丁的目的不是誤導(dǎo)圖像分類結(jié)果,而是攻擊解釋方法的解釋結(jié)果。具體來(lái)說(shuō),本文中補(bǔ)丁的作用是保持分類結(jié)果不變,同時(shí)引導(dǎo)Grad-CAM 攻擊結(jié)果始終偏向補(bǔ)丁區(qū)域,從而實(shí)現(xiàn)對(duì)Grad-CAM 解釋的攻擊。這個(gè)過(guò)程實(shí)際上包含2 個(gè)優(yōu)化目標(biāo),介紹如下。
①保持分類不變,對(duì)應(yīng)的目標(biāo)函數(shù)形式化描述為
其中,c表示原始分類類別。式(5)使用交叉熵?fù)p失約束對(duì)抗圖像的分類結(jié)果保持不變。
② 引導(dǎo)Grad-CAM 偏向補(bǔ)丁區(qū)域,對(duì)應(yīng)的目標(biāo)函數(shù)形式化描述為
式(6)相當(dāng)于取出補(bǔ)丁區(qū)域的Grad-CAM 顯著圖像素并求和,然后最大化該值。
綜合以上2 個(gè)優(yōu)化目標(biāo),最終的目標(biāo)函數(shù)Loss可定義為
其中,λ表示2 個(gè)優(yōu)化目標(biāo)之間的調(diào)和參數(shù)。該目標(biāo)函數(shù)優(yōu)化的對(duì)象是擾動(dòng)圖像z,其更新方式采用梯度符號(hào)更新,即
其中,lr 表示更新時(shí)的學(xué)習(xí)率;sign 表示符號(hào)函數(shù),值域?yàn)閧+1,-1}。
3.2.2 攻擊算法流程
算法1 給出了基于對(duì)抗補(bǔ)丁的Grad-CAM 攻擊算法的流程??傮w來(lái)講,在給定輸入圖像x和二值化掩碼m的情況下,可以得到添加對(duì)抗補(bǔ)丁的擾動(dòng)圖像x′,該對(duì)抗圖像使用Grad-CAM 解釋方法始終無(wú)法準(zhǔn)確定位到顯著性目標(biāo)。同時(shí),通過(guò)二值化掩碼m可以控制補(bǔ)丁添加的位置,從而控制對(duì)Grad-CAM 的引導(dǎo)偏向。具體來(lái)講,該算法包括以下5 個(gè)步驟。步驟1)初始化擾動(dòng)z;步驟2)生成對(duì)抗圖像x′;步驟3)計(jì)算對(duì)抗圖像的得分fc(x′;θ),以及其對(duì)應(yīng)的顯著圖;步驟4)計(jì)算損失函數(shù)Loss;步驟5)使用梯度符號(hào)更新擾動(dòng)z。通過(guò)不斷迭代來(lái)更新擾動(dòng)z及降低損失值。其中,num_iters 表示迭代次數(shù)。
值得注意的是,本文雖然僅在Grad-CAM 方法上使用該算法進(jìn)行實(shí)驗(yàn),但對(duì)于類激活映射這一類方法,包括CAM、Grad-CAM++等,該算法也同樣適用。
算法1基于對(duì)抗補(bǔ)丁的Grad-CAM 攻擊算法
輸入輸入圖像x,二值化掩碼m
輸出對(duì)抗圖像x′
Begin
第3.2 節(jié)所述的對(duì)抗補(bǔ)丁僅能針對(duì)性地對(duì)單張圖片進(jìn)行Grad-CAM 攻擊,每張圖片都有其對(duì)應(yīng)的對(duì)抗補(bǔ)丁。因此,這種對(duì)抗補(bǔ)丁具有圖像針對(duì)性,對(duì)于未知的新圖像,攻擊效果并不一定好。
為了進(jìn)一步提升本文的對(duì)抗補(bǔ)丁方法的泛化性,將其應(yīng)用于同一類別的其他圖像,本節(jié)通過(guò)進(jìn)一步改進(jìn),使用批次訓(xùn)練方法來(lái)生成通用對(duì)抗補(bǔ)丁,使通用對(duì)抗補(bǔ)丁可以面向未知的新樣本,即在同一類別的樣本下,對(duì)未見(jiàn)過(guò)的新樣本進(jìn)行Grad-CAM 攻擊。
在算法1 的框架下,僅需修改步驟4)中的目標(biāo)函數(shù),即可生成可泛化的通用對(duì)抗補(bǔ)丁。具體地,通用對(duì)抗補(bǔ)丁的生成可使用如下目標(biāo)函數(shù)
其中,N表示批次大小,每張對(duì)抗圖像均由對(duì)應(yīng)的輸入圖像xn、二值化掩碼m及通用的擾動(dòng)圖像z合成。該目標(biāo)函數(shù)的更新對(duì)象仍為擾動(dòng)圖像z,這里每張輸入圖像xn共用同一個(gè)擾動(dòng)圖像z。
將得到的擾動(dòng)圖像z作為每個(gè)類別圖像的通用擾動(dòng),即可添加在該類別未知的目標(biāo)圖像上,實(shí)現(xiàn)對(duì)目標(biāo)圖像的Grad-CAM 攻擊。值得注意的是,在實(shí)驗(yàn)中嘗試將對(duì)抗補(bǔ)丁擴(kuò)展到不同類別的圖像,使用不同類別圖像進(jìn)行訓(xùn)練,但測(cè)試效果并不好,其中原因值得進(jìn)一步深入分析。
盡管本文主要基于對(duì)抗補(bǔ)丁來(lái)攻擊Grad-CAM的解釋結(jié)果,但僅需要較小修改,即可將本文方法用于生成對(duì)抗樣本。本節(jié)進(jìn)一步對(duì)上述方法進(jìn)行拓展,將對(duì)抗補(bǔ)丁攻擊方法拓展為對(duì)抗樣本攻擊方法。用于攻擊Grad-CAM 的對(duì)抗樣本是指通過(guò)在整個(gè)原圖區(qū)域添加細(xì)微擾動(dòng),可以使目標(biāo)圖像的分類結(jié)果保持不變,但Grad-CAM 的定位結(jié)果卻發(fā)生改變,引向特定目標(biāo)區(qū)域。
為了實(shí)現(xiàn)上述目標(biāo),將二值化掩碼m的1 值擴(kuò)展到整個(gè)圖像區(qū)域,即m的元素值全為1,按照如下方法得到新的對(duì)抗圖像,即
式(10)中添加了對(duì)擾動(dòng)圖像z的L2 范數(shù)約束,目的是使添加在圖像上的擾動(dòng)在視覺(jué)上盡量不易被察覺(jué),以不改變?cè)瓐D的內(nèi)容。此時(shí),按照式(7)中的目標(biāo)函數(shù)形式,添加擾動(dòng)損失后,得到的目標(biāo)函數(shù)為
其中,m′表示用于引導(dǎo)攻擊位置的二值化掩碼,其中為1 的區(qū)域表示將引導(dǎo)Grad-CAM 顯著圖偏向該區(qū)域。式(7)中的二值掩碼m在表示補(bǔ)丁區(qū)域位置的同時(shí),也將Grad-CAM 顯著圖引導(dǎo)偏向該區(qū)域。這里的m′與之不同,m′的1 值區(qū)域由于不受補(bǔ)丁位置的限制,可以移向任意位置。第4 節(jié)的實(shí)驗(yàn)中將展示3 種不同的m′ 所引導(dǎo)的不同Grad-CAM 攻擊結(jié)果,其中,λ1和λ2為后兩項(xiàng)的調(diào)和系數(shù)。對(duì)擾動(dòng)圖像z的更新仍采用式(8)中的梯度符號(hào)更新方法。
注意,使用本節(jié)方法生成的對(duì)抗樣本與Szegedy 等[22]和Goodfellow 等[23]的對(duì)抗樣本的作用并不相同。Szegedy 等[22]和Goodfellow 等[23]的對(duì)抗樣本用于攻擊模型的預(yù)測(cè)結(jié)果,而本文的對(duì)抗樣本的攻擊目標(biāo)并不是模型的預(yù)測(cè)結(jié)果,而是專門用攻擊模型的解釋結(jié)果,即Grad-CAM 的定位結(jié)果。
1) 數(shù)據(jù)集與目標(biāo)模型。本文使用ILSVRC2012數(shù)據(jù)集[18]作為實(shí)驗(yàn)數(shù)據(jù)集,為了便于對(duì)比實(shí)驗(yàn)結(jié)果,每部分實(shí)驗(yàn)將分別使用該數(shù)據(jù)集中的不同部分。目標(biāo)網(wǎng)絡(luò)采用4 種常見(jiàn)的CNN 圖像分類網(wǎng)絡(luò):
VGGNet-16[1]、VGGNet-19-BN[1]、ResNet-50[2]、DenseNet-161[3],來(lái)自Torchvision 包[24]中自帶的預(yù)訓(xùn)練網(wǎng)絡(luò)模型,在上述數(shù)據(jù)集上完成了預(yù)訓(xùn)練。
2) 攻擊效果評(píng)價(jià)指標(biāo)。攻擊效果的評(píng)價(jià)主要從定性和定量這2 個(gè)方面進(jìn)行評(píng)價(jià):視覺(jué)效果和能量占比(ER,energy ratio)。視覺(jué)效果表示從視覺(jué)上直接觀察Grad-CAM 方法的解釋結(jié)果,即可視化結(jié)果的直觀視覺(jué)感受。此外,使用ER 值作為評(píng)價(jià)指標(biāo),量化Grad-CAM 的可視化結(jié)果。ER 值表示顯著圖中某個(gè)區(qū)域的能量占整個(gè)顯著圖能量的比例,計(jì)算式為
其中,T表示目標(biāo)區(qū)域的像素構(gòu)成的集合。顯然,ER 值越大,表示Grad-CAM 對(duì)該區(qū)域的關(guān)注度越高。具體地,實(shí)驗(yàn)中需要計(jì)算2 個(gè)目標(biāo)區(qū)域的ER值:補(bǔ)丁區(qū)域的ER 值(ERp)和邊框區(qū)域的ER 值(ERb),計(jì)算式分別為
由于Grad-CAM 本身用于對(duì)圖中顯著性目標(biāo)進(jìn)行定位,因此對(duì)于未受到任何攻擊的Grad-CAM 顯著圖,ERb較高。而本文提出的基于對(duì)抗補(bǔ)丁的Grad-CAM 方法的目的就是將Grad-CAM 的定位區(qū)域引向補(bǔ)丁區(qū)域,因此對(duì)于本文方法,ERp越高,表明攻擊效果越好。
本節(jié)實(shí)驗(yàn)中,參照文獻(xiàn)[25]的對(duì)抗樣本研究,使用從ILSVRC2012 驗(yàn)證集中1 000 個(gè)類別中選擇的1 000 張圖片,每個(gè)類別含有一張圖片。VGGNet-19-BN 模型上的top1 準(zhǔn)確率和ER 值如表1 所示。其中,top1 準(zhǔn)確率表示對(duì)圖像的top1分類準(zhǔn)確率。對(duì)于文獻(xiàn)[16]的對(duì)抗性微調(diào)方法,使用其提供的源代碼進(jìn)行了結(jié)果復(fù)現(xiàn)。驗(yàn)證集使用上述1 000 張圖像,計(jì)算針對(duì)該1 000 張圖像的top1 準(zhǔn)確率及ER 值。實(shí)驗(yàn)結(jié)果分別進(jìn)行以下對(duì)比。
表1 VGGNet-19-BN 模型上的top1 準(zhǔn)確率和ER 值
1) 原圖:在VGGNet-19-BN 上的top1 準(zhǔn)確率,原圖的Grad-CAM 顯著圖的ERp和ERb。
2) 對(duì)抗性微調(diào)方法[16]:使用微調(diào)后的VGGNet-19-BN 模型對(duì)這1 000 張?jiān)瓐D的top1 準(zhǔn)確率,微調(diào)后模型的Grad-CAM 顯著圖的ERp和ERb。
3) 對(duì)抗補(bǔ)丁方法(本文方法):使用對(duì)抗補(bǔ)丁產(chǎn)生的對(duì)抗圖像在VGGNet-19-BN 上的top1 準(zhǔn)確率,對(duì)抗圖像的Grad-CAM 顯著圖的ERp和ERb。
對(duì)于 top1 準(zhǔn)確率,如表 1 所示,在VGGNet-19-BN 模型上本文方法的準(zhǔn)確率僅下降0.2%,即只有2 張圖片的類別未保持原來(lái)的類別。而對(duì)抗性微調(diào)方法由于對(duì)模型參數(shù)進(jìn)行了重新訓(xùn)練,導(dǎo)致其分類準(zhǔn)確率下降較多。
對(duì)于ER 值,如表1 所示,本文方法和對(duì)抗性微調(diào)方法均可使ERp上升且ERb下降。對(duì)于本文方法,ERp上升62.34%,ERb下降29.24%,這表明本文方法對(duì)Grad-CAM 定位結(jié)果的引導(dǎo)是有效的,使補(bǔ)丁區(qū)域受到了Grad-CAM 的更多關(guān)注,而使目標(biāo)本身(邊框區(qū)域)的關(guān)注度下降許多。本文方法產(chǎn)生的對(duì)抗圖像的ERp僅占整個(gè)顯著圖的約2/3(67.19%),但其與原圖ERb(67.76%)相比非常接近(對(duì)于ILSVRC2012 數(shù)據(jù)集,一般的邊框尺寸會(huì)比本文的補(bǔ)丁尺寸大),表明尺寸較小的補(bǔ)丁區(qū)域吸引了較多的能量關(guān)注,基本上整張圖的主要關(guān)注點(diǎn)都移到了補(bǔ)丁區(qū)域。值得一提的是,ERb之所以仍較高,是因?yàn)樵S多邊框區(qū)域會(huì)與補(bǔ)丁區(qū)域重疊,導(dǎo)致補(bǔ)丁區(qū)域的能量也被計(jì)入邊框區(qū)域。此時(shí),對(duì)抗圖像的ERp與ERb之和超過(guò)1,因?yàn)檫@2 個(gè)區(qū)域之間有重疊部分。
圖3 VGGNet-19-BN 模型上的Grad-CAM 攻擊結(jié)果比較
圖3 為部分示例圖像及其對(duì)抗圖像的可視化結(jié)果,具體含義如下。
①第1 組(圖3(a))表示初始的輸入圖像x,形式為(類別,分類概率)。
② 第2 組(圖3(b)~圖3(d))表示對(duì)基于梯度的可視化方法的攻擊結(jié)果,使用了文獻(xiàn)[15]提供的攻擊方法。其中,HBP(x) 表示輸入圖像x的BP 可視化結(jié)果,形式為(ERp,ERb)值;表示對(duì)BP 可視化方法進(jìn)行攻擊,誘導(dǎo)其顯著性區(qū)域偏向左上角優(yōu)化出的對(duì)抗圖像,形式為(類別,分類概率);HBP()表示對(duì)抗圖像的BP 可視化結(jié)果,形式為(ERp,ERb)值。
③第3 組(圖3(e)~圖3(h))表示對(duì)Grad-CAM可視化方法的攻擊結(jié)果,包括對(duì)抗性微調(diào)方法和本文方法的結(jié)果。其中,(x)表示輸入圖像x的 Grad-CAM 結(jié)果,形式為(ERp,ERb)值;(x;w′)表示使用對(duì)抗性微調(diào)方法重訓(xùn)練模型(w′作為微調(diào)后模型的標(biāo)記)后,得到的Grad-CAM 結(jié)果,形式為(ERp,ERb)值;表示本文方法生成的對(duì)抗圖像,形式為(類別,分類概率) ;表示對(duì)抗圖像的Grad-CAM 結(jié)果,形式為(ERp,ERb)值。
從對(duì)BP 可視化方法的攻擊結(jié)果(圖3 第2 組)來(lái)看,攻擊結(jié)果中隱藏了目標(biāo)主體的位置,顯著圖偏向左上角區(qū)域,可視化結(jié)果具有梯度圖的散點(diǎn)效果。由于基于梯度的可視化方法與Grad-CAM 方法的可視化效果有較大區(qū)別,因此這里僅將其作為參考,相互之間并不具有很好的對(duì)比性。另一方面,從對(duì)Grad-CAM 的攻擊結(jié)果(圖3 第3 組)可以看出,本文方法與對(duì)抗性微調(diào)方法均可實(shí)現(xiàn)有效攻擊。與對(duì)抗性微調(diào)方法相比,本文方法的攻擊效果較好,能夠較明顯地引導(dǎo)目標(biāo)的定位偏向左上角補(bǔ)丁區(qū)域。同時(shí),本文方法不需要重新訓(xùn)練模型,攻擊過(guò)程更加簡(jiǎn)單。
為了測(cè)試該攻擊方法在其他模型上的有效性,本節(jié)使用另外3 種常見(jiàn)的CNN 圖像分類模型,分別為VGGNet-16、ResNet-50 及DenseNet-161,并與4.2 節(jié)VGGNet-19-BN 進(jìn)行了效果對(duì)比。使用與4.2 節(jié)相同的數(shù)據(jù)集和評(píng)價(jià)指標(biāo),實(shí)驗(yàn)測(cè)得結(jié)果如表2 所示。從表2 中的結(jié)果來(lái)看,本文方法對(duì)不同網(wǎng)絡(luò)均可實(shí)現(xiàn)有效攻擊。在4 種不同模型上的ERp值均有提升,且ERb值均降低。與其他3 種網(wǎng)絡(luò)相比,ResNet-50 網(wǎng)絡(luò)的攻擊結(jié)果相對(duì)較差,對(duì)抗圖像的可視化結(jié)果中ERb仍然相對(duì)較高,推測(cè)可能是ResNet-50 的Grad-CAM 可視化結(jié)果本身定位更加全面,因此對(duì)抗圖像的可視化結(jié)果會(huì)包含主體圖像更多區(qū)域。
表2 在4 種不同模型上的top1 準(zhǔn)確率與ER 值比較
圖4 為2 張示例圖像的可視化結(jié)果。圖4(a)~圖4(d)為輸入圖像“junco”及其相應(yīng)結(jié)果。圖4(a)為輸入圖像。圖4(b)為輸入圖像的Grad-CAM,形式為(ERp,ERb)值。圖4(c)是由輸入圖像生成的對(duì)抗圖像。圖4(d)為對(duì)抗圖像的Grad-CAM,形式為(ERp,ERb)值。圖4(e)~圖4(f)為另一張輸入圖像“espresso”及其相應(yīng)結(jié)果。由圖4 可以看出,本文方法對(duì)這4 種網(wǎng)絡(luò)的Grad-CAM 解釋均有較好的攻擊效果。雖然ResNet-50 的攻擊結(jié)果相對(duì)較差,但仍可以很好地引導(dǎo)Grad-CAM 定位偏向補(bǔ)丁區(qū)域。
雖然單張圖片的對(duì)抗補(bǔ)丁對(duì)于自身非常有效,但對(duì)于同類別的一些其他圖像的攻擊效果不夠好,導(dǎo)致Grad-CAM 仍能檢測(cè)到目標(biāo)區(qū)域。如圖5 所示,圖5(a)表示原圖及其Grad-CAM。圖5(b)表示原圖的對(duì)抗圖像及其Grad-CAM,該對(duì)抗圖像由原圖生成的對(duì)抗補(bǔ)丁并添加在原圖上形成。圖5(c)表示針對(duì)原圖生成的對(duì)抗補(bǔ)丁添加在另一張圖像x1上,形成對(duì)抗圖像。由于對(duì)抗補(bǔ)丁的生成過(guò)程中,并未使用圖像x1的信息,因此并不能較好地對(duì)圖像x1的Grad-CAM 解釋結(jié)果進(jìn)行攻擊。同理,圖5(d)中對(duì)抗圖像x2也出現(xiàn)了該問(wèn)題??梢钥闯觯槍?duì)原圖生成的對(duì)抗補(bǔ)丁,對(duì)原圖自身的攻擊效果非常好,但其泛化效果卻不夠好,對(duì)抗圖像和的Grad-CAM 圖仍然可以檢測(cè)到含有目標(biāo)的區(qū)域。
圖4 在4 種不同模型上的Grad-CAM 攻擊結(jié)果比較
圖5 單張圖像的對(duì)抗補(bǔ)丁的泛化性能測(cè)試示例
為了提升本文對(duì)抗補(bǔ)丁的泛化性能,使其能夠?qū)ξ匆?jiàn)過(guò)的圖像進(jìn)行攻擊,本節(jié)按照第3.3 節(jié)的方法對(duì)對(duì)抗補(bǔ)丁方法進(jìn)行進(jìn)一步優(yōu)化。從ILSVRC2012數(shù)據(jù)集中選擇10 個(gè)類別的圖像,具體類別如表3所示。其中,訓(xùn)練集的每個(gè)類別含有1 300 張圖片,共13 000 張圖片;測(cè)試集的每個(gè)類別含有50 張圖片,共500 張圖片;設(shè)置批次大小為64。按照上述方法,得到優(yōu)化前后的每張圖片的ER 值。圖6是對(duì)其中的“indigo_bunting”和“hartebeest”的各50 張測(cè)試集圖片的ER 值繪制的箱線圖。從圖6 中可以看出,可泛化的對(duì)抗補(bǔ)丁對(duì)應(yīng)的平均ERp上升,ERb下降,表明可泛化的對(duì)抗補(bǔ)丁攻擊效果更好。表3 定量測(cè)試了這10 個(gè)類別圖像的泛化前后的對(duì)抗補(bǔ)丁的攻擊效果。結(jié)果顯示,與單張圖片的對(duì)抗補(bǔ)丁方法相比,使用批次訓(xùn)練方法得到的每一類圖像的對(duì)抗補(bǔ)丁的攻擊效果更好,泛化性能更強(qiáng)。
本節(jié)實(shí)驗(yàn)將驗(yàn)證第3.4 節(jié)中的對(duì)抗樣本方法。使用與第4.2 節(jié)相同的數(shù)據(jù)集,對(duì)1 000 張圖片生成對(duì)抗樣本。通用調(diào)整 ′m的1 值區(qū)域,可實(shí)現(xiàn)面向不同區(qū)域的攻擊。實(shí)驗(yàn)中,分別測(cè)試了3 種不同的攻擊方法的效果。
1) 左上角攻擊:將對(duì)抗樣本的Grad-CAM 解釋結(jié)果引導(dǎo)偏向圖像的左上角區(qū)域,與前文的補(bǔ)丁區(qū)域位置相同。
2) 右下角攻擊:將Grad-CAM 解釋結(jié)果引導(dǎo)偏向右下角。
表3 使用批次訓(xùn)練得到的可泛化的通用對(duì)抗補(bǔ)丁的攻擊效果比較
圖6 單張圖像的對(duì)抗補(bǔ)丁與可泛化的通用對(duì)抗補(bǔ)丁的結(jié)果對(duì)比
3) 四周攻擊:將Grad-CAM 解釋結(jié)果引導(dǎo)偏向圖像的四周。
在上述3 種攻擊方法下分別生成相應(yīng)的對(duì)抗樣本,計(jì)算對(duì)抗樣本的Grad-CAM 顯著圖中的ERp和ERb值。表4 為在VGGNet-16 和VGGNet-19-BN 網(wǎng)絡(luò)上得到的定量結(jié)果。相對(duì)于原圖,對(duì)抗樣本的ERp提升且ERb值下降。同時(shí),對(duì)抗樣本的分類準(zhǔn)確率仍保持不變,可見(jiàn)這種對(duì)抗樣本更能從整體上擾動(dòng)圖像,而不受補(bǔ)丁區(qū)域的限制,從而不改變其分類結(jié)果,與對(duì)抗補(bǔ)丁方法相比具有更大優(yōu)勢(shì)。
本節(jié)將從梯度更新的角度,定性分析攻擊Grad-CAM 類激活圖方法的原理及與攻擊基于梯度的可視化方法之間的不同之處。
觀察式(7)的損失函數(shù)形式。其中,第1 項(xiàng)表示分類模型的交叉熵?fù)p失,第2 項(xiàng)表示對(duì)Grad-CAM類激活圖的值損失。對(duì)于交叉熵?fù)p失,作用在輸入變量′上的更新量為。對(duì)于Grad-CAM 顯著圖的損失,作用在輸入變量上的更新量為
表4 VGGNet-16 和VGGNet-19-BN 模型上的top1 準(zhǔn)確率和ER 值
圖7 在VGGNet-19-BN 模型上使用3 種不同的攻擊方法生成的對(duì)抗樣本及其Grad-CAM 結(jié)果
由于max 函數(shù)的作用是過(guò)濾激活圖中的負(fù)值,并不影響導(dǎo)數(shù)的計(jì)算過(guò)程,因此可忽略max函數(shù)的影響,將其進(jìn)一步展開為單個(gè)變量的導(dǎo)數(shù),即
對(duì)于式(17)中每個(gè)括號(hào)中的第 1 項(xiàng),(k=0,1,…,K)為輸出分值Sc的一階導(dǎo)數(shù),結(jié)合式(3),可將項(xiàng)化簡(jiǎn)為
對(duì)于含有ReLU 激活函數(shù)的CNN,ReLU 函數(shù)的二階導(dǎo)數(shù)幾乎處處為0。因此,項(xiàng)總為0,則總為0。因此,式(17)的每個(gè)括號(hào)中的第1 項(xiàng)總為0。
對(duì)于式(17)的每個(gè)括號(hào)中的第2 項(xiàng),進(jìn)一步化簡(jiǎn)為
由式(19)可知,該項(xiàng)與輸入變量tx′的一階導(dǎo)數(shù)相關(guān)。綜合式(18)和式(19)的分析結(jié)果可知,對(duì)于單個(gè)像素的更新量,其實(shí)際結(jié)果仍然是輸入變量的一階導(dǎo)數(shù),由于不含二階導(dǎo)數(shù),因此對(duì)普通的ReLU 網(wǎng)絡(luò)來(lái)說(shuō)可以進(jìn)行更新。
同樣地,利用上述分析過(guò)程對(duì)基于梯度的CNN可視化方法進(jìn)行分析。對(duì)于基于梯度的CNN 可視化方法,例如BP、Guided BP、Integrated gradient、Smooth gradient 等方法,由于(x′)本身即為輸入圖像x′的一階導(dǎo)數(shù),因此對(duì)BP 顯著圖進(jìn)行攻擊時(shí),單個(gè)輸入變量的即為輸入變量的二階導(dǎo)數(shù),這對(duì)于使用ReLU 激活函數(shù)的CNN 來(lái)說(shuō)無(wú)法進(jìn)行參數(shù)更新。因此,若要求攻擊基于梯度的可視化方法,需要將目標(biāo)網(wǎng)絡(luò)的ReLU 函數(shù)替換為Softplus 等二階導(dǎo)數(shù)不為0 的激活函數(shù),這也是文獻(xiàn)[14-15]的研究工作。
因此,對(duì)基于梯度的可視化方法的攻擊方法,例如BP、Guided BP、Integrated gradient、Smooth gradient 等方法,對(duì)于ReLU 網(wǎng)絡(luò)并不適用,而Grad-CAM 攻擊方法對(duì)于ReLU 網(wǎng)絡(luò)卻適用,這也是為何本文方法不需要修改目標(biāo)網(wǎng)絡(luò)的ReLU 層,而文獻(xiàn)[14-15]則需要將目標(biāo)網(wǎng)絡(luò)的ReLU 函數(shù)替換為Softplus 函數(shù)才可行的原因。
針對(duì)CNN 可解釋性方法的攻擊,現(xiàn)有工作多數(shù)對(duì)基于梯度的可視化方法進(jìn)行攻擊,此時(shí)需要修改目標(biāo)模型自身結(jié)構(gòu)[14-15]。而對(duì)于Grad-CAM 可解釋性方法的攻擊,現(xiàn)有工作中,僅有文獻(xiàn)[16]進(jìn)行了研究,其結(jié)果表明Grad-CAM 解釋方法的確是脆弱的,其結(jié)果可以被欺騙而產(chǎn)生錯(cuò)誤解釋。但文獻(xiàn)[16]使用對(duì)抗性的模型微調(diào),需要在整個(gè)數(shù)據(jù)集上重新訓(xùn)練模型參數(shù),導(dǎo)致訓(xùn)練的代價(jià)較大,在現(xiàn)實(shí)攻擊場(chǎng)景中不太可行。而本文方法使用對(duì)抗補(bǔ)丁進(jìn)行攻擊,不需要修改模型結(jié)構(gòu),能夠針對(duì)未知圖像直接添加補(bǔ)丁并進(jìn)行攻擊,具有一定的泛化性,攻擊過(guò)程更加簡(jiǎn)單。
針對(duì)對(duì)抗補(bǔ)丁攻擊方法,文獻(xiàn)[17]最早提出將對(duì)抗補(bǔ)丁方法用于攻擊模型的分類結(jié)果,而并未關(guān)注CNN 的可解釋性方法,導(dǎo)致這種對(duì)抗補(bǔ)丁容易被可解釋性方法(如Grad-CAM)檢測(cè)到。為此,文獻(xiàn)[21]在對(duì)抗補(bǔ)丁的形成過(guò)程中,引入了針對(duì)Grad-CAM 類激活圖的約束,提升了對(duì)抗補(bǔ)丁的穩(wěn)健性,使其不會(huì)被輕易檢測(cè)到。本文的研究思路主要借鑒于文獻(xiàn)[21],但文獻(xiàn)[21]使用對(duì)抗補(bǔ)丁的主要目的是欺騙分類器的分類結(jié)果,而本文將對(duì)抗補(bǔ)丁用于攻擊針對(duì)分類結(jié)果的解釋,這是本文研究與文獻(xiàn)[21]之間的不同之處。
此外,綜合第3.2~3.4 節(jié)可知,本文提出的基于對(duì)抗補(bǔ)丁的Grad-CAM 攻擊方法適用于以下3 種攻擊場(chǎng)景。1) 特定的單張圖像的Grad-CAM 的攻擊,該情形下使用標(biāo)準(zhǔn)的Grad-CAM 攻擊方法即可實(shí)現(xiàn),如第3.2 節(jié)所述;2) 未知圖像的Grad-CAM的攻擊,該情形下使用可泛化的Grad-CAM 攻擊方法,如第3.3 節(jié)所述;3) 對(duì)抗樣本攻擊方法,該情形下可使用第3.4 節(jié)所述的對(duì)抗樣本生成方法。綜上,本文方法可以實(shí)現(xiàn)多場(chǎng)景的適用性,與現(xiàn)有方法相比,應(yīng)用場(chǎng)景更加廣泛。
本文提出了一種基于對(duì)抗補(bǔ)丁的Grad-CAM 攻擊方法,該方法通過(guò)將對(duì)抗補(bǔ)丁添加在圖像中,可實(shí)現(xiàn)對(duì)Grad-CAM 解釋結(jié)果的有效攻擊。與現(xiàn)有的攻擊方法相比,本文方法更加簡(jiǎn)單,且具有較好的泛化性能,并可以拓展為對(duì)抗樣本的攻擊場(chǎng)景,具有多場(chǎng)景的可用性。由于Grad-CAM 的脆弱性對(duì)于注重可解釋性和安全性的領(lǐng)域(如醫(yī)療圖像診斷、自動(dòng)駕駛等)具有較大的危害,因此,本文的研究進(jìn)一步指明了這種危險(xiǎn)性,為開展與防御攻擊相關(guān)的研究提供了啟發(fā)。
由于本文方法仍然要求目標(biāo)網(wǎng)絡(luò)為白盒模型,使用目標(biāo)網(wǎng)絡(luò)的梯度信息更新擾動(dòng)補(bǔ)丁,這在實(shí)際中不一定能夠得到滿足。因此,下一步工作將尋找一種基于黑盒優(yōu)化的對(duì)抗補(bǔ)丁方法,使之更加符合現(xiàn)實(shí)攻擊場(chǎng)景。此外,也將從可解釋性防御的角度出發(fā),考慮更加穩(wěn)健的可解釋性方法,用于提供可信賴的解釋結(jié)果。