文章目录
@article{xiao2018generating,
title={Generating Adversarial Examples with Adversarial Networks},
author={Xiao, Chaowei and Li, Bo and Zhu, Junyan and He, Warren and Liu, Mingyan and Song, Dawn},
journal={arXiv: Cryptography and Security},
year={2018}}
概
本文利用GAN生成adversarial samples.
主要内容
其中 G \mathcal{G} G是生成器, D \mathcal{D} D是用于判别真假的判别器, 二者都是需要训练的, 而 f f f是已知的我们需要攻击的模型(在white-box下是不需要训练的).
训练判别器很普通的GAN是类似的, 即最大化下式:
L
G
A
N
=
E
x
log
D
(
x
)
+
E
x
log
(
1
−
D
(
x
+
G
(
x
)
)
)
.
(1)
\tag{1} \mathcal{L}_{GAN} = \mathbb{E}_{x} \log \mathcal{D}(x) + \mathbb{E}_{x} \log (1-\mathcal{D}(x+\mathcal{G}(x))).
LGAN=ExlogD(x)+Exlog(1−D(x+G(x))).(1)
训练生成器, 除了
L
G
A
N
\mathcal{L}_{GAN}
LGAN, 还需要
L
a
d
v
f
=
E
x
ℓ
f
(
x
+
G
(
x
)
,
t
)
,
(2)
\tag{2} \mathcal{L}_{adv}^f = \mathbb{E}_x \ell_f (x+\mathcal{G}(x),t),
Ladvf=Exℓf(x+G(x),t),(2)
其中
t
t
t是我们所需要的攻击目标(注意这里通过对
ℓ
\ell
ℓ的一些额外的选择, 是可以用到untargeted attack的).
L
h
i
n
g
e
=
E
x
max
(
0
,
∥
G
(
x
)
∥
2
−
c
)
,
(3)
\tag{3} \mathcal{L}_{hinge} = \mathbb{E}_x \max (0, \|\mathcal{G}(x)\|_2 -c),
Lhinge=Exmax(0,∥G(x)∥2−c),(3)
显然(3)是保证摄动不要太大.
所以训练生成器是最小化
L
=
L
a
d
v
f
+
α
L
G
A
N
+
β
L
h
i
n
g
e
.
(4)
\tag{4} \mathcal{L}=\mathcal{L}_{adv}^f+ \alpha \mathcal{L}_{GAN} + \beta \mathcal{L}_{hinge}.
L=Ladvf+αLGAN+βLhinge.(4)
black-box 拓展
该方法可以拓展到black-box上, 假设 b ( x ) b(x) b(x)是目标网络, 其结构和训练数据都是未知的, 此时我们构建一个替代网络 f ( x ) f(x) f(x)用于逼近 b ( x ) b(x) b(x). 利用交替训练, 更新生成器 G \mathcal{G} G和 f f f.
- 固定
f
i
−
1
f_{i-1}
fi−1, 更新
G
i
\mathcal{G}_i
Gi:
G
i
\mathcal{G}_i
Gi初始化参数为
G
i
−
1
\mathcal{G}_{i-1}
Gi−1, 则
G i , D i = arg min G max D L a d v f + α L G A N + β L h i n g e . \mathcal{G}_i, \mathcal{D}_i = \arg \min _{\mathcal{G}} \max_{\mathcal{D}} \mathcal{L}_{adv}^f+ \alpha \mathcal{L}_{GAN} + \beta \mathcal{L}_{hinge}. Gi,Di=argGminDmaxLadvf+αLGAN+βLhinge. - 固定
G
i
\mathcal{G}_i
Gi, 更新
f
i
f_i
fi: 初始化
f
i
f_i
fi的参数为
f
i
−
1
f_{i-1}
fi−1, 则
f i = arg min f E x H ( f ( x ) , b ( x ) ) + E x H ( f ( x + G i ( x ) ) , b ( x + G i ( x ) ) ) . f_i=\arg \min_f \mathbb{E}_x \mathcal{H} (f(x), b(x)) + \mathbb{E}_x \mathcal{H} (f(x+\mathcal{G}_i(x)), b(x+\mathcal{G}_i(x))). fi=argfminExH(f(x),b(x))+ExH(f(x+Gi(x)),b(x+Gi(x))).
其中 H \mathcal{H} H表示交叉熵损失.