劉帥威,李智,王國美,張麗
(貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院公共大數(shù)據(jù)國家重點(diǎn)實(shí)驗(yàn)室,貴州 貴陽 550025)
深度神經(jīng)網(wǎng)絡(luò)在過去幾年取得了巨大成功,并引起了學(xué)術(shù)界和產(chǎn)業(yè)界的廣泛關(guān)注[1]。隨著深度神經(jīng)網(wǎng)絡(luò)的快速發(fā)展和部署,其顯露出的安全問題逐漸引起了社會(huì)的關(guān)注[2]。最近的研究發(fā)現(xiàn),深度神經(jīng)網(wǎng)絡(luò)很容易受到對(duì)抗樣本的影響,對(duì)抗樣本通常是在合法樣本上添加精心設(shè)計(jì)且難以察覺的擾動(dòng)[3]。利用對(duì)抗樣本可以讓攻擊者在很多應(yīng)用場景中對(duì)人工智能模型本身發(fā)起攻擊,從而造成難以估計(jì)的危害,例如:基于人臉識(shí)別技術(shù)的手機(jī)解鎖系統(tǒng)可能存在安全漏洞[4],攻擊者可以通過偽裝等方式欺騙人臉解鎖,從而進(jìn)入他人手機(jī);自動(dòng)駕駛汽車的識(shí)別系統(tǒng)會(huì)被攻擊者誤導(dǎo)[5],可能導(dǎo)致交通事故;不法分子利用對(duì)抗樣本欺騙計(jì)算機(jī)輔助診斷系統(tǒng)修改其醫(yī)療診斷記錄,從而實(shí)施騙保行為[6]。研究更先進(jìn)的對(duì)抗攻擊算法能評(píng)估深度神經(jīng)網(wǎng)絡(luò)的魯棒性,進(jìn)一步揭露深度學(xué)習(xí)的安全漏洞,有助于開發(fā)人員對(duì)系統(tǒng)的運(yùn)行進(jìn)行維護(hù),從而提高系統(tǒng)的安全性和穩(wěn)定性。
現(xiàn)有的對(duì)抗攻擊方法根據(jù)攻擊方式的不同大致分為3 類:1)基于梯度的攻擊;2)基于優(yōu)化的攻擊;3)基于生成式的攻擊。文獻(xiàn)[7]提出基于梯度的快速梯度符號(hào)法(FGSM),使用模型的梯度信息來計(jì)算對(duì)原始樣本的擾動(dòng)從而欺騙模型。文獻(xiàn)[8]提出迭代式的投影梯度下降(PGD)攻擊,在FGSM 的基礎(chǔ)上引入多次迭代,并加入投影步驟來限制對(duì)抗樣本的擾動(dòng)大小,以提高攻擊的效果和穩(wěn)定性。文獻(xiàn)[9]提出優(yōu)化式的CW 攻擊,通過最小化對(duì)抗樣本與原始樣本之間的距離來生成對(duì)抗樣本。CW 攻擊通過對(duì)模型輸出的標(biāo)簽和置信度進(jìn)行修改,使得模型更容易將對(duì)抗樣本進(jìn)行錯(cuò)誤分類。
在基于生成式的攻擊方法中:文獻(xiàn)[10]提出AdvGAN 方法,其主要思想是訓(xùn)練一個(gè)生成器和一個(gè)鑒別器,使用生成器生成具有誤導(dǎo)性的對(duì)抗樣本,使用鑒別器區(qū)分對(duì)抗樣本和原始樣本;文獻(xiàn)[11]提出AdvGAN 的改進(jìn)版AdvGAN++,向生成器中加入一定的高斯噪聲,使得生成的對(duì)抗樣本更具隨機(jī)性和多樣性,提高了攻擊的魯棒性和隱蔽性;文獻(xiàn)[12]提出AI-GAN 方法,其設(shè)計(jì)靈感來自于人類的攻擊行為,即在攻擊者擁有攻擊目標(biāo)背景知識(shí)的情況下,攻擊者可以針對(duì)目標(biāo)進(jìn)行精準(zhǔn)攻擊。AI-GAN 利用這種攻擊思路,首先通過背景知識(shí)收集對(duì)目標(biāo)模型有益的信息,然后利用這些信息生成對(duì)抗樣本。
雖然上述攻擊方法在對(duì)抗樣本生成方面取得了一定成果,但是它們也存在一些缺點(diǎn),例如:基于梯度的攻擊方法生成的對(duì)抗樣本有一定的規(guī)律性,易于被發(fā)現(xiàn);基于優(yōu)化的CW 方法生成的對(duì)抗樣本遷移性差,在多個(gè)模型中攻擊效果不一致,且計(jì)算成本較高;基于生成式的方法生成的對(duì)抗樣本在可接受性和可解釋性方面有待提高。雖然AI-GAN 可以針對(duì)特定目標(biāo)進(jìn)行攻擊,生成的對(duì)抗樣本更具針對(duì)性和欺騙性,但是AI-GAN 也存在一些缺點(diǎn),如需要額外的輔助數(shù)據(jù)集和背景知識(shí),攻擊效率較低。上述不足都限制了對(duì)抗攻擊在實(shí)際中的應(yīng)用,因此,還需要進(jìn)一步研究和改進(jìn)對(duì)抗攻擊方法。
本文結(jié)合先進(jìn)的深度學(xué)習(xí)模型Transformer[13]和生成對(duì)抗網(wǎng)絡(luò)(GAN)[14],提出基于生成式的攻擊算法Trans-GAN。該算法使用Transformer 作為重構(gòu)網(wǎng)絡(luò),利用其強(qiáng)大的視覺表征能力增強(qiáng)對(duì)抗樣本的可接受性和可解釋性;算法同時(shí)訓(xùn)練基于Transformer的生成器和基于深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)[15]的鑒別器,通過對(duì)鑒別器的對(duì)抗訓(xùn)練來提高生成圖像的真實(shí)性以及攻擊的魯棒性和欺騙性。此外,本文提出改進(jìn)的注意力機(jī)制Targeted Self-Attention,修改網(wǎng)絡(luò)輸入,同時(shí)接收干凈圖像和攻擊目標(biāo),針對(duì)特定目標(biāo)進(jìn)行攻擊,生成更具針對(duì)性和欺騙性的對(duì)抗樣本。
考慮由正常圖像訓(xùn)練得到的目標(biāo)分類模型f,正常的輸入圖像是x,攻擊者試圖找到一個(gè)對(duì)抗擾動(dòng)δ,使得x'=x+δ,其中,對(duì)抗擾動(dòng)δ使得x跨越了分類模型f的決策邊界導(dǎo)致f(x)≠f(x'),x'即為對(duì)抗樣本。對(duì)抗樣本的形式化定義如下:
下面對(duì)相關(guān)術(shù)語進(jìn)行介紹:
1)對(duì)抗攻擊和對(duì)抗防御。對(duì)抗攻擊表示通過一定的算法在原輸入圖像上加入攻擊噪聲得到攻擊圖像,使分類器結(jié)果出錯(cuò)。攻擊任務(wù)的難點(diǎn)在于攻擊成功率和擾動(dòng)大小之間的平衡,一般而言,擾動(dòng)越大,攻擊成功率越高。對(duì)抗防御表示構(gòu)建足夠魯棒的分類器或防御模型,使其在輸入攻擊圖像時(shí)也能夠正確分類。
2)白盒攻擊(white-box attack)和黑盒攻擊(blackbox attack)。根據(jù)攻擊者對(duì)目標(biāo)模型先驗(yàn)知識(shí)的掌握情況,對(duì)抗攻擊可以分為白盒攻擊和黑盒攻擊。還有一種只在訓(xùn)練時(shí)利用目標(biāo)模型先驗(yàn)知識(shí)的攻擊,稱為半白盒攻擊。
3)有目標(biāo)攻擊(targeted attack)和無目標(biāo)攻擊(non-targeted attack)。根據(jù)對(duì)抗攻擊是否設(shè)置目標(biāo)結(jié)果,攻擊被分為有目標(biāo)攻擊和無目標(biāo)攻擊。
4)評(píng)價(jià)指標(biāo)。目前攻擊算法的評(píng)價(jià)指標(biāo)主要采用Lp距離(一般也稱為Lp范數(shù)),如式(2)所示,其中,vi表示像素點(diǎn)i的像素值變化大小,n表示像素點(diǎn)個(gè)數(shù),v一般通過攻擊圖像減原圖像得到,表示兩張圖的差值,也就是擾動(dòng)。目前常用的Lp距離包括L0、L2和L∞。
ViT(Vision Transformer)[16]將 純Transformer 架構(gòu)直接應(yīng)用到一系列圖像塊上進(jìn)行分類任務(wù),取得了優(yōu)異的結(jié)果,引發(fā)了Transformer 在計(jì)算機(jī)視覺應(yīng)用中的熱潮。Transformer 強(qiáng)大的表達(dá)能力主要來源于自注意力機(jī)制的應(yīng)用。計(jì)算機(jī)視覺中的自注意力機(jī)制借鑒自NLP 的思想,保留了Query、Key 和Value等名稱。圖1 中的自注意力機(jī)制結(jié)構(gòu)自上而下分為3 個(gè)分支,分別是Query、Key 和Value(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版,下同)。i表示輸入的卷積特征圖,o表示輸出的自注意力特征圖。計(jì)算時(shí)通常分為3 步:第1 步令Query 和每個(gè)Key 進(jìn)行相似度計(jì)算得到權(quán)重;第2 步使用Softmax 歸一化這些權(quán)重;第3 步將歸一化權(quán)重和Key 相應(yīng)的Value 進(jìn)行加權(quán)求和,得到最后的注意力特征圖。輸出的自注意力特征圖如下(忽略了1×1 卷積操作):
圖1 計(jì)算機(jī)視覺中的自注意力機(jī)制Fig.1 Self-attention mechanism in computer vision
自注意力模塊有助于模擬跨越圖像區(qū)域的長距離、多層依賴關(guān)系。通過在原始特征圖上添加加權(quán)的attention 來獲得特征圖中任意2 個(gè)位置的全局依賴關(guān)系。生成器可以利用自注意力模塊來繪制細(xì)節(jié)充分協(xié)調(diào)的圖像。
GAN 是一種無監(jiān)督生成網(wǎng)絡(luò),包含生成、判別和對(duì)抗3 個(gè)部分,利用對(duì)抗的思想交替訓(xùn)練生成器G和鑒別器D。生成器G負(fù)責(zé)根據(jù)隨機(jī)向量z生成盡可能真實(shí)的樣本G(z),鑒別器負(fù)責(zé)判別接收的內(nèi)容是否真實(shí)。鑒別器會(huì)輸出一個(gè)概率,概率接近1 表示鑒別器認(rèn)為輸入樣本符合真實(shí)數(shù)據(jù)集的數(shù)據(jù)分布,接近0 表示輸入樣本不符合真實(shí)數(shù)據(jù)分布。對(duì)抗是指GAN 交替訓(xùn)練生成器G和鑒別器D的過程。以圖片生成為例,生成器學(xué)習(xí)真實(shí)數(shù)據(jù)的分布,生成一些假樣本,期望能夠騙過鑒別器,然后鑒別器學(xué)習(xí)區(qū)分真樣本和假樣本,交替這一動(dòng)態(tài)博弈過程,直至達(dá)到納什均衡點(diǎn),即鑒別器對(duì)任何圖片的預(yù)測概率都接近0.5,無法判別圖片的真假,此時(shí)表示已經(jīng)訓(xùn)練好生成器,可以停止訓(xùn)練。GAN 的優(yōu)化目標(biāo)如式(4)所示:
其中:Pdata(x)表示真實(shí)樣本數(shù)據(jù)的分布;Pz(z)表示隨機(jī)向量的分布;D(x)表示x是真實(shí)圖像的概率;G(z)表示從輸入噪聲z產(chǎn)生的生成圖像。GAN 的優(yōu)點(diǎn)是可以產(chǎn)生更加清晰、逼真的樣本,缺點(diǎn)是訓(xùn)練不穩(wěn)定,容易出現(xiàn)模式崩潰問題,即使長時(shí)間地訓(xùn)練生成器,生成效果依然可能很差。
受Transformer 和GAN 的啟發(fā),本文提出一種深度學(xué)習(xí)模型Trans-GAN,利用Trans-GAN 生成對(duì)抗樣本,實(shí)現(xiàn)有目標(biāo)攻擊。
如圖2所示,Trans-GAN網(wǎng)絡(luò)結(jié)構(gòu)包括生成模型G、判別模型D和目標(biāo)分類模型f,其中,生成模型使用Transformer 代替原始GAN 中簡單的卷積神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)以原始實(shí)例圖像x和目標(biāo)標(biāo)簽t作為輸入,在模型中進(jìn)行端對(duì)端的訓(xùn)練以生成對(duì)抗實(shí)例。
圖2 Trans-GAN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Trans-GAN network structure
本文使用基于Transformer 的Restormer 模型[17]作為生成器網(wǎng)絡(luò)結(jié)構(gòu),其在高分辨率圖像復(fù)原領(lǐng)域取得了較高的性能。為了實(shí)現(xiàn)有目標(biāo)攻擊,將目標(biāo)標(biāo)簽作為輔助信息參與到重建任務(wù)中,提出自注意力機(jī)制的修改版本Targeted Self-Attention,改進(jìn)后的生成器模型架構(gòu)如圖3 所示。在圖3 中,生成器模型[圖3(a)]采用編碼-解碼結(jié)構(gòu),由若干個(gè)Transformer Block 組成。模型接收干凈樣本x進(jìn)行下采樣,在編碼器的每一層,同時(shí)接收由目標(biāo)標(biāo)簽t變換到同等尺寸大小的目標(biāo)特征圖tn(n取1、2、3、4)作為輸入,在充分提取到圖像特征和目標(biāo)信息后經(jīng)解碼器進(jìn)行逐步上采樣,恢復(fù)原始圖像大小,輸出噪聲信息。下采樣的每個(gè)Transformer Block 中使用修改的自注意力機(jī)制Targeted Self-Attention[圖3(c)],上采樣中每個(gè)Transformer Block 使用原有的自注意力機(jī)制[圖3(b)]。在修改的注意力機(jī)制中,V不再由x通過卷積操作得到,而是由輸入的目標(biāo)特征tn產(chǎn)生,tn表示目標(biāo)標(biāo)簽擴(kuò)張維度后的特征,其尺寸大小和x相同,其余部分不變,這種簡單操作將目標(biāo)標(biāo)簽作為輔助信息,能有效指導(dǎo)生成器進(jìn)行有目標(biāo)攻擊。
圖3 生成器模型架構(gòu)Fig.3 Generator model architecture
本文使用CNN 作為鑒別器網(wǎng)絡(luò)。表1 所示為用于CIFAR10 數(shù)據(jù)集的鑒別器架構(gòu)(用于MNIST 數(shù)據(jù)集的架構(gòu)由于輸入圖片尺寸不同而稍有改變,具體詳見公開代碼)。在表1 中,Conv 表示卷積層,BN表示批歸一化,激活函數(shù)使用斜率為0.2 的LeakyReLU。鑒別器架構(gòu)默認(rèn)使用核窗口大小為4、步幅為2 的卷積操作進(jìn)行下采樣,最后使用Sigmoid函數(shù)輸出鑒別器的置信分?jǐn)?shù)。
表1 用于CIFAR10 數(shù)據(jù)集的鑒別器架構(gòu) Table 1 Discriminator architecture for CIFAR10 dataset
在訓(xùn)練過程中,Transformer 接收原始干凈圖像和攻擊目標(biāo)類別后生成噪聲信息,將殘差連接與原始干凈圖像相結(jié)合生成擾動(dòng)實(shí)例。判別模型和生成模型聯(lián)合訓(xùn)練,使用LGAN損失函數(shù)來提高模型的穩(wěn)定性,LGAN損失設(shè)計(jì)如式(5)所示,其中,G表示生成器,D表示鑒別器,x表示干凈樣本,t表示目標(biāo)標(biāo)簽。
此外,通過在噪聲信息上添加L2約束Lperturbation來控制所生成擾動(dòng)的大小幅度,如式(7)所示,其中,表示L2范數(shù),即求歐氏距離。
為了提高生成模型的能力,改善對(duì)抗樣本的視覺質(zhì)量,采用結(jié)構(gòu)相似度損失Lssim[18]和感知損失Lperception[19]進(jìn)行聯(lián)合訓(xùn)練,分別如式(8)、式(9)所示:
其中:a表示生成的對(duì)抗樣本,即x+G(x,t);μx、μa、σx、σa和σx,a分別表示2 個(gè)圖像、圖像的均值、方差以及協(xié)方差;c1和c2為常數(shù),通常取c1=(K1·L)2,c2=(K2·L)2,一般地,K1取0.01,K2取0.03;L表示灰度級(jí),取255;?表 示VGG 網(wǎng) 絡(luò)[20];j表示網(wǎng) 絡(luò)的第j層;?j(·)和CjHjWj表示第j層的特征圖和尺寸。
網(wǎng)絡(luò)總體損失函數(shù)如式(10)所示,α、β、γ和λ為各部分損失函數(shù)的平衡參數(shù),為了增強(qiáng)模型對(duì)擾動(dòng)量的約束能力,上述參數(shù)默認(rèn)設(shè)置分別為1、10、1 和1,以提高所生成對(duì)抗樣本的可視質(zhì)量。
在推理過程中,本文算法不再需要目標(biāo)分類模型的參與,直接輸入干凈圖像和攻擊標(biāo)簽就能生成相對(duì)應(yīng)的對(duì)抗樣本,能夠攻擊目標(biāo)分類器,使其分類錯(cuò)誤。
Trans-GAN 算法訓(xùn)練流程如算法1 所示。生成器根據(jù)干凈樣本x和目標(biāo)標(biāo)簽t生成對(duì)抗擾動(dòng),計(jì)算出對(duì)抗樣本a;將a輸入目標(biāo)分類器f中計(jì)算對(duì)抗損失,提升攻擊能力;將a和x一起輸入D中計(jì)算GAN損失,提升生成的對(duì)抗樣本和干凈樣本的區(qū)分度;對(duì)x和a計(jì)算相似度損失、感知損失和L2損失,進(jìn)一步提高對(duì)抗樣本的視覺效果。
在測試階段,不需要鑒別器D和目標(biāo)分類器f的參與,只需向生成器G中輸入測試集的干凈樣本以及想要攻擊的目標(biāo)類別標(biāo)簽,即可計(jì)算得出相應(yīng)的對(duì)抗樣本,從而實(shí)施相應(yīng)的攻擊。
本文所有實(shí)驗(yàn)均運(yùn)行在Linux 操作系統(tǒng)上,系統(tǒng)版本為Ubuntu 18.04 LTS,所使用的GPU 資源為2 塊RTX 2080Ti,采用PyTorch 1.9.0 作為深度學(xué)習(xí)框架,CUDA 版本號(hào)為11.1。實(shí)驗(yàn)設(shè)置的總訓(xùn)練輪數(shù)為100 個(gè)Epoch,采用Adam 作為優(yōu)化器,學(xué)習(xí)率設(shè)為0.000 1,權(quán)重衰減系數(shù)設(shè)為0.000 5。
首先評(píng)估所提算法在沒有防御時(shí)對(duì)MNIST[21]和CIFAR10[22]的攻擊效果,然后評(píng)估所提算法在有對(duì)抗訓(xùn)練防御下的攻擊效果。此外,通過對(duì)ImageNet 數(shù)據(jù)集[23]執(zhí)行半白盒攻擊,評(píng)估所提算法的可擴(kuò)展性。實(shí)驗(yàn)過程中對(duì)抗性擾動(dòng)的評(píng)價(jià)指標(biāo)采用L2和L∞范式。MNIST 的擾動(dòng)幅度限制在0.3 以內(nèi),CIFAR10 和ImageNet 的擾動(dòng)使用L2范式進(jìn)行限制。使用不同攻擊方法生成對(duì)抗性例子,以進(jìn)行公平的比較。
從表2 可以看出,在計(jì)算效率方面:FGSM 生成對(duì)抗樣本的運(yùn)行時(shí)間為0.06 s;PGD 在FGSM 的基礎(chǔ)上執(zhí)行迭代攻擊,多次計(jì)算梯度信息,因此運(yùn)行時(shí)間是FGSM 的數(shù)十倍;基于優(yōu)化的攻擊算法CW 超過3 h,運(yùn)行時(shí)間最長;本文所提算法和AdvGAN 一樣屬于生成式攻擊,運(yùn)行時(shí)間遠(yuǎn)小于基于梯度的攻擊算法和基于優(yōu)化的攻擊算法,在訓(xùn)練好模型參數(shù)后,只需進(jìn)行一次簡單的前向傳播即可快速生成對(duì)抗樣本。此外,F(xiàn)GSM 和優(yōu)化類算法只能進(jìn)行白盒攻擊,本文所提算法可以在半白盒設(shè)置下進(jìn)行攻擊,只在訓(xùn)練時(shí)需要模型參與。
表2 不同攻擊算法的攻擊效率比較 Table 2 Comparison of attack efficiency of different attack algorithms
與AdvGAN 算法相比,本文算法接收目標(biāo)標(biāo)簽作為輸入,只需訓(xùn)練1 個(gè)模型即可實(shí)現(xiàn)任意目標(biāo)類別的有目標(biāo)攻擊,而AdvGAN 的攻擊目標(biāo)在訓(xùn)練時(shí)的損失函數(shù)中指定,訓(xùn)練好的模型只能實(shí)現(xiàn)特定目標(biāo)的攻擊。如果將AdvGAN 應(yīng)用到ImageNet 這種具有1 000 個(gè)物體類別的數(shù)據(jù)集中,就需要針對(duì)每個(gè)目標(biāo)類別共訓(xùn)練1 000 個(gè)模型,而本文算法只需訓(xùn)練1 個(gè)模型就能使目標(biāo)分類器分錯(cuò)至任意目標(biāo)類別,因此,本文算法具有更強(qiáng)的應(yīng)用價(jià)值。
首先評(píng)估本文所提算法在沒有任何防御設(shè)置下對(duì)MNIST 和CIFAR10 的攻擊能力。對(duì)于MNIST 數(shù)據(jù)集,在所有實(shí)驗(yàn)中為2 個(gè)模型生成對(duì)抗性例子,2 種模型網(wǎng)絡(luò)結(jié)構(gòu)如表3 所示,模型A 是文獻(xiàn)[24]使用的架構(gòu),模型B 是文獻(xiàn)[9]用于評(píng)估基于優(yōu)化策略的目標(biāo)網(wǎng)絡(luò)體系結(jié)構(gòu)。對(duì)于CIFAR10 數(shù)據(jù)集,選擇ResNet-32[25]和Wide ResNet-34(WRN-34)[26]作為目標(biāo)模型。
表3 用于MNIST 數(shù)據(jù)集的2 種分類模型結(jié)構(gòu) Table 3 Structure of two classification models for MNIST dataset
表4 中展示了在MNIST 和CIFAR10 測試數(shù)據(jù)集上使用AI-GAN 和本文算法對(duì)各個(gè)目標(biāo)類別進(jìn)行攻擊的實(shí)驗(yàn)結(jié)果,表中數(shù)值表示攻擊成功率(ASR),最優(yōu)結(jié)果加粗標(biāo)注。從表4 可以看出,在不同數(shù)據(jù)集上,本文算法的攻擊能力在大多數(shù)攻擊類別上都要強(qiáng)于AI-GAN,并都取得了最高的平均攻擊成功率。具體來說,在MNIST 數(shù)據(jù)集上,本文算法的平均攻擊成功率達(dá)到了99.9%以上,在CIFAR10 數(shù)據(jù)集上平均攻擊成功率也分別達(dá)到了96.36% 和98.47%,這主要得益于作為生成器的Transformer 網(wǎng)絡(luò)具有很強(qiáng)的學(xué)習(xí)能力。
針對(duì)CIFAR10 數(shù)據(jù)集隨機(jī)選擇樣本,生成的對(duì)抗性示例如圖4 所示。使用訓(xùn)練好的攻擊算法從CIFAR10 的10 個(gè)類別中隨機(jī)選擇一張圖像對(duì)其他類別進(jìn)行攻擊。圖4(a)表示生成的對(duì)抗樣本示例,其中對(duì)角線上為原始干凈圖像,“0~9”表示攻擊的目標(biāo)類別,可以看出,從肉眼上基本看不出干凈圖像和對(duì)抗樣本的區(qū)別。將生成器生成的對(duì)抗噪聲進(jìn)行可視化,如圖4(b)所示,可以看出,生成的擾動(dòng)非常小,看不出任何細(xì)節(jié)。將噪聲圖放大10 倍后如圖4(c)所示,從中可以看出明顯的擾動(dòng)細(xì)節(jié)。此外,在對(duì)不同圖像進(jìn)行相同目標(biāo)的攻擊時(shí),生成器產(chǎn)生了紋理極為相似的噪聲擾動(dòng),猜測這是由于在訓(xùn)練過程中同時(shí)接收了干凈圖像和目標(biāo)標(biāo)簽作為輸入,而針對(duì)CIFAR10 數(shù)據(jù)集而言,訓(xùn)練集圖像有50 000 張,而目標(biāo)類別只有10 種,在訓(xùn)練過程中,目標(biāo)標(biāo)簽容易占據(jù)主導(dǎo)地位,指導(dǎo)生成器生成與攻擊類別相對(duì)應(yīng)的特定擾動(dòng),這樣的擾動(dòng)施加在干凈圖像上可以促使目標(biāo)分類器將關(guān)注點(diǎn)聚焦于對(duì)抗樣本中的特定擾動(dòng),從而產(chǎn)生錯(cuò)誤分類。上述這一現(xiàn)象可能推動(dòng)相關(guān)人員對(duì)于通用擾動(dòng)的研究。
圖4 CIFAR10 數(shù)據(jù)集的對(duì)抗樣本示例Fig.4 Examples of adversarial samples of CIFAR10 dataset
面對(duì)不同類型的攻擊策略,學(xué)者們提出了不同的防御手段,其中,對(duì)抗訓(xùn)練被廣泛認(rèn)為是最有效的方法。文獻(xiàn)[7]首先提出對(duì)抗性訓(xùn)練作為提高深度神經(jīng)網(wǎng)絡(luò)魯棒性的有效方法,文獻(xiàn)[24]將其擴(kuò)展到集成對(duì)抗性學(xué)習(xí),文獻(xiàn)[8]也提出針對(duì)更強(qiáng)攻擊方法的魯棒網(wǎng)絡(luò)。本文選擇3 種流行的對(duì)抗性訓(xùn)練方法來提高目標(biāo)模型的魯棒性:1)使用FGSM 進(jìn)行對(duì)抗性訓(xùn)練;2)集成對(duì)抗性訓(xùn)練;3)使用PGD 進(jìn)行迭代式對(duì)抗性訓(xùn)練。假設(shè)攻擊者并不知道防御模型,并使用白盒設(shè)置中的普通目標(biāo)模型作為目標(biāo),直接嘗試攻擊原始的學(xué)習(xí)模型,在這種情況下,如果攻擊者仍然可以成功攻擊模型,就表明攻擊策略具有很強(qiáng)的魯棒性。
首先不考慮任何防御,應(yīng)用不同的攻擊方法在原始模型的基礎(chǔ)上生成對(duì)抗性樣本,然后應(yīng)用不同的防御方法來直接防御這些對(duì)抗性的實(shí)例以得到魯棒模型。將本文所提算法與FGSM、CW 攻擊、PGD 攻擊、AdvGAN、AI-GAN 一起對(duì)這些防御方法進(jìn)行攻擊,定量比較結(jié)果如表5 所示。從表5 可以看出,本文所提算法具有最高的攻擊成功率,優(yōu)于所有其他算法。與傳統(tǒng)的攻擊方法和AdvGAN 相比,AIGAN 和本文算法在2 個(gè)數(shù)據(jù)集的不同模型、不同防御下都取得了更高的攻擊成功率。與AI-GAN 相比,本文所提算法攻擊成功率高出10.74%~55.14%,展現(xiàn)出其良好的攻擊能力。
表5 在防御模型上不同算法的攻擊性能比較Table 5 Comparison of attack performance of different algorithms on defense models %
為了評(píng)估本文所提算法生成高分辨率對(duì)抗樣本的能力,針對(duì)復(fù)雜數(shù)據(jù)集進(jìn)行相關(guān)實(shí)驗(yàn),研究所提算法的有效性和可擴(kuò)展性。從ImageNet-1000k 數(shù)據(jù)集中隨機(jī)選擇100 個(gè)類別,每個(gè)類別含有600 張圖像(輸入大小為224×224 像素)進(jìn)行對(duì)抗攻擊實(shí)驗(yàn)。為了減輕訓(xùn)練壓力,在進(jìn)行有目標(biāo)攻擊時(shí),從100 個(gè)目標(biāo)中隨機(jī)選擇10 個(gè)目標(biāo)進(jìn)行訓(xùn)練。在訓(xùn)練好攻擊模型參數(shù)后,為測試數(shù)據(jù)集中的每個(gè)樣本隨機(jī)選擇一個(gè)不同于其真實(shí)類別的目標(biāo)標(biāo)簽,然后采用FGSM、PGD、本文算法進(jìn)行有目標(biāo)攻擊測試,統(tǒng)計(jì)攻擊所需總時(shí)長以及攻擊成功率,實(shí)驗(yàn)結(jié)果如表6所示。從表6 可以看出:雖然FGSM 作為經(jīng)典且簡單有效的對(duì)抗攻擊算法,在MNIST 和CIFAR10 數(shù)據(jù)集上有著較高的攻擊能力和生成速率,但對(duì)于ImageNet 這種較大尺寸和多目標(biāo)類別的數(shù)據(jù)集,其攻擊性能明顯下降,有目標(biāo)攻擊的成功率只有28.76%;相比于FGSM,基于迭代的PGD 攻擊具有更強(qiáng)的攻擊能力,但其生成對(duì)抗樣本的時(shí)間也成倍增加;本文算法相比于PGD 攻擊不僅具有更高的攻擊成功率,同時(shí)具有更快的生成速率。
表6 在ImageNet 數(shù)據(jù)集上不同算法的攻擊性能比較 Table 6 Comparison of attack performance of different algorithms on ImageNet dataset
本文算法的攻擊性能不僅體現(xiàn)在高攻擊成功率上,還體現(xiàn)在生成的對(duì)抗樣本具有高可視質(zhì)量。如圖5 所示,圖中第1 行表示從測試集中隨機(jī)選取的干凈樣本,第2 行表示使用本文算法生成的對(duì)抗擾動(dòng)的可視圖像,第3 行表示施加了對(duì)抗擾動(dòng)的對(duì)抗樣本。由于訓(xùn)練過程中相似度損失函數(shù)和感知損失函數(shù)的約束,模型學(xué)習(xí)到了更高級(jí)的對(duì)抗擾動(dòng),能夠改變原始圖像的亮度(如第1 列和第2 列示例),或者改變原始圖像的顏色(如第3 列和第4 列示例),或者改變原始圖像的紋理特征(如第5 列和第6 列示例)。傳統(tǒng)方法生成的對(duì)抗擾動(dòng)通常表現(xiàn)為無規(guī)律的雜亂無章的噪聲點(diǎn),會(huì)嚴(yán)重影響干凈樣本的清晰度,而本文算法針對(duì)干凈樣本和目標(biāo)標(biāo)簽生成的對(duì)抗樣本看起來更加自然,更符合人類視覺的觀感特性。
圖5 ImageNet 數(shù)據(jù)集的對(duì)抗樣本示例Fig.5 Example of adversarial samples of ImageNet dataset
本文提出一種基于Transformer 和GAN 的對(duì)抗樣本生成算法Trans-GAN。利用Transformer 架構(gòu)作為GAN 的生成器,同時(shí)接收干凈圖像和目標(biāo)標(biāo)簽作為輸入,提出改進(jìn)的注意力機(jī)制Targeted Self-Attention,有針對(duì)性地生成對(duì)抗性擾動(dòng),并施加到干凈圖像上生成對(duì)抗樣本。將生成網(wǎng)絡(luò)與鑒別器進(jìn)行聯(lián)合訓(xùn)練,以實(shí)現(xiàn)快速收斂,同時(shí)使得對(duì)抗樣本和干凈樣本不可區(qū)分。實(shí)驗(yàn)結(jié)果表明,相比FGSM、PGD等算法,Trans-GAN 算法生成的對(duì)抗樣本可視質(zhì)量更高,圖像更為自然,且在各個(gè)攻擊目標(biāo)類別上具有較高的攻擊成功率,有更好的遷移性能,能夠滿足復(fù)雜應(yīng)用場景的需求。但是,通過定性實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),本文算法針對(duì)同一目標(biāo)類別生成的對(duì)抗擾動(dòng)具有相似的紋理特征,因此,下一步將研究如何快速有效地生成通用擾動(dòng)。