這篇文章首次展示了在對(duì)抗攻擊領(lǐng)域" title="攻擊領(lǐng)域" target="_blank">攻擊領(lǐng)域的綜合考察。本文是為了比機(jī)器視覺(jué)更廣泛的社區(qū)而寫的,假設(shè)了讀者只有基本的深度學(xué)習(xí)和圖像處理知識(shí)。不管怎樣,這里也為感興趣的讀者討論了有重要貢獻(xiàn)的技術(shù)細(xì)節(jié)。機(jī)器之心重點(diǎn)摘要了第 3 節(jié)的攻擊方法(12 種)和第 6 節(jié)的防御方法(15 種),詳情請(qǐng)參考原文。
盡管深度學(xué)習(xí)在很多計(jì)算機(jī)視覺(jué)領(lǐng)域的任務(wù)上表現(xiàn)出色,Szegedy et al. [22] 第一次發(fā)現(xiàn)了深度神經(jīng)網(wǎng)絡(luò)在圖像分類領(lǐng)域存在有意思的弱點(diǎn)。他們證明盡管有很高的正確率,現(xiàn)代深度網(wǎng)絡(luò)是非常容易受到對(duì)抗樣本的攻擊的。這些對(duì)抗樣本僅有很輕微的擾動(dòng),以至于人類視覺(jué)系統(tǒng)無(wú)法察覺(jué)這種擾動(dòng)(圖片看起來(lái)幾乎一樣)。這樣的攻擊會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)完全改變它對(duì)圖片的分類。此外,同樣的圖片擾動(dòng)可以欺騙好多網(wǎng)絡(luò)分類器。這類現(xiàn)象的深遠(yuǎn)意義吸引了好多研究員在對(duì)抗攻擊和深度學(xué)習(xí)安全性領(lǐng)域的研究。
自從有了 Szegedy 的發(fā)現(xiàn),機(jī)器視覺(jué)領(lǐng)域中陸續(xù)出現(xiàn)了好幾個(gè)有意思的受對(duì)抗攻擊影響的結(jié)果。例如,除了在特定圖像的對(duì)抗性擾動(dòng)之外,Moosavi-Dezfooli et al. [16] 展示了「通用擾動(dòng)(universal perturbations)」的存在(如圖 1 所示),這種通用擾動(dòng)可以讓一個(gè)分類器對(duì)所有圖片錯(cuò)誤分類。同樣的,Athalye et al. [65] 展示了即使用 3D 打印的真實(shí)世界中存在的物體也可以欺騙深度網(wǎng)絡(luò)分類器(如圖 2 所示)??紤]到深度學(xué)習(xí)研究在計(jì)算機(jī)視覺(jué)的重要性和在真實(shí)生活中的潛在應(yīng)用,這篇文章首次展示了在對(duì)抗攻擊領(lǐng)域的綜合考察。這篇文章是為了比機(jī)器視覺(jué)更廣泛的社區(qū)而寫的,假設(shè)了讀者只有基本的深度學(xué)習(xí)和圖像處理知識(shí)。不管怎樣,這里也為感興趣的讀者討論了有重要貢獻(xiàn)的技術(shù)細(xì)節(jié)。
圖 1:三種網(wǎng)絡(luò)的對(duì)抗樣本和原始樣本的對(duì)比,以及錯(cuò)誤分類結(jié)果。
圖 2:3D 打印的對(duì)抗樣本。
第 2 節(jié)里列舉了機(jī)器視覺(jué)中關(guān)于對(duì)抗攻擊的常用術(shù)語(yǔ)。
第 3 節(jié)回顧了針對(duì)圖片分類任務(wù)的對(duì)抗攻擊。
圖 3:?jiǎn)蜗袼毓簟?/p>
第 4 節(jié)單獨(dú)介紹了在實(shí)際生活場(chǎng)景中對(duì)抗攻擊的方法。
圖 4:人臉識(shí)別的對(duì)抗樣本構(gòu)造。
第 5 節(jié)關(guān)注對(duì)抗攻擊的工作焦點(diǎn)和研究方向。
第 6 節(jié)討論了防御對(duì)抗攻擊的文獻(xiàn)。
圖 5:防御通用擾動(dòng)的圖示。
在第 7 章里,我們以討論過(guò)的文獻(xiàn)為基礎(chǔ)的展望了未來(lái)的研究方向。
第 8 章總結(jié)并畫(huà)上結(jié)尾。
論文:Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey
論文地址:https://arxiv.org/abs/1801.00553
深度學(xué)習(xí)正占據(jù)如今飛速發(fā)展的機(jī)器學(xué)習(xí)和人工智能領(lǐng)域的心臟地位。在機(jī)器視覺(jué)領(lǐng)域中,它已經(jīng)變成了從自動(dòng)駕駛到監(jiān)控、安保應(yīng)用中的主力。然而,即便深度網(wǎng)絡(luò)已經(jīng)展示了在處理復(fù)雜問(wèn)題時(shí)所取得的現(xiàn)象級(jí)成功,最近的研究表明它們對(duì)于輸入中帶有的輕微擾動(dòng)是很脆弱的,從而導(dǎo)致錯(cuò)誤的輸出。對(duì)于圖片來(lái)說(shuō),這樣的擾動(dòng)經(jīng)常是太小了從而不能被人類感知,但是它們完全愚弄了深度學(xué)習(xí)模型。對(duì)抗攻擊造成了深度學(xué)習(xí)在實(shí)踐中成功的一系列威脅,進(jìn)而引導(dǎo)了大量的研究進(jìn)入這個(gè)方向。這篇文章展示了第一個(gè)對(duì)抗攻擊在機(jī)器視覺(jué)領(lǐng)域的深度學(xué)習(xí)中的綜合考察。我們回顧了對(duì)抗攻擊設(shè)計(jì)的研究,分析了這些攻擊的存在性以及提出的防御機(jī)制。為了強(qiáng)調(diào)對(duì)抗攻擊在實(shí)際場(chǎng)所中存在,我們獨(dú)立地回顧了實(shí)際場(chǎng)景中的對(duì)抗攻擊。最終,我們引用文獻(xiàn)來(lái)展望更廣闊的研究方向。
3.1 對(duì)分類網(wǎng)絡(luò)的攻擊
本節(jié)列舉了 12 種生成對(duì)抗樣本的方法,專門針對(duì)分類網(wǎng)絡(luò)。
1 Box-constrained L-BFGS
Szegedy[22] 等人首次證明了可以通過(guò)對(duì)圖像添加小量的人類察覺(jué)不到的擾動(dòng)誤導(dǎo)神經(jīng)網(wǎng)絡(luò)做出誤分類。他們首先嘗試求解讓神經(jīng)網(wǎng)絡(luò)做出誤分類的最小擾動(dòng)的方程。但由于問(wèn)題的復(fù)雜度太高,他們轉(zhuǎn)而求解簡(jiǎn)化后的問(wèn)題,即尋找最小的損失函數(shù)添加項(xiàng),使得神經(jīng)網(wǎng)絡(luò)做出誤分類,這就將問(wèn)題轉(zhuǎn)化成了凸優(yōu)化過(guò)程。
2 Fast Gradient Sign Method (FGSM)
Szegedy 等人發(fā)現(xiàn)可以通過(guò)對(duì)抗訓(xùn)練提高深度神經(jīng)網(wǎng)絡(luò)的魯棒性,從而提升防御對(duì)抗樣本攻擊的能力。GoodFellow[23] 等人開(kāi)發(fā)了一種能有效計(jì)算對(duì)抗擾動(dòng)的方法。而求解對(duì)抗擾動(dòng)的方法在原文中就被稱為 FGSM。
Kurakin[80] 等人提出了 FGSM 的「one-step target class」的變體。通過(guò)用識(shí)別概率最小的類別(目標(biāo)類別)代替對(duì)抗擾動(dòng)中的類別變量,再將原始圖像減去該擾動(dòng),原始圖像就變成了對(duì)抗樣本,并能輸出目標(biāo)類別。
3 Basic & Least-Likely-Class Iterative Methods
one-step 方法通過(guò)一大步運(yùn)算增大分類器的損失函數(shù)而進(jìn)行圖像擾動(dòng),因而可以直接將其擴(kuò)展為通過(guò)多個(gè)小步增大損失函數(shù)的變體,從而我們得到 Basic Iterative Methods(BIM)[35]。而該方法的變體和前述方法類似,通過(guò)用識(shí)別概率最小的類別(目標(biāo)類別)代替對(duì)抗擾動(dòng)中的類別變量,而得到 Least-Likely-Class Iterative Methods[35]。
4 Jacobian-based Saliency Map Attack (JSMA)
對(duì)抗攻擊文獻(xiàn)中通常使用的方法是限制擾動(dòng)的 l_∞或 l_2 范數(shù)的值以使對(duì)抗樣本中的擾動(dòng)無(wú)法被人察覺(jué)。但 JSMA[60] 提出了限制 l_0 范數(shù)的方法,即僅改變幾個(gè)像素的值,而不是擾動(dòng)整張圖像。
5 One Pixel Attack
這是一種極端的對(duì)抗攻擊方法,僅改變圖像中的一個(gè)像素值就可以實(shí)現(xiàn)對(duì)抗攻擊。Su[68] 等人使用了差分進(jìn)化算法,對(duì)每個(gè)像素進(jìn)行迭代地修改生成子圖像,并與母圖像對(duì)比,根據(jù)選擇標(biāo)準(zhǔn)保留攻擊效果最好的子圖像,實(shí)現(xiàn)對(duì)抗攻擊。這種對(duì)抗攻擊不需要知道網(wǎng)絡(luò)參數(shù)或梯度的任何信息。
6 Carlini and Wagner Attacks (C&W)
Carlini 和 Wagner[36] 提出了三種對(duì)抗攻擊方法,通過(guò)限制 l_∞、l_2 和 l_0 范數(shù)使得擾動(dòng)無(wú)法被察覺(jué)。實(shí)驗(yàn)證明 defensive distillation 完全無(wú)法防御這三種攻擊。該算法生成的對(duì)抗擾動(dòng)可以從 unsecured 的網(wǎng)絡(luò)遷移到 secured 的網(wǎng)絡(luò)上,從而實(shí)現(xiàn)黑箱攻擊。
7 DeepFool
Moosavi-Dezfooli 等人 [72] 通過(guò)迭代計(jì)算的方法生成最小規(guī)范對(duì)抗擾動(dòng),將位于分類邊界內(nèi)的圖像逐步推到邊界外,直到出現(xiàn)錯(cuò)誤分類。作者證明他們生成的擾動(dòng)比 FGSM 更小,同時(shí)有相似的欺騙率。
8 Universal Adversarial Perturbations
諸如 FGSM [23]、 ILCM [35]、 DeepFool [72] 等方法只能生成單張圖像的對(duì)抗擾動(dòng),而 Universal Adversarial Perturbations[16] 能生成對(duì)任何圖像實(shí)現(xiàn)攻擊的擾動(dòng),這些擾動(dòng)同樣對(duì)人類是幾乎不可見(jiàn)的。該論文中使用的方法和 DeepFool 相似,都是用對(duì)抗擾動(dòng)將圖像推出分類邊界,不過(guò)同一個(gè)擾動(dòng)針對(duì)的是所有的圖像。雖然文中只針對(duì)單個(gè)網(wǎng)絡(luò) ResNet 進(jìn)行攻擊,但已證明這種擾動(dòng)可以泛化到其它網(wǎng)絡(luò)上。
9 UPSET and ANGRI
Sarkar[146] 等人提出了兩個(gè)黑箱攻擊算法,UPSET 和 ANGRI。UPSET 可以為特定的目標(biāo)類別生成對(duì)抗擾動(dòng),使得該擾動(dòng)添加到任何圖像時(shí)都可以將該圖像分類成目標(biāo)類別。相對(duì)于 UPSET 的「圖像不可知」擾動(dòng),ANGRI 生成的是「圖像特定」的擾動(dòng)。它們都在 MNIST 和 CIFAR 數(shù)據(jù)集上獲得了高欺騙率。
10 Houdini
Houdini[131] 是一種用于欺騙基于梯度的機(jī)器學(xué)習(xí)算法的方法,通過(guò)生成特定于任務(wù)損失函數(shù)的對(duì)抗樣本實(shí)現(xiàn)對(duì)抗攻擊,即利用網(wǎng)絡(luò)的可微損失函數(shù)的梯度信息生成對(duì)抗擾動(dòng)。除了圖像分類網(wǎng)絡(luò),該算法還可以用于欺騙語(yǔ)音識(shí)別網(wǎng)絡(luò)。
11 Adversarial Transformation Networks (ATNs)
Baluja 和 Fischer[42] 訓(xùn)練了多個(gè)前向神經(jīng)網(wǎng)絡(luò)來(lái)生成對(duì)抗樣本,可用于攻擊一個(gè)或多個(gè)網(wǎng)絡(luò)。該算法通過(guò)最小化一個(gè)聯(lián)合損失函數(shù)來(lái)生成對(duì)抗樣本,該損失函數(shù)有兩個(gè)部分,第一部分使對(duì)抗樣本和原始圖像保持相似,第二部分使對(duì)抗樣本被錯(cuò)誤分類。
12 Miscellaneous Attacks
這一部分列舉了更多其它的生成對(duì)抗樣本的方法,詳情請(qǐng)參見(jiàn)原文。
表 1:以上列舉的各種攻擊方法的屬性總結(jié):「perturbation norm」表示其限制的 p-范數(shù)(p-norm)以使對(duì)抗擾動(dòng)對(duì)人類不可見(jiàn)或難以察覺(jué)。strength 項(xiàng)(*越多,對(duì)抗強(qiáng)度越大)基于回顧過(guò)的文獻(xiàn)得到的印象。
3.2 分類/識(shí)別場(chǎng)景以外的對(duì)抗攻擊
除了 Houdini 這個(gè)例外, 在 3.1 節(jié)中概述的所有主流對(duì)抗攻擊直接針對(duì)于分類任務(wù)——欺騙基于 CNN 的分類器。然而,因?yàn)閷?duì)抗性威脅的嚴(yán)重性,對(duì)抗攻擊的研究已經(jīng)超越了分類/識(shí)別場(chǎng)景。文中概述了以下分類應(yīng)用領(lǐng)域之外的攻擊深度神經(jīng)網(wǎng)絡(luò)的方法:
在自編碼器和生成模型上的攻擊
在循環(huán)神經(jīng)網(wǎng)絡(luò)上的攻擊
深度強(qiáng)化學(xué)習(xí)上的攻擊
在語(yǔ)義切割和物體檢測(cè)上的攻擊
目前,在對(duì)抗攻擊防御上存在三個(gè)主要方向:
1)在學(xué)習(xí)過(guò)程中修改訓(xùn)練過(guò)程或者修改的輸入樣本。
2)修改網(wǎng)絡(luò),比如:添加更多層/子網(wǎng)絡(luò)、改變損失/激活函數(shù)等。
3)當(dāng)分類未見(jiàn)過(guò)的樣本時(shí),用外部模型作為附加網(wǎng)絡(luò)。
第一個(gè)方法沒(méi)有直接處理學(xué)習(xí)模型。另一方面,另外兩個(gè)分類是更加關(guān)心神經(jīng)網(wǎng)絡(luò)本身的。這些方法可以被進(jìn)一步細(xì)分為兩種類型:(a)完全防御;(b)僅探測(cè)(detection only)?!竿耆烙狗椒ǖ哪繕?biāo)是讓網(wǎng)絡(luò)將對(duì)抗樣本識(shí)別為正確的類別。另一方面,「僅探測(cè)」方法意味著在對(duì)抗樣本上發(fā)出報(bào)警以拒絕任何進(jìn)一步的處理。詳細(xì)的分類在圖 9 中展示了。剩下的章節(jié)是按這個(gè)分類來(lái)整理的。
圖 9:防御對(duì)抗攻擊的方法分類。
6.1 修改訓(xùn)練過(guò)程/ 輸入數(shù)據(jù)
1 蠻力對(duì)抗訓(xùn)練
通過(guò)不斷輸入新類型的對(duì)抗樣本并執(zhí)行對(duì)抗訓(xùn)練,從而不斷提升網(wǎng)絡(luò)的魯棒性。為了保證有效性,該方法需要使用高強(qiáng)度的對(duì)抗樣本,并且網(wǎng)絡(luò)架構(gòu)要有充足的表達(dá)能力。這種方法需要大量的訓(xùn)練數(shù)據(jù),因而被稱為蠻力對(duì)抗訓(xùn)練。很多文獻(xiàn)中提到這種蠻力的對(duì)抗訓(xùn)練可以正則化網(wǎng)絡(luò)以減少過(guò)擬合 [23,90]。然而,Moosavi-Dezfooli[16] 指出,無(wú)論添加多少對(duì)抗樣本,都存在新的對(duì)抗攻擊樣本可以再次欺騙網(wǎng)絡(luò)。
2 數(shù)據(jù)壓縮
注意到大多數(shù)訓(xùn)練圖像都是 JPG 格式,Dziugaite[123] 等人使用 JPG 圖像壓縮的方法,減少對(duì)抗擾動(dòng)對(duì)準(zhǔn)確率的影響。實(shí)驗(yàn)證明該方法對(duì)部分對(duì)抗攻擊算法有效,但通常僅采用壓縮方法是遠(yuǎn)遠(yuǎn)不夠的,并且壓縮圖像時(shí)同時(shí)也會(huì)降低正常分類的準(zhǔn)確率,后來(lái)提出的 PCA 壓縮方法也有同樣的缺點(diǎn)。
3 基于中央凹機(jī)制的防御
Luo[119] 等人提出用中央凹(foveation)機(jī)制可以防御 L-BFGS 和 FGSM 生成的對(duì)抗擾動(dòng),其假設(shè)是圖像分布對(duì)于轉(zhuǎn)換變動(dòng)是魯棒的,而擾動(dòng)不具備這種特性。但這種方法的普遍性尚未得到證明。
4 數(shù)據(jù)隨機(jī)化方法
Xie[115] 等人發(fā)現(xiàn)對(duì)訓(xùn)練圖像引入隨機(jī)重縮放可以減弱對(duì)抗攻擊的強(qiáng)度,其它方法還包括隨機(jī) padding、訓(xùn)練過(guò)程中的圖像增強(qiáng)等。
6.2 修改網(wǎng)絡(luò)
5 深度壓縮網(wǎng)絡(luò)
人們觀察到簡(jiǎn)單地將去噪自編碼器(Denoising Auto Encoders)堆疊到原來(lái)的網(wǎng)絡(luò)上只會(huì)使其變得更加脆弱,因而 Gu 和 Rigazio[24] 引入了深度壓縮網(wǎng)絡(luò)(Deep Contractive Networks),其中使用了和壓縮自編碼器(Contractive Auto Encoders)類似的平滑度懲罰項(xiàng)。
6 梯度正則化/ masking
使用輸入梯度正則化以提高對(duì)抗攻擊魯棒性 [52],該方法和蠻力對(duì)抗訓(xùn)練結(jié)合有很好的效果,但計(jì)算復(fù)雜度太高。
7 Defensive distillation
distillation 是指將復(fù)雜網(wǎng)絡(luò)的知識(shí)遷移到簡(jiǎn)單網(wǎng)絡(luò)上,由 Hinton[166] 提出。Papernot[38] 利用這種技術(shù)提出了 Defensive distillation,并證明其可以抵抗小幅度擾動(dòng)的對(duì)抗攻擊。
8 生物啟發(fā)的防御方法
使用類似與生物大腦中非線性樹(shù)突計(jì)算的高度非線性激活函數(shù)以防御對(duì)抗攻擊 [124]。另外一項(xiàng)工作 Dense Associative Memory 模型也是基于相似的機(jī)制 [127]。
9 Parseval 網(wǎng)絡(luò)
在一層中利用全局 Lipschitz 常數(shù)加控制,利用保持每一層的 Lipschitz 常數(shù)來(lái)擺脫對(duì)抗樣本的干擾。
10 DeepCloak
在分類層(一般為輸出層)前加一層特意為對(duì)抗樣本訓(xùn)練的層。它背后的理論認(rèn)為在最顯著的層里包含著最敏感的特征。
11 混雜方法
這章包含了多個(gè)人從多種角度對(duì)深度學(xué)習(xí)模型的調(diào)整從而使模型可以抵抗對(duì)抗性攻擊。
12 僅探測(cè)方法
這章介紹了 4 種網(wǎng)絡(luò),SafetyNet,Detector subnetwork,Exploiting convolution filter statistics 及 Additional class augmentation。
SafetyNet 介紹了 ReLU 對(duì)對(duì)抗樣本的模式與一般圖片的不一樣,文中介紹了一個(gè)用 SVM 實(shí)現(xiàn)的工作。
Detector subnetwork 介紹了用 FGSM, BIM 和 DeepFool 方法實(shí)現(xiàn)的對(duì)對(duì)抗樣本免疫的網(wǎng)絡(luò)的優(yōu)缺點(diǎn)。
Exploiting convolution filter statistics 介紹了同 CNN 和統(tǒng)計(jì)學(xué)的方法做的模型在分辨對(duì)抗樣本上可以有 85% 的正確率。
6.3 使用附加網(wǎng)絡(luò)
13 防御通用擾動(dòng)
利用一個(gè)單獨(dú)訓(xùn)練的網(wǎng)絡(luò)加在原來(lái)的模型上,從而達(dá)到不需要調(diào)整系數(shù)而且免疫對(duì)抗樣本的方法。
14 基于 GAN 的防御
用 GAN 為基礎(chǔ)的網(wǎng)絡(luò)可以抵抗對(duì)抗攻擊,而且作者提出在所有模型上用相同的辦法來(lái)做都可以抵抗對(duì)抗樣本。
15 僅探測(cè)方法
介紹了 Feature Squeezing、MagNet 以及混雜的辦法。
Feature Squeezing 方法用了兩個(gè)模型來(lái)探查是不是對(duì)抗樣本。后續(xù)的工作介紹了這個(gè)方法對(duì) C&W 攻擊也有能接受的抵抗力。
MagNet:作者用一個(gè)分類器對(duì)圖片的流行(manifold)測(cè)量值來(lái)訓(xùn)練,從而分辨出圖片是不是帶噪聲的。
混雜方法(Miscellaneous Methods):作者訓(xùn)練了一個(gè)模型,把所有輸入圖片當(dāng)成帶噪聲的,先學(xué)習(xí)怎么去平滑圖片,之后再進(jìn)行分類。
以下是機(jī)器之心報(bào)道過(guò)的對(duì)抗攻擊的案例:
既能欺騙機(jī)器,也能迷惑人類!Goodfellow 等人提出新一代對(duì)抗樣本
學(xué)界 | 幾張貼紙就讓神經(jīng)網(wǎng)絡(luò)看不懂道路標(biāo)志,伯克利為真實(shí)環(huán)境生成對(duì)抗樣本
學(xué)界 | 神奇的面包機(jī)!谷歌造出對(duì)抗樣本的實(shí)體版
學(xué)界 | 繼圖像識(shí)別后,圖像標(biāo)注系統(tǒng)也被對(duì)抗樣本攻陷!
修改一個(gè)像素,就能讓神經(jīng)網(wǎng)絡(luò)識(shí)別圖像出錯(cuò)