对抗样本(三)FGSM
文章目錄
- 一、論文相關信息
- ??1.論文題目
- ??2.論文時間
- ??3.論文文獻
- 二、論文背景及簡介
- 三、論文內容總結
- 四、論文主要內容
- 1、Introducttion
- 2、Releated Work
- 3、The Linear Explanation Of Adversarial Examples
- 4、Linear Perturbation of Non-Linear Models
- 5、Adversarial Training Of Linear Models Versus Weight Decay
- 六、Adversarial Training Of Deep Networks
- 七、Different Kinds Of Model Capacity
- 八、Why Do Adversarial Examples Generalize
- 九、Alternative Hypotheses(其他的假設)
- 十、Summary
一、論文相關信息
??1.論文題目
???? Explaining and Harnessing Adversarial Examples
??2.論文時間
????2015年
??3.論文文獻
????https://arxiv.org/abs/1412.6572
二、論文背景及簡介
? ? 早期對對抗樣本產生的原因的猜測集中于神經網絡的非線性性和過擬合,但是這篇論文證明神經網絡的線性性質是造成神經網絡具有對抗樣本的主要原因。同時,這篇論文提出了一個能供更簡單與更快速的生成對抗樣本的方法。
三、論文內容總結
- 否定了對抗樣本是因為非線性和過擬合導致的,認為對抗樣本是因為神經網絡在高維空間的線性導致的,并提出了大量的實驗加以說明**。對抗樣本可以被解釋成高維空間點乘的一個屬性,他們是模型太過于線性的結果**。
- 模型的線性讓其更容易被訓練,而其非線性讓其容易抵御對抗擾動的攻擊,即容易優化的模型也容易被擾動。
- 提出了一種特別快的生成對抗樣本的方法FGSM:
η=?sign(?xJ(θ,x,y))\eta = \epsilon sign(\nabla_xJ(\theta,x,y)) η=?sign(?x?J(θ,x,y))
- FGSM的實質是輸入圖片在模型的權重方向上增加了一些擾動(方向一樣,點乘最大)。這樣可以讓圖片在較小的擾動下出現較大的改變,從而得到對抗樣本。
- 不同模型之間的對抗性示例的泛化可以解釋為,對抗性擾動與模型的權重向量高度一致,不同模型在訓練執行相同任務時學習相似的函數
- 提出了一種基于FGSM的正則化方法,對抗訓練可以用來正則化,甚至效果比dropout還要好。
J~(θ,x,y)=αJ(θ,x,y)+(1?α)J(θ,x+?sign(?xJ(θ,x,y)))\tilde{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)))
- 相比于模型融合,單個模型的對抗防御能力更好一些,集成策略不能夠抵御對抗樣本
- 線性模型缺乏抵抗對抗性擾動的能力;只有具有隱藏層的結構(在普遍近似定理適用的情況下)才應該被訓練來抵抗對抗性擾動。
- RBF網絡可以抵御對抗樣本
- 對抗樣本的分布特征,即對抗樣本往往存在于模型決策邊界的附近,在線性搜索范圍內,模型的正常分類區域和被對抗樣本攻擊的區域都僅占分布范圍的較小一部分,剩余部分為垃圾類別(rubbish class)
- 垃圾類別樣本是普遍存在的且很容易生成,淺的線性模型不能抵御垃圾類別樣本,RBF網絡可以抵御垃圾類別樣本
附:如需繼續學習對抗樣本其他內容,請查閱對抗樣本學習目錄
四、論文主要內容
1、Introducttion
? ? 該論文否定了L-BFGS中對對抗樣本出現的原因的解釋,認為神經網絡高維空間的線性行為很容易造成對抗樣本,作者還提出,常規的正則化策略如dropout、預訓練、模型平均等并不能顯著降低模型在對抗樣本中的脆弱性,但將模型換成非線性模型族如RBF網絡就可以做到這一點。
? ? 我們的解釋表明,模型由于線性而容易訓練,而又因非線性而容易抵御對抗擾動的攻擊,這兩個問題之間是對立的。從長遠來看,通過設計更強大的優化方法,成功地訓練出更多的非線性模型,也許可以避免這種矛盾。
2、Releated Work
? ? 主要介紹了一些之前的對對抗樣本產生原因的猜測,這里不做細致說明
3、The Linear Explanation Of Adversarial Examples
? ? 在這一節主要解釋了,作者為什么說是因為模型的線性而產生的對抗樣本。
? ? 我們知道,**輸入圖像通常都是8bits的,這也就丟失了輸入圖像的1/255之間的信息。而如果對抗擾動足夠小的話,是會被忽略的,**因此作者猜測,是由于模型的線性所導致的。作者通過數學公式來解釋。一個網絡模型的權重為wT\ w^T?wT
wTx~=wTx+wTηw^T\tilde{x} = w^Tx+w^T\eta wTx~=wTx+wTη
? ? 對抗擾動讓網絡的激勵增加了wTη\ w^T\eta?wTη ,我們只要將η=sign(w)\ \eta=sign(w)?η=sign(w) ,就可以最大化的增加模型的激勵,當wT\ w^T?wT 具有n維,平均權重值為m,那么激勵就會增長?mn(∣∣η∣∣∞<?)\ \epsilon mn(||\eta||_{\infty}<\epsilon)??mn(∣∣η∣∣∞?<?) ,但是∣∣η∣∣∞\ ||\eta||_{\infty}?∣∣η∣∣∞? 卻并不會因為維度的增加而增加,這樣,當我們增加一個很小的擾動的時候,就會產生很大的改變。這被稱為"accidental steganography",這種隱藏術的意思是,一個線性模型被迫只關注與權重相接近的信號,卻會忽略那些權重大但不相關的振幅(像素點)。
? ? 上述的解釋說明,**對一個簡單的線性網絡來說,如果他的輸入有著足夠的維度,那么他就會有對抗樣本。**先前對對抗樣本的解釋引用了了神經網絡的假設特性,例如它們假定的高度非線性性質。我們基于線性的假設更簡單,也可以解釋為什么softmax回歸容易受到對抗性例子的影響。
4、Linear Perturbation of Non-Linear Models
? ? 從對抗樣本的線性視角來看,我們得出了一個很快的生成對抗樣本的方法。我們假設神經網絡是十分線性的。
? ? 我們已知的一些模型,LSTM、ReLU、maxout網絡都是被設計用線性的方式來運作的,所以比較容易優化,而非線性的模型,比如Sigmoid網絡,我們會很難優化。但是線性,會讓模型更容易受到攻擊。
? ? 模型的參數設為θ\ \theta?θ ,x\ x?x 記為模型的輸入,y\ y?y 記為模型得到的標簽,J(θ,x,y)\ J(\theta,x,y)?J(θ,x,y) 記為神經網絡使用的損失函數,同門可以通過以下的公式來得到對抗擾動:
η=?sign(?xJ(θ,x,y))\eta = \epsilon sign(\nabla_xJ(\theta,x,y)) η=?sign(?x?J(θ,x,y))
? ? 我們把這個叫做FGSM(fast gradient sign method)
? ? 作者在使用中,使用了?=0.25\ \epsilon=0.25??=0.25 ,在MINST測試集上,對softmax分類器攻擊達到了99.9%的攻擊成功率,平均置信度為79.3%。使用相同的配置,對maxout網絡,能達到89.4%的攻擊成功率,平均置信度為97.6%。當使用卷積maxout網絡與CIFAR-10數據集時,使用?=0.1\ \epsilon=0.1??=0.1,達到了87.15%的攻擊成功率,以及96.6%的平均置信度。同時,作者發現,使用其他的簡單的方法也可以產生對抗樣本,比如使x在梯度方向上旋轉一定的角度,就可以產生對抗樣本。
5、Adversarial Training Of Linear Models Versus Weight Decay
? ? 我們拿最簡單的模型Logistic回歸為例。我們通過這個例子來分析如何生成對抗樣本。
? ? 我們的模型是用P(y=1)=σ(wTx+b)\ P(y=1)=\sigma(w^Tx+b)?P(y=1)=σ(wTx+b) 辨別標簽y∈{?1,1}\ y\in\{-1,1\}?y∈{?1,1} 。使用梯度下降的訓練過程可以描述為:
Ex,y~pdataζ(?y(wTx+b))E_{x,y\sim p_{data}}\zeta(-y(w^Tx+b)) Ex,y~pdata??ζ(?y(wTx+b))
? ? 其中ζ(z)=log(1+exp(z))\ \zeta(z)=log(1+exp(z))?ζ(z)=log(1+exp(z)) 。通過這個模型,我們來得到一個對對抗樣本訓練的模型。
? ? 對模型而言,梯度的符號其實等于?sign(w)\ -sign(w)??sign(w) ,而wTsign(w)=∣∣w∣∣1\ w^Tsign(w)=||w||_1?wTsign(w)=∣∣w∣∣1?。所以,對于對抗樣本來說,我們要做的就是最小化如下模型:
Ex,y~pdataζ(?y(wT(x+x~)+b))=Ex,y~pdataζ(y(?∣∣w∣∣1?wTx?b))E_{x,y\sim p_{data}}\zeta(-y(w^T(x+\tilde{x})+b)) = E_{x,y\sim p_{data}}\zeta(y(\epsilon||w||_1-w^Tx-b)) Ex,y~pdata??ζ(?y(wT(x+x~)+b))=Ex,y~pdata??ζ(y(?∣∣w∣∣1??wTx?b))
? ? 仔細觀察這個模型,你會覺得,這個公式很像L1正則化后的公式,但又有些不同,L1正則化是加上?∣∣w∣∣1\ \epsilon||w||_1??∣∣w∣∣1? ,而我們得到的是減去該式子,作者也將該方法稱為L1\ L^1?L1 懲罰。但是,當模型的ζ\ \zeta?ζ 飽和,模型能夠做出足夠自信的判斷的時候,該方法就會失效,該方法只能夠讓欠擬合更嚴重,但不能讓一個具有很好邊界的模型失效。
? ? 而且,當我們將該方法轉移到多分類softmax回歸時,L1\ L^1?L1 weight decay 會變得更糟糕,因為它將softmax的每個輸出視為獨立的擾動,而實際上通常無法找到與類的所有權重向量對齊的單個η。在具有多個隱藏單元的深層網絡中,該方法高估了擾動可能造成的損害。因為,L1\ L^1?L1 weight decay高估了一個對抗樣本所能造成的危害,所以有必要將L1\ L^1?L1 weight decay的系數設置的更小。更小的系數時訓練能夠更成功,但也讓正則化效果不好。作者實驗發現,對第一層來說,L1\ L^1?L1 weight decay的系數設置為0.0025時都有些過大。但作者在MNIST訓練集上訓練maxout網絡使用0.25的系數卻獲得了很好的結果。?????很迷。
六、Adversarial Training Of Deep Networks
? ? 深度模型并不像淺的模型那樣,它能夠表示出能夠抵抗對抗樣本的函數。廣義逼近定理(the universal approximator theorem)證明至少有一層隱藏層的神經網絡能夠任意精度的表示任何函數,只要他有足夠的單元。而淺層線性模型既不能在訓練點附近保持不變,又能將不同的輸出分配給不同的訓練點。
? ? 當然,廣義逼近定理并沒有說明訓練算法是否能夠發現具有所有期望性質的函數。很明顯的,標準的監督學習并沒有具體說明,選擇的函數能夠抵御對抗樣本。這必須在訓練程序中編碼才行。
? ? 使用對抗樣本做數據增廣可以暴露模型概念化決策函數上的缺陷,而且,從沒被證實,該方法在一個SOTA模型上的提升效果可以超過dropout。然而,這部分是因為很難對基于L-BFGS的昂貴的對抗樣本進行廣泛的實驗。
? ? 基于FGSM的對抗訓練是一個很有效率的正則化方法:
J~(θ,x,y)=αJ(θ,x,y)+(1?α)J(θ,x+?sign(?xJ(θ,x,y)))\tilde{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 。這個方法的意思時我們持續的生成對抗樣本來保證我們的模型可以抵御攻擊。
七、Different Kinds Of Model Capacity
? ? 作者認為,處于三維空間的我們很難對高維空間有認識,因此,我們沒法看出在高維空間中小的改變是如何產生一個大的影響的。
? ? 許多人認為,低容量的模型很難做出很多不同的自信的預測,但這是不正確的。作者拿具有低容量的RBF網絡為例,p(y=1∣x)=exp((x?μ)Tβ(x?μ))\ p(y=1|x)=exp((x-\mu)^T\beta(x-\mu))?p(y=1∣x)=exp((x?μ)Tβ(x?μ)) ,RBF網絡只能夠預測在μ\ \mu?μ 范圍內的正類,但是對其他范圍就具有低的預測置信度,這讓RBF網絡天生就不易受對抗樣本的影響,因為,當RBF被攻擊時,它具有較低的置信度。一個沒有隱藏層的RBF網絡,在MNIST數據集上,使用FGSM方法進行攻擊,具有55.4%的攻擊成功率。但是,它在誤分類樣本上的平均置信度只有1.2%。而在干凈的測試集上的平均置信度有60.6%。低容量的模型確實不能夠在所有的點上都能夠正確的分類,但是它卻可以在一些不能理解的點上,給予較低的置信度。
? ? 我們可以將線性單元和RBF單元看作是精確召回折衷曲線上的不同點。線性單元通過在某個方向上響應每一個輸入來實現高召回率,但由于在不熟悉的情況下響應太強,因此可能具有較低的精度。RBF單元只對空間中的某個特定點做出響應,但這樣做會犧牲召回率,從而獲得較高的精度。基于這一思想,我們決定探索包含二次單元的各種模型,包括深RBF網絡。我們發現這是一個非常困難的任務模型,當使用SGD訓練時,具有足夠的二次抑制以抵抗對抗性擾動,獲得了較高的訓練集誤差
八、Why Do Adversarial Examples Generalize
? ? 一個模型生成的對抗樣本,會被一些具有不同的架構或者由不同訓練集上訓練出來的模型錯誤分類,而且會錯誤分類成一種類別。但基于極端非線性和過擬合,沒法解釋這種行為。因為,在這兩種觀點中,對抗樣本很常見,但只發生在特別精確的位置上。
? ? 而從線性的角度來看,對抗樣本會出現在廣闊的子空間中。只要η\ \eta?η 在損失函數的梯度方向上點積,?\ \epsilon?? 足夠大,一個模型就會被該對抗樣本所愚弄。
? ? 作者以?\ \epsilon?? 的值為變量,做了實驗,來進行證明。
? ? 作者發現,對抗樣本出現在連續的一維空間區域,這也就對應了上述的解釋。
? ? 為了解釋,多個分類器會將對抗樣本分類成相同的類,他們假設目前方法所訓練的神經網絡看起來都像是在同一個訓練集上訓練出來一樣。在訓練集的不同子集上訓練時,這些分類器能夠學習到近似相同的分類權值。而這是因為機器學習的泛化能力。而根本的分類權值的穩定性又能反過來影響對抗樣本的穩定性。
? ? 為了測試這一假設,作者又進行了如下的實驗。作者在一個maxout網絡上生成了對抗樣本,然后用一個淺的softmax網絡和RBF網絡去分類這些樣本。這里作者討論了這兩個淺的網絡對 那些被maxout網絡分類錯誤的對抗樣本 進行分類所花費的時間。然后作者通過實驗發現RBF花費的去適配這些分類錯誤時間更少,是因為RBF是線性的,也就是說,線性的模型更容易被遷移的攻擊,也就是說,線性造成了模型之間的泛化。
九、Alternative Hypotheses(其他的假設)
? ? 在這一節,作者主要介紹了對對抗樣本存在性的一些其他假設。
? ? 第一個要說的假設是,生成訓練可以在訓練過程中提供更多的限制條件,或者使模型學習如何區分“真實”和“虛假”數據,并且只對“真實”數據有高的置信度。文章表明,某些生成訓練并不能達到假設的效果,但是不否認可能有其他形式的生成模型可以抵御攻擊,但是確定的是生成訓練的本身并不足夠。
? ? 另一個假設是,相比于平均多個模型,單個模型更能夠抵御對抗樣本的攻擊。作者做了實驗證明了這個假設。作者在MNIST訓練集上訓練了12個maxout模型進行集成,每一個都使用不同的隨機數種子來初始化權重,使用了dropout,minibatch的梯度下降,在對抗樣本攻擊的時候,具有91.1%的攻擊成功率。但是當我們使用對抗樣本攻擊集成模型中的一個模型的時候,攻擊成功率下降到了87.9%。
十、Summary
-
對抗樣本可以被解釋成高維空間點乘的一個屬性,他們是模型太過于線性的結果。
-
不同模型之間的對抗性示例的泛化可以解釋為,對抗性擾動與模型的權重向量高度一致,不同模型在訓練執行相同任務時學習相似的函數
-
最重要的是擾動的方向,而不是空間中的特定點。對抗樣本在空間內,并不是像空間中的有理數那樣平鋪的。
-
因為最重要的是擾動的方法,所以對抗擾動也可以在不同的訓練集上進行泛化
-
我們介紹了一組可以快速生成對抗樣本的方法(FGSM)
-
我們證明了,對抗訓練可以用來正則化,甚至效果比dropout還要好
-
容易優化的模型也容易被擾動
-
線性模型缺乏抵抗對抗性擾動的能力;只有具有隱藏層的結構(在普遍近似定理適用的情況下)才應該被訓練來抵抗對抗性擾動。
-
RBF網絡可以抵御對抗樣本
-
訓練來模擬輸入分布的模型不能夠抵御對抗樣本
-
集成策略不能夠抵御對抗樣本
-
對抗樣本的分布特征,即對抗樣本往往存在于模型決策邊界的附近,在線性搜索范圍內,模型的正常分類區域和被對抗樣本攻擊的區域都僅占分布范圍的較小一部分,剩余部分為垃圾類別(rubbish class)
-
垃圾類別樣本是普遍存在的且很容易生成
-
淺的線性模型不能抵御垃圾類別樣本
-
RBF網絡可以抵御垃圾類別樣本
? ? 使用一個設計成足夠線性的網絡——無論是ReLU或maxout網絡、LSTM,還是經過精心配置以避免過多飽和的sigmoid網絡——我們能夠解決我們關心的大多數問題,至少在訓練集上是這樣。對抗樣本的存在表明,能夠解釋訓練數據,甚至能夠正確標記測試數據并不意味著我們的模型真正理解我們要求他們執行的任務。相反,他們的線性反應在數據分布中沒有出現的點上過于自信,而這些自信的預測往往是非常錯誤的。這項工作表明,我們可以通過明確地識別問題點并在每個問題點上修正模型來部分地糾正這個問題。然而,我們也可以得出這樣的結論:我們使用的模型族在本質上是有缺陷的。優化的容易程度是以容易被誤導的模型為代價的。這推動了優化程序的發展,這些程序能夠訓練行為更局部穩定的模型
總結
以上是生活随笔為你收集整理的对抗样本(三)FGSM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: db9小波包分解matlab,小波包分解
- 下一篇: Spark项目实践--基于 TMDB 数