赞
踩
本文总结了近年提出的各种对抗样本的攻击方法。对抗样本的攻击主要分为无特定目标攻击(即只要求分类器对对抗样本错误分类,而不特定要求错误分类到哪一类)和特定目标攻击(即要求分类器将对抗样本错误分类到特定类别)。
本文先介绍无特定目标攻击的目标函数,然后介绍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
∥
∞
≤
ϵ
其中
x
r
e
a
l
\boldsymbol{x}^{real}
xreal为输入图像,
x
a
d
v
\boldsymbol{x}^{a d v}
xadv为对抗样本图像,
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(xadv,y)=−i=1∑Nyilog(C(xadv)i)
其中
N
N
N表示分类的类别数,
y
y
y为one-hot的输入图像
x
r
e
a
l
\boldsymbol{x}^{real}
xreal的类别标签,
C
C
C为分类器
来源: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)
xadv=xreal+ϵ⋅sign(∇xJ(xreal,y))
本文提出的是单步方法,直接将损失函数
J
J
J对输入图像
x
x
x求导,再根据导数的符号得到每个像素的扰动方向,并乘以扰动大小。
来源: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
本文提出的是迭代的攻击方法,一共迭代攻击
T
T
T步,每次的攻击步长为
α
=
ϵ
/
T
\alpha=\epsilon / T
α=ϵ/T
来源: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
)
其中
C
C
C为分类器
本文提出的也是单步的攻击方法,与FGSM方法中增大图像与真实标签之间的距离不同,该方法是约束图像与分类概率最低的类别之间的距离
来源: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
)
其中 μ \mu μ为衰退因子,论文中取值为1
本文提出的方法在BIM方法的基础上,使用一个动量来记录前面迭代时的优化方向,再结合当前步的导数,从而确定当前步的最终优化方向。该方法可以提高黑盒攻击时的迁移性
来源:Improving transferability of adversarial examples with input diversity [2018]
该方法提出对输入的真实图像进行随机变换(以一定的概率进行resize、padding等操作),然后再作为分类器的输入,并进行后续的求导操作。该方法可以与MI-FGSM等方法结合,同样可以提高攻击的迁移性
来源: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)
xadv=xreal+ϵ⋅sign(W∗∇xJ(xreal,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)
xt+1adv=xtadv+α⋅sign(W∗∇xJ(xtadv,y))
其中 W W W是高斯卷积核
本文提出的方法,在正常将交叉熵函数对输入求导后,再经过一个高斯核的卷积变换,将得到的值再作为图像的更新方向进行修改
该方法也同样可以和MI-FGSM和DIM等方法进行结合
来源:Nesterov Accelerated Gradient and Scale Invariance for Adversarial Attacks [2020ICLR]
本文在MI-FGSM的基础上提出了两点改进
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
)
与MI-FGSM相比,NI-FGSM在每次迭代前,在前面累积梯度方向先再前进一步,然后再进行更新
该方法首先将输入图像在数值上进行不同尺度的缩放
S
i
(
x
)
=
x
2
i
S_{i}(x)=\frac{x}{2^i}
Si(x)=2ix
再对不同数值缩放过的图像分别经过分类器,得到类别概率后计算交叉熵,再将各个模型的损失函数计算均值
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
∥
∞
≤
ϵ
论文中 m m m的取值为4,即将[0-1]范围内的输入图像,最小缩放至[0-1/16]范围,以提高对抗攻击在黑盒攻击时的迁移性
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。