王佳敏,錢亞冠,李思敏,梁小玉
(浙江科技學(xué)院 理學(xué)院,杭州 310023)
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)在圖像分類上表現(xiàn)出優(yōu)異的性能。但是,現(xiàn)有研究表明CNN容易受到對(duì)抗樣本的攻擊[1-2]。對(duì)抗樣本指在圖像上添加的肉眼不能察覺的微小擾動(dòng),它導(dǎo)致CNN做出錯(cuò)誤的預(yù)測(cè);同時(shí),對(duì)抗樣本的擾動(dòng)性還可以在不同模型之間轉(zhuǎn)移[3],這種可轉(zhuǎn)移性能在未知目標(biāo)模型的權(quán)重和結(jié)構(gòu)的情況下進(jìn)行黑盒攻擊。在現(xiàn)實(shí)世界中,黑盒攻擊已被證明是可行的,這對(duì)某些安全敏感的領(lǐng)域(例如身份認(rèn)證)構(gòu)成了極大的威脅。因此,構(gòu)建有效的防御措施,保證深度學(xué)習(xí)技術(shù)能被安全運(yùn)用,已成為急需解決的問題。
目前,針對(duì)對(duì)抗樣本的問題,人們提出了很多防御方法,大致分為四類:1) 對(duì)抗訓(xùn)練[4],通過在數(shù)據(jù)集中添加對(duì)抗樣本及正確的類標(biāo)簽,修正決策邊界,增強(qiáng)模型的魯棒性;2) 防御蒸餾[5],將復(fù)雜模型所獲得的知識(shí)轉(zhuǎn)移到更簡(jiǎn)單的模型上,實(shí)現(xiàn)梯度掩蔽的目的;3) 對(duì)抗樣本檢測(cè)[6],通過檢測(cè)對(duì)抗樣本,防止對(duì)抗圖像輸入CNN;4) 去噪預(yù)處理,在輸入CNN之前將對(duì)抗樣本的噪聲消除,達(dá)到保護(hù)CNN不被欺騙的目的[7]。我們提出的方法屬于去噪預(yù)處理,一種基于注意力機(jī)制的條件生成對(duì)抗網(wǎng)絡(luò)(attention conditional generative adversarial net,Attention-CGAN)的對(duì)抗樣本去噪方法。目前也有類似的方法被提出,例如Samangouei等[8]提出防御生成對(duì)抗網(wǎng)絡(luò)(defense generative adversarial net,Defense-GAN),該方法利用WGAN[9](Wasserstein GAN)生成模型來模擬干凈圖像的分布,達(dá)到有效地防御對(duì)抗樣本的目的;Shen等[7]提出基于GAN消除對(duì)抗擾動(dòng)(adversarial perturbation elimination with GAN,APE-GAN),該方法使用干凈樣本訓(xùn)練GAN,生成器用于去除對(duì)抗樣本的噪聲,判別器用于區(qū)分去噪樣本與干凈樣本;Liu等[10]提出將干凈樣本和對(duì)抗樣本同時(shí)輸入生成器,考慮了干凈樣本的分布,從而提高了模型的防御性能。但是,以上幾種方法都沒有將注意力機(jī)制[11]和分類損失考慮在內(nèi),使得生成器不能處理例如ImageNet這種比較復(fù)雜的圖像,也不能保證去除噪聲后的樣本注意力與干凈樣本注意力一致。為了解決這些問題,我們提出Attention-CGAN,即在訓(xùn)練CGAN的時(shí)候,構(gòu)造新的損失函數(shù)——注意力損失函數(shù)和分類損失函數(shù),以達(dá)到在去噪的同時(shí)保留干凈樣本注意力的目的。
Attention-CGAN的對(duì)抗防御流程分為兩步:第一步,通過構(gòu)造注意力分類損失函數(shù)訓(xùn)練CGAN來修復(fù)對(duì)抗樣本,得到一個(gè)重建的圖像;第二步,將重建的圖像輸入分類器,如果能被正確分類,則達(dá)到消除噪聲對(duì)圖像語(yǔ)義影響的目的。本研究在訓(xùn)練Attention-CGAN時(shí)加入了分類損失,其目的是利用標(biāo)簽信息使得生成器的模擬空間變小,從而降低模型的訓(xùn)練難度。
基于Attention-CGAN的對(duì)抗樣本防御方法流程圖如圖1所示。Attention-CGAN由三部分組成:生成器G、判別器D及注意力分類損失函數(shù)LAttention-CGAN。假設(shè)干凈樣本為x,擾動(dòng)為δ,那么干凈樣本對(duì)應(yīng)的對(duì)抗樣本x′=x+δ,生成器和判別器均以額外信息x′為條件,直接學(xué)習(xí)輸入x′與輸出去噪樣本x″之間的映射。生成器G用于重建注意力區(qū)域,得到去噪樣本x″,而判別器D盡可能檢測(cè)出G“偽造”的x″,D也可以看作是G的指導(dǎo)。考慮到CGAN訓(xùn)練的不穩(wěn)定性,為避免G合成的輸出圖像中出現(xiàn)偽像,從而導(dǎo)致x″輸入分類器時(shí)很難被正確分類,本研究定義了注意力分類損失函數(shù)來解決此問題。
圖1 基于Attention-CGAN的對(duì)抗樣本防御方法流程圖
Attention-CGAN的生成器G和判別器D共同構(gòu)成一個(gè)動(dòng)態(tài)博弈模型。判別器D的任務(wù)是區(qū)分來自模型的樣本和來自訓(xùn)練數(shù)據(jù)的樣本,生成器G的任務(wù)是最大限度地混淆D。上述博弈過程可以當(dāng)作一個(gè)極小極大問題來建立模型:
(1)
式(1)中:E為數(shù)學(xué)期望;z為隨機(jī)噪聲。生成器G和判別器D的定義及結(jié)構(gòu)如下。
1.1.1 生成器G
(Z×X′)→X″是生成模型,生成器G接收隨機(jī)噪聲數(shù)據(jù)z∈Z及對(duì)抗樣本x′∈X′,生成去噪圖像x″∈X″。對(duì)于單個(gè)對(duì)抗樣本x′去噪,在不丟失背景圖像任何細(xì)節(jié)信息的情況下,生成器G盡可能地重建注意力區(qū)域,使得x″與x的分布無限接近。因此,問題的關(guān)鍵在于設(shè)計(jì)一個(gè)良好的G的結(jié)構(gòu)來生成x″。
目前很多方法是基于稀疏編碼[12-14],這些方法采用的是對(duì)稱編碼-解碼結(jié)構(gòu),將輸入的圖像傳輸?shù)教囟ㄓ騺碛行Х蛛x背景圖像和不需要的成分(例如本研究的對(duì)抗擾動(dòng)),在分離之后將背景圖像(在新域中)轉(zhuǎn)移回原始域。因此,本研究生成器的結(jié)構(gòu)采用U形對(duì)稱網(wǎng)絡(luò),其結(jié)構(gòu)示意如圖2。U形對(duì)稱網(wǎng)絡(luò)是在圖像分割領(lǐng)域應(yīng)用非常廣泛的網(wǎng)絡(luò)結(jié)構(gòu),利用跳躍連接(skip-connections),使不同分辨率條件下低層的細(xì)節(jié)信息得以保留,從而能充分融合特征[15]。參考文獻(xiàn)[16],本研究G的結(jié)構(gòu)采用步幅為2的4個(gè)向下卷積層,9個(gè)殘差塊[17]和4個(gè)向上卷積層。
1.1.2 判別器D
(X″×X)→[0,1]是判別模型,判別器D接收x″和x,盡可能檢測(cè)出G“偽造”的x″,D也可以看作是G的指導(dǎo)。從Attention-CGAN結(jié)構(gòu)來看,對(duì)輸入的x′進(jìn)行去噪得到x″,不僅是為了使x″在視覺上與x接近,而且還確保x″與x在定量角度相當(dāng)甚至不可區(qū)分。因此,D針對(duì)每個(gè)輸入圖像的真?zhèn)芜M(jìn)行分類。本研究D的結(jié)構(gòu)是一個(gè)7層卷積神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)示意如圖2。
圖2 生成器G和判別器D的結(jié)構(gòu)示意圖
圖3 干凈樣本和對(duì)抗樣本的注意力圖
(2)
(3)
由于CGAN訓(xùn)練極不穩(wěn)定,會(huì)導(dǎo)致以下3種情況:第一,去噪之后的圖像仍然帶有噪聲,或者出現(xiàn)畸形;第二,去噪之后的圖像不能保留原始圖像的語(yǔ)義特征,即注意力區(qū)域發(fā)生轉(zhuǎn)移;第三,去噪之后的圖像輸入分類器后不能被正確分類。為了解決這些問題,本研究引入注意力損失函數(shù)、分類損失函數(shù)及感知損失函數(shù)來訓(xùn)練生成對(duì)抗網(wǎng)絡(luò):
LAttention-CGAN=L0+λ1L1+λ2L2+λ3L3+λ4L4。
(4)
式(4)中:L0為像素級(jí)損失函數(shù);L1為對(duì)抗損失函數(shù);L2為注意力損失函數(shù);L3為分類損失函數(shù);L4為感知損失函數(shù);λ1、λ2、λ3和λ4分別為對(duì)抗損失函數(shù)、注意力損失函數(shù)、分類損失函數(shù)及感知損失函數(shù)的預(yù)定義權(quán)重。新的損失函數(shù)LAttention-CGAN能保留圖像的原始注意力區(qū)域,同時(shí)保留圖像的顏色和紋理信息,使去噪之后的圖像擁有良好的視覺效果,且能夠被正確分類,最終達(dá)到防御的目的。下面給出L0、L1、L2、L3及L4的具體形式。
1.3.1 像素級(jí)損失函數(shù)
給定一個(gè)通道為C、寬為W、高為H的圖像對(duì){x′,x}(即C×W×H),像素級(jí)的損失函數(shù)定義為
(5)
1.3.2 注意力損失函數(shù)
注意力損失函數(shù)最大程度地減少2張注意力圖之間的成對(duì)差異,其公式為
(6)
1.3.3 對(duì)抗損失函數(shù)和分類損失函數(shù)
給定N個(gè)輸入-標(biāo)簽對(duì)(xi,x′i,yi),對(duì)抗損失函數(shù)及分類損失函數(shù)的計(jì)算分別如下:
(7)
(8)
式(8)中:S為softmax函數(shù)。
1.3.4 感知損失函數(shù)
假設(shè)某個(gè)網(wǎng)絡(luò)φ第i層輸出的特征圖大小為Ci×Wi×Hi,其感知損失函數(shù)的計(jì)算如下:
(9)
本研究采用的感知損失函數(shù)與文獻(xiàn)[19]中的方法類似,加入感知損失函數(shù)的目的是最小化高級(jí)特征之間的距離,不同之處在于本研究采用的是VGG-16的ReLU3_3層的輸出來計(jì)算感知損失。
為了驗(yàn)證本文方法的有效性,我們?cè)?個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行了試驗(yàn)。首先通過可視化分析,從肉眼角度直觀說明用本方法對(duì)圖像去噪的可行性,以及驗(yàn)證去噪之后的圖像注意力區(qū)域是否保持不變;然后采用典型對(duì)抗攻擊,包括PGD和C&W方法來驗(yàn)證Attention-CGAN的防御性能;最后與目前最新的防御方法進(jìn)行比較,以驗(yàn)證Attention-CGAN的有效性。
2.1.1 數(shù)據(jù)集
在CIFAR10[20]和ILSVRC2012[21]2個(gè)基準(zhǔn)數(shù)據(jù)集上進(jìn)行試驗(yàn)驗(yàn)證,所有的自然圖像均歸一化到[0,1]。CIFAR10數(shù)據(jù)集由60 000張32×32×3像素的圖像組成,包含10類圖像,每類6 000張圖,其中50 000張用于訓(xùn)練,另外10 000張用于測(cè)試。ILSVRC2012圖像分類數(shù)據(jù)集包含1 000類圖像,共有120萬張244×244×3像素的圖片,其中50 000張作為驗(yàn)證集。
2.1.2 模型和試驗(yàn)環(huán)境
所有的CIFAR10試驗(yàn)均使用AlexNet[22]、VGG11[23]和ResNet18[17]網(wǎng)絡(luò)結(jié)構(gòu),在單個(gè)GeForce RTX 2080ti上運(yùn)行;所有的ILSVRC2012試驗(yàn)均使用AlexNet、VGG16和ResNet34網(wǎng)絡(luò)結(jié)構(gòu),在4個(gè)GeForce RTX 2080tis上運(yùn)行。
2.1.3 Attention-CGAN的訓(xùn)練方法
使用自適應(yīng)動(dòng)量(adaptive momentum,Adam)優(yōu)化器,初始學(xué)習(xí)率設(shè)置為0.0 002,CIFAR10和ILSVRC2012的批量分別為128和32,CIFAR10和ILSVRC2012的迭代次數(shù)分別為1 000和2 000,損失函數(shù)的權(quán)重分別為λ1=1、λ2=1、λ3=1.5和λ4=1。
2.1.4 攻擊方法
在評(píng)估試驗(yàn)中使用PGD-50、C&W(l2范數(shù))攻擊。對(duì)于PGD-50,擾動(dòng)約束設(shè)置為16/255,步長(zhǎng)為2/255,隨機(jī)重啟10次;對(duì)于C&W設(shè)置常數(shù)為1,學(xué)習(xí)率為0.01,迭代1 000次。
2.1.5 評(píng)價(jià)指標(biāo)
采用分類器的分類準(zhǔn)確率來定量分析本研究方法的防御性能,峰值信噪比(peak signal to noise ratio,PSNR)[24]和結(jié)構(gòu)相似性指數(shù)(structural similarity,SSIM)[25]用來定量分析生成圖片的質(zhì)量。給定H×W像素的圖像x,其對(duì)應(yīng)的對(duì)抗樣本為x′,那么x與x′之間的PSNR和SSIM可定義為
(10)
SSSIM(x,x′)=[l(x,x′)]α[c(x,x′)]β[s(x,x′)]γ。
(11)
式(10)~(11)中:MXMSE(x,x′)為x與x′的均方誤差;α、β、γ均大于0;l(x,x′)為亮度比較;c(x,x′)為對(duì)比度比較;s(x,x′)為結(jié)構(gòu)比較。
(12)
(13)
(14)
(15)
式(13)~(15)中:μx和μx′分別為x與x′的像素平均值;σx和σx′分別為x與x′的像素標(biāo)準(zhǔn)差;σxx′為x與x′之間的像素協(xié)方差;c1、c2和c3均為常數(shù)。
為了驗(yàn)證本算法能較好地去除噪聲,本研究通過兩步來說明。第一,通過可視化分析來說明Attention-CGAN的去噪結(jié)果在視覺上的可行性。Attention-CGAN在CIFAR10和ILSVRC2012數(shù)據(jù)集上的可視化試驗(yàn)結(jié)果如圖4所示,從圖4(a)第三行可以清楚觀察到Attention-CGAN具有很好的去噪性能,并且能充分學(xué)習(xí)數(shù)據(jù)集的特征,這一點(diǎn)在ILSVRC2012數(shù)據(jù)集上體現(xiàn)更為明顯(圖4(b))。與CIFAR10相比,ILSVRC2012更好地反映圖像的細(xì)節(jié)特征,圖像的語(yǔ)義特征也更加清晰,即使圖像紋理更加復(fù)雜,Attention-CGAN依然可以達(dá)到良好的去噪效果。第二,通過可視化分析來說明去噪后的圖像具有語(yǔ)義不變性。干凈樣本與其對(duì)應(yīng)的去噪樣本的注意力示意圖如圖5所示,圖中第一行為干凈樣本及其對(duì)應(yīng)的注意力區(qū)域,第二行為去噪之后的樣本及其對(duì)應(yīng)的注意力區(qū)域,從中可以觀察到去噪之后的樣本注意力區(qū)域幾乎不會(huì)發(fā)生轉(zhuǎn)移,這也說明本研究提出的方法在去噪的同時(shí)有效地保留了干凈樣本的特征,使得圖像注意力區(qū)域幾乎不發(fā)生偏移。
圖4 Attention-CGAN在CIFAR10和ILSVRC2012上的可視化試驗(yàn)結(jié)果
圖5 干凈樣本與其對(duì)應(yīng)的去噪樣本的注意力示意圖
本研究利用定量試驗(yàn)來驗(yàn)證Attention-CGAN的防御性能。表1展示了在CIFAR10和ILSVRC2012上基于PGD和C&W攻擊算法的不同分類模型的分類準(zhǔn)確率。由表1可知,本研究提出的Attention-CGAN方法對(duì)對(duì)抗樣本具有很好的復(fù)原效果,去噪之后的分類準(zhǔn)確率顯著提高。例如,使用PGD對(duì)CIFAR10_ResNet18的攻擊,去噪之后的分類準(zhǔn)確率從6.8%提高到79.1%。接下來,將本文方法與其他防御方法進(jìn)行對(duì)比,以進(jìn)一步說明Attention-CGAN的防御性能。
表1 在不同攻擊方法和數(shù)據(jù)集下不同分類模型的分類準(zhǔn)確率
為了進(jìn)一步驗(yàn)證Attention-CGAN的有效性,將其與現(xiàn)有的3種防御方法進(jìn)行比較,分別是APE-GAN[7]、Defense-GAN[16]和Liu等[18]提出的方法。不同模型和數(shù)據(jù)集下4種防御方法分類準(zhǔn)確率的比較見表2,其中攻擊方法采用PGD-50算法,在CIFAR10_VGG11上,與上述3種方法相比,本算法的分類準(zhǔn)確率分別提高了7.5%、8.3%和7.5%。這說明本研究提出的方法能有效去除對(duì)抗樣本的噪聲,達(dá)到防御對(duì)抗攻擊的目的。同時(shí),本研究采用2個(gè)廣泛使用的圖像質(zhì)量度量指標(biāo)PSNR和SSIM,來定量分析去噪后樣本與干凈樣本的相似度。這兩個(gè)指標(biāo)有相同的評(píng)價(jià)標(biāo)準(zhǔn),即其值越大圖像質(zhì)量越好。不同防御方法對(duì)不同攻擊方法生成的對(duì)抗樣本進(jìn)行去噪前后的PSNR和SSIM對(duì)比見表3和表4,與其他3種方法進(jìn)行比較,本研究所提方法的PSNR和SSIM明顯較高,表明Attention-CGAN顯著提高了圖像的質(zhì)量,而且有效地保留了干凈樣本的重要語(yǔ)義特征,使得去噪之后的樣本注意力區(qū)域與干凈樣本保持一致。
表2 不同模型和數(shù)據(jù)集下4種防御方法分類準(zhǔn)確率的比較
表3 不同防御方法對(duì)不同攻擊方法生成的對(duì)抗樣本進(jìn)行去噪前后的PSNR對(duì)比
表4 不同防御方法對(duì)不同攻擊方法生成的對(duì)抗樣本進(jìn)行去噪前后的SSIM對(duì)比
本研究提出了一種新的對(duì)抗樣本防御方法——Attention-CGAN:引入注意力分類損失有效地實(shí)現(xiàn)對(duì)抗樣本的去噪,同時(shí)保留干凈樣本的語(yǔ)義特征;利用標(biāo)簽信息減少了Attention-CGAN的訓(xùn)練難度,使得去噪后的樣本和干凈樣本的分布更接近,從而提高了分類器對(duì)對(duì)抗樣本的防御性能。在2個(gè)數(shù)據(jù)集上進(jìn)行了大量的定性和定量試驗(yàn),結(jié)果表明,Attention-CGAN能有效地去除對(duì)抗樣本的噪聲且保留原始干凈樣本的語(yǔ)義特征,從而驗(yàn)證了本防御方法的有效性。