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