對抗樣本(一)以綜述入門

文章目錄

一、論文相關信息

  1.論文題目

    Adversarial Examples: Attacks and Defenses for Deep Learning

  2.論文時間

    2017年

  3.論文文獻

    https://arxiv.org/abs/1712.07107

二、論文背景及簡介

  隨着深度學習的快速發展與巨大成功,深度學習被應用在許多對安全有嚴格要求的環境中。然而,深度神經網絡近來被發現,對於精心設計好的輸入樣本,其是脆弱的,這種樣本就被稱爲對抗樣本。對抗樣本對人類是很容易分辨的,但卻能在測試或部署階段,很容易的糊弄深度神經網絡。當應用深度神經網絡到對安全有嚴格要求的環境中時,處理對抗樣本造成的脆弱性變成已成了一個重要的任務。因此對抗樣本的攻擊防禦吸引了很大的注意。

​ 這是一篇17年的對抗樣本的綜述,用來對對抗樣本領域的基本知識進行一定程度的瞭解。

​ 注:篇幅較長。

三、論文的主要內容

     1、系統的分析生成對抗樣本的方法,在不同的維度對攻擊方法進行分類,並用易懂的直觀的方式展現出來

     2、觀察近來的一些生成對抗樣本的方法以及他們的變量,使用已經提供的分類法來比較它們。同時,展示了強化學習、生成建模、人臉識別、目標檢測、語義分割、自然語言處理和惡意軟件檢測等領域的應用實例

    3、基於對抗性實例的可轉移性、對抗性實例的存在性和深度神經網絡的健壯性評價,概述了對抗性實例的主要挑戰和潛在的未來研究方向。

    PS:對抗樣本的遷移性的含義:能夠迷惑一個模型的對抗樣本通常也能夠迷惑另外一種結構的模型,即便那個模型用不同的訓練集訓練,甚至用不同的訓練方法(CNN的對抗樣本也能迷惑決策樹)。

    對抗樣本的遷移效應使得黑箱對抗攻擊成爲可能。

四、論文的安排

      Section Ⅱ:介紹了深度學習的技術、模型、數據集的背景,討論了傳統的機器學習中的對抗樣本例子

      Section Ⅲ:闡述了對抗樣本的分類方法(對抗樣本術語介紹)

      Section Ⅳ:詳盡闡述了這些生成對抗樣本的方法(對抗攻擊方法)

      Section Ⅴ:討論了對抗樣本例子的應用(一些其他領域的對抗樣本例子)

      Section Ⅵ:相應的對抗樣本例子的對策被討論(對抗防禦)

      Section Ⅶ:討論了目前的挑戰和潛在的解決方案

      Section Ⅷ:總結了工作

五、論文的主要內容

 Section Ⅱ 簡介

    A. 簡要的介紹了深度學習,包括深度學習的概念、結構、數據集

    B. 簡要的陳述了ML中的對抗樣本及解決方案


 Section Ⅲ 術語介紹

     將生成對抗樣本的方法按三個維度進行分類,威脅模型(threat model), 擾動(perturbation), 基準( benchmark)

    A.Threat model

      對其又分成四個方面adversarial falsification, adversary’s knowledge, adversarial specificity, and attack frequency

      1、Adversarial Falsification

          分成假正例攻擊(False positive attacks)和假反例攻擊(False negative attacks)

          假正例攻擊是生成一個反例,讓模型誤認爲正例

          假反例攻擊是生成一個正例,讓模型誤認爲反例

      2、Adversary’s Knowledge

          分成白盒攻擊(White-box attacks)和黑盒攻擊(Black-box attacks)

          白盒攻擊假定攻擊者可以完全訪問他們正在攻擊的神經網絡模型的結構和參數,包括訓練數據,模型結構,超參數情況,層的數目,激活函數,模型權重等。

          黑盒攻擊假定攻擊者不能訪問他們正在攻擊的神經網絡模型的結構和參數,只知道模型的輸出(label or condidnece)。白盒攻擊樣本可以通過一些方法轉換成黑盒攻擊的方式。

      3、Adversarial Specificity

          分成有目標攻擊(Targeted attacks)和無目標攻擊(Non-targeted attacks)

          目標攻擊是神經網絡將生成的對抗樣本分類成一個特定的類。目標攻擊通常最大化目標類的可能性。

          無目標攻擊,只要神經網絡判定的label與原label不同即認爲攻擊成功。無目標攻擊中的對抗樣本生成方式大致有兩種,一爲運行幾個目標攻擊,取最小的擾動的那一個爲對抗樣本;二爲最小化正確的類的分類可能性。

      4、Attack Frequency

          分成有單步攻擊(One-time attacks)和迭代攻擊(Iterative attacks)

          單步攻擊,只需優化一次即可生成對抗樣本

          迭代攻擊,迭代的進行優化來生成對抗樣本。比單步攻擊效果更好,但花費更多的計算時間。


    B.Perturbation

      分析了擾動的三個方面perturbation scope, perturbation limitation, and perturbation measurement

      1、Perturbation scope

          分成個體攻擊(Individual attacks)和普適性攻擊(Universal attacks)

          個體攻擊對於每一個不同的原始輸入應用不同的擾動

          普適性攻擊對整個數據集應用一個通用的擾動

          現在大多數的攻擊策略都是個體攻擊,但是普適性攻擊會讓部署到現實世界更加容易。

      2、Perturbation limitation

          分成優化擾動(Optimized Perturbation)和普適性攻擊(Constraint Perturbation)

          優化擾動是把擾動作爲優化問題的目標。爲了最小化擾動來讓人類無法辨別出擾動

          普適性攻擊是將擾動作爲優化問題的約束條件。只要求擾動足夠小。

      3、Perturbation measurement

          分成lp measure和Psychometric perceptual adversarial similarity score (PASS)

          l0 l2 l∞,是三種常用的評價標準。l0計算對抗樣本中改變的像素的數目。l2測量對抗樣本與原始樣本的歐氏距離。l∞表示對抗樣本中所有像素的最大改變值

          PASS是一種新的評價標準,符合人類的感知


    C.Perturbation

      1、Datasets

          MNIST, CIFAR-10, and ImageNet是3中最常用的數據集。MNIST, CIFAR-10因爲簡單且數目少,所以比較容易去攻擊和防禦。ImageNet是至今最好的數據集去評價對抗攻擊。

      1、Victim Models

          LeNet, VGG, AlexNet, GoogLeNet, CaffeNet, and ResNet. 比較常用。


 Section Ⅳ 對抗攻擊方法

      本節闡述了幾個典型的生成對抗樣本方法。通過這些方法來說明對抗攻擊如何被提升,以及當時的SOTA的對抗攻擊能達到什麼程度。
xxllη 在以下的公式中,x代表原始圖像。x'代表對抗樣本。\\ l代表原始標籤,l’代表對抗樣本的標籤。\\ \eta代表擾動

      1、L-BFGS

        Szegedy 等人在2014年首次提出了使用對抗樣本攻擊深度神經網絡。他們通過L-BFGS 方法產生對抗樣本,方法如下:
min x  cη+Jθ(x,l)s.t.     x[0,1] min\ x'\ \ c||\eta||+J_\theta(x',l') \\ s.t. \ \ \ \ \ x' \in[0,1]
        爲了找到適合的常量C,L-BFGS算法通過線性搜索C > 0的所有情況,找到C 的近似值。實驗表明,生成的對抗樣本也可以推廣到不同的模型和不同的訓練數據集中。


      2、Fast Gradient Sign Method (FGSM)

        L-BFGS方法中使用的線性搜索方法代價很高並且是不切實際的。Goodfellow等人提出了一種快速的方法,叫做FGSM。他們在每一個像素上僅僅執行了一步沿着梯度符號方向上的梯度更新。他們的擾動形式爲
η=ϵsign(xJθ(x,l))   ϵ \eta = \epsilon sign(\bigtriangledown_xJ_\theta(x,l)) \ \ \ \epsilon代表擾動的大小\\
        最後  x=x+η\ \ x' = x + \eta 。這個擾動,是通過反向傳播過程來計算的

在這裏插入圖片描述

        作者發現,高維神經網絡的線性部分無法抵抗對抗樣本。因此,一些正則化可以被用於深度神經網絡。且,預訓練不能夠增加網絡的魯棒性。FGSM是一種無目標攻擊。


        1、FGSM的改進方法之Fast Gradient Value method

          在該改進方法中用 η=xJ(θ,x,l)\ \eta=\bigtriangledown_x J(\theta,x,l) 替換原來的擾動。由於該方法沒有常量,所以會生成具有較大差異的圖像。


        2、FGSM的改進方法之One-step Target Class Method (OTCM)

          在該方法中,作者認爲單步攻擊是很容易遷移但是也很容易防禦。所以將動量的思想放入FGSM中,來迭代的生成對抗樣本。每次迭代的梯度計算公式爲:
gt+1=μgt+xJθ(xt,l)xJθ(xt,l) g_{t+1} = \mu g_t + \frac{\bigtriangledown_xJ_\theta(x'_t,l)}{||\bigtriangledown_xJ_\theta(x'_t,l)||}
          然後,對抗樣本通過公式 xt+1=xt+ϵsign(gt+1)\ x'_{t+1} = x'_t + \epsilon sign(g_{t+1}) 獲得。該方法通過引入動量提高了攻擊的有效性,通過使用單步攻擊和壓縮方法提高了其遷移性

          同時,該方法將FGSM拓展到了目標攻擊,其公式如下:
x=xϵsign(xJθ(θ,x,l)) x' = x - \epsilon sign(\bigtriangledown_xJ_\theta(\theta,x,l'))

        3、FGSM的改進方法之RAND-FGSM

          作者發現,因爲gradient masking,FGSM對白盒攻擊的魯棒性更好。所以,作者提出了隨機FGSM,在更新對抗樣本時,對樣本增加隨機值來進行對抗樣本的防禦。公式如下:
xtmp=x+αsign(N(0d,Id)),x=xtmp+(ϵα)sign(xtmpJ(xtmp,l))α,ϵα<ϵ x_{tmp} = x + \alpha·sign(N(0^d,I^d)),\\ x' = x_{tmp} + (\epsilon - \alpha)·sign(\bigtriangledown_{x_{tmp}}J(x_{tmp},l))\\ 在這裏\alpha,\epsilon時變量,並且\alpha<\epsilon

      3、Basic Iterative Method (BIM)

        之前的方法是假定數據能夠直接被送入神經網絡中。然而,在很多情況下,人們只能依靠一些設備例如照相機、傳感器來傳送數據。Kurakin等人將對抗樣本應用到現實世界中。他們對FGSM做了一點點小的改變,使用了一個更好的優化方式(多次迭代)。在每次迭代過程中,他們會限制像素值來避免過大。
Clipx,ξ{x}=min{255,x+ξ,max{0,xϵ,x}} Clip_{x,\xi} \{x'\} = min\{255,x+\xi,max\{0,x-\epsilon,x'\}\}
        在這裏 Clipx,ξ{x}\ Clip_{x,\xi} \{x'\} 函數限制了在每次迭代過程中的對抗樣本的改變的大小。對抗樣本通過多次迭代產生:
x0=x,xn+1=Clipx,ξ{xn+ϵsign(xJ(xn,y))} x_0 = x,\\ x_{n+1} =Clip_{x,\xi} \{x_n + \epsilon sign(\bigtriangledown _xJ(x_n,y))\}

      4、 Iterative Least-Likely Class Method (ILLC)

        該方法時BIM的拓展,將BIM拓展到了目標攻擊,使用與原始標籤最不像的類作爲目標,通過最大化交叉熵損失函數的方法來實現。
x0=x,yLL=argminy{p(yx)}xn+1=Clipx,ξ{xn+ϵsign(xJ(xn,yLL))} x_0 = x,\\ y_{LL} = argmin_y\{p(y|x)\}\\ x_{n+1} =Clip_{x,\xi} \{x_n + \epsilon sign(\bigtriangledown _xJ(x_n,y_{LL}))\}
        他們成功的用一張手機拍攝的精心製作的圖片欺騙了神經網絡。他們也發現FGSM對光轉化的魯棒性更好,而迭代性方法不能夠抵擋光轉化


      5、Jacobian-based Saliency Map Attack (JSMA)

        Papernot等人計算了原始樣本x的Jacobian矩陣,計算方法如下:
JF(x)=F(x)x=[Fj(x)xi]ij J_F(x) = \frac{\partial F(x)}{\partial x} = [\frac{\partial F_j(x)}{\partial x_i}]_{i*j}
         F\ F表示第2層到最後一層神經網絡(剛開始最後一層使用的logit,之後被修改成softmax)。

        通過這種方法,他們發現樣本x的輸入特徵會對輸出有着最顯著的影響。那麼,一個被設計好的小的擾動就能夠引起輸出的較大改變,這樣,一個小的特徵的改變就能夠欺騙神經網絡。

        然後,作者定義了兩個對抗性的saliency maps來選擇在每次迭代過程中被創建的特徵\像素。他們實現了97%的攻擊成功率,每個樣本卻只改變了4.02%的的輸入特徵。但是,由於計算Jacobian矩陣很慢,因此這個方法運行的太慢了。


      6、DeepFool

        Moosavi-Dezfooli等人提出了DeppFool來尋找從原始輸入到對抗樣本決策邊界最近的距離。爲了克服高維中的非線性,他們用線性估計執行迭代攻擊。從仿射分類器開始,他們發現,一個仿射分類器的最小擾動是到分類超平面 F={x:wTx+b=0}\ F = \{x:w^T x +b =0\}的距離。一個仿射分類器 f\ f 的擾動可能是 η(x)=f(x)w2w\ \eta^*(x) = -\frac{f(x)}{||w||^2}w

        如果分類器 f\ f是一個二分類器,他們使用一種迭代的方法來估計擾動,並考慮在每次迭代過程中 f\ f 是關於 xi\ x_i 是線性的。最小的擾動的計算方法如下:
argminηi   ηi2s.t.  f(xi)+f(xi)Tηi=0 argmin_{\eta_i} \ \ \ ||\eta_i||_2\\ s.t.\ \ f(x_i)+\bigtriangledown f(x_i)^T \eta_i = 0
        這個結果可以通過找到最近的超平面的方法拓展到多分類任務。這也可以拓展到更普遍的$\ l_p $ 正則化。相比於FGSM和JSMA,DeepFool提供了更少的擾動。相比於JSMA,DeepFool降低了擾動的強度而不是選中的特徵的數目。


      7、CPPN EA Fool

        Nguyen等人發現了一個新的攻擊類型,compositional pattern-producing network-encoded EA (CPPN EA),在該方法中,一個不能夠被人類識別是什麼種類的對抗樣本可以被深度神經網絡以很高的置信度分成一個類。我們把這種方法分類爲假正例攻擊。

        他們使用進化算法(EA)來生成對抗樣本。爲了解決使用EA算法的多分類任務,使用了multi- dimensional archive of phenotypic elites MAP-Elites(目前博主不清楚是啥)。作者首次用兩種不同的方法編碼圖片,直接編碼(灰度或HSV值)和間接編碼(合成模式生成網絡,CPPN)。在每次迭代過程中MAP-Elites就像普通的進化算法一樣,選擇一個隨機的有機體,隨機的變換他們,如果新的這個更健壯(有着更高的關於某類的可能性),就取代舊的那個有機體。通過這種方式,MAP-Elites可以在每個類中找到最好的個體。對許多對抗樣本來說,CPPN就像JSMA一樣,可以找到關鍵特徵來改變深度神經網絡的輸出。同一進化過程中的許多圖像在密切相關的類別上都是相似的。

在這裏插入圖片描述


      8、C&W’s Attack

        Carlini and Wagner爲了攻擊防禦蒸餾(Defensive distillation)網絡,提出了幾種方法。他們研究發現,C&W’s Attack對大多數現存的防禦方法都是有效的。

        第一、他們首先定義了一個新的目標函數g,同時滿足
minη    ηp+cg(x+η)s.t.   x+η[0,1]n min_\eta \ \ \ \ ||\eta||_p + c · g(x+\eta) \\ s.t. \ \ \ x + \eta \in [0,1]^n
並且, f(x)=lg(x)0\ 當且僅當f(x')=l'時g(x') \ge 0。用這種方式,距離和懲罰條件可以得到更好的優化。作嘔這列舉了7個目標函數g,通過實驗憑據,有效的函數之一是:
g(x)=max(maxil(Z(x)i)Z(x)t,k) g(x') = max(max_{i\neq l'}(Z(x')_i) - Z(x')_t,-k)
 Z\ Z 表示Softmax, k\ k 是一個常數,用來控制置信度,在論文中 k\ k 置0。

        第二,相比於使用box約束來尋找最小擾動的L-BFGS攻擊方法,作者引入了一個新的變量 w\ w 來避免box約束,其中 w 滿 η=12(tanh(w)+1)x\ w\ 滿足 \ \eta =\frac{1}{2}(tanh(w)+1) - x 。在深度學習中通用的優化器,像Adam和SGD,被用來生成對抗樣本,執行了20個迭代,通過二值搜索找到最優值c。但是,他們發現,如果 η  g(x+η)\ ||\eta|| \ 和\ g(x+\eta) 的梯度不在同一範圍,那麼在梯度迭代搜索過程中找到一個合適的常量c是很困難的。因爲這個原因,他們提出的目標函數g中的兩個,就找不到優化方案。

        第三,三種擾動的距離測量方法在論文中被討論, l0,l2,l\ l_0,l_2,l_\infty 。作者基於距離測量方法提出了三種攻擊方式, l0,l2,l\ l_0攻擊,l_2攻擊,l_\infty攻擊

         l2\ l_2 攻擊 可以將上文中描述的目標函數描述爲:
minw 12(tanh(w)+1)2+cg(12(tanh(w)+1)) min_w \ ||\frac{1}{2}(tanh(w) + 1)||_2 + c·g(\frac{1}{2}(tanh(w) + 1))
作者表示,蒸餾網絡不能抵禦  l2\ l_2攻擊

         l0\ l_0攻擊 是迭代進行的,因爲 l0\ l_0 是不可微的。在每次迭代過程中,一些像素被認爲是不重要的,然後被移除。像素的重要性取決於 l2\ l_2 距離的梯度。如果剩下的像素不能夠生成一個對抗樣本的時候,迭代停止。

         l\ l_\infty攻擊 也是一個迭代的攻擊方式,在每次迭代的過程中用一個新的懲罰方式取代 l2\ l_2 條件:
min   cg(x+η)+i[(ηiτ)+] min \ \ \ c·g(x+\eta) + \sum_i [(\eta_i - \tau)^+]
在每次迭代過程中, 會以0.9的因子,減少 τ\ \tau ,如果所有的 ηi<τ\ \eta_i < \tau l\ l_\infty 攻擊把 τ\ \tau 認爲 l\ l_\infty 的評估方式。


      9、Zeroth Order Optimization (ZOO)

        Chen等人提出了Zeroth Order Optimization (ZOO),這種攻擊方法不需要梯度,所以它可以直接的部署到黑盒攻擊中,而不需要模型遷移。作者修改g函數爲一種像hinge loss的損失函數:
g(x)=max(maxil(log[f(x)]i)log[f(x)]l,k) g(x') = max(max_{i\neq l'}(log[f(x)]_i) - log[f(x)]_{l'},-k)
並且使用對稱差商估計梯度和Hessian:
f(x)xif(x+hei)f(xhei)2h2f(x)2xif(x+hei)2f(x)+f(xhei)h2 \frac{\partial f(x)}{\partial x_i} \approx \frac{f(x + he_i) − f(x − he_i)}{2h} \\ \frac{\partial ^2 f(x)}{\partial ^2 x_i}\approx \frac{f(x + he_i) − 2f(x) + f(x − he_i)}{h^2}
在這裏 ei\ e_i 表示第i個分量的標準基向量,h是一個小常數。

        通過運用梯度估計和Hessian,ZOO不需要接觸要被攻擊的深度學習模型。但是,它需要昂貴的代價來查詢和估計梯度。作者提出了ZOO-ADAM來隨機的選擇一個變量並且更新對抗樣本。實驗顯示,ZOO取得了與C&W’s Attack 相當的性能。


      10、Universal Perturbation

        Dezfooli等人提出了一種普適性攻擊方法。他們的構想是找到一個普適性的擾動向量滿足:
ηpϵ,P(xf(x))1δ ||\eta||_p \leq \epsilon, \\ P(x' \neq f(x)) \geq 1 - \delta
 ϵ\ \epsilon 限制了普適性擾動的大小, δ\ \delta 控制了所有對抗樣本的攻擊失敗率。

        在每次迭代中,使用DeepFool方法爲每一個輸入數據獲得一個最小的樣本擾動,並且更新該擾動到總擾動 η\ \eta 中去。直到大多數的樣本攻擊成功($\ P < 1 - \delta $),迭代才停止。實驗發現,普適性擾動可以通過使用一小部分的數據集即可生成。

在這裏插入圖片描述


      11、One Pixel Attack

        爲了避免感知測量的問題,Su等人通過僅僅修改了一個像素,生成了對抗樣本。優化問題變成了:
minx   J(f(x),l)s.t.   η0ϵ0 min_{x'} \ \ \ J(f(x'),l') \\ s.t. \ \ \ ||\eta||_0 \leq \epsilon_0
 ϵ0=1\ \epsilon_0 = 1 時,該方法僅僅修改了一個像素。這個新的常數也讓優變得很困難。

        Su等人應用了微分進化(differential evolution (DE),進化算法之一) 來找到優化解。DE不需要知道神經網絡的梯度,也可以用在不可微的目標函數上。他們在CIFAR-10數據集上用三個神經網絡評價了提出的方法(全卷積網絡(All convolution network (AllConv)),Network in Network(NiN)和VGG16)。結果表明,70.97%的圖像成功地欺騙了深層神經網絡至少有一個目標類的平均置信度爲97.47%。


      12、Feature Adversary

        Sabour等人通過最小化內部神經網絡層而不是輸出層的表示距離來執行了一次目標攻擊。該問題可以描述爲:
minx   Φk(x)Φk(x)s.t.   xx<δ min_{x'} \ \ \ ||\varPhi_k(x) - \varPhi_k(x')|| \\ s.t. \ \ \ ||x - x'||_{\infty} < \delta
其中, Φk\ \Phi_k 表示從圖片輸入到第k層輸出的映射。這種方法並不是要去找到最小的擾動, δ\ \delta 用作擾動的約束。作者表示,一個固定的 δ\ \delta 值對人類的感知來說已經足夠了。他們使用了L-BFGS-B來解決優化問題。對抗性圖像更自然,更接近內部層的目標圖像。


      13、Hot/Cold

        Rozsa等人提出了該方法爲每個輸入圖片尋找多個對抗樣本。他們認爲只要人類感知不到,進行一些小的轉換和旋轉是可以的。

        他們定義了一個新的標準,Psychometric Perceptual Adversarial Similarity Score (PASS),衡量與人類的明顯相似性。Hot/Cold,忽略了像素上的不明顯的差別,並用帶有PASS的 lp\ l_p 距離取代(目前這個說的啥,博主也不理解,待我看完論文回來解釋)。PASS包括兩個步驟,首先,將修改後的圖片與原圖片對齊,之後,測量兩個圖片的的相似度。

         Φ(x,x)\ \varPhi(x',x) 是從對抗樣本到原始樣本的一個單對應性的函數,  H\ H是一個單對應性的3x3的矩陣。通過最大化 xx\ x' 和 x 之間的enhanced correlation coefficient (ECC) 獲得 H\ H 。優化函數如下:
argminHxxΦ(x,x)Φ(x,x) argmin_H ||\frac{\overline{x}}{||\overline{x}||} - \frac{\overline{\varPhi(x',x)}}{||\overline{\varPhi(x',x)}||}|| \\ \overline{·} 表示圖片的歸一化
        Structural SIMilarity (SSIM)僅僅用來測量圖片的顯著差別度。在論中,利用SSIM,定義了一個新的測量標準,regional SSIM(RSSIM):
RSSIM(xi,j,xi,j)=L(xi,j,xi,j)αC(xi,j,xi,j)βS(xi,j,xi,j)γα,β,γL(),C(),S() RSSIM(x_{i,j},x_{i,j}') = L(x_{i,j},x_{i,j}')^{\alpha}C(x_{i,j},x_{i,j}')^{\beta}S(x_{i,j},x_{i,j}')^{\gamma} \\ \alpha,\beta,\gamma 分別是 亮度函數L(·),對比度函數C(·),結構函數S(·)的權重
        而且,SSIM可以通過平均RSSIM的方式來計算
SSIM(xi,j,xi,j)=1nmi,jRSSIM(xi,j,xi,j) SSIM(x_{i,j},x_{i,j}') = \frac{1}{n*m}\sum_{i,j}RSSIM(x_{i,j},x_{i,j}')
        PASS由對齊和相似性度量的組合定義
PASS(x,x)=SSIM(Φ(x,x),x) PASS(x',x) = SSIM(\varPhi^*(x',x),x)
        有了新的距離後,對抗問題可以描述爲:
min   D(x,x)s.t.   f(x)=yPASS(x,x)γ min \ \ \ D(x,x') \\ s.t. \ \ \ f(x') = y' \\ PASS(x,x') \geq \gamma
         D(x,x)\ D(x,x')表示距離的測量函數(比如 1PASS(x,x)xxp\ 1-PASS(x,x') 或者||x - x'||_p

        爲了生成各種各樣的對抗樣本,作者定義了目標標籤 l\ l' 爲hot 類,原始標籤 l\ l 爲cold類。在每次迭代中,它們都會移向目標(熱)類,同時遠離原始(冷)類。他們的結果表明,生成的對抗性例子與FGSM相似,並且具有更多的多樣性。


      14、Natural GAN

        Zhao等人利用GAN作爲他們方法的一部分來生成圖片和文本的對抗樣本,這種方法使對對抗樣本對人類來說更自然。作者首先訓練了一個WGAN模型,生成器G將隨機噪聲映射到輸入域。他們還訓練了一個“反相器”L將輸入數據映射到密集的內部表示。因此,通過最小化內在表示距離,像Feature Adversary那樣,來生成對抗性噪聲。使用生成器來生成對抗樣本。
minz   zL(x)s.t.   f(G(z))f(x) min_z \ \ \ ||z - L(x)|| \\ s.t. \ \ \ f(G(z))\neq f(x)
        生成器和反相器都是用來讓對抗樣本變得自然的東西。Natural GAN是許多深度學習領域的通用框架。作者使用Natural GAN來進行圖像分類、文本蘊含(textual entailment)和機器翻譯。因爲Natural GAN不需要原始神經網絡的梯度,所以它也可以用到黑盒攻擊中。


      15、Model-based Ensembling Attack

        Liu等人,在ImageNet上對深度神經網絡的可遷移性進行了一項研究,然後提出了Model-based Ensembling Attack用來目標攻擊。作者稱,相比於無目標攻擊,目標攻擊在深度模型上遷移是更加困難的。使用Model-based Ensembling Attack,他們可以生成可轉移的對抗樣本來攻擊一個黑盒模型。

        作者現在大量的深度神經網絡上進行白盒攻擊,生成對抗樣本,然後在一個黑盒模型上測試他們。Model-based Ensembling Attack通過下面的優化問題來得到
argminx   log(i=1kαiJi(x,l))+λxx argmin_{x'} \ \ \ -log(\sum_{i=1}^k \alpha_i J_i(x',l'))+\lambda||x' - x||
         k\ k是深度神經網絡的個數, fi\ f_i是每個網絡的函數, αi\ \alpha_i是ensemble權重( ikαi=1\ \sum_i^k \alpha_i = 1)。結果表明,Model-based Ensembling Attack 可以生成可轉移性的目標對抗樣本,同時增強了對抗樣本對黑盒攻擊的能力。 他們也證明了這個方法在生成無目標的對抗樣本時,比之前的方法表現得更好。


      16、Ground-Truth Attack

        形式化驗證技術旨在評估神經網絡對zero-day 攻擊的魯棒性。Carlini等人提出了Ground-Truth攻擊,該方法生成了具有最小擾動( l1l\ l_1 和l_\infty)的對抗樣本.網絡驗證(Network Verificatio)總是檢查對抗樣本是否違反深度神經網絡的屬性,以及是否存在示例在一定距離內改變標籤。Ground-Truth Attack執行了一個二值搜索,並且迭代的調用Reluplex來找到一個最小擾動的對抗樣本。最初的對抗性例子是使用C&W’s Attack來提高性能。


 Section Ⅴ 其他領域的對抗攻擊示例

        該節主要簡要的介紹了對抗樣本在強化學習、生成式網絡、人臉識別、目標檢測、語義分割、自然語言處理、惡意軟件檢測等領域的應用。


 Section Ⅵ 對抗防禦方法

        對抗防禦主要有兩種方式,reactiveproactive。reactive:是在深度神經網絡被構建之後檢測對抗樣本。proactive:在攻擊者生成對抗樣本前,讓深度網絡更魯棒。在這一節,主要討論了三種reactive的方法(Adversarial Detecting, Input Reconstruction, and Network Verificatio),三種proactive的方式(Network Distillation, Adversarial (Re)training, and Classifier Robustifying),以及一種emsembling method(集成方法)。


      1、Network Distillation(網絡蒸餾)

        蒸餾網絡最初是被用於減小深度網絡的尺寸,通過將大網絡的知識轉移到小網絡中。

在這裏插入圖片描述

        由第一個DNN生成的類的概率被用來當作第二個DNN的輸入。類的概率提取了第一個DNN學到的知識。Softmax通常是用來歸一化DNN的最後一層,然後生成類的概率。第一個DNN的softmax輸出是第二個DNN的輸入,可以描述爲:
qi=exp(zi/T)jexp(zi/T) q_i = \frac{exp(z_i/T)}{\sum_j exp(z_i/T)}
        T是一個控制知識蒸餾等級的臨時變量。在深度網絡中,臨時變量T設爲1。當T變大時,Softmax的輸出會變模糊。當T趨近於正無窮時,所有類的概率趨近於1/m,當T變小時,只有一個類是1,剩下的都是0。這種網絡蒸餾的模式可以重複多次,可以連接多個深度網絡。

        在論文中,作者提到,網絡蒸餾可以提取深度網絡的知識,並能夠提高魯棒性。作者發現攻擊主要針對網絡的敏感性,接着證明了使用high-temperature softmax可以降低模型的敏感度。網絡蒸餾防禦在MNIST和CIFAR-10上進行了測試,降低了JSMA攻擊0.5%和5%的成功率。同時,蒸餾網絡也提高了神經網絡的泛化能力。


      2、Adversarial (Re)training(對抗訓練)

        帶有對抗樣本的訓練是一個可以讓神經網絡更加魯棒的一個方法。Goodfellow等人和Huang等人在訓練階段引入了對抗樣本。他們在訓練的每一步生成對抗樣本,然後把他們加入到訓練集中。對抗訓練可以爲神經網絡提供正則化,並且提高了其準確率。

        實驗表明,對抗訓練可以抵禦單步攻擊,但不能抵禦迭代攻擊。對抗訓練只是被用來充當正則化手段來降低了過擬合。 而且,對抗訓練對白盒攻擊更加魯棒。爲了對付黑盒攻擊,之後提出了Ensembling Adversarial Training method


      3、Adversarial Detecting(對抗識別)

        該方法是在測試階段來檢測對抗樣本。

        一些論文,訓練了一個二分類網絡作爲檢測器來辨別輸入數據是合理的數據還是對抗樣本。SafetyNet提取每個ReLU層輸出的二值閾值作爲對抗檢測器的特徵,並通過RBF-SVM分類器檢測對抗圖像。作者認爲,即使對手知道檢測器,他們的方法也很難被對手打敗,因爲對手很難找到一個最優值,無論是對對抗樣本還是對SafetyNet檢測器的新特徵。還有一種方法是增添了一個新的類別到原始模型中,模型能夠將對抗樣本分類成該類。他們發現,最大平均差(MMD)和能量距離(ED)的測量可以區分是對抗樣本數據集還是乾淨的數據集。

        還有一種方法,提供了檢測對抗樣本的貝葉斯視野。其表示,對抗樣本的不確定性比干淨的數據更高。因此,他們使用一個貝葉斯神經網絡來平局輸入數據的不確定性來區分對抗樣本和乾淨的數據。

        同樣的,還有一種方法,是使用了概率差(詹森-香農散度)作爲檢測器之一。另一篇論文表明,在PCA後,對抗樣本在低級別組件中有着不同的係數。

        PixelCNN。對抗樣本的分佈與乾淨數據的分佈是不同的。他們基於PixelCNN計算了p值,然後使用p值來檢測對抗樣本。結果表明,該方法可以檢測FGSM,BIM,DeepFool,和C&W‘s attack。

        之後,有一篇論文,訓練了一個具有"reverse cross-entropy"的神經網絡,發現它能夠更好的從乾淨數據中辨別出對抗樣本,然後使用一種叫做Kernel density的方法檢測對抗樣本。“reverse cross-entropy”可以讓深度網絡以比較高置信度預測出正確的類,在其他類上由統一的分佈。通過這種方式,深層神經網絡被訓練來將乾淨的輸入映射到softmax之前的層中的低維流形。這爲進一步檢測對抗樣本提供了極大的便利。

        在強化學習領域,有一篇論文,利用了大量的先前輸入的圖片來預測未來的輸入並檢測對抗樣本。

        但是這些方法在損失函數稍有變化的情況下,無法抵抗C&W’s Attack


      4、Input Reconstruction(輸入重建)

        對抗樣本可以通過重建的方式變換成乾淨數據。在轉變後,對抗樣本並不會影響深度模型的預測。Gu和Rigazio提出了一種帶有懲罰的自動編碼器網絡變體,稱爲深度壓縮自動編碼器(deep contractive autoencoder),以提高神經網絡的魯棒性。一個去噪的自動編碼網絡被訓練用來壓縮對抗樣本成原始樣本來消除對抗性擾動。通過兩種方法來重建對抗樣本,添加高斯噪聲和用自動編碼器壓縮他們即MagNet的plan B。

        PixelDefend重建對抗樣本,使其回到了使用PixelCNN時的訓練分佈。PixelDefend改變了每一個通道的所有像素來最大化分佈概率:
maxx   Pt(x)s.t.   xxϵdefend max_{x'} \ \ \ P_t(x') \\ s.t. \ \ \ ||x' -x||_\infty \leq \epsilon_{defend}
         Pt\ P_t表示訓練時的分佈, ϵdefend\ \epsilon_{defend}控制對抗樣本中的新的更改。PixelDefend也使用了對抗檢測,爲了當對抗樣本沒有被檢測出來時,對抗樣本不會有任何改變,即 ϵdefend=0\ \epsilon_{defend} = 0


      5、Classifier Robustifying(魯棒的分類器)

        由於對抗樣本的不確定性,Bradshaw等人利用了貝葉斯分類來建立了一個更加魯棒的神經網絡。高斯變換(RBF核)也被用來提供不確定檢測。提出來的神經網絡叫做Gaussian Process Hybrid Deep Neural Networks (GPDNNs)。高斯變換將潛變量表示爲均值和協方差函數參數化的高斯分佈,並用RBF覈對其進行編碼。

        有研究表明GPDNNs比普通的神經網絡表現更好,對對抗樣本更加魯棒。作者稱,GPDNNs知道他們不知道的東西。

        有一篇論文觀察到對抗性的例子通常是不正確類的一小部分。將類分成子類,並通過投票將所有子類的結果集合起來,以防止對抗性示例被錯誤分類。


      6、Network Verificatio(網絡驗證)

        驗證深度網絡的屬性是一個對抗防禦的不錯的方式,因爲它可以檢測出新的不可見的攻擊。網絡驗證會檢查一個神經網絡的屬性,輸入是否違反或是否滿足屬性。

        Katz等人提出了一個使用ReLU激活函數的驗證方法,叫做Reluplex。他們使用Satisfiability Modulo Theory (SMT 可滿足性模理論)來驗證神經網絡,即,在一個小擾動下,沒有現有的對抗樣本可以讓神經網絡進行錯誤分類。他們也證明了網絡驗證問題是一個NP難問題。Carlini等人提出的$\ max(x,y) = ReLU(x-y) + y $和 $ ||x|| = ReLU(2x) - x$拓展了ReLU函數的假設。但是Reluplex由於巨大的計算量,運行的十分慢,只能針對那些由幾百個節點的神經網絡。之後,提出了兩種解決方法,一、按重要性排序那些要檢查的節點,而、共享驗證信息。

        Gopinath等人放棄了單獨檢查每個節點的方法,提出了了DeepSafe,使用Reluplex提供深層神經網絡的安全區域。他們還引入了目標魯棒性(targeted robustness),一個只針對目標類的安全域。


      7、Ensembling Defenses(集成防禦)

        由於對抗樣本的多樣性,因此可以使用多種防禦策略一起運行來進行防禦。

        之前提及的PixelDefend時由一個對抗樣本檢測器和一個輸入重建器組合成的防禦策略。

        MagNet包含一個或多個檢測器以及一個重建器,分別爲Plan A和Plan B。檢測器用來找到離分類邊界比較遠的對抗樣本。在一篇論文中,測量了在輸入和編碼輸入的距離,以及(輸入和編碼輸入的)softmax輸出概率散度。對抗樣本具有大的距離和概率散度。爲了解決距離邊界比較近的對抗樣本,MagNet使用了一個基於自動編碼器的重建器,重建器會將對抗樣本映射到合理的樣本。

在這裏插入圖片描述

      8、對抗防禦總結

        基本上所有的防禦策略都只對部分攻擊策略有效,甚至對一些比較強的、不可見的攻擊毫無辦法。而且目前大多數的對抗防禦是針對CV中的對抗樣本。


 Section Ⅶ 挑戰與討論

        在這一節,我們主要來討論目前(及論文發佈時,2017年)在對抗樣本領域的挑戰以及潛在的問題。儘管近年來許多方法和理論被提出,但是大量的基本的問題需要一個很好的解釋,許多挑戰需要被解決。對攻擊者和防禦者來說,對抗樣本的存在的原因是一個有趣的和最基本的問題。在這一節主要討論一下幾個問題

  • 爲什麼對抗樣本會有遷移性
  • 如何阻止對抗樣本的遷移性
  • 爲什麼一些對抗防禦方法有效還其他的無效
  • 如何去測量一個攻擊和防禦的健壯性
  • 如何去評價一個深度網絡對抗可見與不可見的對抗樣本的魯棒性

      A、遷移性

        遷移性是對抗樣本的基本屬性。Szegedy等人首次發現,生成的對抗樣本可以欺騙在不同數據集上訓練的神經網絡。Papernot等人發現,生成的對抗樣本可以欺騙不同結構的神經網絡。遷移性對黑盒攻擊是極其重要的。當攻擊者想要攻擊受害模型時,他可以先訓練一個替代的神經網絡,然後爲替代的神經網絡生成對抗樣本,那麼,由於遷移性,受害模型將容易受到這些對抗性例子的攻擊。從防禦者視角來看,如果我們組織了對抗樣本的遷移性,那麼我們就可以抵禦所有的需要接近模型和要求遷移性的白盒攻擊者。

        我們從易到難的三個層次定義了對抗樣本的遷移性,一、不同數據訓練的同一神經網絡結構間的遷移;二、爲同一任務訓練的不同神經網絡結構間的遷移;三、爲不同任務訓練的神經網絡的遷移

        Papernot等人研究了在機器學習與深度學習網絡之間的遷移性。他們發現,對抗樣本可以在不同的參數、機器學習模型的訓練數據集之間進行,甚至可以跨不同的機器學習技術進行。

        Liu等人觀察了在複雜模型和大數據集上的目標攻擊和無目標攻擊的遷移性。他們發現,無目標攻擊的對抗樣本更具有遷移性。他們觀察到,不同模型的決策邊界彼此吻合得很好。因此,他們提出了Model-Based Ensembling Attack,以創建可遷移的目標攻擊的對抗樣本。

      Tramèr等人。發現到模型決策邊界的距離平均大於同一方向上兩個模型邊界之間的距離。這可以解釋對抗樣本的遷移性存在的原因。Tramèr等人,通過一個反例,聲稱遷移性可不能並不是深度網絡的內在屬性


     B、對抗樣本的存在性

        對抗樣本存在的原因仍然是一個懸而未決的問題。對抗樣本是深層神經網絡的固有特性嗎?對抗樣本是高性能深層神經網絡的““Achilles’ heel”嗎?已經提出了許多假說來解釋存在性。

        **一、數據不完整。**一個假設是,對抗樣本是測試數據集中的角落案例,具有低概率性和低覆蓋性。通過訓練一個PixelCNN,發現對抗性例子的分佈不同於乾淨的數據。即使對於簡單的高斯模型,魯棒的模型也可能比“標準”模型更復雜,需要更多的訓練數據。

        二、模型容量。對抗樣本不僅僅是深度網絡的一種現象,而且是所有分類器的一種現象。有篇論文表明對抗樣本是模型在高維流行(high dimensional manifolds)中太線性的結果。還有一篇論文結果表明,在線性情況下,當決策邊界接近訓練數據的流形時,存在對抗實例。當然,也有不同的意見,有篇論文認爲,對抗樣本是因爲分類器對特定任務的低靈活性,線性並不是一個合理的解釋。還有論文表示,是因爲稀疏不連續性導致分類器不穩定而產生的對抗樣本。

        三、沒有魯棒的模型。有論文表示深層神經網絡的決策邊界本質上是不正確的,不能檢測出語義對象。另有論文表明,如果數據集是由一個具有較大潛在空間的光滑生成模型生成的,則對對抗樣本來說沒有魯棒的分類器。同樣的,還有一篇論文證明如果一個模型是有一個球狀的數據集訓練出來的,而且該模型誤分類了數據集中的一小部分,那麼就會存在具有小的擾動的對抗樣本。

        除了用於圖像分類的對抗樣本之外任務,如第五節所述,在各種應用中產生了對抗樣本。他們中的許多人採用了完全不同的方法。一些應用程序可以使用與圖像分類任務相同的方法。然而,有些人需要提出一種新的方法。目前對對抗樣本的研究主要集中在圖像分類任務上。現有的論文沒有解釋不同應用之間的關係,以及存在一種適用於所有應用的通用攻擊/防禦方法。


      C、魯棒性評估

        攻防對抗就是一場軍備競賽一樣,一種被提出用來防止現有攻擊的防禦方法後來被證明容易受到一些新攻擊的攻擊,反之亦然。一些防禦措施表明他們可以防禦一次特定的攻擊,但後來由於攻擊的輕微變化而失敗。因此,一個深度網絡的魯棒性評估是很有必要的。例如,有篇論文爲線性分類器和二分類器提供了魯棒性的上界。深部神經網絡的魯棒性評估需要進一步的探索。

        一、一種評價深層神經網絡魯棒性的方法。許多深層神經網絡計劃部署在安全關鍵環境中。僅防禦現有攻擊是不夠的。Zero-day攻擊(新的攻擊方法)對深層神經網絡的危害更大。需要一種評估深層神經網絡魯棒性的方法,特別是對於Zero-day攻擊,這有助於人們理解模型預測的可信度以及在現實世界中我們可以依賴它們的程度。有篇論文對評估進行了初步研究。此外,這個問題不僅在於深層神經網絡模型的性能,還在於其保密性和保密性。

        二、一個攻擊和防禦的基準平臺。 大多數攻擊和防禦在沒有公開代碼的情況下描述了它們的方法,也沒有說方法中使用的參數。這給其他研究人員複製他們的解決方案並提供相應的攻擊/防禦帶來了困難。例如,Carlini盡力“找到最好的防守參數+隨機初始化”。一些研究人員甚至因爲實驗環境的不同而得出了不同的結論。如果存在任何基準,即敵方和防禦者以統一的方式進行實驗(例如,相同的威脅模型、數據集、分類器、攻擊/防禦方法),則可以對不同的攻擊和防禦技術進行更精確的比較。 Cleverhans[144]和Foolbox[145]是開放源碼的庫,用於基準測試深層神經網絡在對抗圖像方面的脆弱性。他們建立了評估攻擊的框架。然而,這兩種工具都缺少防禦策略。提供由不同方法生成的對抗實例數據集,將有助於發現深層神經網絡的盲點,開發新的防禦策略。這個問題也出現在深度學習的其他領域。 Google Brain在NIPS 2017競賽賽道上組織了三場比賽,包括目標對抗攻擊、無目標對抗攻擊和對抗防禦。比賽中的數據集由一組以前從未使用過的圖像組成,這些圖像由人工標記,1000個圖像用於開發,5000個圖像用於最終測試。提交的攻擊和比賽被用作自我評估的基準。對手的攻擊和防禦是按欺騙防禦的次數/正確分類圖像來評分的。 我們提出了workflow這個平臺來進行攻擊和防禦。

在這裏插入圖片描述

        三、穩健性評估的各種應用。類似於各種應用的對抗實例的存在,廣泛的應用使得很難評估深度神經網絡體系結構的魯棒性。如何比較不同威脅模型下生成對抗樣本的方法?我們是否有一個通用的方法來評估所有場景下的健壯性?解決這些未解決的問題是未來的一個方向。


 Section Ⅷ 總結

      本文綜述了近年來深部神經網絡中對抗樣本的發現。我們研究了現有的生成對抗實例的方法。提出了對抗性例子的分類。探討了對抗實例的應用及對策。本文試圖涵蓋深度學習領域中對抗性例子的最新研究。與最近關於對抗性例子的研究相比,我們分析了和討論了現在面臨的挑戰和潛在的問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章