《EARLY METHODS FOR DETECTING ADVERSARIAL IMAGES》閱讀筆記
論文翻譯,如有侵權,告知刪除。
機翻略改,如有不對,歡迎指正。
摘要
許多機器學習分類器容易受到對抗干擾。對抗性擾動修改輸入以改變分類器的預測,而不會使人類感知到影像有實質性的不同。我們部署了三種方法來檢測對抗影像。試圖繞過我們的探測器必須使對抗影像不呈現明顯的異常,否則他們將被檢測出。我們最佳的檢測方法顯示,對抗性影像會異常強調主成分分析中排名較低的主成分。其他檢測器和彩色顯著性圖見附錄。
1、簡介
影像可能會經歷輕微但異常的修改,導致機器學習系統錯誤分類,而人類幾乎無法注意到這些擾動。這些型別的被操縱影像是對抗性影像,它們的存在表明了機器學習分類器的弱點以及人類和計算機視覺之間的脫節。
這種出乎意料的分歧可以讓攻擊者利用一些深度學習系統。例如,對抗性影像可能導致深度學習分類器錯誤地識別手寫數字,從而欺騙分類器誤讀支票上的金額(Papernot等人,2016b;Kurakin等人,2016)。其他愚弄資料可以避開使用深度學習後端的惡意軟體檢測器或垃圾郵件過濾器(Grosse等人,2016年)。更糟糕的是,生成對抗影像不需要對所使用的深度學習系統有準確的瞭解,這使得攻擊者能夠對各種分類系統實現一致的控制(Szegedy等人,2014年;Papernot等人,2016a)。
本文在檢測對抗影像方面取得了一些進展,並提出了一種新的顯著性圖,使網路分類決策更容易理解。我們首先介紹我們的第一種檢測方法,它揭示了對抗影像異常地強調主成分,而這些成分在資料中幾乎沒有變化。我們的第二種方法使用了Hendrycks&Gimpel(2017)的觀察結果,其中指出正確分類和不服從分佈的樣本往往具有不同的softmax分佈,但現在我們將其應用於對抗性影像。對於我們的第三種檢測方法,我們表明如果解碼器使用分類資訊,對抗性影像重建可能比干淨影像重建更糟糕。對手試圖繞過我們的探測器的嘗試要麼失敗,要麼迫使對手對乾淨的影像進行更大的修改。對抗性影像與乾淨影像相比,低等級主成分的係數差別較大
2、檢測敵方影像原理
2.1 PCA白化對抗影像
我們現在展示三種對抗性影像檢測方法中的第一種。對於第一個檢測器,我們需要PCA白化或“球體”一個輸入。要做到這一點,我們必須將訓練資料集中在0附近,計算中心化資料的協方差矩陣,然後求出C=U∑VT的SVD。我們可以通過一個輸入樣本x,計算∑−1/2UTx,得到PCA白化輸入。下圖是不同資料集上,通過不同生成對抗攻擊方法生成的對抗樣本與原始樣本的主成分系數
如圖1所示,對抗性影像的主成分的係數方差始終較大。事實上,我們使用係數方差作為檢測對抗影像的唯一特徵。在這個實驗中,我們嘗試使用方差來檢測Tiny-ImageNet、CIFAR-10和MNIST影像是否應用了對抗性擾動。為了減少本實驗中出現錯誤的機率,除了我們自己為CIFAR-10和MNIST實現的對抗影像生成器之外,我們還使用了一個經過預訓練的Tiny-ImageNet分類器和github(Voss,2015)提供的一個流行的、已有的對抗性影像生成器。對於Tiny-ImageNet測試集影像,在我們減去平均值之前,每個畫素都在範圍[0,255]內。對於這些影像,我們建立快速梯度符號(步長為10)並迭代生成(步長為1)對抗性影像。對於CIFAR-10和MNIST測試集影像,快速梯度符號對抗影像的步長為10/255,迭代生成的影像使用1/255的步長,所有這些都具有λ=10-3的二範數正則化強度。這些步長很小,因為資料域的寬度是1而不是255。所有對抗性的例子在每一個下降步驟之後被裁剪,以確保對抗性擾動在正常影像邊界內。最後,對於隨機選擇的目標類,只有當softmax預測概率大於50%時,我們才保留對抗影像。現在,我們計算通過計算乾淨影像和對抗影像的係數方差來獲得檢測器值。這些方差值來自每個白化輸入的一個子部分。具體地說,我們選擇從PCA白化的Tiny-ImageNet輸入到最後的10000個特徵向量,並從該向量分段計算一個方差值。對於每個CIFAR-10白化影像,我們計算從第2500個特徵向量開始的條目的方差。對於MNIST,我們計算從第700個位置開始的特徵向量的方差。如表1所示,對於使用快速梯度符號和迭代方法生成的對抗影像,方差通常更大。
我們也可以嘗試讓對抗影像具有典型的差異,但這似乎失敗了。在快速梯度符號對抗影像的情況下,每幅影像經過一大步後生成,影像的係數方差隨著這一大的修改而爆炸。要了解這一點,請考慮前面提到的白化Tiny-ImageNet、CIFAR-10和MNIST樣本的係數小節。所有快速梯度符號對抗影像的係數方差都超過了乾淨影像的平均係數方差的10個標準差。值得注意的是,在MNIST的情況下,100%的快速梯度符號影像的係數方差與乾淨影像的平均係數方差相差超過100億個標準差。同樣,迭代生成的對抗性影像無法獲得典型的方差。對於MNIST,我們重複前面描述的迭代生成過程,但是我們限制了搜尋過程。在這些限制條件下,搜尋過程無法生成任何敵對的MNIST數字。我們沒有嘗試將這些約束轉換為微型ImageNet,因為從github獲取的流行程式碼庫與主流庫有很大不同。然而,如果我們將這些約束條件轉換為CIFAR-10影像,則92%的隨機選擇的乾淨影像不能轉換成具有令人滿意的係數方差的對抗影像。總之,對於快速梯度符號和迭代對抗性影像,支援典型的係數方差似乎很困難。
實驗
評估
為了證明我們檢測敵方影像的三種方法是正確的,我們需要建立我們的檢測器評估指標。對於檢測,我們分為兩個類,檢測器輸出正(敵對)和負(乾淨)類的分數。為了評估我們的檢測器,我們不報告檢測精度,因為準確度取決於閾值,並且選擇的閾值應該在假負例(fn)和假正例(fp)之間的權衡而變化。
面對這一問題,我們採用了(AU-ROC)度量下的面積,這是一種與閾值無關的效能評估(Davis&Goadrich,2006)。ROC曲線是一個顯示真正率(tpr=tp(tp+fn))和假正率(fpr=fp(fp+tn))的圖形。此外,AU-ROC可以解釋為對抗樣本比干淨樣本具有更高的檢測器得分/值的概率(Fawcett,2005)。因此,一個隨機正樣本檢測器對應於50%的AUROC,“完美”分類器對應於100%。
AUROC迴避了選擇閾值的問題,精度召回曲線(AUPR)下的區域有時被認為更具資訊量(Manning&Schutze,1999年)。一個原因是,當正類和負類的基本利率有很大差異時,AUROC並不理想,這在實踐中可能會發生。PR曲線描繪了精確度(tp(tp+fp))和召回率(tp(tp+fn))之間的相互關係。基線檢測器的AUPR等於精度(Saito&Rehmmeier,2015),“完美”分類器的AUPR為100%。為了說明分類器在精確度和召回率方面的表現,我們還展示了AUPR。
檢測方法
1、對抗影像的SOFTMAX分佈
Hendrycks&Gimpel(2017)指出,許多不服從分佈的樣本往往與服從分佈的樣本有不同的softmax輸出向量。例如,服從分佈的樣本往往比不服從分佈的樣本的softmax向量有更大的最大概率。類似地,對於乾淨樣本,均勻分佈U的softmax分佈p的KL散度比不服從分佈的樣本更大。因此,當預測類概率在50%左右時停止修改的對抗樣本通常很容易與乾淨樣本區分開來,因為在許多工中,乾淨樣本的最大softmax概率往往大於50%。通過考對抗影像的softmax分佈,我們可以很容易地檢測出影像是否具有對抗性。
Softmax分佈指標可以進行博弈,但這樣做後,對抗性影像就變得不那麼異常了。為了說明這一點,我們通過限制對抗性影像生成過程,建立了一個具有與乾淨樣本類似的softmax分佈的對抗性影像。在本實驗中,我們選取正確分類的CIFAR-10測試影像,計算出softmax輸出分佈在10個元素上的均勻分佈的KL散度的標準差。我們迭代地建立一個對抗影像,步長為1/255,正則化強度為10-3,並在每一步之後剪下影像。然後,我們用一個與平均KL散度成比例的半徑來約束搜尋過程。這個邊界是通過在損失上新增對數屏障來實現的。有了這些界限,生成器必須在1000步內以典型的KL散度構建一個對抗影像。如果它成功了,我們有一個“建立成功”。在表2中,我們觀察到用有限半徑約束搜尋過程會大大增加距離。因此,要獲得一個典型的softmax分佈,對抗影像質量必須下降。
2、用LOGITS重建對抗影像
我們的最終檢測方法是通過比較輸入和它們的重建。在這個實驗中,我們訓練一個MNIST分類器並附加一個輔助解碼器來重建輸入。有時已知輔助解碼器可提高分類效能(Zhang等人,2016)。我們使用尺寸為256的隱層,建議使用Adam優化器和GELU 啟用函式。自動編碼器的瓶頸只有10個神經元。最重要的是,我們還提供logits,即softmax的輸入,進入瓶頸層。在訓練之後,我們像以前一樣通過迭代過程建立對抗性影像,只是我們將正則化強度增加了1000倍,達到了λ=1。現在,如圖3所示,對抗影像的重建看起來不典型。根據這一觀察結果,我們建造了最後的探檢測器。檢測器的輸入分數是輸入影像及其重建的平均差。對抗影像和重建影像之間的差異比干淨的影像更大,因此我們可以從一個乾淨的示例中檢測到一個對抗性示例,AUROC為96.2%,AUPR為96.6%,其中基線值為50%。因此,輸入及其重建之間的差異可以允許對抗影像檢測。
3、顯著性圖
現在讓我們停止考慮敵對影像,轉向另一個不同的人工智慧安全目標。這個目標是使神經網路更易於解釋。理解網路分類的一個常見方法是通過顯著性對映。製作顯著性圖的一個簡單方法(Zeiler&Fergus,2014)是通過計算網路logits相對於輸入的梯度,並在不修改權重的情況下反向傳播錯誤訊號。然後,當誤差訊號反向穿過網路後,我們可以將得到的梯度顯示為影像,這將顯示影像的顯著部分。最近提出的一種改進顯著性對映的技術是引導反向傳播(Springenberg et al.2015)。為了理解引導反向傳播,讓我們建立一些符號。
現在在平時的訓練中
在引導反向傳播中
如果我們改為讓我們可以顯著地改進得到的顯著性圖,這就是我們的顯著圖
圖4展示了的結果,我們使用預先訓練的VGG-16模型(Dieleman,2015;Simonyan和Zisserman,2015)。正顯著性圖由正梯度值組成。在第一個列中,網路將這片沙漠景象歸類為湖邊。我們的顯著性地圖顯示,把雲彩塗得更藍會增加logits,使陽光下的天空更橙色也會。
由此我們可以推測雲是湖邊的水,天空是海岸。接下來,被解釋為水蛇的魚有一個顯著的地圖,背景類似於水,魚的鱗片更綠,更像水蛇。同樣,通過我們的顯著性圖,我們可以看到魚的一些白色區域變為橙色,這將增加logits。同時,引導反向傳播顯示了魚的眼睛。最後,我們的顯著性圖表明,藍色的天空與較暗的較低區域形成對比,會進一步增加logits,這表明藍天在影像的海濱錯誤分類中所起的作用。總的來說,這個新的顯著性地圖允許視覺化更清晰的顯著性來源。
結論
雖然我們展示了一些不同的檢測器,但未來的特別攻擊可能會完全繞過這些檢測器。實際上,softmax分佈探測器已經可以繞過。但正如我們所見,對抗影像必須扭曲自身以避開探測器,從而降低其攻擊水平。我們可以擴充套件這個想法,並得出結論,可能有更好的攻擊線來阻止對抗影像。與其尋找一種統計方法或一種架構技巧來阻止所有的對抗攻擊,不如使用組合檢測器來更有效地降低影像的欺騙能力。任何狹義的尺度都可以博弈,但對於一個由幾個強但不完美的預測因子組成的集合而言,這並不一定如此。因此,攻擊對抗影像的另一種方法是通過組合探測器。這些可以通過迫使對手的干擾變得越來越明顯來防禦對抗影像。
在這項工作中,我們展示了檢測對抗影像和視覺化影像顯著區域的技術。未來的研究可能會增加這種新的探測器,因為組合探測器可能是防禦對抗影像的可行途徑。未來可能的檢測器需要注意。比如說,一張對抗照片把一條街道劃為一輛坦克。由於對抗影像攻擊似乎不是區域性的(Luo et al.,2015),坦克炮塔的注意力可能分散或均勻分佈在影像上,因此異常且可檢測。其他的工作可能是有效的,但幾乎無害的預處理,以阻止對抗干擾。例如,我們的一個初步實驗表明,如果CIFAR-10影像在[0,1]中,我們可以對畫素進行平方,應用一個輕微的高斯模糊,取結果的平方根,影像通常不再欺騙網路,從而使我們能夠檢測到對抗攻擊。如果對抗生成器通過更多的優化來預期這種預處理,新的對抗影像的範數必須平均增加35%。這種預處理技術和其他預處理技術可以進一步研究,以新增到防禦系統中。最後,關於不服從檢測或錯誤檢測的任何一般工作(Hendrycks&Gimpel,2017)都可能直接轉移到這種對抗性環境中。未來的研究可以記住,雖然對抗攻擊對人眼是看不見的,但我們現在知道,這些擾動可以極大地影響底層影像的統計、重建或其softmax分佈,從而實現檢測。
相關文章
- [論文閱讀筆記] Adversarial Learning on Heterogeneous Information Networks筆記ORM
- CIAGAN: Conditional Identity Anonymization Generative Adversarial Networks閱讀筆記IDE筆記
- [論文閱讀筆記] Adversarial Mutual Information Learning for Network Embedding筆記ORM
- 論文解讀(ARVGA)《Learning Graph Embedding with Adversarial Training Methods》AI
- 閱讀筆記筆記
- 論文解讀( FGSM)《Adversarial training methods for semi-supervised text classification》AI
- 閱讀筆記4筆記
- 閱讀筆記3筆記
- 閱讀筆記5筆記
- 【閱讀筆記:字典】筆記
- 閱讀筆記2筆記
- 閱讀筆記1筆記
- 閱讀筆記8筆記
- 閱讀筆記03筆記
- 閱讀筆記02筆記
- 閱讀筆記7筆記
- gdbOF閱讀筆記筆記
- GoogleNet閱讀筆記Go筆記
- JDK原始碼閱讀:String類閱讀筆記JDK原始碼筆記
- JDK原始碼閱讀:Object類閱讀筆記JDK原始碼Object筆記
- SiamRPN++閱讀筆記筆記
- Flownet 2.0 閱讀筆記筆記
- 《Clean Code》閱讀筆記筆記
- 《潮騷》閱讀筆記Ⅱ筆記
- 閱讀影片方法筆記筆記
- Dependencies for Graphs 閱讀筆記筆記
- Keys for graphs閱讀筆記筆記
- JDK原始碼閱讀(7):ConcurrentHashMap類閱讀筆記JDK原始碼HashMap筆記
- JDK原始碼閱讀(5):HashTable類閱讀筆記JDK原始碼筆記
- JDK原始碼閱讀(4):HashMap類閱讀筆記JDK原始碼HashMap筆記
- 《Effective DevOps》閱讀筆記 82dev筆記
- Koa 原始碼閱讀筆記原始碼筆記
- 《Effective DevOps》閱讀筆記 59dev筆記
- 《Effective DevOps》閱讀筆記 19dev筆記
- MapReduce 論文閱讀筆記筆記
- The Data Warehouse Toolkit 閱讀筆記筆記
- CopyOnWriteArrayList原始碼閱讀筆記原始碼筆記
- ArrayList原始碼閱讀筆記原始碼筆記