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