本文总结了近年提出的各种对抗样本的攻击方法。对抗样本的攻击主要分为无特定目标攻击(即只要求分类器对对抗样本错误分类,而不特定要求错误分类到哪一类)和特定目标攻击(即要求分类器将对抗样本错误分类到特定类别)。
本文先介绍无特定目标攻击的目标函数,然后介绍FGSM、BIM、StepLL、MI-FGSM、DIM、TIM、SI-NI方法。
攻击目标函数
arg
max
x
a
d
v
J
(
x
a
d
v
,
y
)
s.t.
∥
x
a
d
v
−
x
real
∥
∞
≤
ϵ
\begin{aligned} &\underset{\boldsymbol{x}^{a d v}}{\arg \max } J\left(\boldsymbol{x}^{a d v}, y\right)\\ \text { s.t. }&\left\|\boldsymbol{x}^{a d v}-\boldsymbol{x}^{\text {real }}\right\|_{\infty} \leq \epsilon \end{aligned}
s.t.
x
a
d
v
ar
g
max
J
(
x
a
d
v
,
y
)
∥
∥
x
a
d
v
−
x
real
∥
∥
∞
≤
ϵ
其中
x
r
e
a
l
\boldsymbol{x}^{real}
x
r
e
a
l
为输入图像,
x
a
d
v
\boldsymbol{x}^{a d v}
x
a
d
v
为对抗样本图像,
y
y
y
为输入图像的真实类别标签。
对抗样本生成时候的约束是其于真实样本的
L
∞
L_{\infty}
L
∞
距离小于
ϵ
\epsilon
ϵ
函数
J
J
J
一般为交叉熵损失:
J
(
x
a
d
v
,
y
)
=
−
∑
i
=
1
N
y
i
l
o
g
(
C
(
x
a
d
v
)
i
)
J\left(\boldsymbol{x}^{a d v}, y\right)=-\sum_{i=1}^{N}y_ilog(C(\boldsymbol{x}^{a d v})_i)
J
(
x
a
d
v
,
y
)
=
−
i
=
1
∑
N
y
i
l
o
g
(
C
(
x
a
d
v
)
i
)
其中
N
N
N
表示分类的类别数,
y
y
y
为one-hot的输入图像
x
r
e
a
l
\boldsymbol{x}^{real}
x
r
e
a
l
的类别标签,
C
C
C
为分类器
FGSM(Fast Gradient Sign Method)
来源:Explaining and harnessing adversarial examples [2015ICLR]
公式:
x
a
d
v
=
x
r
e
a
l
+
ϵ
⋅
sign
(
∇
x
J
(
x
r
e
a
l
,
y
)
)
\boldsymbol{x}^{a d v}=\boldsymbol{x}^{r e a l}+\epsilon \cdot \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}^{r e a l}, y\right)\right)
x
a
d
v
=
x
r
e
a
l
+
ϵ
⋅
s
i
g
n
(
∇
x
J
(
x
r
e
a
l
,
y
)
)
本文提出的是单步方法,直接将损失函数
J
J
J
对输入图像
x
x
x
求导,再根据导数的符号得到每个像素的扰动方向,并乘以扰动大小。
BIM(Basic Iterative Method)
来源:Adversarial examples in the physical world [2016]
公式:
x
t
+
1
a
d
v
=
x
t
a
d
v
+
α
⋅
sign
(
∇
x
J
(
x
t
a
d
v
,
y
)
)
x
0
a
d
v
=
x
r
e
a
l
\begin{aligned} \boldsymbol{x}_{t+1}^{a d v} &=\boldsymbol{x}_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{a d v}, y\right)\right) \\ \boldsymbol{x}_{0}^{a d v} &=\boldsymbol{x}^{r e a l} \end{aligned}
x
t
+
1
a
d
v
x
0
a
d
v
=
x
t
a
d
v
+
α
⋅
s
i
g
n
(
∇
x
J
(
x
t
a
d
v
,
y
)
)
=
x
r
e
a
l
本文提出的是迭代的攻击方法,一共迭代攻击
T
T
T
步,每次的攻击步长为
α
=
ϵ
/
T
\alpha=\epsilon / T
α
=
ϵ
/
T
StepLL(Single-Step Least-Likely Class Method)
来源:Adversarial Machine Learning at Scale [2017ICLR]
公式:
x
a
d
v
=
x
r
e
a
l
−
ϵ
⋅
sign
(
∇
x
J
(
x
r
e
a
l
,
y
L
L
)
)
y
L
L
=
arg min
C
(
x
r
e
a
l
)
\begin{aligned} &\boldsymbol{x}^{a d v}=\boldsymbol{x}^{r e a l}-\epsilon \cdot \operatorname{sign}\left(\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}^{r e a l}, y_{LL}\right)\right)\\ &y_{LL}=\argmin{C(x^{real})} \end{aligned}
x
a
d
v
=
x
r
e
a
l
−
ϵ
⋅
s
i
g
n
(
∇
x
J
(
x
r
e
a
l
,
y
L
L
)
)
y
L
L
=
a
r
g
m
i
n
C
(
x
r
e
a
l
)
其中
C
C
C
为分类器
本文提出的也是单步的攻击方法,与FGSM方法中增大图像与真实标签之间的距离不同,该方法是约束图像与分类概率最低的类别之间的距离
MI-FGSM(Momentum Iterative Fast Gradient Sign Method)
来源:Boosting adversarial attacks with momentum [2018CVPR]
公式:
g
t
+
1
=
μ
⋅
g
t
+
∇
x
J
(
x
t
a
d
v
,
y
)
∥
∇
x
J
(
x
t
a
d
v
,
y
)
∥
1
x
t
+
1
a
d
v
=
x
t
a
d
v
+
α
⋅
sign
(
g
t
+
1
)
\begin{aligned} &\boldsymbol{g}_{t+1}=\mu \cdot \boldsymbol{g}_{t}+\frac{\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{a d v}, y\right)}{\left\|\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{a d v}, y\right)\right\|_{1}} \\ &\boldsymbol{x}_{t+1}^{a d v}=\boldsymbol{x}_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(\boldsymbol{g}_{t+1}\right) \end{aligned}
g
t
+
1
=
μ
⋅
g
t
+
∥
∥
∇
x
J
(
x
t
a
d
v
,
y
)
∥
∥
1
∇
x
J
(
x
t
a
d
v
,
y
)
x
t
+
1
a
d
v
=
x
t
a
d
v
+
α
⋅
s
i
g
n
(
g
t
+
1
)
其中
μ
\mu
μ
为衰退因子,论文中取值为1
本文提出的方法在BIM方法的基础上,使用一个动量来记录前面迭代时的优化方向,再结合当前步的导数,从而确定当前步的最终优化方向。该方法可以提高黑盒攻击时的迁移性
DIM(Diverse Inputs Method)
来源:Improving transferability of adversarial examples with input diversity [2018]
该方法提出对输入的真实图像进行随机变换(以一定的概率进行resize、padding等操作),然后再作为分类器的输入,并进行后续的求导操作。该方法可以与MI-FGSM等方法结合,同样可以提高攻击的迁移性
TIM(Translation-Invariant Method)
来源:Evading Defenses to Transferable Adversarial Examples by Translation-Invariant Attacks [2019CVPR]
公式:
TI-FGSM:
x
a
d
v
=
x
r
e
a
l
+
ϵ
⋅
sign
(
W
∗
∇
x
J
(
x
r
e
a
l
,
y
)
)
x^{a d v}=x^{r e a l}+\epsilon \cdot \operatorname{sign}\left(W * \nabla_{x} J\left(x^{r e a l}, y\right)\right)
x
a
d
v
=
x
r
e
a
l
+
ϵ
⋅
s
i
g
n
(
W
∗
∇
x
J
(
x
r
e
a
l
,
y
)
)
TI-BIM:
x
t
+
1
a
d
v
=
x
t
a
d
v
+
α
⋅
sign
(
W
∗
∇
x
J
(
x
t
a
d
v
,
y
)
)
x_{t+1}^{a d v}=x_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(W * \nabla_{x} J\left(x_{t}^{a d v}, y\right)\right)
x
t
+
1
a
d
v
=
x
t
a
d
v
+
α
⋅
s
i
g
n
(
W
∗
∇
x
J
(
x
t
a
d
v
,
y
)
)
其中
W
W
W
是高斯卷积核
本文提出的方法,在正常将交叉熵函数对输入求导后,再经过一个高斯核的卷积变换,将得到的值再作为图像的更新方向进行修改
该方法也同样可以和MI-FGSM和DIM等方法进行结合
SI-NI
来源:Nesterov Accelerated Gradient and Scale Invariance for Adversarial Attacks [2020ICLR]
本文在MI-FGSM的基础上提出了两点改进
NI-FGSM(Nesterov Iterative Fast Gradient Sign Method)
x
t
n
e
s
=
x
t
a
d
v
+
α
⋅
μ
⋅
g
t
g
t
+
1
=
μ
⋅
g
t
+
∇
x
J
(
x
t
n
e
s
,
y
)
∥
∇
x
J
(
x
t
n
e
s
,
y
)
∥
1
x
t
+
1
a
d
v
=
x
t
a
d
v
+
α
⋅
sign
(
g
t
+
1
)
\begin{aligned} &\boldsymbol{x}_{t}^{nes}=\boldsymbol{x}_{t}^{a d v} + \alpha \cdot \mu \cdot \boldsymbol{g}_{t}\\ &\boldsymbol{g}_{t+1}=\mu \cdot \boldsymbol{g}_{t}+\frac{\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{nes}, y\right)}{\left\|\nabla_{\boldsymbol{x}} J\left(\boldsymbol{x}_{t}^{nes}, y\right)\right\|_{1}} \\ &\boldsymbol{x}_{t+1}^{a d v}=\boldsymbol{x}_{t}^{a d v}+\alpha \cdot \operatorname{sign}\left(\boldsymbol{g}_{t+1}\right) \end{aligned}
x
t
n
e
s
=
x
t
a
d
v
+
α
⋅
μ
⋅
g
t
g
t
+
1
=
μ
⋅
g
t
+
∥
∇
x
J
(
x
t
n
e
s
,
y
)
∥
1
∇
x
J
(
x
t
n
e
s
,
y
)
x
t
+
1
a
d
v
=
x
t
a
d
v
+
α
⋅
s
i
g
n
(
g
t
+
1
)
与MI-FGSM相比,NI-FGSM在每次迭代前,在前面累积梯度方向先再前进一步,然后再进行更新
SIM(Scale-Invariant attack Method)
该方法首先将输入图像在数值上进行不同尺度的缩放
S
i
(
x
)
=
x
2
i
S_{i}(x)=\frac{x}{2^i}
S
i
(
x
)
=
2
i
x
再对不同数值缩放过的图像分别经过分类器,得到类别概率后计算交叉熵,再将各个模型的损失函数计算均值
arg
max
x
a
d
v
1
m
∑
i
=
0
m
J
(
S
i
(
x
a
d
v
)
,
y
)
s.t.
∥
x
a
d
v
−
x
r
e
a
l
∥
∞
≤
ϵ
\begin{array}{c} \underset{x^{a d v}}{\arg \max } \frac{1}{m} \sum_{i=0}^{m} J\left(S_{i}\left(x^{a d v}\right), y\right) \\ \text { s.t. }\left\|x^{a d v}-x^{real}\right\|_{\infty} \leq \epsilon \end{array}
x
a
d
v
ar
g
max
m
1
∑
i
=
0
m
J
(
S
i
(
x
a
d
v
)
,
y
)
s.t.
∥
∥
x
a
d
v
−
x
r
e
a
l
∥
∥
∞
≤
ϵ
论文中
m
m
m
的取值为4,即将[0-1]范围内的输入图像,最小缩放至[0-1/16]范围,以提高对抗攻击在黑盒攻击时的迁移性