Diffenc: Variational Diffusion With A Learned Encoder
Diffenc: Variational Diffusion With A Learned Encoder
- Abstract
- 1. Introduction
- 2. Preliminaries On Variational Diffusion Models
- 3. DiffEnc
- Infinite-depth limit.
- 4. Parameterization Of The Encoder And Generative Model
- 编码器和生成模型的参数化
Abstract
扩散模型可以看作是层次化变分自编码器(VAE),并具有两项改进:生成过程中的条件分布参数共享,以及将损失计算为层次结构中独立项的高效计算。我们对扩散模型进行了两项改进,这些改进在保留上述优势的同时增加了模型的灵活性。
首先,我们在扩散过程中引入了一个依赖于数据和深度的均值函数,从而导致修改后的扩散损失。我们提出的框架 DiffEnc 在 CIFAR-10 数据集上显著提高了似然度。
其次,我们将逆编码器过程和生成过程中的噪声方差比率设置为一个自由权重参数,而不是固定为1。这带来了理论上的见解:对于有限深度的层次结构,证据下界(ELBO)可以用作加权扩散损失方法的目标,并用于专门针对推断优化噪声计划。而对于无限深度的层次结构来说,为了使 ELBO 定义良好,该权重参数必须为1。
1. Introduction
扩散模型可以被视为按时间索引的层次结构,其中潜在变量按顺序生成,并仅依赖于前一步的潜在向量。因此,扩散模型可以理解为分层变分自编码器(VAEs)(Kingma & Welling, 2013; Rezende et al., 2014; Sønderby et al., 2016),但有三个限制:(1) 前向扩散过程(即变分推理中的推断模型)是固定且非常简单的;(2) 生成模型是马尔可夫性的——每一层(按时间索引的)潜在变量仅依赖于前一层生成;(3) 参数共享——生成模型的所有步骤共享相同的参数。
前向过程的简单性(1)和生成模型的马尔可夫性质(2)允许证据下界(ELBO)表示为对随机变量层的期望,即从随机过程角度来看是对时间的期望。由于生成模型中的大量参数共享(3),这种期望可以通过单个蒙特卡罗样本有效估计。这些特性使得扩散模型在高效可扩展性的同时,仍然保留了前述限制的灵活性。
在这项工作中,我们放宽了假设(1),以提高扩散模型的灵活性,同时保持其可扩展性。具体而言,我们不再假设一个恒定的扩散过程,同时仍保持足够的简单性,以便将ELBO表示为对时间的期望。我们引入了一个时间依赖的编码器,该编码器参数化了扩散过程的均值:学习到的去噪模型不再预测原始图像 x x x,而是预测时间 t t t 的编码图像 x t x_t xt。关键是,这个编码器仅在训练阶段使用,而在采样过程中不使用。因此,提出的这类扩散模型 DiffEnc 比标准扩散模型更灵活,而不影响采样时间。
为了推导 DiffEnc 的负对数似然损失(Eq. (18)),我们首先展示如何将时间依赖的编码器引入到扩散过程中,并说明如果我们使用生成模型中通常的均值表达式,会在损失中引入一个额外项(第3节)。然后,我们展示如何使用编码器的特定参数化来抵消这个额外项(第4节)。
我们在 MNIST、CIFAR-10 和 ImageNet32 上进行实验,使用了两种不同的编码器参数化方法。实验结果表明,使用可训练编码器时,DiffEnc 在 CIFAR-10 上提高了总似然性,并在所有数据集上改善了潜在损失,而不会损害扩散损失。我们观察到,对于早期和晚期时间步长, x t x_t xt 的变化显著不同,显示了编码器的非平凡、时间依赖的行为(见图2)。
此外,我们研究了扩散模型中的一个常见假设的放松:即生成过程的方差 σ P 2 \sigma^2_P σP2 等于前向扩散过程反向公式的方差 σ Q 2 \sigma^2_Q σQ2。这在扩散损失中引入了一个额外的项,可以解释为一个带时间依赖权重 w t w_t wt 的加权损失。我们随后解析地推导了最优的 σ P 2 \sigma^2_P σP2。虽然这在离散时间(即,具有有限层数)训练或采样时是相关的,但我们证明了在连续时间极限中,当方差相等时,ELBO 达到最大值(事实上,如果方差不相等,ELBO 会发散)。
2. Preliminaries On Variational Diffusion Models
首先介绍扩散模型的变分形式(Kingma等,2021)。我们定义一个具有T + 1层潜变量的层次生成模型:
p
θ
(
x
,
z
)
=
p
(
x
∣
z
0
)
p
(
z
1
)
∏
i
=
1
T
p
θ
(
z
s
(
i
)
∣
z
t
(
i
)
)
(1)
p_\theta(x, z) = p(x|z_0)p(z_1) \prod_{i=1}^{T} p_\theta(z_{s(i)}|z_{t(i)}) \tag{1}
pθ(x,z)=p(x∣z0)p(z1)i=1∏Tpθ(zs(i)∣zt(i))(1)
其中
x
∈
X
x \in X
x∈X 是数据点,
θ
\theta
θ 是模型参数,
s
(
i
)
=
i
−
1
T
s(i) = \frac{i-1}{T}
s(i)=Ti−1,
t
(
i
)
=
i
T
t(i) = \frac{i}{T}
t(i)=Ti,并且
p
(
z
1
)
=
N
(
0
,
I
)
p(z_1) = N(0, I)
p(z1)=N(0,I)。接下来,我们将省略索引
i
i
i,假设
0
≤
s
<
t
≤
1
0 \leq s < t \leq 1
0≤s<t≤1。
定义一个扩散过程
q
q
q,其边际分布为:
q
(
z
t
∣
x
)
=
N
(
α
t
x
,
σ
t
2
I
)
(2)
q(z_t|x) = N(\alpha_t x, \sigma_t^2 I)\tag{2}
q(zt∣x)=N(αtx,σt2I)(2)
其中 t ∈ [ 0 , 1 ] t \in [0, 1] t∈[0,1] 是时间索引, α t \alpha_t αt, σ t \sigma_t σt 是 t t t 的正标量函数。要求方程(2)对任意的 s s s 和 t t t 都成立,条件分布变为:
q ( z t ∣ z s ) = N ( α t ∣ s z s , σ t ∣ s 2 I ) q(z_t|z_s) = N(\alpha_{t|s} z_s, \sigma_{t|s}^2 I) q(zt∣zs)=N(αt∣szs,σt∣s2I)
其中
α
t
∣
s
=
α
t
/
α
s
,
σ
t
∣
s
2
=
σ
t
2
−
α
t
∣
s
2
σ
s
2
.
\alpha_{t|s} = \alpha_t/ \alpha_s, \quad \sigma_{t|s}^2 = \sigma_t^2 - \alpha_{t|s}^2 \sigma_s^2.
αt∣s=αt/αs,σt∣s2=σt2−αt∣s2σs2.
利用贝叶斯法则,我们可以反转扩散过程的方向:
q ( z s ∣ z t , x ) = N ( μ Q , σ Q 2 I ) (3) q(z_s|z_t, x) = N(\mu_Q, \sigma_Q^2 I)\tag{3} q(zs∣zt,x)=N(μQ,σQ2I)(3)
其中
σ Q 2 = ( σ t ∣ s 2 σ s 2 ) / σ t 2 , μ Q = α t ∣ s σ s 2 σ t 2 z t + α s σ t ∣ s 2 σ t 2 x . (4) \sigma_Q^2 = (\sigma_{t|s}^2 \sigma_s^2 )/ \sigma_t^2, \quad \mu_Q = \frac{\alpha_{t|s} \sigma_s^2}{\sigma_t^2} z_t + \frac{\alpha_s \sigma_{t|s}^2}{\sigma_t^2} x.\tag{4} σQ2=(σt∣s2σs2)/σt2,μQ=σt2αt∣sσs2zt+σt2αsσt∣s2x.(4)
我们现在可以以与生成模型相似的方式表达扩散过程:
q ( z ∣ x ) = q ( z 1 ∣ x ) ∏ i = 1 T q ( z s ( i ) ∣ z t ( i ) , x ) q(z|x) = q(z_1|x) \prod_{i=1}^{T} q(z_{s(i)}|z_{t(i)}, x) q(z∣x)=q(z1∣x)i=1∏Tq(zs(i)∣zt(i),x)
并且可以以与方程(3)相同的功能形式定义生成过程的一步:
p θ ( z s ∣ z t ) = N ( μ P , σ P 2 I ) (5) p_\theta(z_s|z_t) = N(\mu_P, \sigma_P^2 I)\tag{5} pθ(zs∣zt)=N(μP,σP2I)(5)
其中
μ P = α t ∣ s σ s 2 σ t 2 z t + α s σ t ∣ s 2 σ t 2 x ^ θ ( z t , t ) . (6) \mu_P = \frac{\alpha_{t|s} \sigma_s^2}{\sigma_t^2} z_t + \frac{\alpha_s \sigma_{t|s}^2}{\sigma_t^2} \hat{x}_\theta(z_t, t).\tag{6} μP=σt2αt∣sσs2zt+σt2αsσt∣s2x^θ(zt,t).(6)
在扩散模型中,去噪方差 σ P 2 \sigma_P^2 σP2 通常选择与反向扩散过程方差相等: σ P 2 = σ Q 2 \sigma_P^2 = \sigma_Q^2 σP2=σQ2。虽然我们最初不做这一假设,但我们将在连续时间极限中证明这最优。根据VDM,我们通过信噪比(SNR)参数化噪声调度:
SNR ( t ) ≡ α t 2 σ t 2 \text{SNR}(t) \equiv \frac{\alpha_t^2}{\sigma_t^2} SNR(t)≡σt2αt2
及其对数: λ t ≡ log SNR ( t ) \lambda_t \equiv \log \text{SNR}(t) λt≡logSNR(t)。在所有实验中,我们将使用方差保持形式: α t 2 = 1 − σ t 2 = sigmoid ( λ t ) \alpha_t^2 = 1 - \sigma_t^2 = \text{sigmoid}(\lambda_t) αt2=1−σt2=sigmoid(λt)。
所定义模型的证据下界(ELBO)为:
log p θ ( x ) ≥ E q ( z ∣ x ) [ p θ ( x ∣ z ) p θ ( z ) q ( z ∣ x ) ] ≡ ELBO ( x ) \log p_\theta(x) \geq E_{q(z|x)} \left[ \frac{p_\theta(x|z) p_\theta(z)}{q(z|x)} \right] \equiv \text{ELBO}(x) logpθ(x)≥Eq(z∣x)[q(z∣x)pθ(x∣z)pθ(z)]≡ELBO(x)
损失 L ≡ − ELBO L \equiv -\text{ELBO} L≡−ELBO 是重构损失( L 0 L_0 L0)、扩散损失( L T L_T LT)和潜在损失( L 1 L_1 L1)的总和:
L = L 0 + L T + L 1 \mathcal L = L_0 + L_T + L_1 L=L0+LT+L1
其中
L 0 = − E q ( z 0 ∣ x ) [ log p ( x ∣ z 0 ) ] , L 1 = D K L ( q ( z 1 ∣ x ) ∣ ∣ p ( z 1 ) ) . L_0 = -E_{q(z_0|x)} [\log p(x|z_0)], \quad L_1 = D_{KL}(q(z_1|x)||p(z_1)). L0=−Eq(z0∣x)[logp(x∣z0)],L1=DKL(q(z1∣x)∣∣p(z1)).
由于生成和反向噪声过程的匹配分解(见方程(1)和(5)),以及 q ( z t ∣ x ) q(z_t|x) q(zt∣x) 以封闭形式可用,因为 q q q 是马尔可夫和高斯的,扩散损失 L T L_T LT 可以写成随机变量层的和或期望:
L T ( x ) = ∑ i = 1 T E q ( z t ( i ) ∣ x ) [ D K L ( q ( z s ( i ) ∣ z t ( i ) , x ) ∥ p θ ( z s ( i ) ∣ z t ( i ) ) ) ] (7) L_T(x) = \sum_{i=1}^{T} E_{q(z_{t(i)}|x)} \left[ D_{KL}(q(z_{s(i)}|z_{t(i)}, x) \| p_\theta(z_{s(i)}|z_{t(i)})) \right] \tag{7} LT(x)=i=1∑TEq(zt(i)∣x)[DKL(q(zs(i)∣zt(i),x)∥pθ(zs(i)∣zt(i)))](7)
= T E i ∼ U { 1 , T } , q ( z t ( i ) ∣ x ) [ D K L ( q ( z s ( i ) ∣ z t ( i ) , x ) ∥ p θ ( z s ( i ) ∣ z t ( i ) ) ) ] , (8) = T E_{i \sim U\{1, T\}, q(z_{t(i)}|x)} \left[ D_{KL}(q(z_{s(i)}|z_{t(i)}, x) \| p_\theta(z_{s(i)}|z_{t(i)})) \right],\tag{8} =TEi∼U{1,T},q(zt(i)∣x)[DKL(q(zs(i)∣zt(i),x)∥pθ(zs(i)∣zt(i)))],(8)
其中 U { 1 , T } U\{1, T\} U{1,T} 是索引 1 1 1 到 T T T 的均匀分布。由于所有分布都是高斯的,KL散度具有封闭形式表达(见附录E):
D K L ( q ( z s ∣ z t , x ) ∥ p θ ( z s ∣ z t ) ) = d / 2 ( w t − 1 − log w t ) + w t 2 σ Q 2 ∥ μ P − μ Q ∥ 2 , (9) D_{KL}(q(z_s|z_t, x) \| p_\theta(z_s|z_t)) = d/2 (w_t - 1 - \log w_t) + \frac{w_t}{2\sigma_Q^2} \| \mu_P - \mu_Q \|^2,\tag{9} DKL(q(zs∣zt,x)∥pθ(zs∣zt))=d/2(wt−1−logwt)+2σQ2wt∥μP−μQ∥2,(9)
其中绿色部分是使用 σ P 2 ≠ σ Q 2 \sigma_P^2 \neq \sigma_Q^2 σP2=σQ2 而不是 σ P 2 = σ Q 2 \sigma_P^2 = \sigma_Q^2 σP2=σQ2 时的差异,我们定义了加权函数:
w t = σ Q 2 σ P 2 w_t = \frac{\sigma_Q^2}{\sigma_P^2} wt=σP2σQ2
且 σ Q 2 \sigma_Q^2 σQ2 和 σ P 2 \sigma_P^2 σP2 对 s s s 的依赖性留隐式,因为步长 t − s = 1 T t - s = \frac{1}{T} t−s=T1 是固定的。最优生成方差可以封闭形式计算(见附录F):
σ P 2 = σ Q 2 + 1 d E q ( x , z t ) [ ∥ μ P − μ Q ∥ 2 ] \sigma_P^2 = \sigma_Q^2 + \frac{1}{d} E_{q(x, z_t)} \left[ \| \mu_P - \mu_Q \|^2 \right] σP2=σQ2+d1Eq(x,zt)[∥μP−μQ∥2]
3. DiffEnc
DiffEnc的主要组成部分是时间依赖编码器,我们定义为 x t ≡ x ϕ ( λ t ) x_t \equiv x_{\phi(\lambda_t)} xt≡xϕ(λt),其中 x ϕ ( λ t ) x_{\phi(\lambda_t)} xϕ(λt) 是一个参数为 ϕ \phi ϕ 的函数,依赖于通过 λ t ≡ log SNR ( t ) \lambda_t \equiv \log \text{SNR}(t) λt≡logSNR(t) 的 x x x 和 t t t。方程(2)的广义版本为:
q ( z t ∣ x ) = N ( α t x t , σ t 2 I ) (10) q(z_t|x) = N(\alpha_t x_t, \sigma_t^2 I)\tag{10} q(zt∣x)=N(αtxt,σt2I)(10)
图1 展示了这一扩散过程的变化,详细图示见附录A。要求过程在边际化时保持一致,即:
q ( z t ∣ x ) = ∫ q ( z t ∣ z s , x ) q ( z s ∣ x ) d z s q(z_t|x) = \int q(z_t|z_s, x) q(z_s|x) dz_s q(zt∣x)=∫q(zt∣zs,x)q(zs∣x)dzs
则会导出以下条件分布(见附录B):
q ( z t ∣ z s , x ) = N ( α t ∣ s z s + α t ( x t − x s ) , σ t ∣ s 2 I ) (11) q(z_t|z_s, x) = N(\alpha_{t|s} z_s + \alpha_t (x_t - x_s), \sigma_{t|s}^2 I)\tag{11} q(zt∣zs,x)=N(αt∣szs+αt(xt−xs),σt∣s2I)(11)
这里,由深度依赖编码器引入了额外的均值偏移项。与第二节一样,我们可以推导反向过程(见附录C):
q ( z s ∣ z t , x ) = N ( μ Q , σ Q 2 I ) (12) q(z_s|z_t, x) = N(\mu_Q, \sigma_Q^2 I)\tag{12} q(zs∣zt,x)=N(μQ,σQ2I)(12)
其中
μ Q = α t ∣ s σ s 2 σ t 2 z t + α s σ t ∣ s 2 σ t 2 x t + α s ( x s − x t ) (13) \mu_Q = \frac{\alpha_{t|s} \sigma_s^2}{\sigma_t^2} z_t + \frac{\alpha_s \sigma_{t|s}^2}{\sigma_t^2} x_t + \alpha_s (x_s - x_t)\tag{13} μQ=σt2αt∣sσs2zt+σt2αsσt∣s2xt+αs(xs−xt)(13)
而 σ Q 2 \sigma_Q^2 σQ2 如方程(4)所给。我们将在第4节中展示我们如何参数化编码器。
Infinite-depth limit.
Kingma等(2021)推导了扩散损失的连续时间极限,即在 T → ∞ T \to \infty T→∞ 的极限下的损失。我们可以将该结果扩展到我们的情况。使用方程(13)中的 μ Q \mu_Q μQ 和方程(6)中的 μ P \mu_P μP,在未加权的情况下,KL散度 1 2 σ Q 2 ∥ μ P − μ Q ∥ 2 \frac{1}{2\sigma_Q^2} \|\mu_P - \mu_Q\|^2 2σQ21∥μP−μQ∥2 可以重新写为如下形式(见附录G):
1 2 σ Q 2 ∥ μ P − μ Q ∥ 2 = − 1 2 Δ SNR Δ x ( x ^ θ ( z t , t ) − x ϕ ( λ t ) − SNR ( s ) Δ SNR Δ x ) 2 \frac{1}{2\sigma_Q^2} \|\mu_P - \mu_Q\|^2 = -\frac{1}{2} \frac{\Delta \text{SNR}}{\Delta x} \left( \hat{x}_\theta(z_t, t) - x_{\phi(\lambda_t)} - \frac{\text{SNR}(s)}{\Delta \text{SNR}} \Delta x \right)^2 2σQ21∥μP−μQ∥2=−21ΔxΔSNR(x^θ(zt,t)−xϕ(λt)−ΔSNRSNR(s)Δx)2
其中 Δ x ≡ x ϕ ( λ t ) − x ϕ ( λ s ) \Delta x \equiv x_{\phi(\lambda_t)} - x_{\phi(\lambda_s)} Δx≡xϕ(λt)−xϕ(λs),SNR 也是类似处理。在附录G中,我们还展示了当 T → ∞ T \to \infty T→∞ 时,最优的 σ P \sigma_P σP 表达式趋向于 σ Q \sigma_Q σQ,并且允许 σ P 2 ≠ σ Q 2 \sigma_P^2 \neq \sigma_Q^2 σP2=σQ2 所引入的扩散损失的额外项趋向于0。这一结果与之前关于随机过程的变分方法的研究相一致(Archambeau等,2007)。我们已证明在连续极限下,ELBO必须是未加权的损失(即 w t = 1 w_t = 1 wt=1)。然而,考虑对有限层数的优化加权损失是有意义的,但我们将其留待未来的研究。
扩散损失的无限深度极限 L ∞ ( x ) ≡ lim T → ∞ L T ( x ) L_\infty(x) \equiv \lim_{T \to \infty} L_T(x) L∞(x)≡limT→∞LT(x) 变为(见附录G):
L ∞ ( x ) = − 1 2 E t ∼ U ( 0 , 1 ) E q ( z t ∣ x ) [ ( d SNR ( t ) d t x ^ θ ( z t , t ) − x ϕ ( λ t ) − d x ϕ ( λ t ) d λ t ) 2 ] (14) L_\infty(x) = -\frac{1}{2} E_{t \sim U(0, 1)} E_{q(z_t|x)} \left[ \left( \frac{d \text{SNR}(t)}{dt} \hat{x}_\theta(z_t, t) - x_{\phi(\lambda_t)} - \frac{dx_{\phi(\lambda_t)}}{d\lambda_t} \right)^2 \right] \tag{14} L∞(x)=−21Et∼U(0,1)Eq(zt∣x)[(dtdSNR(t)x^θ(zt,t)−xϕ(λt)−dλtdxϕ(λt))2](14)
因此, L ∞ ( x ) L_\infty(x) L∞(x) 与VDM中的标准连续时间扩散损失非常相似,但多了一个源于均值偏移项的额外梯度。在第四节中,我们将开发一个修改的生成模型,以应对这一额外项。在附录H中,我们推导了描述DiffEnc在无限深度极限下生成模型的随机微分方程(SDE)。
4. Parameterization Of The Encoder And Generative Model
编码器和生成模型的参数化
我们现在转向编码器 x ϕ ( λ t ) x_{\phi(\lambda_t)} xϕ(λt) 的参数化。重建损失和潜在损失对编码器在潜在变量层次结构两端的行为施加了约束:我们使用的似然性构造使得重建损失在 x ϕ ( λ 0 ) = x x_{\phi(\lambda_0)} = x xϕ(λ0)=x 时最小化。同样,潜在损失在 x ϕ ( λ 1 ) = 0 x_{\phi(\lambda_1)} = 0 xϕ(λ1)=0 时最小化。在 0 < t < 1 0 < t < 1 0<t<1 的范围内,一个非平凡的编码器可以改善扩散损失。
我们提出两种相关的编码器参数化方式:一个是可训练的 x ϕ x_{\phi} xϕ,另一个是更简单的不可训练的 x n t x_{nt} xnt(其中 nt 代表不可训练)。设 y ϕ ( x , λ t ) y_{\phi}(x, \lambda_t) yϕ(x,λt) 是一个带参数 ϕ \phi ϕ 的神经网络,简记为 y ϕ ( λ t ) y_{\phi}(\lambda_t) yϕ(λt)。我们将可训练编码器定义为:
x ϕ ( λ t ) = ( 1 − σ t 2 ) x + σ t 2 y ϕ ( λ t ) = α t 2 x + σ t 2 y ϕ ( λ t ) (15) x_{\phi}(\lambda_t) = (1 - \sigma_t^2)x + \sigma_t^2 y_{\phi}(\lambda_t) = \alpha_t^2 x + \sigma_t^2 y_{\phi}(\lambda_t) \tag{15} xϕ(λt)=(1−σt2)x+σt2yϕ(λt)=αt2x+σt2yϕ(λt)(15)
而不可训练编码器定义为:
x n t ( λ t ) = α t 2 x (15) x_{nt}(\lambda_t) = \alpha_t^2 x \tag{15} xnt(λt)=αt2x(15)
对这些参数化方式的更多动机可以在附录I中找到。可训练编码器 x ϕ x_{\phi} xϕ 在初始化时设置为 y ϕ ( λ t ) = 0 y_{\phi}(\lambda_t) = 0 yϕ(λt)=0,因此在训练开始时其行为类似于不可训练编码器 x n t x_{nt} xnt(但与VDM的恒等编码器不同)。
为了更好地适应方程(14)中的无限深度扩散损失,我们定义生成模型 p θ ( z s ∣ z t ) p_{\theta}(z_s|z_t) pθ(zs∣zt) 的新均值 μ P \mu_P μP,这是对方程(6)的修改。具体而言,我们希望在 μ P \mu_P μP 中引入一个对抗项,该项在取连续极限时大致抵消 d x ϕ ( λ t ) d λ t \frac{dx_{\phi}(\lambda_t)}{d\lambda_t} dλtdxϕ(λt)。这个项应以 x ^ θ ( λ t ) \hat{x}_{\theta}(\lambda_t) x^θ(λt) 而非 x ϕ x_{\phi} xϕ 表示。对于不可训练编码器,我们有:
d x n t ( λ t ) d λ t = α t 2 σ t 2 x = σ t 2 x n t ( λ t ) \frac{dx_{nt}(\lambda_t)}{d\lambda_t} = \alpha_t^2 \sigma_t^2 x = \sigma_t^2 x_{nt}(\lambda_t) dλtdxnt(λt)=αt2σt2x=σt2xnt(λt)
因此,对于不可训练编码器,我们可以用 σ t 2 x ^ θ ( λ t ) \sigma_t^2 \hat{x}_{\theta}(\lambda_t) σt2x^θ(λt) 来近似 d x n t ( λ t ) d λ t \frac{dx_{nt}(\lambda_t)}{d\lambda_t} dλtdxnt(λt)。可训练编码器则更复杂,因为它还包含了 y ϕ y_{\phi} yϕ 的导数,我们无法简单地用 x ^ θ \hat{x}_{\theta} x^θ 来表示。因此,我们选择将 d x ϕ ( λ t ) d λ t \frac{dx_{\phi}(\lambda_t)}{d\lambda_t} dλtdxϕ(λt) 近似为与 d x n t ( λ t ) d λ t \frac{dx_{nt}(\lambda_t)}{d\lambda_t} dλtdxnt(λt) 相同的形式。我们将探索不同的策略来近似该梯度留待未来工作。
通过选择的对抗项,在连续极限下应大致抵消方程(13)中的均值偏移项的影响,新均值 μ P \mu_P μP 定义为:
μ P = α t ∣ s σ s 2 σ t 2 z t + α s σ t ∣ s 2 σ t 2 x ^ θ ( λ t ) + α s ( λ s − λ t ) σ t 2 x ^ θ ( λ t ) (17) \mu_P =\frac{ \alpha_{t|s} \sigma_s^2}{\sigma_t^2} z_t + \frac{ \alpha_s \sigma_{t|s}^2}{\sigma_t^2} \hat{x}_{\theta}(\lambda_t) + \alpha_s (\lambda_s - \lambda_t) \sigma_t^2 \hat{x}_{\theta}(\lambda_t) \tag{17} μP=σt2αt∣sσs2zt+σt2αsσt∣s2x^θ(λt)+αs(λs−λt)σt2x^θ(λt)(17)
类似于上述内容,我们在编码器参数化为方程(15)时推导无限深度扩散损失 L ∞ ( x ) L_\infty(x) L∞(x),通过取 L T L_T LT 的极限 T → ∞ T \to \infty T→∞ (见附录J):
L ∞ ( x ) = − 1 2 E ϵ , t ∼ U [ 0 , 1 ] [ ( d λ t d t x ^ θ ( z t , λ t ) + σ t x ^ θ ( z t , λ t ) − x ϕ ( λ t ) − d x ϕ ( λ t ) d λ t ) 2 ] (18) L_\infty(x) = -\frac{1}{2} E_{\epsilon, t \sim U[0, 1]} \left[ \left( \frac{d\lambda_t}{dt} \hat{x}_{\theta}(z_t, \lambda_t) + \sigma_t \hat{x}_{\theta}(z_t, \lambda_t) - x_{\phi}(\lambda_t) - \frac{dx_{\phi}(\lambda_t)}{d\lambda_t} \right)^2 \right] \tag{18} L∞(x)=−21Eϵ,t∼U[0,1][(dtdλtx^θ(zt,λt)+σtx^θ(zt,λt)−xϕ(λt)−dλtdxϕ(λt))2](18)
其中 z t = α t x t + σ t ϵ z_t = \alpha_t x_t + \sigma_t \epsilon zt=αtxt+σtϵ 且 ϵ ∼ N ( 0 , I ) \epsilon \sim N(0, I) ϵ∼N(0,I)。
在我们的实验中,我们使用 v-参数化(Salimans & Ho, 2022)作为损失,这意味着对于可训练编码器,我们使用的损失为:
L ∞ ( x ) = − 1 2 E ϵ , t ∼ U [ 0 , 1 ] [ λ t ′ α t 2 ( v t − v ^ θ + σ t ( x ^ θ ( λ t ) − x ϕ ( λ t ) + y ϕ ( λ t ) − d y ϕ ( λ t ) d λ t ) ) 2 ] (19) L_\infty(x) = -\frac{1}{2} E_{\epsilon, t \sim U[0, 1]} \left[ \lambda'_t \alpha_t^2 \left( v_t - \hat{v}_{\theta} + \sigma_t \left( \hat{x}_{\theta}(\lambda_t) - x_{\phi}(\lambda_t) + y_{\phi}(\lambda_t) - \frac{dy_{\phi}(\lambda_t)}{d\lambda_t} \right) \right)^2 \right] \tag{19} L∞(x)=−21Eϵ,t∼U[0,1][λt′αt2(vt−v^θ+σt(x^θ(λt)−xϕ(λt)+yϕ(λt)−dλtdyϕ(λt)))2](19)
而对于不可训练编码器,我们使用的损失为:
L ∞ ( x ) = − 1 2 E ϵ , t ∼ U [ 0 , 1 ] [ λ t ′ α t 2 ∥ v t − v ^ θ + σ t ( x ^ θ ( λ t ) − x ϕ ( λ t ) ) ∥ 2 ] (20) L_\infty(x) = -\frac{1}{2} E_{\epsilon, t \sim U[0, 1]} \left[ \lambda'_t \alpha_t^2 \|v_t - \hat{v}_{\theta} + \sigma_t (\hat{x}_{\theta}(\lambda_t) - x_{\phi}(\lambda_t))\|^2 \right] \tag{20} L∞(x)=−21Eϵ,t∼U[0,1][λt′αt2∥vt−v^θ+σt(x^θ(λt)−xϕ(λt))∥2](20)
方程(19)和(20)的推导见附录K。我们注意到,当使用 v-参数化时,当 α t \alpha_t αt 趋近于0时,损失变为与 ϵ \epsilon ϵ 预测参数化相同。而当 t t t 趋近于1时,损失的行为取决于编码器:对于可训练编码器,我们有 v ^ θ ≈ d y ϕ ( λ t ) d λ t \hat{v}_{\theta} \approx \frac{dy_{\phi}(\lambda_t)}{d\lambda_t} v^θ≈dλtdyϕ(λt),这表明编码器在原则上可以指导扩散模型。