@article{papernot2017practical,
title={Practical Black-Box Attacks against Machine Learning},
author={Papernot, Nicolas and Mcdaniel, Patrick and Goodfellow, Ian and Jha, Somesh and Celik, Z Berkay and Swami, Ananthram},
pages={506–519},
year={2017}}
概
Adversarial samples 构造策略中的black-box策略. black-box attacks, 即不依赖所针对的神经网络 O O O的参数(像FGSM需要关于样本求导), 不依赖训练 O O O所需的样本.
主要内容
算法为:
策略如下, 我们现在仅有一个黑盒般的神经网络
O
O
O, 我们喂入一个样本
x
x
x就会有一个输出, 记
O
~
(
x
)
\tilde{O}(x)
O~(x)为对应的预测的类, 即
O
~
(
x
)
=
arg
max
j
∈
0
,
…
,
N
O
j
(
x
)
,
\tilde{O}(x) = \arg \max_{j \in 0, \ldots, N} O_j(x),
O~(x)=argj∈0,…,NmaxOj(x),
其中
O
j
(
x
)
O_j(x)
Oj(x)是概率向量
O
(
x
)
O(x)
O(x)的第
j
j
j个元素.
我们构造一个新的神经网络 S S S, 以期望训练 S S S使得 S S S和 O O O二者的分类边界近似. 因为没有训练样本, 一种想法是人工生成训练样本(随机生成是可以预料到的方法, 但是这种方法作者说不好).
Jacobian-based Dataset Augmentation
假设有一批最开始的样本(可以是找的少量训练样本, 或者随机生成的样本), 设为
S
0
S_0
S0, 将这批样本畏入
O
O
O获得对应的样本标签(虽然可能是误判, 我们的目的是拟合
O
O
O),
D
←
{
(
x
,
O
~
(
x
)
)
:
x
∈
S
0
}
,
D \leftarrow \{(x, \tilde{O}(x)):x \in S_0\},
D←{(x,O~(x)):x∈S0},
再将这批数据喂入
S
S
S训练
S
S
S, 现在我们需要更新
S
0
S_0
S0:
S
1
←
{
x
+
λ
⋅
s
g
n
(
J
F
[
O
~
(
x
)
]
:
x
∈
S
0
]
}
∪
S
0
.
S_1 \leftarrow \{x + \lambda \cdot \mathrm{sgn} (J_F[\tilde{O}(x)]: x \in S_0]\} \cup S_0.
S1←{x+λ⋅sgn(JF[O~(x)]:x∈S0]}∪S0.
其中
J
F
[
O
~
(
x
)
]
J_F[\tilde{O}(x)]
JF[O~(x)]表示
O
~
(
x
)
\tilde{O}(x)
O~(x)关于
x
x
x的导数(这个idea应该是中FGSM中来的, 比较Goodfellow是联合作者).
后续的数据的更新是类似的.
现在假设我们已经训练好了 S S S, 我们需要在 S S S的基础上构造adversarial samples, 这些作者直接借鉴了部分关于white-box的工作(FGSM等), 我们只需利用white-box attacks 去欺骗 S S S即可.
Note
- 网络结构, 比如网络的层数, 训练时的epoch等等对结果的影响有限.
- white-box 方法选择对结果的影响有限.
- 该方法可以扩展到除DNN以外的机器学习上, 比如逻辑斯蒂回归(决策树似乎也可, 但是没找到怎么实现的方案).
- 为了提高网络的稳定性, 我们可以在训练的时候加入adversarial samples, 但是作者发现, 最好是在 ϵ \epsilon ϵ(输入摄动)较大但有限的adversarial samples 上训练比较好.