湯家軍,王 忠
(中國(guó)人民解放軍火箭軍工程大學(xué) 基礎(chǔ)部,陜西 西安 710025)
隨著統(tǒng)計(jì)學(xué)習(xí)和計(jì)算機(jī)硬件的不斷發(fā)展,深度學(xué)習(xí)在各個(gè)領(lǐng)域都取得了飛速的發(fā)展,在有的方面的表現(xiàn)甚至已經(jīng)超過(guò)了人類。無(wú)論是AlphaGo在圍棋上的優(yōu)異表現(xiàn),還是機(jī)器翻譯取得的巨大成功,都表明了深度學(xué)習(xí)存在著巨大的潛能?;谏疃葘W(xué)習(xí)的各種應(yīng)用也走進(jìn)了大眾的視野,比如人臉識(shí)別[1]、手語(yǔ)識(shí)別[2]、醫(yī)學(xué)影像[3-4]等。但是深度學(xué)習(xí)還存在一定的不穩(wěn)定性[5],造成很多安全問(wèn)題[6]。尤其是容易受到對(duì)抗樣本的攻擊,引起模型分類錯(cuò)誤[7]。
前人提出了很多對(duì)抗攻擊[8-9]與防御[10]的方法,但是還存在著很大的缺陷。該文對(duì)其中的一些缺陷進(jìn)行了研究,提出了一種動(dòng)態(tài)改變?cè)肼暦?、隨機(jī)添加擾動(dòng)防止陷入局部最優(yōu)解的算法,即Dynamic Change Iterative Fast Gradient Sign Method (DCI-FGSM)。
自從Szegedy等提出對(duì)抗樣本[11]以來(lái),學(xué)者們發(fā)現(xiàn)只需要添加細(xì)微的擾動(dòng)就可以讓模型產(chǎn)生錯(cuò)誤的預(yù)測(cè)。近年來(lái),越來(lái)越多的研究發(fā)現(xiàn)對(duì)抗樣本不僅可以找到模型的缺陷[12],還能使模型更具有魯棒性[13],同時(shí)這種方法還可以適用于不同的模型。
為了攻擊神經(jīng)網(wǎng)絡(luò)模型,Szegedy等人[11]提出有邊界約束的L-BFGS算法,其收斂速度快、內(nèi)存開銷小,但步長(zhǎng)計(jì)算精度不高;Goodfellow等[14]提出基于梯度方向的FGSM算法,可以有效生成對(duì)抗樣本對(duì)模型進(jìn)行白盒測(cè)試,但其只對(duì)梯度方向上進(jìn)行一次更新,生成的對(duì)抗樣本效果一般;Kurakin等人[15]基于FGSM,提出了I-FGSM算法,可以在梯度方向上進(jìn)行多次迭代,但是可能會(huì)陷入梯度的局部最大值。所以Dong等[16]為了增強(qiáng)對(duì)抗攻擊,提出了一類基于動(dòng)量的迭代算法,可以擺脫局部最大值,但其只是盲目的去擺脫,存在著一定的局限性。Jia等人為了通過(guò)梯度的均方根對(duì)學(xué)習(xí)率進(jìn)行約束,提出了AdaDelta-Nesterov動(dòng)量方法[17],這種方法甚至不需要提前設(shè)定學(xué)習(xí)率,同時(shí)減少了無(wú)用的迭代過(guò)程。Wang 等人[18]為了欺騙模型,利用風(fēng)格遷移使得對(duì)抗樣本人眼不易區(qū)分,這種方法雖然具有一定的效率,但是在風(fēng)格遷移的過(guò)程中可能會(huì)丟失圖片本來(lái)的特征。Lin等人[19]提出一種防御量化的方法來(lái)防御對(duì)抗攻擊,同時(shí)保持攻擊的效率,在對(duì)于經(jīng)過(guò)對(duì)抗訓(xùn)練的模型上取得了顯著的成果。
Goodfellow等人[14]首次提出對(duì)抗訓(xùn)練,即用對(duì)抗樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò),使得網(wǎng)絡(luò)更具魯棒性。他們提出FGSM(Fast Gradient Sign Method)方法,認(rèn)為高維度的線性模型就可以產(chǎn)生對(duì)抗樣本。他們?cè)谔荻壬线M(jìn)行一步探索去最大化損失:
(1)
其中,?xJ(θ,x,y)表示損失函數(shù)的梯度,sign(·)表示sign函數(shù)。
FGSM算法在梯度方向上做攻擊,速度快,但是其只能在梯度方向上做一次攻擊。在FGSM算法的基礎(chǔ)上,提出迭代式的FGSM算法,即I-FGSM(Iterative Fast Gradient Sign Method)算法[15]。I-FGSM算法沿著梯度的方向進(jìn)行多步擾動(dòng),并且每一次都重新計(jì)算擾動(dòng)的方向。
算法流程為:
(2)
(3)
I-FGSM在每次迭代中將對(duì)抗樣本沿梯度的方向貪婪地移動(dòng),很容易讓模型陷入局部最大值,并且過(guò)擬合,可能并不適用于所有的模型。因此,Dong等人[12]提出基于動(dòng)量的方法MI-FGSM(Momentum Iterative Fast Gradient Sign Method):
(4)
(5)
g0=0為初始動(dòng)量且μ為衰減因子。
在現(xiàn)實(shí)世界中存在著很多的對(duì)抗樣本[14],讓人們更加關(guān)注深層神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,學(xué)者們提出了大量的對(duì)抗攻擊算法去對(duì)抗各個(gè)領(lǐng)域的模型(如:人臉識(shí)別、目標(biāo)檢測(cè)、語(yǔ)義分割等)。該文僅針對(duì)白盒測(cè)試中基于梯度的圖像對(duì)抗樣本算法做出分析。
圖1 各種攻擊算法關(guān)系
算法:DCI-FGSM。
輸入:分類器f,損失函數(shù)J,真實(shí)樣本x及其標(biāo)簽y,擾動(dòng)幅度ε,迭代輪次T。
(a)xadv=x;
(b) 獲得初始梯度g0=?xJ(θ,x,y)
(c) fort=0 toT-1 do
(d)α=ε/t+1;
(g) end for
根據(jù)前人的研究,α最好的取值為ε/T,T是總的迭代次數(shù),在迭代的過(guò)程中,α始終保持不變可能會(huì)導(dǎo)致模型跳過(guò)最優(yōu)值。受此啟發(fā),在DCI-FGSM算法中,α不再這樣取值,而是根據(jù)每次迭代的次數(shù)去取值,這樣做的好處是不至于讓每次迭代的步長(zhǎng)過(guò)大,能夠有效找到原始數(shù)據(jù)的邊界。
圖2為DCI-FGSM算法的基本流程,包含五個(gè)步驟。通過(guò)卷積神經(jīng)網(wǎng)絡(luò)獲得擾動(dòng),不斷迭代更新梯度獲取對(duì)抗擾動(dòng),基于原始圖像獲取對(duì)抗樣本。
圖2 DCI-FGSM攻擊算法流程
圖2中,①表示通過(guò)卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練原始樣本;②表示獲取初始擾動(dòng),代表算法中的第2步;③表示迭代不斷更新對(duì)抗樣本,代表算法中的循環(huán);④⑤表示將原始樣本加上對(duì)抗擾動(dòng)獲取對(duì)抗樣本。
DCI-FGSM算法總體公式為:
(6)
(7)
在本節(jié),通過(guò)實(shí)驗(yàn)對(duì)比了所提方法的效率,以驗(yàn)證DCI-FGSM的優(yōu)勢(shì)。
(1)數(shù)據(jù)集。采用的是MINIST數(shù)據(jù)集,由60 000個(gè)訓(xùn)練樣本和10 000個(gè)測(cè)試樣本組成,每個(gè)樣本都是一張28*28像素的灰度手寫數(shù)字圖片。
(2)網(wǎng)絡(luò)模型。實(shí)驗(yàn)采用的網(wǎng)絡(luò)模型為簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)模型,網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
(3)實(shí)驗(yàn)設(shè)置。對(duì)于超參數(shù),遵循文獻(xiàn)[12]中的設(shè)定,迭代輪次T=10,步長(zhǎng)初始為1.6,對(duì)于MI-FGSM的衰減因子=1.0。實(shí)驗(yàn)在GTX1080Ti顯卡上運(yùn)行計(jì)算。
(4)評(píng)價(jià)指標(biāo)。通過(guò)模型的準(zhǔn)確率以及模型的損失值判斷生成的對(duì)抗樣本的效果。準(zhǔn)確率指簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)模型對(duì)于正確分類圖片對(duì)圖片總數(shù)的占比,準(zhǔn)確率越低,對(duì)抗樣本的效果越好;損失值越高,對(duì)抗樣本的效果越好。
在本節(jié),采用算法對(duì)模型進(jìn)行了攻擊,并對(duì)不同的算法進(jìn)行比較。
圖4、圖5為神經(jīng)網(wǎng)絡(luò)在進(jìn)行10個(gè)epoch訓(xùn)練下的準(zhǔn)確率和損失值,可以看到損失已經(jīng)降到極低且準(zhǔn)確率很高,基本達(dá)到百分之一百。本節(jié)采用FGSM、I-FGSM、MI-FGSM、DCI-FGSM算法對(duì)此神經(jīng)網(wǎng)絡(luò)進(jìn)行攻擊,生成對(duì)抗樣本,結(jié)果見表1,其中模型準(zhǔn)確率是攻擊前后模型對(duì)于圖片的分類準(zhǔn)確率,損失是攻擊前后模型的損失值。在圖6中最左邊為原始圖像,中間的為噪聲,右邊的為原始圖像加上噪聲后的圖片??梢钥吹?,原始圖像與對(duì)抗樣本無(wú)明顯區(qū)別,但是神經(jīng)網(wǎng)絡(luò)卻會(huì)對(duì)圖像進(jìn)行錯(cuò)誤的分類。
圖4 模型準(zhǔn)確率隨epoch變化
(左:真實(shí)樣本,中:噪聲,右:對(duì)抗樣本)
表1中的結(jié)果顯示,DCI-FGSM能夠提高白盒攻擊下的成功率,原始模型的準(zhǔn)確率為98.25%,經(jīng)過(guò)DCI-FGSM算法的攻擊,其準(zhǔn)確率降至4.5%,且相比較于FGSM、I-FGSM和MI-FGSM算法,DCI-FGSM具有更高的攻擊效率,使得模型的損失值更大。
表1 攻擊自定模型的準(zhǔn)確率與損失
研究設(shè)置了不同的擾動(dòng)值ε,針對(duì)正常訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型,生成對(duì)抗樣本。圖7、圖8展示了在不同的ε下各種攻擊算法的成功率。從圖中可以看到,隨著擾動(dòng)值ε的增大,各個(gè)算法的攻擊成功率也在升高,但是DCI-FGSM算法的變化趨勢(shì)與其他不一樣,DCI-FGSM能夠使模型的準(zhǔn)確率以更快的速度降到更低的值,使得模型的損失值以更快的速度提升至更高的值。足以表明DCI-FGSM的優(yōu)越性。
圖7 模型準(zhǔn)確率變化
圖8 模型損失變化
該文提出一種基于白盒攻擊的對(duì)抗樣本生成算法,通過(guò)動(dòng)態(tài)改變擾動(dòng)的值,并且通過(guò)前一步梯度去更正梯度前進(jìn)的方向,防止模型陷入局部最優(yōu),從而生成更有效的對(duì)抗樣本。實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)的對(duì)抗樣本生成算法相比,DCI-FGSM在白盒攻擊上具有更強(qiáng)大的效率。目前DCI-FGSM算法僅針對(duì)白盒攻擊,其在黑盒攻擊上是否有更高的效率,還需要進(jìn)一步研究。