機器不學習:生成對抗網絡-NIPS 2017對抗樣本攻防賽冠軍算法分享

2020-12-05 機器學習e

對抗樣本是一類被惡意設計來攻擊機器學習模型的樣本。它們與真實樣本的區別幾乎無法用肉眼分辨,但是卻會導致模型進行錯誤的判斷。對抗樣本的存在會使得深度學習在安全敏感性領域的應用收到威脅,如何對其進行有效的防禦是重要的研究課題。我們提出了動量迭代快速符號化梯度法和高層引導去躁算法,分別應用於對抗樣本的攻擊和防禦,取得了NIPS 2017對抗樣本比賽的冠軍。

1.背景知識篇

什麼是對抗樣本?如下圖所示,通過在自然圖片上加入一些人工噪聲來「欺騙」神經網絡,使得神經網絡輸出錯誤的預測結果。

再看下圖的第一行,它表示的是識別不同鳥類的網絡,高亮的部分是網絡中神經元有響應的部位,可以看出響應基本集中在鳥的頭部,即網絡通過識別鳥的頭部特徵來給出預測的鳥類結果。

下圖第二行是一些對抗樣本在該網絡上的表現,可以看到網絡在這些圖像的響應部位與鳥的頭部非常相似,此時網絡會以較高的概率將這些圖像錯誤地識別成某些鳥類。

從上面可以看出,對抗樣本可以用來欺騙網絡,那麼我們如何生成這些對抗樣本來攻擊網絡呢?

一種最簡單的攻擊方法叫做快速梯度法(見下圖),給定一張圖像,輸入給神經網絡,得到預測結果,然後用梯度下降法修改一下原圖使得預測結果變差。

一個推廣的方法叫做迭代梯度法,就是對剛才的過程進行多次重複。這種攻擊稱作白盒攻擊,因為假設攻擊者已經知道了要被攻擊的模型的所有細節。而與之相對的就是黑盒攻擊,顧名思義,攻擊者事先不知道要攻擊網絡的模型和具體細節。

了解完背景知識後,下面我們正式進入NIPS攻防賽的實戰。

比賽共分為三個項目,第一項是targeted attack,給定類別和圖像庫,目標是使得庫中的圖像都被錯分到給定類別上。第二項是non-target attack,即事先不知道需要攻擊的網絡細節,也不指定預測的類別,生成對抗樣本來欺騙防守方的網絡。最後一項是defense,抵禦前兩個項目的攻擊,即需要將前兩個項目生成的對抗樣本分類到正確的類別上。具體的攻防對抗流程和評分標準見下圖:

2.攻擊篇

首先來試一下使用上面提到的FGSM方法進行白盒和黑盒攻擊的效果(見下圖):

其中縱軸表示使用FGSM在這些網絡上生成對抗樣本,給定1000張圖片,每張原始圖片生成一張對抗樣本,即每個網絡生成了1000張對抗抗本。

將縱軸對應的網絡生成的對抗樣本應用在橫軸對應的網絡上,得到正確分類的圖像數目。可以看出紅色的部分(對角線),在不使用對抗樣本訓練時,準確率非常低,但是其推廣性不強,即用自己生成的對抗樣本攻擊自己是有效果的,但是攻擊別的網絡效果不是很好。

接著,我們使用迭代的FGSM方式來生成對抗樣本增加了白盒攻擊的成功率,但是卻降低了黑盒攻擊的成功率。

那麼如何同時保證白盒攻擊成功率和黑盒攻擊成功率呢?我們發現了一個解決方法,即通過在FGSM迭代過程中加入Momentum。公式如下所示:

使用上述動量迭代法後,白盒和黑盒攻擊成功率均有了明顯的上升。最終,促使我們在NIPS攻防賽的targeted attack和non-targeted attack項目中得分遙遙領先,成功奪冠

3.防守篇

剛才我們一直在說如何生成對抗樣本,下面我們來討論如何防禦這些對抗樣本。

實際上,對抗樣本是在原始自然圖像中加入了一些特定的噪聲生成的,這些噪聲並不是人眼不可辨的,我們把圖像局部放大還是能夠明顯看出來存在非常大的差別的。

很自然想到的一個方法來抵禦這些對抗樣本--圖像去噪。目前比較常見的兩種圖像去噪方法:一種是傳統的圖像抗噪方法,如中值濾波或者BM3D去噪。另一種是使用神經網絡的方法。

首先我們嘗試了傳統去噪法,但是效果不佳,於是我們來試試用神經網絡進行去噪的方法。我們使用了存在跨層連接的U-Net結構,並通過上面提到的FGSM方法來生成了大量的對抗樣本作為該網絡的訓練樣本。網絡結構如下所示:

結果:使用U-Net進行圖像去噪,雖然圖像上的絕大部分噪聲被消除了,但是並沒有增加分類準確率。也就是說,使用該方法將圖像去噪後並不能有效抵禦攻擊。

如果我們研究一下噪聲對於深層神經網絡表示的影響。如下圖所示,其中PGD(Pixel Guided Denoiser)指的就是上述圖像去噪方法,我們將對抗樣本和去噪後的圖像輸入到網絡中,計算網絡每一層的特徵的距離。可以發現如果只是普通的噪聲,比如高斯噪聲,這些噪聲的影響會隨著網絡的加深而逐漸變小;但是對於對抗樣本的噪聲,這些噪聲的影響會隨著網絡的加深而逐漸變大。這一趨勢在圖像經過基本的去噪後仍然存在。

既然直接在輸入圖像上來消除噪聲(PGD)並不能減少對抗樣本中噪聲帶來的影響,那麼我們直接將損失函數直接加在網絡高層的特徵層上(HGD)是不是可以抑制誤差的放大。

其中,根據損失函數的添加位置和類型,我們提出了三種HGD:FGD、LGD和CGD。其中FGD和LGD不需要樣本的標籤信息,只需要將原圖和對抗圖像同時輸入網絡後拿到對應層的特徵就好,屬於非監督學習;而CGD和普通的分類網絡訓練一樣需要類別標籤,讓網絡對於對抗樣本也能分到原圖的類別上,屬於監督學習。

從下圖表可以看出,相比於PGD,使用了HGD後各層的誤差都減少了很多。三種HGD均表現出了不俗的抗噪性能。

另外,HGD具有可遷移性。將在一個網絡上訓練好的抗噪器借給另一個完全不同的網絡用,也會起到不錯的抗噪效果,但是值得注意的是將多個抗噪器放在一起組合使用不如單獨使用效果好。

使用了HGD策略,我們最終在NIPS攻防賽的防守項目中大比分領先其他隊伍,斬獲桂冠。

最後總結一下HGD的好處和不足:

好處: 可以獲得更高的抗噪性能;需要更少的訓練樣本和訓練時間;具有可遷移性。

不足: 前提假設是對抗樣本噪聲是可檢測到的;不能完全解決樣本對抗問題;仍然容易遭受白盒攻擊。

論文及PPT下載連結:https://pan.baidu.com/s/1i5Qszx7,密碼:2qc9

更多精彩內容,機器不學習官方學習網站(jqbxx.com)

相關焦點

  • 清華大學團隊包攬三項冠軍,NIPS 2017對抗樣本攻防競賽總結
    所謂對抗樣本,就是對輸入數據進行略微修改,以使得機器學習算法對該輸入給出錯誤的分類結果。在很多情況下,這些修改非常細微,人類觀察者甚至根本不會注意到這些修改,但是分類器卻會因此犯錯誤。對抗樣本攻擊對目前的機器學習系統提出了挑戰,因為即使攻擊者無法訪問基礎模型,也能對機器學習系統發起攻擊。
  • 清華朱軍團隊包攬三項冠軍 | NIPS 2017對抗樣本攻防競賽總結(附學習資料)
    所謂對抗樣本,就是對輸入數據進行略微修改,以使得機器學習算法對該輸入給出錯誤的分類結果。在很多情況下,這些修改非常細微,人類觀察者甚至根本不會注意到這些修改,但是分類器卻會因此犯錯誤。對抗樣本攻擊對目前的機器學習系統提出了挑戰,因為即使攻擊者無法訪問基礎模型,也能對機器學習系統發起攻擊。
  • 專訪| 對抗樣本攻防戰,清華大學TSAIL團隊再獲CAAD攻防賽第一
    同樣在去年,該團隊在 NIPS 2017 AI 對抗性攻防競賽的三項比賽任務中(有/無特定目標攻擊;攻擊檢測),全部獲得冠軍,戰勝了包括斯坦福、約翰霍普金斯大學等世界著名高校在內的 100 多支代表隊,在人工智慧模型的魯棒性和安全性應用方面邁出了重要一步。
  • NIPS 2017 | 清華大學人工智慧創新團隊在AI對抗性攻防競賽中獲得冠軍
    清華大學張鈸院士帶領的人工智慧創新團隊在 NIPS 2017 AI 對抗性攻防競賽中獲得冠軍(指導教師:朱軍、胡曉林、李建民、蘇航
  • 文本也有攻防戰:清華大學開源對抗樣本必讀論文列表
    在自然語言處理領域,對抗樣本的攻擊與防禦近來受到很多研究者的關注,我們希望構建更穩健的 NLP 模型。在本文中,我們簡要討論了攻防的概念,並介紹了清華大學近日開源的 NLP 對抗樣本攻防必讀論文列表。自然語言處理方面的研究在近幾年取得了驚人的進步,深度神經網絡模型已經取代了許多傳統的方法。但是,當前提出的許多自然語言處理模型並不能夠反映文本的多樣特徵。
  • 一文看懂生成對抗網絡
    人工智慧目前的核心目標應該是賦予機器自主理解我們所在世界的能力。對於人類來說,我們對這個世界所了解的知識可能很快就會忘記,比如我們所處的三維環境中,物體能夠交互,移動,碰撞;什麼動物會飛,什麼動物吃草等等。這些巨大的並且不斷擴大的信息現在是很容易被機器獲取的,問題的關鍵是怎麼設計模型和算法讓機器更好的去分析和理解這些數據中所蘊含的寶藏。
  • 學界| 斯坦福論文:馬爾可夫鏈的生成對抗式學習 - 機器之心Pro
    機器之心編譯參與:機器之心編輯部論文地址:https://openreview.net/pdf?id=S1L-hCNtl摘要:我們研究了生成對抗的訓練方法來對馬爾可夫鏈(Markov chain)的轉移算子(transition operator)進行學習,目的是將其靜態分布(stationary distribution)和目標數據分布相匹配。我們提出了一種新型的訓練流程,以避免從靜態分布中直接採樣,但是仍然有能力逐漸達到目標分布。
  • 對抗樣本的基本原理
    生成攻擊樣本時,我們通過某種算法,針對指定的樣本計算出一個變化量,該樣本經過修改後,從人類的感覺無法辨識,但是卻可以讓該樣本跨越分割平面,導致機器學習模型的判定結果改變。如何高效的生成對抗樣本,且讓人類感官難以察覺,正是對抗樣本生成算法研究領域的熱點。
  • 你真的懂對抗樣本嗎?一文重新思考對抗樣本背後的含義
    怎樣才能確保生成的對抗樣本符合這樣的定義?本文深入解析了對抗樣本背後的數學定義,並幫助讀者重新理解對抗樣本的定義。對抗樣本是各種機器學習系統需要克服的一大障礙。對抗樣本的存在表明模型傾向於依賴不可靠的特徵來最大化性能,如果特徵受到幹擾,那麼將造成模型誤分類,可能導致災難性的後果。
  • 程式設計師學習人工智慧,生成式對抗網絡(GAN)1,簡介與算法原理
    一、簡介生成式對抗網絡(GAN, Generative Adversarial Networks )是一種深度學習模型,是近年來複雜分布上無監督學習最具前景的方法之一。模型通過框架中(至少)兩個模塊:生成模型(Generative Model)和判別模型(Discriminative Model)的互相博弈學習產生相當好的輸出。原始 GAN 理論中,並不要求 G 和 D 都是神經網絡,只需要是能擬合相應生成和判別的函數即可。但實用中一般均使用深度神經網絡作為 G 和 D 。
  • GAN(生成對抗網絡)萬字長文綜述
    GAN的基本介紹生成對抗網絡(GAN,Generative Adversarial Networks)作為一種優秀的生成式模型,引爆了許多圖像生成的有趣應用。GAN的基本概念GAN(Generative Adversarial Networks)從其名字可以看出,是一種生成式的,對抗網絡。再具體一點,就是通過對抗的方式,去學習數據分布的生成式模型。所謂的對抗,指的是生成網絡和判別網絡的互相對抗。
  • 生成對抗網絡的最新研究進展
    生成對抗網絡的工作原理給定一組目標樣本,生成器試圖生成一些能夠欺騙判別器、使判別器相信它們是真實的樣本。判別器試圖從假(生成)樣本中解析真實(目標)樣本。使用這種迭代訓練方法,我們最終得到一個真正擅長生成類似於目標樣本的樣本的生成器。GAN 有大量的應用程式,因為它們可以學習模擬幾乎任何類型的數據分布。一般來說,GAN 可以用於處理超低解析度的圖像以及任何類型的圖像翻譯等等,如下所示:
  • 萬字綜述之生成對抗網絡(GAN)
    文章目錄如下:GAN的基本介紹生成對抗網絡(GAN,Generative Adversarial Networks)作為一種優秀的生成式模型,引爆了許多圖像生成的有趣應用。GAN的基本概念GAN(Generative Adversarial Networks)從其名字可以看出,是一種生成式的,對抗網絡。再具體一點,就是通過對抗的方式,去學習數據分布的生成式模型。所謂的對抗,指的是生成網絡和判別網絡的互相對抗。
  • 一文告訴你,NIPS 2017有多火爆 | 附PPT、視頻、代碼大總結
    我認為使用概率編程領域的想法可以幫助解決在追蹤對抗樣本方面的問題。長短期記憶網絡(LSTM)可用於生成一個口語詞的固定長度向量表示,還可以用於模擬嵌入空間的對比損失技術。這種方法也是多視角的,這意味著字符和聲音的表現是共模的。
  • NIPS 2016精華大盤點丨吳恩達、LeCun等大師的論文、PPT都在這兒...
    通過演示(完成)動作序列進行學習,並在不影響真實世界的情況下模擬出結果。8. 但他們也需要一個目標導向的學習方式,同時也需要基於模型的增強學習.9. 預測學習可以在一個以能源為基礎的框架內製定,在不確定的情況下開始學習。10. 在不確定的情況下學習,最有效的辦法是對抗訓練。11. 以能源為基礎的生成式對抗網絡可以合成高解析度圖像。
  • 對抗深度學習:魚(模型準確性)與熊掌(模型魯棒性)能否兼得?
    但最近研究表明,即使是充分訓練好的深度神經網絡模型也很容易被對抗攻擊算法攻破。對抗攻擊是指在圖像上加入特定的且人眼無法察覺的微量噪聲,使得目標模型對加噪之後得到的對抗樣本做出錯誤分類。對抗樣本有可能會導致財產損失乃至威脅生命。
  • 三角獸被 EMNLP 錄取論文精華導讀:基於對抗學習的生成式對話...
    論文中提出了一種新的對話文本對抗生成學習框架,目的是解決文本生成過程中的採樣操作帶來的誤差無法反向傳導的實際問題,從而實現基於對抗學習的聊天回復生成模型。一個直觀的思想,開啟了生成式對抗網絡(Generative Adversarial Networks, GAN)[11]在生成式聊天問題中的曲折探索。
  • NIPS 2017錄用論文先睹為快!GAIR大講堂NIPS清華專場精彩回顧
    鄧志傑現場圖第二位分享嘉賓是清華大學計算機系人智所博士生鄧志傑,分享主題為:結構化生成對抗網絡(Structured Generative Adversarial Networks現有的模型在搭建條件生成器時,往往需要大量的標註數據作為監督信號,而且不能夠準確地對生成樣本的語義信息加以控制。因此他們提出結構化生成對抗網絡(SGAN) 來解決半監督條件產生式建模這個問題。
  • 對抗中的主動防禦——攻防演練及小規模網絡對抗的戰術
    一、序言2016年4月,國家領導人在網絡安全和信息化工作座談會上發表重要講話指出,「網絡安全的本質是對抗,對抗的本質是攻防兩端能力的較量。」同年,《網絡安全法》頒布,出臺網絡安全演練相關規定:關鍵信息基礎設施的運營者應「制定網絡安全事件應急預案,並定期進行演練」。
  • 18個生成對抗網絡(GAN)的絕妙應用!你確定不收藏一下?
    圖片來源:pexels.com/@gravitylicious生成對抗網絡(GAN)是生成模型的一種神經網絡架構。生成模型指在現存樣本的基礎上,使用模型來生成新案例,比如,基於現存的照片集生成一組與其相似卻有細微差異的新照片。GAN是使用兩個神經網絡模型訓練而成的一種生成模型。其中一個稱為「生成器」或「生成網絡」模型,可學習生成新的可用案例。另一個稱為「判別器」或「判別網絡」,可學習判別生成的案例與實際案例。