赞
踩
Nicholas Carlini, David Wagner, Towards Evaluating the Robustness of Neural Networks
提出了在不同范数下 ℓ 0 , ℓ 2 , ℓ ∞ \ell_0, \ell_2, \ell_{\infty} ℓ0,ℓ2,ℓ∞下生成adversarial samples的方法, 实验证明此类方法很有效.
本文主要针对多分类问题, 假设神经网络 F : x ∈ R n → y ∈ R m F:x \in \mathbb{R}^n \rightarrow y \in \mathbb{R}^m F:x∈Rn→y∈Rm, 其网络参数为 θ \theta θ.
假设:
F
(
x
)
=
s
o
f
t
m
a
x
(
Z
(
x
)
)
=
y
,
F(x)=\mathrm{softmax}(Z(x))=y,
F(x)=softmax(Z(x))=y,
其中
s
o
f
t
m
a
x
(
x
)
i
=
e
x
i
∑
j
e
x
j
\mathrm{softmax}(x)_i=\frac{e^{x_i}}{\sum_j e^{x_j}}
softmax(x)i=∑jexjexi.
C
(
x
)
=
arg
max
i
F
(
x
)
i
,
C(x) = \arg \max_i F(x)_i,
C(x)=argimaxF(x)i,
为
x
x
x的预测类, 不妨设
C
∗
(
x
)
C^*(x)
C∗(x)为其真实的类别.
Adversarial samples 的目标就是构建一个与 x x x相差无几的 x ′ x' x′( ∥ x − x ′ ∥ \|x-x'\| ∥x−x′∥足够小),但是 C ( x ′ ) ≠ C ∗ ( x ) C(x')\not =C^*(x) C(x′)=C∗(x). 很多构建Adversarial samples可以指定类别:
文章中介绍了不少现有的方法, 这里不多赘述.
一般可以通过如下问题求解
x
′
=
x
+
δ
x'=x+\delta
x′=x+δ:
min
D
(
x
,
x
+
δ
)
s
.
t
.
C
(
x
+
δ
)
=
t
x
+
δ
∈
[
0
,
1
]
n
,
其中
D
\mathcal{D}
D衡量
x
,
x
+
δ
x,x+\delta
x,x+δ之间的距离, 常常为
ℓ
0
,
ℓ
2
,
ℓ
∞
\ell_0, \ell_2, \ell_{\infty}
ℓ0,ℓ2,ℓ∞.
但是
C
(
x
+
δ
)
=
t
C(x+\delta)=t
C(x+δ)=t这个条件离散, 这个问题很难直接求解, 作者给出的思路是构造一些函数
f
(
x
,
t
)
f(x,t)
f(x,t), 使得当且仅当
f
(
x
,
t
)
≤
0
f(x,t)\le0
f(x,t)≤0的时候此条件满足.
则问题转换为:
min
D
(
x
,
x
+
δ
)
s
.
t
.
f
(
x
,
t
)
≤
0
x
+
δ
∈
[
0
,
1
]
n
,
进一步
min
D
(
x
,
x
+
δ
)
+
c
f
(
x
,
t
)
s
.
t
.
x
+
δ
∈
[
0
,
1
]
n
.
作者给出了7种符合此类条件的函数(作者尤为推荐第6种):
binary search
图片的元素需要满足 0 ≤ x i ≤ 1 0\le x_i \le 1 0≤xi≤1, 如何满足此约束:
min
∥
1
2
(
tanh
(
w
)
+
1
)
−
x
∥
2
2
+
c
⋅
f
(
1
2
(
tanh
(
w
)
+
1
)
,
t
)
,
\min \quad \|\frac{1}{2}(\tanh(w)+1)-x\|_2^2+c\cdot f(\frac{1}{2}(\tanh(w)+1), t),
min∥21(tanh(w)+1)−x∥22+c⋅f(21(tanh(w)+1),t),
其中
f
(
x
′
,
t
)
=
max
(
max
{
Z
(
x
′
)
i
:
i
≠
t
}
−
Z
(
x
′
)
t
,
−
κ
)
,
f(x',t)=\max(\max \{Z(x')_i:i \not =t\}-Z(x')_t, -\kappa),
f(x′,t)=max(max{Z(x′)i:i=t}−Z(x′)t,−κ),
是对第6种方法的一个小改进, 其中
κ
\kappa
κ反应了我们对误判发生的信心.
因为 L 0 L_0 L0范数不可微, 所以每一次, 我们先利用 L 2 L_2 L2 attack来寻找合适的 δ \delta δ, 令 g = ∇ f ( x + δ ) g=\nabla f(x+\delta) g=∇f(x+δ), 根据 g i δ i g_i \delta_i giδi判断每个像素点的重要性, 最不重要的我们删去(根据文中的意思是永久删去).
在利用 L 2 L_2 L2寻找 δ \delta δ的过程中, 若失败, 令 c = 2 c c=2c c=2c并重复进行, 直到其成功或者超过了最大的迭代次数.
∥
δ
∥
∞
\|\delta\|_{\infty}
∥δ∥∞作为惩罚项(?)只会针对个别元素, 这在实际实验的时候并不友好, 往往会出现振荡, 于是作者想了一种替代
min
c
⋅
f
(
x
+
δ
)
+
∑
i
[
(
δ
i
−
τ
)
+
]
,
\min \quad c \cdot f( x+ \delta) + \sum_i [(\delta_i-\tau)^+],
minc⋅f(x+δ)+i∑[(δi−τ)+],
这样我们就把可以关注部分突出而非个别.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。