楊文雪,吳 非,郭 桐,肖利民
(1.北京航空航天大學(xué) 軟件開發(fā)環(huán)境國家重點(diǎn)實驗室,北京 100191;2.北京航空航天大學(xué) 計算機(jī)學(xué)院,北京 100191)
近年來,隨著數(shù)據(jù)規(guī)模的不斷擴(kuò)大和計算能力極大提高,深度學(xué)習(xí)飛速發(fā)展,并在計算機(jī)視覺[1]、自然語言處理[2]等領(lǐng)域得到了大規(guī)模應(yīng)用。在某些特定場景下,其性能已經(jīng)超過了其他分類和識別算法,但其自身存在的安全問題也在發(fā)展過程中不斷暴露出來。
在圖像識別領(lǐng)域,根據(jù)深度神經(jīng)網(wǎng)絡(luò)在高維空間的線性性質(zhì),向圖像添加精心設(shè)計的細(xì)微噪聲生成對抗樣本,這種微小的像素值改變在特征空間上的影響被層層放大,最終可以誤導(dǎo)深度學(xué)習(xí)模型做出高置信度的錯誤判斷。這使得基于深度學(xué)習(xí)的無人駕駛[3]、人臉識別[4]等應(yīng)用面臨嚴(yán)重威脅。目前對抗攻擊依然是深度學(xué)習(xí)在可靠性領(lǐng)域應(yīng)用和普及的較大阻礙。
目前多數(shù)研究主要從提高模型魯棒性和預(yù)處理輸入圖像兩個方面著手防御對抗攻擊。文獻(xiàn)[5]利用對抗樣本進(jìn)行對抗訓(xùn)練,通過減少深度神經(jīng)網(wǎng)絡(luò)的過擬合以提高魯棒性。這種方法需要大量對抗樣本用以訓(xùn)練,計算成本較高[6],且出現(xiàn)新的對抗樣本使該防御方法失效。文獻(xiàn)[7]提出“蒸餾”作為對抗防御的新手段,利用“蒸餾”使深度學(xué)習(xí)模型更加平滑,提高模型的泛化性。文獻(xiàn)[8]將標(biāo)準(zhǔn)攻擊稍加修改后,成功攻破“蒸餾”防御。文獻(xiàn)[9]提出在輸出層前加入專門的網(wǎng)絡(luò)用以除去非必要特征,以此提高深度學(xué)習(xí)網(wǎng)絡(luò)的魯棒性的DeepCloak 防御機(jī)制。文獻(xiàn)[10]以生成對抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)為基礎(chǔ),提出以干凈樣本和對抗樣本作為判別器和生成器輸入,訓(xùn)練根據(jù)對抗樣本構(gòu)造“仿真”正常圖像生成器的APE-GAN。文獻(xiàn)[11]利用隨機(jī)噪聲輸入訓(xùn)練Defense-GAN,模擬未被干擾圖像的分布,并以此為依據(jù)為每個輸入圖像找到與之接近的不包含對抗干擾的輸出,而生成對抗網(wǎng)絡(luò)的訓(xùn)練和調(diào)試成為基于GAN 防御方法的重點(diǎn)和難點(diǎn)。文獻(xiàn)[12-13]提出的JPEG 圖像壓縮和圖像分塊去噪方法對抗攻擊的防御效果比較有限,在壓縮圖像的同時會降低正常樣本的分類準(zhǔn)確率。
基于對抗訓(xùn)練的防御方法可以提高模型對對抗噪聲的容忍度和自身泛化性。但是,訓(xùn)練數(shù)據(jù)分布的局限性和深度學(xué)習(xí)模型的不可解釋性,使得深度學(xué)習(xí)模型與理想分類模型的決策面總是存在一定差異,無法徹底消除對抗樣本,導(dǎo)致訓(xùn)練投入和防御效果不成正比。利用預(yù)處理過程消除噪聲對深度學(xué)習(xí)模型的干擾,實現(xiàn)正確識別的預(yù)處理方法相較于提高模型魯棒性方法更為高效。但是,各類對抗攻擊始終遵循盡可能減小對抗樣本與原始圖像差距的原則,大幅削弱了普通濾波過程對對抗噪聲的敏感性,導(dǎo)致直接去噪的防御效果并不理想。同時,降噪過程中極易造成圖像關(guān)鍵特征和邊緣信息的丟失。
針對以上預(yù)處理防御方法的不足,本文提出一種基于噪聲溶解的對抗樣本防御方法。利用噪聲溶解過程隨機(jī)放大對抗擾動,降低對抗擾動對濾波過程的容忍程度,并將深度學(xué)習(xí)模型的識別特征應(yīng)用于濾波器設(shè)計,經(jīng)過區(qū)域自適應(yīng)去噪過程得到平滑且可以被正確識別的去噪圖像。
本節(jié)將分析對抗攻擊原理,并介紹實驗中采用的對抗樣本生成方法。
對抗樣本的存在性反映了深度學(xué)習(xí)模型的固有缺陷。如圖1 所示,分類決策面左側(cè)的樣本可以被正確識別為類別a,右側(cè)樣本識別為類別b。受到訓(xùn)練樣本分布、規(guī)模及模型結(jié)構(gòu)的限制,深度學(xué)習(xí)模型的分類決策面與理想決策面相近但無法完全擬合[14]。
圖1 對抗樣本的存在性解釋Fig.1 Existence interpretation of adversarial examples
利用攻擊算法計算出的細(xì)微擾動對a 類樣本加以修改,得到如式(1)所示的對抗樣本:
對抗樣本輸入深度神經(jīng)網(wǎng)絡(luò)后,進(jìn)行如式(2)所示的運(yùn)算:
其中:ω是深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練好的參數(shù)向量。設(shè)計η使其與ω方向一致,此時,即使η很小,經(jīng)過多層計算后也會對激活值造成巨大的干擾,從而達(dá)到人類肉眼難以察覺但能夠成功跨越模型決策面,誤導(dǎo)神經(jīng)網(wǎng)絡(luò)將其識別為b 類樣本的效果。
對抗樣本生成方法如下:
1)Box-constrained L-BFGS 方法
文獻(xiàn)[15]證明向圖片中添加精心設(shè)計的微小擾動可以誤導(dǎo)模型做出錯誤判斷,并提出了利用Boxconstrained L-BFGS 最小化對抗擾動構(gòu)造對抗樣本的方法,如式(3)所示:
其中:x為原始圖像;r為對抗擾動;l為目標(biāo)標(biāo)簽。該方法求解得到的對抗擾動很小,很難被檢測或清除。
2)快速梯度符號方法
文獻(xiàn)[16]提出的快速梯度符號方法(Fast Gradient Sign Method,F(xiàn)GSM)通過向模型梯度最大化的方向添加擾動生成對抗樣本。在模型訓(xùn)練過程中,通常將損失作為衡量模型識別結(jié)果好壞的指標(biāo),損失值越小,識別正確的概率越大。反之,使損失反方向收斂,即可達(dá)到攻擊效果。對抗噪聲如式(4)所示:
其中:J(·)為模型的損失函數(shù);?為梯度;ε為攻擊步長,其大小決定了攻擊強(qiáng)度。但由于FGSM 為單次攻擊,成功率不高,文獻(xiàn)[17]提出了迭代FGSM,以小步長多次應(yīng)用FGSM 得到更加精準(zhǔn)的對抗樣本。
該方法與L-BFGS 相比,只需要進(jìn)行反向傳播梯度符號的計算,攻擊效率高,但對抗性能稍差。
3)基于雅可比矩陣的顯著映射攻擊
文獻(xiàn)[18]提出的基于雅可比矩陣的顯著映射攻擊(Jacobian-based Saliency Map Attack,JSMA)方法不同于前幾種使用損失函數(shù)梯度構(gòu)造對抗樣本的攻擊方法,而是直接計算預(yù)測輸出結(jié)果的梯度,用以代表每個輸入特征對預(yù)測結(jié)果的影響并將其稱為前向梯度?;谇跋蛱荻仁褂醚趴杀染仃嚇?gòu)建對抗顯著圖,有針對性地找到對預(yù)測結(jié)果影響最大的輸入特征對并修改,得到對抗樣本。
4)DeepFool 方法
文獻(xiàn)[19]通過將二分類線性模型類比到復(fù)雜模型,提出了利用迭代線性計算的方法生成對抗擾動的DeepFool,如式(6)所示。該方法通過計算最短向量使原始圖像朝著垂直于分類平面的方向前進(jìn)最短距離,不斷逼近分類平面,最終越過分類平面,實現(xiàn)錯誤分類。
5)C&W 方法
文獻(xiàn)[20]提出通過限制L∞、L2和L0范數(shù)產(chǎn)生難以察覺的對抗擾動。C&W(Carlini and Wagner Attacks)攻擊使用類別邏輯值代替損失函數(shù)中的最終預(yù)測值并引入了二分查找最優(yōu)常數(shù)C來控制對抗樣本的置信度,以平衡錯誤識別置信度和擾動添加值。C&W 構(gòu)造的對抗樣本應(yīng)滿足以下2 個條件:
(1)與對應(yīng)的干凈樣本差距越小越好,如式(7)、式(8)所示:
(2)使得模型分類錯誤那類的概率越高越好,如式(9)所示:
其中:f(·)表示目標(biāo)函數(shù)′表示類別i的邏輯值;參數(shù)k用來控制錯誤分類的置信度,與對抗樣本x′攻擊的成功率呈正相關(guān)。
對抗樣本是通過多次迭代像素級微小擾動而非依據(jù)語義改變得到的,在保證隱蔽性的同時具有很強(qiáng)的脆弱性[21]。本文提出基于噪聲溶解的對抗樣本防御方法的防御流程如圖2 所示。
圖2 本文方法防御流程Fig.2 Defense procedure of proposed method
基于噪聲溶解的對抗樣本防御方法基本思路是利用基于自然噪聲的噪聲溶解過程,隨機(jī)放大微小對抗擾動的同時溶解對抗擾動,破壞其攻擊性。隨后利用基于深度學(xué)習(xí)模型識別特征的區(qū)域自適應(yīng)濾波有針對性地去除對抗擾動,得到可以重新被正確識別的去噪圖像。
如圖3 所示,深度學(xué)習(xí)分類模型對自然噪聲有很強(qiáng)的魯棒性[22]。利用深度學(xué)習(xí)模型對自然噪聲的魯棒性,向圖像中引入圖像傳輸過程中因信道干擾而在圖像上產(chǎn)生的乘性噪聲,如式(10)所示。乘性變換隨機(jī)放大了圖像中的對抗擾動數(shù)值,提高了對抗擾動對后續(xù)濾波過程的敏感性,使其更容易被濾波去除。
圖3 自然噪聲對分類結(jié)果的影響Fig.3 Influence of natural noise on classification results
其中:I為待處理圖像;n為均值為0 的符合均勻分布的隨機(jī)噪聲,n的方差用以控制乘性噪聲的添加強(qiáng)度。
另一方面,精心設(shè)計的對抗擾動的整體性結(jié)構(gòu)具有較強(qiáng)的脆弱性。如圖4 和圖5 所示,向?qū)箻颖咎砑臃讲钤谝欢ǚ秶鷥?nèi)的乘性噪聲后帶來的隨機(jī)共振效應(yīng)[23],提高了對抗樣本被深度學(xué)習(xí)模型重新識別為正確標(biāo)簽的概率,即在一定程度上破壞了對抗擾動的攻擊性,使對抗擾動的影響更趨于自然噪聲。同時,盡管干凈樣本被識別正確的概率有稍微下降,但依然可以保證圖像被正確分類。因此,可以認(rèn)為該過程在對抗樣本修復(fù)上整體利大于弊。
圖5 乘性噪聲對分類結(jié)果的影響2Fig.5 Influence of multiplicative noise on classification results 2
深度學(xué)習(xí)模型本身具有很強(qiáng)的定位能力[24],即對于不同的圖像特征會產(chǎn)生不同強(qiáng)度的響應(yīng),添加到不同區(qū)域的對抗噪聲為誤導(dǎo)神經(jīng)網(wǎng)絡(luò)做出的貢獻(xiàn)差別很大。圖6 以熱力圖的形式展示了圖像各區(qū)域像素的修改程度,其中,第1 列從上往下分別為L-BFGS、FGSM、JSMA、DeepFool、C&W 方法,第2、3 列分別為對抗樣本和溶解圖像。與圖像類激活映射對比,對抗攻擊對原始圖像的修改主要集中在被識別圖像的核心區(qū)域。因此,識別核心區(qū)域?qū)崿F(xiàn)對抗攻擊做出的貢獻(xiàn)更多且對抗噪聲強(qiáng)度更大,而經(jīng)過噪聲溶解過程后得到的溶解圖像的核心區(qū)域的變化極其微小?;谝陨戏治觯疚奶岢鲆詧D像不同區(qū)域的噪聲貢獻(xiàn)為依據(jù),自適應(yīng)調(diào)節(jié)濾波強(qiáng)度的區(qū)域自適應(yīng)濾波器,具體濾波步驟如圖7 所示。文獻(xiàn)[25]提出的基于梯度加權(quán)的類激活映射(Grad-CAM)利用模型識別結(jié)果對最后一個卷積層特征圖梯度的全局平均池化表征特征權(quán)重,以特征權(quán)重為依據(jù),對特征圖進(jìn)行加權(quán)求和后以熱力圖的形式可視化特征對圖像識別的影響程度,如式(11)、式(12)所示。該特征圖同時反映了對抗擾動對誤導(dǎo)神經(jīng)網(wǎng)絡(luò)做出的貢獻(xiàn)強(qiáng)度,稱該圖為噪聲貢獻(xiàn)圖。
圖6 噪聲熱力圖Fig.6 Heatmap of noise
圖7 區(qū)域自適應(yīng)濾波Fig.7 Regional adaptive filter
其中:Z為特征圖的像素數(shù);yC為C的分類分?jǐn)?shù)為第k個特征圖在(i,j)處的像素值;Relu(·)用于濾除未對分類為C做出貢獻(xiàn)的特征。
噪聲貢獻(xiàn)圖每點(diǎn)的值表征對應(yīng)像素對模型決策結(jié)果的影響,將其作為該像素的噪聲貢獻(xiàn)權(quán)重W,用放縮后的W決定各區(qū)域濾波強(qiáng)度。利用式(13)逐個求得圖像每個像素對應(yīng)的改進(jìn)區(qū)域自適應(yīng)濾波模板。最后,將模板與圖像卷積,得到濾除噪聲的去噪圖像。
其中:參數(shù)k、b用于噪聲貢獻(xiàn)權(quán)重W的放縮,保證濾波強(qiáng)度控制在合理的范圍。
本節(jié)將驗證防御方法的有效性和可行性。首先介紹實驗的數(shù)據(jù)來源、實驗設(shè)置、評價指標(biāo)及參數(shù)選擇,然后驗證本文方法對對抗攻擊的防御效果及與其他預(yù)處理方法的對比。
文獻(xiàn)[26]提出的ImageNet 是計算機(jī)圖像識別領(lǐng)域最大、應(yīng)用最廣的自然圖像數(shù)據(jù)集,包含分屬于1 000個類的超過一百萬個被手動標(biāo)注的彩色識別樣本。實驗以ImageNet 數(shù)據(jù)集為基準(zhǔn),隨機(jī)選取能夠被目標(biāo)深度學(xué)習(xí)模型正確識別的干凈圖像,分別使用L-BFGS、FGSM、Deepfool、JSMA 以及C&W 方法以InceptionV3[27]、VGG16[28]、ResNet 50[29]為攻擊目標(biāo)生成10 000 張對抗樣本。
目前很難對不同的防御方法進(jìn)行直觀的比較。一方面,大部分攻擊方法和防御技術(shù)主要作用于低分辨率圖像,而對高分辨率圖像攻擊和防御的研究相對較少;另一方面,不同文獻(xiàn)對于測試圖像選擇、擾動量級等實驗參數(shù)設(shè)置的標(biāo)準(zhǔn)不統(tǒng)一,增大了各類防御方法的效果對比難度。
為了使防御效果的對比更加公正合理,對量化指標(biāo)做出如下規(guī)定:1)可以被深度學(xué)習(xí)模型誤判視為攻擊成功,生成的對抗樣本即可用于后續(xù)實驗;2)對抗樣本處理后可以被正確分類的情況即視為防御有效。同時,為了避免實驗結(jié)果的偶然性,進(jìn)行了多次實驗來計算識別準(zhǔn)確率的平均值。
將噪聲溶解線性變換過程中服從均勻分布的隨機(jī)噪聲的方差設(shè)置為1e-04,濾波器濾波模板尺寸設(shè)置為3×3,將噪聲貢獻(xiàn)放縮參數(shù)k設(shè)為6,b設(shè)為0.5。由于噪聲溶解過程具有一定的隨機(jī)性,設(shè)置實驗測試次數(shù)為100 次。
用于對比的防御方法選擇了普通濾波以及遷移性較高的3 種預(yù)處理防御方法,即JPEG 圖像壓縮、APE-GAN 和圖像分塊去噪。其中,普通濾波選擇高斯濾波器,高斯核尺寸設(shè)置為3×3,標(biāo)準(zhǔn)差設(shè)置為5,JPEG 圖像壓縮的質(zhì)量因子設(shè)置為0.8。
實驗采用的硬件配置:CPU 為i7-7820k,內(nèi)存為16 GB DDR4,顯卡為RTX2080ti×2。
預(yù)處理方法可能會造成圖像細(xì)節(jié)尤其是邊緣信息的丟失,從而影響識別效果。因此,本文基于噪聲溶解的對抗樣本防御方法對干凈樣本識別的影響進(jìn)行評估。表1 所示為本文防御方法在不同深度識別網(wǎng)絡(luò)下對干凈樣本識別準(zhǔn)確率的影響。
表1 干凈樣本識別準(zhǔn)確率Table 1 Identification accuracy of clean samples %
該方法使干凈樣本的識別準(zhǔn)確率出現(xiàn)了輕微下降,但仍均保持在98%以上。因此,該方法在防御對抗攻擊的同時極大程度上避免了圖像信息的丟失及將原始干凈樣本分類錯誤的情況。
本文方法在不同的深度識別網(wǎng)絡(luò)下對不同對抗攻擊的識別準(zhǔn)確率如表2 所示,表中數(shù)字表示最差/均值/最優(yōu)。根據(jù)100 次實驗結(jié)果繪制的箱線圖如圖8 所示,用于衡量提出方法的穩(wěn)定性。
圖8 不同方法的防御效果Fig.8 Defense effects of different methods
表2 不同方法的對抗樣本識別準(zhǔn)確率Table 2 Adversarial sample recognition accuracy of different methods %
在ResNet 50 模型下,面對DeepFool 攻擊,本文方法取得了最好的防御效果,識別準(zhǔn)確率最高達(dá)到了94.94%。而對抗擾動相對更微小的L-BFGS 和JSMA,對噪聲溶解和去噪過程的敏感度更低,導(dǎo)致識別準(zhǔn)確率略低,但也均維持在80%以上,達(dá)到了較優(yōu)的防御效果。
表3 所示為在InceptionV3 模型下,本文方法與普通高斯濾波、JPEG 圖像壓縮、APE-GAN 和圖像分塊去噪3 種預(yù)處理防御方法的防御表現(xiàn)對比。
表3 不同方法的防御效果對比Table 3 Comparison of defense effects of different methods %
對抗噪聲足夠細(xì)微的性質(zhì)使其對普通濾波過程不敏感,在直接進(jìn)行普通濾波后,對抗樣本識別準(zhǔn)確率在20%以下,防御效果很差。在FGSM 攻擊下,本文方法識別準(zhǔn)確率相比JPEG 圖像壓縮、APE-GAN和圖像分區(qū)去噪分別提高了24.32、39.04 和24.64 個百分點(diǎn)。在面對其他攻擊時,本文方法的防御效果相對于其他防御方法,同樣取得了大幅提高。
綜合以上分析,基于噪聲溶解的對抗樣本防御方法相對于其他預(yù)處理防御方法,將自然噪聲添加應(yīng)用于預(yù)處理過程中,并將模型識別特征與濾波過程相結(jié)合,更有針對性破壞和濾除對抗噪聲,達(dá)到較優(yōu)的防御效果。
本文針對對抗擾動對預(yù)處理過程的脆弱性,提出基于噪聲溶解的對抗樣本防御方法。利用噪聲溶解過程放大對抗擾動并破壞其攻擊性,使用區(qū)域自適應(yīng)濾波更有針對性的濾除噪聲,改善圖片質(zhì)量。該方法脫離對對抗樣本的依賴,普適性更強(qiáng),同時無需進(jìn)行對抗訓(xùn)練,簡化了防御流程。實驗結(jié)果表明,本文方法與同類預(yù)處理方法相比,可以更加有效地達(dá)到對對抗攻擊的防御效果。本文在實驗過程中暴露出噪聲溶解過程對極微小對抗噪聲的放大效果不夠,下一步將根據(jù)單個圖像的特征進(jìn)行噪聲溶解參數(shù)的自適應(yīng)調(diào)整,以構(gòu)建更為有效的面向多場景的對抗攻擊防御方法。