對抗樣本的反思:僅僅設置更小的擾動閾值 ε,或許並不夠

2020-12-14 雷鋒網

對抗樣本的反思

雷鋒網AI科技評論編者按:對抗樣本是各種機器學習系統需要克服的一大障礙。它們的存在表明模型傾向於依賴不可靠的特徵來最大限度的提高性能,如果受到幹擾,可能會導致錯誤分類,帶來潛在的災難性後果。對抗性樣本的非正式定義可以認為是,輸入被以一種人類難以察覺的方式修改後,機器學習系統會將它們錯誤分類,而沒有修改的原始輸入卻能被正確分類。下圖就說明了這種情況:

圖 1:原始圖像(左),對抗噪聲(中間),被幹擾的圖像被錯誤地分類為 2(右)

左側的「7」是原始輸入,模型能夠正確地將它識別為「7」,但將它與中間的對抗噪聲疊加後,模型卻將它錯誤地識別為「2」。

對抗樣本的正式定義如下:

圖 2:對抗性樣本的定義

其中 ? 是我們嘗試最大化的損失函數,?_orig 是原始圖像,δ 是幹擾因子,y 是基準標籤,選擇 ε 以確保被擾動圖像看起來不太嘈雜,並且看起來仍然像是人類的原始圖像。一些攻擊(例如 FGS,IGS 和 PGD)會使用 L-∞ 範數來約束被擾動的圖像和原始圖像之間的距離。在這篇文章中,我們將探討為 MNIST 數據集挑選合適 ε 的難點。我們還將研究「生成對抗樣本」的最新技術,這種技術不依賴於擾動原始圖像,但我認為這種技術事實上並不嚴格符合對抗樣本的定義。

1.MNIST 距離分析

讓我們先來簡單分析一下同類和不同類圖像之間的平均距離。也許這些距離可以幫助我們以一種更客觀的、量化的方式來選擇 ε 。(雷鋒網)

我們從每一個類中抽取 100 個隨機圖像,並計算在不同範數下圖像之間的平均成對距離。下圖只顯示了 L-2 範數(以避免混亂),主要是因為 L-∞範數熱圖在每個單元格中只有一個 1,並沒有其它信息。

圖 3:L-2 規範訓練集距離,相應代碼可查看 ipynb 文件:http://bit.ly/2Q82Feo

一個合理的假設是,這個熱圖的對角線元素(類內距離)應該低於同一行或同一列中的非對角線元素(類間距離)。然而,與上面說到的情況會有一些不同,類「2」更接近類「1」,而類「8」也更接近類「1」。這猛一看會讓人很吃驚,但它其實表明給定數字的樣式變化可能導致比在數字之間的切換造成更多的像素差異。我們可以這樣來理解,對於每一個數字,都會有一組像素不因該數字的不同樣式而改變,但當兩個不同數字的不變組具有很高的重疊時,就會出現上述的意外結果。

那麼這對 ε 的選擇有什麼影響呢?

2.選擇 ε

根據 Madry 等人[1]的研究,當使用 L-∞範數時,ε一般設置為 0.3;而當使用 L-2 範數時,一般設置為 4.5 這樣大的數值。

如果我們在 L-∞範數下取極端值ε= 1.0,我們將無法控制被擾動圖像的基本真值類,並可能最終生成一個無論對於人類還是我們的分類模型來說都是不同類的圖像。

於是這就允許我們在訓練集和測試集圖像之間進行插值:x'= rx_train *(1-r)x_test。如果我們的模型碰巧對 x_test 進行錯誤分類,那麼它將被標記為對抗性的。因此,下面這兩個條件應當得到保證:

在將原始圖像 x 與其擾動版本 x'並列比較時,人類無法察覺到這種擾動;擾動不會導致相同數字的圖像之間進行插值,否則會使對抗魯棒性與泛化性能相混淆。對於給定的數字 d 和測試集圖像 x_correct 和 x_false,我們的模型分別對它們進行了正確和錯誤的分類,一個簡單的對抗攻擊就是將 x_correct 轉換為 x_false。對於觀察者來講,條件(1)通常意味著條件(2)。那麼,條件(2)是否意味著條件(1)呢?ε= 0.3 當然滿足條件(2),因為所有圖像的 L-inf 距離都接近 1.0。讓我們來看看如果生成如下 2 個類的組合的圖像會發生什麼。

圖 4:在 L-∞距離約束下的平均圖像

將原始圖像和精製圖像之間的 L-∞距離限定為 ε ,但任何人類都可以輕鬆區分兩個圖像之間的差異,如下圖所示:

圖 5:在原始ε= 0.3 L-inf 距離內製作的圖像

很明顯,最右邊的圖像有一些不足之處。事實上,如果沒有被告知這是一個由 0 和 1 組合而成的圖像,有些人可能會說它只是一個抽象的符號。

因此,通過這個簡單的例子,我們可以看出 ε= 0.3 違反條件(1)。其它較小的值如 ε= 0.2 也會得到類似的結果。MNIST 數據集允許輕鬆識別被擾動的像素。在很多情況下,僅通過簡單地檢查是否對背景像素進行了修改,就可以為對抗樣本創建檢測機制。但如果攻擊者知道有這種檢測機制,那麼他們可以繞過這種(Carlini and Wagner[ 2 ])。

那我們又該怎麼選擇 ε 呢?

一種方案就是對不同的圖像使用不同的ε。對於某些類,很容易判斷在數字本身的邊界框內是否已經更改了像素,如上面的例子所示。對於這些類,ε 應該設置為較小的值。

此外,當用於計算圖像空間中的距離時,諸如 L-2 或 L-∞的典型範數沒有語義相似性的概念。如果他們能夠在輸入空間中給出圖像之間的語義相似性,那麼就有可能構建一個簡單的 KNN 圖像分類器,並能輕鬆超越過去 7 年中卷積神經網絡的成就。

一個可能的方案是使用度量學習中的技術。通過學習嵌入,這些嵌入之間的 L-2 或 L-∞距離包含語義相似性的概念,那麼我們可以在這個嵌入空間(而不是輸入空間)中調整ε。

圖 6:三重網絡的作用

有一種被稱為三重網絡(triplet networks)的技術使用的正式這種方案。三重網絡將 3 幅圖像同時傳遞給同一個嵌入網絡來並行運行,並通過類 y 的錨,以及同一類的正例(+)和不同類 y'的負例(-)。損失函數確保了錨和正例之間的距離至少小於錨和負例之間的距離。

使用像三重網絡這樣的度量學習技術仍然需要手動驗證,以確保選擇的ε不會太大,以至於允許在類上發生變化。此外,我們必須考慮條件(2),它表示我們不應該使用擾動從數據集中的一個圖像跳轉到同一個類的另一個圖像。

PGD 的攻擊是在損失函數梯度方向上迭代增加損失,然後將得到的圖像投影到滿足原始圖像距離約束的輸入子空間上。在這裡,我們可以不在輸入子空間上進行投影,而是在剛才提到的使用度量學習算法的嵌入空間進行投影。

3.生成對抗樣本

傳統上,對抗樣本都是通過使用反向製造噪音的方法幹擾一些已經存在的圖像。而 Song 等人[3]則提出了一種非常酷的生成對抗樣本的方法,他們使用 GAN 直接從頭開始生成能夠欺騙被攻擊模型的圖像。

具體來說就是,他們使用了一個輔助分類器 GAN(AC-GAN),能夠對圖像類進行條件設置,以便控制正在生成的圖像類型。這導致會生成「不受限制的對抗樣本」,因為沒有約束距離(圖像是從頭開始生成的)。

不過這裡需要強調,他們的方法既不滿足前面提到的條件(1)也不滿足條件(2)。

雖然他們的技術非常有用,並且用生成能夠欺騙模型的新圖像可以進行模型調試以及數據增強,但他們的分析卻將泛化性能和對抗性魯棒性看做一回事。

事實上,若想正確分析模型的魯棒性,我們需要能夠將泛化性能和對抗魯棒性這兩個指標分開,因為它們並不一樣,具體可以參看 Tsipras 等人[4]最新的研究工作。

因此,儘管人們可能會放棄「基於幹擾的對抗樣本」的定義,但就目前而言,它們是唯一允許以獨立的、非混淆的方式研究對抗魯棒性的方法。

4. 總結

對於諸如 MNIST 這類的數據集,對抗樣本的當前定義還存在著些許不足,但是對於類似 ImageNet 的內容還是很有意義的,因為在 ImageNet 中幹擾因子很難被注意到,也不會使圖像看起來像是奇怪的組合。對每個圖像或每類圖像使用相同的閾值 ε 可能是一種懲罰性要求,因為這會更容易檢測特定類別圖像的噪聲。

圖像是一種可視化的數據類型,人類自然容易分析和判斷是否有可疑的東西存在。然而,在很多領域中,數據都是以數字的抽象向量的形式出現,這些向量很難理解和可視化。在這些領域中定義什麼是對抗可能已經超出了我們想像的範圍,因為我們一開始就無法理解原始數據。在這種情況下,提出 ε 的定量方法是必須的。

雷鋒網編輯。via:http://1t.click/akDc

參考文獻:

[1] Madry et al. https://arxiv.org/pdf/1706.06083.pdf

[2] Carlini and Wagner, https://arxiv.org/pdf/1705.07263.pdf

[3] Song et al. https://arxiv.org/pdf/1805.07894.pdf

[4] Tsipras et al. https://arxiv.org/pdf/1805.12152.pdf

雷鋒網報導

相關焦點

  • 你真的懂對抗樣本嗎?一文重新思考對抗樣本背後的含義
    下圖闡明了這一概念:原始圖像(左圖),對抗噪聲(中圖),擾動後的圖片即對抗樣本(右圖)被錯誤地分類為數字 2對抗樣本的正式定義如下所示:對抗樣本的定義其中 L 是我們試圖最大化的損失函數,x_orig 是原始圖像,是擾動,y 是真實標籤,所選的
  • 神經網絡中的對抗攻擊與對抗樣本
    存在即合理,人類的視覺尚且如此,在沒有深入了解神經網絡的情況下,什麼樣欺騙機器的樣本其實都應該是很合理的存在。接下來,我們就了解一下對抗攻擊和對抗樣本出現的來龍去脈。其中,黑/白盒表示是否需要有訓練模型的先驗知識,如訓練用的網絡結構、參數、超參數、訓練樣本等,黑盒攻擊可以在完全不知道或僅知道有限知識的條件下完成攻擊,目標分類針對性表示的是對於攻擊樣本的目標分類是否有指向性還是僅僅使其預測錯誤即可,圖片針對性表示攻擊方式是否跟特定的圖片有關,擾動範式指的是對噪音的限制計算方式
  • 清華大學團隊包攬三項冠軍,NIPS 2017對抗樣本攻防競賽總結
    針對對抗樣本的攻擊和防禦的研究有很多的困難之處,其中一個原因是很難評估一個提出的攻擊方式或者防禦措施是否有效。對於傳統的機器學習,假設已經從獨立同分布的數據集中分出了訓練集和測試集,那麼就可以通過計算測試集的損失來評估模型的好壞,這是一種很簡單的方法。但是對於對抗機器學習,防禦者必須應對一個開放的問題,即攻擊者將發送來自未知分布的輸入。
  • ACL2020|使用強化學習為機器翻譯生成對抗樣本
    對抗樣本通過對普通測試輸入進行微小擾動(以不改變人期望輸出為準),並以劣化系統輸出為目標得到。當前神經機器翻譯(neural machine translation, NMT)系統在實用場合常常會出現用戶難以預計的錯誤,這些錯誤甚至存在消極的社會影響。而基於用戶反饋進行的維護通常也是在這些錯誤產生後才能進行,開發者更希望在上線前就能進行大量的測試進行預防性維護。
  • 對抗樣本研究新進展:區域攻擊比像素攻擊更有效(電子科技大學未來媒體研究中心ECCV'20系列論文介紹)
    雖然現有的一些深度學習模型已經表現出了超越人類的表現,但是隨著對抗機器學習(Adversarial machine learning)近幾年來逐漸進入人們的視野,各種場景下的對抗樣本(Adversarial example)的出現也引起人們對於AI智能的擔憂。
  • 一文讀懂對抗機器學習Universal adversarial perturbations|CSDN...
    v是一個擾動,v滿足:同時,還有一個範數的約束:換句說,需要找到一個對抗擾動v,這個擾動可以加到所有的樣本點上,而且會以1δ的概率讓對抗樣本被分類錯誤。作者提出了一種算法來尋找這種對抗擾動:其中:表示把尋到到的擾動v限制在範數下以ε 為半徑的球上。
  • PyTorch專欄(十二):一文綜述圖像對抗算法
    2.FGSM(Fast Gradient Sign Attack)快速梯度標誌攻擊(FGSM),是迄今為止最早和最受歡迎的對抗性攻擊之一,它由 Goodfellow 等人在[Explaining and Harnessing Adversarial Examples](https://arxiv.org/abs/1412.6572)中提出,是一種簡單但是有效的對抗樣本生成算法。
  • 文本也有攻防戰:清華大學開源對抗樣本必讀論文列表
    在自然語言處理領域,對抗樣本的攻擊與防禦近來受到很多研究者的關注,我們希望構建更穩健的 NLP 模型。在本文中,我們簡要討論了攻防的概念,並介紹了清華大學近日開源的 NLP 對抗樣本攻防必讀論文列表。自然語言處理方面的研究在近幾年取得了驚人的進步,深度神經網絡模型已經取代了許多傳統的方法。
  • 對抗樣本的基本原理
    概述對抗樣本是機器學習模型的一個有趣現象,攻擊者通過在源數據上增加人類難以通過感官辨識到的細微改變,但是卻可以讓機器學習模型接受並做出錯誤的分類決定。一個典型的場景就是圖像分類模型的對抗樣本,通過在圖片上疊加精心構造的變化量,在肉眼難以察覺的情況下,讓分類模型產生誤判。
  • IJCAI 2019 提前看|神經網絡後門攻擊、對抗攻擊
    雖然現有的攻擊方法已經非常有效,但它們只關注目標模型採用靜態輸入的情況,即攻擊者可以觀察整個原始樣本,然後在樣本的任何點添加擾動。但這些攻擊方法不適用於目標模型採用流輸入的情境,即攻擊者只能觀察過去的數據點並向輸入的剩餘(未觀察到的)數據點添加擾動。*本文提出了實時對抗攻擊的概念*,展示了如何通過設計實時擾動生成器來攻擊基於流的機器學習模型,並通過實時語音處理案例證明了所提出方法的有效性。
  • 深度神經網絡中的對抗樣本與學習7篇文章
    本文表明,即使在物理世界場景中,機器學習系統也容易受到對抗樣本的影響。作者列印清晰圖片和對抗圖像,並拍攝列印的圖像,將這些照片裁剪後送入分類器。該過程通過手動攝影進行,並且不需要仔細控制照明等引入多餘變量,具有根據微妙變化破壞對抗擾動的潛力。
  • L2正則化視角下的對抗樣本
    許多研究已經證實,深層神經網絡容易受對抗樣本影響。通過在圖像中加入一些細微擾動,分類模型會突然臉盲,開始指貓為狗、指男為女。如下圖所示,這是一個美國演員人臉分類器,輸入一張正常的Steve Carell圖像後,模型認為照片是他本人的概率有0.95。但當我們往他臉上稍微加了點料,他在模型眼裡就成了女演員Zooey Deschanel。
  • NLP中的少樣本困境問題探究
    如上圖所示,採樣原始標註數據的1%作為少樣本場景的設置,其發現BART表現最好,文中也做了相應對比實驗發現:AE模型BERT在做文本增強後,容易被約束產生相似的文本序列,且擅長保存標籤信息。AR模型GPT-2在做文本增強後,不受約束地生成文本,不擅長無法保留標籤信息。
  • 復旦大學李林陽:應用預訓練模型實現對抗樣本生成的高效方法
    李林陽:復旦大學  NLP group2019級研究生;導師為邱錫鵬教授;儘管深度學習取得了成功,但最近的研究發現神經網絡容易受到對抗樣本的攻擊,這些對抗樣本是對原始輸入進行細微擾動而製成的。儘管對抗性樣本對於人而言幾乎不可察覺,但是它們會誤導神經網絡進行錯誤的預測。
  • ACL 2018 俄勒岡大學:HotFlip:文本分類的白盒對抗樣本
    通過使用這些樣本作為訓練數據,對抗性訓練學習到了更健壯的模型,甚至可以在非對抗樣本上執行得更好。關於NLP系統漏洞的研究越來越多。以前的工作集中在在黑盒設置中創建對抗樣本的啟發式方法上,而沒有任何模型參數的明確知識。在白盒設置中,我們使用模型的完整知識來開發最壞情況下的攻擊,這可以揭示更大的漏洞。
  • 如何解決少樣本困境?「文本增強+半監督學習」雙管齊下!
    對抗增強:不同於CV領域利用GAN生成對抗進行數據增強[9],NLP中通常在詞向量上添加擾動並進行對抗訓練,文獻[10]NLP中的對抗訓練方法FGM, PGD, FreeAT, YOPO, FreeLB等進行了總結。
  • 文本對抗攻擊基礎、前沿及相關資源
    但相比於圖像領域,文本領域對抗攻擊的研究還遠遠不夠。特別是文本離散的特點使得對抗樣本的生成更具挑戰性,也有更多的研究空間。這樣的設定稱為白盒(White-Box)設定,相應的對抗攻擊被稱為基於梯度的攻擊(Gradient-Based Attack)。和白盒設定相對的是黑盒(Black-Box)設定,在這種設定下,攻擊者無法得知受害模型的內部結構及參數,僅僅可以調用受害模型來獲取其相對於給定輸入的輸出結果。
  • 文本增強、半監督學習,誰才是 NLP 少樣本困境問題更優的解決方案?
    對抗增強: 不同於CV領域利用GAN生成對抗進行數據增強[9],NLP中通常在詞向量上添加擾動並進行對抗訓練,文獻[10]NLP中的對抗訓練方法FGM, PGD, FreeAT, YOPO, FreeLB等進行了總結。
  • 基於二階相位擾動的DDS雜散抑制新方法
    1.2 雜散分析  DDS的工作原理決定了其輸出雜散豐富,其中主要的雜散來源有3個方面:(1)相位截斷誤差εp(n),採用N位相位累加器的高W位尋址,截去低B=N-W位。由此引入了相位截斷誤差。(2)幅度量化誤差εA(n),ROM中存儲的正弦值是用有限的L位表示,這就產生了幅度量化誤差。(3)DAC轉換誤差εDA(n),由實際DAC器件的非理想特性引起。
  • 萬字長文 | 對抗魯棒性簡介
    一個對抗樣本的例子。左:一張乾淨圖片,被模型正確分類為熊貓。中:擾動。右:擾動後的熊貓圖片,被模型識別為長臂猿。對抗樣本(Adversarial Examples)一詞首次出現在Szegedy等人在ICLR 2014的一篇論文裡[3]。通過對測試集的圖片添加微小的擾動,導致神經網絡對其誤分類(而人類依然能夠正確分類),可以使得經過良好訓練的神經網絡的準確率降為0。