对抗样本生成算法之FGSM算法

目录

  • 背景
  • 原理

论文 Explaining and harnessing adversarial examples.
这篇论文由Goodfellow等人发表在ICLR2015会议上,是对抗样本领域的经典论文。

背景

-对抗样本的线性解释
对于线性模型, f ( x ) = w T x + b f(x)=w^Tx+b f(x)=wTx+b,对原始样本 x x x添加扰动 η \eta η得到对抗样本 x ˉ = x + η \bar{x}=x+\eta xˉ=x+η。为确保干扰是微小的,利用 ∣ ∣ η ∣ ∣ ∞ < ϵ ||\eta||_\infty<\epsilon η<ϵ进行限制。
添加噪声后,模型输出为 f ′ ( x ) = w T x ˉ + b = w T x + w T η + b f'(x)=w^T\bar{x}+b=w^Tx+w^T\eta+b f(x)=wTxˉ+b=wTx+wTη+b w w w为权重向量,如果 w w w具有n维度,并且每一维度的平均大小为 m m m,则激活将增长 m n mn mn。最后的扰动为 w T η < = ϵ ∗ n ∗ m w^T\eta<=\epsilon*n*m wTη<=ϵnm,虽然 ϵ \epsilon ϵ的值很小,但当 w w w的维度很大时, n m ϵ nm\epsilon nmϵ将会是一个很大的值,足以引起分类器分类错误。由于 ∣ ∣ η ∣ ∣ ∞ ||\eta||_\infty η不随维度而增长,但由 η \eta η扰动引起的激活变化可随着 n n n线性增长,对抗性扰动使激活度增加 w T η w^T\eta wTη

-作者猜测观点
作者认为,神经网络容易受到对抗性扰动影响的主要原因是它们的线性性质。高维空间中的线性行为足以引起对抗样本。
以上的线性解释是基于线性模型而言的,但DNN一般是高度非线性模型。DNN的非线性单元赋予了其强大的表达能力,但非线性单元的存在会降低学习效率。为提高学习效率,需要对非线性单元进行改进,通常做法是通过降低其非线性来实现。从而,非线性单元的线性行为不断增强,导致DNN的线性能力增强,因此导致对抗样本的存在。
对于高纬问题,我们可以对输入进行许多无穷小变化,从而对输入进行了大的变化。这些解释表明,如果简单线性模型的输入具有足够的维数,则可以具有对抗样本。

原理

FGSM(Fast Gradient Sign Method)是一种基于梯度生成对抗样本的算法,这是一个单步(one-step)的、非定向(non-targeted)的攻击算法。。其目标是最大化损失函数来获取对抗样本。

深度神经网络的训练,是追求损失函数最小化的过程。在求损失函数的最小值时,我们会沿着梯度的反方向移动,使用减号,即梯度下降算法。而FGSM算法可理解成梯度上升算法,即沿着梯度的方向移动,使用加号,求得损失函数的最大值。
对抗样本生成算法之FGSM算法_第1张图片
原始图像 x x x,扰动值 η \eta η,对抗样本 x + η x+\eta x+η。在扰动值的计算中,用到了 s i g n sign sign符号函数,保证了变化方向同梯度方向方向一致。 J J J是用来衡量分类误差的损失函数。 θ \theta θ为模型参数, x x x为模型输入, J ( θ , x , y ) J(\theta,x,y) J(θ,x,y)为训练神经网络的成本, ∇ x \nabla_x x为对 x x x求导。
η = ϵ ∗ s i g n ( ∇ x J ( θ , x , y ) ) \eta=\epsilon*sign(\nabla_xJ(\theta,x,y)) η=ϵsign(xJ(θ,x,y))
ϵ \epsilon ϵ的值通常是人为设定,但小于某一阈值,一旦扰动值超出阈值,该对抗样本会被人眼识别。梯度是使用反向传播算法计算得到的。

FGSM属于 L ∞ L_\infty L,即限制了修改的程度,但未限制修改的数量。

你可能感兴趣的:(对抗样本,深度学习)