1 Box-constrained L-BFGS
Szegedy[22] 等人首次證明了可以通過對圖像添加小量的人類察覺不到的擾動誤導神經網絡做出誤分類。他們首先嘗試求解讓神經網絡做出誤分類的最小擾動的方程。
表示一張干凈的圖片,
是一個小的擾動,l是圖像的label,C(`)是深度申請網絡分類器。l和原本圖像的label不一樣。
但由於問題的復雜度太高,他們轉而求解簡化后的問題,即尋找最小的損失函數添加項,使得神經網絡做出誤分類,這就將問題轉化成了凸優化過程。
L(.,.)計算分類器的loss。
2 Fast Gradient Sign Method (FGSM)
Szegedy 等人發現可以通過對抗訓練提高深度神經網絡的魯棒性,從而提升防御對抗樣本攻擊的能力。GoodFellow[23] 等人開發了一種能有效計算對抗擾動的方法。而求解對抗擾動的方法在原文中就被稱為 FGSM。
計算損失函數的梯度,sign符號函數。
是參數。
Miyato et al.[103]:
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]。
指的是第i次的被擾動的圖片,
。
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 進行攻擊,但已證明這種擾動可以泛化到其它網絡上。
圖像從抽樣,
是通用的,滿足(6) 的約束,P(.)表示概率,
是fooling ratio,
表示lp-norm。
是閾值,它的值越小,就越難對圖像施加擾動。
9 UPSET and ANGRI
Sarkar[146] 等人提出了兩個黑箱攻擊算法,UPSET 和 ANGRI。UPSET 可以為特定的目標類別生成對抗擾動,使得該擾動添加到任何圖像時都可以將該圖像分類成目標類別。相對於 UPSET 的「圖像不可知」image-agnostic 擾動,ANGRI 生成的是「圖像特定」image-specific 的擾動。它們都在 MNIST 和 CIFAR 數據集上獲得了高欺騙率。
Upset:
R(.)是殘差生成網絡,類別t作為輸入,produces a perturbation R(t) for fooling. Ic的像素值[-1, 1],s是標量,所有值截斷在[-1, 1]。
10 Houdini
Houdini[131] 是一種用於欺騙基於梯度的機器學習算法的方法,通過生成特定於任務損失函數的對抗樣本實現對抗攻擊,即利用網絡的可微損失函數的梯度信息生成對抗擾動。除了圖像分類網絡,該算法還可以用於欺騙語音識別網絡。
11 Adversarial Transformation Networks (ATNs)
Baluja 和 Fischer[42] 訓練了多個前向神經網絡來生成對抗樣本,可用於攻擊一個或多個網絡。該算法通過最小化一個聯合損失函數來生成對抗樣本,該損失函數有兩個部分,第一部分使對抗樣本和原始圖像保持相似,第二部分使對抗樣本被錯誤分類。
12 Miscellaneous Attacks
這一部分列舉了更多其它的生成對抗樣本的方法,詳情請參見原文。
表 1:以上列舉的各種攻擊方法的屬性總結:「perturbation norm」表示其限制的 p-范數(p-norm)以使對抗擾動對人類不可見或難以察覺。strength 項(*越多,對抗強度越大)基於回顧過的文獻得到的印象。