李佳文,方 堃,黃曉霖,楊 杰
(上海交通大學圖像處理與模式識別研究所,上海200240)
深度神經(jīng)網(wǎng)絡作為一種具有強大計算能力的模型,在圖像分類[1-3]、目標檢測[4-5]、語義分割[6-7]和自然語言處理[8-9]等任務中廣泛應用.針對圖像分類任務,著名的分類網(wǎng)絡有AlexNet[2]、GoogleNet[10]、ResNet[1]和DenseNet[11]等.然而近年來,有學者研究發(fā)現(xiàn),此類神經(jīng)網(wǎng)絡易被特定的圖像樣本誤導.研究者通過在原始的干凈圖像樣本上添加一種小幅度的、精心設計的噪聲,得到新的圖像樣本.新樣本與干凈樣本高度相似,難以由人眼辨別,卻可誘導神經(jīng)網(wǎng)絡輸出與干凈樣本完全不同的類別預測結(jié)果.此類人為產(chǎn)生的新樣本稱為對抗樣本[12].產(chǎn)生對抗樣本的方法稱為對抗攻擊方法[13].很多對安全性要求較高的人工智能應用場景,如自動駕駛、醫(yī)療診斷和人臉識別等,在研發(fā)階段都必須關注對抗樣本帶來的潛在威脅.
針對對抗樣本,研究者提出了多種防御方法,希望防止其對模型的干擾.按照防御思路的不同,大致可將其分為兩大類:主動式防御和被動式防御.主動式防御[14-15]希望在樣本輸入模型前檢測出對抗樣本并拒絕對其分類,被動式防御則是在樣本輸入模型后還原出原始的干凈樣本或直接輸出正確的類別.常見的被動式防御方法有對抗訓練[12,16]、圖像去噪[17-19]、穩(wěn)健優(yōu)化[20-21]、穩(wěn)健性網(wǎng)絡[22]等等.圖像去噪將對抗樣本中含有的擾動視為一種普通的噪聲,在樣本輸入模型前,利用濾波或降維等方法去除該噪聲,從而還原出干凈樣本,避免對抗擾動對模型的干擾.相比于其他防御方法,圖像去噪有不依賴于任務和模型、即插即用、訓練速度快等優(yōu)點[23],可用于防御多種攻擊方法產(chǎn)生的對抗樣本.常用的用于去噪的模型有去噪自編碼器(DAE)[17]、變分自編碼器(VAE)[24]、生成對抗網(wǎng)絡(GAN)[25]等.本文研究的模型結(jié)構(gòu)為自編碼器(AE)與分類網(wǎng)絡(C)的級聯(lián)結(jié)構(gòu),稱為“AE+C”結(jié)構(gòu),如圖 1所示.
Encoder、Decoder和Classifier分別為結(jié)構(gòu)中的編碼器E,解碼器D和分類模型C.實線流為前向計算,虛線流為反向梯度傳播.圖1 “AE+C”防御結(jié)構(gòu)Fig.1Structure of AE-C model
以“AE+C”結(jié)構(gòu)為基礎,大多數(shù)防御者使用干凈樣本訓練AE模塊,并選擇預訓練網(wǎng)絡作為C.攻擊者攻擊C產(chǎn)生對抗樣本,防御者將對抗樣本輸入AE部分進行去噪重建,再將重建樣本輸入C獲得預測類別.此類方法有效的原因在于AE部分盡可能模擬干凈樣本的分布,將輸入投影到該分布上,而攻擊者無法獲知AE的存在,只能利用C的信息攻擊整體的防御模型.這種攻擊方法也稱為“灰盒攻擊”.當攻擊者利用整個結(jié)構(gòu)的信息產(chǎn)生對抗樣本,該結(jié)構(gòu)的防御性能將會大大降低甚至完全失效.這種攻擊方法稱為“白盒攻擊”.在實際應用中,攻擊者很難獲取關于防御模型的所有信息,甚至只能有限次地訪問目標模型,僅僅根據(jù)模型的預測輸出設計對抗樣本.因此,灰盒攻擊與黑盒攻擊更應該成為防御者需要考慮的威脅.目前利用該結(jié)構(gòu)制作的模型可以有限程度地防御對抗樣本,但隨著攻擊方法的不斷更新,模型的防御能力也需要提升.
本文提出一種新的訓練方法,使用條件變分自編碼器(CVAE)作為該結(jié)構(gòu)中的AE部分,事先利用干凈樣本與類別信息訓練CVAE重建輸入,訓練中加入自監(jiān)督信號,輔助CVAE篩選最有效地訓練通道,再將CVAE與C級聯(lián),采用端到端訓練方式同時訓練兩個模塊.實際應用中,CVAE與C可作為整體防御模型,防御多種攻擊方法產(chǎn)生的對抗樣本,且防御能力超過了前人方法.
對抗樣本最早由Szegedy等[12]發(fā)現(xiàn)并提出,攻擊者在干凈樣本xclean中加入擾動δ,得到對抗樣本xadver,目的是尋找一個合適的δ使得目標模型F對xclean和xadver輸出不同的類別預測結(jié)果.換句話說,攻擊者試圖解決式(1)的優(yōu)化問題:
(1)
其中:‖·‖p代表擾動的p-范數(shù)約束,F(xiàn)(·)代表目標模型F的預測結(jié)果.
迄今為止研究者已經(jīng)提出了很多產(chǎn)生對抗樣本的攻擊方法.按照對目標模型信息的獲取程度,攻擊方法可分為3類:
1) 白盒攻擊:攻擊者獲得目標模型的全部信息,包括輸入、輸出、全部模型參數(shù)、梯度、可能存在的防御機制等;
2) 灰盒攻擊:攻擊者獲得目標模型的部分信息;
3) 黑盒攻擊:攻擊者僅能獲得目標模型的輸出,不能獲得其他模型信息.
具體地,攻擊者利用4種攻擊方法產(chǎn)生對抗樣本:FGSM[13],BIM[26],PGD[27]和CW[28].其中PGD被認為是強度最高的基于梯度的攻擊,CW為基于優(yōu)化的攻擊.4種攻擊方法在驗證模型穩(wěn)健性的場景中均有大量應用.
FGSM由GoodFellow等[13]于2014年提出,直接利用損失函數(shù)針對輸入的梯度制作擾動δ:
(2)
其中:ε固定了擾動的大小,L(θ,x,y)代表目標模型F的損失函數(shù).
作為迭代式的基于梯度的攻擊,PGD隨機初始化對抗噪聲,在每一次迭代中利用損失函數(shù)針對當前輸入的梯度生成對抗樣本,將該對抗樣本作為下一次迭代的輸入,逐步得到最終結(jié)果.如式(3)所示:
(3)
其中:∏代表每次迭代中,都需要將當前對抗樣本投影到干凈樣本的固定鄰域Ω內(nèi),t代表當前迭代次數(shù).
BIM方法與PGD方法基本相同.唯一不同在于是否使用隨機初始化.
CW方法通過求解式(4)的優(yōu)化問題得到擾動δ:
s.t.x+δ∈[0,1]n.
(4)
其中f(x+δ)代表特定的損失函數(shù),本文采用2-范數(shù)形式的CW攻擊驗證模型穩(wěn)健性.
1.2.1 對抗訓練
為了防止對抗樣本的干擾,最直觀的方法是在訓練模型的同時攻擊模型產(chǎn)生對抗樣本,并用對抗樣本和對應的真實類別標簽擴充訓練數(shù)據(jù)集,使得目標模型能很好地擬合這些對抗樣本.數(shù)據(jù)增強是對抗訓練的本質(zhì),防御者可根據(jù)實際需要選擇特定攻擊方法產(chǎn)生對抗樣本加入訓練集中.GoodFellow等[13]提出FGSM攻擊方法并利用產(chǎn)生的對抗樣本訓練目標模型,被認為是最早的對抗訓練.Madry等[27]提出基于PGD的對抗訓練并解決了優(yōu)化過程中的鞍點問題.采用多種攻擊方法的對抗訓練被稱為聯(lián)合對抗訓練,可以提高模型針對多種攻擊的穩(wěn)健性.近年來,陸續(xù)出現(xiàn)了對抗訓練的多種變體.Zhang等[29]理論證明了模型的穩(wěn)健性和準確性存在Trade-off,將穩(wěn)健誤差分解為標準誤差和決策誤差,設計新的對抗訓練方法兼顧了穩(wěn)健性和準確性.針對對抗訓練收斂過慢的問題,Zhang等[30]提出友好的對抗訓練(FAT),設計對抗樣本的停止生成條件,加速訓練過程.Wang等[31]在訓練過程中將正確分類與錯誤分類樣本分開,針對兩者分別設計新的損失函數(shù),提升了對抗訓練帶給模型的穩(wěn)健性.Yan等[32]在對抗訓練過程中觀測到,對模型進行對抗訓練后,干凈樣本和對抗樣本在模型中激活的通道并不一致,因此在損失函數(shù)中加入正則化項,約束兩者在激活通道上保持對齊,減小了模型的穩(wěn)健性與準確性之間的差距.然而對抗訓練所帶來的額外的梯度計算,使得訓練模型需要巨大的計算代價,這一缺點一直無法忽略.
1.2.2 圖像去噪
圖像去噪是另一種應用廣泛的防御方法,防御者可選擇在輸入或模型中間的特征層去除樣本中的對抗噪聲,還原樣本的真實類別.早期的去噪方法有圖像的JPEG壓縮[33]、比特壓縮[34]等其他傳統(tǒng)的數(shù)據(jù)預處理方法[35].近年來,防御者使用生成模型擬合干凈樣本的分布,希望利用生成模型重建對抗樣本時盡量符合干凈樣本的特征,達到去噪效果.最常用的結(jié)構(gòu)即為AE與C級聯(lián)的“AE+C”結(jié)構(gòu).Hwang等[24]利用CVAE和額外的監(jiān)督標簽信息,將對抗樣本投影到每個類別流形上,將距離最近的投影作為去除噪聲的重建樣本.Vacanti等[36]認為在模型輸出端攻擊效果最顯著,因此他們選擇在輸出端去噪,訓練AE部分重建樣本,約束干凈樣本與重建樣本在輸出端保持對齊.同樣,他們使用預訓練的分類器.Takagi等[37]在訓練的數(shù)據(jù)集中隨機加入高斯噪聲或高斯模糊,希望提高AE部分在重建過程中的去噪能力.除了AE,一些研究者也嘗試將AE換成GAN或其他生成模型,如Defense-GAN方法[25]用以訓練GAN將隨機噪聲逐步重建出符合干凈樣本分布的重建樣本,達到去噪效果.這些方法有一個共同的缺點,即都是在灰盒攻擊模式下驗證模型的穩(wěn)健性.一旦攻擊者獲知AE部分的存在,模型的防御能力將會大大降低.針對這個問題,Naseer等[23]嘗試將AE的訓練與自監(jiān)督信號相結(jié)合,希望模型能防御白盒攻擊,不久即被新的攻擊方法攻擊成功.Shi等[38]設計了新的訓練方式,以AE為基礎,提取AE部分的潛在向量,利用潛在向量設計新的自監(jiān)督學習任務,使得AE獲得更多關于干凈樣本的信息.實驗證明,該方法可一定程度防御白盒攻擊.缺點是訓練時間依舊過長,而且需要逐樣本的去噪.
1.2.3 穩(wěn)健網(wǎng)絡
上述方法重點分別放在優(yōu)化算法和輸入端,部分研究者希望開發(fā)出本身即具有穩(wěn)健性的模型結(jié)構(gòu),如模型集成,防御者將多個分類模型集成為新的基礎分類模型,隨機輸出某個子模型的預測結(jié)果,嘗試誤導攻擊者選擇錯誤的子模型進行攻擊,進而實現(xiàn)模型穩(wěn)健性.近年來,有研究表明具有一定稀疏特性的網(wǎng)絡本身具有對抗穩(wěn)健性.2019年,Ye等[39]將模型剪枝與對抗訓練相結(jié)合,希望在訓練過程逐漸修剪網(wǎng)絡來抑制神經(jīng)網(wǎng)絡在潛在特征級別的脆弱性.Sehwag等[40]設計了一種名為HYDRA的穩(wěn)健性感知分數(shù),用于衡量模型權(quán)重對于穩(wěn)健網(wǎng)絡的重要性,通過評分,對分數(shù)較低的權(quán)重進行剪枝.?zdenizci等[22]在2021年提出貝葉斯穩(wěn)健稀疏網(wǎng)絡,在訓練過程中控制網(wǎng)絡的稀疏程度,進而降低對抗樣本對模型的干擾度.
自監(jiān)督學習旨在從無標簽數(shù)據(jù)中學習有意義的數(shù)據(jù)表征.近年來的研究表明,自監(jiān)督學習任務可以作為很好的輔助訓練方法,有利于提高深度神經(jīng)網(wǎng)絡的穩(wěn)健性.很多研究者均在自己的防御方法中加入了自監(jiān)督學習任務.Chen等[41]提出自監(jiān)督學習的對抗訓練方法,Hendryck等[42]發(fā)現(xiàn)給基于PGD的對抗訓練加入圖像重建的自監(jiān)督學習任務有助于提升訓練過程的穩(wěn)定性.Naseer等[23]和Zhou等[43]融合了圖像去噪和對抗訓練,分別利用不同的自監(jiān)督輔助信號產(chǎn)生對抗樣本訓練AE進行去噪.本文同樣在訓練過程中添加自監(jiān)督信號,設計篩選標準,令CVAE在訓練過程中選擇最適合的訓練通道,并在該通道最小化重建樣本與輸入的距離.
本文定義干凈樣本和對抗樣本數(shù)據(jù)集為Xclean與Xadver,數(shù)據(jù)集維度為d.用ytrue代表樣本的真實類別,ypred代表分類模型的預測結(jié)果,類別維度為c.CVAE是一種強大的生成模型,可生成符合指定分布的樣本.關鍵假設是CVAE中潛在變量z的先驗分布服從多元混合高斯分布Q.
訓練階段,通過優(yōu)化ELBO(evidence lower bound)來訓練CVAE,如式(5)所示:
ELBO=Ez~Q[log(P(x|z,y))]-
DKL(Q(z|x)‖P(z,y)).
(5)
其中第一項控制了CVAE的輸出與輸入的重建差異,第二項用KL散度保證先后驗分布的距離最小化.基于關鍵假設,進一步利用KL散度項最小化后驗分布與多元高斯分布的距離.
圖2展示了模型的訓練過程.第一階段,使用xclean與ytrue組成輸入對單獨訓練CVAE部分,先保證CVAE部分具有一定的重建能力.其中,編碼器E將輸入編碼為潛在空間的均值μ和標準差σ,如式(6)所示:
μ,σ=E(xclean,ytrue).
(6)
從潛在空間采樣潛在變量z,利用解碼器D重建出圖像樣本,如式(7)和(8)所示:
z=μ+ε·σ,
(7)
xrecon=D(z,ytrue),
(8)
其中,xrecon代表重建的圖像樣本,與xclean具有相同的維度d.此時CVAE需要真實標簽信息ytrue監(jiān)督其重建過程.
訓練CVAE部分的損失函數(shù)按照ELBO設計,分為式(9)和(10)兩項:
L1=xcleanlogxrecon+(1-xclean)log(1-xrecon),
(9)
L2=μ2+σ2-logσ2-1.
(10)
其中,L1與L2分別對應ELBO的兩項的損失函數(shù).
將xclean與y0, y1,…, y9組成輸入對,經(jīng)Encoder編碼為潛在向量z0, z1,…, z9,經(jīng)decoder重建出10張圖像,選取與xclean相似度最高的圖像為最終重建結(jié)果.圖2 模型訓練與測試展示圖Fig.2Training and testing process of our algorithm
訓練一定時間的CVAE后,對“CVAE+C”結(jié)構(gòu)進行端到端式訓練.具體地,將CVAE的重建輸出xrecon作為分類模型C的輸入,C輸出對xrecon的預測結(jié)果ypred,如式(11)所示:
ypred=C(xrecon).
(11)
由于實際應用中無法獲取樣本的真實類別,因此與單獨訓練CVAE不同,不再利用ytrue監(jiān)督CVAE的圖像重建,而采用自監(jiān)督信號yselect進行監(jiān)督.yselect由CVAE本身產(chǎn)生.將xclean與每個類別yi均組成輸入對,輸入模型進行一次前向計算,并重建出相應的圖像樣本,如式(12)所示:
xrecon,i=D(E(xclean,yi)),
(12)
其中xrecon,i代表第i個通道的重建樣本.
本文中定義重建樣本與干凈樣本的2-范數(shù)差異為訓練通道的篩選標準,將差異最小的重建樣本作為CVAE部分的最終重建結(jié)果,將對應的類別作為重建通道監(jiān)督樣本的重建過程:
(13)
在端到端訓練中,將CVAE的重建過程視為一種自監(jiān)督的輔助學習任務,令CVAE自適應地選擇最優(yōu)訓練通道,當驗證模型穩(wěn)健性時,該結(jié)構(gòu)不需要真實類別的監(jiān)督,即可篩選出正確的重建通道.
篩選出訓練通道后,希望此通道與真實類別保持一致,當篩選通道與真實類別一致時,約束重建樣本與輸入干凈樣本盡可能相似,不一致時,則約束重建樣本與輸入干凈樣本盡可能不同,因此將約束重建能力的損失函數(shù)修改為式(14):
(14)
采用交叉熵損失函數(shù)訓練分類器C,具體如下:
L3=ytruelogypred+(1-ytrue)log(1-ypred).
(15)
訓練時,為了避免梯度爆炸,加入模型權(quán)重w的正則化項,約束權(quán)重大?。?/p>
(16)
最后利用Adam算法訓練整個防御模型,聯(lián)合損失函數(shù)由4部分組成:
Ltotal=α1L1,new+α2L2+α3L3+α4Lreg,
(17)
其中αi代表各損失函數(shù)對應的權(quán)重.具體訓練流程見算法1和圖2.
算法1模型訓練
輸入:xclean,ytrue,隨機初始化E,D,C
單獨訓練CVAE,迭代次數(shù)T1
For 每一類別i執(zhí)行
利用式(12)重建每一通道的樣本
End for
根據(jù)式(13)篩選重建通道及對應類別yselect
判斷yselect與ytrue是否相等,確定損失函數(shù)形式
聯(lián)合訓練E,D,C,損失函數(shù)為式(17)
函數(shù)收斂,訓練完成
輸出:訓練好的E,D,C
測試階段,由于輸入樣本的類別未知,采用與訓練階段類似的前向計算過程與通道篩選過程,得到多個重建樣本:
xrecon,i=D(E(xtest,yi)),
(18)
與訓練階段相同,xrecon,i代表第i個通道的重建樣本,即輸入向所有類別的分布上的投影.
經(jīng)過解碼器D重建后,篩選與原輸入差異最小的投影作為去噪后的重建樣本,進而輸入分模型C得到還原后的預測結(jié)果ypred:
(19)
xselect=D(E(xtest,yselect)),
(20)
ypred=C(xselect).
(21)
詳細測試流程見算法2和圖2.需要注意的是,模型的訓練過程與測試過程均可利用圖2展示.不同的是,訓練過程中的yselect將作為自監(jiān)督信號輔助模型訓練,本文中采用真實類別ytrue監(jiān)督CVAE部分的篩選.測試過程中由于ytrue缺失,CVAE部分得到篩選通道后將直接獲得重建樣本.
算法2測試流程
輸入:xtest,訓練好的E,D,C
For 每一類別i執(zhí)行
利用式(18)重建每一通道的樣本
End for
根據(jù)式(19)篩選重建通道
根據(jù)式(20)得到去噪樣本xselect
根據(jù)式(21)得到預測類別ypred
輸出:去除噪聲后的樣本xselect,預測類別ypred
下面驗證防御模型針對4種攻擊方法:FGSM,BIM,PGD,CW的穩(wěn)健性.參與對比的防御方法有基于FGSM方法的對抗訓練[13]與PuVAE[24].本文防御模型的CVAE結(jié)構(gòu)見表1,驗證穩(wěn)健性時采用多種結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡作為目標分類模型,包括應用非常廣泛的殘差神經(jīng)網(wǎng)絡ResNet18[1],其他網(wǎng)絡的結(jié)構(gòu)見表2,用于驗證的數(shù)據(jù)集為MNIST和CIFAR10.MNIST[44]是一個包含60 000張訓練數(shù)據(jù)和10 000張測試數(shù)據(jù)的10分類手寫數(shù)據(jù)集.CIFAR10[45]包含10類小尺寸自然圖像,共有50 000張訓練數(shù)據(jù)和10 000張測試數(shù)據(jù).本文中對兩個數(shù)據(jù)集中的圖像均做了歸一化處理.對于MNIST,F(xiàn)GSM和PGD攻擊中擾動采用∞-范數(shù)約束,設定ε=0.3與ε=0.4兩種強度,其中PGD的迭代次數(shù)t=7,單步擾動約束α=0.1,CW攻擊中擾動采用2-范數(shù)約束,設定迭代次數(shù)為100.對于CIFAR10,F(xiàn)GSM和PGD攻擊中擾動采用∞-范數(shù)約束,設定ε=0.06與ε=0.15兩種強度,其中PGD的迭代次數(shù)t=7,單步擾動約束α=0.01,CW攻擊中擾動采用2-范數(shù)約束,設定迭代次數(shù)為100.整個訓練過程中,僅采用干凈樣本訓練.本文的實驗平臺為Pytorch,硬件條件為單張NVIDIA 1080Ti.
表1 CVAE結(jié)構(gòu)
表2 用到的分類模型
本部分驗證模型在灰盒攻擊條件下,針對3種攻擊方法的穩(wěn)健性.攻擊者獲得分類部分的模型信息,并利用其產(chǎn)生對抗樣本.驗證過程中,本文方法與PuVAE均將對抗樣本輸入CVAE部分重建去噪,將重建結(jié)果輸入分類部分預測類別,根據(jù)預測準確性評估模型針對該攻擊方法的穩(wěn)健性.在基于FGSM的對抗訓練方法中,本文采用與測試過程相同的擾動幅度,這也符合灰盒攻擊的條件,攻擊者能獲取對抗訓練模型,但未知訓練所用對抗樣本的強度.所有列表中的“No Attack”表示僅用分類模型預測干凈樣本類別的準確率.
MNIST數(shù)據(jù)集上驗證了MNIST_CNN_A與MNIST_CNN_B兩種網(wǎng)絡模型的穩(wěn)健性,驗證結(jié)果如表3和表4所示.為方便對比,本文與PuVAE方法設置一致的對比實驗.由于PuVAE文中未給出訓練的全部參數(shù),因此本文直接引用其報告的實驗結(jié)果.采用FGSM-AT方法訓練時,學習率默認0.001,采用階梯式衰減.本文方法中損失函數(shù)的權(quán)重設置為1,1,10,5×10-4.
表3 不同攻擊方法下MNIST_CNN_A實驗結(jié)果(灰盒)
表4 不同攻擊方法下MNIST_CNN_B實驗結(jié)果(灰盒)
從驗證結(jié)果可以看出,F(xiàn)GSM-AT針對FGSM攻擊方法體現(xiàn)了超過其他方法的穩(wěn)健性,但針對更強的PGD攻擊方法時,防御性能大大降低.本文模型針對PGD攻擊方法的穩(wěn)健性較強,針對FGSM方法產(chǎn)生對抗樣本的分類準確率高于PuVAE,然而在使用BIM迭代攻擊方法攻擊模型時,PuVAE報告了高于FGSM的穩(wěn)健性,也高于本文模型的報告結(jié)果.可能的原因是PuVAE僅提供了PGD方法的擾動幅度,而攻擊的迭代次數(shù)和單步擾動未知,因此本文模型準確率低于PuVAE可能的原因是單步擾動較大,或迭代次數(shù)過高.
CIFAR10數(shù)據(jù)集的驗證實驗里,用到的分類模型為CIFAR10-CNN與ResNet18.采用FGSM-AT方法訓練時,學習率與MNIST實驗相同.本文中直接引用PuVAE論文中匯報的準確率為驗證結(jié)果.設置4個損失函數(shù)權(quán)重分別為2,1,2,5×10-4.
表5與表6分別為CIFAR10-CNN和ResNet18的穩(wěn)健性驗證結(jié)果,二者結(jié)果有很多相似之處,從“No defense”一行可以看出,兩種分類模型均很容易被對抗樣本攻擊成功.FGSM-AT方法針對FGSM攻擊有一定防御性能,且超過了PuVAE,然而在更強的PGD攻擊下完全失效.由于PuVAE未匯報在ResNet18上的分類結(jié)果,且在訓練PuVAE提供的CVAE與ResNet18的級聯(lián)結(jié)構(gòu)時發(fā)現(xiàn)很不穩(wěn)定,因此ResNet18表中未將PuVAE加入對比結(jié)果.本文模型在多種攻擊方法下的分類準確率都超過了FGSM-AT與PuVAE.且相比于MNIST,該數(shù)據(jù)集下的穩(wěn)健性驗證結(jié)果更明顯地體現(xiàn)了本模型的優(yōu)越性.
表5 不同攻擊方法下CIFAR10_CNN實驗結(jié)果(灰盒)
表6 不同攻擊方法下ResNet18實驗結(jié)果(灰盒)
由于黑盒攻擊條件下,攻擊者僅能訪問模型輸出,因此大多數(shù)攻擊者選擇訓練目標分類模型的替代模型,希望替代模型的輸出與目標模型盡可能一致,攻擊者便可通過攻擊替代模型獲得目標分類模型的對抗樣本.本文在驗證A模型的穩(wěn)健性時,使用B模型作為替代模型產(chǎn)生對抗樣本.如驗證MNIST_CNN_A模型穩(wěn)健性時,使用MNIST_CNN_B模型產(chǎn)生對抗樣本.黑盒攻擊實驗中,采用的模型文件與灰盒攻擊實驗完全相同,各項參數(shù)均保持一致,MNIST數(shù)據(jù)集上的驗證結(jié)果如表7與表8所示,CIFAR10數(shù)據(jù)集上的驗證結(jié)果如表9與表10所示.
MNIST實驗中,F(xiàn)GSM-AT方法在CW攻擊下的穩(wěn)健性優(yōu)于本模型,本模型針對PGD對抗樣本的分類準確率較高.值得注意的是,在FGSM攻擊下,F(xiàn)GSM-AT方法效果在不同模型中有很大不同,在A模型中優(yōu)于本模型,在B模型中與本模型幾乎一致.與灰盒攻擊結(jié)果結(jié)合,可發(fā)現(xiàn)對抗訓練很依賴特定模型的缺點,使用對抗訓練得到的模型對使用特定方法攻擊同類模型得到的對抗樣本的穩(wěn)健性很高,而對于跨模型的對抗樣本,穩(wěn)健性將受到影響,可能升高也可能降低.
CIFAR10實驗中,與灰盒攻擊下的結(jié)果類似,本模型顯示了針對多種對抗樣本的穩(wěn)健性.
表7 不同攻擊方法下MNIST_CNN_A實驗結(jié)果(黑盒)
表8 不同攻擊方法下MNIST_CNN_B實驗結(jié)果(黑盒)
表9表明,F(xiàn)GSM-AT方法針對不同強度FGSM的防御性能均超過了本方法,但相比于FGSM-AT方法,本模型在多種攻擊下的防御準確率較為均衡,而FGSM-AT針對PGD的防御性能劣于FGSM.FGSM-AT方法在CW攻擊方法下的穩(wěn)健性稍高于本模型.表10表明,當目標模型換成使用更加廣發(fā)的Resnet18后,F(xiàn)GSM與PGD攻擊下本方法防御效果均大幅度超過FGSM-AT,CW攻擊下FGSM-AT的穩(wěn)健性最強.和MNIST數(shù)據(jù)集的實驗結(jié)果一致,對于跨模型生成的對抗樣本,對抗訓練得到的模型穩(wěn)健性將大幅降低.
表9 不同攻擊方法下CIFAR10_CNN實驗結(jié)果(黑盒)
表10 不同攻擊方法下ResNet18實驗結(jié)果(黑盒)
本文針對的人工智能任務是圖像分類,目的在于降低甚至防止對抗樣本對分類模型的影響,保證模型能在被攻擊的同時輸出準確的預測類別.由于本文提出的方法本質(zhì)是一種去噪方法,因此除分類任務之外,本文的CVAE部分也可以與其他任務中的模型級聯(lián),如檢測模型或分割模型,可擴展范圍很大.另外,本文主要驗證的是防御模型在灰盒攻擊與黑盒攻擊兩種條件下的魯棒性,這是由實際的應用條件決定的,在白盒攻擊條件下,本模型的防御效果將會降低,這也是符合常理的.本模型以去噪為基本思想,而去噪本身對模型自身的性質(zhì)并沒有做出實質(zhì)改進,因此防御白盒攻擊效果不佳.若希望將此方法擴展到白盒攻擊條件下,則需要考慮與對抗訓練相結(jié)合,或在訓練中加入適當?shù)恼齽t化項,用于約束模型的決策邊界與輸入樣本保持較大的距離.
本文以圖像去噪方法常用的“AE+C”級聯(lián)結(jié)構(gòu)為基礎,設計了一種利用自監(jiān)督重建信號的輔助訓練方法,得到的防御模型作為一個整體的分類模型,在對抗樣本輸入后,先利用編碼器部分對其進行去噪,還原出原始的干凈樣本,并由后續(xù)的分類器預測其真實類別.與前人方法相比,本方法繼承了可擴展性強的特性,在灰盒攻擊與黑盒攻擊兩種攻擊條件下,利用多種攻擊方法產(chǎn)生對抗樣本驗證了模型的穩(wěn)健性.實驗表明,本文訓練方法得到的模型在多個數(shù)據(jù)集上都實現(xiàn)了針對對抗樣本的較高分類準確率.證明了本訓練方法有效提高了模型的穩(wěn)健性.