對抗樣本是經過稍微修改實際樣本而構造出的合成樣本,以便於一個分類器以高置信度認爲它們屬於錯誤的分類。垃圾類的樣本(如fooling images)是病態樣本,即便它們不屬於任意一個類,分類模型也會把它們以高置信度劃分到某一個類別中去。html
一個對抗樣本,修改一張熊貓的圖片,讓機器學習模型將它識別成一隻長臂猿。git
使用32位浮點值做爲網絡的輸入來執行修改,這個改變是如此的小以致於不會改變出版圖像的8位表示。更多細節請參考這篇論文。算法
這些錯誤抓住了公衆的想象力。在興奮之餘,關於對抗樣本的一些誤解已經普遍傳播。在這篇博客中,我列出了其中的一些誤解。安全
1. 神話:對抗樣本並不重要,由於它們不會出如今實踐中。網絡
事實:的確,對抗樣本不太可能天然發生。然而,對抗樣本相當重要,由於訓練一個模型來抵制它們,能夠提升其非對抗樣本的準確性。對抗樣本也可能在實踐中發生,若是它們的確是對抗性的。例如垃圾郵件發送者試圖騙過垃圾郵件檢測系統。架構
訓練一個網絡來正確分類對抗樣本,下降它在訓練數據集上的錯誤率,即便測試數據集的樣本沒有被擾動。這種技術提高了在MNIST數據集上的最高水平。機器學習
2. 神話:深度學習比其餘類型的機器學習更容易受到對抗樣本的干擾。工具
事實:到目前爲止,咱們已經可以爲咱們測試過的每個模型生成對抗樣本,包括像最鄰近這樣的最傳統的機器學習模型。深度學習是目前爲止對對抗訓練最有抵抗性的技術。學習
3. 神話:對抗樣本是由極度非線性深度模型致使。開發工具
事實:咱們最近的實驗代表,深度模型的表現是很是線性的。線性模型在外推遠離訓練數據的區域有着極度的優點。這也解釋了對抗性和垃圾分類樣本中發生的不少錯誤。
咱們能夠描繪出一個輸入空間中的線性路徑,經過對一張清晰的汽車圖像添加不一樣的對抗性微擾。這裏,咱們將比例因子範圍從-10到+10來繪製出這條線性路徑。咱們看到,網絡的logits輸出在遠離數據的地方表現爲線性。這將致使網絡的預測變得極端,垃圾類輸入數據以高置信度歸爲有意義分類。
4. 神話:對抗樣本在小數據中很難找到或發生。
事實:空間中的大多數任意點都被誤判。例如,咱們測試的一個網絡,把大約70%的噪聲樣本以高置信度歸類爲馬。
5. 神話:咱們能作到最好的是識別和拒絕處理對抗樣本。
事實:拒絕處理對抗樣本比將它錯誤分類要好,不過這不是一個使人滿意的解決方案。若是真是一個對抗樣本,如垃圾郵件發送者,對抗樣本仍然能夠經過產生系統拒絕分類的樣本而佔優點。咱們知道這多是正確分類的對抗樣本,由於人們不會被它們迷惑,這也是咱們設計模型的目標。
6. 神話:攻擊者必須訪問到模型才能產生對抗樣本。
事實:對抗樣本在整個網絡中擴散,用來訓練執行相同的任務,即便這些模型有不一樣的架構,由不一樣訓練數據集訓練。這意味着攻擊者能夠訓練本身的模型,產生對抗模型來對抗目標模型,而後將這些對抗樣本部署到他們不能訪問的模型中。
7. 神話:對抗樣本能夠很容易地用標準正則化技術解決。
事實:咱們已經測試了幾種傳統的正則化策略,包括均化多重模型,均化圖像多采樣觀測(multiple glimpses),用時延權重或噪聲訓練模型,經過生成模型的推斷進行分類,結果均以失敗了結。
8. 神話:沒人知道人腦是否也會犯類似的錯誤。
事實:神經學家和心理學家一般研究幻覺和認知誤差。雖然咱們沒法進入咱們的大腦,可是咱們能夠確認咱們沒有像現代機器學習那樣被同一種對抗樣本所影響。若是咱們的大腦和機器學習模型同樣犯了一樣的錯誤,那麼因爲交叉模型的泛化屬性,機器學習模型的對抗樣本將會使咱們產生視覺錯亂。
總之,對抗樣本是一個頑固的問題,研究如何克服它們能夠幫助咱們避免潛在的安全問題,而且會讓機器學習算法對所要解決的問題有一個更準確的瞭解。
推薦閱讀