對抗樣本(六)CPPN EA Fool

一、論文相關信息

  1.論文題目

     Deep neural networks are easily fooled: High confidence predictions for unrecognizable images

  2.論文時間

    2015年

  3.論文文獻

    https://arxiv.org/abs/1412.1897

二、論文背景及簡介

    之前的攻擊方法都是假反例攻擊,即都是將數據集的圖片添加擾動而是分類器識別錯誤。這篇論文從假正例攻擊方式出發,試圖使用進化算法或者梯度上升來生成一個人類識別不出,但是卻能讓機器深信不疑的圖片。這篇論文闡明瞭人類視覺與目前的DNN的差別,並提出了對DNN用於計算機視覺的泛化性的問題。


三、論文內容總結

  • 首次提出假反例攻擊,即:生成人類無法識別的圖片,卻能夠讓神經網絡以高置信度分類成某個類別
  • 使用了多種不同的方法生成圖片,稱爲“fooling images”
    • 普通的EA算法,對圖片的某個像素進行變異、進化
    • CPPN EA算法,可以爲圖像提供一些幾何特性,如對稱等
    • 梯度上升
  • 將fooling images添加到數據集中,作爲n+1類,重新訓練網絡,然後將得到的網絡再生成fooling images,再訓練,如此迭代,來提高模型的防禦能力。
  • 介紹了在MNIST數據集和ImageNet數據集上進行實驗的區別
    • 在MNIST數據集上,由於數據量小,得到的網絡模型的容量小,更容易生成fooling images,也跟難通過 利用fooling images重新訓練模型的方式 來提高其防禦能力
    • 在ImageNet數據集上,數據量大,類別多,得到的網絡模型的容量大,更難生成fooling images,不過由於其容量大,能夠通過重新訓練的方式提高防禦能力
  • 判別式模型 p(yX)\ p(y|X)生成式模型 p(y,X)\ p(y,X) 的對比:判別式模型比生成式模型擁有更好的防禦能力
  • 假反例攻擊爲神經網絡的部署提出了很大的應用問題。

附:如需繼續學習對抗樣本其他內容,請查閱對抗樣本學習目錄


四、論文主要內容

1、介紹

    近來,很多深度模型結構令人讚歎,在的出很好的結果的同時,也引出了一個問題,人類視覺系統和這些模型之間有什麼區別。

    L-BFGS那篇文章給出了一個解釋,用人眼無法分辨的擾動來改變一張圖片,卻可以讓DNN分類錯誤。

    這篇文章提出了另一種來說明區別的方法,即:生成一張人類無法分辨的圖片,卻能夠讓DNN以99%的置信度相信這是某個物體 。我們使用進化算法或者梯度上升來得到這樣的圖片。同時,作者也發現,對於使用MNIST訓練集訓練的DNN來說,使用對抗樣本進行finetune也不能讓DNN擁有良好的防禦能力,即使重新訓練的DNN分類出一部分對抗樣本後,我們仍然可以重新生成一批這個重新訓練的DNN無法防禦的對抗樣本。

    我們的發現,闡明瞭在人類視覺系統與計算機視覺系統的不同,同時引出了DNN的泛化性的問題。


2、方法

2.1 該論文所使用的模型

    作者認爲,小的架構和優化方式的不同不會影響我們的結果,因此,作者選用了AlexNet作爲實驗模型

    爲了說明,我們的結果在其他的深度模型和數據上的結果,我們也使用了在MNIST上訓練的LeNet

2.2 用進化算法生成圖片

    進化算法(evolutionary algorithms)是達爾文進化論啓發下的優化算法。它們包含一個“有機體”(這裏是圖像)羣體,這些有機體交替進行面部選擇(保持最佳狀態),然後進行隨機排列(變異和/或交叉)。選擇哪種有機體取決於擬合函數,在實驗中,擬合函數是DNN對屬於某一類的圖像所作的最高預測值。如圖所示:

在這裏插入圖片描述

    傳統的進化算法只能夠針對一個目標或者是一小部分目標,比如,優化圖像去匹配ImageNet的一個類。在這裏,我們使用了一個新的算法,叫做:multi-dimensional archive of phenotypic elites MAP-Elites ,這個算法可以讓我們同時的進化出一個羣體,如:ImageNet的1000個類。

    MAP-Elites的工作方式如下:它爲每一個類別保存一個最好的有機體(圖像)。在每次迭代過程中,該算法會從羣體(數據集)中隨機的選擇一個有機體,隨機的變異它,如果他在某一類上的擬合程度比之前保存的更好,那麼就替換掉之前的有機體。在這裏,擬合函數是通過將圖像傳給DNN來得到的,即,如果圖像在某一類上有更高的置信度,那麼新生成的圖像,就會替代之前在該類上的最好的那一個。

    我們使用兩種不同的編碼來測試進化算法,來弄明白圖片是如何跟基因組一樣來進行操作的。

    第一種是直接編碼 ,對於MNIST,28×28像素的每一個像素有一個灰度整數,對於ImageNet,256×256像素的每一個像素有三個整數(H,S,V)。每個像素值在[0,255]範圍內用均勻隨機噪聲初始化。這些數字是獨立變異的;首先通過以0.1開始(每個數字有10%的機會被選擇變異)並以每1000次變異下降一半的速率來確定哪些數字是變異的。然後通過多項式變異算子對選擇要變異的數字進行變異,變異強度固定爲15。

    第二種是間接編碼,它更可能生成規則圖像(包含可壓縮模式的圖像(例如,對稱和重複))。間接編碼的圖像往往是規則的,因爲基因組中的元素可以影響圖像的多個部分。具體地說,這裏的間接編碼是一個合成模式生成網絡(CPPN),它可以演化複雜的、規則的圖像,重新組合自然和人造物體。

    由CPPN進化得到的圖像可以被DNN識別,甚至可以被人類識別。如:

在這裏插入圖片描述

    這些圖片是在PicBreeder.org網站上製作的,在這個網站上,用戶通過選擇自己喜歡的圖片作爲進化算法中的適應度函數,這些圖片成爲下一代的父母。

    CPPN類似於人工神經網絡(artificial neural networks (ANNs))。CPPN接收像素的(x,y)位置作爲輸入,並輸出該像素的灰度值(MNIST)或HSV顏色值元組(ImageNet)。與神經網絡一樣,CPPN計算的功能取決於CPPN中的神經元數量、它們之間的連接方式以及神經元之間的權重。每個CPPN節點可以是一組激活函數中的一個(這裏是正弦、sigmoid、高斯和線性),這些激活函數可以爲圖像提供幾何規則性。例如,將x輸入傳遞給高斯函數將提供左右對稱性,將y輸入傳遞給正弦函數將提供上下重複。進化決定了種羣中每個CPPN網絡的拓撲結構、權值和激活函數。

    CPPN網絡在剛開始的時候,是沒有隱藏節點的,隱藏節點會隨着時間來加進來,這讓進化算法可以在變得複雜之前,能夠找到簡單的規則的圖像。

    實驗是在Sferes進化計算框架上完成的。


3、結果

3.1 進化出不規則的圖片來匹配MNIST

注意:這裏的規則與不規則是上一節所指的直接與間接的編碼,由於CPPN會爲圖像提供幾何的規則性(對稱等),所以稱之爲規則的,而直接編碼沒有幾何性質,所以稱爲不規則的。還有一個區別是,CPPN可以進化出能夠識別的圖片,如上圖。而直接編碼進化出來的圖片,無法識別,如下圖。

    我們直接對編碼圖片進行進化,來讓LeNet將其分類爲0~9之間(MNIST)。多次獨立的進化過程反覆產生的圖像,讓DNN能夠有99%的置信度,但讓人類無法識別。

在這裏插入圖片描述
    在50輪迭代後,就有圖片能夠置信度達到99.99%,經過200輪的迭代後,DNN的置信度已經平均有99.99%


3.2 進化出規則的圖片來匹配MNIST

    因爲CPPN編碼能夠生成讓人能夠識別的圖片,所以我們來測試,是否這種規則會給我們帶來更好的結果。其生成的圖片如下:

在這裏插入圖片描述

    經過一小輪的迭代,有圖片能夠置信度達到99.99%,經過200輪的迭代後,DNN的置信度已經平均有99.99%。

    由圖片我們可以看到,被分類爲1的圖片,會有豎直的線,被分類爲2的圖片,在底部會有水平的線。結果表明,EA利用了DNN所學習的特徵來生成的圖片。


3.3 進化出不規則的圖片來匹配ImageNet

    我們對大數據集進行了測試。發現,結果並不成功,哪怕20000次迭代後,也沒有爲很多類生成高置信度的圖片,平均置信度21.59%。當然也有一些成功的,進化算法爲45個類生成了置信度超過99%的圖片。在各類上的置信度如下:

在這裏插入圖片描述


3.4 進化出規則的圖片來匹配ImageNet

    這次使用CPPN來進化圖片。

    在五次獨立的迭代後,CPPN生成了許多置信度大於99.99%的圖片,但是無法被人識別。在經過5000輪迭代後,平均置信度達到了88.11%。

在這裏插入圖片描述

    儘管,人類無法識別由CPPN生成的圖片,但是圖片中確實包含一些類別的特徵。也就是說,我們只需要去生成一個類中的需要的特徵即可,而不需要將所有的特徵都生成出來。

    我們僅僅只需要有這些關鍵的局部特徵 就行,這就讓我們產生的圖片具有驚人的多樣性。這個多樣性是非常顯著的,這是因爲:1、對圖像的微小擾動可以改變DNN所判別的類標籤,因此可能是因爲進化爲所有的類別產生了非常相似的、高置信度的圖像。2、許多圖片在系統學上是相互關聯的,這也就導致進化產生了相似的圖像,如圖:

在這裏插入圖片描述
    這張圖,是指,一種圖像可能同時對三個類別產生較高的置信度,但是我們通過進化,會讓圖像向不同的方向進化,從而產生不同的圖像類型。這說明,我們使用的是每個類別的不同的特徵。

    爲了測試重複是否提高了DNN給出的圖像的置信度,或者重複是否僅僅源於CPPN傾向於生成規則圖像這一事實。我們去除了一些重複的元素來看是都DNN的置信度是否下降。在大多數情況下,置信度確實下降了,這說明,重複可以讓DNN的置信度提高。

在這裏插入圖片描述

    這個結果表明,DNN傾向於去學習低層和中層特徵,而不是學習對象的全局結構。DNN能夠正確地學習全局結構,那麼如果圖像中包含了自然圖像中很少出現的對象子組件的重複,則圖像的DNN置信度得分會更低。

    在這些生成的圖片中,對貓和狗的攻擊的表現比較差,作者說明了兩個可能的解釋:1、數據集中的貓和狗的圖片更多一些,也就意味着,它過擬合程度更低,也意味着其更難去欺騙,這個方面說明,數據集越大,網絡越難被攻擊。2、另一個可能的解釋是因爲ImageNet有太多貓和狗的類了,EA對每一個類很難找到最有代表性的圖片(在該類置信度高,在別的類置信度低),而這對於以softmax爲分類器的DNN來說是很重要的,這個方面說明,數據集的類別越多,越難被攻擊。


3.5 進化得到的圖片具有泛化性

    之前,我們用EA得到了DNN對某一類的特徵,那麼是否所有的DNN對這一類別都是這種特徵呢?我們可以通過對其他DNN進行測試來證明這一點。我們進行了兩個實驗,我們用DNN A來生成圖片,然後輸入到DNN B中,第一種情況是,DNN A和DNN B具有相同的結構和訓練方法,但是初始化方式不同。第二種情況是,兩者用相同的數據集訓練,但具有不同的結構。在MNIST和ImageNet上都做了這個實驗。

    結果顯示,圖片在DNN A 和DNN B 上的置信度都大於99.99%,因此DNN的泛化性可以被EA利用


3.6 訓練網絡來識別這些圖片(防禦方法)

    DNN可以很容易的被我們訓練好的圖片愚弄,爲了進行對抗防禦,那麼我們應該重新訓練一下網絡,使得網絡將對抗樣本分類爲"fooling images"類別,而不是之前的任何類

    作者在MNIST和ImageNet上對上述假設進行測試,操作如下:我們現在某個數據集上訓練一個DNN 1,使用CPPN得到進化的圖片,然後我們把這些圖片添加到數據集上,標籤爲第n+1類。然後我們在新的數據集上訓練DNN 2。

    之後又對上述過程進行了優化,又在DNN 2的基礎上,使用CPPN得到圖片,將得到的圖片仍然記爲n+1類,然後不斷地迭代。在每次迭代過程中,只添加n+1個類當中的m類(隨機選取)的優化的圖片。


3.7 在MNIST數據集上進行防禦

    MNIST數據集總共60000張圖片,共10個類別,平均每個類別6000張。

    我們在第一次迭代中添加了6000張進化得到的圖片(經過了3000次迭代)。每次新的迭代,我們都會增加1000張新得到的圖片到訓練集中。

    作者發現,在重複操作後,LeNet的防禦能力仍然很一般,我們仍然可以通過CPPN生成置信度99.99%的圖片。


3.8 在ImageNet數據集上進行防禦

    這裏是使用的ISLVRC(ImageNet的子數據集),共1281167張圖片,1000個類別,平均每個類別有1300張。

    我們在第一次迭代中添加了9000張進化得到的圖片。每次新的迭代,我們都會增加7*1300張新得到的圖片到訓練集中。如果沒有這種數據的不平衡,那麼使用反例來訓練網絡是沒有用處的。

    在ImageNet上,DNN 2比DNN 1更難通過CPPN生成圖片,且置信度下降。ImageNet的網絡更容易去區分CPPN生成的圖片與原始數據集,因此更容易通過反例的訓練來提高自己的防禦能力


3.9 通過梯度上升來生成圖片

    另一種去生成圖片的方式,是在像素空間內的梯度上升

    我們會計算DNN的softmax的輸出對於輸入的梯度,我們根據梯度來增加一個單元的激活值,目的是去找到一個圖片能夠得到很高的分類置信度。

    這種方法相比於之前介紹的兩種EA算法,能夠生成更多不同的樣本。


4、討論

    通過進化算法,按道理來說,應該會出現兩種情況,一種是我們能夠爲每一個類進化出人類可識別的圖像。第二種是,考慮到局部最優的情況,生成的圖片應該會在所有的類上的置信度都比較低。

    但事實卻與上述相反,我們得到的圖片DNN可識別而人類無法識別,且置信度在某些類別上很高,而在某些類別上很低。作者認爲這是判別模型和生成式模型的不同導致的

    判別式模型,即 p(yX)\ p(y|X) ,給X,來求y。在這種模型的高維輸入空間中,判別模型分配給類的區域可以遠大於該類的訓練樣本所佔用的區域(參見下圖)。遠離決策邊界和深入分類區域的合成圖像可能產生高置信度的預測,即使它們遠離類中的自然圖像。相關研究證實並進一步研究了這一觀點,該研究表明,由於某些判別模型的局部線性性質和高維輸入空間的結合,它們具有很大的高置信區間。

在這裏插入圖片描述

    生成式模型,即 p(y,X)\ p(y,X) ,不僅要計算 p(yX)\ p(y|X) 而且還要計算 p(X)\ p(X) 。這樣的模型更難被攻擊。因爲,當出現對抗樣本時,他們的 p(X)\ p(X) 會很低。當 p(X)\ p(X) 較低時,DNN在此類圖像的標籤預測中的置信度會大打折扣。不幸的是,目前的通用模型並不能很好地擴展到像ImageNet這樣的數據集的高維性,所以測試它們在多大程度上被愚弄必須等待生成模型的發展。

    CPPN EA可以看作是一種能夠可視化DNN所學習到的特徵的一種新奇的方法。


5、總結

    我們證明了判別式DNN模型更容易被欺騙。兩種不同的進化算法能夠生成大量的不同類型的人類無法識別的"fooling images",梯度上升也能夠生成。這些fooling images揭示了人類視覺系統與DNN的識別之間存在的差異。提出了dnn的泛化能力和使用dnn的解決方案的潛在成本的問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章