一、引言
基于决策的黑箱攻击是对抗攻击的一大类,优点是不需要目标模型的任何信息,只需要知道目标模型对于给定输入样本的决策结果。本文主要介绍基于决策的黑箱攻击的开山之作——Boundary Attack,论文为:
Brendel W A R J. Decision-based adversarial attacks: reliable attacks against black-box machine learning models. arXiv preprint arXiv:1712.04248, 2017.
二、算法介绍
图1显示了Boundary Attack生成对抗样本的主要流程。其中, o o o表示原始样本(图片), η k \eta_k ηk表示第 k k k次迭代中生成的随机扰动,并且服从分布 P ( o ^ k − 1 ) P(\hat o^{k-1}) P(o^k−1)。该算法最开始会生成一个初始的对抗样本 o ^ 0 \hat o^{0} o^0,该样本服从均匀分布且目标模型对其分类错误。由于 o ^ 0 \hat o^{0} o^0是随机生成的,与原始样本 o o o的差别很大,不是一个理想的对抗样本,因此需要进行一步步的迭代使 o ^ 0 \hat o^{0} o^0向 o o o靠近到不能再近(再近就不是对抗样本了)。该算法能够成功的关键就在于确定 η k \eta_k ηk所属的分布 P ( o ^ k − 1 ) P(\hat o^{k-1}) P(o^k−1)。
作者发现
η
k
\eta_k
ηk的分布为maximum entropy distribution比较合适。此外为了保证在每一次迭代过程中生成的对抗样本不超出样本空间,以及加快收敛,还需要对
η
k
\eta_k
ηk进行一些调整:
(1)
o
^
k
−
1
+
η
k
∈
[
0
,
255
]
\hat o^{k-1} + \eta_k \in [0,255]
o^k−1+ηk∈[0,255] ,即生成的对抗样本不超出样本空间;
(2)
∣
∣
η
k
∣
∣
=
δ
⋅
d
(
o
,
o
^
k
−
1
)
||\eta_k||=\delta \cdot d(o,\hat o^{k-1})
∣∣ηk∣∣=δ⋅d(o,o^k−1) ,即控制
η
k
\eta_k
ηk的长度以加快收敛,开始的时候为
δ
\delta
δ设置较大的值,快接近原始样本时为
δ
\delta
δ设置较小的值;
(3)
d
(
o
,
o
^
k
−
1
)
−
d
(
o
,
o
^
k
−
1
+
η
k
)
=
ϵ
⋅
d
(
o
,
o
^
k
−
1
)
d(o,\hat o^{k-1})-d(o,\hat o^{k-1}+\eta_k)=\epsilon \cdot d(o,\hat o^{k-1})
d(o,o^k−1)−d(o,o^k−1+ηk)=ϵ⋅d(o,o^k−1),使新的对抗样本
o
^
k
−
1
+
η
k
\hat o^{k-1}+\eta_k
o^k−1+ηk相比上一个对抗样本
o
^
k
−
1
\hat o^{k-1}
o^k−1更接近原始样本。
图二对上述过程进行了进一步解释,左图表示生成初始对抗样本,#1对应(2),#2对应(3)。