1. 程式人生 > 其它 >Improving DNN Robustness to Adversarial Attacks using Jacobian Regularization

Improving DNN Robustness to Adversarial Attacks using Jacobian Regularization

技術標籤:對抗防禦深度學習神經網路tensorflow

Improving DNN Robustness to Adversarial Attacks using Jacobian Regularization

文章目錄


前言

本週閱讀了《Improving DNN Robustness to Adversarial Attacks using Jacobian Regularization》這篇文章,現對它進行總結。這也是我部落格之路的開始,希望可以堅持下去。


一、主要思想

本文提出了一種從理論上受到啟發的新穎方法來提高網路的健壯性。該方法在常規訓練完成後,使用網路雅可比行列式的Frobenius範數應用正則化用作後處理。憑經驗證明,它可以以最小的原始網路精度變化帶來增強的魯棒性結果。

二、Jacobian正則化

假設訓練資料集 X X X由N個訓練示例組成,每個樣本 x i x_i xi為D維向量,使用索引 l = 1 , 2 , ⋯   , L . l = 1,2, \cdots ,L. l=1,2,,L.來指定具有L層的網路中的特定層。 z ( l ) z^{(l)} z(l)是網路第 l l l層的輸出, z k ( l ) z_k^{(l)}

zk(l)是該層中第 k k k個神經元的輸出。 則網路的輸入是
在這裡插入圖片描述
它的輸出為 f ( x i ) ∈ R K f(x_i) \in R^K f(xi)RK, x i x_i xi的預測類 k i ∗ = a r g m a x k f k ( x i ) k_i^*=argmax_k f_k(x_i) ki=argmaxkfk(xi), k = 1 , 2 , ⋯   , K . k = 1,2, \cdots ,K. k=1,2,,K. 其中 f ( x i ) = s o f t m a x { z ( l ) ( x i ) } f(x_i)=softmax\{z^{(l)}(x_i)\}
f(xi)=softmax{z(l)(xi)}
x i x_i xi輸入網路中的最後一個完全連線層的輸出.
∇ x z ( l ) ( x i ) \nabla _x z^{(l)} (x_i) xz(l)(xi)是在點 x i x_i xi評估 L L L層的雅可比矩陣,即 J ( L ) ( x i ) = ∇ x z ( l ) ( x i ) J^{(L)}(x_i)=\nabla _x z^{(l)} (x_i) J(L)(xi)=xz(l)(xi)。 相應地, J k ( L ) ( x i ) = ∇ x z k ( l ) ( x i ) J_k^{(L)}(x_i)=\nabla _x z_k^{(l)} (x_i) Jk(L)(xi)=xzk(l)(xi)是矩陣 J ( L ) ( x i ) J^{(L)}(x_i) J(L)(xi)中的第k行。網路的雅可比矩陣:在這裡插入圖片描述
因此,輸入樣本 x i x_i xi的雅可比正則項為
在這裡插入圖片描述
將上述雅可比正則化項與訓練資料上的標準交叉熵損失函式相結合,得到以下損失函式用於訓練:
在這裡插入圖片描述
這便是本文提出的雅可比正則項的損失函式。請注意此雅可比正則化作為後處理,即在常規訓練完成後將其應用於第二階段的額外訓練,增加了深度神經網路對對抗性的魯棒性擾動。

程式碼如下(示例):

################ Function for Jacobian calculation ################
def jacobian_matrix(y_flat, x, num_classes):
    for i in range(num_classes):
        if i==0:
            Jacobian = tf.gradients(y_flat[i],x)
        else:
            Jacobian = tf.concat([Jacobian, tf.gradients(y_flat[i],x)],axis=0)
    return Jacobian

三、理論驗證

首先簡單地對對抗性攝動與網路的雅可比矩陣之間的關係進行非正式解釋。
x x x為給定的輸入資料樣本; x s o m e x_{some} xsome來自同一類別的接近 x x x且不受對抗攻擊干擾的資料樣本; x p e r t x_{pert} xpert是另一個數據樣本,它是輸入 x x x對抗性擾動的結果,它與x保持接近,但具有不同的預測標籤。 因此,對於網路的輸入和輸出中的 l 2 l_2 l2距離度量,具有
在這裡插入圖片描述
[ x , x p e r t ] [x,x_{pert}] [xxpert]為輸入空間中連線 x x x x p e r t x_{pert} xpert的D維線。 根據平均值定理,存在一些 x ′ ∈ [ x , x p e r t ] x' \in [x,x_{pert}] x[xxpert]使得
在這裡插入圖片描述
這表明,當網路的雅可比矩陣的Frobenius範數較低時,它對輸入空間的細微變化更加穩健。 換句話說,鼓勵網路為相似的輸入產生相似的輸出。
表1:原始資料和DeepFool擾動的資料的雅可比矩陣的平均Frobenius範數。
在這裡插入圖片描述
上述實驗是對MNIST資料集使用各種防禦方法進行訓練。接受對於沒有防禦的“常規”訓練,正如預期的那樣,在受到干擾的輸入上,上述平均準則明顯更大。 使用對抗訓練,可以減少在擾動輸入上評估的雅可比矩陣的平均Frobenius範數。 但是,當新增雅可比正則化(λ= 0.1)時,該範數會大大減少。

總結

本文介紹了用於提高DNN對抗性示例魯棒性的Jacobian正則化方法。我們為它的使用提供了理論基礎,並證明了它在保持網路測試精度的同時,具有很高的魯棒性。