Explaining and Harnessing Adversarial Examples
Explaining and Harnessing Adversarial Examples
包括神經網絡在內的一些機器學習模型,始終對對抗性樣本進行錯誤分類–通過對數據集中的例子應用小的但有意的最壞情況下的擾動形成的輸入,這樣擾動的輸入導致模型以高置信度輸出一個錯誤的答案。早期解釋這種現象的嘗試集中在非線性和過擬合上.我們反而認為,神經網絡對對抗性擾動的脆弱性的主要原因是它們的線性性質。這種解釋得到了新的定量結果的支持,同時給出了關于它們最有趣的事實的第一個解釋:它們在架構和訓練集之間的泛化。此外,這種觀點還產生了一種簡單而快速的生成對抗性例子的方法。利用這種方法為對抗性訓練提供實例,我們減少了MNIST數據集上maxout網絡的測試集誤差。
1 INTRODUCTION
Szegedy等人(2014b)有一個有趣的發現:一些機器學習模型,包括最先進的神經網絡,容易受到對抗性例子的影響。也就是說,這些機器學習模型會錯誤地分類那些與從數據分布中抽取的正確分類的例子僅有輕微差異的例子。在許多情況下,在訓練數據的不同子集上訓練的具有不同架構的各種模型會對同一個對抗性例子進行錯誤分類.這表明對抗性例子暴露了我們訓練算法的基本盲點。
這些對抗性例子的原因是一個謎,推測性的解釋表明,這是由于深層神經網絡的極端非線性,可能加上模型平均值不足和純監督學習問題的正則化不足。我們證明這些推測性假設是不必要的。高維空間中的線性行為足以引起對抗性的例子。這一觀點使我們能夠設計出一種快速生成對抗性例子的方法,使對抗性訓練切實可行。
一般的正則化策略,如退出、預訓練和模型平均,并不能顯著降低模型在對抗性樣本中的脆弱性,但改變為非線性模型族(如RBF網絡)可以做到這一點。
我們的解釋表明,在設計因其線性而易于訓練的模型和設計利用非線性效應抵抗對抗性擾動的模型之間存在著基本的緊張關系。從長遠來看,通過設計更強大的優化方法,可以成功地訓練更多的非線性模型,也許可以擺脫這種權衡。
2 RELATED WORK
Szegedy等人(2014b)展示了神經網絡和相關模型的各種有趣特性。與本文件最相關的內容包括:
盒約束的L-BFGS可以可靠地找到對抗性的樣本。
在一些數據集上,比如ImageNet (Deng et al., 2009),對抗性的樣本與原始樣本非常接近,人眼無法分辨出差異。
同一個對抗式示例常常被具有不同架構的各種分類器錯誤地分類,或者在訓練數據的不同子集上進行訓練。
淺的softmax回歸模型也容易受到敵對實例的攻擊。
在對抗性例子上進行訓練可以使模型正規化——但是,這在當時并不實際,因為需要在內部循環中進行昂貴的約束優化。
這些結果表明,基于現代機器學習技術的分類器,即使是那些在測試集上獲得優異性能的分類器,也沒有學習真正的底層概念,而這些概念決定了正確的輸出標簽。相反,這些算法建立了一個Potemkin村,對自然出現的數據很有效,但是當一個人訪問空間中的數據分布概率不高的點時,就會被暴露為假的。這尤其令人失望,因為計算機視覺中一種流行的方法是使用卷積網絡特征作為歐幾里德距離近似于感知距離的空間。如果感知距離非常小的圖像對應于網絡表示中完全不同的類,那么這種相似性顯然是有缺陷的。
這些結果常常被解釋為是一個缺陷,特別是在深層網絡,即使線性分類器有同樣的問題。我們認為,對這一缺陷的了解是解決這一問題的一個機會。
3 THE LINEAR EXPLANATION OF ADVERSARIAL EXAMPLES
我們從解釋線性模型的對抗性例子的存在開始。
在許多問題中,單個輸入特征的精度是有限的。例如,數字圖像通常每像素只使用8位,因此它們會丟棄動態范圍1/255以下的所有信息。由于特征的精度是有限的,分類器對輸入x和對抗性輸入x~=x+η\widetilde{x}=x+\etax=x+η做出不同的響應是不合理的如果每個元素的擾動η\etaη是小于精度的特征。形式上,對于分離良好的類的問題,我們期望分類器將相同的類分配給xxx和x~\widetilde{x}x只要∥η∥∞∈?\parallel \eta \parallel_{\infty}\in \epsilon∥η∥∞?∈?,?\epsilon?是小到足以被與我們的問題相關的傳感器或數據存儲設備丟棄。
考慮權向量w和一個對抗樣本 x~\widetilde{x}x 之間的點積:
wTx~=wTx+wTηw^T\widetilde{x}=w^Tx+w^T\etawTx=wTx+wTη
對抗性干擾使激活增加wTηw^T\etawTη。我們可以通過指定η=sign(w)\eta=sign(w)η=sign(w),在 η\etaη 的最大范數約束下,最大化此增量。如果w有n個維度,且權重向量中一個元素的平均幅度為m,那么激活度將增長?mn\epsilon mn?mn。由于∥η∥∞\parallel \eta \parallel_{\infty}∥η∥∞?不隨問題的維數而增長,但 η\etaη 的擾動引起的激活變化可隨n線性增長,因此對于高維問題,我們可以對輸入進行許多無窮小的變化,這些變化加起來等于對輸出的一個大的變化。
這一解釋表明,如果一個簡單的線性模型的輸入具有足夠的維數,那么它可以有對抗性的例子。先前對對抗性例子的解釋援引了神經網絡的假設性質,例如它們假定的高度非線性性質。我們基于線性的假設更簡單,也可以解釋為什么softmax回歸容易受到對抗性例子的影響。
4 LINEAR PERTURBATION OF NON-LINEAR MODELS
對抗性例子的線性觀點提出了一種快速生成它們的方法。我們假設神經網絡過于線性,無法抵抗線性對抗性擾動。LSTMs(Hochreiter &Schmidhuber,1997)、ReLUs(Jarrett等人,2009;Glorot等人,2011)和maxout網絡(Goodfellow等人,2013c)都被有意設計成以非常線性的方式表現,因此它們更容易優化。
更多的非線性模型,如sigmoid網絡,由于同樣的原因被仔細地調整,使其大部分時間花在非飽和、更線性的區域。這種線性行為表明,線性模型的廉價、分析性擾動也會損害神經網絡。
圖1:在ImageNet上應用于GoogLeNet的快速對抗性例子生成演示。通過添加一個不可感知的小向量,其元素等于成本函數的梯度相對于輸入的元素的符號,我們可以改變GoogLeNet對圖像的分類。這里我們的 ?\epsilon? 為0.007,對應的是8位圖像編碼在GoogLeNet轉換為實數后最小位的大小。
讓θ\thetaθ為模型的參數,x為模型的輸入,y為x的標簽,J(θ,x,y)J(\theta,x,y)J(θ,x,y)是用于訓練神經網絡的損失函數。我們可以在 θ\thetaθ 的當前值附近線性化代價函數,得到最優最大范數約束擾動
η=?sign(?xJ(θ,x,y))\eta=\epsilon sign(\nabla_xJ(\theta,x,y))η=?sign(?x?J(θ,x,y))
我們將其稱為生成對抗性例子的“快速梯度符號法”。注意,使用反向傳播可以有效地計算所需的梯度。
**我們發現,該方法能可靠地導致各種模型對輸入進行誤分類。**我們發現,使用?\epsilon? =.25,我們使一個淺層softmax分類器的錯誤率為99.9%在MNIST。在相同的設置下,maxout網絡以97.6%的平均置信度對89.4%的敵對例子進行了錯誤分類。類似地,使用?\epsilon?=.1,當在CIFAR-10測試集的預處理版本上使用卷積maxout網絡時,我們獲得87.15%的錯誤率和分配給錯誤標簽的96.6%的平均概率。還可以使用其他簡單的方法來生成對抗的例子。例如,我們還發現x在梯度方向上旋轉一個小角度會可靠地產生相反的例子。
事實上,這些簡單、廉價的算法能夠生成錯誤的分類示例,這是有利于我們解釋線性導致的對抗示例的證據。這些算法對于加速對抗訓練,甚至是對訓練網絡的分析也很有用。
5 ADVERSARIAL TRAINING OF LINEAR MODELS VERSUS WEIGHT DECAY
也許我們可以考慮的最簡單的模型是邏輯回歸。在這種情況下,快速梯度符號法是精確的。我們可以使用這個例子來獲得一些直覺,了解如何在一個簡單的設置中生成敵對的示例。如圖2所示。
Figure 2: The fast gradient sign method applied to logistic regression (where it is not an approximation,but truly the most damaging adversarial example in the max norm box). a) The weights of a logistic regression model trained on MNIST. b) The sign of the weights of a logistic regression model trained on MNIST. This is the optimal perturbation. Even though the model has low capacity and is fit well, this perturbation is not readily recognizable to a human observer as having anything to do with the relationship between 3s and 7s. c) MNIST 3s and 7s. The logistic regression model has a 1.6% error rate on the 3 versus 7 discrimination task on these examples. d) Fast gradient sign adversarial examples for the logistic regression model with ?\epsilon? = .25. The logistic regression model has an error rate of 99% on these examples.
如果我們訓練單一模型識別標簽y∈{?1,1}y\in\{-1,1\}y∈{?1,1},with P(y=1)=σ(wTx+b)P(y=1)=\sigma(w^Tx+b)P(y=1)=σ(wTx+b),其中σ(z)\sigma(z)σ(z)是logistic sigmoid函數,然后訓練由梯度下降組成
其中 是softplus函數。基于梯度符號擾動,我們可以推導出一個簡單的解析形式來訓練x的最壞情況下的對抗擾動,而不是x本身。注意,梯度的符號只是?sign(w)-sign(w)?sign(w),且wTsign(w)=∥w∥1w^Tsign(w)=\parallel w \parallel_1wTsign(w)=∥w∥1?
邏輯回歸的對抗版本是最小化
這有點類似于L1正則化。然而,有一些重要的區別。最重要的是,L1的懲罰是在訓練過程中減去模型的激活,而不是增加到訓練損失函數中。這意味著,如果模型學會了做出足夠自信的預測,飽和的話,懲罰最終可以消失。這是不保證發生的–在欠擬合制度下,對抗性訓練只會使欠擬合更加惡化。因此,我們可以認為L1權重衰減是比對抗式訓練更 “更壞的情況”,因為在有好的margin的情況下,L1權重衰減下降不能被解除。
如果我們從logistic回歸轉向多類softmax回歸,L1權重衰減變得更加悲觀,因為它將softmax的每個輸出視為獨立可擾動的,而事實上通常不可能找到與類的所有權重向量對齊的單個η\etaη。在有多個隱藏層的深度網絡中,重量衰減會高估擾動所能造成的傷害。由于L1權重衰減高估了對抗所能造成的傷害,因此有必要使用比?\epsilon?更小的L1權重衰減系數,這與我們特征的精度有關。
在MNIST上訓練maxout網絡時,采用?\epsilon? =0.25的對抗性訓練,取得了較好的效果。在對第一層應用L1權值衰減時,發現即使是0.0025的系數也太大,導致模型在訓練集上的誤差超過5%。較小的權值衰減系數允許成功的訓練,但不具有正則化效益。
6 ADVERSARIAL TRAINING OF DEEP NETWORKS
認為深層網絡容易受到敵對性例子的攻擊的批評在某種程度上是被誤導的,因為與淺線性模型不同,深層網絡至少能夠表示抵抗敵對性干擾的函數。universal approximator theorem(Hornik等人,1989)保證了一個至少有一個隱層的神經網絡可以任意精度地表示任何函數,只要它的隱層允許有足夠的單位。淺層線性模型既不能在訓練點附近保持不變,又能將不同的輸出分配給不同的訓練點。
當然,通用逼近定理并沒有說明一個訓練算法是否能夠發現一個具有所有期望屬性的函數。顯然,標準的監督訓練并沒有規定所選的函數必須對對抗性例子具有抵抗力.這必須在訓練過程中以某種方式進行編碼。
Szegedy等人。(2014b)表明,通過對對抗性和干凈例子的混合訓練,神經網絡可以某種程度上正規化。對抗性示例的訓練與其他數據增強方案有點不同;通常,一種方法通過轉換來增強數據。
這種形式的數據增強而是使用不太可能自然發生的輸入,但卻暴露了模型概念化其決策功能的方式的缺陷。在當時,這種程序從未被證明能夠在最先進的基準上改善超過dropout的情況。然而,部分原因是很難用基于L-BFGS的昂貴的對抗式例子進行廣泛的實驗。
我們發現基于快速梯度符號方法的對抗性目標函數訓練是一種有效的正則化器:
J~(θ,x,y)=αJ(θ,x,y)+(1?α)J(θ,x+?sign(?xJ(θ,x,y)))\widetilde{J}(\theta,x,y)=\alpha J(\theta,x,y)+(1-\alpha)J(\theta,x+\epsilon sign(\nabla_xJ(\theta,x,y) ))J(θ,x,y)=αJ(θ,x,y)+(1?α)J(θ,x+?sign(?x?J(θ,x,y)))
在我們所有的實驗中,我們用α=0.5\alpha=0.5α=0.5。其他價值觀可能更有效;我們對這個超參數的最初猜測非常有效,所以我們覺得沒有必要進一步探索。這種方法意味著我們要不斷更新我們的對抗性示例,使它們能夠抵抗模型的當前版本。用這種方法訓練一個正則化的帶dropout的maxout網絡,可以將不進行對抗性訓練的錯誤率從0.94%降低到進行對抗性訓練的錯誤率為0.84%。
我們觀察到,在訓練集的對抗性例子上,我們沒有達到零錯誤率。我們通過兩次更改解決了此問題。首先,我們將模型放大,每層使用1600個單元,而不是原來maxout網絡用于解決這個問題的240個單元。在沒有對抗性訓練的情況下,這會導致模型稍微過擬合,在測試集上得到1.14%的錯誤率。通過對抗性訓練,我們發現驗證集錯誤隨著時間的推移趨于穩定,并且進展非常緩慢。原始的maxout結果使用提前停止,并在驗證集錯誤率未降低100個階段后終止學習。我們發現,雖然驗證集錯誤是非常平坦的,但對抗性驗證集錯誤不是。
因此,我們在對抗性驗證集誤差上使用了早期停止。使用這個標準來選擇訓練的epoch數,然后我們對所有60000個例子進行再訓練。五次不同的訓練運行,使用不同的種子,用于選擇minibatches 的訓練實例、初始化模型權重和生成dropout masks的隨機數發生器,結果有四次試驗在測試集上的錯誤率均為0.77%,有一次試驗的錯誤率為0.83%。0.782%的平均值是MNIST的換元不變版本上報告的最佳結果,雖然在統計上與微調DBMs得到的結果0.79%(Srivastava等人,2014)無法區分。
這個模型也變得對對抗的樣本有些抵觸。回想一下,在沒有對抗性訓練的情況下,基于快速梯度符號法的對抗性例子的錯誤率為89.4%。通過對抗性訓練,錯誤率下降到17.9%。對抗性的樣本可以在兩個模型之間轉換,但是對抗性訓練的模型顯示出更強的魯棒性。通過原始模型生成的對抗性例子在對抗性訓練的模型上產生的錯誤率為19.6%,而通過新模型生成的對抗性例子在原始模型上產生的錯誤率為40.9%。
當對抗性訓練的模型確實對一個對抗性例子進行了錯誤分類,不幸的是,它的預測仍然是高度自信的。對誤分類例子的平均置信度為81.4%。我們還發現,學習模型的權重發生了顯著的變化,對抗性訓練模型的權重顯著提高了局部的可解釋性(見圖3)。
圖3:在MNIST上訓練的maxout網絡的權重可視化。每一行都顯示了單個maxout單元的過濾器。左)無意識訓練的模型。右)對抗式訓練的模型。
當數據被對抗干擾時,對抗訓練過程可以被視為最小化最壞情況下的錯誤。這可以被解釋為學習玩一個對抗性的游戲,或是在輸入中加入來自U(??,?)U(-\epsilon,\epsilon)U(??,?)的噪聲樣本上最小化期望成本的上界。對抗性訓練也可以被看作是一種主動學習的形式,在這種模式下,模型可以要求在新的點上貼上標簽。在這種情況下,人的標簽被替換為一個啟發式的標簽,從附近的點復制標簽。
我們還可以通過在 ?\epsilon? max norm box中的所有點上進行訓練,或在該框中對多個點進行采樣,使模型對小于?\epsilon?精度的特征變化不敏感。
這相當于在訓練期間用最大范數?\epsilon?添加噪聲。然而,具有零均值和零協方差的噪聲在防止對抗性例子方面非常低效。任何參考向量和這種噪聲向量之間的期望點積為零。這意味著在許多情況下,噪聲基本上不會產生影響,而不會產生更困難的輸入。
事實上,在很多情況下,噪聲會導致目標函數值更低。我們可以把對抗性訓練看作是在一組有噪聲的輸入中進行艱難的例子挖掘,以便通過只考慮那些強烈抵制分類的有噪聲的點來更有效地訓練。
由于符號函數的導數在任何地方都是零或未定義的,所以基于快速梯度符號法的對抗性目標函數的梯度下降不能使模型預測對抗者對參數變化的反應。如果我們改用基于小旋轉或加標梯度的對抗性例子,那么擾動過程本身是可分化的,學習時可以考慮對抗者的反應。然而,我們并沒有從這個過程中發現近乎強大的正則化結果,也許是因為這類對抗性例子并沒有那么難解。
一個自然而然的問題是,是擾動輸入層好,還是擾動隱藏層好,或者兩者兼而有之。在這里,結果是不一致的。Szegedy等(2014b)報告說,當應用于隱藏層時,對抗性擾動產生的正則化效果最好。
這個結果是在一個sigmoidal網絡上得到的。在我們用快速梯度符號法進行的實驗中,我們發現,具有隱藏單元的網絡,其激活度是無界的,只是通過使其隱藏單元的激活度變得非常大來進行響應,所以通常只對原始輸入進行擾動更好。
在飽和模型(如Rust模型)上,我們發現對輸入的擾動與對隱藏層的擾動執行得相當。基于旋轉隱藏層的擾動解決了無界激活增長的問題,使相加的擾動相對較小。
我們能夠成功地用隱藏層的旋轉擾動來訓練maxout網絡。然而,這并沒有產生像輸入層的加性擾動那樣強烈的正則化效果。我們對對抗性訓練的看法是,只有當模型具有學習抵抗對抗性例子的能力時,它才會明顯有用。只有當普遍近似器定理適用時,這種情況才會明顯。
的問題,使相加的擾動相對較小。
我們能夠成功地用隱藏層的旋轉擾動來訓練maxout網絡。然而,這并沒有產生像輸入層的加性擾動那樣強烈的正則化效果。我們對對抗性訓練的看法是,只有當模型具有學習抵抗對抗性例子的能力時,它才會明顯有用。只有當普遍近似器定理適用時,這種情況才會明顯。
由于神經網絡的最后一層,即線性-sigmoid層或線性-softmax層,并不是最后隱藏層的函數的通用近似器,這說明當人們對最后隱藏層應用對抗性擾動時,很可能會遇到擬合不足的問題。我們確實發現了這種效果。我們使用對隱藏層的擾動進行訓練的最佳結果從未涉及對最終隱藏層的擾動。
總結
以上是生活随笔為你收集整理的Explaining and Harnessing Adversarial Examples的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gtm - ebooks
- 下一篇: 怎么退出自适应巡航_吉利ICON ACC