NAG: Network for Adversary Generation 对抗样本
论文名称 | NAG: Network for Adversary Generation
|
---|
作者 | Konda Reddy Mopuri*(印度科学研究所)
|
会议/出版社 | CVPR 2018 |
pdf | 📄在线pdf |
代码
| 💻Tensorflow |
本文提出训练生成网络生成 UAP。因为无法得知 UAP 的真实分布,所以作者设置了一个特别的生成网络结构,通过优化 Fooling Objective 和 Diversity Objective 来使得生成器能够产生一系列的 UAP。
以前的工作 通常使用优化的方法在数据集上生成一个 UAP,但是先前的文章证明了对抗扰动存在于一个大的连续的区域,而不是分散在空间中。所以本文试图通过生成模型去捕获这些未知的对抗扰动的分布。
模型的结构图如下:
{
z
}
B
\{z\}_{B}
{z}B? 代表一组B个随机向量,
B
B
B 为batch size 的大小。送入生成器中生成一系列的扰动
{
δ
}
B
\{\delta\}_{B}
{δ}B?
f
f
f 为训练好的 target model,在训练时固定其权重。在更新时只训练生成器
-
Fooling Objective
Fooling Objective 的目标是让加上扰动后的图片通过神经网络后分类错误,具体为蓝色线的部分
Benign batch:中间分支干净的图片通过 target model 后输出预测概率
q
j
q_{j}
qj?,
j
j
j 代表目标类。取样本的 label:
c
=
argmax
?
{
q
}
c=\operatorname{argmax}\{q\}
c=argmax{q}
adversarial batch:最上方的分支为干净图片加上对抗扰动后送入 target model 中,生成预测概率
q
′
q^{\prime}
q′
构建损失函数:
L
f
=
?
log
?
(
1
?
q
c
′
)
L_{f}=-\log \left(1-q_{c}^{\prime}\right)
Lf?=?log(1?qc′?),
q
c
′
q_{c}^{\prime}
qc′? 为
(
x
+
δ
)
(x+\delta)
(x+δ) 在 grouth -truth class 的 logits
-
Diversity Objective
如果优化 Fooling Objective 可能会导致模型陷入局部最小,即生成器只会生成几个特定的扰动。为了使生成的扰动具有多样性,还需要优化 Diversity loss。
模型的上分支,将每张图片加入一个扰动:
X
A
=
{
x
+
δ
n
}
B
X_{A}=\left\{x+\delta_{n}\right\}_{B}
XA?={x+δn?}B? ,再送入神经网络中
模型的下分支重新打乱了扰动的顺序,再加入图片中:
X
S
=
{
x
+
δ
n
′
}
B
X_{S}=\left\{x+\delta_{n^{\prime}}\right\}_{B}
XS?={x+δn′?}B? ,再送入神经网络中
取出上下分支的第
i
i
i 层的特征构建损失函数:
L
d
=
?
∑
n
=
1
B
d
(
f
i
(
x
n
+
δ
n
)
,
f
i
(
x
n
+
δ
n
′
)
)
L_{d}=-\sum_{n=1}^{B} d\left(f^{i}\left(x_{n}+\delta_{n}\right), f^{i}\left(x_{n}+\delta_{n^{\prime}}\right)\right)
Ld?=?∑n=1B?d(fi(xn?+δn?),fi(xn?+δn′?))
- 最大化同一张图片,加入不同扰动的距离,使得生成的扰动具有多样性
loss :
L
o
s
s
=
L
f
+
λ
L
d
L o s s=L_{f}+\lambda L_{d}
Loss=Lf?+λLd?,同时需要将扰动限制在
[
?
ξ
,
ξ
]
[-\xi, \xi]
[?ξ,ξ] 区域内
-
实验:
-
Perturbations and the fooling rates
图片讨论了生成扰动的 fooling rates 和迁移性。纵轴表示训练时使用的分类器,横轴表示测试时的分类器。可以看到本文生成的 UAP 具有一定的迁移能力
-
Effect of training data on the modelling
训练数据量与 fooling rates 的关系,训练数据量越多效果越好
-
视觉质量
生成的图片视觉质量看起来一般般