陳 權(quán),李 莉,陳永樂,段躍興
(太原理工大學(xué)信息與計(jì)算機(jī)學(xué)院,山西晉中 030600)
深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)在計(jì)算機(jī)視覺、語音識(shí)別、自然語言處理等方面取得了巨大成功,但是由于其不透明性,使用者往往在得到?jīng)Q策結(jié)果時(shí),卻理解不了其預(yù)測(cè)過程,模型究竟學(xué)到了什么有效特征,如何作出預(yù)測(cè)和判斷,整個(gè)過程是缺乏可解釋性的[1]。
近年來,由于深度神經(jīng)網(wǎng)絡(luò)的“黑盒”問題受到了許多學(xué)者的廣泛關(guān)注,解釋方法層出不窮,它們?cè)趯?duì)目標(biāo)信息進(jìn)行識(shí)別的同時(shí),也會(huì)對(duì)識(shí)別結(jié)果進(jìn)行“解釋”,如圖1。雖然這種表示方法幫助使用者以人類的認(rèn)知角度去理解智能機(jī)器的推理過程。但是這些解釋區(qū)域同時(shí)也會(huì)為對(duì)抗攻擊帶來有利條件。
對(duì)抗攻擊的目的是對(duì)原始圖像添加人眼不可分辨的擾動(dòng),使得深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行錯(cuò)誤決策。Goodfellow 等[2]曾以一張熊貓照片為例,為其添加微小擾動(dòng)后成功被模型誤分類。許多經(jīng)典的對(duì)抗攻擊算法,如BIM(Basic Iterative Method)[3]、C&W(Carlini &Wagner attack)[4]等,它們都基于損失函數(shù)的梯度方向進(jìn)行攻擊,梯度的方向決定了對(duì)抗樣本該如何朝著決策邊界移動(dòng)。文獻(xiàn)[5]利用前向?qū)?shù)可以找到能夠最大效率擾動(dòng)樣本的輸入特征點(diǎn),但是其計(jì)算代價(jià)很大,并且準(zhǔn)確率低。近些年,一些新的對(duì)抗攻擊算法,如Ada-FGSM(Adaptive Fast Gradient Sign Method)[6],它們對(duì)原始算法進(jìn)行了優(yōu)化,能夠根據(jù)梯度信息自適應(yīng)地分配噪聲的步長(zhǎng),Superpixel-guided attack[7]則加入注意力機(jī)制作為擾動(dòng)添加的依據(jù)。PPBA(Projection &Probability-driven Black-box Attack)[8]和TREMBA(TRansferable EMbedding based Blackbox Attack)[9]的提出,有效減少了黑盒攻擊中的查詢次數(shù),它們?cè)趯?shí)驗(yàn)中均有較好的表現(xiàn)。
事實(shí)上,本文發(fā)現(xiàn)解釋方法可以本能地為對(duì)抗樣本的生成提供特定區(qū)域,此外,某些解釋方法是基于顯著圖(Saliency Map,SM)[10]產(chǎn)生,它量化解釋區(qū)域中每一個(gè)像素點(diǎn),其值的大小代表影響神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)結(jié)果的程度,故可以利用解釋方法定位關(guān)鍵區(qū)域,通過顯著圖進(jìn)一步細(xì)化到其中值最大的像素位置為其添加擾動(dòng)?;谏鲜稣{(diào)查,本文對(duì)解釋方法中的安全性進(jìn)行了研究。
本文的主要工作為:首先,從眾多解釋方法中選取了Grad-CAM(Gradient-weighted Class Activation Mapping)[11]作為樣例說明,驗(yàn)證了在白盒環(huán)境中利用顯著圖進(jìn)行對(duì)抗攻擊的可行性。其次,考慮到目前深度神經(jīng)網(wǎng)絡(luò)模型中解釋方法的多樣性,對(duì)于大多數(shù)不依賴顯著圖產(chǎn)生解釋區(qū)域的解釋方法,提出了一種在黑盒環(huán)境下的動(dòng)態(tài)遺傳算法進(jìn)行對(duì)抗攻擊?!皠?dòng)態(tài)”強(qiáng)調(diào)的是擾動(dòng)像素?cái)?shù)量和擾動(dòng)值大小的變化關(guān)系,通過逐步逼近的方式找到最佳擾動(dòng)像素集合,即擾動(dòng)的添加需要多輪遺傳算法的支持。相較于傳統(tǒng)的遺傳算法,本文改進(jìn)了選擇算子,并通過解釋區(qū)域的變化作為適應(yīng)度函數(shù)引導(dǎo)對(duì)抗樣本的生成,該方法在不同的神經(jīng)網(wǎng)絡(luò)模型中均能以較高的成功率欺騙模型。
文獻(xiàn)[12]首先證明了圖像中存在著微小的擾動(dòng),使得添加擾動(dòng)后的圖像可以欺騙深度學(xué)習(xí)模型進(jìn)行錯(cuò)誤分類。隨后的提出的FGSM[2]、C&W[4]、JSMA(Jacobian-based Saliency Map Attack)[5]、DeepFool[13]等算法都是在模型參數(shù)、數(shù)據(jù)集已知的情況下進(jìn)行攻擊,而在實(shí)際情況中,攻擊者往往并不清楚模型的結(jié)構(gòu)。文獻(xiàn)[14]利用差異進(jìn)化(Differential Evolution,DE)算法來生成對(duì)抗擾動(dòng),并且在極端條件下只需要修改圖片的一個(gè)像素即可完成攻擊。文獻(xiàn)[15]從一個(gè)敵對(duì)圖片出發(fā),通過拒絕采樣,將由敵對(duì)初始化的圖像逐漸向原始樣本靠近,直到找到?jīng)Q策邊界,并在決策邊界上找到與原始樣本最近的對(duì)抗樣本。下面具體介紹一些經(jīng)典對(duì)抗攻擊算法。
1)FGSM。
Goodfellow 等[2]實(shí)現(xiàn)了一種高效的對(duì)抗樣例的生成算法——FGSM,通過在其損失函數(shù)相反的方向上添加擾動(dòng)來實(shí)現(xiàn),其實(shí)質(zhì)是輸入圖片在模型的權(quán)重方向上增加了一些擾動(dòng)(方向一樣,點(diǎn)乘最大),讓圖片在較小的擾動(dòng)下出現(xiàn)較大的改變,從而得到對(duì)抗樣本,ε表示限制擾動(dòng)范數(shù)的超參數(shù),Y為真實(shí)標(biāo)簽。公式如下:
FGSM 是通過在增加分類器損失的方向(即一步梯度上升)上邁出一大步來擾動(dòng)圖像。為了避免一次性產(chǎn)生多余的擾動(dòng),Kurakin 等[3]提出了BIM,其想法是迭代地采取多個(gè)小步驟,控制擾動(dòng)的大小,同時(shí)在每個(gè)步驟后調(diào)整方向,具體公式如下:
其中:α為步長(zhǎng);Clipε{X′}表示在參數(shù)ε下對(duì)圖像X′裁剪。
2)DeepFool。
FGSM 雖然不需要迭代過程即可計(jì)算對(duì)抗樣本,但是它只是提供了最優(yōu)擾動(dòng)的一個(gè)粗略估計(jì),并且由于執(zhí)行梯度的方法,經(jīng)常得到的是局部最優(yōu)解。為此,Moosavi-Dezfooli等[13]提出了DeepFool 來獲得更小的擾動(dòng)。該方法是基于超平面分類的攻擊方法,如果想改變某個(gè)圖像的分類,最小的擾動(dòng)就是將其移動(dòng)到超平面上,那么這個(gè)圖像到超平面的距離就是代價(jià)最小的距離。
3)One-pixel。
Su 等[14]提出了一種只需要修改圖片一個(gè)像素的攻擊方法,即利用進(jìn)化算法來生成相應(yīng)的對(duì)抗擾動(dòng)。這種攻擊方式屬于黑盒攻擊,通過進(jìn)化算法得到的內(nèi)在特征,僅需要知道很少的信息,就能夠欺騙很多類型的網(wǎng)絡(luò)。
4)boundary-attack。
這是一種基于決策的攻擊,它從較大的對(duì)抗性擾動(dòng)開始,在保持對(duì)抗性的同時(shí)減少擾動(dòng)。即在算法中,樣本將由初始化的圖像逐漸向原始樣本靠近,直到找到?jīng)Q策邊界,并在決策邊界上找到與原始樣本最近的對(duì)抗樣本。同時(shí),與上述的攻擊算法相比,基于決策的攻擊對(duì)梯度防御,內(nèi)在隨機(jī)性或魯棒訓(xùn)練等標(biāo)準(zhǔn)防御具有更強(qiáng)大的潛力。
文獻(xiàn)[16]和文獻(xiàn)[17]的研究?jī)?nèi)容與本文很相似,作者利用解釋方法與待解釋模型之間的不一致性而威脅可解釋系統(tǒng)的自身安全;提出了可解釋模型的兩類對(duì)抗樣本:1)在不改變模型決策結(jié)果的前提下,使解釋方法解釋出錯(cuò);2)使模型決策出錯(cuò)而不改變解釋方法的解釋結(jié)果。此外,Ye 等[18]利用顯著圖的可解釋性提出了一種策略來檢測(cè)敵意示例,如果某實(shí)例與圖像的激活區(qū)域是一致的,則該實(shí)例為良性;否則是對(duì)抗性的。
本文研究在解釋方法環(huán)境中如何進(jìn)行對(duì)抗攻擊,主要包含如下工作:1)分析了在不同神經(jīng)網(wǎng)絡(luò)模型下進(jìn)行白盒攻擊的效果,對(duì)失敗樣本的像素位置選取進(jìn)行了優(yōu)化;2)探究了動(dòng)態(tài)遺傳算法的收斂性和最優(yōu)解集,并對(duì)比了不同解釋方法下生成的對(duì)抗樣本效果圖。
對(duì)于目前存在的解釋方法可以大致分為以下三類:
1)基于隱層表征的解釋方法。這類解釋器利用DNN 中間層的特征映射來生成屬性映射。其中Grad-CAM 是這類的代表性解釋方法。該方法利用加權(quán)梯度類激活映射,使任何目標(biāo)特征的梯度經(jīng)過最后一個(gè)卷積層后產(chǎn)生大致的局部特征統(tǒng),顯示出圖像中對(duì)目標(biāo)預(yù)測(cè)分類重要的區(qū)域。值得注意的是,除了直接生成解釋圖之外,Grad-CAM 還可以與其他經(jīng)典的顯著圖方法相結(jié)合,得到點(diǎn)乘后的Guided Grad-CAM 圖。
2)基于模型指導(dǎo)的解釋方法。模型引導(dǎo)的方法不依賴于中間層的深層表示,而是訓(xùn)練元模型來直接預(yù)測(cè)單次前饋傳遞中任何給定輸入的解釋圖。本文認(rèn)為RTS(Real-Time Saliency)[19]是這類方法中的代表性方法。
3)基于攝動(dòng)引導(dǎo)的解釋方法。通過以最小的噪聲擾動(dòng)輸入并觀察模型預(yù)測(cè)的變化來制定尋找解釋圖的方法。其中較為典型方法為Fong 提出的一種通用框架[20],用Mask代指。
上述解釋方法的結(jié)果如圖1 所示,并且本文將解釋方法為圖片做出的解釋稱為解釋圖。
圖1 不同解釋方法的解釋區(qū)域Fig.1 Interpretation areas of different interpretation methods
顯著圖的提出是為了解決DNN 圖像分類模型的可視化問題。Simonyan 等[10]認(rèn)為顯著圖是衡量圖片X的某個(gè)像素點(diǎn)對(duì)分類c的評(píng)分函數(shù)Sc(X)的影響;并且通過計(jì)算一階泰勒展開式將線性模型擴(kuò)展到了復(fù)雜模型中,讓其在X的鄰域內(nèi)用線性函數(shù)近似Sc(X)。即:
其中:wc和b分別是模型的權(quán)重向量和偏差。則Sc相較于圖像X在點(diǎn)xi處的導(dǎo)數(shù)為:
計(jì)算wc其實(shí)是在整個(gè)網(wǎng)絡(luò)進(jìn)行反向傳播,也就是計(jì)算輸入X的梯度(梯度即表示變化最快的方向)。相較于絕大多數(shù)的對(duì)抗攻擊都依賴損失函數(shù)產(chǎn)生對(duì)抗樣本來說,顯著圖雖然在擾動(dòng)的添加方向上優(yōu)勢(shì)較弱,但卻以視圖的方式可以呈現(xiàn)出針對(duì)不同目標(biāo)類別的顯著圖,進(jìn)而可以與解釋方法聯(lián)系起來。此外,文獻(xiàn)[21]優(yōu)化了顯著圖在反向傳播中經(jīng)過ReLU(Rectified Linear Unit)層的處理策略,提出了導(dǎo)向反向傳播,它與普通反向傳播不同,得到的顯著圖基本沒有噪聲,而且使特征很明顯的集中在物體部位上。文獻(xiàn)[22]也將改進(jìn)后的顯著圖用在解釋方法中。
白盒攻擊原理:1.3 節(jié)中介紹的顯著圖式(4)可以理解為:梯度的大小表示某個(gè)像素點(diǎn)改變后對(duì)預(yù)測(cè)結(jié)果的影響。即值越大的像素位置,添加相同的擾動(dòng)量越過決策邊界的可能性越大,所以有如下公式:
其中:Δxn表示為圖像xn位置添加的擾動(dòng);ΔY為預(yù)測(cè)結(jié)果發(fā)生的變化。如果試圖通過改變一個(gè)像素位置來翻轉(zhuǎn)Y,類如One-pixel 攻擊,那么修改后像素位置極其明顯,而且擴(kuò)展到分辨率更高的圖片中,只針對(duì)一個(gè)像素位置的攻擊很難成功。故本文算法通過與顯著圖的結(jié)合來生成對(duì)抗樣本。
利用全部的Guided Grad-CAM 圖中信息生成對(duì)抗樣本,即擾動(dòng)添加策略為整個(gè)解釋區(qū)域中顯著圖相對(duì)應(yīng)的位置。詳細(xì)過程在算法1 中給出。
黑盒攻擊原理:Grad-CAM 由于其特殊性(模型的解釋是基于顯著圖)在白盒環(huán)境中有較好的表現(xiàn)。為使攻擊更具一般性,需要進(jìn)一步探討不同解釋方法下給出的解釋圖該如何有效添加擾動(dòng)。本文發(fā)現(xiàn),白盒實(shí)驗(yàn)中每次為圖片加入輕微的擾動(dòng)后,其解釋圖均會(huì)發(fā)生變化,而產(chǎn)生這種現(xiàn)象的原因在于決策空間中的任意一個(gè)狀態(tài)均對(duì)應(yīng)一個(gè)解釋圖(本文稱在某一網(wǎng)絡(luò)模型下圖片X的所有決策狀態(tài)所對(duì)應(yīng)的解釋圖集合稱為解釋空間)。即當(dāng)對(duì)抗樣本進(jìn)行像素點(diǎn)修改時(shí)未使標(biāo)簽發(fā)生翻轉(zhuǎn)時(shí),解釋圖仍將隨之改變,因此通過這種關(guān)系能夠推測(cè)對(duì)抗樣本在決策空間的移動(dòng)。
簡(jiǎn)單地使用遺傳算法來尋找最優(yōu)的像素位置是低效率的,因此,本文提出了一種動(dòng)態(tài)的遺傳算法來生成對(duì)抗樣本,即在多輪的遺傳算法中,某一擾動(dòng)值下的初始擾動(dòng)像素點(diǎn)的生成會(huì)基于較大擾動(dòng)值下得出的最優(yōu)擾動(dòng)解,隨著擾動(dòng)值減小,擾動(dòng)像素點(diǎn)集合不斷增加,直至結(jié)果集使預(yù)測(cè)標(biāo)簽發(fā)生改變。具體來說:
1)適應(yīng)度函數(shù)為D,該輪的擾動(dòng)系數(shù)為θ,隨機(jī)生成規(guī)模為N的初始種群在迭代次數(shù)內(nèi)進(jìn)行遺傳算法L,記錄找到最優(yōu)解的像素位置Γ。如果某次的遺傳算法改變了預(yù)測(cè)標(biāo)簽,則提前結(jié)束本輪的遺傳算法,減小擾動(dòng)值θ,進(jìn)行下一輪遺傳算法。
2)在Γ像素位置的基礎(chǔ)上添加N個(gè)位置,繼續(xù)使用L找到當(dāng)前擾動(dòng)值下的像素位置Γ(當(dāng)前值為2N),θ減小。以此循環(huán),直至找到最佳的擾動(dòng)像素位置使原始標(biāo)簽Y發(fā)生改變。具體過程詳見算法2。
文獻(xiàn)[23]對(duì)標(biāo)準(zhǔn)遺傳算法(Conventional Genetic Algorithm,CGA)的收斂性有以下結(jié)論:
定理1CGA 不能收斂至全局最優(yōu)解。
定理2帶有最優(yōu)保持操作的遺傳算法一定收斂至全局最優(yōu)解。
為使每次迭代中保留最優(yōu)個(gè)體,本文對(duì)遺傳算法中的選擇算子作出了優(yōu)化,在使用“精英保留”策略時(shí)考慮到每一張圖片的顯著圖均集中在物體輪廓周邊這一事實(shí),給出新的適應(yīng)度函數(shù)公式:
它由兩部分構(gòu)成:
1)相似性度量:
2)固定半徑幾何分形描述點(diǎn)的分布情況。
其中:ω1和ω2為權(quán)重系數(shù),本文分為別0.8 和0.2。
由定理2 可知,在不同擾動(dòng)值下的遺傳算法一定會(huì)收斂,同時(shí),得到的擾動(dòng)集合也是最優(yōu)的。但是,隨著擾動(dòng)值不斷減少,擾動(dòng)像素集合每次線性增加N,最終解集對(duì)于對(duì)抗樣本卻不是最優(yōu)解。因?yàn)镹是一個(gè)區(qū)間,某一次集合的改變極大概率會(huì)超過最優(yōu)解集的個(gè)數(shù),理論上當(dāng)N為1 時(shí),每次減少擾動(dòng)值時(shí)只增加一個(gè)像素點(diǎn)位置,當(dāng)滿足不超過最大失真閾值時(shí),得到像素集為最優(yōu)擾動(dòng)集合。但如此解決問題會(huì)花費(fèi)大量的時(shí)間。如圖6 所示,修改像素?cái)?shù)量N的值與迭代次數(shù)成指數(shù)關(guān)系。因此,在保持較高攻擊成功率的情況下,選取最少迭代次數(shù)相對(duì)應(yīng)的修改像素?cái)?shù)量作為增量N生成的擾動(dòng)集合也可以當(dāng)作最優(yōu)解。
為描述動(dòng)態(tài)遺傳算法的時(shí)間復(fù)雜度,本文計(jì)算了其運(yùn)行時(shí)間,同時(shí)對(duì)比了與灰狼算法、布谷鳥算法和樽海鞘群算法的性能優(yōu)劣。在VGG-19 模型中選取了CIFAR-10 數(shù)據(jù)集[24]100 個(gè)圖片樣例進(jìn)行對(duì)抗攻擊,標(biāo)準(zhǔn)函數(shù)選取式(8)。實(shí)驗(yàn)數(shù)據(jù)如圖2 所示。
圖2 迭代收斂圖Fig.2 Iterative convergence graph
動(dòng)態(tài)遺傳算法在迭代次數(shù)為110 時(shí)已經(jīng)收斂,同時(shí)有效使預(yù)測(cè)標(biāo)簽發(fā)生翻轉(zhuǎn)的個(gè)數(shù)多達(dá)93 例,明顯優(yōu)于其他算法。并且由表1 可知,本算法的運(yùn)行時(shí)間少于灰狼算法和布谷鳥算法,雖然樽海鞘群算法的運(yùn)行時(shí)間最少,但對(duì)抗攻擊的效果卻不如動(dòng)態(tài)遺傳算法。
表1 不同優(yōu)化算法的運(yùn)行時(shí)間Tab.1 Running times of different optimization algorithms
本文采用ImageNet 數(shù)據(jù)集[25]來評(píng)估實(shí)驗(yàn),它由來自1 000 個(gè)類的120 萬張圖像組成,每幅圖像都被居中裁剪到224×224 像素,隨機(jī)抽樣1 000 個(gè)由模型正確分類的圖像作為實(shí)驗(yàn)測(cè)試集。
本文討論的攻擊只針對(duì)無目標(biāo)設(shè)置,即添加的擾動(dòng)將原始樣本的標(biāo)簽翻轉(zhuǎn)到任何其他標(biāo)簽即可。為衡量攻擊的性能,本文定義攻擊成功率為:
因?yàn)樵诨贕uided Grad-CAM 圖添加擾動(dòng)時(shí),無法確定擾動(dòng)的方向,所以本實(shí)驗(yàn)分別討論了不同S(S=-1 或者S=1)下的攻擊情況。
為實(shí)例化DNN 模型,本文將Grad-CAM 解釋方法部署在由pytorch 提供的預(yù)先訓(xùn)練的網(wǎng)絡(luò)VGG-19[26]、ResNet-50[27]和SqueezeNet[28]和AlexNet[29]中,并嚴(yán)格定義對(duì)抗樣本的產(chǎn)生,同時(shí)將每種攻擊的最大迭代次數(shù)固定為80 次,擾動(dòng)系數(shù)θ設(shè)置為0.01。
表2 總結(jié)了在Grad-CAM 解釋方法下對(duì)不同DNN 模型的攻擊成功率與BIM、DeepFool 攻擊算法的對(duì)比情況。如圖3所示,在ResNet-50 模型下使用算法1 確實(shí)產(chǎn)生了對(duì)抗樣本,并且其擾動(dòng)量更少,擾動(dòng)位置更精確。原始圖片的預(yù)測(cè)真實(shí)值由287(貓)在添加擾動(dòng)后,變?yōu)榱?04(袋鼠),原因在于顯著圖和解釋區(qū)域同時(shí)限制了擾動(dòng)添加的區(qū)域范圍,所以使攻擊更具針對(duì)性。文中以不同的背景顏色分別表示S=1 和S=-1 的情況。
表2 不同模型下的無目標(biāo)攻擊成功率 單位:%Tab.2 Untargeted attack success rate under different models unit:%
圖3 算法1下的攻擊結(jié)果Fig.3 Attack result graphs under algorithm 1
但是對(duì)同一圖片的解釋區(qū)域增加或減少噪聲均可以成功欺騙模型的例子并不多。實(shí)驗(yàn)發(fā)現(xiàn)S=1 時(shí)的成功率普遍高于S=-1 時(shí)的情況,在圖4 中,具體展示了ResNet-50 模型下的對(duì)抗樣本生成情況。其中:S=1 時(shí)超過47%的樣本只需10 次以內(nèi)迭代次數(shù)就可以成功誤導(dǎo)DNN 模型;而S=-1時(shí)的效果并不好,這可能是因?yàn)榻档拖袼貢?huì)減少輸入圖片的信息,讓網(wǎng)絡(luò)難以提取特征,也難以進(jìn)行分類。此外,不同模型下的實(shí)驗(yàn)結(jié)果差距較大的原因在于不同模型的魯棒性不同。以下實(shí)驗(yàn)?zāi)J(rèn)均基于S=1 的條件下添加擾動(dòng)。
圖4 樣本成功攻擊迭代次數(shù)分布Fig.4 Distribution of iteration numbers of sample successful attack
接著討論幾張攻擊失敗的圖片,如圖5 所示,它們的失敗是由于擾動(dòng)量超過了最大失真值,可以觀察到對(duì)抗樣本相較于原圖片增添了許多深色像素點(diǎn),這是由于:1)待識(shí)別物體幾乎占據(jù)了整個(gè)圖片的大小,在此基礎(chǔ)上得到解釋方法下的顯著圖同樣很大,這與不使用解釋方法得到的顯著圖差別很??;2)不同顯著圖方法下得到圖片細(xì)膩度不同,如圖5 中得到的顯著圖有許多不同程度的模糊區(qū)域。因此,攻擊失敗的根本原因在于擾動(dòng)的添加無法真正集中在重要的像素位置集合中。每次添加像素的位置均包含了顯著圖中的較小值,雖然它們對(duì)結(jié)果有影響,但不是起決定性的,眾多的較小值影響了攻擊效果。
圖5 攻擊失敗結(jié)果Fig.5 Attack failure results
為使添加噪聲的數(shù)量可以更精確,本文改進(jìn)了算法1,最直接的方法是減小解釋圖的解釋區(qū)域,但不同的解釋方法計(jì)算得出的解釋區(qū)域難以統(tǒng)一,反觀不同模型下的目標(biāo)顯著圖卻是確定的,故給出式(12)選取擾動(dòng)位置:
該公式表明每次迭代從顯著圖中挑選出值最大的前n個(gè)位置為圖像I添加擾動(dòng),如果圖中某一點(diǎn)的擾動(dòng)量超過了最大失真閾值?,則重新選取下一個(gè)較大值。
實(shí)驗(yàn)結(jié)果如圖6(a)所示。隨著修改像素位置集合N的不斷縮小,攻擊成功率逐漸提高,并且達(dá)到90%以后的變化不再明顯,結(jié)合圖6(b),實(shí)驗(yàn)在獲取更加精確擾動(dòng)的同時(shí)迭代次數(shù)成倍增加。表3 展示了每次修改圖片像素?cái)?shù)量為50情況下的攻擊數(shù)據(jù),攻擊成功率均達(dá)到了90%以上。
表3 改進(jìn)后不同模型下的無目標(biāo)攻擊成功率 單位:%Tab.3 Untargeted attack success rate under different models after improvement unit:%
圖6 不同修改像素?cái)?shù)量下的成功率和迭代次數(shù)的關(guān)系Fig.6 Relationship between success rate and iteration number under different numbers of modifiedpixels
本文具體分析了改進(jìn)后的攻擊過程,如圖7 所示,在給定N為20 的情況下,隨著每次為圖片添加顯著值最大的像素位置,噪聲逐漸聚集在物體的輪廓上,并且解釋圖也在發(fā)生變化。算法1 改進(jìn)后產(chǎn)生的擾動(dòng)數(shù)量更少,分布也更加集中,同時(shí)預(yù)測(cè)結(jié)果不再依賴于非必須像素位置,擾動(dòng)值也隨之減小。
圖7 迭代攻擊過程Fig.7 Iterative attack process
算法2 介紹了為圖片添加擾動(dòng)的主要思路,但在實(shí)驗(yàn)中,本文改進(jìn)了算法2,因?yàn)樵趯?duì)圖像I添加不同的擾動(dòng)后,其解釋圖會(huì)相應(yīng)出現(xiàn)不同的解釋區(qū)域。為選取最佳的候選擾動(dòng)像素區(qū)域,本文對(duì)解釋空間進(jìn)行了探討,希望解釋圖在解釋空間中盡可能朝向它的邊界方向移動(dòng),而不是任由其在解釋區(qū)域中隨意移動(dòng),如圖8 所示。然而,對(duì)于如何選擇每次移動(dòng)的方向,本文在圖9 中以二維平面進(jìn)行說明,如果一個(gè)點(diǎn)連續(xù)移動(dòng)兩次,第一次移動(dòng)后的位置與初始點(diǎn)之間的距離d1,大于第二次移動(dòng)后的位置與初始點(diǎn)之間的距離d2,則認(rèn)為兩次移動(dòng)的方向發(fā)生了嚴(yán)重變化。即在選擇當(dāng)前解釋圖變化最優(yōu)值的同時(shí)也會(huì)考慮上一次解釋圖與當(dāng)前解釋圖的像素變化情況。
圖8 解釋空間和決策空間示意圖Fig.8 Schematic diagram of interpretation space and decision space
圖9 二維平面上點(diǎn)的移動(dòng)示意圖Fig.9 Schematic diagram of movement of a point on two-dimensional plane
本文實(shí)驗(yàn)參數(shù)設(shè)置如表4 所示,在N為18 時(shí),對(duì)比了1.2節(jié)中三種解釋方法下的黑盒攻擊效果,如圖10 所示,同一圖片產(chǎn)生了不同擾動(dòng),本文認(rèn)為是由于解釋器方法與模型的不一致性所導(dǎo)致,即某一方法的解釋只能解釋部分模型的行為。
圖10 不同解釋方法下的擾動(dòng)結(jié)果Fig.10 Disturbance results under different interpretation methods
表4 參數(shù)設(shè)置Tab.4 Parameter settings
MASK 側(cè)重于輸入-預(yù)測(cè)對(duì)應(yīng),而忽略了內(nèi)部表示;CAM利用了中間層的深層表示,而忽略了輸入-預(yù)測(cè)對(duì)應(yīng);RTS 使用輔助編碼器的內(nèi)部表示和訓(xùn)練數(shù)據(jù)中的輸入解釋對(duì)應(yīng),但這可能會(huì)偏離DNN 的真實(shí)行為。因此即便對(duì)于同一圖片,不同解釋方法產(chǎn)生的對(duì)抗樣本也會(huì)略有不同;同時(shí)擾動(dòng)也全部集中在重要區(qū)域,均使網(wǎng)絡(luò)模型給出錯(cuò)誤預(yù)測(cè)。
此外,本文以Grad-CAM 解釋方法為例,對(duì)比了五種同樣是黑盒攻擊的算法One-pixel attack、boundary attack、Ada-FGSM、TREMBA 和PPBA,其中對(duì)One pixel 算法中攻擊的像素個(gè)數(shù)增加至5 個(gè),因?yàn)樵贗mageNet 數(shù)據(jù)集中使用一個(gè)像素攻擊的成功率太低。實(shí)驗(yàn)結(jié)果如表5 所示。
表5 不同模型下的黑盒攻擊成功率 單位:%Tab.5 Black-box attack success rate under different models unit:%
本文提出的黑盒攻擊算法在不同網(wǎng)絡(luò)模型中有較好的攻擊效果,結(jié)合表6,平均攻擊成功率高于Ada-FGSM 3.18 個(gè)百分點(diǎn),高于PPBA 8.63 個(gè)百分點(diǎn),此外,盡管One pixel 的運(yùn)行時(shí)間較少,但攻擊成功率卻降低了16.53 個(gè)百分點(diǎn),TREMBA 攻擊成功率高于本文算法,但該算法需要額外訓(xùn)練編碼器-解碼器產(chǎn)生對(duì)抗擾動(dòng),同時(shí)消耗的時(shí)間為1.6 倍。本文認(rèn)為略差于Boundary-attack 的原因在于:1)早熟。這是遺傳算法最大的缺點(diǎn),即對(duì)空間的探索能力是有限的,容易導(dǎo)致收斂至局部最優(yōu)解,類似如圖4 中白盒攻擊出現(xiàn)的問題。2)雖然改進(jìn)了選擇算子,但對(duì)于交叉率和變異率參數(shù),目前的選擇大部分是依靠經(jīng)驗(yàn)。3)解釋方法到目前為止,并沒有一個(gè)權(quán)威的性能評(píng)價(jià)指標(biāo),無法衡量一個(gè)解釋方法的好壞,也就出現(xiàn)不同的解釋方法得到攻擊成功率存在差異。此外模型的泛化性與可解釋性之間始終存在一個(gè)平衡,泛化性好的網(wǎng)絡(luò)模型透露的信息越少,也越難以捕捉到有用的信息。
表6 平均50張圖片的處理時(shí)間 單位:sTab.6 Average processing time of 50 images unit:s
除此之外,本文在表7 中還對(duì)比了不同關(guān)鍵參數(shù)下的實(shí)驗(yàn)效果。組1 為本文實(shí)驗(yàn)參數(shù),如果只考慮高性能,如組2,減少修改像素位置的代價(jià)是巨大的,其運(yùn)行時(shí)間增長(zhǎng)了接近兩倍,但成功率僅僅提高了1.32 個(gè)百分點(diǎn)。同時(shí),擾動(dòng)系數(shù)決定了步長(zhǎng)的大小,能夠提高求解的速度,但過大會(huì)越過最優(yōu)解,如組3。因此,本文綜合考慮時(shí)間復(fù)雜度和成功率的情況,從眾多參數(shù)指標(biāo)中挑選出了較為合理的取值。
表7 參數(shù)性能對(duì)比(SqueezeNet)Tab.7 Performance comparison of different parameters(SqueezeNet)
最后本文解釋了算法對(duì)初始值的依賴問題。不同像素?cái)?shù)量相對(duì)應(yīng)下的遺傳算法,均會(huì)在上一次的最優(yōu)解中隨機(jī)添加新的像素位置,即便不同的像素位置得到不一樣的結(jié)果集合,沒有找到最優(yōu)解集,仍不會(huì)影響最后的結(jié)果,因?yàn)橹笮绿砑拥南袼攸c(diǎn)會(huì)在適應(yīng)度函數(shù)的約束下沿著上一輪錯(cuò)誤標(biāo)簽的方向移動(dòng),直到越過決策邊界。最優(yōu)解的出現(xiàn)會(huì)加快算法的運(yùn)行。對(duì)于神經(jīng)網(wǎng)絡(luò)模型來說,單獨(dú)討論某一像素點(diǎn)的增加和消失是沒有意義的,決定預(yù)測(cè)結(jié)果的是像素點(diǎn)之間的空間關(guān)系。
本文討論了深度學(xué)習(xí)中解釋方法存在的安全性問題,即依據(jù)顯著圖為圖片添加擾動(dòng)后可以成功欺騙神經(jīng)網(wǎng)絡(luò)模型,除此之外,利用解釋圖與決策空間的聯(lián)系,可以評(píng)判擾動(dòng)對(duì)預(yù)測(cè)結(jié)果的影響,因?yàn)榻忉寛D比預(yù)測(cè)結(jié)果的變化更加敏感細(xì)膩。當(dāng)圖片被添加輕微擾動(dòng)時(shí),解釋區(qū)域會(huì)隨之改變但是預(yù)測(cè)結(jié)果卻未發(fā)生改變。正是基于這種聯(lián)系,本文提出了一種動(dòng)態(tài)的遺傳算法產(chǎn)生對(duì)抗樣本,通過在不同神經(jīng)網(wǎng)絡(luò)模型下測(cè)試驗(yàn)證,實(shí)驗(yàn)數(shù)據(jù)均到達(dá)預(yù)期結(jié)果。由此可見,解釋方法雖然作為一個(gè)新領(lǐng)域受到了不少學(xué)者的追捧,但同時(shí)也帶來了危險(xiǎn),它給出了模型本身之外的信息,使惡意圖片的生成更加簡(jiǎn)單,攻擊方式也更加多樣化。
此外,本文并沒有在白盒環(huán)境中進(jìn)行目標(biāo)攻擊實(shí)驗(yàn),因?yàn)樵贘SMA 攻擊中已經(jīng)提及了類似的算法。在黑盒實(shí)驗(yàn)中,雖然實(shí)驗(yàn)成功率較高,但是運(yùn)行時(shí)間卻與其成正比,多輪的遺傳算法占據(jù)了大部分時(shí)間。
最后仍需指出兩點(diǎn)值得繼續(xù)研究的問題,首先對(duì)于圖片噪聲添加的取值S并沒有深入研究,S=1 時(shí)結(jié)果更優(yōu)的事實(shí)還需進(jìn)一步解釋。其次是否還存在一些更好的算法能夠在有效降低時(shí)間復(fù)雜度的同時(shí)保持最優(yōu)解也值得進(jìn)一步研究。