對抗攻擊領域綜述(adversarial attack)
一、總結
一句話總結:
對抗攻擊英文為adversarial attack。即對輸入樣本故意添加一些人無法察覺的細微的干擾,導致模型以高置信度給出一個錯誤的輸出。
1、對抗攻擊的意義?
我們不知道神經網絡提取到的特征點:深度神經網絡對輸入圖片的特征有了一個比較好的提取,但是具體提取了什么特征以及為什么提取這個特征不知道。
找到神經網絡提取到的特征點:所以我們需要試圖找到那個模型認為很重要的位置,然后嘗試着去改變這個位置的像素值,使得DNN對輸入做出一個誤判。
2、對抗攻擊分類?
白盒攻擊,稱為White-box attack,也稱為open-box 對模型和訓練集完全了解,這種情況比較簡單,但是和實際情況不符合。
黑盒攻擊,稱為Black-box attack,對模型不了解,對訓練集不了解或了解很少。這種攻擊和實際情況比較符合,主要也是主要研究方向。
定向攻擊,稱為targeted attack,對於一個多分類網絡,把輸入分類誤判到一個指定的類上
非定向攻擊,稱為non-target attack,只需要生成對抗樣本來欺騙神經網絡,可以看作是上面的一種特例。
二、對抗攻擊領域綜述(adversarial attack)
轉自或參考:CV||對抗攻擊領域綜述(adversarial attack) - 知乎
https://zhuanlan.zhihu.com/p/104532285?utm_source=qq
一:對抗攻擊概述
對抗攻擊英文為adversarial attack。即對輸入樣本故意添加一些人無法察覺的細微的干擾,導致模型以高置信度給出一個錯誤的輸出。
首先通過一些圖片來對這個領域有一個直觀的理解:對抗攻擊就是使得DNN誤判的同時,使得圖片的改變盡可能少。


對抗攻擊從image attack起源,逐漸完善理論,然后慢慢擴大到了video attack以及在NLP、強化學習等領域中的應用。
其中的思想大致可以按下面理解:深度神經網絡對輸入圖片的特征有了一個比較好的提取,但是具體提取了什么特征以及為什么提取這個特征不知道。所以我們需要試圖找到那個模型認為很重要的位置,然后嘗試着去改變這個位置的像素值,使得DNN對輸入做出一個誤判。
二:對抗攻擊分類
- 白盒攻擊,稱為White-box attack,也稱為open-box 對模型和訓練集完全了解,這種情況比較簡單,但是和實際情況不符合。
- 黑盒攻擊,稱為Black-box attack,對模型不了解,對訓練集不了解或了解很少。這種攻擊和實際情況比較符合,主要也是主要研究方向。
- 定向攻擊,稱為targeted attack,對於一個多分類網絡,把輸入分類誤判到一個指定的類上
- 非定向攻擊,稱為non-target attack,只需要生成對抗樣本來欺騙神經網絡,可以看作是上面的一種特例。
三:對抗攻擊發展歷史與方法分類(對抗攻擊尋找新的算法)
- Gradient-Based基於梯度的方法:(主要是白盒攻擊的方法)
- 2014年,文章《Intriguing properties of neural networks》發布,這是對抗攻擊領域的開山之作,文中介紹了一些NN的性質,首次提出了對抗樣本的概念。在文章中,作者指出了深度神經網絡學習的輸入-輸出映射在很大程度是相當不連續的,我們可以通過應用某些難以感知的擾動來使網絡對圖像分類錯誤,該擾動是通過最大化網絡的預測誤差來發現的。此外,這些擾動的特定性質並不是學習的隨機產物:相同的擾動會導致在數據集的不同子集上進行訓練的不同網絡對相同輸入進行錯誤分類
- 同時文章中也提出了BFGS:通過尋找最小的損失函數添加項,使得神經網絡做出誤分類,將問題轉化成了凸優化。問題的數學表述如下:

之后人們在此基礎上,提出了各種改進措施:
(1)Goodfellow等人在2014年提出了提出了快速梯度符號方法(FGSM)以生成具有單個梯度步長的對抗性示例。在進行反向傳播之前,該方法用於擾動模型的輸入,這是對抗訓練的早期形式。
(2)SM Moosavi-Dezfooli等人在2015年提出的DeepFool通過計算出最小的必要擾動,並應用到對抗樣本構建的方法,使用的限制擾動規模的方法是L2范數,得到比較優的結果
(3)N Papernot等人在2015年的時候提出的JSMA,通過計算神經網絡前向傳播過程中的導數生成對抗樣本
(4)Florian Tramèr等人在2017年通過添加稱為R + FGSM的隨機化步驟來增強此攻擊,后來,基本迭代方法對FGSM進行了改進,采取了多個較小的FGSM步驟,最終使基於FGSM的對抗訓練均無效。
(5)N Carlini,D Wagner等人在2017年提出了一個更加高效的優化問題,能夠以添加更小擾動的代價得到更加高效的對抗樣本。
- Transfer-based方法:(黑盒和白盒攻擊之間過渡的一種方法)
基於Transfer的攻擊不依賴模型信息,但需要有關訓練數據的信息。
Nicolas Papernot等人在2017年的時候利用訓練數據,訓練出可以從中生成對抗性擾動的完全可觀察的替代物模型。Liu等人2016年的時候在論文《SafetyNet: Detecting and Rejecting Adversarial Examples Robustly》證明了:如果在一組替代模型上創建對抗性示例,則在某些情況下,被攻擊模型的成功率可以達到100%。
- Score-based方法:(黑盒攻擊)
一些攻擊更不可知,僅依賴於預測分數(例如類別機率或對數)。 從概念上講,這些攻擊使用數值估算梯度的預測。該方法的開始真正work在於2017年PY Chen等人提出的ZOO方法《ZOO: Zeroth Order Optimization Based Black-box Attacks to Deep Neural Networks without Training Substitute Models》(https://dl.acm.org/doi/abs/10.1145/3128572.3140448)。文中通過對一階導和二階導的近似、層次攻擊等多種方式減少了訓練時間,保障了訓練效果

此后人們在從“選擇下一個要進行梯度估算更改的像素進行更改”的角度入手:
(1)B. Ru, A. Cobb等人在2020年發表文章《BayesOpt Adversarial Attack》利用了貝葉斯優化來以高查詢效率找到成功的對抗擾動。此外該論文還通過采用可替代的代理結構來減輕通常針對高維任務的優化挑戰,充分利用了我們的統計替代模型和可用的查詢數據,以通過貝葉斯模型選擇來了解搜索空間的最佳降維程度。
(2)L. Meunier等人在2020年發表文章《Yet another but more efficient black-box adversarial attack: tiling and evolution strategies》利用了evolutional algorithms。通過結合兩種優化方法實現了無導數優化。
(3)J. Du等人在2020年發表了文章《Query-efficient Meta Attack to Deep Neural Networks》采用了meta learning來近似估計梯度。該方法可以在不影響攻擊成功率和失真的情況下,大大減少所需的查詢次數。 通過訓練mata attacker,並將其納入優化過程以減少查詢數量。
- Decision-based方法:(黑盒攻擊)
Wieland Brendel等人在2018年提出的基於決策邊界的的方法,這種方法是第三種方法的一種變化,有點像運籌學中的原始對偶方法,保證結果的情況之下,逐漸使得條件可行。通過多次迭代的方式使得條件逐漸收斂。其算法描述如下:

Z Yao 等人在2019年的CVPR上發表的《Trust region basedadversarial attackon neural networks》,這種方法在非凸優化問題上有着非常好的效果

是第j次的trust region的半徑,
是函數
的核函數的近似。通過迭代的方法選擇可信半徑
來查找該區域內的對抗性擾動,以使錯誤類別的概率變為最大
- Attack on Attntion:(黑盒攻擊)
為了在不同的DNN模型中都能夠有比較好的效果,需要從這些DNN都具有共同特性上下手。AoA方法是對score-based的方法的改進,與score-based的方法不同的是,AoA想要改變attention heat map.將注意力從原始類別(非目標類別)轉移到接近目標類別(目標)。
S Chen 等人在2020年發表的《Universal Adversarial Attack on Attention and the Resulting Dataset DAmageNet》是該方面的開山之作,同時設計了一個AoA數據集DAmageNet。
四:對抗攻擊尋找新的應用場景
對抗樣本攻擊首先在image attack中被提出,並得到充分發展。其中主要是在分類與識別場景的神經網絡的攻擊上。
同時,對抗樣本攻擊也在自編碼器和生成模型,在循環神經網絡,深度強化學習,在語義切割和物體檢測等方面也有應用。
- 強化學習RL:Lin等人在《Tactics of adversarial attack on deep reinforcement learning agents》提出了兩種不同的針對深度強化學習訓練的代理的對抗性攻擊。在第一種攻擊中,被稱為策略定時攻擊,對手通過在一段中的一小部分時間步驟中攻擊它來最小化對代理的獎勵值。提出了一種方法來確定什么時候應該制作和應用對抗樣本,從而使攻擊不被發現。在第二種攻擊中,被稱為迷人攻擊,對手通過集成生成模型和規划算法將代理引誘到指定的目標狀態。生成模型用於預測代理的未來狀態,而規划算法生成用於引誘它的操作。這些攻擊成功地測試了由最先進的深度強化學習算法訓練的代理。
- 循環神經網絡:2016年Papernot等人在《Crafting adversarial input sequences for recurrent neural networks》提出
- 語義切割和物體檢測:2018年Carlini N等人在《Audio adversarial examples: Targeted attacks on speech-to-text》提出
五:對抗訓練與對抗防御方法最新總結
- V Zantedeschi 等人在2017年發表文章《Efficient defenses against adversarial attacks》提出了一種雙重defence方法,能夠在對原來模型標准訓練代價影響較小的情況下完成配置。防御從兩個方面入手,其一是通過改變ReLU激活函數為受限的ReLU函數以此來增強網絡的穩定性。另一方面是通過高斯數據增強,增強模型的泛化能力,讓模型能將原始數據和經過擾動后的數據分類相同。
- A Athalye等人在2018年的時候發表文章《Obfuscated gradients give a false sense of security: Circumventing defenses to adversarial examples》在文章中提到 發現了一種「混淆梯度」(obfuscated gradient)現象,它給對抗樣本的防御帶來虛假的安全感。在案例研究中,試驗了 ICLR 2018 接收的 8 篇論文,發現混淆梯度是一種常見現象,其中有 7 篇論文依賴於混淆梯度,並被的這一新型攻擊技術成功攻克。
- A Shafahi等人在2019年發表文章《Universal adversarial training》。作者通過使用交替或同時隨機梯度方法優化最小-最大問題來訓練魯棒模型來防御universal adversarial attack。 同時證明了:使用某些使用“歸一化”梯度的通用噪聲更新規則,這是可能的。
- P Maini等人在2019年的時候發表文章《Adversarial Robustness Against the Union of Multiple Perturbation Models》。在文中,作者證明了在針對多個Perturbation模型的聯合進行訓練時,對抗訓練可以非常有效。 同時作者還比較了對抗訓練的兩個簡單概括和改進的對抗訓練程序,即多重最速下降,該方法將不同的擾動模型直接合並到最速下降的方向。
- R Zhai等人在2020年發表文章《MACER: Attack-free and Scalable Robust Training via Maximizing Certified Radius》這是一種無攻擊且可擴展的魯棒的訓練方法,它可以直接最大化平滑分類器的認證半徑。同時文章證明了對抗性訓練不是魯棒的訓練的必要條件,基於認證的防御是未來研究的有希望的方向!
六:對抗攻擊的用處
- DNN在很多方面已經展示出比人類要好的水平,比如image classification,machine translation等等。
- DNN的可攻擊性,導致了DNN在一些重要領域之內無法大規模部署,極大的限制了DNN的發展。
- 對對抗攻擊有了比較深入的理解之后,才能對對抗防御有比較深入的理解。(We believe:只有更好的攻擊才會有更好的防御,而只有attack的算法更加先進,defence的算法才會隨着更加先進,而且這種先進是和attack算法是否公開沒有必然關聯的。)
具體的用處:比如在圖片和視頻的分類,在面部識別上,等等,舉一個比較小眾,但是確實存在的例子->
各種短視頻盛行的當下,網絡上一方面各種短視頻盛行(其中大量是色情視頻),另一方面是版權問題,很多人把一些火爆的視頻下載下來,稍微修改就上傳上去,從而賺取流量。這兩個問題引起了公眾的極大擔憂,也對內容生產平台的檢測和過濾帶來了很大的技術挑戰,而人工審核成本太高且低效,了解視頻的對抗攻擊有助於防御從而更好的檢測與過濾。
七:研究熱點
- 尋找新的應用場景,從圖片的研究開始,逐漸往NLP和和視頻等的相關場景。
- 尋找新的用來攻擊的網絡,從分類的網絡開始,到RNN,再到強化學習中的神經網絡
- 構建效率更好的對抗攻擊網絡,從原始的最優化的方法開始,到利用meta learning去優化對抗網絡的查詢,可以看一下有什么新的技術可以應用到凸優化之中。
- 對抗防御和對抗訓練的策略,每一種對抗攻擊方法都可以提出一種對抗防御的方法。
- 將GAN與對抗攻擊研究相結合。它可以同時構建效果更加好的對抗樣本和實現讓模型更加魯棒的defence策略。
- 研究一種評估攻擊方法或者防御策略的有效性的評估方法。
八:直觀理解—攻擊一個神經網絡有多難?
實際上只需要改變一個像素即可! 修改一個像素值,就能夠讓神經網絡識別圖像出錯:
可以參考文章: