張 田 楊奎武 魏江宏 劉 揚 寧原隆
(戰(zhàn)略支援部隊信息工程大學 鄭州 450001)
深度神經網絡(deep neural network, DNN)能處理復雜的科學問題,已成功應用于目標跟蹤與檢測[1]、文字處理[2]、語音處理[3]、圖像識別[4]等領域.近期研究發(fā)現(xiàn),DNN模型很容易受到對抗樣本的攻擊,將對抗樣本輸入高準確率的DNN模型后,模型的準確率會明顯降低[5].
目前,對抗樣本的研究主要分為2方面:1)對抗樣本生成技術;2)對抗樣本檢測與防御技術.由于對抗樣本生成技術的對抗攻擊會對DNN模型造成負面影響,尤其在醫(yī)療[6]、運輸[7]等信息敏感領域,因此,對抗樣本的檢測與防御技術成為目前DNN安全的研究熱點[8].
本文重點關注對抗樣本檢測與防御技術,描述其演進過程,并從特征學習、分布統(tǒng)計、輸入解離、對抗訓練、知識遷移和降噪等6個方面對檢測與防御技術進行匯總歸納,分析對比每類技術的性能、優(yōu)缺點,使讀者對對抗樣本的檢測與防御機制有直觀的了解.
鑒于當前對抗樣本的研究大多選擇圖像數(shù)據(jù)作為輸入樣本,本文的討論也集中于圖像處理領域.
對抗樣本是指在原始數(shù)據(jù)集中的樣本中通過有目的地添加少量的擾動信息,使得基于DNN模型的系統(tǒng)出現(xiàn)誤判的樣本[5].
理論上,輸入空間的某個鄰域可以從不同的角度表征同一個對象,即輸入空間的某鄰域內的數(shù)據(jù)應有相同的輸入標簽和統(tǒng)計分布.
Fig. 1 Fast adversarial example generation on GoogLeNet圖1 GoogLeNet中快速對抗樣本生成
對抗樣本的發(fā)現(xiàn)否定了這一推測.Szegedy等人[5]發(fā)現(xiàn),被神經網絡正確分類的原始樣本添加了微小擾動后,神經網絡對其的分類準確率顯著下降.
圖1左圖為Goodfellow等人[9]在ImageNet數(shù)據(jù)集上訓練了GoogLeNet模型,中間圖為快速生成的對抗擾動,右圖為添加擾動后的對抗樣本,原模型將圖像x以置信度57.7%判定為“熊貓”,在加入微小擾動后,模型以置信度99.3%將其判定為“長臂猿”.
對抗樣本的成因主要有4種假說:盲區(qū)假說、線性假說、決策面假說、流形假說[8].
Szegedy等人[5]提出對抗樣本處于數(shù)據(jù)分布的低概率區(qū)域,即盲區(qū).不能覆蓋盲區(qū)的訓練數(shù)據(jù)所訓練的模型泛化性不高,因而產生對抗樣本.
Goodfellow等人[9]考慮權重向量與對抗樣本之間的關系:
(1)
他們認為對抗樣本的成因是神經網絡的高維線性[9],對抗擾動使得激活函數(shù)增加wTη,這意味著w的維度越大,激活函數(shù)越有可能被微小的擾動所誤導.
Moosavi-Dezfooli等人[10]提出了決策面假說.在研究通用對抗擾動(即:可應用于所有輸入樣本的對抗擾動)時,他們發(fā)現(xiàn):分類器的高維決策邊界之間存在幾何關系.即存在一個低維子空間,包含大多數(shù)自然圖像決策邊界的法向量.因此,在該子空間內的對抗擾動可以干擾大多數(shù)輸入樣本的分類.
流形假說是指對抗樣本偏離正常的數(shù)據(jù)流形[11].前面提到的3類成因假說主要應用于對抗樣本生成,而流形假說則更多地應用于對抗樣本檢測,如MagNet[12]的檢測器就基于此類成因假設.
現(xiàn)階段,神經網絡和數(shù)據(jù)的高度復雜性使得深度學習模型不可解釋,因此不同的假說具有不同的側重點,沒有達成數(shù)理層面的統(tǒng)一認識.理論的不完善在一定程度上限制了對抗樣本檢測與防御技術的發(fā)展,現(xiàn)有的檢測與防御技術只能被動地針對生成技術而改進,但沒有從根源解決問題.
圖2展示了對抗樣本生成技術演進.對抗樣本生成技術可分為黑盒攻擊和白盒攻擊2類,目前白盒攻擊的成果更多,但以對抗樣本的遷移性為基礎的黑盒攻擊更具有實際意義.白盒攻擊中,基于梯度的算法為經典算法,隨著神經網絡的廣泛應用,又出現(xiàn)了基于對抗式生成網絡(generative adversarial network, GAN)、針對語義圖像分割、對象檢測模型等生成技術.
Fig. 2 The evolution of generating adversarial examples圖2 對抗樣本生成技術演進
Szegedy等人[5]提出對抗樣本概念的同時提出首個對抗樣本生成技術:受限內存下的BFGS(limited memory Broyden-Fletcher-Goldfarb-Shanno, L-BFGS)算法,在減小內存占用的條件下使用BFGS算法求解.
L-BFGS算法的最終目標是在輸入空間的邊界內找到感知上最小的輸入擾動以生成對抗樣本,通過箱約束優(yōu)化問題求解對抗擾動r:
(2)
在實際應用中,作為最早的生成技術,L-BFGS已成功應用于AlexNet等經典神經網絡.但L-BFGS算法對對抗擾動的分布沒有深入分析,因此無法將網絡得以很好地推廣.
FGSM的優(yōu)點在于快速性,在使用線性激活函數(shù)和決策函數(shù)時總能找到有效的對抗樣本.
但FGSM生成的對抗樣本只是1階近似最優(yōu)解,而不是最優(yōu)解.且FGSM的閾值ε是由人為選擇的,在使用非線性決策函數(shù)時,F(xiàn)GSM的效用將降低.
Fig. 3 Effect of FGSM with nonlinear decision function圖3 選擇非線性決策函數(shù)的FGSM效果
基于FGSM又提出了很多衍生方法:
2) 引入隨機性.R+FGSM(random initialized FGSM)[15]方法在生成對抗擾動之前對樣本進行了單步隨機步長變換操作,此方法有助于繞過依賴于梯度掩蔽的防御.投影梯度下降(projected gradient descent, PGD)方法[16]與R+FGSM同樣在生成對抗擾動之前引入了單步隨機變換,不同之處在于PGD使用多步迭代生成對抗擾動.
DeepFool攻擊是一種針對FGSM在非線性模型中出現(xiàn)的問題而提出的方法,具有更強的適應性.
受二進制線性分類器啟發(fā),Moosavi-Dezfooli等人[17]使用點到決策邊界的距離來最小化擾動.圖4表示一個4分類問題,圖中的3條線分別對應前3類的參數(shù)超平面與第4類相交得到的參數(shù)超平面,樣本x0屬于第4類.通過計算x0與每個決策邊界的距離確定最小擾動.
Fig. 4 Diagram of DeepFool of four-category classification圖4 4分類問題DeepFool方法示意
進一步將線性分類器推廣到非線性分類器,將圍繞x0的各類別決策邊界線性化,通過迭代移動x0至決策邊界,直至樣本被分類器錯誤分類.
DeepFool攻擊解決了FGSM需要人工設置合理閾值ε的問題,最優(yōu)化擾動,適應性更強,DeepFool已成功攻擊各類模型,如LeNet,GoogLeNet等.在性能上,MNIST和CIFAR10模型上DeepFool算法所產生的擾動是FGSM所產生的擾動的1/5,計算速度達到L-BFGS的30倍,是目前防御方法常對抗的攻擊模型之一.
受計算機視覺領域的顯著圖啟發(fā):輸入的不同特征對輸出的影響程度不同,Papernot等人[18]提出JSMA方法[18]生成對抗樣本.FGSM[9]和DeepFool[17]生成的是非定向對抗樣本,JSMA[18]以特征對輸出結果的影響程度為依據(jù),可增強指定類型的特征以達到生成定向對抗樣本的目的.
JSMA[18]通過計算前向導數(shù)生成對抗性顯著圖.與FGSM[9]和DeepFool[17]對損失函數(shù)的求導操作不同,前向導數(shù)是神經網絡輸出層的每個輸出對輸入的每一個特征的偏導數(shù),對抗性顯著圖則體現(xiàn)了輸入的不同特征對輸出的影響程度.
原始算法中,使用softmax作為顯著性度量,考慮到使用不同的顯著性度量,Carlini和Wagner[19]提出了使用對數(shù)梯度代替softmax屬性,也能夠成功找到對抗樣本.
JSMA需要設置特定的目標類別,而這種選擇會影響攻擊的速度和質量,因此目標類別的選擇與計算性能的提升是應用JSMA算法時需要解決的問題.
Carlini和Wagner[19]針對Hinton等人[20]提出的防御蒸餾網絡提出C&W攻擊方法.C&W方法按攻擊目標類別分為3類:隨機目標、最易攻擊的類別、最難攻擊的類別,并通過限制l∞,l2,l0范數(shù)優(yōu)化擾動.
C&W攻擊的目標函數(shù)為
(3)
與前期的對抗樣本生成技術不同的是,C&W將擾動最小化和損失函數(shù)最大化這2個優(yōu)化問題結合為一個目標函數(shù).
Carlini和Wagner[19]提出了6種f函數(shù),并衡量了相應的模型效果.各種對比實驗結果顯示:使用式(5)中的函數(shù)性能更好.
基于l2范數(shù)的攻擊,在給定輸入x、選定目標t的情況下,尋找w滿足:
(4)
其中,f定義為
(5)
由于l0距離度量具有不可微性,不適用于梯度下降法,因此C&W攻擊通過迭代尋找對分類輸出無大影響的像素點實現(xiàn)優(yōu)化.
l∞范數(shù)函數(shù)并不全可微分,無窮階范數(shù)是由最大量決定,因此對應的梯度下降只會影響最大改變量的像素點,結果模型很容易陷入次優(yōu)解.
解決陷入次優(yōu)解的思想在于并非只懲罰最大點,而是設置一個閾值表征大點,懲罰所有大點.
C&W攻擊在攻擊防御蒸餾網絡時有著很高的成功率,也是現(xiàn)有防御模型常用來測試的攻擊方法.
Athalye等人[21]針對基于混淆梯度的降噪方法提出的BPDA方法.在給定訓練器f的情況下,增加一個預處理器g(x),g(x)滿足g(x)≈x,基于這一性質,將其導數(shù)近似為恒等式的導數(shù):
(6)
文獻[21]針對ICLR 2018會議發(fā)表的7種基于混淆梯度的防御模型,使用BPDA方法完全攻擊6種、部分攻擊1種.BPDA的出現(xiàn)證明目前大部分基于梯度掩蔽的防御模型都有脆弱性,如何構造具有高魯棒性的防御網絡依舊是一個值得研究的問題.
基于對抗樣本的可遷移性的對抗樣本生成技術,可以實現(xiàn)黑盒攻擊.這類技術主要有:替代黑盒攻擊(substitute blackbox attack, SBA)[22]、零階優(yōu)化(zeroth order optimization, ZOO)[23]、邊界攻擊(boundary attack, BDA)[24]等.
考慮到對抗樣本的普遍適用性,生成與輸入無關的通用擾動,實現(xiàn)跨類別的擾動遷移,這類技術有:通用對抗性擾動(universal adversarial pertur-bation, UAP)[12]、無數(shù)據(jù)UAP[25].考慮到擾動最小化的技術有單像素攻擊(one-pixel attack, OPA)[26].
對抗攻擊目標不是分類器而是生成模型的技術有:變分自動編碼器(variational autoencoder, VAE)攻擊[27]等.
針對語義圖像分割和對象檢測模型的攻擊有:密集攻擊者生成(dense adversary generation, DAG)[28]、Houdini攻擊[29]等.
結合GAN的生成技術有:對抗轉化網絡ATN[30],Adv-GAN[31]等.
對抗樣本檢測與防御技術分為檢測與防御2部分,檢測技術可以分為特征學習、分布統(tǒng)計、輸入解離這3類,防御技術可以分為對抗訓練、知識遷移、降噪這3類,如圖5所示:
Fig. 5 Generalization of detecting and defense technology of adversarial examples圖5 對抗樣本檢測與防御技術總覽
檢測技術從早期的探索對抗樣本與原始樣本的特征或數(shù)字特征之間的區(qū)別,到近期的與防御技術相結合,通過解離輸入將輸入的某個特征或某部分作為檢測器的輸入,從而檢測出對抗樣本.
最早的防御技術是對抗訓練,但對抗訓練依賴于訓練數(shù)據(jù)集,所以會產生過擬合問題,可以通過知識遷移提升模型泛化能力.降噪是近期熱門的防御技術,但降噪依賴于梯度掩蔽,這一問題尚未得到解決.
特征學習主要用于對抗樣本檢測,這種方法基于對抗樣本與原始樣本的不同特征,通過降維將高維的復雜數(shù)據(jù)轉化為低維數(shù)據(jù),從而降低檢測難度.
1) 主成分分析(principal components analysis, PCA)[32].PCA通過對信息量較少的維度進行特征學習,加上白化操作降低數(shù)據(jù)的冗余性.實驗發(fā)現(xiàn),對抗樣本會異常強調PCA中排名較低的主要成分,因此可以通過PCA成分來檢測對抗樣本是否存在.這種方法可用于檢測MNIST,CIFAR10和Tiny-ImageNet上的FGSM[9]和BIM[13]對抗樣本,但前提是攻擊者不了解該防御措施,否則就可以繞過檢測.
2) 特征壓縮[33].Xu等人[33]認為輸入的特征維數(shù)越大,產生的攻擊面越大,因此可以通過壓縮特征來檢測對抗樣本.類似于PCA[32]方法,特征壓縮的目的是從輸入中刪除不必要的特征.特征壓縮方法獨立于其他防御模型,且特征壓縮不是完全可靠的防御手段,因此和其他防御技術結合使用性能更好.
分布統(tǒng)計的核心思想是利用對抗樣本與原始樣本的不同數(shù)字特征,通過檢測輸入是否符合原始樣本的分布,從而判斷輸入是否具有對抗性.
1) softmax分布[32].許多分布外樣本與分布內樣本具有不同的softmax輸出向量,因此通過檢測對抗樣本的softmax分布,可以檢測圖像是否具有對抗性.不足之處在于此方法僅適用于輸入對抗樣本即停止的特定攻擊,且預測置信度較低.在種類過多的數(shù)據(jù)集上(如ImageNet),softmax概率并不十分準確.
2) 核密度和不確定性估計.Feinman等人[34]基于對抗樣本不存在于非對抗性數(shù)據(jù)流形內部的假設提出了2種執(zhí)行對抗性檢測的方法:內核密度和貝葉斯不確定性估計.內核密度通過密度估計值KDE(x)是否小于閾值來判斷輸入x是否具有對抗性.貝葉斯不確定性估計在檢測過程中通過Dropout執(zhí)行隨機遍歷,從而量化網絡的不確定性.
輸入解離是一種檢測與防御相結合的方式,核心思想是通過分解輸入,將其的某個特征或某部分作為檢測器的輸入,從而檢測出對抗樣本.
1) 輸入重構[32].最早提出通過重構輸入并進行分析來檢測對抗樣本這一想法的是Hendrycks等人[32].方法通過創(chuàng)建一個檢測器網絡完成檢測,該檢測器網絡將輸入重構,將樣本的對數(shù)和置信度分別作為輸入,輸出為對抗性輸入的概率.其訓練數(shù)據(jù)包含對抗樣本和原始樣本.在MNIST數(shù)據(jù)集上,該方法可以檢測FGSM和BIM攻擊.但在白盒設置下,攻擊者仍能找到對抗樣本.
2) 對手檢測器網絡[35].Metzen等人[35]使用一個檢測器子網絡(adversary detection network, ADN)來增強DNN.ADN是一個二進制網絡,將分類器隱藏層的某層輸出作為輸入,從而區(qū)分原始樣本和對抗樣本.作者在CIFAR10和ImageNet的10類子集中通過ADN訓練DNN,成功訓練出高精度檢測對抗擾動的檢測器網絡.為了使檢測器能夠適應未來的攻擊,作者在ADN中加入生成對抗樣本的過程.在CIFAR10和ImageNet的10類子集中進行評估,該方法對FGSM[9],DeepFool[17],BIM[13]攻擊有效,但檢測C&W攻擊[19]時有較高的錯誤率.
對抗訓練法的核心思想在于將對抗樣本加入模型訓練集,從而提升模型的魯棒性.不同對抗訓練之間的差異主要在于生成訓練數(shù)據(jù)的方式,因此產生數(shù)據(jù)集依賴,可以通過知識遷移技術提升模型的泛化能力.
1) FGSM對抗訓練.FGSM對抗訓練[9]是最早的對抗樣本防御技術,核心思想是將對抗樣本加入訓練集訓練分類器,從而提高模型的準確性.Goodfellow等人[9]在提出FGSM方法的同時,提出將對抗樣本作為輸入訓練分類器,即最早的FGSM對抗訓練.對抗訓練是在模型中引入正則化:
(7)
這類防御技術對訓練數(shù)據(jù)具有依賴性,因此對未訓練過的數(shù)據(jù)類型仍有很高的誤分類率.例如:單步FGSM對抗樣本[9]訓練出的模型無法抵抗BIM[13]對抗樣本的攻擊.近期有研究提出單步迭代法(single-step epoch-iterative method, SEIM)[36],通過知識遷移的方式來提升模型的泛化能力.
2) PGD對抗訓練.PGD對抗訓練[16]的提出針對有最大損失化函數(shù)的對抗樣本,通過對此類對抗樣本的優(yōu)化,使損失函數(shù)達到最小化.
PGD類似BIM[13],通過多次小步迭代產生對抗樣本,不同之處在于PGD多了一層擾動的隨機處理,并且在迭代次數(shù)上遠遠多于BIM.
PGD對抗訓練的目標函數(shù)是:
(8)
隨機處理和迭代次數(shù)的增加,使得PGD對抗訓練的性能優(yōu)于BIM[14],在較弱的黑盒攻擊下,PGD對抗訓練使得網絡在MNIST和CIFAR10數(shù)據(jù)集上的準確率分別超過95%和64%.
3) 集成對抗訓練.多個弱防御的簡單集成并不能形成強防御,因這一發(fā)現(xiàn),Tramèr等人[15]提出集成對抗訓練,模型對黑盒攻擊產生了極大的防御性.集成對抗訓練使用標準風險最小化的對抗樣本:
(9)
集成對抗訓練是通過從其他模型傳遞來的擾動來增強訓練數(shù)據(jù)的技術.這樣訓練的原因在于文獻[15]的作者從直覺上認為,作為對抗樣本在模型之間的傳遞,在外部模型上制作的擾動是對式(9)中最大化問題的良好近似[37].集成對抗訓練對黑盒攻擊有較強的魯棒性,是目前最有效的對抗訓練方法之一.
4) 對抗性對數(shù)配對(adversarial logit paring, ALP).ALP[38]鼓勵對抗性和非對抗性輸入對之間的對數(shù)近似.ALP引入正則化方法,對由PGD攻擊生成的原始樣本和對抗樣本的對數(shù)差異進行懲罰.對數(shù)配對有2種策略:對抗對數(shù)配對ALP和干凈對數(shù)配對(clean logit paring, CLP).ALP使用原始樣本和對抗樣本作為輸入對,CLP則使用不同類別的原始樣本.ALP以PGD對抗訓練為基礎,但足夠多步的PGD迭代會導致ALP對抗訓練性能下降,而單獨使用CLP則會導致對抗性增強.
知識遷移是一種能提升網絡泛化能力的技術,通過訓練數(shù)據(jù)集以外的樣本來平滑訓練過程中學到的模型.最早運用這種技術的是Hinton等人[20]提出的防御蒸餾網絡[21],近期提出的SEIM方法[37]也用到了這一技術.
1) 防御蒸餾.Hinton等人[20]提出的防御蒸餾是一種將知識從深度神經網絡集成到單個神經網絡的防御方法.為了降低模型對數(shù)據(jù)的依賴性,提升泛化能力,防御蒸餾首先按照正常的方式訓練分類網絡,然后用從初始網絡中學到的概率向量訓練另外一個完全相同架構的蒸餾網絡,如圖6所示:
Fig. 6 The mechanism of defending distillation圖6 防御蒸餾工作機制
防御蒸餾在輸出層使用改進的函數(shù)Softmax訓練初始網絡,其中溫度T為超參數(shù):
(10)
作為早期的防御方法,防御蒸餾使用知識遷移的方法降低DNN的維數(shù),在保持原始DNN準確率的同時,能夠將MNIST數(shù)據(jù)集上對抗樣本致錯的成功率降到0.5%,CIFAR10數(shù)據(jù)集上降到5%,提升了網絡的泛化能力和防御對抗性干擾的能力,但是后續(xù)出現(xiàn)的C&W攻擊可以完全攻擊防御蒸餾網絡.
2) 單步迭代法.SEIM[36]為了解決對抗訓練對數(shù)據(jù)集的依賴性問題,利用連續(xù)的訓練回合來模擬多步迭代方法產生對抗樣本的過程.
如圖7、圖8所示,多步迭代生成對抗樣本時,每一回合中對抗樣本生成器的輸入均為原始樣本;而在SEIM的中間回合中,上一輪生成的對抗樣本將作為下一輪的輸入.
Fig. 7 Single-step or iterative adversarial training圖7 單步或迭代對抗訓練
Fig. 8 Single-step epoch-iterative adversarial training圖8 SEIM對抗訓練
SEIM通過知識遷移提高模型的泛化能力,防御性優(yōu)于現(xiàn)有的單步迭代式對抗訓練.
降噪的核心思想是:通過對對抗樣本施加變換,破壞添加的噪聲,從而消除擾動的影響,提高分類器的準確性.根據(jù)神經網絡的結構,降噪法可以2次細分為輸入層降噪和隱藏層降噪2類,但無論是哪種降噪方法,都依賴于梯度掩蔽,這也意味著目前基于降噪技術的防御方法對BPDA等攻擊方式都顯示出脆弱性.
輸入層降噪的思想是在輸入層對樣本進行轉換操作,常見的有圖片裁剪或縮放、位深度縮減、JPEG壓縮、總方差最小化等.
1) 深度壓縮網絡(deep contractive network, DCN)[39].通過破壞附加噪聲并使用降噪自動編碼器(denoising autoencoder, DAE)對輸入進行預處理以去除對抗樣本的影響.
實驗結果表明DAE可以消除大量的對抗擾動,但當DAE和原始DNN堆疊,網絡會受到新的對抗樣本的攻擊.基于此,文獻[39]的作者提出了深度壓縮網絡DCN,模型重新構建端到端訓練程序,包括受壓縮自動編碼器(contractive autoencoder, CAE)啟發(fā)的平滑度損失.
DCN方法是最早的防御方法之一,Gu等人[39]實驗評估了針對L-BFGS的防御策略,攻擊者仍然能夠找到使DCN誤分類的對抗樣本,但與攻擊原始模型相比,攻擊DCN的代價更大.
2) MagNet[12].類似于ADN[35]檢測,MagNet由2部分組成:檢測器和重整器,如圖9所示,兩者都經過訓練以構造原始樣本.
Fig. 9 The mechanism of MagNet圖9 MagNet工作機制
檢測器按照誤差閾值,通過測量重建誤差來檢測對抗樣本.重整器是在正常樣本上訓練得到一個自動編碼器,無論是原始樣本還是對抗樣本輸入,自動編碼器都能將其輸出為一個原始樣本近似的樣本.
MagNet在抵御黑盒攻擊方面非常有效,但在白盒攻擊中,因攻擊者也了解檢測器和重整器的參數(shù),其防御性降低.
3) 總方差最小化(total variance minimization, TVM)[40].TVM通過引入隨機性使圖像不可微,使攻擊者難以計算梯度.TVM的圖像轉換操作是從輸入中隨機選擇像素并執(zhí)行迭代優(yōu)化來查找顏色與隨機選擇的像素一致的圖像.目標函數(shù)為
(11)
TVM對FGSM[9],DeepFool[17],C&W[19]攻擊具有魯棒性,但因為要解決每個輸入的優(yōu)化問題,因此模型的運行速度變慢.
4) 隨機調整大小和填充(random resizing and padding, RRP).RRP[41]最大可能引入了隨機性,通過2層(調整層和填充層)隨機操作破壞梯度.
對于所有的輸入,RRP在調整層生成若干個隨機大小的圖片,再在填充層對這些圖片進行隨機像素填充并隨機返回幾個填充后的圖像.填充后的圖像,被隨機選擇一個進入CNN分類器.RRP對各種白盒攻擊有良好的防御性,且當隨機調整大小和填充的空間足夠大時,將大大提高攻擊者的計算成本.但RRP依賴于梯度掩蔽,能夠被BPDA等方法攻破.
5) 像素防御[42].通過模擬原始樣本的分布,將所有輸入映射成原始樣本的分布再輸入分類器.這類似于MagNet思想,不同在于像素防御單個模型同時充當檢測器和重整器.像素防御算法的關鍵在于εdefend設置.εdefend控制的是樣本轉換的閾值,定義為
(12)
像素防御與其他防御方法最大的不同在于可以控制樣本轉換的損失值,一定程度上提升了性能.
6) 防御性GAN(defense-GAN, D-GAN)[43].D-GAN利用GAN學習原始樣本的分布,將輸入樣本映射成滿足原始樣本分布的近似樣本,再將處理后的樣本輸入到分類器進行分類,如圖10所示:
Fig. 10 The mechanism of D-GAN圖10 D-GAN工作機制
D-GAN可以用來檢測與防御對抗樣本,相比MagNet和對抗訓練能更穩(wěn)定.但是,D-GAN的魯棒性依賴于GAN的性能,使用未訓練和調整的GAN,因此D-GAN的性能將降低.
7) 矩陣估計網絡(matrix estimation-net, ME-Net)[44].ME-Net也應用了隨機性提高梯度掩蔽效率.ME-Net基于矩陣估計,使用隨機刪除像素和矩陣估計重構2個步驟對圖像進行預處理.ME-Net破壞擾動的對抗結構,同時增強了原始圖像的全局結構.ME-Net對黑盒攻擊和白盒攻擊都有很強的防御性,且在一定程度上可以規(guī)避BPDA的攻擊,同時還可以跟其他模型相結合進一步提升模型魯棒性.
輸入層降噪是對整個圖像的轉換,隱藏層降噪是對某個隱藏層或某個神經元結點進行操作.
8) 隨機激活修剪(stochastic activation pruning, SAP)[45].SAP通過隨機丟棄激活值破壞梯度,使基于梯度的攻擊失效.SAP類似于Dropout,不同的是,SAP的丟棄概率由激活值大小決定,且SAP重新調整了幸存結點的大小.
SAP與其他降噪方法一樣,也顯示出了對梯度掩蔽的依賴性,因此,SAP對BPDA等攻擊方式沒有足夠的魯棒性.
9) 特征降噪塊(feature denoising block, FDB)[46].對特征圖進行降噪處理,去噪塊對輸入特征降噪處理,由1×1的卷積層處理,然后通過殘差連接添加到塊的輸入中,如圖11所示:
Fig. 11 The mechanism of FDB圖11 FDB工作機制
與SAP[45]相比,F(xiàn)DB[46]的關注點不在單個激活值,而在不同的特征塊.這在理解對抗樣本的特性時或許更有實際意義,也能夠避免因零激活值引起的梯度爆炸問題.
10) 綜合分析(analysis by synthesis, ABS)[47].ABS既運用了對抗訓練的方法,又運用了降噪技術.類似于D-GAN[43]學習樣本分布的思想,ABS需要學習所有類別的分布,從而將所有輸入都重整映射為符合分布的輸出.
ABS方法的主要工具是變分編碼器,為每個類別設置一個VAE,對類別的樣本分布進行建模.給定一個C類的數(shù)據(jù)集,通過梯度下降,使得標簽y的對數(shù)似然下限最大化[47]:
(13)
二進制ABS不能應用于非灰度圖像,且每個類別都需要一個VAE近似分布,這使得其在非灰度圖像或分類復雜的數(shù)據(jù)集上應用受限.
目前,檢測技術的研究因在數(shù)理層面對對抗樣本缺乏共識而受限.除softmax分布[32]檢測法以外,目前檢測技術的主要測試樣本是FGSM[9]或BIM[13]對抗樣本,softmax分布僅適用于輸入對抗樣本后立即停止的特定攻擊.如表1所示,特征壓縮[33]的檢測范圍更廣,但當攻擊者完全了解檢測機制時,可以繞過特征壓縮的檢測.
Table 1 The Estimation on Detecting Technology表1 檢測技術效果評價
特征學習類的檢測技術,如PCA、特征壓縮等,使得攻擊者只能利用某些主要成分、特征進行攻擊,一定程度上限制了攻擊.
但這類技術的性能還有待提升.首先,特征的限制并不是越少越好.以PCA為例,將攻擊者限制于第1個主成分上的檢測是無效的[48].其次,特征學習也不能完全抵御白盒攻擊.在測試了26個不同主成分設置的模型后,Carlini等人[48]發(fā)現(xiàn)不使用PCA的原始模型比使用了PCA的模型展現(xiàn)出更好的魯棒性.
相比于主動地提升模型的魯棒性,對抗樣本檢測技術的應用有利于提升模型的精度.無論是特征學習還是分布統(tǒng)計類的檢測技術,都關注于數(shù)據(jù)本身,這在一定程度上限制了其防御效果.因此,這2類檢測技術的難點在于如何在攻擊者知道有檢測機制的條件下進行對抗樣本檢測.考慮到這種情況,檢測與防御手段的結合成為新的趨勢.
相比檢測技術,防御技術的研究更廣泛.目前的防御技術主要啟發(fā)于提升神經網絡魯棒性的2個角度,如圖12所示.
Fig. 12 The evolution of adversarial example defense圖12 對抗樣本防御技術的演進
1) 提升模型準確率.最直接的想法是將對抗樣本作為訓練數(shù)據(jù)訓練模型,提升準確率.
對抗訓練[9,15-16]中,模型的防御能力與訓練數(shù)據(jù)集有關,通過擴大數(shù)據(jù)集規(guī)模、增加訓練數(shù)據(jù)種類能夠提升模型的魯棒性.
但這會產生過擬合,提升泛化能力成為模型優(yōu)化的關鍵問題.實驗證明,結合知識遷移,能夠緩解模型數(shù)據(jù)集依賴問題,提高模型泛化能力[15].集成對抗訓練作為目前最為有效的對抗訓練手段之一,相比其他對抗訓練方法,集成對抗訓練的泛化能力更強.這是因為集成對抗訓練運用了知識遷移技術,集成對抗訓練所選擇的擾動是由其他模型遷移而來.
2) 降低攻擊成功率.鑒于現(xiàn)有攻擊大多依賴于梯度,最直接的降低攻擊成功率的策略是通過降噪破壞梯度.但這也帶來了防御模型依賴于梯度掩蔽這一尚未解決的問題.表2展示了經典的防御技術的防御效果.
Table 2 The Estimation of Defending Technology表2 防御技術效果評價
隨機性在防御模型中的應用廣泛.在對抗訓練中,PGD對抗訓練[16]增加了迭代次數(shù)并引入一層隨機性,其最好的MNIST模型可以實現(xiàn)89%以上的準確性,甚至可以抵抗白盒的迭代對抗攻擊.在較弱的黑盒攻擊下,MNIST和CIFAR10網絡的準確率分別超過95%和64%.在降噪類防御中,RRP[41],ME-Net[44],SAP[45]都使用了隨機性,從結果來看,對輸入層降噪能夠抵抗的攻擊范圍更廣.
結合檢測技術來看,處理特征的模型比處理激活值的模型魯棒性更好,在應用中也更有實際意義.
表3展示了不同檢測與防御類別的比較.檢測方法更偏向于數(shù)據(jù)驅動,在攻擊者了解檢測機制的條件下,能夠通過對數(shù)據(jù)的處理繞過檢測.因此,檢測、防御相結合的方式是研究趨勢.防御方法圍繞提升模型準確率和降低攻擊成功率這2方面展開,在防御中降低數(shù)據(jù)依賴性、提升模型泛化能力以及提升對高強度攻擊的抵抗性依舊是亟待解決的問題.
Table 3 Comparison of Different Types of Detecting and Defending Technologies表3 不同檢測與防御技術的比較
本文介紹了對抗樣本生成攻擊技術、檢測與防御技術,生成攻擊傾向于黑盒攻擊的研究,是因為黑盒攻擊更具有現(xiàn)實意義.
相比生成技術,檢測與防御技術具有滯后性,因此防御方法往往會受到特定的攻擊.早期生成技術基于梯度,現(xiàn)有的防御技術基于梯度掩蔽,而BPDA等引入近似性的生成技術則能夠攻擊基于梯度掩蔽的防御技術.
鑒于檢測與防御技術的滯后性,目前研究的難點在于:首先是提升自適應性,現(xiàn)有的防御方法大都針對已有的攻擊,不能保證對未知攻擊的魯棒性.其次是擴大防御范圍,現(xiàn)有的防御方法無法防御多種類型的攻擊.
針對這個難點,有研究將其他現(xiàn)有的算法用來進行對抗攻擊和防御,例如:強化學習[49]或元學習[50]等.還有研究通過研究神經網絡的特性來探尋對抗樣本的成因與防御[51-52].例如:Geirhos等人[51]發(fā)現(xiàn)卷積神經網絡強調紋理特征,增加形狀權重能夠改善模型的魯棒性.Zhang等人[52]的工作進一步表明,對抗訓練模型更強調形狀特征或邊緣特征而非紋理特征.
本文重點關注了圖像領域的對抗樣本檢測與防御技術,但對抗樣本在文字、語音等領域也存在,這也是未來可能的研究方向.
作者貢獻聲明:張?zhí)镓撠熛嚓P文獻資料的收集、分析和論文初稿的撰寫;楊奎武提出綜述思路并指導論文撰寫與修改;魏江宏針對研究現(xiàn)狀討論提出修改意見并指導修改;劉揚和寧原隆負責圖表整理與論文校對.