孫家澤,唐彥梅,王曙燕
西安郵電大學(xué) 計(jì)算機(jī)學(xué)院,西安710121
近年來,深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)因其高性能、高可用性和高智能,已經(jīng)在圖像識(shí)別、目標(biāo)檢測、語音識(shí)別、機(jī)器翻譯等任務(wù)上取得了優(yōu)異表現(xiàn),在圖像分類領(lǐng)域的表現(xiàn)尤為突出。雖然現(xiàn)階段的深度神經(jīng)網(wǎng)絡(luò)模型已經(jīng)可以達(dá)到較高的準(zhǔn)確率,但是近期研究表明:可以通過對正常樣本添加微小擾動(dòng)使神經(jīng)網(wǎng)絡(luò)分類器產(chǎn)生誤判,但是這些擾動(dòng)并不會(huì)影響人眼判斷[1]。這一類樣本被稱為對抗樣本,它們極大改變了神經(jīng)網(wǎng)絡(luò)的潛在特征,從而誤導(dǎo)神經(jīng)網(wǎng)絡(luò)影響了神經(jīng)網(wǎng)絡(luò)的輸出。因此提高深度神經(jīng)網(wǎng)絡(luò)模型對對抗樣本攻擊的防御能力,對于深度神經(jīng)網(wǎng)絡(luò)技術(shù)的發(fā)展起到關(guān)鍵作用[2]。
此外,為目標(biāo)模型構(gòu)建的對抗樣本也很有可能導(dǎo)致其他機(jī)器學(xué)習(xí)模型的誤判[3-4],對抗樣本的遷移性使得模型在真實(shí)環(huán)境中的魯棒性尤為重要,否則攻擊者在不了解模型參數(shù)的情況下,也很容易實(shí)現(xiàn)攻擊。提高深度神經(jīng)網(wǎng)絡(luò)的模型魯棒性是處理對抗樣本攻擊的重要方法。對DNN 模型進(jìn)行白盒攻擊時(shí),在擾動(dòng)相同的前提下,模型的分類準(zhǔn)確率越高,魯棒性越好。目前提高模型魯棒性的方法有三類:修改模型的輸入數(shù)據(jù)、修改網(wǎng)絡(luò)結(jié)構(gòu)和增加外部模塊[5]。
修改模型輸入數(shù)據(jù)指的是在訓(xùn)練模型前修改訓(xùn)練數(shù)據(jù)集。將對抗樣本加入訓(xùn)練集中構(gòu)造出更接近真實(shí)的模型對抗邊界的訓(xùn)練方法稱為對抗訓(xùn)練。Goodfellow等人[6]將利用基于梯度攻擊的快速梯度符號(hào)法(fast gradient sign method,F(xiàn)GSM)生成的對抗樣本放入原模型中進(jìn)行訓(xùn)練,實(shí)驗(yàn)表明該方法能在一定程度上提升模型魯棒性,但是這種方法只能使模型對FGSM攻擊魯棒,不能對其他攻擊魯棒。Xie等人[7]同樣利用基于梯度攻擊的投影梯度下降法(project gradient descent,PGD)做對抗訓(xùn)練,這種方法雖然可以對多種攻擊魯棒,但是訓(xùn)練開銷大?;谏蓪咕W(wǎng)絡(luò)(generative adversarial network,GAN)[8]的對抗樣本生成方法AdvGAN[9]使用了帶有編碼器-解碼器的生成器來生成接近原始分布的更真實(shí)的對抗樣本。盡管AdvGAN能夠生成近乎真實(shí)的對抗樣本用于對抗訓(xùn)練,但生成的對抗樣本數(shù)量少且多樣性低[10]。
修改網(wǎng)絡(luò)結(jié)構(gòu)指的是改變損失函數(shù)、激活函數(shù)或添加網(wǎng)絡(luò)層。Papernot 等人[11]提出的防御性蒸餾方法將原模型輸出的概率分布向量再次輸入相同的模型中進(jìn)行學(xué)習(xí),使得最終學(xué)習(xí)到的模型分類邊界更加平滑,是一種梯度遮掩技術(shù),可以防御常見的對抗攻擊方法,但并不能很好地防御C&W(Carlini &Wagner)攻擊[12]。添加外部模塊的方法,如Akhtar 等人[13]在目標(biāo)模型前添加了一個(gè)可以還原全局?jǐn)_動(dòng)[14]的對抗樣本的處理層,但該方法只能防御全局?jǐn)_動(dòng),不能防御其他攻擊。
綜上所述,基于梯度的攻擊方法做對抗訓(xùn)練防御范圍有限,訓(xùn)練開銷大,基于GAN 的AdvGAN 方法由于未能利用潛在特征作為先驗(yàn)導(dǎo)致生成的對抗樣本數(shù)量少、多樣性低,而潛在特征被證明更容易受到對抗性擾動(dòng)的影響[15]。防御性蒸餾方法雖然可以防御常見攻擊,但不能很好地防御C&W攻擊。針對上述問題,本文提出了一種DNN 模型魯棒性優(yōu)化方法AdvRob(model robustness optimization method in adversarial environment)。首先將深度學(xué)習(xí)圖像分類模型作為目標(biāo)模型,為目標(biāo)模型增加額外的分支,將模型改造為可以在速度和準(zhǔn)確率之間進(jìn)行權(quán)衡的特征金字塔結(jié)構(gòu)[16],以實(shí)現(xiàn)特征融合消除各分支輸出的尺度差異;然后以原始圖像的潛在特征作為對抗生成的先驗(yàn),以此生成對抗樣本進(jìn)行對抗訓(xùn)練,提升模型的魯棒性。
在深度神經(jīng)網(wǎng)絡(luò)中,低層特征經(jīng)過的卷積少,語義性低,噪聲多;而高層特征分辨率低,細(xì)節(jié)感知能力弱。為此提出一種模型改造方法,加深模型層次,使模型對輸入的特征有更全面的了解,達(dá)到更好的分類效果:在基礎(chǔ)模型的淺層添加額外的分支,形成多預(yù)測分支結(jié)構(gòu),然后對添加的額外分支進(jìn)行特征融合,即從最深的出口開始,將預(yù)測前的特征卷積到相對淺層的出口,這一步驟遞歸執(zhí)行到最淺層的出口,最后輸出為每個(gè)分支的平均運(yùn)算,由此淺層特征融合了相對它本身而言的全部深層特征。如圖1 所示將模型改造為特征金字塔結(jié)構(gòu)。
圖1 特征金字塔結(jié)構(gòu)Fig.1 Feature pyramid structure
特征金字塔結(jié)構(gòu)的構(gòu)建包括一個(gè)自底向上的路徑、橫向連接及一個(gè)自頂向下的路徑。自底向上的路徑是指深度神經(jīng)網(wǎng)絡(luò)通常有許多層產(chǎn)生相同大小的輸出圖,在此處認(rèn)為這些層處于相同的網(wǎng)絡(luò)階段。對于特征金字塔結(jié)構(gòu)來說,為每個(gè)階段定義一個(gè)金字塔級(jí)別并選擇每一個(gè)階段最后一層的輸出作為預(yù)測分支,原因是每個(gè)階段的最深層的語義信息最強(qiáng)。橫向連接及一個(gè)自頂向下的路徑是指淺層特征圖需要在不改變大小的情況下增加到與深層特征圖相同的通道數(shù),而深層的特征圖需要使用上采樣的方法來擴(kuò)展大小以與淺層特征圖一致,進(jìn)行特征融合時(shí)要從最深的出口開始,將預(yù)測前的特征上卷積融合進(jìn)相對淺層的出口,深層和相對淺層的特征圖信息是互補(bǔ)的。
給定一個(gè)模型M,該模型準(zhǔn)確地將從原始分布中采樣的圖像x映射到其對應(yīng)的標(biāo)簽t,訓(xùn)練生成器G使用其從特征提取器中提取特征映射作為先驗(yàn)來生成圖像x的對手xadv。其中xadv=G(z|f(x)),M(xadv)≠t且||x-xadv||P<ε,p的取值范圍為1 ≤p<∝,ε>0,f表示特征提取器,ε是允許的||.||P最大擾動(dòng)。
基于潛在特征提取的對抗樣本生成方法為FEGAN(latent feature extraction GAN),F(xiàn)EGAN 體系結(jié)構(gòu)如圖2所示。
圖2 FEGAN體系結(jié)構(gòu)Fig.2 FEGAN architecture
FEGAN體系結(jié)構(gòu)包含目標(biāo)模型M、特征提取器f、生成器G和判別器D。首先將圖像x經(jīng)過特征提取器f輸出特征向量f(x),特征向量f(x)作為生成對抗樣本的先驗(yàn)信息;然后將特征向量f(x)和噪聲向量z作為級(jí)聯(lián)向量,輸入到生成器G中生成對抗樣本xadv,判別器D將生成的數(shù)據(jù)和真實(shí)數(shù)據(jù)加以區(qū)分。為了欺騙目標(biāo)模型M,生成器G最小化Mt(xadv),它表示屬于類別t的對抗樣本xadv的Softmax 概率。為了限制擾動(dòng)的大小,最小化xadv和x之間的l2損失。最終損失函數(shù)如式(1)所示:
優(yōu)化的目標(biāo)函數(shù)分為三部分,分別為LGAN、Ladv、Lpert,如式(2)~(4)所示:
其中,α、β是控制目標(biāo)權(quán)重的超參數(shù)。α、β值的選取有以下原則:單獨(dú)訓(xùn)練Ladv和Lpert,記錄Ladv在接近收斂時(shí)的數(shù)值為W1,記錄Lpert在接近收斂時(shí)的數(shù)值為W2,則設(shè)置基準(zhǔn)權(quán)重為W2 ∶W1,W2 ∶W1 約分后分子和分母的值分別對應(yīng)α和β的最終取值。
從目標(biāo)模型M的其中一個(gè)中間卷積層中提取特征f(·),通過求解最小-最大博弈問題得到G和D的最優(yōu)參數(shù)。以此確保在訓(xùn)練過程中利用潛在特征對對抗擾動(dòng)的敏感性生成接近輸入分布的對抗圖像。
算法1描述了FEGAN對抗樣本生成方法。
算法1FEGAN對抗樣本生成算法
輸入:訓(xùn)練數(shù)據(jù)X、訓(xùn)練標(biāo)簽Y、學(xué)習(xí)率、批量大小n。
FEGAN對抗樣本生成算法直接使生成器學(xué)習(xí)從潛在特征空間到對抗圖像的過渡,而不是從整個(gè)輸入圖像中學(xué)習(xí),消除了對生成器遵循基于編碼器-解碼器的體系結(jié)構(gòu)的需要,同時(shí)只使用目標(biāo)模型的最后一個(gè)卷積層作為特征提取器,沒有產(chǎn)生額外的空間開銷,因此FEGAN 算法相比AdvGAN 算法,時(shí)間復(fù)雜度稍高,空間復(fù)雜度有所降低。
實(shí)驗(yàn)所使用的CPU 型號(hào)為Intel Core Processor(Haswel,no TSX,IBRS),使用的圖形處理器型號(hào)為Nvidia Tesla K80,操作系統(tǒng)為Windows 10,Python 版本為3.7,機(jī)器學(xué)習(xí)平臺(tái)為Tensorflow v1.14。
實(shí)驗(yàn)采用經(jīng)典數(shù)據(jù)集MNIST、CIFAR-10和SVHN,其中MNIST 是一個(gè)黑白手寫數(shù)字?jǐn)?shù)據(jù)集,CIFAR-10是一個(gè)彩色圖像數(shù)據(jù)集,SVHN是一個(gè)街景門牌號(hào)碼圖像數(shù)據(jù)集。
為驗(yàn)證本文深度神經(jīng)網(wǎng)絡(luò)模型魯棒性優(yōu)化的有效性,需要回答以下幾個(gè)問題:
問題1在初始模型不使用任何防御策略的情況下,使用FEGAN 方法生成的對抗樣本相比使用AdvGAN 方法生成的對抗樣本更具攻擊力?相比AdvGAN和王曙燕等人提出的對抗樣本生成方法[10],F(xiàn)EGAN方法生成的對抗樣本多樣性是否得到提升?
問題2使用FEGAN 生成的對抗樣本能否向其他模型遷移?
問題3兩種方法單獨(dú)使用以及組合使用是否都能提升模型防御能力?即:FEGAN對抗訓(xùn)練模型、特征金字塔模型和組合這兩種方法訓(xùn)練得到的模型在受到攻擊的情況下是否能夠比原模型得到更好的分類正確率?防御能力是否只對某種攻擊方式有效?
對28 d抗折強(qiáng)度平均值進(jìn)行數(shù)據(jù)處理,該散點(diǎn)分布圖利用Exponential函數(shù)進(jìn)行擬合,通過Matlab軟件利用最小二乘法原理進(jìn)行曲線擬合,得到圖3所示的擬合曲線。
問題4AdvRob 方法相比其他模型魯棒性優(yōu)化方法,對白盒攻擊的防御能力是否有明顯提升?防御能力是否只對某種特定攻擊方式有效?
針對問題1,對比使用AdvGAN方法生成的對抗樣本和使用FEGAN 方法生成的對抗樣本在沒有任何防御策略下對初始模型的攻擊成功率。使用結(jié)構(gòu)相似度和峰值信噪比兩個(gè)指標(biāo)來驗(yàn)證樣本多樣性的提升。
針對問題2,指定目標(biāo)模型,將使用FEGAN方法生成的對抗樣本轉(zhuǎn)移至在執(zhí)行相同任務(wù)的不同模型上進(jìn)行攻擊,觀察攻擊成功率。
針對問題3,將初始原模型指定為Resnet34 模型,對比初始模型、FEGAN 對抗訓(xùn)練模型、特征金字塔模型和AdvRob模型在受到包括C&W攻擊在內(nèi)的五種白盒攻擊的情況下的分類正確率,觀察模型在不同攻擊強(qiáng)度下防御性能。
針對問題4,對比FGSM 對抗訓(xùn)練、PGD 對抗訓(xùn)練、防御性蒸餾、增加外部模塊和AdvRob 在SVHN數(shù)據(jù)集上訓(xùn)練的模型受到白盒攻擊下的分類正確率,觀察AdvRob方法對模型魯棒性優(yōu)化效果。
2.2.1 攻擊成功率分析
使用FEGAN方法生成對抗樣本時(shí),對于特征提取器f,使用目標(biāo)模型M的最后一層卷積層,使用學(xué)習(xí)率0.01,β1=0.5和β2=0.9 的Adam 優(yōu)化器優(yōu)化生成器和鑒別器。從正態(tài)分布采樣噪聲向量,并使用標(biāo)簽平滑來穩(wěn)定訓(xùn)練過程。
AdvGAN 和FEGAN 生成的對抗樣本無攻擊條件下對目標(biāo)模型的攻擊成功率對比如表1 所示。實(shí)驗(yàn)結(jié)果顯示,在AdvGAN攻擊成功率較高的情況下,F(xiàn)EGAN 的攻擊成功率相比AdvGAN 有所提高,F(xiàn)EGAN生成的對抗樣本相比AdvGAN更具攻擊力。
表1 無防御下AdvGAN和FEGAN的攻擊成功率Table 1 Attack success rate of AdvGAN and FEGAN under no defense 單位:%
2.2.2 對抗樣本多樣性分析
如圖3 所示,展示了使用FEGAN 方法在MNIST和CIFAR-10 數(shù)據(jù)集上生成的對抗樣本,圖3 顯示了FEGAN 生成逼真對抗樣本的能力。圖3(a)中每個(gè)對抗樣本右上角數(shù)字代表被分類器誤分類的類標(biāo)簽,圖3(b)中每個(gè)對抗樣本左上角數(shù)字代表正確標(biāo)簽,右上角數(shù)字代表被分類器誤分類的類標(biāo)簽。
圖3 由FEGAN生成的對抗樣本Fig.3 Adversarial images generated by FEGAN
將王曙燕等人提出的圖像對抗樣本方法[10]記為WANGGAN,使用AdvGAN、WANGGAN 和FEGAN方法在相同輸入條件下分別生成2 000 個(gè)對抗樣本用于分析對抗樣本多樣性。使用結(jié)構(gòu)相似度和峰值信噪比兩個(gè)指標(biāo)來評(píng)價(jià)樣本多樣性。
(1)結(jié)構(gòu)相似度
結(jié)構(gòu)相似度(structural similarity,SSIM)量化了樣本間圖像的相似度,對兩個(gè)圖像樣本從亮度、對比度、結(jié)構(gòu)三方面進(jìn)行衡量。SSIM取值范圍為[0,1],值越大圖像失真越小。SSIM 具有對稱性,兩幅圖像完全相同則SSIM值達(dá)到最大值1。
圖4展示了三種方法生成的對抗樣本SSIM值的小提琴圖,在模型訓(xùn)練參數(shù)一致的前提下,AdvGAN、WANGGAN和FEGAN方法生成的對抗樣本SSIM平均值分別為0.854、0.489和0.372,F(xiàn)EGAN方法生成的對抗樣本SSIM平均值相較于AdvGAN、WANGGAN方法分別下降0.482 和0.117,F(xiàn)EGAN 方法生成的對抗樣本明顯更具多樣性。
圖4 對抗樣本結(jié)構(gòu)相似度小提琴圖Fig.4 Violin plot of adversarial sample SSIM
(2)峰值信噪比
峰值信噪比(peak signal to noise ratio,PSNR)也是衡量圖像間相似度的經(jīng)典指標(biāo),PSNR 值越大,說明兩張圖像差別越小。圖5展示了三種方法生成的對抗樣本PSNR 值的小提琴圖,AdvGAN、WANGGAN和FEGAN方法生成的對抗樣本PSNR平均值分別為37.71、35.50 和30.57,F(xiàn)EGAN 方法生成的對抗樣本PSNR平均值相較于AdvGAN、WANGGAN方法分別下降7.14 和4.93,F(xiàn)EGAN 方法生成的對抗樣本多樣性有明顯提高。
圖5 對抗樣本峰值信噪比小提琴圖Fig.5 Violin plot of adversarial sample PSNR
2.2.3 對抗樣本可遷移性
表2展示了由FEGAN生成的對抗樣本在執(zhí)行相同任務(wù)的不同模型上的攻擊成功率。從表2 中可以看到,F(xiàn)EGAN 產(chǎn)生的樣本明顯可以遷移到執(zhí)行相同任務(wù)的其他模型,致使分類器誤分類。
表2 FEGAN生成的對抗樣本可遷移性Table 2 Transferability of adversarial examples generated by FEGAN
2.2.4 AdvRob模型魯棒性優(yōu)化分析
將初始模型記為M模型,將FEGAN對抗訓(xùn)練模型記為B模型,將結(jié)構(gòu)改造后的特征金字塔模型記為D模型,AdvRob模型為使用FEGAN方法對金字塔模型進(jìn)行對抗訓(xùn)練后的模型。白盒攻擊是在攻擊者已知分類器的訓(xùn)練數(shù)據(jù)、模型結(jié)構(gòu)和權(quán)重等信息的情況下生成對抗樣本攻擊神經(jīng)網(wǎng)絡(luò),相對于黑盒攻擊而言具有更強(qiáng)的攻擊能力。
為驗(yàn)證兩種方法單獨(dú)使用以及組合使用是否都能提升模型防御能力,使用5種白盒攻擊方式:FGSM、PGD、C&W、基本迭代法(basic iterative method,BIM)[17]、基于雅可比矩陣的顯著圖攻擊(Jacobian-based saliency map attack,JSMA)[18]。為每種攻擊方式設(shè)置3 種參數(shù)以觀察初始模型、FEGAN對抗訓(xùn)練模型、特征金字塔模型和AdvRob模型在受到5種白盒攻擊情況下的分類正確率。實(shí)驗(yàn)結(jié)果如表3所示。
表3 對抗樣本分類正確率比較Table 3 Comparison of classification accuracy against adversarial samples
第1 部分為MNIST 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,MNIST 數(shù)據(jù)集的樣本結(jié)構(gòu)比較簡單,各種攻擊方式的擾動(dòng)范圍設(shè)置較大;第2 部分為CIFAR-10 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,CIFAR-10數(shù)據(jù)集的樣本結(jié)構(gòu)較復(fù)雜,各種攻擊方式的擾動(dòng)范圍設(shè)置較小。
在MNIST數(shù)據(jù)集上:隨著擾動(dòng)值的增大,M模型對對抗樣本的分類準(zhǔn)確率大幅下降;在高擾動(dòng)下,B模型和D 模型對FGSM、JSMA 攻擊的防御能力相比M 模型提升了至少2倍,對PGD、BIM、C&W 攻擊的防御能力提升了至少6 倍;AdvRob 模型對FGSM、JSMA攻擊的防御能力相比M模型提升了至少4倍,對PGD、BIM、C&W攻擊的防御能力提升了至少10倍。
在CIFAR-10 數(shù)據(jù)集上:高擾動(dòng)下,B 模型對FGSM、BIM攻擊的防御能力相比M模型提升了至少2倍,對PGD、C&W、JSMA攻擊的防御能力提升了至少4 倍;D 模型對FGSM、PGD、BIM 攻擊的防御能力相比M模型提升至少2倍,對C&W、JSMA攻擊的防御能力提升了至少5 倍;AdvRob 模型對上述5 種攻擊的防御能力相比M 模型提升了至少5倍,尤其對JSMA攻擊的防御效果更為明顯。
綜上所述,AdvRob 模型繼承了B 模型和D 模型的優(yōu)勢,在上述5種白盒攻擊下分類正確率相比原模型至少提升了4倍,擴(kuò)大了防御范圍,能夠很好地防御C&W攻擊。
2.2.5 模型魯棒性優(yōu)化效果對比
為進(jìn)一步驗(yàn)證AdvRob 方法對模型魯棒性優(yōu)化效果,在實(shí)驗(yàn)環(huán)境和實(shí)驗(yàn)參數(shù)一致的前提下,對比FGSM對抗訓(xùn)練、PGD對抗訓(xùn)練、防御性蒸餾、增加外部模塊和AdvRob 在SVHN 數(shù)據(jù)集上訓(xùn)練的模型受到白盒攻擊下的分類正確率,如圖6所示。
圖6 不同方法對模型魯棒性的優(yōu)化效果Fig.6 Optimization effect of different methods on robustness of model
由圖6可知,初始模型和增加外部模塊的方法均不能抵御白盒攻擊,尤其是增加外部模塊的方法只能抵御全局?jǐn)_動(dòng),對白盒攻擊毫無抵抗能力。FGSM對抗訓(xùn)練方法只能防御FGSM攻擊,不能防御其他白盒攻擊。防御性蒸餾方法不能很好地防御C&W攻擊,但可以防御除C&W攻擊外的其他四種攻擊。AdvRob方法與PGD對抗訓(xùn)練相比,防御效果有至少0.1的提升。由圖6 可以很清晰地看到,相較于其他幾種方法,AdvRob方法對白盒攻擊的防御效果最為顯著。
針對深度神經(jīng)網(wǎng)絡(luò)對對抗樣本的脆弱性問題,本文提出的DNN 模型魯棒性優(yōu)化方法AdvRob 在五種常見白盒攻擊下,防御能力顯著,提升了DNN模型的魯棒性,并且其中的FEGAN方法生成的對抗樣本相比AdvGAN攻擊成功率高且更具多樣性。
在對抗樣本的研究中仍然存在距離度量難題,因此尋找更為合適的模型魯棒性評(píng)價(jià)指標(biāo)仍然是一個(gè)重要的研究方向。由于本文提出的DNN模型優(yōu)化方法僅針對圖像分類領(lǐng)域,本文方法對自然語言處理和語音識(shí)別等領(lǐng)域暫不適用。在今后工作中,將繼續(xù)對深度神經(jīng)網(wǎng)絡(luò)模型魯棒性提升方法進(jìn)行多領(lǐng)域的深入研究。