对抗样本生成算法-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算法流程

需要进行对抗样本生成的原始图片 x o r i x_{ori} xori,其标签为 y y y,一个良好的分类模型 M M M,分类模型 M M M的参数 θ \theta θ,同时需要使用FGSM生成一个攻击噪声 η \eta η
首先使用分类模型 M M M对输出 x o r i x_{ori} xori进行一个前向传播,可以计算ß出损失函数值 ∇ x o r i J ( θ , x o r i , y ) \nabla_{x_{ori}} J(\theta,x_{ori},y) xoriJ(θ,xori,y),因为损失计算得到的雅可比矩阵的元素大小不均,所以为了控制损失值的无穷范数(每一个像素的损失值的最大值),所以使用符号函数 s i g n ( ) sign() sign()提取梯度的方向,而不是用梯度的值,同时我们使用一个参数 ε \varepsilon ε来控制攻击噪声的幅值,满足 ∥ η ∥ ∞ < ε \left \| \eta \right \|_\infty<\varepsilon η<ε

综上
η = ε s i g n ( ∇ x o r i J ( θ , x o r i , y ) ) (1.1) \eta=\varepsilon sign(\nabla_{x_{ori}} J(\theta,x_{ori},y)) \tag{1.1} η=εsign(xoriJ(θ,xori,y))(1.1)随后,将原图加上攻击噪声 η \eta η即可得到原始图片 x o r i x_{ori} xori的对抗样本 x a d v x_{adv} xadv
x a d v = x o r i + η (1.2) x_{adv}=x_{ori}+\eta \tag{1.2} xadv=xori+η(1.2)添加扰动之后的图片需要对于某些超出范围的像素进行裁剪。

FGSM虽然是白盒攻击方法,但其产生的对ß抗样本在面对黑盒模型时同样具有一定ß效ß果,现一般作为算法baseline进行比较。

3.FGSM扰动有效性分析

对抗样本生成算法-FGSM、I-FGSM、ILCM、PGD_第1张图片

即分类网络线性因素越多,该网络越容易收到对抗扰动影响。

二、I-FGSM/BIM(Iterative FGSM)

1.I-FGSM与FGSM的区别

I-FGSM/BIM是FGSM的改进版,原始将FGSM所有的像素进行了一次性变化。且FGSM 只沿着梯度增加的方向添加一步扰动,而 BIM 则通过迭代的方式,沿着梯度增加的方向进行多步小扰动(该扰动幅值由公式中的 α \alpha α控制),并且在每一小步后,重新计算梯度方向,相比FGSM能构造出更加精准的扰动,但代价是增大了计算量。

2.I-FGSM算法流程

X 0 a d v = X X N + 1 a d v = C l i p X , ε { X N a d v + α s i g n ( ∇ X J ( θ , X N a d v , y t r u e ) ) } (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(XJ(θ,XNadv,ytrue))}(2.1)其中, X X X是原始图片, X N a d v X_{N}^{adv} XNadv是经过N次FGSM算法处理后的对抗样本, C l i p X , ε ( A ) Clip_{X,\varepsilon}(A) ClipX,ε(A)函数将输入向量A中的每个元素 A i , j A_{i,j} Ai,j裁剪到 [ X i , j − ε , X i , j + ε ] [X_{i,j}-\varepsilon,X_{i,j}+\varepsilon] [Xi,jε,Xi,j+ε]之间, s i g n ( ∇ X J ( θ , X N a d v , y t r u e ) sign(\nabla_{X} J(\theta,X_{N}^{adv},y_{true}) sign(XJ(θ,XNadv,ytrue)与原始FGSM中对应计算量相同, α \alpha α代表每次迭代图像像素更新的幅值,例如将 α \alpha α设为1则每一次迭代,图像像素只更新1或者-1。

迭代的含义:每次在上一步的对抗样本的基础上,各个像素增长(或者减少) α \alpha α,然后再执行裁剪,保证新样本的各个像素都在的 X i , j X_{i,j} Xi,j ε \varepsilon ε邻域内。这种迭代的方法是有可能在各个像素变化小于 ε \varepsilon ε的情况下找到对抗样本的,如果找不到,最差的效果就跟原始的FGSM一样。

三、ILCM(Iterative Least-likely Class Method)

1.ILCM与I-FGSM的区别

ILCM算法是I-FGSM的升级版,该算法将输入图像分类成原始图像最不可能被分到的类别,即在原始图片经过分类网络后分类置信度最低的类。

2.ILCM算法流程

X 0 a d v = X , X N + 1 a d v = C l i p X , ε { X N a d v − α s i g n ( ∇ X J ( θ , X N a d v , y L L ) ) } (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(XJ(θ,XNadv,yLL))}(3.1)
y L L = a r g   m i n y { p ( y ∣ X ) } (3.2) y_{LL}=arg\ min_{y}\{p(y|X)\} \tag{3.2} yLL=arg miny{p(yX)}(3.2)其中, y L L y_{LL} yLL是原始图片最不可能被分到的类别,且该标签不会随着扰动的添加在改变,即 y L L y_{LL} yLL只与 X X X有关,与 X N a d v X_{N}^{adv} XNadv无关。

从公式中可以看到和FGSM无目标攻击公式的最大区别在于对抗扰动项前面的加号变成减号,同时原本的真实标签 y t r u e y_{true} ytrue变成 y L L y_{LL} yLL,目的是使得模型优化目标 y L L y_{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 ⁡ δ ∈ S L ( 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[δSmaxL(x+δ,y,θ)]}(4.2)其中 S S S是一组选定的扰动,也是无穷范数球的球面限制,限制对抗扰动的幅值。
(4.2)式包括了内部最大化和外部最小化,因此可以视为鞍点(min-max)问题,同时清晰地描述了鲁棒模型应该达到的目标:内部最大化目的在于寻找最优的对抗样本使分类网络训练达到很高,外部最小化目的在于寻找模型参数抵抗对抗样本的攻击。所以,最终训练得到的模型也具有稳定的对抗鲁棒性。内部最大化可以指导对抗样本的生成,而外部最大化可以指导网络训练。

3.PGD指导对抗样本生成(算法流程)

X 0 = X X N + 1 = ∏ X + S { X N + α s i g n [ ∇ X J ( θ , X N , y t r u e ) ] } (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[XJ(θ,XN,ytrue)]}(4.3) ∏ X + S \prod_{X+S} X+S符号限制对抗扰动在球面范围内。其中, X X X是原始图片, X N X^{N} XN是经过N次FGSM算法处理后的对抗样本, s i g n ( ∇ X J ( θ , X N , y t r u e ) sign(\nabla_{X} J(\theta,X^{N},y_{true}) sign(XJ(θ,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。
对抗样本生成算法-FGSM、I-FGSM、ILCM、PGD_第2张图片

图片来自:http://www.jsjkx.com/CN/article/openArticlePDF.jsp?id=20078

你可能感兴趣的:(算法,对抗样本,算法,对抗样本)