日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【论文笔记】(FGSM公式推导)Explaining and Harnessing Adversarial Examples

發布時間:2023/12/31 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【论文笔记】(FGSM公式推导)Explaining and Harnessing Adversarial Examples 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引流:https://www.cnblogs.com/setdong/p/16300720.html

本文發表于 ICLR 2015,提出了經典的攻擊方法 - FGSM(Fast Gradient Sign Method),這篇博客的第1-5節為重點部分,包括原文第5節的公式推導。

1. 對抗擾動

尋找對抗樣本的目標是:1)模型將其錯誤分類;2)人眼無法分辨對抗擾動。已知對抗樣本 x~\tilde{x}x~ 的公式為:
x~=x+η(1)\tilde{x}=x+\eta \tag{1}x~=x+η(1)
其中,xxx 為干凈樣本/原始樣本/自然樣本,η\etaη 為對抗擾動。需要對擾動加以限制以保證擾動小得難以被人眼識別:∣∣η∣∣∞<?||\eta||_{\infty}<\epsilonη?<?,這個約束表示:圖片中每個像素點的擾動范圍必須小于 ?\epsilon?

L-infinity norm:∣∣x∣∣∞=max?(∣xi∣)||x||_\infty=\max(|x_i|)x?=max(xi?),其中 xix_ixi? 為 向量xxx 中的元素。

2. 線性模型

對于線性模型,考慮重www與對抗樣本x~\tilde{x}x~的點積:
wTx~=wTx+wTη(2)w^T\tilde{x}=w^Tx+w^T\eta \tag{2}wTx~=wTx+wTη(2)
wTηw^T\etawTη 是增量,可以令η=sign(w)\eta={\rm sign}(w)η=sign(w)來最大化這個增量,前提是保證 L∞L_\inftyL? 范數限制(即∣∣η∣∣∞<?||\eta||_{\infty}<\epsilonη?<?)。不難算出,wTη=wTsign(w)=∣∣w∣∣1w^{T}\eta=w^T{\rm sign}(w)=||w||_1wTη=wTsign(w)=w1?

如果www的維度為nnn,元素的平均大小為mmm,那么增量為?mn\epsilon mn?mn

∣∣η∣∣∞||\eta||_\inftyη?不隨nnn改變,但增量隨nnn線性增長,所以對于高維問題,可以對輸入進行許多很小的改變,合起來對輸出就是一個很大的改變。作者將其描述為"accidental steganography",所以如果一個簡單的線性模型的輸入的維度足夠大,它就可以找到對抗樣本。

3. 非線性模型

假設 θ\thetaθ 為模型的參數,xxx 為模型的輸入,yyy 為目標輸出,J(θ,x,y)J(\theta,x,y)J(θ,x,y) 為用于訓練神經網絡的損失函數。FGSM 給出的對抗擾動為:
η=?sign(▽xJ(θ,x,y))(3)\eta=\epsilon{\rm sign}(\triangledown_x J(\theta,x,y)) \tag{3}η=?sign(x?J(θ,x,y))(3)
其中的梯度可由 BP 計算。不難理解,當輸入 xxx 沿著 ▽xJ(θ,x,y)\triangledown_x J(\theta,x,y)x?J(θ,x,y) 方向梯度下降一點點的話,模型將它預測為 yyy 的可能性越大,但根據公式(1)可知,對抗樣本的生成是 xxx 加上 ?sign(▽xJ(θ,x,y))\epsilon{\rm sign}(\triangledown_x J(\theta,x,y))?sign(x?J(θ,x,y)),也就是沿著$ \triangledown_x J(\theta,x,y)$ 方向增加一點點,即沿著梯度下降相反的方向走,變化的值由 ?\epsilon? 決定,所以這樣得到的 x~\tilde{x}x~ 更小的可能被模型預測為 yyy

圖1.使用 FGSM 構造對抗樣本,其中模型選擇 GoogLeNet,數據集選擇 ImageNet,?=0.007\epsilon=0.007?=0.007

4. 線性模型的對抗訓練 vs 權值衰減

4.1 二分類

首先考慮二分類的邏輯回歸問題,假設標簽 y∈{?1,1}y\in \{-1,1\}y{?1,1}P(y^=1)=σ(wTx+b)P(\hat{y}=1)=\sigma(w^Tx+b)P(y^?=1)=σ(wTx+b),其中 σ\sigmaσ 是 sigmoid 函數,那么:
P(y^=?1)=1?σ(wTx+b)=σ(?(wTx+b))P(\hat{y}=-1)=1-\sigma(w^Tx+b)=\sigma(-(w^Tx+b))P(y^?=?1)=1?σ(wTx+b)=σ(?(wTx+b))
將這兩種情況整理為一種表達式:
P(y^)=σ((ay^+b)(wTx+b))P(\hat{y})=\sigma((a\hat{y}+b)(w^Tx+b))P(y^?)=σ((ay^?+b)(wTx+b))
帶入兩種情況的值可解得 a=1a=1a=1b=0b=0b=0,所以有:
P(y^∣x)=σ(y^(wTx+b))P(\hat{y}|x)=\sigma(\hat{y}(w^Tx+b))P(y^?x)=σ(y^?(wTx+b))
接下來考慮損失函數,對于一組樣本,交叉熵損失為:
J(θ,x,ytrue)=?∑P(ytrue)log?(P(y^=ytrue∣x))+(1?P(ytrue))log?(1?P(y^=ytrue∣x))=?∑log?(P(y^=ytrue∣x))=?Ex,ytrue~pdatalog?(P(y^=ytrue∣x))=?Ex,ytrue~pdatalog?(σ(ytrue(wTx+b)))(4)\begin{aligned} J(\theta, x, y_{true}) &= -\sum P(y_{true})\log(P(\hat{y}=y_{true}|x))+(1-P(y_{true}))\log(1-P(\hat{y}=y_{true}|x))\\ &=-\sum\log(P(\hat{y}=y_{true}|x))\\ & = -\mathbb{E}_{x,y_{true}\;\sim p_{data}} \log(P(\hat{y}=y_{true}|x))\\ & = -\mathbb{E}_{x,y_{true}\;\sim p_{data}} \log(\sigma(y_{true}(w^Tx+b))) \end{aligned} \tag{4} J(θ,x,ytrue?)?=?P(ytrue?)log(P(y^?=ytrue?x))+(1?P(ytrue?))log(1?P(y^?=ytrue?x))=?log(P(y^?=ytrue?x))=?Ex,ytrue?pdata??log(P(y^?=ytrue?x))=?Ex,ytrue?pdata??log(σ(ytrue?(wTx+b)))?(4)
根據 sigmoid 的性質之一:log?σ(x)=?ζ(?x)\log \sigma(x) = -\zeta(-x)logσ(x)=?ζ(?x),公式(4)可變為:
J(θ,x,ytrue)=Ex,ytrue~pdataζ(?ytrue(wTx+b))(5)J(\theta, x, y_{true})=\mathbb{E}_{x,y_{true}\;\sim p_{data}} \,\,\zeta(-y_{true}(w^Tx+b))\tag{5}J(θ,x,ytrue?)=Ex,ytrue?pdata??ζ(?ytrue?(wTx+b))(5)
其中,ζ(z)=log?(1+exp?(z))\zeta(z)=\log(1+\exp(z))ζ(z)=log(1+exp(z))為 softplus 函數,note 它的導數為ζ′(z)=ez1+ez=σ(z)\zeta'(z)=\frac{e^z}{1+e^z}=\sigma(z)ζ(z)=1+ezez?=σ(z)

接下來考慮擾動 η\etaη,對于一個樣本 xxx 和它的真實標簽 ytruey_{true}ytrue?
η=?sign(▽xJ(θ,x,ytrue))=?sign(▽xζ(?ytrue(wTx+b)))=?sign((?ytruew)σ(?ytrue(wT+b)))(6)\begin{aligned} \eta &= \epsilon \, {\rm sign}(\triangledown_x J(\theta,x,y_{true}))\\ &=\epsilon\, {\rm sign}(\triangledown_x \zeta(-y_{true}(w^Tx+b)))\\ &=\epsilon\, {\rm sign}((-y_{true}w)\sigma(-y_{true}(w^T+b)))\\ \end{aligned} \tag{6} η?=?sign(x?J(θ,x,ytrue?))=?sign(x?ζ(?ytrue?(wTx+b)))=?sign((?ytrue?w)σ(?ytrue?(wT+b)))?(6)
sign{\rm sign}sign中的第二項大于0,可省略,即:
η=??ytruesign(w)(7)\eta=-\epsilon \, y_{true}{\rm sign}(w)\tag{7}η=??ytrue?sign(w)(7)
結合wTsign(w)=∣∣w∣∣1w^T{\rm sign}(w)=||w||_1wTsign(w)=w1?,帶入公式(5)可得:
Ex,ytrue~pdataζ(?ytrue(wTx~+b))=Ex,ytrue~pdataζ(?ytrue(wTx+wTη+b))=Ex,ytrue~pdataζ(?ytrue(wTx+b)+?∣∣w∣∣1)(8)\begin{aligned} &\mathbb{E}_{x,y_{true}\sim p_{data}} \,\,\zeta(-y_{true}(w^T\widetilde{x}+b))\\ =&\mathbb{E}_{x,y_{true}\sim p_{data}} \,\,\zeta(-y_{true}(w^Tx+w^T\eta+b))\\ =&\mathbb{E}_{x,y_{true}\sim p_{data}} \,\,\zeta(-y_{true}(w^Tx+b)+\epsilon||w||_1) \end{aligned} \tag{8} ==?Ex,ytrue?pdata??ζ(?ytrue?(wTx+b))Ex,ytrue?pdata??ζ(?ytrue?(wTx+wTη+b))Ex,ytrue?pdata??ζ(?ytrue?(wTx+b)+?w1?)?(8)
[Note:公式(8)跟原文不一樣,個人認為論文中的是錯誤的,公式(7)一定帶有 ytruey_{true}ytrue? 項,否則擾動不隨 label 的不同而改變,將是個定值,這是不對的。]
這有點類似于 L1 正則化。區別是,L1懲罰項是在對抗的訓練期間從模型的激活中減去,而不是添加。 如果模型訓練出精確的預測能力以使ζ\zetaζ飽和,那么懲罰項會開始消失。但不保證一定飽和,在欠擬合的情況下,對抗訓練會加劇欠擬合。所以,作者將L1權值衰減視為"worst case"。

4.2 多分類

考慮多分類的 softmax 回歸問題,L1 權值衰減會變得更加悲觀,因為它將softmax的每個輸出視為獨立的量,而實際上無法找到與所有類的權重向量對齊的單個向量η\etaη。在具有多個隱藏單元的深度網絡中,權值衰減高估了擾動造成的損害。L1權值衰減高估了對抗樣本能造成的損害,所以應當使用比特征精度?\epsilon?更小的L1權值衰減系數。
在MNIST上訓練maxout網絡,當?=0.25\epsilon=0.25?=0.25時對抗訓練得到了不錯的結果。在對模型的第一層應用L1權值衰減時,作者發現?=0.0025\epsilon=0.0025?=0.0025都太大了,導致模型在訓練集上出現超過5% 的誤差。很小的權值衰減系數能提高訓練的成功率,但是沒有起到正則化的作用。

5. DNNs 的對抗訓練

相比于淺層的線性模型,深度網絡至少能表示出抵抗對抗擾動的函數。
Szegedy表明,在混合了對抗樣本和干凈樣本的數據集上進行訓練可以一定程度的對神經網絡正則化。
作者給出了一個基于FGSM的對抗訓練方法,這也是一種有效的regularizer:
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\,{\rm sign}(\bigtriangledown_x J(\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.84%,而沒采用對抗訓練的網絡錯誤率為0.94%。
作者在訓練集的對抗樣本上沒有取得過0錯誤率,他們給出了兩個解決方法:

  • 1.使模型更大:每層使用1600個單元(之前為240個)。

當沒采用對抗訓練,模型會有些過擬合,測試集上的錯誤率為1.14%。當使用了對抗訓練,驗證集的錯誤率十分緩慢地隨著時間趨于平穩。初始的maxout實驗使用了early stopping,當驗證集的錯誤率在100個epoch內沒有下降后終止學習。作者發現,即使驗證集錯誤率十分平坦,但對抗驗證集(adversarial validation set error)并非如此,所以:

  • 2.在對抗驗證集上也使用early stopping。

采用這兩點后,作者在MNIST數據集上進行實驗,錯誤率為0.782%。
對抗樣本還可以在兩個模型之間轉移,但經過對抗訓練的模型顯示出更高的魯棒性:模型采用對抗訓練,當對抗樣本由此模型生成時:模型錯誤率為19.6%;當對抗樣本由另一個模型生成時:模型錯誤率為40.9%。錯誤分類的樣本的平均置信度為81.4%。 作者還發現模型的權重發生了顯著變化,采用對抗訓練的模型的權重明顯更具本地化和可解釋性(見圖 3)。

圖3. 在MNIST上訓練的maxout網絡的權重可視化。每行展示了單個maxout單元的filter。 左)無對抗訓練的模型;右)使用對抗性訓練的模型。

噪聲會導致目標函數值降低,可以將對抗訓練視為在一組有噪輸入中進行樣本挖掘,以便通過僅考慮那些強烈抵制分類的噪聲點來更有效地訓練。作為對照實驗,作者訓練了一個帶有噪聲的maxout網絡,訓練的噪聲為:1.隨機添加±?\pm \epsilon±?到每個像素; 2.添加噪聲(噪聲服從U(??,?)U(-\epsilon,\epsilon)U(??,?))到每個像素。在FGSM生成的對抗樣本上,1的錯誤率為86.2%,置信度為97.3%;2的錯誤率為90.4%,置信度為97.8%。

符號函數的導數處處為0或未定義(原點處),因此基于FGSM對抗訓練的模型無法預測adversary將如何對參數的變化做出反應。如果改為基于小幅度旋轉或添加縮放梯度(scaled gradient)的對抗樣本,那么擾動過程本身是可微的,并且學習過程中可以看到adversary的反應。

這里提到了一個問題:擾動輸入更好,還是擾動隱藏層更好,或是二者都被擾動?這里的結論是不一致的。Szegedy等人通過對sigmoidal網絡實驗總結出:當對抗擾動應用在隱藏層時,正則效果最好。文本中作者的實驗基于FGSM,他們發現具有無界激活(unbounded activation functions)的隱藏單元的網絡只是通過使隱藏單元的激活非常大來做出響應,因此通常最好只擾動原始輸入。在Rust模型等飽和模型上,輸入的擾動與隱藏層的擾動相當。基于旋轉隱藏層的擾動解決了無界激活增長的問題,從而使擾動相對更小。使用隱藏層的旋轉擾動,作者成功地訓練了maxout網絡。然而,這并沒有產生與輸入層一樣正則化效果。神經網絡的最后一層(linear-sigmoid或linear-softmax層)不是隱藏層最后一層的通用近似,這表明在對隱藏層最后一層應用對抗擾動時可能會遇到欠擬合問題。作者得到的最佳結果是使用對隱藏層的擾動進行訓練,但是沒涉及到隱藏層的最后一層。

6. 不同類型的模型capacity

人們直覺上認為capacity低的模型無法準確預測,但并非如此,如RBF網絡:
p(y=1∣x)=exp?((x?μ)Tβ(x?μ))p(y=1|x)=\exp((x-\mu)^T\beta(x-\mu))p(y=1x)=exp((x?μ)Tβ(x?μ))
只能準確預測μ\muμ附近y=1y=1y=1的類,RBF預測對抗樣本的置信度很低:作者選擇無隱藏層的淺層RBF對(MNIST上用FGSM生成的)對抗樣本進行實驗,錯誤率為55.4%,置信度為1.2%,對干凈樣本的置信度為60.6%。這種低capacity的模型錯誤率高是正常的,但它們通過在自己不"理解"的點上大大降低其置信度來做出正確的反應。
RBF的泛化能力不好。可以將RBF網絡中的線性單元和RBF單元視為精確度-召回率(precision-recall)曲線上的不同點,線性單元召回率高,精確度低;RBF單元精確度高,召回率低。受這個想法的啟發,作者在下文對一些包含二階單元(quadratic units 如RBF單元中有二次項)的模型進行探索。

7. 對抗樣本泛化的原因

圖4 簡單訓練的maxout網絡:左)在單個輸入樣本上改變?\epsilon?的值,觀察10個MNIST類中每個softmax層的參數(未歸一化的log概率)。正確的類是4。可以看到每個類別的概率與?\epsilon?呈分段線性,錯誤的分類存在于?\epsilon?值的廣泛區域。右)用于生成左圖的輸入。左上為負數的?\epsilon?,右下為正值得?\epsilon?,黃框中的為正確分類的輸入。

1.對抗樣本特別多,且泛化能力強,同一對抗樣本會被不同模型錯誤分類:線性的觀點是,對抗樣本出現在廣泛的子空間中。如圖4,通過追蹤?\epsilon?不同的值可以看到,對抗樣本出現在由FGSM定義的一維子空間的連續區域中,而不是特定的區域。
2.一個對抗樣本還會被不同的模型錯誤分成同一類:這是因為機器學習算法的泛化性,在訓練集的不同子集上訓練時,模型能學到大致相同的權重,所以,分類權重的穩定性返回來引起了對抗樣本的穩定性。

8. 其他假設

作者反駁了兩個假設:
1.生成訓練可以在訓練過程中提供更多的約束或限制,或者使模型學習如何分辨 “real” 或 “fake” 的數據,并且只對"real"的數據更加自信。
2.單個模型有奇怪的行為特點(strange quirks),但對多個模型進行平均(模型平均)可能會抵抗對抗樣本的干擾。

9. 論文總結

此篇論文提出了以下結論:

  • 對抗樣本可以解釋為高維點積的一種特征屬性,它們的產生是由于模型過于線性化,而非過于非線性化。
  • 對抗樣本在不同模型中的泛化可以解釋為對抗擾動與模型的權重向量高度一致,且不同模型(當執行相同任務時,如手寫數字分類)在訓練中學習的函數相同。
  • 擾動的方向是最重要的,而非空間中的特定點。對抗樣本廣泛存在于空間中。
  • 對抗擾動會泛化到不同的干凈樣本中。
  • 提出了生成對抗樣本的方法——FGSM
  • 作者證明了對抗訓練可以提供正則作用,甚至比dropout更強。
  • 作者進行了控制實驗,但未能使用簡單 效率低的正則化器來重現這種效果。
  • 易于優化的模型容易收到對抗樣本的干擾。
  • 線性模型缺乏對對抗擾動的抵抗能力,具有隱藏層結構的模型才能通過對抗訓練來抵抗它們。
  • RBF網絡對對抗樣本有抵抗能力。
  • 為輸入分布建模而訓練的模型對對抗樣本沒有抵抗能力。
  • 集成對對抗樣本沒有抵抗能力。

總結

以上是生活随笔為你收集整理的【论文笔记】(FGSM公式推导)Explaining and Harnessing Adversarial Examples的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。