Towards Evaluating the Robustness of Neural Networks(C&W)(2017 Best Student Paper)
文章簡介:
- 證明defensive distillation不能顯著地提高模型的魯棒性
- 介紹了3種新的攻擊算法,可以在distilled和undistilled神經網絡達到100%的攻擊成功率
- 本文的攻擊相比於以前的攻擊通常會更有效
- 本文的對抗性例子可以從不安全的網絡模型遷移到distilled(安全)的網絡模型去
- 數據集:MNIST、CIFAR-10、ImageNet
- 本文主要研究Targeted Attacks
- 由於defensive distillation並不能真正地避免對抗樣本的出現,作者認爲原因可能是對抗樣本的存在原因在於神經網絡局部線性的性質[47] (這是一種說法,也有其他說法)
算法思想:
作者把構建對抗樣本的過程轉化爲一個最優化問題,如下圖所示:
但是其中的等式約束難以求導,所以作者將這一等式進行了轉化:
並給出一共7種選擇
最終將原優化問題轉爲
接下來,爲了解決box約束問題(即),作者採用了3種方法進行選擇
- Projected gradient descent:每實施一步梯度下降,就把計算的結果限制在box內,該方法的缺點就是每次傳入下一步的結果都不是真實值
- Clipped gradient descent:並沒有真正地裁減,而是直接把約束加入到目標函數中,即
但這種方法,只是對目標函數進行了約束,可能會存在 超過最大值的情況,這樣就會出現梯度爲0的結果,以至於即使減少,從梯度角度也無法檢測到。
- Change of variables:通過引入變量 ,使得滿足box約束,其方法爲
最後的結果如下:
- Best Case: target label是最容易攻擊的label
- Worst Case:target label是最難攻擊的label
- Average Case:target label是隨機挑選的label
可以發現Projected Descent在處理box約束是優於其他兩種策略,但Change of Variable尋求的擾動一般都是較小的,此外效果欠佳,但在這7種策略中基本上是最好的:需要的擾動一般最小,且成功率高。
後面作者還採用三種攻擊方法(其本質區別就是範數約束區別)
- :下面的選擇的就是之前測試結果中效果最好的, 只是對解除了必須爲0的約束
參數鼓勵算法在尋找對抗樣本的時候,將其歸爲target類時有更高的置信度,同時能夠增加遷移率。原因就是他更加鼓勵分爲其他類時,最大的置信度要比target類的置信度會往k的差距優化。
- :因爲L0距離是無法微分的,所以作者採用迭代的方法,使用L2 Attack來確定哪些像素不重要,對不重要的像素點就固定着。詳細過程如下(還得詳細看下代碼才行文章有點不太清晰):
a) 首先通過L2 Attack方法獲得, 使得是一個對抗樣本。
b)計算梯度
然後選擇,這就是我們所要固定的像素點即把他移除出需要更新的像素點集(allowed set)
c) 重複以上過程,知道L2 Attak無法找到對抗樣本爲止
- :該攻擊方法不是完全可微的,並且標準的梯度下降算法並不能達到非常好的效果,即採用如下策略時,會出現一個問題:無窮範數只懲罰最大的那個值
假設且,則只會懲罰而不會去懲罰,最後可能會使得優化的最終結果是,而沒有任何意義。
所以作者通過iterative attack來解決這個問題,作者把原目標函數中的約束替換,如下:
該方法懲罰所有大於的值,並且如果在每一輪迭代中,如果所有的,則
由於這些筆記是之前整理的,所以可能會參考其他博文的見解,如果引用了您的文章的內容請告知我,我將把引用出處加上~
如果覺得我有地方講的不好的或者有錯誤的歡迎給我留言,謝謝大家閱讀(點個贊我可是會很開心的哦)~