去噪扩散概率模型
Title:Denoising Diffusion Probabilistic Models
paper是UC Berkeley发表在NIPS 2020的工作
paper地址
Abstract
我们使用扩散概率模型(一类受非平衡热力学启发的潜在变量模型)展示了高质量的图像合成结果。根据扩散概率模型与采用Langevin动力学的去噪得分匹配之间的新颖联系设计的加权变分下界进行训练,我们获得了最佳结果。我们的模型自然而然地使用一种渐进的有损解压方案,这可以解释为自回归解码的推广。在无条件CIFAR10数据集上,我们取得了9.46的Inception得分和3.17的最先进的FID得分。在 256 × 256 256 \times 256 256×256 的LSUN数据集上,我们获得了与ProgressiveGAN相似的样本质量。代码。
1 Introduction
各种深度生成模型最近在多种数据模态中展示了高质量的样本。生成对抗网络(GANs)、自回归模型、流模型和变分自编码器(VAEs)已经合成了引人注目的图像和音频样本【14, 27, 3, 58, 38, 25, 10, 32, 44, 57, 26, 33, 45】。同时,并且基于能量的建模和得分匹配方面的显著进展也产生了与GANs可媲美的图像【11, 55】。
图 1:在 CelebA-HQ 256 × 256(左)和无条件 CIFAR10(右)上生成的样本
图 2:本工作中考虑的有向图模型。
本文介绍了扩散概率模型的进展【53】。扩散概率模型(简称为“扩散模型”)是一种参数化的马尔可夫链,通过变分推断进行训练,在有限时间内生成与数据匹配的样本。这个链的转移过程被学习来逆转扩散过程,即一个逐渐向数据中添加噪声的马尔可夫链,直到信号被完全破坏。当扩散过程由少量高斯噪声组成时,只需将采样链的转移过程也设置为条件高斯分布,从而允许采用特别简单的神经网络参数化方式。
扩散模型定义简单且训练高效,但据我们所知,尚未有研究表明它们能够生成高质量样本。我们展示了扩散模型实际上能够生成高质量样本,有时甚至优于其他类型生成模型的已发表结果(第4节)。此外,我们展示了一种特定的扩散模型参数化方法,这种方法揭示了在训练过程中扩散模型与多个噪声级别上的去噪得分匹配,以及在采样过程中与退火Langevin动力学的等价性(第3.2节)【55, 61】。我们使用这种参数化方法获得了最好的样本质量结果(第4.2节),因此我们认为这种等价性是我们主要的贡献之一。
尽管我们的模型样本质量较高,但与其他基于似然的模型相比,我们的模型在对数似然上并不具有竞争力(不过,我们的模型在对数似然上优于已报告的退火重要性采样对能量基模型和得分匹配产生的大量估计【11, 55】)。我们发现,大多数模型的无损编码长度主要用于描述难以察觉的图像细节(第4.3节)。我们以有损压缩的语言对这一现象进行了更精细的分析,并展示了扩散模型的采样过程是一种渐进解码形式,类似于按照位排序进行的自回归解码,这大大扩展了自回归模型通常可能实现的范围。
2 Background
扩散模型【53】是一种以 p θ ( x 0 ) : = ∫ p θ ( x 0 : T ) d x 1 : T p_\theta\left(\mathbf{x}_0\right):=\int p_\theta\left(\mathbf{x}_{0: T}\right) d \mathbf{x}_{1: T} pθ(x0):=∫pθ(x0:T)dx1:T 形式的潜在变量模型,其中 x 1 , … , x T \mathbf{x}_1, \ldots, \mathbf{x}_T x1,…,xT 是与数据 x 0 ∼ q ( x 0 ) \mathbf{x}_0 \sim q\left(\mathbf{x}_0\right) x0∼q(x0) 同维度的潜变量。联合分布 p θ ( x 0 : T ) p_\theta\left(\mathbf{x}_{0: T}\right) pθ(x0:T) 被称为反向过程,其定义为从 p ( x T ) = N ( x T ; 0 , I ) p\left(\mathbf{x}_T\right)=\mathcal{N}\left(\mathbf{x}_T ; \mathbf{0}, \mathbf{I}\right) p(xT)=N(xT;0,I) 开始的学习高斯过渡的马尔科夫链:
p θ ( x 0 : T ) : = p ( x T ) ∏ t = 1 T p θ ( x t − 1 ∣ x t ) , p θ ( x t − 1 ∣ x t ) : = N ( x t − 1 ; μ θ ( x t , t ) , Σ θ ( x t , t ) ) ( 1 ) p_\theta\left(\mathbf{x}_{0: T}\right):=p\left(\mathbf{x}_T\right) \prod_{t=1}^T p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right), \quad p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right):=\mathcal{N}\left(\mathbf{x}_{t-1} ; \boldsymbol{\mu}_\theta\left(\mathbf{x}_t, t\right), \mathbf{\Sigma}_\theta\left(\mathbf{x}_t, t\right)\right) \quad(1) pθ(x0:T):=p(xT)t=1∏Tpθ(xt−1∣xt),pθ(xt−1∣xt):=N(xt−1;μθ(xt,t),Σθ(xt,t))(1)
将扩散模型与其他类型的潜在变量模型区别开来的是,近似后验 q ( x 1 : T ∣ x 0 ) q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_0\right) q(x1:T∣x0)(被称为前向过程或扩散过程)固定为一个马尔科夫链,该链根据方差调度 β 1 , … , β T \beta_1, \ldots, \beta_T β1,…,βT 逐渐向数据添加高斯噪声:
q ( x 1 : T ∣ x 0 ) : = ∏ t = 1 T q ( x t ∣ x t − 1 ) , q ( x t ∣ x t − 1 ) : = N ( x t ; 1 − β t x t − 1 , β t I ) ( 2 ) q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_0\right):=\prod_{t=1}^T q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}\right), \quad q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}\right):=\mathcal{N}\left(\mathbf{x}_t ; \sqrt{1-\beta_t} \mathbf{x}_{t-1}, \beta_t \mathbf{I}\right)\quad(2) q(x1:T∣x0):=t=1∏Tq(xt∣xt−1),q(xt∣xt−1):=N(xt;1−βtxt−1,βtI)(2)
训练过程主要是通过优化变分下界(也称作证据下界,或ELBO)的负对数似然性来完成的:
E [ − log p θ ( x 0 ) ] ≤ E q [ − log p θ ( x 0 : T ) q ( x 1 : T ∣ x 0 ) ] = E q [ − log p ( x T ) − ∑ t ≥ 1 log p θ ( x t − 1 ∣ x t ) q ( x t ∣ x t − 1 ) ] = : L ( 3 ) \mathbb{E}\left[-\log p_\theta\left(\mathbf{x}_0\right)\right] \leq \mathbb{E}_q\left[-\log \frac{p_\theta\left(\mathbf{x}_{0: T}\right)}{q\left(\mathbf{x}_{1: T} \mid \mathbf{x}_0\right)}\right]=\mathbb{E}_q\left[-\log p\left(\mathbf{x}_T\right)-\sum_{t \geq 1} \log \frac{p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)}{q\left(\mathbf{x}_t \mid \mathbf{x}_{t-1}\right)}\right]=: L \quad(3) E[−logpθ(x0)]≤Eq[−logq(x1:T∣x0)pθ(x0:T)]=Eq[−logp(xT)−t≥1∑logq(xt∣xt−1)pθ(xt−1∣xt)]=:L(3)
可以通过重参数化【33】学习前向过程的方差 β t \beta_t βt,或者将其视为恒定的超参数,并通过选择高斯条件下的 p θ ( x t − 1 ∣ x t ) p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right) pθ(xt−1∣xt),确保反向过程的表达力,因为当 β t \beta_t βt 很小的时候,这两个过程具有相同的函数形式【53】。前向过程的一个显著特性是,它允许在任意时间步长 t t t 以封闭形式采样 x t \mathbf{x}_t xt:使用符号 α t : = 1 − β t \alpha_t:=1-\beta_t αt:=1−βt 和 α ˉ t : = ∏ s = 1 t α s \bar{\alpha}_t:=\prod_{s=1}^t \alpha_s αˉt:=∏s=1tαs,我们有:
q ( x t ∣ x 0 ) = N ( x t ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) ( 4 ) q\left(\mathbf{x}_t \mid \mathbf{x}_0\right)=\mathcal{N}\left(\mathbf{x}_t ; \sqrt{\bar{\alpha}_t} \mathbf{x}_0,\left(1-\bar{\alpha}_t\right) \mathbf{I}\right)\quad(4) q(xt∣x0)=N(xt;αˉtx0,(1−αˉt)I)(4)
因此,我们可以通过使用随机梯度下降优化 L L L的随机项进行高效训练。进一步的改进来自于通过将 L L L(3)重写为以下格式来降低方差:
E q [ D K L ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) ⏟ L T + ∑ t > 1 D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) ⏟ L t − 1 − log p θ ( x 0 ∣ x 1 ) ⏟ L 0 ] ( 5 ) \mathbb{E}_q[\underbrace{D_{\mathrm{KL}}\left(q\left(\mathbf{x}_T \mid \mathbf{x}_0\right) \| p\left(\mathbf{x}_T\right)\right)}_{L_T}+\sum_{t>1} \underbrace{D_{\mathrm{KL}}\left(q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t, \mathbf{x}_0\right) \| p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right)\right)}_{L_{t-1}} \underbrace{-\log p_\theta\left(\mathbf{x}_0 \mid \mathbf{x}_1\right)}_{L_0}]\quad(5) Eq[LT DKL(q(xT∣x0)∥p(xT))+t>1∑Lt−1 DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))L0 −logpθ(x0∣x1)](5)
(详情请参见附录A。这些项的标签用于第3节。)公式(5)使用KL散度直接将 p θ ( x t − 1 ∣ x t ) p_\theta\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t\right) pθ(xt−1∣xt)与条件于 x 0 \mathbf{x}_0 x0时可以处理的前向过程后验进行比较:
q ( x t − 1 ∣ x t , x 0 ) = N ( x t − 1 ; μ ~ t ( x t , x 0 ) , β ~ t I ) ( 6 ) where μ ~ t ( x t , x 0 ) : α ˉ t − 1 β t 1 − α ˉ t x 0 + α t ( 1 − α ˉ t − 1 ) 1 − α ˉ t x t and β ~ t : = 1 − α ˉ t − 1 1 − α ˉ t β t ( 7 ) \begin{aligned} q\left(\mathbf{x}_{t-1} \mid \mathbf{x}_t, \mathbf{x}_0\right) & =\mathcal{N}\left(\mathbf{x}_{t-1} ; \tilde{\boldsymbol{\mu}}_t\left(\mathbf{x}_t, \mathbf{x}_0\right), \tilde{\beta}_t \mathbf{I}\right) \quad(6)\\ \text { where } \quad \tilde{\boldsymbol{\mu}}_t\left(\mathbf{x}_t, \mathbf{x}_0\right) & : \frac{\sqrt{\bar{\alpha}_{t-1}} \beta_t}{1-\bar{\alpha}_t} \mathbf{x}_0+\frac{\sqrt{\alpha_t}\left(1-\bar{\alpha}_{t-1}\right)}{1-\bar{\alpha}_t} \mathbf{x}_t \quad \text { and } \quad \tilde{\beta}_t:=\frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t} \beta_t \quad(7) \end{aligned} q(xt−1∣xt,x0) where μ~t(xt,x0)=N(xt−1;μ~t(xt,x0),β~tI)(6):1−αˉtαˉt−1βtx0+1−αˉtαt(1−αˉt−1)xt and β~t:=1−αˉt1−αˉt−1βt(7)
因此,公式(5)中的所有KL散度都是高斯间的比较,所以它们可以以Rao-Blackwellized的方式通过封闭形式的表达式计算,而不是使用高方差的蒙特卡洛估计。
前向加噪过程的推导,即式(2)和式(4)
前向加噪( x t − 1 → x t \mathbf{x}_{t-1} \rightarrow \mathbf{x}_t xt−1→xt):
x t = a t x t − 1 + b t ε t , ε t ∼ N ( 0 , I ) ( a . 1 ) \mathbf{x}_t = a_t\mathbf{x}_{t-1}+b_t\varepsilon_t, \quad \varepsilon_t \sim \mathcal{N}(\mathbf{0}, \boldsymbol{I})\quad(a.1) xt=atxt−1+btεt,εt∼N(0,I)(a.1)
其中 a t a_t at和 b t b_t bt表示图像与噪声的混合比例, ε t \varepsilon_t εt是噪声,满足 a t 2 + b t 2 = 1 a_t^2+b_t^2=1 at2+bt2=1的约束。
展开上式,得:
x t = a t x t − 1 + b t ε t = a t ( a t − 1 x t − 2 + b t − 1 ε t − 1 ) + b t ε t = a t a t − 1 x t − 2 + a t b t − 1 ε t − 1 + b t ε t = … = ( a t … a 1 ) x 0 + ( a t … a 2 ) b 1 ε 1 + ( a t … a 3 ) b 2 ε 2 + ⋯ + a t b t − 1 ε t − 1 + b t ε t ⏟ 多个相互独立的正态噪声之和 ( a . 2 ) \begin{aligned} \mathbf{x}_t & =a_t \mathbf{x}_{t-1}+b_t \varepsilon_t \\ & =a_t\left(a_{t-1} \mathbf{x}_{t-2}+b_{t-1} \varepsilon_{t-1}\right)+b_t \varepsilon_t \\ & =a_t a_{t-1} \mathbf{x}_{t-2}+a_t b_{t-1} \varepsilon_{t-1}+b_t \varepsilon_t \\ & =\ldots \\ & =\left(a_t \ldots a_1\right) \mathbf{x}_0+\underbrace{\left(a_t \ldots a_2\right) b_1 \varepsilon_1+\left(a_t \ldots a_3\right) b_2 \varepsilon_2+\cdots+a_t b_{t-1} \varepsilon_{t-1}+b_t \varepsilon_t}_{\text {多个相互独立的正态噪声之和 }} \end{aligned}\quad(a.2) xt=atxt−1+btεt=at(at−1xt−2+bt−1εt−1)+btεt=atat−1xt−2+atbt−1εt−1+btεt=…=(at…a1)x0+多个相互独立的正态噪声之和 (at…a2)b1ε1+(at…a3)b2ε2+⋯+atbt−1εt−1+btεt(a.2)
根据独立高斯的可加性:
假设 X X X和 Y Y Y是独立的随机变量,并且服从正态分布(因此也是联合正态分布),那么它们的和也是正态分布的。即:
如果
X ∼ N ( μ X , σ X 2 ) Y ∼ N ( μ Y , σ Y 2 ) Z = X + Y \begin{aligned} & X \sim N\left(\mu_X, \sigma_X^2\right) \\ & Y \sim N\left(\mu_Y, \sigma_Y^2\right) \\ & Z=X+Y \end{aligned} X∼N(μX,σX2)Y∼N(μY,σY2)Z=X+Y
然后
Z ∼ N ( μ X + μ Y , σ X 2 + σ Y 2 ) . Z \sim N\left(\mu_X+\mu_Y, \sigma_X^2+\sigma_Y^2\right) . Z∼N(μX+μY,σX2+σY2).
这意味着两个独立的正态分布随机变量的和是正态的,其均值是两个均值的和,其方差是两个方差的和。
因此上式可以写为:
x t = ( a t … a 1 ) x 0 + ( a t … a 2 ) 2 b 1 2 + ( a t … a 3 ) 2 b 2 2 + ⋯ + a t 2 b t − 1 2 + b t 2 ε ‾ t , ε ‾ t ∼ N ( 0 , I ) ( a . 3 ) \begin{gathered} \boldsymbol{x}_t=\left(a_t \ldots a_1\right) \boldsymbol{x}_0+\sqrt{\left(a_t \ldots a_2\right)^2 b_1^2+\left(a_t \ldots a_3\right)^2 b_2^2+\cdots+a_t^2 b_{t-1}^2+b_t^2} \overline{\boldsymbol{\varepsilon}}_t, \quad \overline{\boldsymbol{\varepsilon}}_t \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) \end{gathered}\quad(a.3) xt=(at…a1)x0+(at…a2)2b12+(at…a3)2b22+⋯+at2bt−12+bt2εt,εt∼N(0,I)(a.3)
注意到式(a.1)满足 a t 2 + b t 2 = 1 a_t^2+b_t^2=1 at2+bt2=1的约束,下面给出推导。
计算式(a.2)系数的平方和:
( a t … a 1 ) 2 + ( a t … a 2 ) 2 b 1 2 + ( a t … a 3 ) 2 b 2 2 + ⋯ + a t 2 b t − 1 2 + b t 2 = ( a t … a 2 ) 2 a 1 2 + ( a t … a 2 ) 2 b 1 2 + ( a t … a 3 ) 2 b 2 2 + ⋯ + a t 2 b t − 1 2 + b t 2 = ( a t … a 2 ) 2 ( a 1 2 + b 1 2 ) + ( a t … a 3 ) 2 b 2 2 + ⋯ + a t 2 b t − 1 2 + b t 2 = ( a t … a 3 ) 2 ( a 2 2 ( a 1 2 + b 1 2 ) + b 2 2 ) + ⋯ + a t 2 b t − 1 2 + b t 2 = a t 2 ( a t − 1 2 ( … ( a 2 2 ( a 1 2 + b 1 2 ) + b 2 2 ) + … ) + b t − 1 2 ) + b t 2 ( a . 3 ) \begin{aligned} & \left(a_t \ldots a_1\right)^2+\left(a_t \ldots a_2\right)^2 b_1^2+\left(a_t \ldots a_3\right)^2 b_2^2+\cdots+a_t^2 b_{t-1}^2+b_t^2 \\ = & \left(a_t \ldots a_2\right)^2 a_1^2+\left(a_t \ldots a_2\right)^2 b_1^2+\left(a_t \ldots a_3\right)^2 b_2^2+\cdots+a_t^2 b_{t-1}^2+b_t^2 \\ = & \left(a_t \ldots a_2\right)^2\left(a_1^2+b_1^2\right)+\left(a_t \ldots a_3\right)^2 b_2^2+\cdots+a_t^2 b_{t-1}^2+b_t^2 \\ = & \left(a_t \ldots a_3\right)^2\left(a_2^2\left(a_1^2+b_1^2\right)+b_2^2\right)+\cdots+a_t^2 b_{t-1}^2+b_t^2 \\ = & a_t^2\left(a_{t-1}^2\left(\ldots\left(a_2^2\left(a_1^2+b_1^2\right)+b_2^2\right)+\ldots\right)+b_{t-1}^2\right)+b_t^2 \end{aligned}\quad(a.3) ====(at…a1)2+(at…a2)2b12+(at…a3)2b22+⋯+at2bt−12+bt2(at…a2)2a12+(at…a2)2b12+(at…a3)2b22+⋯+at2bt−12+bt2(at…a2)2(a12+b12)+(at…a3)2b22+⋯+at2bt−12+bt2(at…a3)2(a22(a12+b12)+b22)+⋯+at2bt−12+bt2at2(at−12(…(a22(a12+b12)+b22)+…)+bt−12)+bt2(a.3)
如果满足 a t 2 + b t 2 = 1 a_t^2+b_t^2=1 at2+bt2=1的约束,那么式(a.3)会大大简化。即式(a.2)的系数平方和也为1。记 a ˉ t = ( a t … a 1 ) 2 \bar{a}_t=\left(a_t \ldots a_1\right)^2 aˉt=(at…a1)2,式(a.3)可以写成:
x t = a ˉ t x 0 + 1 − a ˉ t ε ˉ t , ε ˉ t ∼ N ( 0 , I ) ( a . 4 ) \mathbf{x}_t=\sqrt{\bar{a}_t} \mathbf{x}_0+\sqrt{1-\bar{a}_t} \bar{\varepsilon}_t, \quad \bar{\varepsilon}_t \sim \mathcal{N}(\mathbf{0}, \boldsymbol{I})\quad(a.4) xt=aˉtx0+1−aˉtεˉt,εˉt∼N(0,I)(a.4)
令 a t = α t a_t=\sqrt{\alpha_t} at=αt,代入式(a.4)可得:
x t = α ˉ t x 0 + 1 − α ˉ t ε ˉ t , ε ˉ t ∼ N ( 0 , I ) \mathbf{x}_t=\sqrt{\bar{\alpha}_t} \mathbf{x}_0+\sqrt{1-\bar{\alpha}_t} \bar{\varepsilon}_t, \quad \bar{\varepsilon}_t \sim \mathcal{N}(\mathbf{0}, \boldsymbol{I}) xt=αˉtx0+1−αˉtεˉt,εˉt∼N(0,I)
对应式(4)
由 α t : = 1 − β t \alpha_t:=1-\beta_t αt:=1−βt,重写式(a.1)可得:
x t = ( 1 − β t ) x t − 1 + β t ε t , ε t ∼ N ( 0 , I ) \mathbf{x}_t = \sqrt{(1-\beta_t)}\mathbf{x}_{t-1}+\sqrt{\beta_t}\varepsilon_t, \quad \varepsilon_t \sim \mathcal{N}(\mathbf{0}, \boldsymbol{I}) xt=(1−βt)xt−1+βtεt,εt∼N(0,I)
对应式(2)
上述高斯相加的过程,也可以从重参数化来理解:若希望从高斯分布 N ( μ , σ 2 ) N\left(\mu, \sigma^2\right) N(μ,σ2) 中采样,可以先从标准分布 N ( 0 , 1 ) N(0,1) N(0,1) 采样出 z z z ,再得到 σ ∗ z + μ \sigma * z+\mu σ∗z+μ ,这就是我们想要采样的结果。这样做的好处是将随机性转移到了 z z z 这个常量上,而 σ \sigma σ 和 μ \mu μ 则当作仿射变换网络的一部分。
此外, a t 2 + b t 2 = 1 a_t^2+b_t^2=1 at2+bt2=1根本原因在于这个约束保证了信号的总能量不变,同时确保了生成过程中的稳定性和归一化特性。
- 在信号传输和处理过程中,保持信号的原始能量有助于保留信号的主要特征,从而提高处理结果的保真度。
- 数值稳定性:归一化处理有助于避免计算过程中出现过大的数值,防止溢出或下溢。
- a t 2 + b t 2 = 1 a_t^2+b_t^2=1 at2+bt2=1描述的是一个单位圆上的点。在单位圆上,所有点到原点的距离都是1,表示信号和噪声在每一步的组合仍然在一个固定的能量水平上。
- 信号和噪声的加权可以看作是两个向量的合成,这两个向量在每一步的组合结果仍然保持在单位圆上,确保总的“长度”或能量不变。
- 数学推导的简化
从方差合成归一化的视角理解:
在前向加噪过程中,每一步加噪的形式为:
x t = 1 − β t x t − 1 + β t ε t , \mathbf{x}_t = \sqrt{1 - \beta_t} \mathbf{x}_{t-1} + \sqrt{\beta_t} \varepsilon_t, xt=1−βtxt−1+βtεt,
其中 ε t ∼ N ( 0 , I ) \varepsilon_t \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) εt∼N(0,I),并且 β t \beta_t βt控制噪声的比例。
我们来看每一步的方差归一化过程:
初始时刻 t = 0 t = 0 t=0:
x 0 ∼ N ( 0 , σ 0 2 I ) . \mathbf{x}_0 \sim \mathcal{N}(\mathbf{0}, \sigma_0^2 \mathbf{I}). x0∼N(0,σ02I).
第 t t t步:
x t = 1 − β t x t − 1 + β t ε t . \mathbf{x}_t = \sqrt{1 - \beta_t} \mathbf{x}_{t-1} + \sqrt{\beta_t} \varepsilon_t. xt=1−βtxt−1+βtεt.
在这里, ε t \varepsilon_t εt的方差为 I \mathbf{I} I。
为了计算 x t \mathbf{x}_t xt的方差,我们需要考虑两个独立正态分布变量的加权和:
Var ( x t ) = Var ( 1 − β t x t − 1 + β t ε t ) = ( 1 − β t ) Var ( x t − 1 ) + β t Var ( ε t ) = ( 1 − β t ) Var ( x t − 1 ) + β t ⋅ I . \begin{aligned} \text{Var}(\mathbf{x}_t) &= \text{Var}(\sqrt{1 - \beta_t} \mathbf{x}_{t-1} + \sqrt{\beta_t} \varepsilon_t) \\ &= (1 - \beta_t) \text{Var}(\mathbf{x}_{t-1}) + \beta_t \text{Var}(\varepsilon_t) \\ &= (1 - \beta_t) \text{Var}(\mathbf{x}_{t-1}) + \beta_t \cdot \mathbf{I}. \end{aligned} Var(xt)=Var(1−βtxt−1+βtεt)=(1−βt)Var(xt−1)+βtVar(εt)=(1−βt)Var(xt−1)+βt⋅I.
累积方差的归一化
假设在每一步中, x t − 1 \mathbf{x}_{t-1} xt−1的方差为 I \mathbf{I} I(这表示信号保持归一化方差)。则我们希望通过选择合适的 β t \beta_t βt保持方差的归一化,即每一步的 x t \mathbf{x}_t xt也具有单位方差。
在每一步中:
( 1 − β t ) I + β t I = I . (1 - \beta_t) \mathbf{I} + \beta_t \mathbf{I} = \mathbf{I}. (1−βt)I+βtI=I.
这意味着无论我们选择的 β t \beta_t βt是多少,只要满足 β t ∈ [ 0 , 1 ] \beta_t \in [0, 1] βt∈[0,1],前向加噪过程中的信号和噪声的加权组合将始终保持单位方差 I \mathbf{I} I。这就是方差合成归一化的意义。
累积效应
考虑从初始状态 x 0 \mathbf{x}_0 x0到第 t t t步的累积效应,我们有:
x t = α ˉ t x 0 + 1 − α ˉ t ε ˉ t , \mathbf{x}_t = \sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}_t} \bar{\varepsilon}_t, xt=αˉtx0+1−αˉtεˉt,
其中 α ˉ t = ∏ i = 1 t ( 1 − β i ) \bar{\alpha}_t = \prod_{i=1}^t (1 - \beta_i) αˉt=∏i=1t(1−βi)是所有 α i \alpha_i αi的累积乘积, ε ˉ t \bar{\varepsilon}_t εˉt是独立正态噪声的加权和。
再次计算方差:
Var ( x t ) = Var ( α ˉ t x 0 + 1 − α ˉ t ε ˉ t ) = α ˉ t Var ( x 0 ) + ( 1 − α ˉ t ) Var ( ε ˉ t ) = α ˉ t I + ( 1 − α ˉ t ) I = I . \begin{aligned} \text{Var}(\mathbf{x}_t) &= \text{Var}(\sqrt{\bar{\alpha}_t} \mathbf{x}_0 + \sqrt{1 - \bar{\alpha}_t} \bar{\varepsilon}_t) \\ &= \bar{\alpha}_t \text{Var}(\mathbf{x}_0) + (1 - \bar{\alpha}_t) \text{Var}(\bar{\varepsilon}_t) \\ &= \bar{\alpha}_t \mathbf{I} + (1 - \bar{\alpha}_t) \mathbf{I} \\ &= \mathbf{I}. \end{aligned} Var(xt)=Var(αˉtx0+1−αˉtεˉt)=αˉtVar(x0)+(1−αˉt)Var(εˉt)=αˉtI+(1−αˉt)I=I.