郭清楊
(四川大學(xué)計算機學(xué)院,成都 610065)
過去幾年里,機器學(xué)習和神經(jīng)網(wǎng)絡(luò)已經(jīng)取得了很多成就,包括在計算機視覺、自然語言處理等方面。但是近來許多工作已經(jīng)證明其在對抗干擾上是很脆弱的,容易受到一些精心設(shè)計的攻擊方法的攻擊。因為機器學(xué)習和神經(jīng)網(wǎng)絡(luò)已經(jīng)廣泛應(yīng)用于安全相關(guān)的應(yīng)用領(lǐng)域,例如自動駕駛、用戶驗證和能源管理等。
因此,深度模型的對抗樣本引起了許多研究者的關(guān)注,例如,Szegedy等為圖像添加了不可察覺的擾動,以最大化訓(xùn)練神經(jīng)網(wǎng)絡(luò)的分類錯誤,使網(wǎng)絡(luò)無法正確分類圖像[1]。Goodfellow等人提出了FGSM這種基于梯度的算法來生成對抗樣本[2]。Papernot等人是用Jacobian矩陣來確定在生成對抗樣本時要修改哪些特征[3]。大多數(shù)攻擊算法,依靠簡單的像素空間度量優(yōu)化方案,來鼓勵視覺真實感,并且在正確樣本的梯度上添加微小擾動,從而生成感知真實的對抗樣本。本文提出訓(xùn)練一個產(chǎn)生擾動的深度卷積網(wǎng)絡(luò)作為生成模型來生成不同的對抗樣本,一個殘差網(wǎng)絡(luò)作為判別模型來確保生成的樣本看起來是真實的。本文使用生成對抗網(wǎng)絡(luò)(GAN,Generative Adversarial Network)[4]在黑盒攻擊中生成對抗樣本。由于WGAN-GP(Wasserstein GANGradient Penalty)[5]能夠生成高質(zhì)量的圖像[Ishaan等,2017],因此本文基于WGAN-GP模型提出AWGAN(Adversarial on Wasserstein GAN)方法來生成感知現(xiàn)實的對抗樣本。
在以前的白盒攻擊中,如FGSM和優(yōu)化方法,對手需要有白盒訪問的架構(gòu)和模型的權(quán)重參數(shù)等。然而通過部署AWGAN,一旦生成器得到訓(xùn)練,它可以立即為任何輸入實例產(chǎn)生擾動,而不再需要訪問模型本身,我們將此攻擊設(shè)置為黑盒攻擊。
為了評估攻擊策略AWGAN的有效性,首先基于AWGAN和其他針對不同目標模型的攻擊策略生成對抗性實例,然后應(yīng)用最先進的防御系統(tǒng)來抵御這些產(chǎn)生的對抗樣本。我們評估了這些攻擊策略在黑盒攻擊中的性能,證明了由AWGAN生成的對抗樣本可以獲得較高的攻擊成功率,這可能是因為與其他最近的攻擊策略相比,這些對抗樣本更接近真實的實例。
黑盒攻擊就是攻擊者無法得知目標模型的內(nèi)部結(jié)構(gòu)、訓(xùn)練參數(shù)、防御方法等,只能通過輸出輸出與模型進行交互。白盒攻擊則是攻擊者知道目標模型的內(nèi)部結(jié)構(gòu),訓(xùn)練參數(shù)等數(shù)據(jù),可以根據(jù)目標模型具體的信息來進行有針對性的攻擊。因為在實際的應(yīng)用場景中,攻擊者很難對防御模型進行白盒訪問,因此本文主要研究目標為黑盒攻擊。
對抗樣本由Christian Szegedy等人提出,是指在數(shù)據(jù)集中通過故意添加細微的干擾所形成的輸入樣本,導(dǎo)致模型以高置信度給出一個錯誤的輸出。這種愚弄神經(jīng)網(wǎng)絡(luò)的方法就是對抗樣本。這種方法在安全領(lǐng)域受到十分密切的關(guān)注,因為隨著人工智能應(yīng)用的普及,其安全性就越來越重要,如果一個AI很容易被騙過,那么將非常容易被黑客利用。例如,垃圾郵件發(fā)送者可以通過欺騙AI來防止被過濾掉,而更嚴重的例子是,自動駕駛技術(shù)中就包括了行人、車輛的識別,如果黑客使用對抗樣本使得AI誤以為路面上沒有人,那就將造成重大交通事故。
目前已經(jīng)提出一些對抗樣本的生成方法,但是這些方法大都需要知道模型的結(jié)構(gòu)和參數(shù)權(quán)重,屬于白盒攻擊。這里將介紹三種典型的基于梯度的攻擊方法:
(1)Fast Gradient Sign Method
FGSM由Goodfellow等人在2015年提出,是一種在輸入圖像梯度方向上增加擾動的方法,生成樣本公式如下:
這里x是真實樣本,y是真實樣本x的真實標簽,θ是模型參數(shù),?是添加噪聲擾動的幅度。
(2)Projected Gradient Descent
PGD方法由Kurakin等人在2017年提出,是FGSM方法的多步驟變體[6]。FGSM方法是在一定閾值限制之下沿著梯度方向移動一步或添加一次擾動,而PGD方法則是通過多步更小的移動來使得構(gòu)造結(jié)果更加精準。生成樣本公式如下:
這里clip(x,p,q)表示強制輸入x在范圍[p,q]中,并且上邊公式需滿足
(3)Rand FGSM
Rand FGSM方法由Tramer等人在2018年提出,是先對正確圖像進行小的隨機擾動,然后再使用FGSM方法來進行基于擾動后的圖像對抗樣本生成[7]。生成樣本公式如下:
這里 x'=x+α*sign(N(Od,Id))。
我們提出了基于WGAN-GP的AWGAN模型并引入了深度殘差網(wǎng)絡(luò)來生成圖像逼真的對抗樣本,本節(jié)對具體算法進行介紹。
在2014年,Goodfellow在論文中提出了生成生成對抗網(wǎng)絡(luò)(GAN),如圖1所示,該網(wǎng)絡(luò)由兩個相互對抗的神經(jīng)網(wǎng)絡(luò)組成。生成器G(Generator)用來估計數(shù)據(jù)分布并生成圖像,判別器D(Discriminator)用來區(qū)分輸入數(shù)據(jù)中的真實樣本和由G生成的偽樣本。G和D的目標可以形式化為最大最小值函數(shù)V(G,D):
圖1 GAN結(jié)構(gòu)圖
然而,在該論文中,Goodfellow利用數(shù)學(xué)推導(dǎo)證明了,在一般情況下目標函數(shù)V會帶來梯度消失問題。如果D訓(xùn)練的太好,G就無法得到足夠的梯度繼續(xù)進行優(yōu)化,而如果D訓(xùn)練的太弱,指示作用不明顯,同樣無法讓G進行有效學(xué)習,結(jié)果就是在訓(xùn)練中D的訓(xùn)練程度非常難以把控。
因此,Arjovsky等人將EM距離引入GAN當中,提出了WGAN[8]。而WGAN的目標函數(shù)為:
WGAN解決了梯度消失問題,大大提高了GAN訓(xùn)練的穩(wěn)定性。但是,因為WGAN為了保證Lipschitz限制,采用了weight clipping的方法,會使得模型有時候產(chǎn)生樣本質(zhì)量低,難以收斂等問題,因此Ishaan等人提出了WGAN-GP,給WGAN中的Dloss加入梯度懲罰,即Grandient Penalty(GP).WGAN-GP目標函數(shù)為:
我們提出了以WGAN-GP為基礎(chǔ)的AWGAN模型,模型的總體架構(gòu)如圖2所示。主要由生成器G、判別器D、目標模型F三部分組成。
圖2 AWGAN總體架構(gòu)
這里生成器G以真實數(shù)據(jù)x為輸入,產(chǎn)生擾動G(x),然后分別將G(x)發(fā)送給判別器D和目標模型F。判別器以G(X)和真實數(shù)據(jù)x為輸入,用Gan loss來計算分生成數(shù)據(jù)和真實數(shù)據(jù)的距離,從而使生成數(shù)據(jù)真實度更接近真實數(shù)據(jù)。Gan loss可寫為:
目標模型 f以G(x),真實數(shù)據(jù)x,目標標簽y為輸入,用Adv loss來計算擾動與目標標簽的距離。Adv loss可寫為:
這里 f為訓(xùn)練原始模型的損失函數(shù),F(xiàn)loss鼓勵生成的數(shù)據(jù)被錯誤分類到目標y中,c表示一個用戶指定約束,用以穩(wěn)固GAN的訓(xùn)練。所以對抗樣本生成公式可寫為:
在判別器的模型中,使用深度殘差網(wǎng)絡(luò)來代替WGAN-GP中的卷積網(wǎng)絡(luò),將Leaky Relu作為激活函數(shù),并且用Instance Normalization代替Batch Normalization,使得判別器的判別效果明顯得到改善。在生成器模型中,首先進行卷積運算,再使用下采樣減少參數(shù),接著進行殘差網(wǎng)絡(luò)運算提取特征并保持輸出維度,最后再進行上采樣。
實驗平臺為Ubuntu16.04操作系統(tǒng),CPU為AMD Ryzen7 2700X@3.70Ghz處理器,運行內(nèi)存16G,使用了NVIDIA GeForce RTX 2080Ti 11GB顯存顯卡,實驗的配置環(huán)境為PyTorch1.1.0,PyTorch3.7.3。為了驗證提出的模型在對抗樣本的生成問題上的可行性,我們采用率了Mnist和Cifar-10數(shù)據(jù)集。
Mnist數(shù)據(jù)集和Cifar-10數(shù)據(jù)集分別有10個類別,我們針對這些類別,分別使用FGSM、PGD和AWGAN三個方法做攻擊測試。目標模型我們選取Inception v3網(wǎng)絡(luò),擾動限制為5%。
在第一個訓(xùn)練階段,我們需要訓(xùn)練一個WGANGP網(wǎng)絡(luò),目標是得到一個訓(xùn)練好的生成器和判別器。然后把目標模型加入進來,組成一個完整的AWGAN模型。在第二階段,我們開始轉(zhuǎn)換生成器以學(xué)習對抗樣本的分布,在訓(xùn)練過程中,目標模型和判別器輪流訓(xùn)練,以保證在生成有效的對抗樣本的同時,圖像能保持高還原度。在第二階段訓(xùn)練完成之后,即可得到一個能夠生成對抗樣本的AWGAN模型。
因為我們的攻擊為黑盒攻擊,所以對于FGSM和PGD兩種方法,使用可轉(zhuǎn)移性評估。我們使兩種方法在已知目標網(wǎng)絡(luò)中進行對抗性訓(xùn)練,然后轉(zhuǎn)移至統(tǒng)一目標模型進行對抗攻擊,得到了如表1的實驗結(jié)果。
表1三種方法攻擊成功率
表中成功率取自多次實驗結(jié)果,我們在多次試驗中使用相同數(shù)據(jù)集對三種方法進行訓(xùn)練,并且在測試過程中分別對兩個數(shù)據(jù)集設(shè)置相同的攻擊目標標簽,然后進行攻擊成功率統(tǒng)計。從結(jié)果表明,在Mnist數(shù)據(jù)集上,AWGAN的成功率相較于FGSM提高了15.0%,比PGD成功率提高了7.1%。而在Cifar-10數(shù)據(jù)集上,AWGAN的成功率相較于FGSM提高了18.3%,比PGD成功率提高了11.1%。說明本文提出的新方法相較于已有的基于梯度的方法,在黑盒攻擊方向有著更好的攻擊效果,生成的對抗樣本攻擊成功率更高。同時,攻擊效率如表2所示:
表2三種方法的樣本生成效率
我們比較了三種方法的性能,在使用相同數(shù)據(jù)集訓(xùn)練好之后,設(shè)定同一目標進行在同一數(shù)據(jù)集中進行樣本生成,可以看到AWGAN的生成效率是最快的。
在本文中,我們提出了AWGAN模型,使用生成對抗網(wǎng)絡(luò)(GAN)來生成對抗樣本。在我們的模型中,因為WGAN-GP網(wǎng)絡(luò)可以生成高質(zhì)量的圖像,所以我們得到的對抗樣本相較于其他方法更為逼真,并且擺脫了其他方法對于目標網(wǎng)絡(luò)梯度參數(shù)的依賴,具有更好的黑盒攻擊能力。實驗結(jié)果也表明AWGAN可以提高網(wǎng)絡(luò)攻擊成功率和效率,同時提升樣本圖像的質(zhì)量。但是模型生成樣本的遷移性是一個難以攻克的點,尚需下一步繼續(xù)研究。