约束条件:
f
θ
(
x
⋆
)
≠
y
d
(
x
,
x
⋆
)
≤
B
\begin{aligned} f_{\theta}\left(x^{\star}\right) & \neq y \\ d\left(x, x^{\star}\right) & \leq B \end{aligned}
fθ(x⋆)d(x,x⋆)̸=y≤B
基于优化的方法
argmin
x
⋆
λ
d
(
x
,
x
⋆
)
−
ℓ
(
1
y
,
J
θ
(
x
⋆
)
)
\operatorname{argmin}_{x^{\star}} \lambda d\left(x, x^{\star}\right)-\ell\left(\mathbf{1}_{y}, J_{\theta}\left(x^{\star}\right)\right)
argminx⋆λd(x,x⋆)−ℓ(1y,Jθ(x⋆))
其中
ℓ
(
u
,
v
)
=
log
(
1
−
u
⋅
v
)
\ell(u, v)=\log (1-u \cdot v)
ℓ(u,v)=log(1−u⋅v)
FGS方法
x
⋆
←
clip
(
x
+
B
sgn
(
∇
x
ℓ
(
1
y
,
J
θ
(
x
)
)
)
)
x^{\star} \leftarrow \operatorname{clip}\left(x+B \operatorname{sgn}\left(\nabla_{x} \ell\left(\mathbf{1}_{y}, J_{\theta}(x)\right)\right)\right)
x⋆←clip(x+Bsgn(∇xℓ(1y,Jθ(x)))) 其中
ℓ
(
u
,
v
)
=
log
(
1
−
u
⋅
v
)
\ell(u, v)=\log (1-u \cdot v)
ℓ(u,v)=log(1−u⋅v)同于「基于优化的方法」
FG方法
x
⋆
←
clip
(
x
+
B
∇
x
ℓ
(
1
y
,
J
θ
(
x
)
)
∥
∇
x
ℓ
(
1
y
,
J
θ
(
x
)
)
∥
)
)
x^{\star} \leftarrow \operatorname{clip}\left(x+B \frac{\nabla_{x} \ell\left(\mathbf{1}_{y}, J_{\theta}(x)\right)}{\left\|\nabla_{x} \ell\left(\mathbf{1}_{y}, J_{\theta}(x)\right)\right\|}\right) )
x⋆←clip(x+B∥∇xℓ(1y,Jθ(x))∥∇xℓ(1y,Jθ(x))))
FG方法只是把FGS中的
sgn
(
∇
x
ℓ
)
\operatorname{sgn}\left(\nabla_{x} \ell\right)
sgn(∇xℓ) 替换成FG中的
∇
x
ℓ
∥
∇
x
ℓ
∥
\frac{\nabla x \ell}{\left\|\nabla_{x} \ell\right\|}
∥∇xℓ∥∇xℓ 其他一样。
目标攻击
约束条件不一样了(只有第一个不一样),目标攻击的约束条件为:
f
θ
(
x
⋆
)
=
y
⋆
d
(
x
,
x
⋆
)
≤
B
f_{\theta}\left(x^{\star}\right)=y^{\star} \\ d\left(x, x^{\star}\right) \leq B
fθ(x⋆)=y⋆d(x,x⋆)≤B
以下3种方法中,都是用了,标准的交叉熵损失
基于优化的方法
argmin
x
∗
λ
d
(
x
,
x
⋆
)
+
ℓ
′
(
1
y
∗
,
J
θ
(
x
⋆
)
)
\operatorname{argmin}_{x^{*}} \lambda d\left(x, x^{\star}\right)+\ell^{\prime}\left(\mathbf{1}_{y^{*}}, J_{\theta}\left(x^{\star}\right)\right)
argminx∗λd(x,x⋆)+ℓ′(1y∗,Jθ(x⋆))
其中:the standard cross entropy loss
ℓ
′
(
u
,
v
)
=
−
∑
i
u
i
log
v
i
\ell^{\prime}(u, v)=-\sum_{i} u_{i} \log v_{i}
ℓ′(u,v)=−i∑uilogvi
非目标攻击中的公式为:
argmin
x
⋆
λ
d
(
x
,
x
⋆
)
−
ℓ
(
1
y
,
J
θ
(
x
⋆
)
)
\operatorname{argmin}_{x^{\star}} \lambda d\left(x, x^{\star}\right)-\ell\left(\mathbf{1}_{y}, J_{\theta}\left(x^{\star}\right)\right)
argminx⋆λd(x,x⋆)−ℓ(1y,Jθ(x⋆))
其中
ℓ
(
u
,
v
)
=
log
(
1
−
u
⋅
v
)
\ell(u, v)=\log (1-u \cdot v)
ℓ(u,v)=log(1−u⋅v)
FG & FGS 方法
x
⋆
←
clip
(
x
−
B
sgn
(
∇
x
ℓ
′
(
1
y
∗
,
J
θ
(
x
)
)
)
)
(
F
G
S
)
x
⋆
←
clip
(
x
−
B
∇
x
ℓ
′
(
1
y
∗
,
J
θ
(
x
)
)
∥
∇
x
ℓ
′
(
1
y
⋆
,
J
θ
(
x
)
)
∥
)
(
F
G
)
\begin{array}{ccc}{x^{\star} \leftarrow \operatorname{clip}\left(x-B \operatorname{sgn}\left(\nabla_{x} \ell^{\prime}\left(\mathbf{1}_{y^{*}}, J_{\theta}(x)\right)\right)\right)} & {(\mathrm{FGS})} \\ {x^{\star} \leftarrow \operatorname{clip}\left(x-B \frac{\nabla_{x} \ell^{\prime}\left(\mathbf{1}_{y^{*}}, J_{\theta}(x)\right)}{\left\|\nabla_{x} \ell^{\prime}\left(\mathbf{1}_{y^{\star}}, J_{\theta}(x)\right)\right\|}\right)} & {(\mathrm{FG})}\end{array}
x⋆←clip(x−Bsgn(∇xℓ′(1y∗,Jθ(x))))x⋆←clip(x−B∥∇xℓ′(1y⋆,Jθ(x))∥∇xℓ′(1y∗,Jθ(x)))(FGS)(FG)
失真度可以通过下面的公式进行计算。
d
(
x
⋆
,
x
)
=
∑
i
(
x
i
⋆
−
x
i
)
2
/
N
d\left(x^{\star}, x\right)=\sqrt{\sum_{i}\left(x_{i}^{\star}-x_{i}\right)^{2} / N}
d(x⋆,x)=i∑(xi⋆−xi)2/N
其中:
x
⋆
and
x
x^{\star} \text { and } x
x⋆ and x是对抗图像和原始图像的向量表示。
N
N
N 是
x
⋆
and
x
x^{\star} \text { and } x
x⋆ and x 的维数。
x
i
x_{i}
xi 是
x
x
x 在第i维度上的像素值(0~255)。