图2:Adversarial Content Attack的流程。首先使用Image Latent Mapping将图像映射到潜变量空间。然后,用Adversarial Latent Optimization生成对抗性样本。最后,生成的对抗性样本可以欺骗到目标分类模型。
3.1 Image Latent Mapping
对于扩散模型,最简单的图像映射是DDIM采样的逆过程,使用prompt
P
\mathcal{P}
P的条件嵌入
C
=
ψ
(
P
)
\mathcal{C}=\psi(\mathcal{P})
C=ψ(P),基于常微分方程过程可以在小步长限制下反转:
z
t
+
1
=
α
t
+
1
α
t
z
t
+
α
t
+
1
(
1
α
t
+
1
−
1
−
1
α
t
−
1
)
⋅
ϵ
θ
(
z
t
,
t
,
C
)
(2)
z_{t+1}=\sqrt{\frac{\alpha_{t+1}}{\alpha_t}}z_t+\sqrt{\alpha_{t+1}}(\sqrt{\frac{1}{\alpha_{t+1}}-1}-\sqrt{\frac{1}{\alpha_t}-1})\cdot\epsilon_\theta(z_t,t,\mathcal{C})\tag{2}
zt+1=αtαt+1zt+αt+1(αt+11−1−αt1−1)⋅ϵθ(zt,t,C)(2)
其中
z
0
z_0
z0是给定的真实图像。图像的描述prompt通常由图像描述模型(如BLIP v2)自动生成。
给定
w
w
w作为引导比例参数,
∅
=
ψ
("")
\varnothing=\psi\text{("")}
∅=ψ("")是空文本的嵌入表示,无分类器引导(classifier-free guidance)预测可以表示为:
ϵ
~
θ
(
z
t
,
t
,
C
,
∅
)
=
w
⋅
ϵ
θ
(
z
t
,
t
,
C
)
+
(
1
−
w
)
⋅
ϵ
θ
(
z
t
,
t
,
∅
)
(3)
\tilde{\epsilon}_\theta(z_t,t,\mathcal{C},\varnothing)=w\cdot\epsilon_\theta(z_t,t,\mathcal{C})+(1-w)\cdot\epsilon_\theta(z_t,t,\varnothing)\tag{3}
ϵ~θ(zt,t,C,∅)=w⋅ϵθ(zt,t,C)+(1−w)⋅ϵθ(zt,t,∅)(3)
Stable Diffusion中
w
=
7.5
w=7.5
w=7.5。噪声是通过
ϵ
θ
\epsilon_\theta
ϵθ预测出来的,用于去噪过程,因此每一步都会有细微的误差,随着许多步去噪,导致误差累积越来越大,破坏了噪声的高斯分布,诱发不真实的视觉效果。
为减小累计误差,对每一步
t
t
t优化空文本嵌入
∅
\varnothing
∅。首先使用
w
=
1
w=1
w=1在DDIM的逆过程输出一系列潜变量表示
{
z
0
∗
,
⋯
,
z
T
∗
}
\{z_0^*,\cdots,z_T^*\}
{z0∗,⋯,zT∗},其中
z
0
∗
=
z
0
z_0^*=z_0
z0∗=z0。然后对于时间戳
{
T
,
⋯
,
1
}
\{T,\cdots,1\}
{T,⋯,1},使用
w
=
7.5
w=7.5
w=7.5,
z
ˉ
T
=
z
t
\bar{z}_T=z_t
zˉT=zt在
N
N
N次迭代中进行了如下优化:
min
∅
t
∣
∣
z
t
−
1
∗
−
z
t
−
1
(
z
ˉ
t
,
t
,
C
,
∅
)
∣
∣
2
2
(4)
\min_{\varnothing_t}||z_{t-1}^*-z_{t-1}(\bar{z}_t,t,\mathcal{C},\varnothing)||_2^2\tag{4}
∅tmin∣∣zt−1∗−zt−1(zˉt,t,C,∅)∣∣22(4)
z
t
−
1
(
z
ˉ
t
,
t
,
C
,
∅
)
=
α
t
−
1
α
t
z
ˉ
t
+
α
t
−
1
(
1
α
t
−
1
−
1
−
1
α
t
−
1
)
⋅
ϵ
~
θ
(
z
t
,
t
,
C
,
∅
)
(5)
z_{t-1}(\bar{z}_t,t,\mathcal{C},\varnothing)=\sqrt{\frac{\alpha_{t-1}}{\alpha_t}}\bar{z}_t+\sqrt{\alpha_{t-1}}(\sqrt{\frac{1}{\alpha_{t-1}}-1}-\sqrt{\frac{1}{\alpha_t}-1})\cdot\tilde{\epsilon}_\theta(z_t,t,\mathcal{C},\varnothing)\tag{5}
zt−1(zˉt,t,C,∅)=αtαt−1zˉt+αt−1(αt−11−1−αt1−1)⋅ϵ~θ(zt,t,C,∅)(5)
在每一步的最后,将
z
ˉ
t
−
1
\bar{z}_{t-1}
zˉt−1更新为
z
t
−
1
(
z
ˉ
t
,
t
,
C
,
∅
t
)
z_{t-1}(\bar{z}_t,t,\mathcal{C},\varnothing_t)
zt−1(zˉt,t,C,∅t)。最后得到原始图像在潜变量空间内的表示,包含噪声
z
ˉ
T
\bar{z}_T
zˉT,空文本嵌入
∅
t
\varnothing_t
∅t和文本嵌入
C
=
ψ
(
P
)
\mathcal{C}=\psi(\mathcal{P})
C=ψ(P)。
3.2 Adversarial Latent Optimization
本节提出了一种针对潜变量的优化方法,最大化在非限制对抗样本上的攻击性能。经过image latent mapping后得到的潜变量空间中,空文本嵌入 ∅ t \varnothing_t ∅t确保了重建的图像的质量,条件嵌入 C \mathcal{C} C保证了图像的语义信息。同时优化两种嵌入并不现实,考虑到噪声 z ˉ T \bar{z}_T zˉT很大程度上表示了潜变量空间中图像的信息,因此选择优化噪声 z ˉ T \bar{z}_T zˉT。但是这种优化的复杂梯度计算和取值范围溢出的问题仍然是挑战。
基于image latent mapping生成的潜变量,将扩散模型中的去噪过程Eq.5定义为
Ω
(
⋅
)
\Omega(\cdot)
Ω(⋅),其包含
T
T
T次迭代:
Ω
(
z
T
,
T
,
C
,
{
∅
t
}
t
=
1
T
)
=
z
0
(
z
1
(
⋯
,
(
z
T
−
1
,
T
−
1
,
C
,
∅
T
−
1
)
,
⋯
,
1
,
C
,
∅
1
)
,
0
,
C
,
∅
0
)
(6)
\Omega(z_T,T,\mathcal{C},\{\varnothing_t\}_{t=1}^T)=z_0(z_1(\cdots,(z_{T-1},T-1,\mathcal{C},\varnothing_{T-1}),\cdots,1,\mathcal{C},\varnothing_1),0,\mathcal{C},\varnothing_0)\tag{6}
Ω(zT,T,C,{∅t}t=1T)=z0(z1(⋯,(zT−1,T−1,C,∅T−1),⋯,1,C,∅1),0,C,∅0)(6)
由此,重新构建的模型可表示为
z
ˉ
0
=
Ω
(
z
T
,
T
,
C
,
{
∅
t
}
)
\bar{z}_0=\Omega(z_T,T,\mathcal{C},\{\varnothing_t\})
zˉ0=Ω(zT,T,C,{∅t})。结合Eq.7,对抗性目标优化可以表示为:
max
δ
L
(
F
θ
(
z
ˉ
0
,
y
)
)
,
s
.
t
.
∣
∣
δ
∣
∣
∞
≤
κ
,
z
ˉ
0
=
Ω
(
z
T
+
δ
,
T
,
C
,
{
∅
t
}
)
(7)
\max_\delta \mathcal{L}(\mathcal{F}_\theta(\bar{z}_0,y)),\ s.t.||\delta||_\infty\leq\kappa,\ \bar{z}_0=\Omega(z_T+\delta,T,\mathcal{C},\{\varnothing_t\})\tag{7}
δmaxL(Fθ(zˉ0,y)), s.t.∣∣δ∣∣∞≤κ, zˉ0=Ω(zT+δ,T,C,{∅t})(7)
其中
z
ˉ
0
\bar{z}_0
zˉ0是自然图像,
δ
\delta
δ是潜变量空间中的对抗性扰动。
损失函数包含两部分:
- 交叉熵损失 L c e \mathcal{L}_{ce} Lce,用于引导对抗性样本误导分类器;
- 均方误差损失
L
m
s
e
\mathcal{L}_{mse}
Lmse,用于引导对抗性样本在
l
2
l_2
l2距离上尽可能接近真实的干净样本。
由此,完整的损失函数 L \mathcal{L} L可以表示为:
L
(
F
θ
(
z
ˉ
0
)
,
y
,
z
0
)
=
L
c
e
(
F
θ
(
z
ˉ
0
)
,
y
)
−
β
⋅
L
m
s
e
(
z
ˉ
0
,
z
0
)
\mathcal{L}(\mathcal{F}_\theta(\bar{z}_0),y,z_0)=\mathcal{L}_{ce}(\mathcal{F}_\theta(\bar{z}_0),y)-\beta\cdot\mathcal{L}_{mse}(\bar{z}_0,z_0)
L(Fθ(zˉ0),y,z0)=Lce(Fθ(zˉ0),y)−β⋅Lmse(zˉ0,z0)
本文中
β
=
0.1
\beta=0.1
β=0.1,损失函数的目标是最大化交叉熵损失冰最小化和干净样本的
l
2
l_2
l2距离。为保证
z
0
z_0
z0和
z
ˉ
0
\bar{z}_0
zˉ0的一致性,假设当
δ
\delta
δ很小时(即
∣
∣
δ
∣
∣
∞
≤
κ
||\delta||_\infty\leq\kappa
∣∣δ∣∣∞≤κ时),
δ
\delta
δ不会改变
z
0
z_0
z0和
z
ˉ
0
\bar{z}_0
zˉ0的一致性,关键在于产生最大分类损失的
δ
\delta
δ。
类似于传统的对抗攻击,使用基于梯度的技术,通过
δ
≃
η
∇
z
T
L
(
F
θ
(
z
ˉ
0
)
,
y
)
\delta\simeq\eta\nabla_{z_T}\mathcal{L}(\mathcal{F}_\theta(\bar{z}_0),y)
δ≃η∇zTL(Fθ(zˉ0),y)来估计噪声
δ
\delta
δ,其中
η
\eta
η是发生在梯度方向上的扰动量。利用链式规则对
∇
z
T
L
(
F
θ
(
z
ˉ
0
)
,
y
)
\nabla_{z_T}\mathcal{L}(\mathcal{F}_\theta(\bar{z}_0),y)
∇zTL(Fθ(zˉ0),y)进行展开,可以得到如下的导数项:
∇
z
T
L
(
F
θ
(
z
ˉ
0
)
,
y
)
=
∂
L
∂
z
ˉ
0
⋅
∂
z
ˉ
0
∂
z
1
⋅
∂
z
1
∂
z
2
⋯
∂
z
T
−
1
∂
z
T
(9)
\nabla_{z_T}\mathcal{L}(\mathcal{F}_\theta(\bar{z}_0),y)=\frac{\partial\mathcal{L}}{\partial\bar{z}_0}\cdot\frac{\partial\bar{z}_0}{\partial z_1}\cdot\frac{\partial z_1}{\partial z_2}\cdots\frac{\partial z_{T-1}}{\partial z_T}\tag{9}
∇zTL(Fθ(zˉ0),y)=∂zˉ0∂L⋅∂z1∂zˉ0⋅∂z2∂z1⋯∂zT∂zT−1(9)
Skip Gradient
尽管梯度是可导的,通过此式推导出完整的计算图是不可行的。
- ∂ L ∂ z ˉ 0 \frac{\partial\mathcal{L}}{\partial\bar{z}_0} ∂zˉ0∂L是分类器关于重构图像 z ˉ 0 \bar{z}_0 zˉ0的导数,并提供对抗梯度方向。
- ∂ z t ∂ z t + 1 \frac{\partial z_t}{\partial z_{t+1}} ∂zt+1∂zt,每一次导数的计算都代表一次反向传播的计算。
- 一个完整的去噪过程累积了 T T T个计算图,导致内存溢出。
本文提出了Skip Gradient来估计
∂
L
∂
z
ˉ
0
⋅
∂
z
ˉ
0
∂
z
1
⋅
∂
z
1
∂
z
2
⋯
∂
z
T
−
1
∂
z
T
\frac{\partial\mathcal{L}}{\partial\bar{z}_0}\cdot\frac{\partial\bar{z}_0}{\partial z_1}\cdot\frac{\partial z_1}{\partial z_2}\cdots\frac{\partial z_{T-1}}{\partial z_T}
∂zˉ0∂L⋅∂z1∂zˉ0⋅∂z2∂z1⋯∂zT∂zT−1。去噪过程旨在消除DDIM采样中加入的高斯噪声,DDIM利用重参数化技巧,在任意第
t
t
t步下进行闭式采样:
z
t
=
α
t
z
0
+
1
−
α
t
ε
,
ε
∼
N
(
0
,
I
)
(10)
z_t=\sqrt{\alpha_t}z_0+\sqrt{1-\alpha_t}\varepsilon,\ \varepsilon\sim\mathcal{N}(0,I)\tag{10}
zt=αtz0+1−αtε, ε∼N(0,I)(10)
对Eq.10变形,得到
z
0
=
1
α
t
z
t
−
1
−
α
t
α
t
ε
z_0=\frac{1}{\sqrt{\alpha_t}}z_t-\sqrt{\frac{1-\alpha_t}{\alpha_t}}\varepsilon
z0=αt1zt−αt1−αtε。由此,得到
∂
z
0
∂
z
t
=
1
α
t
\frac{\partial z_0}{\partial z_t}=\frac{1}{\sqrt{\alpha_t}}
∂zt∂z0=αt1。Stable Diffusion中,步长
t
t
t最多是1000,因此有
lim
t
→
1000
∂
z
0
∂
z
t
=
lim
t
→
1000
1
α
t
≈
14.58
\lim_{t\rightarrow 1000}\frac{\partial z_0}{\partial z_t}=\lim_{t\rightarrow 1000}\frac{1}{\sqrt{\alpha_t}}\approx 14.58
limt→1000∂zt∂z0=limt→1000αt1≈14.58。总结而言,
∂
z
0
∂
z
t
\frac{\partial z_0}{\partial z_t}
∂zt∂z0可以被看做常数
ρ
\rho
ρ,Eq.9可以变为
∇
z
T
L
(
F
θ
(
z
ˉ
0
)
,
y
)
=
ρ
∂
L
∂
z
ˉ
0
\nabla_{z_T}\mathcal{L}(\mathcal{F}_\theta(\bar{z}_0),y)=\rho\frac{\partial\mathcal{L}}{\partial\bar{z}_0}
∇zTL(Fθ(zˉ0),y)=ρ∂zˉ0∂L。综上所述,Skip Gradients估计了去噪过程的梯度,减少了计算和存储需求。
Differentiable Boundary Processing
扩散模型没有严格限制
z
ˉ
0
\bar{z}_0
zˉ0的数值取值范围,
z
T
z_T
zT的修改可能会导致其取值范围被超出。由此引入differentiable boundary processing
ϱ
(
⋅
)
\varrho(\cdot)
ϱ(⋅)。
ϱ
(
⋅
)
\varrho(\cdot)
ϱ(⋅)将超出
[
0
,
1
]
[0,1]
[0,1]范围的数值压缩到
[
0
,
1
]
[0,1]
[0,1]中:
ϱ
(
x
)
=
{
tanh
(
1000
x
)
/
10000
x
<
0
x
0
≤
x
<
1
tanh
(
1000
(
x
−
1
)
)
/
10001
x
>
1
(11)
\varrho(x) = \begin{cases} \tanh(1000x)/10000 \qquad & x<0 \\ x \qquad & 0\leq x<1 \\ \tanh(1000(x-1))/10001 \qquad & x > 1 \end{cases}\tag{11}
ϱ(x)=⎩
⎨
⎧tanh(1000x)/10000xtanh(1000(x−1))/10001x<00≤x<1x>1(11)
接下来定义
Π
κ
\Pi_\kappa
Πκ为对抗扰动
δ
\delta
δ在
κ
\kappa
κ球面上的投影。引入动量
g
g
g,将优化对抗性潜变量为:
g
k
←
μ
⋅
g
k
−
1
+
∇
z
T
L
(
F
θ
(
(
ϱ
(
z
ˉ
0
)
,
y
)
)
)
∣
∣
∇
z
T
L
(
F
θ
(
(
ϱ
(
z
ˉ
0
)
,
y
)
)
)
∣
∣
1
(12)
g_k\leftarrow \mu\cdot g_{k-1}+\frac{\nabla_{z_T}\mathcal{L}(\mathcal{F}_\theta((\varrho(\bar{z}_0),y)))}{||\nabla_{z_T}\mathcal{L}(\mathcal{F}_\theta((\varrho(\bar{z}_0),y)))||_1}\tag{12}
gk←μ⋅gk−1+∣∣∇zTL(Fθ((ϱ(zˉ0),y)))∣∣1∇zTL(Fθ((ϱ(zˉ0),y)))(12)
δ
k
←
Π
κ
(
δ
k
−
1
+
η
⋅
sign
(
g
k
)
)
(13)
\delta_k\leftarrow\Pi_\kappa(\delta_{k-1}+\eta\cdot\text{sign}(g_k))\tag{13}
δk←Πκ(δk−1+η⋅sign(gk))(13)
综上所述,adversarial latent optimization采用跳跃梯度来确定去噪过程的梯度,结合可微边界处理来调节对抗样本的取值范围,根据梯度进行迭代优化。结合图像潜在映射,算法1中说明了adversarial content attack的详细过程。