论文 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η<=ϵ∗n∗m,虽然
ϵ
\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算法可理解成梯度上升算法,即沿着梯度的方向移动,使用加号,求得损失函数的最大值。
原始图像
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∞,即限制了修改的程度,但未限制修改的数量。