范宇豪 張銘凱 夏仕冰
摘 ? 要:深度神經(jīng)網(wǎng)絡(luò)(DNN)在預(yù)測(cè)過程中會(huì)受到對(duì)抗攻擊而輸出錯(cuò)誤的結(jié)果,因此研究具有防御能力的新型深度學(xué)習(xí)算法, 對(duì)于提高神經(jīng)網(wǎng)絡(luò)的魯棒性和安全性有重要的價(jià)值。文章主要研究應(yīng)對(duì)對(duì)抗樣本攻擊的被動(dòng)防御方法,提出基于插值法的對(duì)抗攻擊防御算法(Interpolation Defense Algorithm,IDA),實(shí)驗(yàn)結(jié)果表明,本算法可以提高神經(jīng)網(wǎng)絡(luò)對(duì)于對(duì)抗樣本的識(shí)別率。
關(guān)鍵詞:對(duì)抗樣本;防御算法;插值算法;機(jī)器學(xué)習(xí)
中圖分類號(hào): TP309 ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
Abstract: The deep neural network (DNN) will output wrong results in the process of prediction due to the adversarial attack. Therefore, it is of great value to study a new deep learning algorithm with defense capability to improve the robustness and security of the neural network. This paper mainly studies the passive defense method against adversarial attack, and proposes the Interpolation defense algorithm (hereinafter referred to as IDA) based on the Interpolation method. Experimental results show that the algorithm can improve the recognition rate of neural network against adversarial examples.
Key words: counter sample; defense algorithm; interpolation algorithm; machine learning
1 引言
近年來(lái),深度學(xué)習(xí)在圖像識(shí)別領(lǐng)域發(fā)展迅速,神經(jīng)網(wǎng)絡(luò)對(duì)一些特定數(shù)據(jù)集的識(shí)別能力已經(jīng)超過了人類的水平,并且深度學(xué)習(xí)的快速學(xué)習(xí)能力可以給大數(shù)據(jù)領(lǐng)域的研究提供幫助。然而,近期研究表明,深度學(xué)習(xí)給人們生活帶來(lái)方便的同時(shí)也存在一定的安全問題。對(duì)抗樣本(Adversarial Examples)概念是Szegedy[1]等人在2014年首次提出,這一問題在神經(jīng)網(wǎng)絡(luò)內(nèi)部普遍存在。例如,在人臉識(shí)別系統(tǒng)中,通過有目標(biāo)的攻擊來(lái)偽造面部信息,攻擊者能夠騙過識(shí)別系統(tǒng),進(jìn)行非法身份認(rèn)證。在自動(dòng)駕駛領(lǐng)域,如果交通指示牌被人為惡意篡改,會(huì)導(dǎo)致汽車的識(shí)別系統(tǒng)做出錯(cuò)誤的判斷從而造成交通事故。因此,如何提高深度神經(jīng)網(wǎng)絡(luò)的安全性成為我們迫切需要解決的問題。
面對(duì)毫無(wú)準(zhǔn)備措施的神經(jīng)網(wǎng)絡(luò),對(duì)抗樣本的攻擊效果顯著,Szegedy[1]等人的文章表明只需要對(duì)樣本進(jìn)行細(xì)微的調(diào)整就導(dǎo)致模型以高置信度給出一個(gè)錯(cuò)誤的輸出,并且這種變化通常是像素級(jí)別,人工無(wú)法檢查出這種差別,使得對(duì)抗攻擊可以在人類不知不覺中完成。對(duì)抗樣本的出現(xiàn)證明現(xiàn)有的深度學(xué)習(xí)模型具有脆弱性,同時(shí)讓人們反思深度學(xué)習(xí)是否真正地學(xué)習(xí)到了深層次的信息。所以研究更加強(qiáng)大的防御方法是人工智能未來(lái)的重要發(fā)展方向。
2 相關(guān)工作
基于防御策略的不同, 目前對(duì)抗樣本的防御方法主要分為兩種[11]:
(1)被動(dòng)防御:在已有的深度神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上檢驗(yàn)對(duì)抗樣本(IDA屬于此類);
(2)主動(dòng)防御:通過提高深度神經(jīng)網(wǎng)絡(luò)的魯棒性和健壯性,消除對(duì)抗樣本對(duì)神經(jīng)網(wǎng)絡(luò)的判別結(jié)果的影響。本節(jié)中我們主要討論幾種主動(dòng)防御策略。
2.1 網(wǎng)絡(luò)蒸餾
網(wǎng)絡(luò)蒸餾[2,3]最初是一種將知識(shí)從大型網(wǎng)絡(luò)轉(zhuǎn)移到小型網(wǎng)絡(luò)以減小深層神經(jīng)網(wǎng)絡(luò)規(guī)模的方法。后來(lái),Papernot等人[4]提出了一種運(yùn)用網(wǎng)絡(luò)蒸餾從深度神經(jīng)網(wǎng)絡(luò)中提取知識(shí)以提高神經(jīng)網(wǎng)絡(luò)的魯棒性從而防御對(duì)抗性樣本的思路。他們發(fā)現(xiàn)對(duì)抗攻擊主要針對(duì)網(wǎng)絡(luò)敏感度,并且證明使用高溫Softmax可以有效地降低模型對(duì)微小擾動(dòng)的敏感度。Papernot對(duì)網(wǎng)絡(luò)蒸餾防御進(jìn)行了測(cè)試,成功將JSMA攻擊在MNIST和CIFAR-10數(shù)據(jù)集上的成功率分別降低到0.5%和5%。此外,網(wǎng)絡(luò)蒸餾還可以提高神經(jīng)網(wǎng)絡(luò)的泛化能力。
2.2 對(duì)抗訓(xùn)練
對(duì)抗訓(xùn)練將對(duì)抗樣本混合到原樣本中作為深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),這是提高神經(jīng)網(wǎng)絡(luò)泛化能力的方法之一。文獻(xiàn)[5,6]的作者嘗試在訓(xùn)練階段的每一輪訓(xùn)練中都生成一定量的對(duì)抗樣本,并將其混入訓(xùn)練集中進(jìn)行訓(xùn)練。實(shí)驗(yàn)結(jié)果表明對(duì)抗訓(xùn)練可以提高深度神經(jīng)網(wǎng)絡(luò)的魯棒性,可以為深度神經(jīng)網(wǎng)絡(luò)提供規(guī)則化[5],同時(shí)也可以提高神經(jīng)網(wǎng)絡(luò)的精度[7]。
2.3 分類器魯棒
文獻(xiàn)[7,8]的作者都設(shè)計(jì)了一種魯棒性強(qiáng)的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)用來(lái)防御對(duì)抗樣本?;趯?duì)抗樣本的不確定性,Bradshaw等人[8]采用貝葉斯分類器來(lái)構(gòu)造健壯的神經(jīng)網(wǎng)絡(luò),用具有RBF核的高斯過程(GPs)來(lái)提供不確定性估計(jì),并將所提出的神經(jīng)網(wǎng)絡(luò)命名為高斯過程混合深度神經(jīng)網(wǎng)絡(luò)(GPDNN)。實(shí)驗(yàn)結(jié)果表明,GPDNN的性能與普通DNN相當(dāng),并且具有更強(qiáng)的防御對(duì)抗樣本的能力。文獻(xiàn)[9]的作者觀察到深度神經(jīng)網(wǎng)絡(luò)通常會(huì)將對(duì)抗樣本判別為一小部分不正確的類別,作者通過將這部分不正確的類別劃分為子類別,并將所有子類別的結(jié)果匯總,有效防止對(duì)抗樣本被誤分類。
3 基于插值法的對(duì)抗攻擊防御算法
對(duì)抗樣本的原理是通過給原樣本添加噪聲使神經(jīng)網(wǎng)絡(luò)受到干擾,因?yàn)槿搜廴钥梢哉WR(shí)別出對(duì)抗樣本的內(nèi)容,所以對(duì)抗樣本內(nèi)的有效信息仍然是保留的,因此我們只要把對(duì)抗樣本的深層次信息挖掘出來(lái)就可以做到正確識(shí)別對(duì)抗樣本。
在圖像處理領(lǐng)域中,插值算法可以在圖片縮小和放大過程中較好地保留圖片信息,本文根據(jù)插值算法這一特性提出了對(duì)樣本預(yù)先處理的算法。因?yàn)樵谏窠?jīng)網(wǎng)絡(luò)未受攻擊時(shí)對(duì)圖片進(jìn)行插值操作會(huì)損失圖片內(nèi)部的信息,致使樣本識(shí)別率下降,所以在神經(jīng)網(wǎng)絡(luò)識(shí)別效率很低時(shí),才對(duì)輸入的樣本進(jìn)行插值縮小再插值還原,如果神經(jīng)網(wǎng)絡(luò)識(shí)別效率較高則保持神經(jīng)網(wǎng)絡(luò)的輸出。通過比較不同插值法在圖片處理中的表現(xiàn),本文在縮小時(shí)使用基于像素區(qū)域算法,在恢復(fù)原尺寸時(shí)使用立方卷積插值算法,能夠更好地提高處理后圖片的識(shí)別準(zhǔn)確率。
算法:基于插值法的對(duì)抗攻擊防御算法(IDA)
(1)輸入:X,model,Y;
(2)輸出:model.predict;
(3) if model.evaluate(X,Y)>90%;
(4)返回model(X);
(5) else;
(6)基于像素區(qū)域插值算法對(duì)X進(jìn)行縮小,生成img;
(7)立方卷積插值算法對(duì)img放大至輸入尺寸,生成Xresize;
(8)返回model(Xresize)。
算法解釋:
(1)X為輸入的樣本圖像,Y為樣本的真實(shí)類別標(biāo)簽,model為未加IDA的神經(jīng)網(wǎng)絡(luò)模型;
(2)model.predict為識(shí)別模型對(duì)于樣本的識(shí)別率;
(3)當(dāng)神經(jīng)網(wǎng)絡(luò)識(shí)別準(zhǔn)確率在90%以上時(shí)說明未受到對(duì)抗攻擊,執(zhí)行第(4)步;
(4)返回神經(jīng)網(wǎng)絡(luò)模型識(shí)別原始圖片的預(yù)測(cè)值;
(5)當(dāng)神經(jīng)網(wǎng)絡(luò)識(shí)別準(zhǔn)確率在90%以下時(shí)說明模型有可能受到對(duì)抗攻擊,執(zhí)行第(6)步;
(6)基于像素區(qū)域插值算法對(duì)樣本進(jìn)行插值縮放,生成img;
(7)立方卷積插值算法將上一步生成的img還原到原尺寸,生成Xresize;
(8)返回神經(jīng)網(wǎng)絡(luò)識(shí)別經(jīng)過處理后的圖片(Xresize)的預(yù)測(cè)值。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 生成對(duì)抗樣本
Captcha是基于Python語(yǔ)言的驗(yàn)證碼生成庫(kù),它可以生成任意長(zhǎng)度的數(shù)字和字符類驗(yàn)證碼,本文采用此函數(shù)庫(kù)來(lái)批量生成字母驗(yàn)證碼用于深度學(xué)習(xí)模型的訓(xùn)練以及對(duì)抗樣本的生成。參照現(xiàn)有圖片分類任務(wù)中經(jīng)典的深度學(xué)習(xí)模型VGG16,本文采用Captcha生成的20000張單通道4位字母驗(yàn)證碼(大小寫相同)訓(xùn)練帶有八層卷積層的卷積神經(jīng)網(wǎng)絡(luò)(CNN)50輪。參照張嘉楠等人的文獻(xiàn)[12],本文使用FGSM[9]、Bim-a[10]、Bim-b[10]對(duì)抗攻擊算法生成驗(yàn)證碼的對(duì)抗樣本。
4.2 評(píng)價(jià)指標(biāo)
在本實(shí)驗(yàn)中,評(píng)價(jià)樣本的指標(biāo)用神經(jīng)網(wǎng)絡(luò)識(shí)別率表示,識(shí)別率為樣本真實(shí)類別的神經(jīng)網(wǎng)絡(luò)置信度,樣本的神經(jīng)網(wǎng)絡(luò)識(shí)別率越高表示算法更不易受到攻擊。
4.3 驗(yàn)證碼防御算法展示
在圖像縮小時(shí)本文選擇基于像素區(qū)域插值算法,在恢復(fù)原尺寸時(shí)采用立方卷積插值算法,用卷積神經(jīng)網(wǎng)絡(luò)對(duì)100張對(duì)抗樣本經(jīng)過不同縮放倍數(shù)的IDA處理后得到的圖片進(jìn)行識(shí)別,無(wú)IDA算法處理的原始圖片和無(wú)IDA算法處理的對(duì)抗樣本識(shí)別作為對(duì)照,如圖1所示。
圖1的實(shí)驗(yàn)中,0.9-IDA指寬和高的縮放倍數(shù)均為0.9的IDA算法,F(xiàn)GSM指Fast Gradient Sign Method方法對(duì)抗攻擊神經(jīng)網(wǎng)絡(luò)生成的對(duì)抗樣本。實(shí)驗(yàn)數(shù)據(jù)表明,對(duì)抗攻擊使得卷積神經(jīng)網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率從97.69%下降到4.82%,攻擊效果明顯。在采用插值算法對(duì)對(duì)抗樣本進(jìn)行處理后,神經(jīng)網(wǎng)絡(luò)的識(shí)別準(zhǔn)確率得到了大幅度提高,并且在縮放倍數(shù)0.8到0.7的時(shí)候得到了最好的表現(xiàn),分別是82.28%和81.09%。
圖2的實(shí)驗(yàn)中,對(duì)抗樣本由FGSM攻擊生成。實(shí)驗(yàn)結(jié)果表明,75.5%的情況下IDA可將對(duì)抗樣本識(shí)別率提升到95%之上,如圖2中的FGSM攻擊產(chǎn)生的對(duì)抗樣本通過IDA方法處理后,神經(jīng)網(wǎng)絡(luò)的識(shí)別率從0.47% 提高到99.99%,并且IDA處理后的驗(yàn)證碼可以被人眼識(shí)別。
圖3的實(shí)驗(yàn)中FGSM、Bim-a、Bim-b分別指Fast Gradient Sign Method、Basic Iterative Method-a和Basic Iterative Method-b對(duì)抗攻擊方法生成的對(duì)抗樣本,寬度縮小倍數(shù)是0.6,高度縮小倍數(shù)是0.8(經(jīng)過測(cè)試這個(gè)比例效果較好),無(wú)IDA算法處理的原始圖片和無(wú)IDA算法處理的三種對(duì)抗樣本識(shí)別率作為對(duì)照。實(shí)驗(yàn)結(jié)果表明FGSM、BIM-a、BIM-b這三種白盒攻擊生成的對(duì)抗樣本在IDA操作之后的神經(jīng)網(wǎng)絡(luò)識(shí)別率都有提升。
5 結(jié)束語(yǔ)
插值法以往主要用于減少圖像縮放過程中造成的失真,基于以上特性本文提出了基于插值法的對(duì)抗攻擊防御算法(IDA),實(shí)驗(yàn)證明IDA能夠提高神經(jīng)網(wǎng)絡(luò)對(duì)對(duì)抗樣本的識(shí)別率,從不到5%提升到了80%,在特定情況下識(shí)別率不到1%提升到了99.99%,并且驗(yàn)證了該算法面對(duì)FGSM、BIM-a、BIM-b三種攻擊均具有防御效果,證明IDA有助于提高深度學(xué)習(xí)的安全性。相較于蒸餾學(xué)習(xí)等主動(dòng)防御模型,被動(dòng)防御的IDA計(jì)算復(fù)雜度較低,訓(xùn)練時(shí)間較少,同時(shí)無(wú)須修改已有網(wǎng)絡(luò)就可達(dá)到防御對(duì)抗攻擊的目的,具有應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] Szegedy, Christian, et al. Intriguing properties of neural networks. ICLR, abs/1312.6199, 2014b.
[2] Ba L J, Caruana R. Do Deep Nets Really Need to be Deep?[J]. 2013.
[3] Hinton G, Vinyals O, Dean J. Distilling the Knowledge in a Neural Network[J]. Computer Science, 2015.
[4] Papernot N , Mcdaniel P , Wu X , et al. Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks[J]. 2015.
[5] Goodfellow, Ian J, Shlens, Jonathon, Szegedy, Christian. Explaining and Harnessing Adversarial Examples[J]. Computer Science, 2014.
[6] Huang R, Xu B, Schuurmans D, et al. Learning with a Strong Adversary[J]. Computer Science, 2015.
[7] Wu Y, Bamman D, Russell S. Adversarial Training for Relation Extraction[C]. Conference on Empirical Methods in Natural Language Processing. 2017.
[8] Bradshaw J, Matthews, Ghahramani Z. Adversarial Examples, Uncertainty, and Transfer Testing Robustness in Gaussian Process Hybrid Deep Networks[J]. 2017.
[9] M. Abbasi, C. Gagné. Robustness to adversarial examples through an ensemble of specialists. In Proc. ICLRW, 2017.
[10] Kurakin, A, Goodfellow, I.J., and Bengio, S. Adversarial examples in the physical world. International Conference on Learning Representations, 2017.
[11] 張嘉楠,趙鎮(zhèn)東,宣晶,常曉林.深度學(xué)習(xí)對(duì)抗樣本的防御方法綜述[J].網(wǎng)絡(luò)空間安全, 2019, 10(8): 1.
[12] 張嘉楠,王逸翔,劉博,常曉林.深度學(xué)習(xí)的對(duì)抗攻擊方法綜述[J].網(wǎng)絡(luò)空間安全, 2019, 10(7): 1.