余 勇 張俊三
(中國石油大學(華東)計算機科學與技術學院 山東 青島 266580)
受益于大數(shù)據(jù)的出現(xiàn)和大規(guī)模計算能力的提升,深度學習已然成為最活躍的計算機研究領域之一。深度學習的多層非線性結構使其具備強大的特征表達能力和對復雜任務的建模能力。最近幾年,深度學習的發(fā)展也帶動了一系列的研究。尤其是在圖像識別領域,在一些標準測試集上的實驗表明,深度模型的識別能力已經(jīng)可以達到人類的水平。但是對于一個非正常的輸入,深度模型卻不能產(chǎn)生正確的結果。
Szegedy等[1]在ICLR發(fā)表的論文中,對抗樣本(Adversarial examples)的概念第一次被提出,即在數(shù)據(jù)集中通過故意添加細微的干擾所形成的輸入樣本,受干擾之后的輸入導致模型以高置信度給出一個錯誤的輸出[2]。攻擊中具有對抗性的部分使得預測類與實際類完全不同。人們察覺不到這些輸入網(wǎng)絡的微小變化,但是這些微小的變化卻使得攻擊本質上變得具有對抗性。
最近,隨著神經(jīng)網(wǎng)絡[3]的發(fā)展,對抗樣本問題受到更多人的關注。目前對于生成對抗樣本的研究已經(jīng)非常成功,仍然在不斷地產(chǎn)生多種攻擊方法[4-6],其中有些方法能夠讓大多數(shù)深度模型的準確率下降到接近0%。
對抗樣本的攻擊模式有兩種分類模式:黑盒攻擊和白盒攻擊;非目標攻擊和有目標攻擊。黑盒攻擊:攻擊者并不知道機器學習所使用的算法、參數(shù)和防御手段等一切信息,攻擊者只能與機器學習的系統(tǒng)有所交互,比如可以通過傳入任意輸入觀察輸出,判斷輸出。白盒攻擊:攻擊者能夠獲知機器學習所使用的一切信息。攻擊者在產(chǎn)生對抗性攻擊數(shù)據(jù)的過程中能夠與機器學習的系統(tǒng)有所交互。非目標攻擊(Untargeted attack):對于一幅圖片,生成一個對抗樣本,即只要求攻擊成功,不限制對抗樣本被識別成某一特定類。有目標攻擊(Targeted attack):對于一幅圖片和一個目標標注,生成一個對抗樣本,使得標注系統(tǒng)在該樣本上的標注與目標標注完全一致。即不僅要求攻擊成功,還要求生成的對抗樣本屬于特定的類。
防御對抗樣本的研究發(fā)展較為緩慢[7-9],這些防御可以分為三種不同的方法;(1) 修改訓練數(shù)據(jù)以使分類器對攻擊更具魯棒性,例如,對抗訓練以對抗性示例增強分類器的訓練數(shù)據(jù);(2) 修改分類器的訓練步驟,以減少梯度的大小,例如防御蒸餾;(3) 試圖從輸入樣本中去除對抗性噪聲。
本文提出一種新穎并且有效的深度學習算法,該算法旨在消除對抗擾動,對于原始樣本和對抗樣本區(qū)別處理,從而提高分類準確率。
相比之前的方法,本文模型能夠有效地防御對抗樣本,利用防御網(wǎng)絡去除樣本中對抗性擾動,并且盡可能避免干凈樣本經(jīng)防御網(wǎng)絡處理后降低準確率。同時,本文模型不需要修改分類器的訓練過程和結構,可以看作圖像識別任務中的數(shù)據(jù)預處理階段,如圖1所示。
本文的主要貢獻如下:
1) 本文提出一種新穎的深度學習的框架,利用生成對抗網(wǎng)絡和數(shù)據(jù)流形防御對抗樣本。
2) 之前提出的防御模型中,沒有考慮到正常樣本經(jīng)過防御網(wǎng)絡處理后會降低分類準確率。由于防御網(wǎng)絡在正常樣本中訓練,若輸入圖片為正常樣本,則輸出更加接近正常樣本的數(shù)據(jù)流形;反之輸入圖片為對抗樣本,則輸出圖片會隨機地分布在原始數(shù)據(jù)的流形周圍,本文模型可以減少對正常樣本的誤分類。
3) 在2個通用數(shù)據(jù)集和4種攻擊方法上進行了實驗,與之前的方法相比,在經(jīng)過本文模型處理后分類器的準確率顯著提升。
近年來神經(jīng)網(wǎng)絡的迅速發(fā)展,在圖像識別、自然語言處理和圖像修復等各個方向表現(xiàn)得非常出色。然而對抗樣本的出現(xiàn)使得人們不得不再次質疑神經(jīng)網(wǎng)絡。接下來本文將介紹關于對抗樣本最具有代表性的工作。
對抗樣本一方面,研究并設計更具攻擊性的對抗樣本,作為神經(jīng)網(wǎng)絡魯棒性的評估標準;另一方面,研究針對對抗樣本攻擊的防御方法,來提升神經(jīng)網(wǎng)絡模型的魯棒性。
本節(jié)將介紹幾種生成對抗樣本的方法,簡要地描述對抗樣本。對抗樣本生成方法有:Fast Gradient Sign Method(FGSD)[10]、Iterative Gradient Sign[11]、DeepFool Attack[12]、Jacobian-Based Saliency Map Attack(JSMA)[13]、L-BFGS Attack[14]和Carlini &Wanger(C&W) Attack[15]。
1.1.1FastGradientSignMethodAttack
(1)
式中:ε為系數(shù);ytrue表示樣本X的標簽。式(1)表示輸入X的所有像素沿梯度方向進行單步移動。該方法比其他方法更簡單、更快,但攻擊成功率較低,因為最初的目的就被設計為快速而不是最優(yōu)。
1.1.2L-BFGSAttack
通過對圖像添加人類察覺不到的微小擾動誤導神經(jīng)網(wǎng)絡做出錯誤分類。由于求解讓神經(jīng)網(wǎng)絡做出誤分類的最小擾動復雜度太高,轉而求解簡化后的問題,即尋找最小的損失函數(shù)添加項,使得神經(jīng)網(wǎng)絡做出誤分類,這就將問題轉化成了凸優(yōu)化過程。常數(shù)λ控制擾動大小和攻擊力度;D函數(shù)是尋找最小擾動并且滿足f(D(x))≠f(x)??梢怨交磉_:
(2)
s.t.D(x)∈[0,1]
(3)
1.1.3Carlini-Wagner(CW)Attack
與L-BFGS方法類似,C&W L2攻擊同時最小化了兩個標準,樣本對位的擾動(例如,被模型錯誤分類)和擾動的L2范數(shù)。該文提出使用雙曲正切(Tanh)函數(shù)來改變變量,沒有優(yōu)化對抗式例子的交叉性,而是使用了logits之間的差異。對于以獲得類t為目標的有針對性攻擊,Z為Softmax激活(Logits)前的模型輸出,公式為:
(4)
式中:wn表示優(yōu)化參數(shù)。
基于wn可以寫出C&W優(yōu)化過程的損失函數(shù):
(5)
式中:c表示超參數(shù)。
1.1.4DeepFoolAttack
Deep Fool Attack是一種非目標攻擊方法,在L2距離度量下,應用最小擾動進行誤分類是一種有效的方法。該方法在分類器的局部近似梯度方向上進行迭代,直到與決策超平面相交為止。
(6)
(7)
1.1.5Jacobian-BasedSaliencyMapAttack
對抗攻擊文獻中通常使用的方法是限制擾動的L∞或L2范數(shù)的值以使對抗樣本中的擾動無法被人察覺。但JSMA提出了限制L0范數(shù)的方法,即僅改變幾個像素的值,而不是擾動整幅圖像。
對抗樣本的防御方法大致分為對抗訓練[17]、梯度掩碼、隨機化、防御網(wǎng)絡。目前防御網(wǎng)絡較為火熱,其原理是在樣本輸入模型進行判定之前,先對當前對抗樣本進行修復或者重新構造,剔除其中對抗性擾動使得模型識別準確率顯著提升。另外防御網(wǎng)絡可以和任何分類網(wǎng)絡一起使用,而且不需要修改分類網(wǎng)絡。
1.2.1對抗訓練
一種防御對抗擾動的方法是用對抗的例子來擴充訓練數(shù)據(jù)集。使用一個或多個選定的攻擊模型生成反例,并將其添加到訓練集中。當用生成增強訓練集的攻擊模型與攻擊者使用的攻擊模型相同時,通常會提高模型對該攻擊算法健壯性。然而,防御其他攻擊算法生成的對抗樣本時效果明顯下降。
1.2.2防御去噪網(wǎng)絡
Shen等[18]提出了一種利用GAN消除對抗擾動的網(wǎng)絡APE-GAN。這是一個利用生成模型的表達能力來保護深度神經(jīng)網(wǎng)絡免受對抗攻擊的新框架經(jīng)過訓練后,可以模擬正常圖像的分布,在輸入對抗樣本時,會生成一個該對抗樣本的近似樣本,同時滿足干凈樣本分布,然后再將該樣本替代原始的輸入樣本進行分類。該方法不假設特定的攻擊模型,無論白盒攻擊還是黑盒攻擊下的常見攻擊算法都有效。
1.2.3防御重構網(wǎng)絡
Samangouei等[19]提出了一種利用GAN生成一個新的樣本替代原輸入樣本的模型Defense-GAN。該模型能成功防御對抗樣本依賴于GAN的生成力。然而,訓練GAN仍然是一項具有挑戰(zhàn)性的任務,也是一個活躍的研究領域,如果GAN沒有得到適當?shù)挠柧毢驼{整,則模型的性能將受到影響。
1.2.4檢測對抗樣本
近年來對于檢測對抗樣本的研究在不斷增多。這里把檢測也歸于防御的一種方法,判斷一個樣本是不是對抗樣本。檢測對抗樣本[20]的方法有:利用多個基礎分類模型對樣本進行分類,當基礎模型對該樣本的預測高度不一致時,將其標記為對抗樣本;利用對抗樣本的性質:對抗子空間脫離(但接近于)數(shù)據(jù)子流形、對抗子空間具有與其最接近的干凈數(shù)據(jù)子流形不同的類分布等來區(qū)分對抗樣本與正常樣本。
GAN由Goodfellow等[21]提出,由兩個神經(jīng)網(wǎng)絡組成,生成器(G)和判別器(D)。G是低維潛在空間映射到高維樣本空間。D是二元神經(jīng)網(wǎng)絡分類器[22-26]。在訓練階段,G和D通常使用實際輸入數(shù)據(jù)樣本x和隨機向量以對抗方式學習。通常在z上假設各向同性高斯先驗。當G學會生成具有類似于x的分布的輸出G(z)時,D學會區(qū)分“真實”樣本x和“假”樣本G(z)。D和G以交替方式訓練,可以公式化為極大極小函數(shù)[18]:
EZ~PZ(Z)[log(1-G(D(Z)))]
(8)
對于任意的數(shù)據(jù)集而言,每一個數(shù)據(jù)集都有特定的數(shù)據(jù)流形,其中每一個數(shù)據(jù)都應該符合該流形。盡管攻擊方法都會有約束:
(9)
因為攻擊算法的目標是使得分類器的損失最大化,所以由攻擊算法修改正常樣本生成的對抗樣本是不符合正常樣本的數(shù)據(jù)流形[27-28],因而防御網(wǎng)絡修復對抗樣本的程度也大于正常樣本,如圖2所示。
圖2 處理前后的樣本MSE
雖然被修復后的樣本均方誤差值(MSE)在不斷變換,但是被修復后的對抗樣本MSE值總是高于被修復后的正常樣本MES值,滿足如下公式:
(10)
對抗生成網(wǎng)絡有兩個部分:一個是生成器G,接收一個隨機的噪聲z,期望生成和訓練數(shù)據(jù)(Xnorm)相同分布的數(shù)據(jù)G(z);另一個是判別器D,目的是區(qū)分訓練數(shù)據(jù)和生成的數(shù)據(jù)。本文的防御網(wǎng)絡是通過修改輸入數(shù)據(jù),去除對抗性擾動,提高分類網(wǎng)絡的準確率。
本文提出一種新穎的防御網(wǎng)絡,該網(wǎng)絡同時使用正常樣本和對抗樣本訓練模型來去除對抗性擾動。如圖3所示。
圖3 模型訓練
測試時,在將圖像X輸入分類器之前,本文通過生成器重建G(x)再給分類器分類。由于生成器經(jīng)過訓練模擬正常樣本的數(shù)據(jù)分布,我們期望這一步驟可以顯著減少各種潛在的對抗性擾動。
本文通過將處理后的圖像盡量回歸到真實圖像來訓練防御網(wǎng)絡,通過聯(lián)合多個損失函數(shù)來使最終的修復結果與原始圖像的距離減小。
2.2.1判別器損失函數(shù)
根據(jù)GAN的最小最大損失函數(shù),判別器的損失LD定義為[18]:
LD=-∑[logD(X)+log(G(Xadv))]
(11)
2.2.2生成器損失函數(shù)
生成器對于消除樣本中的對抗性擾動至關重要,本文將其定義為3個損失函數(shù)的加權求和形式:
LG=θ1ladv+θ2lmse+θ3lre
(12)
對抗損失Ladv:對抗性損失試圖讓防御修復后的樣本顯得更加真實,并且是在正常樣本流形上的樣本。利用判別器對所有防御修復后的樣本概率計算對抗性損失[19]:
Ladv=∑[1-logD(G(Xadv))]
(13)
內容損失Lmse:使用均方誤差損失作為內容損失,其定義為:
(14)
式中:W、H為圖像樣本的像素點。
修復損失Lre:利用L2損失定義修復損失:
(15)
修復損失能夠使生成器減少對正常樣本的修改,從而改善正常樣本經(jīng)過防御網(wǎng)絡準確率下降的問題。
本文在2種數(shù)據(jù)集上使用了4種攻擊方法進行驗證。
模型采用MNIST[29]和CIFAR10[30]數(shù)據(jù)集訓練以及驗證模型效果。MNIST數(shù)據(jù)集包含用于訓練的50 000個樣本和10 000個用于測試的樣本,像素為28×28。這些數(shù)字已經(jīng)過尺寸標準化并位于圖像中心,其值為0到1。CIFAR10數(shù)據(jù)集包括60 000幅32×32的彩色圖像,其中訓練集50 000幅,測試集10 000幅,如表1所示。
表1 數(shù)據(jù)集設置
在訓練GAN時有4個參數(shù)需要設置,它們分別是擾動大小ε、通道數(shù)c、學習率r、訓練的批大小b,如表2所示。
表2 參數(shù)設置
MNIST數(shù)據(jù)集訓練階段在第100個epoch后生成器G的損失和判別器D的損失逐漸收斂,如圖4所示。
圖4 模型損失
3.3.1MNIST數(shù)據(jù)集
在MNIST數(shù)據(jù)集上使用了Fast Gradient Sign Method(FGSM)、Project Gradient Descent(PGD)、Perturb Iterative(PI)、Momentum Iterative Attack(MIM)四種攻擊方法。
在擾動ε=0.15的限制下,防御各種攻擊的效果如表3所示。
表3 MNIST防御對抗樣本效果(%)
可以看出,分類器識別對抗樣本的準確率遠低于正常樣本,對抗樣本僅在10%以下。盡管在面對FGSM攻擊方法產(chǎn)生的對抗樣本時能夠達到62.2%的準確率,但是FGSM攻擊方法追求的是最快的攻擊速度,并不是最好的攻擊效果。經(jīng)過防御網(wǎng)絡修復后準確率都可以達到96%以上,相比對抗樣本都有很大的提高,相比識別正常樣本的準確率也僅相差2百分點。
正常樣本經(jīng)過防御模型處理后的準確率如表4所示。
表4 MNIST處理正常樣本效果(%)
可以看出正常樣本分類器的識別準確率能夠達到98.7%以上,在經(jīng)過防御網(wǎng)絡處理后準確率僅下降了0.3百分點左右。
防御網(wǎng)絡的目的是去除對抗性擾動,從而使分類器準確識別樣本。在MNIST數(shù)據(jù)集中,擾動大小ε=0.2的限制下,使用FGSM攻擊方法進行可視化實驗,如圖5所示。
(a) (b)
圖5(a)是正常樣本;圖5(c)為使用FGSM攻擊方法攻擊正常樣本所得到的對抗樣本;圖5(b)是支持樣本經(jīng)過防御網(wǎng)絡處理后生成的圖;圖5(d)是對抗樣本經(jīng)過防御網(wǎng)絡修復后的圖。圖5(c)的對抗樣本圖有特別明顯噪聲(對抗性擾動),分類器識別準確率相對于正常樣本的識別準確率大幅度下降。但經(jīng)過防御模型處理后擾動顯著減少,從而使得分類器能夠準確識別。而正常樣本經(jīng)過防御網(wǎng)絡處理后沒有明顯變化,故分類器的分類準確率下降得很小。
3.3.2CIFAR10數(shù)據(jù)集
在CIFAR10數(shù)據(jù)集上使用了FGSM、PGD、PI、MIM四種攻擊方法,檢測該模型防御對抗樣本的能力。
在ε=0.01的限制下,防御各種攻擊的效果如表5所示。
表5 CIFAR防御對抗樣本效果(%)
正常樣本經(jīng)過模型修復后的準確率如表6所示。
表6 CIFAR處理正常樣本效果(%)
可以看出,在CIFAR10數(shù)據(jù)集上分類器識別對抗樣本的準確率低于MNIST數(shù)據(jù)集,而經(jīng)過防御網(wǎng)絡處理后的樣本識別準確率有所提升。正常樣本在經(jīng)過處理后分類器的識別準確率下降約為10百分點。
在不同擾動限制下使用四種攻擊方法攻擊MNIST數(shù)據(jù)集效果如圖6和圖7所示。
圖6 不同擾動下防御對抗樣本效果
圖7 不同擾動下處理正常樣本效果
通過不斷放大擾動大小Epsilon,從圖6中可以看出隨著擾動的變大分類器識別對抗樣本的準確率逐漸減小。除FGSM攻擊算法生成的對抗樣本以外,其他三種攻擊方法生成的對抗樣本都使得分類器準確率接近0%。而經(jīng)過防御網(wǎng)絡處理后的對抗樣本識別準確率有大幅度的提高。盡管隨著擾動不斷放大,識別修復后的樣本準確率呈現(xiàn)下降趨勢,但是識別準確率仍然在95%左右。圖7展示了正常樣本在經(jīng)過防御網(wǎng)絡處理后的準確率下降情況。隨著擾動的變大盡管準確率整體有下降波動,但是降低的幅度很小,尤其在擾動幅度較小時下降幅度更小。
在訓練防御網(wǎng)絡時,需要指定一種攻擊方法生成對抗樣本,用以GAN的訓練。訓練階段每次使用一種攻擊算法產(chǎn)生對抗樣本,測試階段使用多種攻擊算法生成的對抗樣本進行測試。
在ε=0.15的限制下,MNIST數(shù)據(jù)集上測試效果如表7所示。
表7 攻擊多樣性防御(%)
可以看出,在訓練時不需要特定某一種或者多種攻擊算法。防御網(wǎng)絡對于非訓練時使用的攻擊算法生成的對抗樣本仍然具有防御能力。從理論上來說,該防御網(wǎng)絡可以防御多種攻擊算法。
本文模型對于CIFAR10數(shù)據(jù)集的表現(xiàn)弱于MNIST數(shù)據(jù)集。可能是由于CIFAR10數(shù)據(jù)中的樣本更加復雜,分類模型對正常數(shù)據(jù)分類準確率就低于對MNIST數(shù)據(jù)集,另外在防御修復過程中對生成器的挑戰(zhàn)更大。
本文提出一種新穎的模型用于防御對抗樣本和降低傳統(tǒng)防御網(wǎng)絡對正常樣本的影響。利用對抗生成網(wǎng)絡的生成器修復輸入樣本,去除對抗性擾動以達到防御對抗樣本的目的;同時利用數(shù)據(jù)流形減少正常樣本經(jīng)過防御網(wǎng)絡處理后的誤分類。本文方法不僅在防御對抗樣本有顯著提高,而且對于正常樣本的影響小,尤其在MNIST數(shù)據(jù)集上僅有0.3百分點的準確率下降。另外本文并沒有對特定的攻擊方法進行針對性的訓練,因此對于其他的攻擊方法仍然有效。本文方法不需要修改分類模型,可以視為數(shù)據(jù)的預處理結合各種分類器。
在處理復雜樣本時,本文模型仍然有進步的空間,可以考慮重新構造更深層的對抗生成網(wǎng)絡,以構造更加復雜的樣本;另外最近的工作表明在圖片的前景中的對抗性擾動對分類器的影響要遠大于在圖片背景中的對抗性擾動,因此可以考慮結合注意力機制重點修復圖片前景部分。這將是我們下一步的重點工作。