神經網絡魯棒性評估

神經網絡魯棒性評估

論文: Carlini N, Wagner D. Towards Evaluating the Robustness of Neural Networks[C]// Security and Privacy. IEEE, 2017:39-57.

論文摘要

神經網絡為大多數的機器學習任務提供最高水準的結果。然而不幸的是,神經網絡在面對對抗樣本時變得很脆弱。這使得神經網絡很難被應用於安全至關的領域。防禦性蒸餾是最近提出的適用於任意神經網絡的方法,它能夠提高神經網絡的魯棒性,降低現有攻擊方法生成對抗樣本的成功率,從95%降低至0.5%。

本文提出了三種新的攻擊算法,同時在蒸餾與非蒸餾的神經網絡都達到了100%的成功率,因此證明了防禦性蒸餾無法顯著提升神經網絡的魯棒性。這些攻擊方法是為現有文獻中使用的三種距離度量定製的。當與以前的對抗樣本生成算法對比時,本文的攻擊方法表現得更加高效。本文希望這些攻擊方法能作為一個基準,為以後防禦對抗樣本的嘗試提供幫助。

技術介紹

機器學習被運用於越來越多的場合並作出潛在的安全關鍵決策。其面對對抗樣本時的脆弱性導致了許多防禦方法的出現。本文對經過防禦性蒸餾的神經網絡進行評估。

防禦性蒸餾使用蒸餾來提高神經網絡魯棒性。首先在訓練數據集上訓練一個teacher network,接著獲得軟標籤,並訓練另一個蒸餾網絡,最後用蒸餾網絡去進行分類。

針對防禦性蒸餾來構建對抗樣本,需要從這些方面著手。

A. 目標函數

相比生成對抗樣本的最初的構想,C (x + δ) = t高度非線性,因此定義了一個目標函數f使得C (x + δ) = t當且僅當f(x + δ) ≤ 0。下面是一些可用的選擇:

神經網絡魯棒性評估

其中lossF,s(x)是x的交叉熵損失,s是正確的分類,(e) +是max(e,0)的簡寫,softplus(x) = log(1 + exp(x))

於是得到了這樣的構想:

神經網絡魯棒性評估

其中c > 0,是一個適當的可選擇的常量。

在將距離度量D實例化為lp範式之後,得到了這樣的構想:

神經網絡魯棒性評估

問題變成了已知x,求出δ

B. 盒約束

為了保證輸出的是一個合理的圖案,即盒約束問題,總結出了三種方法:

1)投影梯度下降

在執行一步標準梯度下降時,將所有的座標裁剪到盒內。但是這種方法面對具有複雜更新步驟的梯度下降時效果較差。

2)裁剪梯度下降

將裁剪直接放入目標函數,代替原來的目標函數。這樣帶來了一個新的問題,算法會被困在平坦的區域。

3)改變變量

引進一個新的變量w,應用變量替換並優化w,使得

神經網絡魯棒性評估

C. 方法評估

對於每一個目標函數和執行盒約束的方法,都對其找到的對抗樣本質量進行了評估。危為了找到最優的c,對c進行了20次迭代的二分查詢。對於每一個找到的c,用Adam優化進行了10000次迭代的梯度下降,得到了下表

神經網絡魯棒性評估

最佳目標函數和最差目標函數在質量上有三種差異。對於最佳最小化函數,處理盒約束的方法的選擇不會顯著影響結果的質量。

D. 離散化

在一個合理的圖片中,每一個像素都應該是一個在{0,1,……,255}區間內的整數。但在實踐中,應當忽略這個限制,解決連續優化問題,並四捨五入到最近的整數,像素強度變為「255( xi + δi )」。這種約進會輕度降低對抗樣本的質量。如果需要保持攻擊質量,可以對離散解定義的格子進行貪婪搜索,每次改變一個像素值。

根據這些,提出了基於三種範式的攻擊方法

A. L2 Attack

神經網絡魯棒性評估

這裡的目標函數f是基於之前尋找到的最佳的目標函數,略加修改為了通過調整k來控制誤分類發生的置信度。參數k鼓勵求解器找到一個對抗實例,它將被以高置信度歸類為類t。

同時還應用了多起點梯度下降,來解決梯度下降的貪心檢索無法保證找到最優解,並陷入局部最小解的問題。

B. L0 Attack

傳統的L0範式是不可微的,不適用於標準的梯度下降。因此,使用一種迭代算法:在每一個迭代中,根據攻擊產生擾動向量,作為一個對抗樣本。然後計算判斷像素的重要性,將不重要的像素固定。直至找不到新的對抗樣本。

C. L∞ Attack

神經網絡魯棒性評估

標準的梯度下降同樣不是很適用於L∞範式,究其原因,是因為該範式只懲罰最大的向量元素,對於其他的元素卻沒有任何影響。因此梯度下降很快被困在兩個次優解之間振盪。

對於這種情況,做出這樣的優化:

在每一次迭代之後,如果對於所有的i,都有δi < τ,那麼將τ減少為0.9倍並且重複,否則結束搜索。

同樣的需要選擇一個合適的常量c,與L0相同,開始時將c設為一個很小的值並且運行L∞攻擊,如果失敗則將c設為原來的兩倍,直到超過固定閾值,結束搜索。

神經網絡魯棒性評估

當將這些攻擊方法應用於防禦性蒸餾神經網絡時,發現蒸餾只帶來了邊際價值。

神經網絡魯棒性評估

這些攻擊方法都獲得了100%的成功率。

本文的主要貢獻

  1. 提出了針對L0,L2和L∞三種距離度量的新攻擊方法,相比以前的方法更高效。其中L0攻擊是第一個能夠在ImageNet數據集造成目標性誤分類的方法。
  2. 將這些攻擊方法作用於防禦性蒸餾並且發現蒸餾幾乎不能給神經網絡帶來安全收益
  3. 在一個簡單可移植性測試中使用高可信度對抗樣本來評價防禦性,得出該測試也能打破防禦性蒸餾
  4. 系統性地評估尋找對抗樣本的目標函數的選擇,發現該選擇能顯著影響攻擊方法的效力。

致謝

此文由南京大學軟件學院2019級碩士顧逸飛翻譯轉述。功勞跟責任同在!


分享到:


相關文章: