楊文雪,吳 非,郭 桐,肖利民
(1.北京航空航天大學 軟件開發環境國家重點實驗室,北京 100191;2.北京航空航天大學 計算機學院,北京 100191)
近年來,隨著數據規模的不斷擴大和計算能力極大提高,深度學習飛速發展,并在計算機視覺[1]、自然語言處理[2]等領域得到了大規模應用。在某些特定場景下,其性能已經超過了其他分類和識別算法,但其自身存在的安全問題也在發展過程中不斷暴露出來。
在圖像識別領域,根據深度神經網絡在高維空間的線性性質,向圖像添加精心設計的細微噪聲生成對抗樣本,這種微小的像素值改變在特征空間上的影響被層層放大,最終可以誤導深度學習模型做出高置信度的錯誤判斷。這使得基于深度學習的無人駕駛[3]、人臉識別[4]等應用面臨嚴重威脅。目前對抗攻擊依然是深度學習在可靠性領域應用和普及的較大阻礙。
目前多數研究主要從提高模型魯棒性和預處理輸入圖像兩個方面著手防御對抗攻擊。文獻[5]利用對抗樣本進行對抗訓練,通過減少深度神經網絡的過擬合以提高魯棒性。這種方法需要大量對抗樣本用以訓練,計算成本較高[6],且出現新的對抗樣本使該防御方法失效。文獻[7]提出“蒸餾”作為對抗防御的新手段,利用“蒸餾”使深度學習模型更加平滑,提高模型的泛化性。文獻[8]將標準攻擊稍加修改后,成功攻破“蒸餾”防御。文獻[9]提出在輸出層前加入專門的網絡用以除去非必要特征,以此提高深度學習網絡的魯棒性的DeepCloak 防御機制。文獻[10]以生成對抗網絡(Generative Adversarial Network,GAN)為基礎,提出以干凈樣本和對抗樣本作為判別器和生成器輸入,訓練根據對抗樣本構造“仿真”正常圖像生成器的APE-GAN。文獻[11]利用隨機噪聲輸入訓練Defense-GAN,模擬未被干擾圖像的分布,并以此為依據為每個輸入圖像找到與之接近的不包含對抗干擾的輸出,而生成對抗網絡的訓練和調試成為基于GAN 防御方法的重點和難點。文獻[12-13]提出的JPEG 圖像壓縮和圖像分塊去噪方法對抗攻擊的防御效果比較有限,在壓縮圖像的同時會降低正常樣本的分類準確率。
基于對抗訓練的防御方法可以提高模型對對抗噪聲的容忍度和自身泛化性。但是,訓練數據分布的局限性和深度學習模型的不可解釋性,使得深度學習模型與理想分類模型的決策面總是存在一定差異,無法徹底消除對抗樣本,導致訓練投入和防御效果不成正比。利用預處理過程消除噪聲對深度學習模型的干擾,實現正確識別的預處理方法相較于提高模型魯棒性方法更為高效。但是,各類對抗攻擊始終遵循盡可能減小對抗樣本與原始圖像差距的原則,大幅削弱了普通濾波過程對對抗噪聲的敏感性,導致直接去噪的防御效果并不理想。同時,降噪過程中極易造成圖像關鍵特征和邊緣信息的丟失。
針對以上預處理防御方法的不足,本文提出一種基于噪聲溶解的對抗樣本防御方法。利用噪聲溶解過程隨機放大對抗擾動,降低對抗擾動對濾波過程的容忍程度,并將深度學習模型的識別特征應用于濾波器設計,經過區域自適應去噪過程得到平滑且可以被正確識別的去噪圖像。
本節將分析對抗攻擊原理,并介紹實驗中采用的對抗樣本生成方法。
對抗樣本的存在性反映了深度學習模型的固有缺陷。如圖1 所示,分類決策面左側的樣本可以被正確識別為類別a,右側樣本識別為類別b。受到訓練樣本分布、規模及模型結構的限制,深度學習模型的分類決策面與理想決策面相近但無法完全擬合[14]。

圖1 對抗樣本的存在性解釋Fig.1 Existence interpretation of adversarial examples
利用攻擊算法計算出的細微擾動對a 類樣本加以修改,得到如式(1)所示的對抗樣本:

對抗樣本輸入深度神經網絡后,進行如式(2)所示的運算:

其中:ω是深度神經網絡訓練好的參數向量。設計η使其與ω方向一致,此時,即使η很小,經過多層計算后也會對激活值造成巨大的干擾,從而達到人類肉眼難以察覺但能夠成功跨越模型決策面,誤導神經網絡將其識別為b 類樣本的效果。
對抗樣本生成方法如下:
1)Box-constrained L-BFGS 方法
文獻[15]證明向圖片中添加精心設計的微小擾動可以誤導模型做出錯誤判斷,并提出了利用Boxconstrained L-BFGS 最小化對抗擾動構造對抗樣本的方法,如式(3)所示:

其中:x為原始圖像;r為對抗擾動;l為目標標簽。該方法求解得到的對抗擾動很小,很難被檢測或清除。
2)快速梯度符號方法
文獻[16]提出的快速梯度符號方法(Fast Gradient Sign Method,FGSM)通過向模型梯度最大化的方向添加擾動生成對抗樣本。在模型訓練過程中,通常將損失作為衡量模型識別結果好壞的指標,損失值越小,識別正確的概率越大。反之,使損失反方向收斂,即可達到攻擊效果。對抗噪聲如式(4)所示:

其中:J(·)為模型的損失函數;?為梯度;ε為攻擊步長,其大小決定了攻擊強度。但由于FGSM 為單次攻擊,成功率不高,文獻[17]提出了迭代FGSM,以小步長多次應用FGSM 得到更加精準的對抗樣本。

該方法與L-BFGS 相比,只需要進行反向傳播梯度符號的計算,攻擊效率高,但對抗性能稍差。
3)基于雅可比矩陣的顯著映射攻擊
文獻[18]提出的基于雅可比矩陣的顯著映射攻擊(Jacobian-based Saliency Map Attack,JSMA)方法不同于前幾種使用損失函數梯度構造對抗樣本的攻擊方法,而是直接計算預測輸出結果的梯度,用以代表每個輸入特征對預測結果的影響并將其稱為前向梯度。基于前向梯度使用雅可比矩陣構建對抗顯著圖,有針對性地找到對預測結果影響最大的輸入特征對并修改,得到對抗樣本。
4)DeepFool 方法
文獻[19]通過將二分類線性模型類比到復雜模型,提出了利用迭代線性計算的方法生成對抗擾動的DeepFool,如式(6)所示。該方法通過計算最短向量使原始圖像朝著垂直于分類平面的方向前進最短距離,不斷逼近分類平面,最終越過分類平面,實現錯誤分類。

5)C&W 方法
文獻[20]提出通過限制L∞、L2和L0范數產生難以察覺的對抗擾動。C&W(Carlini and Wagner Attacks)攻擊使用類別邏輯值代替損失函數中的最終預測值并引入了二分查找最優常數C來控制對抗樣本的置信度,以平衡錯誤識別置信度和擾動添加值。C&W 構造的對抗樣本應滿足以下2 個條件:
(1)與對應的干凈樣本差距越小越好,如式(7)、式(8)所示:

(2)使得模型分類錯誤那類的概率越高越好,如式(9)所示:

其中:f(·)表示目標函數′表示類別i的邏輯值;參數k用來控制錯誤分類的置信度,與對抗樣本x′攻擊的成功率呈正相關。
對抗樣本是通過多次迭代像素級微小擾動而非依據語義改變得到的,在保證隱蔽性的同時具有很強的脆弱性[21]。本文提出基于噪聲溶解的對抗樣本防御方法的防御流程如圖2 所示。

圖2 本文方法防御流程Fig.2 Defense procedure of proposed method
基于噪聲溶解的對抗樣本防御方法基本思路是利用基于自然噪聲的噪聲溶解過程,隨機放大微小對抗擾動的同時溶解對抗擾動,破壞其攻擊性。隨后利用基于深度學習模型識別特征的區域自適應濾波有針對性地去除對抗擾動,得到可以重新被正確識別的去噪圖像。
如圖3 所示,深度學習分類模型對自然噪聲有很強的魯棒性[22]。利用深度學習模型對自然噪聲的魯棒性,向圖像中引入圖像傳輸過程中因信道干擾而在圖像上產生的乘性噪聲,如式(10)所示。乘性變換隨機放大了圖像中的對抗擾動數值,提高了對抗擾動對后續濾波過程的敏感性,使其更容易被濾波去除。

圖3 自然噪聲對分類結果的影響Fig.3 Influence of natural noise on classification results

其中:I為待處理圖像;n為均值為0 的符合均勻分布的隨機噪聲,n的方差用以控制乘性噪聲的添加強度。
另一方面,精心設計的對抗擾動的整體性結構具有較強的脆弱性。如圖4 和圖5 所示,向對抗樣本添加方差在一定范圍內的乘性噪聲后帶來的隨機共振效應[23],提高了對抗樣本被深度學習模型重新識別為正確標簽的概率,即在一定程度上破壞了對抗擾動的攻擊性,使對抗擾動的影響更趨于自然噪聲。同時,盡管干凈樣本被識別正確的概率有稍微下降,但依然可以保證圖像被正確分類。因此,可以認為該過程在對抗樣本修復上整體利大于弊。

圖5 乘性噪聲對分類結果的影響2Fig.5 Influence of multiplicative noise on classification results 2
深度學習模型本身具有很強的定位能力[24],即對于不同的圖像特征會產生不同強度的響應,添加到不同區域的對抗噪聲為誤導神經網絡做出的貢獻差別很大。圖6 以熱力圖的形式展示了圖像各區域像素的修改程度,其中,第1 列從上往下分別為L-BFGS、FGSM、JSMA、DeepFool、C&W 方法,第2、3 列分別為對抗樣本和溶解圖像。與圖像類激活映射對比,對抗攻擊對原始圖像的修改主要集中在被識別圖像的核心區域。因此,識別核心區域對實現對抗攻擊做出的貢獻更多且對抗噪聲強度更大,而經過噪聲溶解過程后得到的溶解圖像的核心區域的變化極其微小。基于以上分析,本文提出以圖像不同區域的噪聲貢獻為依據,自適應調節濾波強度的區域自適應濾波器,具體濾波步驟如圖7 所示。文獻[25]提出的基于梯度加權的類激活映射(Grad-CAM)利用模型識別結果對最后一個卷積層特征圖梯度的全局平均池化表征特征權重,以特征權重為依據,對特征圖進行加權求和后以熱力圖的形式可視化特征對圖像識別的影響程度,如式(11)、式(12)所示。該特征圖同時反映了對抗擾動對誤導神經網絡做出的貢獻強度,稱該圖為噪聲貢獻圖。

圖6 噪聲熱力圖Fig.6 Heatmap of noise

圖7 區域自適應濾波Fig.7 Regional adaptive filter

其中:Z為特征圖的像素數;yC為C的分類分數為第k個特征圖在(i,j)處的像素值;Relu(·)用于濾除未對分類為C做出貢獻的特征。
噪聲貢獻圖每點的值表征對應像素對模型決策結果的影響,將其作為該像素的噪聲貢獻權重W,用放縮后的W決定各區域濾波強度。利用式(13)逐個求得圖像每個像素對應的改進區域自適應濾波模板。最后,將模板與圖像卷積,得到濾除噪聲的去噪圖像。

其中:參數k、b用于噪聲貢獻權重W的放縮,保證濾波強度控制在合理的范圍。
本節將驗證防御方法的有效性和可行性。首先介紹實驗的數據來源、實驗設置、評價指標及參數選擇,然后驗證本文方法對對抗攻擊的防御效果及與其他預處理方法的對比。
文獻[26]提出的ImageNet 是計算機圖像識別領域最大、應用最廣的自然圖像數據集,包含分屬于1 000個類的超過一百萬個被手動標注的彩色識別樣本。實驗以ImageNet 數據集為基準,隨機選取能夠被目標深度學習模型正確識別的干凈圖像,分別使用L-BFGS、FGSM、Deepfool、JSMA 以及C&W 方法以InceptionV3[27]、VGG16[28]、ResNet 50[29]為攻擊目標生成10 000 張對抗樣本。
目前很難對不同的防御方法進行直觀的比較。一方面,大部分攻擊方法和防御技術主要作用于低分辨率圖像,而對高分辨率圖像攻擊和防御的研究相對較少;另一方面,不同文獻對于測試圖像選擇、擾動量級等實驗參數設置的標準不統一,增大了各類防御方法的效果對比難度。
為了使防御效果的對比更加公正合理,對量化指標做出如下規定:1)可以被深度學習模型誤判視為攻擊成功,生成的對抗樣本即可用于后續實驗;2)對抗樣本處理后可以被正確分類的情況即視為防御有效。同時,為了避免實驗結果的偶然性,進行了多次實驗來計算識別準確率的平均值。
將噪聲溶解線性變換過程中服從均勻分布的隨機噪聲的方差設置為1e-04,濾波器濾波模板尺寸設置為3×3,將噪聲貢獻放縮參數k設為6,b設為0.5。由于噪聲溶解過程具有一定的隨機性,設置實驗測試次數為100 次。
用于對比的防御方法選擇了普通濾波以及遷移性較高的3 種預處理防御方法,即JPEG 圖像壓縮、APE-GAN 和圖像分塊去噪。其中,普通濾波選擇高斯濾波器,高斯核尺寸設置為3×3,標準差設置為5,JPEG 圖像壓縮的質量因子設置為0.8。
實驗采用的硬件配置:CPU 為i7-7820k,內存為16 GB DDR4,顯卡為RTX2080ti×2。
預處理方法可能會造成圖像細節尤其是邊緣信息的丟失,從而影響識別效果。因此,本文基于噪聲溶解的對抗樣本防御方法對干凈樣本識別的影響進行評估。表1 所示為本文防御方法在不同深度識別網絡下對干凈樣本識別準確率的影響。

表1 干凈樣本識別準確率Table 1 Identification accuracy of clean samples %
該方法使干凈樣本的識別準確率出現了輕微下降,但仍均保持在98%以上。因此,該方法在防御對抗攻擊的同時極大程度上避免了圖像信息的丟失及將原始干凈樣本分類錯誤的情況。
本文方法在不同的深度識別網絡下對不同對抗攻擊的識別準確率如表2 所示,表中數字表示最差/均值/最優。根據100 次實驗結果繪制的箱線圖如圖8 所示,用于衡量提出方法的穩定性。

圖8 不同方法的防御效果Fig.8 Defense effects of different methods

表2 不同方法的對抗樣本識別準確率Table 2 Adversarial sample recognition accuracy of different methods %
在ResNet 50 模型下,面對DeepFool 攻擊,本文方法取得了最好的防御效果,識別準確率最高達到了94.94%。而對抗擾動相對更微小的L-BFGS 和JSMA,對噪聲溶解和去噪過程的敏感度更低,導致識別準確率略低,但也均維持在80%以上,達到了較優的防御效果。
表3 所示為在InceptionV3 模型下,本文方法與普通高斯濾波、JPEG 圖像壓縮、APE-GAN 和圖像分塊去噪3 種預處理防御方法的防御表現對比。

表3 不同方法的防御效果對比Table 3 Comparison of defense effects of different methods %
對抗噪聲足夠細微的性質使其對普通濾波過程不敏感,在直接進行普通濾波后,對抗樣本識別準確率在20%以下,防御效果很差。在FGSM 攻擊下,本文方法識別準確率相比JPEG 圖像壓縮、APE-GAN和圖像分區去噪分別提高了24.32、39.04 和24.64 個百分點。在面對其他攻擊時,本文方法的防御效果相對于其他防御方法,同樣取得了大幅提高。
綜合以上分析,基于噪聲溶解的對抗樣本防御方法相對于其他預處理防御方法,將自然噪聲添加應用于預處理過程中,并將模型識別特征與濾波過程相結合,更有針對性破壞和濾除對抗噪聲,達到較優的防御效果。
本文針對對抗擾動對預處理過程的脆弱性,提出基于噪聲溶解的對抗樣本防御方法。利用噪聲溶解過程放大對抗擾動并破壞其攻擊性,使用區域自適應濾波更有針對性的濾除噪聲,改善圖片質量。該方法脫離對對抗樣本的依賴,普適性更強,同時無需進行對抗訓練,簡化了防御流程。實驗結果表明,本文方法與同類預處理方法相比,可以更加有效地達到對對抗攻擊的防御效果。本文在實驗過程中暴露出噪聲溶解過程對極微小對抗噪聲的放大效果不夠,下一步將根據單個圖像的特征進行噪聲溶解參數的自適應調整,以構建更為有效的面向多場景的對抗攻擊防御方法。