摘要
大多数现有的机器学习分类器对于对抗样本而言都十分脆弱。
2 生成对抗样本的方法
这一节描述了我们在实验部分使用的生成对抗样本的方法。需要注意的是,上述方法都不能保证生成的图像会被错误分类。然而,我们称所有生成的图像为“对抗图片”。
在这篇文章的后面,我们使用如下的符号表示:
-
X
X
X:表示一个图片,通常是一个三维张量(width、height、depth)。在这篇文章中,我们假定像素的值均为整型数字,范围为[0,255]。
-
J
(
X
,
y
)
J(X,y)
J(X,y):表示给定输入图片
X
X
X以及类别
y
y
y后神经网络的交叉熵损失函数。我们有意在损失函数中省略网络权重(和其他参数)
θ
\theta
θ,因为我们假设它们是固定的(与训练机器学习模型得到的值相同)。对于具有softmax输出层的神经网络,the cross-entropy cost function applied to integer class labels equals the negative log-probability of the true class given the image:
J
(
X
,
y
)
=
?
log
p
(
y
∣
X
)
J(X,y)=-\text{log}p(y|X)
J(X,y)=?logp(y∣X),this relationship will be used below.
-
C
l
i
p
X
,
?
{
X
′
}
Clip_{X,\epsilon}\{X'\}
ClipX,??{X′}: function which performs per-pixel clipping of the image
X
′
X'
X′, so the result will be in
L
∞
?
?
L_{\infty}\ \epsilon
L∞??? -neighbourhood of the source image
X
X
X. The exact clipping equation is as follows:
C
l
i
p
X
,
?
{
X
′
}
(
x
,
y
,
z
)
=
min
?
{
255
,
X
(
x
,
y
,
z
)
+
?
,
max
?
{
0
,
X
(
x
,
y
,
z
)
?
?
,
X
′
(
x
,
y
,
z
)
}
}
Clip_{X,\epsilon}\{X'\}(x,y,z)=\min\{255,X(x,y,z)+\epsilon,\max\{0,X(x,y,z)-\epsilon,X'(x,y,z)\}\}
ClipX,??{X′}(x,y,z)=min{255,X(x,y,z)+?,max{0,X(x,y,z)??,X′(x,y,z)}} 这里
X
(
x
,
y
,
z
)
X(x,y,z)
X(x,y,z) is the value of channel
z
z
z of the image
X
X
X at coordinates
(
x
,
y
)
(x,y)
(x,y)。
2.1 快速方法
Goodfellow等人2014年提出的方法是生成对抗样本的最简单的方法之一,这种方法线性化了损失函数并且在
L
∞
L_{\infty}
L∞?限定下最大化损失。This may be accomplished in closed form,for the cost of one call to back-propagation:
X
a
d
v
=
X
+
?
sign
(
?
X
J
(
X
,
y
t
r
u
e
)
)
X^{adv}=X+\epsilon\text{sign}(\nabla_XJ(X,y_{true}))
Xadv=X+?sign(?X?J(X,ytrue?))
这里
?
\epsilon
?是我们待选择的一个超参数。
在本文中我们称这种方法是“快”因为它并不需要一个迭代的过程来计算得到对抗样本,因此相比其他方法而言快得多。
2.2 Basic Iterative Method(BIM方法)
我们引入了一种直接的方法来拓展“快”方法——我们使用一个较小的步长多次应用这种方法,and clip pixel values of intermediate results after each step to ensure that they are in an
?
?
\epsilon-
??neighborhood of the orignial image:
X
0
a
d
v
+
X
,
X
N
+
1
a
d
v
=
C
l
i
p
X
,
?
{
X
N
a
d
v
+
α
sign
(
?
x
J
(
X
N
a
d
v
,
y
t
r
u
e
)
)
}
X_0^{adv}+X,\quad X_{N+1}^{adv}=Clip_{X,\epsilon}\{X_N^{adv}+\alpha\text{sign}(\nabla_xJ(X_N^{adv},y_{true}))\}
X0adv?+X,XN+1adv?=ClipX,??{XNadv?+αsign(?x?J(XNadv?,ytrue?))}
在我们的实验设定中我们使用
α
=
1
\alpha=1
α=1,即我们每步都将每个像素的值改变1。我们选择的迭代轮数为
min
?
(
?
+
4
,
1.25
?
)
\min(\epsilon+4,1.25\epsilon)
min(?+4,1.25?)。这一迭代轮数was chosen heuristically;it is sufficient for the adversrail example to reach the edge of the
?
\epsilon
? max-norm ball but restricted enough to keep the computational cost of experiments manageable。
在后面我们将这种方法称为“基本迭代”方法。
2.3 iterative least-likely class method
待补充
3 对抗样本的图片
3.1 destruction rate of adversarial images
为了研究任意变换对对抗图像的影响,我们引入了destruction rate的概念。它可以被描述为在变换后不再被错误分类的敌对图像的比例。正式定义如下:
To study the influence of arbitrary transformations on adversarial images we introduce the notion of destruction rate. It can be described as the fraction of adversarial images which are no longer misclassified after the transformations. The formal definition is the following:
|