对抗样本生成算法-FGSM、I-FGSM、ILCM、PGD
對抗樣本生成算法
- 一、FGSM(Fast Gradient Sign Method)
- 1.FGSM基本思想
- 2.FGSM算法流程
- 3.FGSM擾動有效性分析
- 二、I-FGSM/BIM(Iterative FGSM)
- 1.I-FGSM與FGSM的區別
- 2.I-FGSM算法流程
- 三、ILCM(Iterative Least-likely Class Method)
- 1.ILCM與I-FGSM的區別
- 2.ILCM算法流程
- 四、PGD(Projected Gradient Descent)
- 1.PGD與I-FGSM的區別
- 2.PGD指導對抗樣本防御
- 3.PGD指導對抗樣本生成(算法流程)
- 五、PGD與I-FGSM的區別
一、FGSM(Fast Gradient Sign Method)
1.FGSM基本思想
Fast gradient sign method縮寫為FGSM,其思想來源于“隨機梯度下降使得模型對于輸入圖像輸出的損失函數值變小,從而使網絡輸出正確的預測,那么如果將計算得出的損失值加到輸入圖像上,使得網絡輸出的損失值變大,即可使網絡趨向于輸出錯誤的預測結果”。
2.FGSM算法流程
需要進行對抗樣本生成的原始圖片xorix_{ori}xori?,其標簽為yyy,一個良好的分類模型MMM,分類模型MMM的參數θ\thetaθ,同時需要使用FGSM生成一個攻擊噪聲η\etaη。
首先使用分類模型MMM對輸出xorix_{ori}xori?進行一個前向傳播,可以計算?出損失函數值?xoriJ(θ,xori,y)\nabla_{x_{ori}} J(\theta,x_{ori},y)?xori??J(θ,xori?,y),因為損失計算得到的雅可比矩陣的元素大小不均,所以為了控制損失值的無窮范數(每一個像素的損失值的最大值),所以使用符號函數sign()sign()sign()提取梯度的方向,而不是用梯度的值,同時我們使用一個參數ε\varepsilonε來控制攻擊噪聲的幅值,滿足∥η∥∞<ε\left \| \eta \right \|_\infty<\varepsilon∥η∥∞?<ε。
綜上
η=εsign(?xoriJ(θ,xori,y))(1.1)\eta=\varepsilon sign(\nabla_{x_{ori}} J(\theta,x_{ori},y)) \tag{1.1} η=εsign(?xori??J(θ,xori?,y))(1.1)隨后,將原圖加上攻擊噪聲η\etaη即可得到原始圖片xorix_{ori}xori?的對抗樣本xadvx_{adv}xadv?
xadv=xori+η(1.2)x_{adv}=x_{ori}+\eta \tag{1.2} xadv?=xori?+η(1.2)添加擾動之后的圖片需要對于某些超出范圍的像素進行裁剪。
FGSM雖然是白盒攻擊方法,但其產生的對?抗樣本在面對黑盒模型時同樣具有一定?效?果,現一般作為算法baseline進行比較。
3.FGSM擾動有效性分析
即分類網絡線性因素越多,該網絡越容易收到對抗擾動影響。
二、I-FGSM/BIM(Iterative FGSM)
1.I-FGSM與FGSM的區別
I-FGSM/BIM是FGSM的改進版,原始將FGSM所有的像素進行了一次性變化。且FGSM 只沿著梯度增加的方向添加一步擾動,而 BIM 則通過迭代的方式,沿著梯度增加的方向進行多步小擾動(該擾動幅值由公式中的α\alphaα控制),并且在每一小步后,重新計算梯度方向,相比FGSM能構造出更加精準的擾動,但代價是增大了計算量。
2.I-FGSM算法流程
X0adv=XXN+1adv=ClipX,ε{XNadv+αsign(?XJ(θ,XNadv,ytrue))}(2.1)X_{0}^{adv}=X\\ X_{N+1}^{adv}=Clip_{X,\varepsilon}\{X_{N}^{adv}+\alpha sign(\nabla_{X} J(\theta,X_{N}^{adv},y_{true}))\} \tag{2.1} X0adv?=XXN+1adv?=ClipX,ε?{XNadv?+αsign(?X?J(θ,XNadv?,ytrue?))}(2.1)其中,XXX是原始圖片,XNadvX_{N}^{adv}XNadv?是經過N次FGSM算法處理后的對抗樣本,ClipX,ε(A)Clip_{X,\varepsilon}(A)ClipX,ε?(A)函數將輸入向量A中的每個元素Ai,jA_{i,j}Ai,j?裁剪到[Xi,j?ε,Xi,j+ε][X_{i,j}-\varepsilon,X_{i,j}+\varepsilon][Xi,j??ε,Xi,j?+ε]之間,sign(?XJ(θ,XNadv,ytrue)sign(\nabla_{X} J(\theta,X_{N}^{adv},y_{true})sign(?X?J(θ,XNadv?,ytrue?)與原始FGSM中對應計算量相同,α\alphaα代表每次迭代圖像像素更新的幅值,例如將α\alphaα設為1則每一次迭代,圖像像素只更新1或者-1。
迭代的含義:每次在上一步的對抗樣本的基礎上,各個像素增長(或者減少)α\alphaα,然后再執行裁剪,保證新樣本的各個像素都在的Xi,jX_{i,j}Xi,j?的ε\varepsilonε鄰域內。這種迭代的方法是有可能在各個像素變化小于ε\varepsilonε的情況下找到對抗樣本的,如果找不到,最差的效果就跟原始的FGSM一樣。
三、ILCM(Iterative Least-likely Class Method)
1.ILCM與I-FGSM的區別
ILCM算法是I-FGSM的升級版,該算法將輸入圖像分類成原始圖像最不可能被分到的類別,即在原始圖片經過分類網絡后分類置信度最低的類。
2.ILCM算法流程
X0adv=X,XN+1adv=ClipX,ε{XNadv?αsign(?XJ(θ,XNadv,yLL))}(3.1)X_{0}^{adv}=X,X_{N+1}^{adv}=Clip_{X,\varepsilon}\{X_{N}^{adv}-\alpha sign(\nabla_{X} J(\theta,X_{N}^{adv},y_{LL}))\} \tag{3.1} X0adv?=X,XN+1adv?=ClipX,ε?{XNadv??αsign(?X?J(θ,XNadv?,yLL?))}(3.1)
yLL=argminy{p(y∣X)}(3.2)y_{LL}=arg\ min_{y}\{p(y|X)\} \tag{3.2} yLL?=arg?miny?{p(y∣X)}(3.2)其中,yLLy_{LL}yLL?是原始圖片最不可能被分到的類別,且該標簽不會隨著擾動的添加在改變,即yLLy_{LL}yLL?只與XXX有關,與XNadvX_{N}^{adv}XNadv?無關。
從公式中可以看到和FGSM無目標攻擊公式的最大區別在于對抗擾動項前面的加號變成減號,同時原本的真實標簽ytruey_{true}ytrue?變成yLLy_{LL}yLL?,目的是使得模型優化目標yLLy_{LL}yLL?的分類概率越來越大。
四、PGD(Projected Gradient Descent)
1.PGD與I-FGSM的區別
PGD是在BIM的基礎上,對原始樣本在其鄰域范圍內隨機擾動作為算法初始輸入,經多次迭代后生成對抗樣本,其性能得到顯著改善,具有較好的遷移性和抗破壞能力。
2.PGD指導對抗樣本防御
提出該方法的論文的中心思想:
How can we train deep neural networks that are robust to adversarial inputs?如何訓練模型,使其能對某一類攻擊都魯棒?原始的網絡訓練方式Empirical risk minimization (ERM,經驗風險最小化),即找到一組模型參數θ\thetaθ,使:
min?{ρ(θ)}?min?{E(x,y)~D[L(x,y,θ)]}(4.1)\min\{\rho(\theta)\}? \min\{\mathbb{E}_{(x,y)~D}[L(x,y,\theta)]\} \tag{4.1} min{ρ(θ)}?min{E(x,y)~D?[L(x,y,θ)]}(4.1)傳統的網絡訓練方式對于常規數據分布具有良好的擬合能力,但該方法訓練的模型一般無法抵御對抗樣本攻擊。我們將對抗擾動引入經驗風險最小化范式中,使網絡訓練中將對抗擾動考慮在內,即找到一組模型參數θ\thetaθ,使:
min?{ρ(θ)}?min?{E(x,y)~D[max?δ∈SL(x+δ,y,θ)]}(4.2)\min\{\rho(\theta)\}? \min\{\mathbb{E}_{(x,y)~D}[\max\limits_{\delta\in S} L(x+\delta,y,\theta)]\} \tag{4.2} min{ρ(θ)}?min{E(x,y)~D?[δ∈Smax?L(x+δ,y,θ)]}(4.2)其中SSS是一組選定的擾動,也是無窮范數球的球面限制,限制對抗擾動的幅值。
(4.2)式包括了內部最大化和外部最小化,因此可以視為鞍點(min-max)問題,同時清晰地描述了魯棒模型應該達到的目標:內部最大化目的在于尋找最優的對抗樣本使分類網絡訓練達到很高,外部最小化目的在于尋找模型參數抵抗對抗樣本的攻擊。所以,最終訓練得到的模型也具有穩定的對抗魯棒性。內部最大化可以指導對抗樣本的生成,而外部最大化可以指導網絡訓練。
3.PGD指導對抗樣本生成(算法流程)
X0=XXN+1=∏X+S{XN+αsign[?XJ(θ,XN,ytrue)]}(4.3)X^{0}=X \\X^{N+1}=\prod_{X+S}\{X^{N}+\alpha sign[\nabla_{X} J(\theta,X^{N},y_{true})]\} \tag{4.3} X0=XXN+1=X+S∏?{XN+αsign[?X?J(θ,XN,ytrue?)]}(4.3)∏X+S\prod_{X+S}∏X+S?符號限制對抗擾動在球面范圍內。其中,XXX是原始圖片,XNX^{N}XN是經過N次FGSM算法處理后的對抗樣本,sign(?XJ(θ,XN,ytrue)sign(\nabla_{X} J(\theta,X^{N},y_{true})sign(?X?J(θ,XN,ytrue?)與原始FGSM中對應計算量相同,α\alphaα代表每次迭代圖像像素更新的幅值,例如將α\alphaα設為1則每一次迭代,圖像像素只更新1或者-1。
同時,PGD會在對抗樣本攻擊前在樣本中隨機加入一些噪聲,在進行對抗樣本迭代生成,該方法被證明是一階攻擊方法中最強大的一種。
五、PGD與I-FGSM的區別
PGD的無窮范數版本基本等于I-FGSM,但PGD的無窮范數版本多了在對抗攻擊之前的隨機初始化,即在原始圖片中添加隨機噪聲。PGD是I-FGSM的推廣,I-FGSM是PGD的特例。PGD攻擊強度大于I-FGSM。
圖片來自:http://www.jsjkx.com/CN/article/openArticlePDF.jsp?id=20078
總結
以上是生活随笔為你收集整理的对抗样本生成算法-FGSM、I-FGSM、ILCM、PGD的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决vscode中文乱码的问题
- 下一篇: cad页面布局快捷键_cad设置快捷键(