任奎 * , Tianhang Zheng , 秦湛 , Xue Liu
a Institute of Cyberspace Research, Zhejiang University, Hangzhou 310027, China
b College of Computer Science and Technology, Zhejiang University, Hangzhou 310027, China
c Department of Electrical and Computer Engineering, University of Toronto, Toronto M5S 2E8, Canada d School of Computer Science, McGill University, Montreal H3A 0E9, Canada
計算能力的萬億倍增長使得深度學習(deep learning,DL)在處理各種機器學習(machine learning, ML)任務中得到廣泛應用,如圖像分類[1]、自然語言處理[2]和博弈論[3]。然而研究者發(fā)現現有DL算法存在著嚴重的安全隱患:攻擊者可以通過給良性樣本添加特定噪聲而輕易地欺騙DL模型,并且通常不會被人發(fā)現[4]。攻擊者利用人的視覺/聽覺無法感知的擾動,足以使正常訓練的模型輸出置信度很高的錯誤預測,研究者將這種現象叫做對抗攻擊,它被認為是在生產中部署DL模型之前的巨大障礙,因此激發(fā)了人們對對抗攻擊和防御研究的廣泛興趣。
根據威脅模型可以將現有的對抗性攻擊分為白盒、灰盒和黑盒攻擊。這3種模型之間的差異在于攻擊者了解的信息。在白盒攻擊的威脅模型中,假定攻擊者具有關于其目標模型的完整知識,包括模型體系結構和參數。因此攻擊者可以通過任何方式直接在目標模型上制作對抗性樣本。在灰盒威脅模型中,攻擊者了解的信息僅限于目標模型的結構和查詢訪問的權限。在黑盒威脅模型中,攻擊者只能依賴查詢訪問的返回結果來生成對抗樣本。在這些威脅模型的框架中,研究者開發(fā)了許多用于對抗樣本生成的攻擊算法,比如基于有限內存的BFGS(limited-memory Broyden-Fletcher-Goldfarb-Shan-
* Corresponding author.
E-mail address: kuiren@zju.edu.cn (K. Ren).
2095-8099/? 2020 THE AUTHORS. Published by Elsevier LTD on behalf of Chinese Academy of Engineering and Higher Education Press Limited Company This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
英文原文: Engineering 2020, 6(3): 346-360
引用本文: Kui Ren, Tianhang Zheng, Zhan Qin, Xue Liu. Adversarial Attacks and Defenses in Deep Learning. Engineering, https://doi.org/10.1016/
j.eng.2019.12.012 no, L-BFGS)[4]、快速梯度符號法(fast gradient sign method, FGSM)[5]、基本迭代攻擊/投影梯度下降(basic iterative attack/projected gradient descent, BIA/PGD)[6]、分布式對抗攻擊(distributionally adversarial attack,DAA)[7]、Carlini和Wagner(C&W)攻擊[8]、基于雅可比的顯著圖攻擊(Jacobian-based saliency map attack,JSMA)[9]以及DeepFool [10]。盡管這些攻擊算法最初是在白盒威脅模型下設計的,但是由對抗樣本在模型之間的可傳遞性可知:它們同樣適用于灰盒威脅模型和黑盒威脅模型[11,12]。
同時,近年來我們還發(fā)現了多種對抗性樣本分類/檢測的防御技術,包括啟發(fā)式和可證明式防御。啟發(fā)式防御是指對某些特定攻擊可能具有良好性能,但沒有給出防御性能的理論性保障。當前最成功的啟發(fā)式防御是對抗訓練,它試圖通過將對抗樣本納入訓練階段來提高模型的魯棒性。根據經驗結果,PGD對抗訓練可在MNIST、CIFAR10和ImageNet [13,14]等多個基準數據集上抵御各種L∞攻擊,從而得到當前最好的防御效果。其他啟發(fā)式防御可能依賴于輸入/特征轉換和降噪來減輕數據/特征域中對抗樣本的影響。相反,在明確知道對抗性攻擊類別的情況下,可證明式防御能夠計算模型輸出的最低精度。最近流行的可證明式防御是制定對抗性多面體,并通過凸松弛來限制它的上界。寬松弛過后的上界可以作為已訓練模型的一個保障,它可以證明在限定的限制條件下,沒有任何攻擊可以超過該上界對應的攻擊成功率。但是這些可證明式防御措施的實際性能仍然比對抗訓練的性能差很多。
本文將調查并總結對抗性攻擊和防御研究領域中最前沿的研究成果。此外,我們將根據目前最新的研究進展對這些攻擊和防御方式的有效性進行評述。本文的其余部分安排如下:第2節(jié)首先介紹背景;第3節(jié)詳細介紹具有代表性的攻擊方法;第4節(jié)介紹對抗性攻擊在工業(yè)某些潛在領域中的應用;第5節(jié)介紹最新的防御方法;第6節(jié)討論我們對該研究領域的見解,包括白盒和黑盒攻擊技術之間的差異、對抗攻擊和防御發(fā)展趨勢的差異、模型魯棒性的最新理論結果、面臨的主要挑戰(zhàn);第7節(jié)總結全文。
式中,D(?,?)是距離度量函數;η是預定義的距離約束,也稱為允許擾動。根據經驗可以利用較小的η來保證x和x′之間的相似性,從而使x′與x不可區(qū)分。
由上述定義知,對抗樣本x′和良性樣本x在特定的距離量度方式下應該很接近。最常用的距離度量是Lp距離度量[8]。x和x′之間的Lp距離用||x-x′||p表示,其中,||?||p定義為:
式中,p是實數。
具體來說,L0距離表示因為對抗攻擊而發(fā)生修改的良性樣本x中的元素的數量;L2距離測量x和x′之間的標準歐式距離。最受歡迎的距離度量方式是L∞距離,該距離測量良性樣本和對抗樣本之間的對應元素值最大的差異。對于離散數據,也有幾種對抗攻擊方式,這些攻擊應用了其他距離度量,如文獻[15]中的刪除點數和文獻 [16]中的語義相似度。
對抗攻擊和防御有3種主流的威脅模型,即黑盒模型、灰盒模型和白盒模型。這3個模型是根據攻擊者所知道的待攻擊模型信息量的多少定義的。在黑盒模型中,攻擊者不知道其目標模型的結構和參數,但是它們可以與模型進行交互,以查詢某些特定數據的預測結果。攻擊者將查詢得到的成對的數據、預測結果和其他的良性對抗樣本用于替代的分類器,并在替代的分類器上生成對抗樣本。由于對抗性樣本的可傳遞性,黑盒攻擊會損害正常訓練的非防御性模型。在灰盒攻擊中,假定攻擊者沒有模型權重,但知道其目標模型的體系結構,并且還可以在發(fā)起攻擊之前與模型進行交互。在這種威脅模型中,攻擊者會在相同網絡體系結構的替代分類器上制作對抗樣本。由于存在額外的網絡結構信息,因此在攻擊性能方面,灰盒攻擊總是比黑盒攻擊的效果更好。最強大的攻擊方式是白盒攻擊,這種攻擊可以完全訪問其目標網絡的模型(包括所有參數),這意味著攻擊者可以直接在目標網絡模型上制作對抗樣本。目前許多防御措施可以有效防御黑盒/灰盒攻擊,但卻對白盒無能為力。例如,ICLR2018中9種啟發(fā)式防御里有7種會受到文獻[17]中提出的自適應白盒攻擊的破壞。
本節(jié)將介紹一些具有代表性的對抗攻擊算法。這些算法主要用于攻擊圖像分類的模型,但也可以應用于其他DL模型。第4節(jié)詳細介紹針對其他通用DL模型的特定對抗攻擊。
文獻[4]首先發(fā)現了深度神經網絡(deep neural network, DNN)無法有效處理對抗樣本的情況,作者發(fā)現某些難以察覺的對抗擾動會引起模型對圖片的分類錯誤。文獻[4]提出了一種稱為L-BFGS的方法,通過最小化Lp范數可以找到欺騙DNN的對抗性擾動,其公式為:
式中,||x-x′||p是對抗性擾動的Lp范數;y′是對抗攻擊的目標標簽(y′≠y)。由于此優(yōu)化問題不易求解,因此文獻[4]提出最小化混合損失,即用c||x-x′||p+J(θ,x′,y′)近似代替該優(yōu)化問題的目標函數,并通過線性搜索/網格搜索找到最優(yōu)解c。
Goodfellow等[5]首先提出了一種有效的無目標攻擊方法,稱為快速梯度符號法(FGSM),該方法通過在良性樣本的L∞范數限制下生成對抗樣本,如圖1所示。FGSM是典型的一步攻擊算法,它沿著對抗性損失函數J(θ,x,y)的梯度方向(即符號)執(zhí)行一步更新,以增加最陡峭方向上的損失。FGSM生成的對抗性樣本表示如下:
式中,?是擾動大小。通過降低J(θ,x,y′)的梯度(其中y′表示目標類別)可以將FGSM輕松地擴展為目標攻擊算法(targeted FGSM)。如果將交叉熵作為對抗損失,則此更新過程可以減少預測概率向量和目標概率向量之間的交叉熵。目標攻擊算法的梯度更新可以表示為:
此外,在良性樣本上先添加隨機擾動再執(zhí)行FGSM可以提高FGSM生成對抗樣本的性能和多樣性。
Kurakin等[6]提出了BIA方法,該方法通過將一個迭代優(yōu)化器迭代優(yōu)化多次來提高FGSM的性能。BIA以較小的步長執(zhí)行FGSM,并將更新后的對抗樣本裁剪到有效范圍內,通過這樣的方式總共迭代T次,在第k次迭代中的梯度更新方式如下:
圖1 . 通過將FGSM應用于GoogleNet產生的對抗性樣本示例[5]。FGSM生成的難以察覺的干擾使GoogleNet將該圖像識別為長臂猿。
式中,αT=?。投影梯度下降(PGD)可以看作是BIA的廣義形式,這種方法沒有約束αT=?。為了約束對抗性擾動,PGD將每次迭代學習的對抗性樣本投影到良性樣本的?- L∞鄰域中,從而使對抗性擾動值小于?。其更新方式如下:
式中,Proj會將更新后的對抗樣本投影到?- L∞鄰域和有效范圍內。
受動量優(yōu)化器的啟發(fā),Dong等[18]提出將動量記憶集成到BIM的迭代過程中,并推導了一種新的迭代算法Momentum Iterative FGSM (MI-FGSM)。該方法通過以下方式迭代更新其對抗樣本:
式中,梯度gt+1通過更新。文獻[18]提出的方案是以一組集成模型為目標,在黑盒/灰盒設置下攻擊一個不可見的模型。其基本思想是考慮多個模型相對于輸入的梯度,并綜合確定一個梯度方向,這種攻擊方法生成的對抗樣本更可能轉移攻擊其他黑盒/灰盒模型。MI-FGSM與集成攻擊方案的結合在NIPS 2017無目標攻擊和度量攻擊競賽(黑盒設置)中獲得了第一名。
Zheng等[7]提出了一種新的對抗攻擊方法分布式對抗攻擊(DAA),該方法在概率度量的空間上運行。其與PGD不同的是:PGD會針對每個良性樣本獨立生成對抗性樣本,而DAA對潛在的對抗性分布執(zhí)行優(yōu)化。此外該方法提出的目標函數首次將對抗樣本盒良性樣本數據分布之間的KL散度包含在了對抗損失函數中,從而在優(yōu)化過程中增加了對抗性攻擊泛化的強度。此分布優(yōu)化問題可以表示如下:
式中,μ表示對抗性數據分布;π(x)表示良性數據分布。
由于對分布進行直接優(yōu)化比較困難,因此作者利用兩種粒子優(yōu)化方法進行近似。與PGD相比,DAA探索了新的生成對抗樣本模式,如圖2所示。值得注意的是,DAA在MIT MadryLab的白盒排行榜上排名第二[13],是對當時幾種防御措施最有效的L∞攻擊之一。
Carlini和Wagner [8]提出了一組基于優(yōu)化的對抗攻擊C&W,它們可以生成L0、L2和L∞范數限制下的對抗樣本CW0、CW2和CW∞。與L-BFGS類似,將優(yōu)化目標函數[8]表示為:
式中,δ是對抗擾動;D(?,?)表示L0、L2或L∞距離度量;f(x+δ)是自定義的對抗損失,當且僅當DNN的預測為攻擊目標時才滿足f(x+δ)≤0。為了確保x+δ產生有效的圖像(即x+δ∈ [0, 1]),引入了一個新變量來代替δ[8],如式(11)所示:
圖2 . PGD和DAA之間的比較。DAA傾向于產生更多的結構化擾動[7]。
這樣,x+δ=1/2(tanh(κ) + 1)在優(yōu)化過程中始終位于[0, 1]中。除了在MNIST、CIFAR10和ImageNet的正常訓練DNN模型上獲得100%的攻擊成功率外,C&W攻擊還可以破壞防御性蒸餾模型,而這些模型可以使L-BFGS和Deepfool無法找到對抗性樣本。
Papernot等[9]提出了一種稱為基于雅可比的顯著性圖方法(JSMA)的有效攻擊方式,它可以利用較小的L0擾動來欺騙DNN。該方法首先在softmax層之前計算logit層輸出的l(x)的雅可比矩陣:
雅可比矩陣表示輸入x的各個分量如何影響不同類別的logit層輸出。然后根據雅可比矩陣,攻擊者定義了一個對抗性顯著圖S(x,y′)用以選擇應該受到干擾的特征/像素,以便在logit層的輸出中獲得所需的變化。他們選擇擾動具有最高S(x,y′)[γ]的元素xi,從而增加目標類別的logit層輸出或顯著減少其他類別的logit層輸出,這樣對一小部分元素的擾動已經可以影響l(x)并欺騙神經網絡。
Moosavi-Dezfooli等[10]提出了一種新的稱為Deepfool的算法,該算法可以在仿射二進制分類器和通用二進制可微分類器上找到最小化L2范數的對抗性擾動。對于仿射分類器f(x) =wTx+b,更改樣本x的分類結果的最小擾動就是移動x到決策邊界超平面? = {x:wTx+b= 0},該距離為。對于一般的可微分類器,Deepfool假設f在x′t的領域是線性的,并且迭代計算擾動δt:
該過程將持續(xù)到f(xt′) ≠f(x)為止,并最終用δt的總和來近似最小擾動。該方法也可以擴展為攻擊通用的多分類器,只需要將問題改變?yōu)橛嬎銖膞到所有類之間的決策邊界形成的凸多面體P表面的距離即可,如圖3 [10]所示。實驗表明,在一些基準數據集上,Deepfool產生的擾動小于FGSM。
Chen等[19]提出的對抗攻擊將對抗樣本的生成過程視為一個彈性網正則化優(yōu)化的問題,即對DNN的彈性網攻擊(elastic-net attack to DNN, EAD)??偟膩碚f,EAD希望在同時最大化減少L1和L2距離度量下擾動的前提下,能找到可以欺騙神經網絡的對抗性樣本。該優(yōu)化問題表述為:
式中,J(θ,x′,y′)是目標對抗損失函數,用于懲罰對抗性樣本x′與良性樣本x之間的L1和L2距離。EAD首次在對抗攻擊中引入了L1范數約束,并產生了一組能與其他最新方法一較高下的對抗樣本。
上述所有攻擊都是針對良性樣本來精心設計對抗性擾動的。換句話說,對抗性擾動不會在良性樣本之間傳遞。因此一個自然的問題是:是否存在一種普遍的擾動會欺騙大多數良性樣本的網絡?文獻[20]首先嘗試通過使用所有目標良性樣本迭代更新擾動來尋求這種擾動向量。在每次迭代中,對于當前擾動無法欺騙的良性樣本,將求解一個類似于L-BFGS [4]的優(yōu)化問題,以找到危害這些樣本所需的最小附加擾動。附加擾動將添加到當前擾動中。最終,擾動使大多數良性樣本欺騙了網絡。實驗表明,這種簡單的迭代算法可以有效地攻擊深度神經網絡,如CaffeNet [21]、GoogleNet [22]、VGG [23]和ResNet [24]。出乎意料的是,這種可在不同樣本中傳遞的擾動同時可以應用到其他不同的模型中,例如,在VGG上制作的通用擾動在其他模型上也可以達到53%以上的欺騙率。
圖3 . 所有類別之間的決策邊界形成的凸多面體。(a)線性模型;(b)非線性模型[10]。
直接使用上述攻擊算法將會對良性樣本的所有分量(如良性圖像中的所有像素)進行干擾。最近的研究[25,27,28]顯示良性樣本的局部區(qū)域/片段中的擾動也可能使DL模型失控,我們稱這種擾動為對抗補丁(adversarial patch)。Sharif等[25]提出了只在面部圖片里附著的眼鏡架上制作對抗性擾動的方法,如圖4所示。該方法通過優(yōu)化常用的對抗性損失(即交叉熵)從而使局部產生的擾動也能輕易欺騙VGG-Face卷積神經網絡(convolutional neural network, CNN)[26]。作者還3D打印了這種帶有干擾的眼鏡,并在物理世界中實現了對抗攻擊。他們還提供了視頻演示,其中戴有對抗眼鏡的人們被真實的VGG-Face CNN系統(tǒng)識別為攻擊目標。文獻[27]提出了一種生成通用魯棒對抗補丁的方法。這種方法基于良性圖像、補丁變換和補丁位置定義了優(yōu)化補丁的對抗損失函數,然后通過將補丁放在所有良性圖像上進行優(yōu)化來實現通用性,此外作者通過使用EoT方法[28]計算不敏感于噪聲盒三維變換的梯度用于優(yōu)化,從而實現了對噪聲和三維變換的魯棒性。Liu等[29]提出在良性樣本上添加特洛伊木馬補丁,以生成對抗性樣本。該攻擊首先選擇幾個能顯著影響網絡輸出的神經元,然后初始化對抗補丁區(qū)域中的像素值,從而使選定的神經元達到最大值,最后利用良性圖像和帶有特洛伊木馬補丁的圖像對模型進行重新訓練,以調整與所選神經元相關的權重。盡管在良性圖像上該模型執(zhí)行的操作與原始模型類似,但重新訓練的模型會在帶有對抗補丁的圖像上表示出惡意行為。
圖4 . 具有對抗擾動的眼鏡欺騙了一種面部識別系統(tǒng),可以將第一行中的人臉錯誤的識別為第二行中的人臉[25]。
Xiao等[30]首先提出利用生成對抗網絡(generative adversarial network, GAN)生成對抗樣本的方法。該方法通過最大化目標對抗損失J(θ,x′,y′)和GAN損失LGAN來訓練生成器,以使其學習對抗樣本的分布。軟鉸鏈損失被作為懲罰來約束生成的對抗樣本x′和良性樣本x之間的Lp距離。值得注意的是,在動態(tài)蒸餾的設置下,代理分類器(蒸餾模型)也會通過目標分類器在生成的對抗樣本上的輸出與生成器一起訓練,該攻擊將Madry-Lab's MNIST未知模型的準確性降低到92.74% [13]。這是目前最好的黑盒攻擊結果。Yang等[31]訓練輔助分類器生成對抗網絡(auxiliary classifier GAN, AC-GAN)[32],從而對每個類別的數據分布建模。他們提出的攻擊是通過優(yōu)化明確定義的目標函數來實現的,這樣可以找到特定類別的潛在代碼從而生成樣本,這些樣本會被目標分類器分類為另一個類別。由于生成的對抗性樣本與任何現有的良性樣本都不接近,因此將它們稱為非限制性對抗樣本。這種攻擊不遵循通常為對抗性樣本定義的常規(guī)約束,因此它能更有效地攻擊滿足常規(guī)約束的對抗性訓練模型。
盡管PGD和C&W等對抗性攻擊算法在數字領域非常有效,但將其擴展到物理世界仍然需要克服兩個關鍵問題。第一個問題是環(huán)境噪聲和自然變化將破壞數字空間中計算出的對抗性擾動。例如,模糊、噪聲和聯合圖像專家小組(joint photographic experts group, JPEG)編碼等會對對抗性攻擊的破壞率超過80%[6]。第二個問題是攻擊僅限于使用圖像/視頻的ML任務,其中只有與某些對象相對應的像素才能在物理世界中被干擾,也可以說攻擊者不可能干擾背景。Athalye等[28]提出了一種稱為轉換期望(expectation over transformation, EoT)的方法來解決第一個問題。EoT不是使用理想數字域中計算出的梯度,而是在輸入上添加/應用了一組隨機噪聲/自然變換,然后取這些噪聲/自然變換的輸入計算得到梯度的平均值用于優(yōu)化。在基于梯度的攻擊算法(如FGSM和PGD)中采用這種平均梯度,可以提高生成的對抗樣本的魯棒性。對抗補丁的思想則可以簡單地解決第二個問題,即空間約束。Eykholt等[29]提出了一種掩模/補丁變換來分離背景和目標,從而可以將對抗性擾動限制在目標區(qū)域內。此外,文獻[33]還考慮了因為打印和受擾動RGB值之間的差異引起的制造誤差,如圖 5所示。這種方法的特點是在優(yōu)化損失中包含一個附加懲罰項,稱為不可打印分數(non-printable score, NPS)。最終文獻[29]成功地在現實世界的交通標志上生成了可打印的對抗干擾,總體攻擊成功率達到80%以上。
Athalye等[17]說明了大多數啟發(fā)式防御方法(包括ICLR2018中公布的9種防御中的8種)所共有的一個常見問題。這一問題是這些防御模型的梯度要么是不存在的,要么是由于采用諸如量化和隨機化之類的附加操作而不確定。對于這些防御,文獻[17]提出了3種方法可以繞過附加組件操作,從而獲得用于生成對抗樣本的有效梯度。第一種:對于依賴于不可微的附加操作(如量化)的防御,通過使用可微函數來逼近它們;第二種:對于設置有隨機變換等不確定性操作的防御系統(tǒng),只需使用EoT [28]來確定所有可能變換中的一般梯度方向的期望,并沿著該一般梯度方向更新對抗樣本;第三種:對于由優(yōu)化循環(huán)引起的梯度爆炸或消失的防御方法,提出進行變量更改以便將優(yōu)化循環(huán)轉換為可微函數。利用這3種方法近似的梯度,打破了ICLR2018中9種啟發(fā)式防御中的7種[17]。
第3節(jié)主要介紹了一些典型的攻擊算法,其中大多數最初是為圖像分類而設計的。但是這些方法也可以應用于其他領域,如圖像/視頻分割[34,35]、3D識別[36,37]、音頻識別[38]和強化學習[39],這引起了學術界和工業(yè)界越來越多的關注。因為特定的數據和應用程序可能導致獨特的對抗攻擊,所以在本節(jié)中,我們還將概述那些針對其他普及應用獨特的對抗攻擊。
圖5 . (a)顯示了由原始Inception v3模型識別為微波爐的原始圖像;(b)顯示了被識別為電話的對抗樣本[33]。
Xie等[40]首先提出了一種密集對抗生成算法(dense adversarial generation, DAG),該算法可以用于生成目標檢測和語義分割任務的對抗樣本。DAG的基本思想是同時考慮檢測/分割任務中的所有目標并優(yōu)化總體損失,如圖6所示。此外,為了解決像素級對象檢測任務中的大量候選單元[即以O(K2)縮放,其中K是像素數],DAG通過在優(yōu)化階段修改交并比(intersection-over-union, IoU)來保證候選單元數量增加并維持在合理的范圍。在文獻[41]中,作者發(fā)現在分割任務中沒有很好地建立對抗性損失與分類任務中的準確度之間的關系。因此他們提出了一種新的替代損失Houdini,并用這個損失來逼近實際對抗損失,它是隨機邊際和任務損失的乘積。隨機邊際表示真值與預測目標的預測概率之間的差值,并且任務損失與模型無關,它對應于最大化目標函數。文獻[41]進一步推導出在給定輸入的情況下新替代損失梯度的近似值,從而可以對輸入進行基于梯度的優(yōu)化。實驗表明,Houdini算法在語義分割方面達到了最先進的攻擊性能,人眼很難識別出這種對抗性擾動。
圖6 . 在左側的良性圖像中,Faster CNN正確地檢測了三只狗并識別了它們的區(qū)域,而在DAG生成的右側對抗圖像中,檢測結果是完全錯誤的[40]。
點云是3D物體識別的重要數據表示形式。PointNet[35]、PointNet ++ [42]和動態(tài)圖CNN(dynamic graph CNN, DGCNN)[43]是基于點云的分類/分割的3種最受歡迎的DL模型。但是,最近發(fā)現這3種模型也容易受到對抗攻擊[15,44,45]。在文獻[44]中,作者首先將C&W攻擊擴展到這些3D點云DL模型。在文獻[44]中,空間點位置與像素值相對應,通過移動空間點(即擾動空間點的位置)來優(yōu)化C&W損失。同樣,文獻[45]將BIA/PGD應用于點云分類并實現了很高的攻擊成功率。在文獻[15]中,作者基于丟棄點云中現有的空間點的思想提出了新的攻擊方法。該方法通過將點移動到點云的質心來近似每個點對分類結果的貢獻,然后丟棄具有較大正貢獻的點。隨著一定數量的這些點被丟棄,PointNet、PointNet ++和DGCNN的分類精度顯著降低。對于點云模型,文獻[46]建議在三維網格上添加對抗性擾動,以便三維網格的二維投影可以誤導二維圖像分類模型。這種三維攻擊是通過對目標二維模型帶有對抗損失的混合損失和保證三維網格對抗樣本看起來像實物的損失函數進行優(yōu)化來實現的。
Carlini和Wagner [47]通過對C&W損耗函數的優(yōu)化,成功地構建了高質量的音頻對抗性樣本。對于任何音頻信號,只要在DeepSpeech上對音頻信號的1%進行對抗性干擾,即可在文本翻譯中最多修改50個單詞[48]。他們還發(fā)現,構建的對抗性音頻信號對點噪聲和MP3壓縮具有魯棒性。但是由于麥克風和錄音機的非線性影響,被擾動的音頻信號在空氣中播放后不會保持對抗性。文獻[49]中的作者提出一種模擬非線性效應和噪聲,并在攻擊過程中將它們考慮在內的攻擊方法。具體而言,作者將接收信號建模為發(fā)射信號的函數,該建模包括模型受到帶通濾波器、脈沖響應和白高斯噪聲的影響的變換。對抗損失函數是在接收信號而不是發(fā)射信號上定義的。這種方法成功地在物理世界中產生了對抗性的音頻樣本,即使在空氣中播放,也能攻擊音頻識別模型。在文本識別領域,Liang等[50]提出了3種針對文本數據的詞級干擾策略,包括插入、修改和刪除。攻擊者首先確定影響分類結果的最重要的文本項,然后對這些文本項采用其中一種擾動方法。實驗表明,這種攻擊可以成功地欺騙一些基于DNN的最新文本分類器。TextBugger[16]對文本數據采用了5種干擾操作,包括插入、刪除、交換、字符替換和單詞替換,如圖7所示。在白盒設置中,先使用雅可比矩陣[9]識別重要單詞,再對這些單詞執(zhí)行上述5種干擾操作。在黑盒威脅模型中,矩陣是不可計算的,但假設攻擊者有權獲得句子和文檔預測結果的置信值,在這種情況下,每個句子的重要性被定義為它對預測類的置信值。在對分類結果最重要的句子中,每個詞的重要性是由含有該詞和不含有該詞的句子的置信值之間的差來定義的。
Huang等[51]發(fā)現通過在策略的原始輸入上添加對抗性擾動,現有的攻擊方法也可用于在深度強化學習中降低已訓練策略的性能。比如構建一個替代損失函數J(θ,x,y),這個函數包含參數θ、策略的輸入x以及所有可能操作y的加權得分[51]。FGSM [5]對3種不同前饋訓練策略的算法進行了攻擊,包括深度Q-networks(deep Q-network, DQN)[52]、異步優(yōu)勢動作評價(asynchronous advantage actor-critic, A3C)[53]和信任區(qū)域策略優(yōu)化(trust region policy optimization, TRPO)[54]。在大多數情況下,白盒攻擊可以將智能體的準確性降低50%,另外,在黑盒攻擊同樣也有效。盡管攻擊性能可能會下降,但這3種算法之間的對抗效果是能夠相互轉移的。文獻[55]建議擾動Q函數Q(st+1,a,θt)中的輸入狀態(tài)st,從而在學習過程中產生對抗性動作a′。文章中推薦使用FGSM和JSMA算法生成對抗性擾動。Lin等[56]提出了深度強化學習的兩種攻擊策略,包括策略定時攻擊和附魔攻擊。策略定時攻擊是指僅在幾個特定的時間步長內擾動圖像輸入從而使獎勵最小化。這種攻擊是通過優(yōu)化獎勵的擾動來進行的。附魔攻擊可以對抗性地干擾圖像幀從而將智能體引誘到目標狀態(tài)。這種攻擊需要一個生成模型來預測未來的狀態(tài)和動作,然后產生一個誤導性的動作序列指導生成圖像幀上的擾動。
本節(jié)將總結近年來具有代表性的對抗防御方法,主要包括對抗訓練、基于隨機化的方法、降噪方法、可證明的防御以及其他一些新防御。我們還將簡要討論它們在不同環(huán)境下對不同攻擊的有效性。
圖7 . TextBugger生成的對抗文本[16]。負面評論被誤分類為正面評論。
對抗訓練是一種針對對抗樣本的直觀防御方法,該方法試圖通過利用對抗樣本進行訓練來提高神經網絡的魯棒性。從形式上講,這是一個Min-Max的游戲,可以表述為:
式中,J(θ,x′,y)是對抗損失函數;θ是網絡權重;x′是對抗輸入;y是標簽真值。D(x,x′)表示x和x′之間的某種距離度量。內部的最大化優(yōu)化問題是找到最有效的對抗樣本,這可以通過精心設計的對抗攻擊實現,如FGSM [5]和PGD [6]。外部的最小化優(yōu)化問題是損失函數最小化的標準訓練流程。最終的網絡應該能夠抵抗訓練階段用的生成對抗性樣本的對抗性攻擊。最近的研究 [13,14,57,58]表明:對抗性訓練是對抗性攻擊最有效的防御手段之一。主要是因為這種方法在幾個基準數據集上達到了最高的精度。因此在本節(jié)中,我們將詳細介紹過去幾年里表現最好的對抗訓練技術。
5.1.1. FGSM對抗訓練
Goodfellow等[5]首先提出用良性和FGSM生成的對抗樣本訓練神經網絡以增強其網絡魯棒性的方法。他們提出的對抗目標函數可以表達為:
式中,x+? ·sign(J(θ,x,y))是良性樣本x根據FGSM方法生成的對抗樣本;c是用于平衡良性和對抗性樣本的準確性。文獻[5]中的實驗表明,該網絡對于FGSM方法生成的對抗性樣本變得有些穩(wěn)健。具體來說,在對抗訓練中對抗樣本的錯誤率從89.4%急劇下降至17.9%。盡管該方法對FGSM的攻擊有效,但是訓練后的模型仍然容易受到基于迭代/優(yōu)化方式的對抗攻擊。因此許多研究進一步挖掘了具有更強對抗性攻擊(如BIA/PGD攻擊)的對抗性訓練。
5.1.2. PGD對抗訓練
大量評估表明,PGD攻擊可能是通用的一階L∞攻擊[13]。如果是這樣,那么針對PGD的模型魯棒性意味著可以抵抗各種一階L∞攻擊?;谶@種推測,Madry等[13]提出使用PGD對抗訓練一個穩(wěn)健的網絡,出人意料的是PGD對抗訓練確實提高了CNN和ResNets的魯棒性[24],從而能夠抵抗幾種具有代表性的一階L∞攻擊,如在黑盒和白盒設置下的FGSM、PGD和CW∞攻擊。即使是當前最強的L∞攻擊(即DAA),也只能將PGD對抗訓練的MNIST模型和CIFAR-10模型的準確性分別降低到88.56%和44.71%。在最近的對抗攻擊與防御競賽(competition on adversarial attack and defense, CAAD)中,針對ImageNet對抗樣本的一流防御實際上也依賴于PGD對抗訓練[14]。通過PGD對抗訓練,原始的ResNets [23]在20步PGD下已經達到了50%以上的精度,而文獻[14]中提出的降噪架構實際上僅進一步將精度提高了3%。以上所有研究和結果表明,PGD對抗訓練總體上是針對L∞攻擊的最有效對策。但是由于生成PGD對抗樣本需要大量計算成本,因此PGD對抗訓練不是一種有效率的防御措施。例如,在TITAN-V圖形處理器(graphics processing unit, GPU)上使用針對CIFAR-10數據集的簡化ResNet進行PGD對抗訓練大約需要3 d,而在CAAD中排名第一的模型在128個Nvidia V100 GPU上花費了52 h。此外,PGD對抗訓練模型僅對L∞攻擊具有魯棒性,這樣的模型依然容易受其他Lp-norm攻擊者的攻擊,如EAD [19,59]和CW2[8]。
5.1.3. 集成對抗訓練
為了避免PGD對抗訓練帶來的大量計算成本,文獻[60]提出通過FGSM對抗訓練和隨機啟動(RAND +FGSM)結合來生成魯棒的ImageNet模型。但是經過對抗訓練的模型甚至很容易受到黑盒攻擊。為了解決這個問題,文獻[61]提出了一種訓練方法,該方法利用多個預先訓練的模型中轉移的對抗樣本進行對抗訓練,即集成對抗訓練(ensemble adversarial training, EAT)[61]。直觀上,EAT增加了用于對抗訓練的對抗樣本的多樣性,從而增強了針對從其他模型轉移過來的對抗樣本的神經網絡魯棒性。實驗結果表明,EAT模型對其他模型遭受的各種單步和多步攻擊產生的對抗樣本都具有較強的魯棒性。在某些情況下,EAT對黑盒和灰盒攻擊的抵抗性能甚至優(yōu)于PGD對抗訓練。
5.1.4. 對抗 Logit配對
Kannan等[62]提出了一種新的稱為對抗Logit配對(adversarial Logit-pairing, ALP)的對抗訓練方法。與文獻[63]中提出的穩(wěn)定性訓練策略相似。該方法通過將良性樣本x的logits層和相應的擾動樣本x′之間的交叉熵包括在訓練損失函數中,來鼓勵提高成對樣本在學習到的Logits層的相似性。唯一的區(qū)別是文獻[62]中使用的x′是PGD對抗樣本。該方法訓練的損失函數為:
式中,J(θ, x, y)是原始損失;而J(θ, x, x′)是x和x′的Logits層的交叉熵。文獻[62]中的實驗表明,這種配對損失有助于在多個基準數據集上提高PGD對抗訓練的性能,如SVHN、CIFAR-10和小型ImageNet。文獻[62]聲稱ALP在白盒PGD攻擊下可以將Inception V3模型的準確性從1.5%提高到27.9%,并且在抵御黑盒攻擊方面也表現得與EAT差不多。然而文獻[64]評估了經過ALP訓練的ResNet的魯棒性,發(fā)現在文獻[62]考慮的目標攻擊下,ResNet僅能實現0.6%的正確分類率。文獻[64]還指出ALP不太適合梯度下降,因為ALP有時會引起“凹凸不平”,例如,在損失函數空間中,輸入樣本點附近可能被凹陷的損失情況包圍。因此ALP可能不如文獻[62]中所描述的那樣穩(wěn)健。
5.1.5. 生成對抗訓練
以上所有對抗訓練策略均采用確定性攻擊算法來生成訓練樣本。文獻[65]首先提出在對抗性訓練的過程中利用非確定性生成器來生成對抗性樣本。作者設置了一個生成器,該生成器的輸入是訓練好的模型在良性樣本點上的梯度,并產生了類似FGSM的對抗性擾動。通過在良性樣本和生成樣本上訓練分類器,與FGSM對抗訓練模型相比,文獻[65]獲得了一個對FGSM具有更強魯棒性的模型。Liu等[66]首先提出使用AC-GAN架構[32]進行數據擴充,從而提高PGD對抗訓練的通用性。通過將PGD對抗樣本作為真實樣本輸入到鑒別器中,ACGAN學會了生成與PGD對抗性樣本相似的偽造樣本。類似于PGD的假樣本將被用來訓練輔助分類器和預訓練的鑒別器。根據文獻[66],生成器、鑒別器、輔助分類器和PGD攻擊的這種組合在單個網絡中不僅會形成更強大的分類器,而且可以形成更好的生成器。
最近的許多防御措施都采用隨機化來減輕輸入/特征域中對抗性擾動的影響,因為從直覺上看,DNN總是對隨機擾動具有魯棒性?;陔S機化的防御方法試圖將對抗性效應隨機化為隨機性效應,當然這對大多數DNN而言都不是問題。在黑盒攻擊和灰盒攻擊的設置下,基于隨機化的防御獲得了不錯的性能,但是在白盒攻擊下,EoT方法[28]能夠通過在攻擊過程中考慮隨機過程來破壞大多數防御方法。本節(jié)將詳細介紹幾種基于隨機化的代表性防御方式,并介紹其針對不同環(huán)境中各種防御的性能。
5.2.1. 隨機輸入變換
Xie等[67]利用隨機調整大小和填充這兩種隨機變換來減輕推理時的對抗效果。隨機調整大小是指在將輸入圖像輸入DNN之前將其調整為隨機大小。隨機填充是指以隨機方式在輸入圖像周圍填充零。這種快速而敏銳的機制如圖8所示。該防御方法在黑盒攻擊下取得了卓越的性能,在NIPS 2017對抗樣本防御挑戰(zhàn)中排名第二,然而在白盒攻擊下這種防御會被EoT方法破壞 [28]。當使用30個隨機調整大小和填充的圖像集合來逼近梯度時,EoT能夠通過8/255 L∞擾動將模型精度降低到0。Guo等[68]的防御方法是將圖像送入到CNN之前使用具有隨機性的圖像變換,如位深度減小、JPEG壓縮、總方差最小化和圖像縫合。這種方法可以抵抗由多種主流攻擊方法生成的60%的強灰盒對抗樣本和90%的強黑盒對抗樣本。但是它也會受到EoT方法的損害[28]。
5.2.2. 隨機噪聲
Liu等[69]提出名為RSE (random self-ensemble)的隨機噪聲機制來防御對抗性干擾。在訓練和測試階段,RSE在每個卷積層之前添加一個噪聲層,并集成隨機噪聲的預測結果以確保DNN有穩(wěn)定的輸出,如圖9所示[69]。Lecuyer等[70]從差分隱私(differential privacy,DP)的角度看待隨機噪聲的防御方式[71],并提出了一種基于DP的防御PixelDIP。PixelDP在DNN內集成了DP噪聲層,基于范數的微小擾動會引起預測結果概率分布的變化,通過這種變化可以給出DP邊界。PixelDP可在使用Laplacian/Gaussian DP機制防御的前提下抵抗L1/L2攻擊。受PixelDP的啟發(fā),文獻[72]中的作者進一步提出在分類之前將隨機噪聲直接添加到對抗性樣本的像素中,從而消除對抗性擾動的影響?;赗enyi散度理論,文獻[72]證明了利用輸出概率分布(向量)的第一和第二大概率可以確定其對抗擾動的魯棒上限。
圖8 . Xie等[67]提出的基于隨機化的防御機制流程圖。輸入圖像首先被隨機調整大小,然后被隨機填充。
圖9 . RSE的結構[69]。
5.2.3. 隨機特征修剪
Dhillon等[73]提出了一種稱為隨機激活修剪(stochastic activation pruning, SAP)的方法進行對抗防御,該方法通過隨機修剪每一層中的一部分激活子集,并優(yōu)先保留更大幅度的激活項來保護預訓練網絡免受對抗樣本的攻擊。在激活修剪之后,SAP會擴展尚存的激活從而標準化每個層的輸入。但是在CIFAR-10上,EoT [28]還是可以通過8/255L∞對抗擾動將SAP的精度降低為0。Luo等[74]通過隨機掩蓋卷積層輸出的特征圖設計了一種新的CNN結構。通過隨機掩蓋輸出特征圖使每個過濾器僅從局部位置提取要素。Luo等[74]聲稱這將有助于過濾器學習與掩模圖案一致分布的特征,因此CNN可以捕獲有關局部特征空間結構的更多信息。
就減輕對抗性擾動/效果而言,降噪是一種非常簡單的方法。之前的工作指出了設計這種防御的兩個方向,包括輸入降噪和特征圖降噪。其中第一個方向試圖從輸入中部分或完全消除對抗性擾動,第二個方向是減輕對抗性擾動對DNN學習高級功能的影響。本節(jié)將詳細介紹這兩個方向上的幾種著名防御方法。
5.3.1. 常規(guī)輸入整流
為了減輕對抗效果,Xu等[75]首先利用兩種壓縮(去噪)方法:位減少和圖像模糊,以減少自由度并消除對抗性擾動,如圖10所示。通過比較原始圖像和壓縮圖像上的模型預測值來實現對抗樣本檢測。如果原始輸入和壓縮輸入產生的輸出與模型有很大差異,則原始輸入可能是對抗樣本。Xu等[76]進一步聲稱在文獻[75]中提出的特征壓縮方法可以減輕C&W攻擊,但是He等[77]證明了特征壓縮仍然容易受到知識適應性的攻擊者的攻擊,在實驗過程中采用CW2損失作為對抗損失。在每步優(yōu)化之后,作者可從優(yōu)化器里獲得中間圖像。Xu等的檢測系統(tǒng)會檢查通過減小色深獲得的中間圖像,這種優(yōu)化將運行多次,所有可以繞過Xu等系統(tǒng)的中間對抗性樣本都將被統(tǒng)計,整個自適應攻擊可以在比文獻[75]中小得多的擾動下破壞輸入壓縮系統(tǒng)。Sharma和Chen [78]也表明EAD和CW2可以通過增強攻擊者的實力繞過輸入壓縮系統(tǒng)。
5.3.2. 基于GAN的輸入清理
生成對抗網絡(GAN)是一種功能強大的工具,其可用于學習數據分布并形成生成器。大量的工作試圖利用GAN來學習良性數據分布,從而在對抗性輸入的前提下生成良性預測。防御-GAN(Defense-GAN)和對抗干擾消除-GAN(adversarial perturbation elimination-GAN, APE-GAN)是這類工作的兩個代表。Defence-GAN [79]訓練生成器來對良性圖像的分布進行建模,如圖11 [79]所示。在測試階段,Defense-GAN通過在其學習的分布中搜索接近于對抗樣本的圖像來清除對抗樣本,然后將良性圖像輸入分類器。這種策略可以用來防御各種對抗攻擊,目前針對Defence-GAN最有效的攻擊方案是基于BPDA [17]的攻擊方法,它可以通過0.005L2的對抗擾動將其準確性降低到55%。APE-GAN[80]直接學習生成器,它將對抗樣本作為輸入,輸出其對應的良性樣本,從而清晰對抗樣本。盡管APE-GAN在文獻[80]的實驗平臺上取得了很好的性能,但在文獻[81]中指出自適應白盒攻擊CW2可以很容易擊敗APEGAN。
5.3.3. 基于自動編碼器的輸入去噪
在文獻[82]中作者介紹了一種稱為MagNet的兩節(jié)防御系統(tǒng),其中包括一個探測器和一個重整器。在MagNet中使用自動編碼器來學習良性樣本的多種形式。檢測器根據樣本與學習到的良性樣本的多種形式之間的關系來區(qū)分良性樣本和對抗樣本。重整器用于將對抗樣本糾正為良性樣本。作者通過實驗證明了MagNet可以有效抵抗灰盒和黑盒設置(如FGSM、BIA和C&W)下的各種對抗攻擊。然而文獻[81]證明了MagNet容易受到CW2攻擊產生的可轉移對抗樣本的攻擊。
5.3.4. 特征去噪
圖10 . Xu等[75]提出的特征壓縮框架。d1和d2:模型對壓縮輸入的預測與原始輸入的預測之間的差異;H:用于檢測對抗示例的閾值。
圖11 . Defense-GAN的流程圖[79]。G:可以從低維向量z生成高維輸入樣本的生成模型;R:隨機數生成器生成的隨機向量的數量。
Liao等[83]提出了一種基于高級表示法指導的去噪器(high-level representation guided denoiser, HGD),這種去噪器可以改善受對抗性擾動影響的特征。HGD不是使用像素級去噪,而是使用特征級損失函數訓練降噪的U-NET [34],這樣可以最大限度地減少良性和對抗性樣本之間的特征級差異。在NIPS2017比賽中,HGD獲得了防御賽道的第一名(黑盒攻擊)。盡管這種方法在黑盒設置下有效,但在白盒設置下HGD會受到PGD攻擊者的損害[84]。文獻[84]中的實驗表明,4/255L∞擾動的PGD攻擊已經可以將HGD的精度降低到0。Xie等[14]設計了一個塊來學習幾種去噪操作,從而糾正DNN中間層學習到的特征。改進后的PGD對抗訓練網絡在CAAD 2018對抗防御賽道中排名第一。盡管Xie等[14]取得了顯著的成功,但與PGD對抗訓練相比,特征去噪塊對網絡魯棒性的貢獻并不顯著。因為在白盒PGD攻擊下,PGD對抗訓練的基線ResNet也能達到近50%的準確率,而文獻提出的去噪塊僅使該基線的準確率提高了3%。
以上所有介紹的防御都是啟發(fā)式防御,這意味著這些防御的有效性只在實驗上得到驗證,而沒有在理論上得到證明。如果無法計算理論上的錯誤率,這些啟發(fā)式防御可能會被未來的新攻擊所打破。因此許多研究者致力于探索可證明的防御方法,在一類定義明確的攻擊下,這些方法始終能保持一定的準確性。本節(jié)將介紹幾種具有代表性的可證明的防御。
5.4.1. 基于半定規(guī)劃的可證明式防御
Raghunathan等[85]首先提出了一種針對兩層網絡生成的對抗樣本的可證明的防御方法。作者導出了攻擊者損失函數上界的半定松弛,并將其作為正則化項加入訓練損失函數中。
這種訓練方法產生的一個網絡被證明在不超過0.1/1.0L∞擾動的情況下,不會對MNIST造成超過35%的測試誤差。在文獻[86]中,Raghunathan等進一步提出了一種新的半定性松弛來證明任意ReLU網絡的防御性能。新提出的松弛比以前的松弛更嚴格[85],并且可以在3個不同的網絡上保證其魯棒性。
5.4.2. 基于對偶方法的可證明式防御
借鑒文獻[85]的思路,Wong等[87]提出了一個對抗問題來界定對抗樣本的輸出多維區(qū)域。他們表明可以通過在另一個深度神經網絡上進行優(yōu)化來解決對偶問題。與僅適用于兩層全連接網絡[85]有所不同,該方法可應用于具有任意線性算子層(如卷積層)的深層網絡。文獻[88]將文獻[87]中的技術擴展到了具有跳過連接和任意非線性激活的更通用的網絡。文獻[88]還提出了一種非線性隨機投影技術,這種方法使得估計邊界問題的規(guī)模與隱藏元的規(guī)模是線性相關的,這使得該方法適用于較大的網絡。在MNIST和CIFAR數據集上,利用文獻 [88]提出的技術訓練分類器可以大大改善先前可證明式防御方法的魯棒性:在?= 0.1的L∞擾動下,在MNIST上的錯誤率從5.8%下降到3.1%;在? = 2/255的L∞擾動的情況下,在CIFAR上的錯誤率從80%下降到36.4%。
5.4.3. 分布穩(wěn)健性證明
從分布優(yōu)化的角度來看,文獻[89]將對抗性分布的優(yōu)化問題表述為:
式中,φ是圍繞良性數據所有分布的候選集,可以由散度球[90]或Wasserstein球[91]構造。在此分布目標上進行的優(yōu)化等效于將對良性數據相鄰的所有樣本(即對抗樣本的所有候選項)的經驗風險最小化。由于P會影響計算的復雜性,并且難以在任意P上進行直接優(yōu)化,因此文獻[80]使用Wasserstein距離度量和計算效率高的松弛,可求出能處理的集合P,即使J(θ,x,y)不為凸函數也可計算。文獻[89]還提供了對抗訓練方法,其計算性能和統(tǒng)計性能可以利用數學進行證明。在所提出的訓練過程中,文獻[89]引入了一個懲罰項來描述對抗穩(wěn)健性區(qū)域。由于很難對該懲罰項進行優(yōu)化,因此提出了針對該懲罰項的拉格朗日松弛法,從而實現了對分布損失函數的魯棒優(yōu)化。作者還能夠確保魯棒鞍點問題的經驗性最小值,并給出了域適應問題的專門界限,這也為分布魯棒性證明提供了啟發(fā)。
Guo等[92]首先證明了針對FGSM和DeepFool生成的對抗樣本的權重稀疏性和網絡穩(wěn)健性之間的內在聯系。對于線性模型,文獻[92]證明了對抗樣本的優(yōu)化會導致網絡權重的稀疏化。對于非線性神經網絡,文獻[92]應用了文獻[93,94]中確保魯棒性的方法,并證明當權重矩陣較稀疏時,網絡Lipchitz常數傾向于更小。由于研究發(fā)現最小化Lipchitz常數有助于提高網絡的魯棒性[93],因此可以得出結論,稀疏權重也將導致神經網絡更魯棒。文獻[95]還顯示了權重稀疏性對網絡穩(wěn)健性驗證是有益的。作者證明稀疏度可以將計算上難以解決的驗證問題轉變?yōu)橐子诮鉀Q的問題。文獻[95]通過用L1正則化訓練神經網絡來改善權重稀疏性,并發(fā)現權值稀疏性顯著加快了用于網絡魯棒性驗證的線性規(guī)劃(linear programming, LP)求解器[96]。
Wang等[97]首先開發(fā)了一個框架用于分析k最近鄰(KNN)算法的對抗魯棒性。該框架確定了具有不同魯棒性的k的兩個不同狀態(tài)。假設常數為k的KNN在條件概率p(y = 1|x)位于(0, 1)的區(qū)域中,這樣的模型在大樣本限制條件下不具有魯棒性。對于,其中,d是數據維度;n是樣本大小,在大樣本限制條件下,基于KNN的分類的魯棒性區(qū)域接近貝葉斯最佳分類器的魯棒性區(qū)域。由于對于具有高數據維度和大量樣本的真實數據集而言太大,文獻[97]提出了一種有效的1-最近鄰算法。該算法中當反向標記的點相距較遠時,最接近的1個鄰居是魯棒的。基于上述現象,該算法會刪除附近的反向標記點,并保留與其鄰居共享相同標記的點。在MNIST上,對于較小的對抗性擾動(低攻擊半徑),此算法與基于1-最近鄰的分類相比其性能稍遜于其他防御(如對抗訓練的分類器),而在較大攻擊半徑的情況下,其性能優(yōu)于那些防御。Papernot等[98]提出了一種稱為DkNN的基于KNN的防御方法,該方法是對DNN每一層學習的數據表示執(zhí)行KNN算法。KNN算法主要用于估計測試輸入的異常預測。當DNN學習的中間表示與那些和預測共享同一標簽的訓練樣本的表示不接近時,則認為該預測是異常的。實驗表明,在多次對抗攻擊下,尤其是在C&W攻擊下,DkNN可以顯著提高DNN的準確性。
Liu等[99]將貝葉斯神經網絡(Bayesian neural network, BNN)[100]與對抗訓練相結合,從而學習在對抗攻擊下的最優(yōu)模型的權重分布。具體來說,作者假設網絡中的所有權重都是隨機的,并使用BNN理論中常用的技術訓練網絡[100]。通過對抗性訓練,這種隨機的BNN [99],與RSE [69]和CIFAR10以及STL10和ImageNet143的常見的對抗性訓練相比,顯著提高了對抗魯棒性。Schott等[101]建議基于貝葉斯模型對輸入數據的分類條件分布進行建模,并將新樣本分類為相應類別條件模型產生最高似然性的類別。他們將模型命名為Analysis by Synthesis model (ABS)。ABS被稱為MNIST數據集上針對L0、L2和L∞攻擊的第一個穩(wěn)健模型。ABS在抵抗L0和L2攻擊方面達到了最先進的性能,但在L∞的攻擊下其性能要比PGD對抗訓練的模型稍差。
對于諸如音頻識別和圖像語義分割之類的機器學習任務,可以應用一致性信息來區(qū)分良性樣本和對抗性樣本。Xiao等[102]發(fā)現對于語義分割任務,對抗性干擾一個像素也會影響其周圍像素的預測。因此對單個區(qū)塊進行干擾也會破壞其附近元素之間的空間一致性。這種一致性信息可以用于區(qū)分良性和對抗性圖像。作者用自適應攻擊方式對這種基于一致性的防御進行了評估,最終證明了這種防御比其他異常檢測系統(tǒng)具有更好的性能。對于音頻識別任務,Yang等[103]探索了音頻信號的時間一致性,并且還發(fā)現對抗性擾動將破壞時間一致性。對于對抗性音頻信號,信號的一部分平移與整個信號的平移不一致。文獻[103]顯示基于一致性測試的檢測可以在對抗性音頻信號上實現90%以上的檢測率。
從攻擊者的角度來看,白盒攻擊和黑盒攻擊的主要區(qū)別在于它們對目標模型的訪問權限。在白盒攻擊中,攻擊者可以訪問模型的結構和權重,以便他們可以通過文獻[17]中的方法計算真實的模型梯度或近似梯度,此外攻擊者還可以根據防御方法和參數調整其攻擊方法。在這種情況下,以前引入的大多數啟發(fā)式防御實際上無法抵御這種強大的自適應攻擊者。在黑盒攻擊中,模型結構和權重不會被攻擊者知道,在這種情況下,為了使用上述基于梯度的攻擊算法,對手必須從有限的信息中推斷出模型的梯度。在沒有任何特定模型信息的情況下,對模型梯度的無偏估計就是對具有不同隨機種子的一組預訓練模型梯度的期望。文獻[18]使用基于動量梯度的方法進行此梯度估計,并在NIPS2017挑戰(zhàn)賽(在黑盒設置下)中獲得第一名。Chen等[104]研究了另一種黑盒攻擊方法,該方法可以向攻擊者授予額外的查詢訪問權限。因此如果給定精心設計的輸入,攻擊者可以從目標模型的輸出推斷出梯度。在這種設置下,可以應用零階方法來更好地估計模型梯度[104]。但是此方法的缺點是需要進行大量的查詢操作,其查詢量與數據維度成比例。
對抗攻擊的研究趨勢主要包括兩個方向。第一個是設計更有效、更強大的攻擊用來評估新興的防御系統(tǒng),這個方向的重要性很直觀,因為我們希望在潛在對手面前預先了解所有的風險。第二個是實現物理世界中的對抗攻擊。以前對該研究主題的主要疑問是那些對抗性攻擊是否會對物理世界形成真正的威脅。一些研究人員懷疑由于某些環(huán)境因素的影響,最初在數字空間中設計的對抗性攻擊將無效。Kurakin等[6]首先通過使用模型梯度相對于輸入的期望值并加上環(huán)境因素引起的隨機噪聲來實現物理世界中的對抗攻擊。Eykholt等[33]進一步考慮了掩模和制造誤差,從而實現了交通標志的對抗性擾動。最近Cao等[105]成功生成的對抗目標可以用來欺騙基于激光雷達的檢測系統(tǒng),這些都驗證了物理對抗樣本的存在。在防御方面,由于大多數啟發(fā)式防御都無法防御自適應白盒攻擊,因此研究者開始關注可證明的防御,這種防御是指無論攻擊者采用哪種攻擊方式,可證明防御都可以在一定程度下保證防御的性能。但是到目前為止,可擴展性是目前大多數可證明防御所普遍具有的問題。例如,區(qū)間界分析是最近流行的證明式防御方法,但是它不能擴展到非常深的神經網絡和大型數據集。由此可見,與攻擊相比,防御系統(tǒng)的發(fā)展面臨著更多的挑戰(zhàn)。這主要是因為一次攻擊只能針對一類防御,所以防御機理急需被證明,這樣某種防御在某些情況下對所有可能的攻擊才能都有效。
由于DNN具有復雜的非凸性,理論上很難對其進行分析,因此人們開始分析一些簡單的ML模型,如KNN和線性分類器的魯棒性。Wang等[97]指出KNN的穩(wěn)健性在很大程度上依賴于參數k、數據維數d和數據大小n。k必須非常大才能保證KNN像貝葉斯優(yōu)化分類器一樣具有漸近穩(wěn)健性。Fawzi等[106]分析了線性和二階分類器穩(wěn)健性的理論框架,其中模型穩(wěn)健性由能夠引起樣本類別變化的擾動范數平均值來定義。在適用于包括線性和二階在內的大量分類器假設下,模型魯棒性的上界得到了證明。研究表明,與均勻隨機噪聲的魯棒性相比,對抗魯棒性的尺度為O。最近,MLP、CNN和ResNet的魯棒性也被廣泛研究,研究者通過抽象的區(qū)間界分析試圖在給定擾動大小的情況下逐層約束輸出。我們在本次調查中沒有詳細分析,請感興趣的讀者參考文獻[107-109]。
(1)對抗樣本背后的因果關系。雖然提出了許多對抗攻擊方式,但是對抗樣本的因果關系仍不清楚。早期對這一問題的研究將對抗樣本的出現歸功于模型結構和學習方法,研究者認為適當的策略和網絡結構將顯著提高對抗樣本的魯棒性。研究者沿著這種思路嘗試過一些探索,特別是與產生模糊梯度相關的研究,然而實際上這可能是一種不太合理的研究方向[2]。相反,最近的研究發(fā)現對抗性的出現更可能是高維數據幾何[110-112]和訓練數據不足[113]的結果。具體來說,文獻[110-112]證明了對抗性擾動在幾個概念驗證數據集(如{0, 1}n和同心n維球體)上按比例放縮,其中d是數據維度。Ludwig等[113]表明對抗性強的任務比普通的ML任務需要更多的數據,并且所需的數據大小可能以比例放縮。
(2)通用魯棒決策邊界的存在。由于在不同度量標準下定義了許多對抗攻擊方法,一個自然的問題是是否存在由特定訓練策略的某種DNN來學習的通用魯棒決策邊界。當前,這個問題的答案是“否”。盡管PGD對抗訓練對各種L∞攻擊表現出顯著的抵抗力,但文獻[59]表明它仍然容易受到其他Lp范數的對抗攻擊,如EAD和CW2。Khoury等[111]證明了2-同心球面數據集的最優(yōu)L2和L∞決策邊界是不同的,它們的差異隨著數據集的共維(即數據流形的維數與整個數據空間的維數之差)而增大。
(3)有效防御白盒攻擊。我們仍然沒有看到一種能夠很好地平衡效果和效率的防御。在有效性方面,對抗性訓練表現出最好的性能,但計算成本很高。在效率方面,許多基于隨機和去噪的防御/檢測系統(tǒng)的配置只需幾秒鐘。然而,最近的許多論文[17,84,114,115]表明這些防御方法并沒有他們聲稱的那樣有效。這些研究可證明防御理論為實現對抗防御指明了一條道路,但其準確性和有效性都遠遠不能滿足實際要求。
本文綜述了近年來具有代表性的對抗攻擊與對抗防御方法。我們研究了這些方法的思想,還根據最新進展對對抗防御的有效性進行了評論。我們的結論是:近兩年來新的對抗攻擊和防御迅速發(fā)展,同時針對對抗樣本的因果關系、一般魯棒邊界的存在等基本問題還需要深入研究。此外我們還沒有看到一種有效的對抗防御方法,目前最有效的防御是對抗性訓練,但其在實際部署中計算成本太高。許多啟發(fā)式防御都聲稱其是有效的,但這類防御目前還不能抵御自適應性白盒攻擊者的攻擊。簡而言之,要達到有效防御的目標似乎還有很長的路要走。
致謝
本工作得到了“浙江大學-螞蟻金服數據安全實驗室”的支持。
Compliance with ethics guidelines
Kui Ren, Tianhang Zheng, Zhan Qin, and Xue Liu declare that they have no conflict of interest or financial conflicts to disclose.
Appendix A. Supplementary data
Supplementary data to this article can be found online at https://doi.org/10.1016/j.eng.2019.12.012.