论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(三)

Understanding Diffusion Models: A Unified Perspective(三)

文章概括

引用:

bash 复制代码
@article{luo2022understanding,
  title={Understanding diffusion models: A unified perspective},
  author={Luo, Calvin},
  journal={arXiv preprint arXiv:2208.11970},
  year={2022}
}
markup 复制代码
Luo, C., 2022. Understanding diffusion models: A unified perspective. arXiv preprint arXiv:2208.11970.

原文: https://arxiv.org/abs/2208.11970
代码、数据和视频: https://arxiv.org/abs/2208.11970

系列文章:

请在 《 《 《文章 》 》 》 专栏中查找

利用这一新公式,我们可以重新从公式 (37) 中的ELBO开始推导:

我们因此成功地推导出了一个可以用较低方差估计的ELBO解释,因为每一项最多是关于一个随机变量的期望。这种形式还有一个优雅的解释,当我们检查每个独立项时可以发现:

  1. E q ( x 1 ∣ x 0 ) [ log ⁡ p θ ( x 0 ∣ x 1 ) ] \mathbb{E}{q(x_1|x_0)}[\log p{\theta}(x_0|x_1)] Eq(x1∣x0)[logpθ(x0∣x1)]可以被解释为一个重构项;与普通VAE的ELBO中的类似项一样,该项可以通过蒙特卡洛估计进行近似和优化。

  2. D K L ( q ( x T ∣ x 0 ) ∥ p ( x T ) ) D_{KL}(q(x_T|x_0) \| p(x_T)) DKL(q(xT∣x0)∥p(xT))表示最终加噪输入的分布与标准高斯先验的接近程度。在我们的假设下,该项没有可训练参数,并且也等于零。

  3. E q ( x t ∣ x 0 ) [ D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) ] \mathbb{E}{q(x_t|x_0)}[D{KL}(q(x_{t-1}|x_t, x_0) \| p_{\theta}(x_{t-1}|x_t))] Eq(xt∣x0)[DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))]是一个去噪匹配项。我们学习期望的去噪转换步骤 p θ ( x t − 1 ∣ x t ) p_{\theta}(x_{t-1}|x_t) pθ(xt−1∣xt),使其作为可求解的真实去噪转换步骤 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q(xt−1∣xt,x0)的近似。去噪步骤 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q(xt−1∣xt,x0)可以作为一个真实信号,因为它定义了如何通过访问完全去噪的图像 x 0 x_0 x0,对噪声图像 x t x_t xt进行去噪。因此,当两个去噪步骤尽可能匹配时,该项的KL散度最小化。

需要补充注意的是,在两种ELBO推导(公式45和公式58)的过程中,只使用了马尔可夫假设;因此,这些公式对于任意的马尔可夫HVAE都适用。此外,当我们设置 T = 1 T=1 T=1时,两种对于VDM的ELBO解释都能准确重现普通VAE的ELBO公式,如公式19所示。
E q ϕ ( z ∣ x ) [ log ⁡ p ( x , z ) q ϕ ( z ∣ x ) ] = E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) p ( z ) q ϕ ( z ∣ x ) ] ( Chain Rule of Probability ) (17) = E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] + E q ϕ ( z ∣ x ) [ log ⁡ p ( z ) q ϕ ( z ∣ x ) ] ( Split the Expectation ) (18) = E q ϕ ( z ∣ x ) [ log ⁡ p θ ( x ∣ z ) ] ⏟ reconstruction term − D K L ( q ϕ ( z ∣ x ) ∥ p ( z ) ) ⏟ prior matching term ( Definition of KL Divergence ) (19) \begin{aligned} \mathbb{E}{q{\phi}(z|x)} \left[ \log \frac{p(x, z)}{q_{\phi}(z|x)} \right] &= \mathbb{E}{q{\phi}(z|x)} \left[ \log \frac{p_{\theta}(x|z) p(z)}{q_{\phi}(z|x)} \right] & \quad (\text{Chain Rule of Probability}) &\text{(17)} \\ &= \mathbb{E}{q{\phi}(z|x)} [\log p_{\theta}(x|z)] + \mathbb{E}{q{\phi}(z|x)} \left[ \log \frac{p(z)}{q_{\phi}(z|x)} \right] & \quad (\text{Split the Expectation}) &\text{(18)} \\ &= \underbrace{\mathbb{E}{q{\phi}(z|x)} [\log p_{\theta}(x|z)]}\text{reconstruction term} - \underbrace{D{KL}(q_{\phi}(z|x) \| p(z))}_\text{prior matching term} & \quad (\text{Definition of KL Divergence}) &\text{(19)} \end{aligned} Eqϕ(z∣x)[logqϕ(z∣x)p(x,z)]=Eqϕ(z∣x)[logqϕ(z∣x)pθ(x∣z)p(z)]=Eqϕ(z∣x)[logpθ(x∣z)]+Eqϕ(z∣x)[logqϕ(z∣x)p(z)]=reconstruction term Eqϕ(z∣x)[logpθ(x∣z)]−prior matching term DKL(qϕ(z∣x)∥p(z))(Chain Rule of Probability)(Split the Expectation)(Definition of KL Divergence)(17)(18)(19)

在此ELBO推导中,大部分优化成本再次集中在求和项上,这一部分主导了重构项。对于任意复杂的马尔可夫HVAE,由于需要同时学习编码器,每个KL散度项 D K L ( q ( x t − 1 ∣ x t , x 0 ) ∥ p θ ( x t − 1 ∣ x t ) ) D_{KL}(q(x_{t-1}|x_t, x_0) \| p_{\theta}(x_{t-1}|x_t)) DKL(q(xt−1∣xt,x0)∥pθ(xt−1∣xt))都很难最小化。然而,在VDM中,我们可以利用高斯转换假设使优化变得可解。根据贝叶斯公式,我们有:

q ( x t − 1 ∣ x t , x 0 ) = q ( x t ∣ x t − 1 , x 0 ) q ( x t − 1 ∣ x 0 ) q ( x t ∣ x 0 ) q(x_{t-1}|x_t, x_0) = \frac{q(x_t|x_{t-1}, x_0) q(x_{t-1}|x_0)}{q(x_t|x_0)} q(xt−1∣xt,x0)=q(xt∣x0)q(xt∣xt−1,x0)q(xt−1∣x0)

正如我们已经知道的, q ( x t ∣ x t − 1 , x 0 ) = q ( x t ∣ x t − 1 ) = N ( x t ; α t x t − 1 , ( 1 − α t ) I ) q(x_t|x_{t-1}, x_0) = q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{\alpha_t}x_{t-1}, (1 - \alpha_t)\mathbf{I}) q(xt∣xt−1,x0)=q(xt∣xt−1)=N(xt;αt xt−1,(1−αt)I),这是基于我们关于编码器转换的假设(公式31: q ( x t ∣ x t − 1 ) = N ( x t ; α t x t − 1 , ( 1 − α t ) I ) q(x_t|x_{t-1}) = \mathcal{N}(x_t; \sqrt{\alpha_t}x_{t-1}, (1 - \alpha_t)\mathbf{I}) q(xt∣xt−1)=N(xt;αt xt−1,(1−αt)I))。接下来需要推导的是 q ( x t ∣ x 0 ) q(x_t|x_0) q(xt∣x0)和 q ( x t − 1 ∣ x 0 ) q(x_{t-1}|x_0) q(xt−1∣x0)的形式。

幸运的是,由于VDM的编码器转换是线性高斯模型,这些推导也变得可行。回想一下,在重参数化技巧下,从 q ( x t ∣ x t − 1 ) q(x_t|x_{t-1}) q(xt∣xt−1)中采样的样本 x t ∼ q ( x t ∣ x t − 1 ) x_t \sim q(x_t|x_{t-1}) xt∼q(xt∣xt−1)可以被重写为:

x t = α t x t − 1 + 1 − α t   ϵ with ϵ ∼ N ( ϵ ; 0 , I ) (59) x_t = \sqrt{\alpha_t} x_{t-1} + \sqrt{1 - \alpha_t} \, \epsilon \quad \text{with} \quad \epsilon \sim \mathcal{N}(\epsilon; 0, \mathbf{I}) \tag{59} xt=αt xt−1+1−αt ϵwithϵ∼N(ϵ;0,I)(59)

同样,从 q ( x t − 1 ∣ x t − 2 ) q(x_{t-1}|x_{t-2}) q(xt−1∣xt−2)中采样的样本 x t − 1 ∼ q ( x t − 1 ∣ x t − 2 ) x_{t-1} \sim q(x_{t-1}|x_{t-2}) xt−1∼q(xt−1∣xt−2)可以被重写为:

x t − 1 = α t − 1 x t − 2 + 1 − α t − 1   ϵ with ϵ ∼ N ( ϵ ; 0 , I ) (60) x_{t-1} = \sqrt{\alpha_{t-1}} x_{t-2} + \sqrt{1 - \alpha_{t-1}} \, \epsilon \quad \text{with} \quad \epsilon \sim \mathcal{N}(\epsilon; 0, \mathbf{I}) \tag{60} xt−1=αt−1 xt−2+1−αt−1 ϵwithϵ∼N(ϵ;0,I)(60)

然后, q ( x t ∣ x 0 ) q(x_t|x_0) q(xt∣x0)的形式可以通过多次应用重参数化技巧递归推导出来。假设我们可以访问 2 T 2T 2T个随机噪声变量 { ϵ t ∗ , ϵ t } t = 0 T \{\epsilon_t^*, \epsilon_t\}_{t=0}^T {ϵt∗,ϵt}t=0T,且这些变量独立同分布, ϵ ∼ N ( ϵ ; 0 , I ) \epsilon \sim \mathcal{N}(\epsilon; 0, \mathbf{I}) ϵ∼N(ϵ;0,I)。那么,对于任意样本 x t ∼ q ( x t ∣ x 0 ) x_t \sim q(x_t|x_0) xt∼q(xt∣x0),我们可以将其重写为:

x t = α t x t − 1 + 1 − α t ϵ t − 1 ∗ (61) = α t ( α t − 1 x t − 2 + 1 − α t − 1 ϵ t − 2 ∗ ) + 1 − α t ϵ t − 1 ∗ (62) = α t α t − 1 x t − 2 + α t − α t α t − 1 ϵ t − 2 ∗ + 1 − α t ϵ t − 1 ∗ (63) = α t α t − 1 x t − 2 + α t − α t α t − 1 2 + 1 − α t 2 ϵ t − 2 (64) = α t α t − 1 x t − 2 + α t − α t α t − 1 + 1 − α t ϵ t − 2 (65) = α t α t − 1 x t − 2 + 1 − α t α t − 1 ϵ t − 2 (66) = ⋯ (67) = ∏ i = 1 t α i x 0 + 1 − ∏ i = 1 t α i ϵ 0 (68) = α ˉ t x 0 + 1 − α ˉ t ϵ 0 (69) ∼ N ( x t ; α ˉ t x 0 , ( 1 − α ˉ t ) I ) (70) \begin{aligned} x_t &= \sqrt{\alpha_t} x_{t-1} + \sqrt{1 - \alpha_t} \epsilon_{t-1}^* &\text{(61)} \\ &= \sqrt{\alpha_t} \left( \sqrt{\alpha_{t-1}} x_{t-2} + \sqrt{1 - \alpha_{t-1}} \epsilon_{t-2}^* \right) + \sqrt{1 - \alpha_t} \epsilon_{t-1}^* &\text{(62)} \\ &= \sqrt{\alpha_t \alpha_{t-1}} x_{t-2} + \sqrt{\alpha_t - \alpha_t \alpha_{t-1}} \epsilon_{t-2}^* + \sqrt{1 - \alpha_t} \epsilon_{t-1}^* &\text{(63)} \\ &= \sqrt{\alpha_t \alpha_{t-1}} x_{t-2} + \sqrt{\sqrt{\alpha_t - \alpha_t \alpha_{t-1}}^2 + \sqrt{1 - \alpha_t}^2} \epsilon_{t-2} &\text{(64)} \\ &= \sqrt{\alpha_t \alpha_{t-1}} x_{t-2} + \sqrt{\alpha_t - \alpha_t \alpha_{t-1} + 1 - \alpha_t} \epsilon_{t-2} &\text{(65)} \\ &= \sqrt{\alpha_t \alpha_{t-1}} x_{t-2} + \sqrt{1 - \alpha_t \alpha_{t-1}} \epsilon_{t-2} &\text{(66)} \\ &= \cdots &\text{(67)} \\ &= \sqrt{\prod_{i=1}^t \alpha_i} x_0 + \sqrt{1 - \prod_{i=1}^t \alpha_i} \epsilon_0 &\text{(68)} \\ &= \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1 - \bar{\alpha}_t} \epsilon_0 &\text{(69)} \\ &\sim \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1 - \bar{\alpha}_t) \mathbf{I}) &\text{(70)} \end{aligned} xt=αt xt−1+1−αt ϵt−1∗=αt (αt−1 xt−2+1−αt−1 ϵt−2∗)+1−αt ϵt−1∗=αtαt−1 xt−2+αt−αtαt−1 ϵt−2∗+1−αt ϵt−1∗=αtαt−1 xt−2+αt−αtαt−1 2+1−αt 2 ϵt−2=αtαt−1 xt−2+αt−αtαt−1+1−αt ϵt−2=αtαt−1 xt−2+1−αtαt−1 ϵt−2=⋯=i=1∏tαi x0+1−i=1∏tαi ϵ0=αˉt x0+1−αˉt ϵ0∼N(xt;αˉt x0,(1−αˉt)I)(61)(62)(63)(64)(65)(66)(67)(68)(69)(70)

在公式(64)中,我们利用了以下事实:两个独立高斯随机变量的和仍然是一个高斯分布,其均值为两个均值的和,方差为两个方差的和。将 1 − α t ϵ t − 1 ∗ \sqrt{1 - \alpha_t} \epsilon_{t-1}^* 1−αt ϵt−1∗解释为从高斯分布 N ( 0 , ( 1 − α t ) I ) \mathcal{N}(0, (1 - \alpha_t) \mathbf{I}) N(0,(1−αt)I)中采样的样本,将 α t − α t α t − 1 ϵ t − 2 ∗ \sqrt{\alpha_t - \alpha_t \alpha_{t-1}} \epsilon_{t-2}^* αt−αtαt−1 ϵt−2∗解释为从高斯分布 N ( 0 , ( α t − α t α t − 1 ) I ) \mathcal{N}(0, (\alpha_t - \alpha_t \alpha_{t-1}) \mathbf{I}) N(0,(αt−αtαt−1)I)中采样的样本,则它们的和可以看作是一个从高斯分布 N ( 0 , ( 1 − α t + α t − α t α t − 1 ) I ) = N ( 0 , ( 1 − α t α t − 1 ) I ) \mathcal{N}(0, (1 - \alpha_t + \alpha_t - \alpha_t \alpha_{t-1}) \mathbf{I}) = \mathcal{N}(0, (1 - \alpha_t \alpha_{t-1}) \mathbf{I}) N(0,(1−αt+αt−αtαt−1)I)=N(0,(1−αtαt−1)I)中采样的随机变量。根据重参数化技巧,这一分布的样本可以表示为 1 − α t α t − 1 ϵ t − 2 \sqrt{1 - \alpha_t \alpha_{t-1}} \epsilon_{t-2} 1−αtαt−1 ϵt−2,如公式(66)所示。

因此,我们已经推导出了 q ( x t ∣ x 0 ) q(x_t|x_0) q(xt∣x0)的高斯形式。此推导还可以被修改以得出描述 q ( x t − 1 ∣ x 0 ) q(x_{t-1}|x_0) q(xt−1∣x0)的高斯参数化形式。现在,知道 q ( x t ∣ x 0 ) q(x_t|x_0) q(xt∣x0)和 q ( x t − 1 ∣ x 0 ) q(x_{t-1}|x_0) q(xt−1∣x0)的形式后,我们可以通过代入贝叶斯公式展开来计算 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q(xt−1∣xt,x0)的形式:

在公式(75)中, C ( x t , x 0 ) C(x_t, x_0) C(xt,x0)是一个与 x t − 1 x_{t-1} xt−1无关的常数项,由 x t x_t xt、 x 0 x_0 x0和 α \alpha α值的组合计算得出;该常数项在公式(84)中被隐式返回,以完成平方形式的推导。

因此,我们已经证明,在每一步中, x t − 1 ∼ q ( x t − 1 ∣ x t , x 0 ) x_{t-1} \sim q(x_{t-1}|x_t, x_0) xt−1∼q(xt−1∣xt,x0)是服从正态分布的,其均值 μ q ( x t , x 0 ) \mu_q(x_t, x_0) μq(xt,x0)是 x t x_t xt和 x 0 x_0 x0的函数,而方差 Σ q ( t ) \Sigma_q(t) Σq(t)是 α \alpha α系数的函数。这些 α \alpha α系数在每个时间步都是已知且固定的;它们要么在建模为超参数时被永久设置,要么被视为试图对其建模的网络的当前推断输出。根据公式(84),我们可以将方差方程重写为 Σ q ( t ) = σ q 2 ( t ) I \Sigma_q(t) = \sigma_q^2(t)\mathbf{I} Σq(t)=σq2(t)I,其中:

σ q 2 ( t ) = ( 1 − α t ) ( 1 − α ˉ t − 1 ) 1 − α ˉ t (85) \sigma_q^2(t) = \frac{(1 - \alpha_t)(1 - \bar{\alpha}_{t-1})}{1 - \bar{\alpha}_t} \tag{85} σq2(t)=1−αˉt(1−αt)(1−αˉt−1)(85)

为了使近似去噪转移步骤 p θ ( x t − 1 ∣ x t ) p_\theta(x_{t-1}|x_t) pθ(xt−1∣xt)尽可能接近真实去噪转移步骤 q ( x t − 1 ∣ x t , x 0 ) q(x_{t-1}|x_t, x_0) q(xt−1∣xt,x0),我们同样可以将其建模为一个高斯分布。此外,由于所有 α \alpha α项在每个时间步上都是已知且固定的,我们可以直接将近似去噪转移步骤的方差构造为 Σ q ( t ) = σ q 2 ( t ) I \Sigma_q(t) = \sigma_q^2(t)\mathbf{I} Σq(t)=σq2(t)I。然而,由于 p θ ( x t − 1 ∣ x t ) p_\theta(x_{t-1}|x_t) pθ(xt−1∣xt)不以 x 0 x_0 x0为条件,我们必须将其均值 μ θ ( x t , t ) \mu_\theta(x_t, t) μθ(xt,t)参数化为 x t x_t xt的函数。

回忆一下,两高斯分布之间的KL散度为:

D K L ( N ( x ; μ x , Σ x )   ∣ ∣   N ( y ; μ y , Σ y ) ) = 1 2 [ log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ − d + tr ( Σ y − 1 Σ x ) + ( μ y − μ x ) T Σ y − 1 ( μ y − μ x ) ] (86) D_{KL}(\mathcal{N}(x; \mu_x, \Sigma_x) \,||\, \mathcal{N}(y; \mu_y, \Sigma_y)) = \frac{1}{2} \left[ \log \frac{|\Sigma_y|}{|\Sigma_x|} - d + \text{tr}(\Sigma_y^{-1} \Sigma_x) + (\mu_y - \mu_x)^T \Sigma_y^{-1} (\mu_y - \mu_x) \right] \tag{86} DKL(N(x;μx,Σx)∣∣N(y;μy,Σy))=21[log∣Σx∣∣Σy∣−d+tr(Σy−1Σx)+(μy−μx)TΣy−1(μy−μx)](86)

我们需要推导以下公式: D K L ( N ( x ; μ x , Σ x ) ∥ N ( y ; μ y , Σ y ) ) = 1 2 [ log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ − d + tr ( Σ y − 1 Σ x ) + ( μ y − μ x ) T Σ y − 1 ( μ y − μ x ) ] . D_{KL}(\mathcal{N}(x; \mu_x, \Sigma_x) \| \mathcal{N}(y; \mu_y, \Sigma_y)) = \frac{1}{2} \left[ \log \frac{|\Sigma_y|}{|\Sigma_x|} - d + \text{tr}(\Sigma_y^{-1} \Sigma_x) + (\mu_y - \mu_x)^T \Sigma_y^{-1} (\mu_y - \mu_x) \right]. DKL(N(x;μx,Σx)∥N(y;μy,Σy))=21[log∣Σx∣∣Σy∣−d+tr(Σy−1Σx)+(μy−μx)TΣy−1(μy−μx)].


1. KL 散度的定义

KL 散度定义为: D K L ( N ( x ; μ x , Σ x ) ∥ N ( y ; μ y , Σ y ) ) = ∫ N ( x ; μ x , Σ x ) log ⁡ N ( x ; μ x , Σ x ) N ( x ; μ y , Σ y ) d x . D_{KL}(\mathcal{N}(x; \mu_x, \Sigma_x) \| \mathcal{N}(y; \mu_y, \Sigma_y)) = \int \mathcal{N}(x; \mu_x, \Sigma_x) \log \frac{\mathcal{N}(x; \mu_x, \Sigma_x)}{\mathcal{N}(x; \mu_y, \Sigma_y)} dx. DKL(N(x;μx,Σx)∥N(y;μy,Σy))=∫N(x;μx,Σx)logN(x;μy,Σy)N(x;μx,Σx)dx.

  • N ( x ; μ x , Σ x ) \mathcal{N}(x; \mu_x, \Sigma_x) N(x;μx,Σx):分布 1 的概率密度函数。
  • N ( x ; μ y , Σ y ) \mathcal{N}(x; \mu_y, \Sigma_y) N(x;μy,Σy):分布 2 的概率密度函数。

2. 多元高斯分布的概率密度函数

多元高斯分布的概率密度函数为: N ( x ; μ , Σ ) = 1 ( 2 π ) d ∣ Σ ∣ exp ⁡ ( − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) ) . \mathcal{N}(x; \mu, \Sigma) = \frac{1}{\sqrt{(2\pi)^d |\Sigma|}} \exp\left( -\frac{1}{2} (x - \mu)^T \Sigma^{-1} (x - \mu) \right). N(x;μ,Σ)=(2π)d∣Σ∣ 1exp(−21(x−μ)TΣ−1(x−μ)).

  • d d d:变量 x x x 的维度。
  • ∣ Σ ∣ |\Sigma| ∣Σ∣:协方差矩阵的行列式,表示分布的范围大小。
  • Σ − 1 \Sigma^{-1} Σ−1:协方差矩阵的逆,表示分布的形状。

3. KL 散度公式展开

将高斯分布的公式代入 KL 散度定义: D K L ( N ( x ; μ x , Σ x ) ∥ N ( x ; μ y , Σ y ) ) = ∫ N ( x ; μ x , Σ x ) log ⁡ N ( x ; μ x , Σ x ) N ( x ; μ y , Σ y ) d x . D_{KL}(\mathcal{N}(x; \mu_x, \Sigma_x) \| \mathcal{N}(x; \mu_y, \Sigma_y)) = \int \mathcal{N}(x; \mu_x, \Sigma_x) \log \frac{\mathcal{N}(x; \mu_x, \Sigma_x)}{\mathcal{N}(x; \mu_y, \Sigma_y)} dx. DKL(N(x;μx,Σx)∥N(x;μy,Σy))=∫N(x;μx,Σx)logN(x;μy,Σy)N(x;μx,Σx)dx.

分子和分母的概率密度函数分别为: N ( x ; μ x , Σ x ) = 1 ( 2 π ) d ∣ Σ x ∣ exp ⁡ ( − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) ) , \mathcal{N}(x; \mu_x, \Sigma_x) = \frac{1}{\sqrt{(2\pi)^d |\Sigma_x|}} \exp\left( -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) \right), N(x;μx,Σx)=(2π)d∣Σx∣ 1exp(−21(x−μx)TΣx−1(x−μx)), N ( x ; μ y , Σ y ) = 1 ( 2 π ) d ∣ Σ y ∣ exp ⁡ ( − 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) ) . \mathcal{N}(x; \mu_y, \Sigma_y) = \frac{1}{\sqrt{(2\pi)^d |\Sigma_y|}} \exp\left( -\frac{1}{2} (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) \right). N(x;μy,Σy)=(2π)d∣Σy∣ 1exp(−21(x−μy)TΣy−1(x−μy)).

因此,KL散度的积分为: D K L = ∫ N ( x ; μ x , Σ x ) log ⁡ 1 ( 2 π ) d ∣ Σ x ∣ exp ⁡ ( − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) ) 1 ( 2 π ) d ∣ Σ y ∣ exp ⁡ ( − 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) ) d x . D_{KL} = \int \mathcal{N}(x; \mu_x, \Sigma_x) \log \frac{\frac{1}{\sqrt{(2\pi)^d |\Sigma_x|}} \exp\left( -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) \right)}{\frac{1}{\sqrt{(2\pi)^d |\Sigma_y|}} \exp\left( -\frac{1}{2} (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) \right)} dx. DKL=∫N(x;μx,Σx)log(2π)d∣Σy∣ 1exp(−21(x−μy)TΣy−1(x−μy))(2π)d∣Σx∣ 1exp(−21(x−μx)TΣx−1(x−μx))dx.


4. 对数部分展开

分解对数部分的分子和分母: log ⁡ N ( x ; μ x , Σ x ) N ( x ; μ y , Σ y ) = log ⁡ 1 ( 2 π ) d ∣ Σ x ∣ 1 ( 2 π ) d ∣ Σ y ∣ + log ⁡ exp ⁡ ( − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) ) exp ⁡ ( − 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) ) . \log \frac{\mathcal{N}(x; \mu_x, \Sigma_x)}{\mathcal{N}(x; \mu_y, \Sigma_y)} = \log \frac{\frac{1}{\sqrt{(2\pi)^d |\Sigma_x|}}}{\frac{1}{\sqrt{(2\pi)^d |\Sigma_y|}}} + \log \frac{\exp\left( -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) \right)}{\exp\left( -\frac{1}{2} (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) \right)}. logN(x;μy,Σy)N(x;μx,Σx)=log(2π)d∣Σy∣ 1(2π)d∣Σx∣ 1+logexp(−21(x−μy)TΣy−1(x−μy))exp(−21(x−μx)TΣx−1(x−μx)).

第一部分:常数项 log ⁡ 1 ( 2 π ) d ∣ Σ x ∣ 1 ( 2 π ) d ∣ Σ y ∣ = log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ = 1 2 log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ . \log \frac{\frac{1}{\sqrt{(2\pi)^d |\Sigma_x|}}}{\frac{1}{\sqrt{(2\pi)^d |\Sigma_y|}}} = \log \sqrt{\frac{|\Sigma_y|}{|\Sigma_x|}} = \frac{1}{2} \log \frac{|\Sigma_y|}{|\Sigma_x|}. log(2π)d∣Σy∣ 1(2π)d∣Σx∣ 1=log∣Σx∣∣Σy∣ =21log∣Σx∣∣Σy∣.

第二部分:指数项 log ⁡ exp ⁡ ( − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) ) exp ⁡ ( − 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) ) = − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) + 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) . \log \frac{\exp\left( -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) \right)}{\exp\left( -\frac{1}{2} (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) \right)} = -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) + \frac{1}{2} (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y). logexp(−21(x−μy)TΣy−1(x−μy))exp(−21(x−μx)TΣx−1(x−μx))=−21(x−μx)TΣx−1(x−μx)+21(x−μy)TΣy−1(x−μy).


5. 将对数展开代入 KL 散度公式

KL 散度公式现在可以写为: D K L = ∫ N ( x ; μ x , Σ x ) [ 1 2 log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) + 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) ] d x . D_{KL} = \int \mathcal{N}(x; \mu_x, \Sigma_x) \left[ \frac{1}{2} \log \frac{|\Sigma_y|}{|\Sigma_x|} -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) + \frac{1}{2} (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) \right] dx. DKL=∫N(x;μx,Σx)[21log∣Σx∣∣Σy∣−21(x−μx)TΣx−1(x−μx)+21(x−μy)TΣy−1(x−μy)]dx.


6. 分项计算 KL 散度

第一项:常数项 ∫ N ( x ; μ x , Σ x ) 1 2 log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ d x = 1 2 log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ . \int \mathcal{N}(x; \mu_x, \Sigma_x) \frac{1}{2} \log \frac{|\Sigma_y|}{|\Sigma_x|} dx = \frac{1}{2} \log \frac{|\Sigma_y|}{|\Sigma_x|}. ∫N(x;μx,Σx)21log∣Σx∣∣Σy∣dx=21log∣Σx∣∣Σy∣.

第二项: ( x − μ x ) T Σ x − 1 ( x − μ x ) (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) (x−μx)TΣx−1(x−μx) 的期望 在高斯分布 N ( x ; μ x , Σ x ) \mathcal{N}(x; \mu_x, \Sigma_x) N(x;μx,Σx) 中: E [ ( x − μ x ) T Σ x − 1 ( x − μ x ) ] = d , \mathbb{E}[(x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x)] = d, E[(x−μx)TΣx−1(x−μx)]=d, 其中 d d d 是高斯分布的维度。因此: ∫ N ( x ; μ x , Σ x ) [ − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) ] d x = − 1 2 d . \int \mathcal{N}(x; \mu_x, \Sigma_x) \left[ -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) \right] dx = -\frac{1}{2} d. ∫N(x;μx,Σx)[−21(x−μx)TΣx−1(x−μx)]dx=−21d.

第三项: ( x − μ y ) T Σ y − 1 ( x − μ y ) (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) (x−μy)TΣy−1(x−μy) 的期望 我们将 ( x − μ y ) T Σ y − 1 ( x − μ y ) (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) (x−μy)TΣy−1(x−μy) 展开: ( x − μ y ) T Σ y − 1 ( x − μ y ) = ( x − μ x + μ x − μ y ) T Σ y − 1 ( x − μ x + μ x − μ y ) . (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) = (x - \mu_x + \mu_x - \mu_y)^T \Sigma_y^{-1} (x - \mu_x + \mu_x - \mu_y). (x−μy)TΣy−1(x−μy)=(x−μx+μx−μy)TΣy−1(x−μx+μx−μy).

展开后包含三项:

  1. E [ ( x − μ x ) T Σ y − 1 ( x − μ x ) ] = tr ( Σ y − 1 Σ x ) \mathbb{E}[(x - \mu_x)^T \Sigma_y^{-1} (x - \mu_x)] = \text{tr}(\Sigma_y^{-1} \Sigma_x) E[(x−μx)TΣy−1(x−μx)]=tr(Σy−1Σx)。
  2. 均值差项 ( μ x − μ y ) T Σ y − 1 ( μ x − μ y ) (\mu_x - \mu_y)^T \Sigma_y^{-1} (\mu_x - \mu_y) (μx−μy)TΣy−1(μx−μy)。
  3. 交叉项的期望为 0。

综合起来: ∫ N ( x ; μ x , Σ x ) 1 2 ( x − μ y ) T Σ y − 1 ( x − μ y ) d x = 1 2 [ tr ( Σ y − 1 Σ x ) + ( μ x − μ y ) T Σ y − 1 ( μ x − μ y ) ] . \int \mathcal{N}(x; \mu_x, \Sigma_x) \frac{1}{2} (x - \mu_y)^T \Sigma_y^{-1} (x - \mu_y) dx = \frac{1}{2} \left[ \text{tr}(\Sigma_y^{-1} \Sigma_x) + (\mu_x - \mu_y)^T \Sigma_y^{-1} (\mu_x - \mu_y) \right]. ∫N(x;μx,Σx)21(x−μy)TΣy−1(x−μy)dx=21[tr(Σy−1Σx)+(μx−μy)TΣy−1(μx−μy)].

1. 积分和期望的关系

概率分布的期望定义是: E q ( x ) [ f ( x ) ] = ∫ f ( x ) q ( x ) d x . \mathbb{E}_{q(x)}[f(x)] = \int f(x) q(x) dx. Eq(x)[f(x)]=∫f(x)q(x)dx.

  • f ( x ) f(x) f(x):对随机变量 x x x 的某个函数。
  • q ( x ) q(x) q(x):概率密度函数,表示随机变量 x x x 的分布。

这说明,对于任意函数 f ( x ) f(x) f(x),其加权积分可以写成期望的形式。如果我们知道 q ( x ) q(x) q(x) 是一个高斯分布,那么积分可以简化为高斯分布的性质。

应用到 KL 散度公式中 KL 散度公式包含积分: D K L = ∫ q ( x ) log ⁡ q ( x ) p ( x ) d x . D_{KL} = \int q(x) \log \frac{q(x)}{p(x)} dx. DKL=∫q(x)logp(x)q(x)dx. 其中, q ( x ) q(x) q(x) 是一个高斯分布: q ( x ) = N ( x ; μ x , Σ x ) . q(x) = \mathcal{N}(x; \mu_x, \Sigma_x). q(x)=N(x;μx,Σx).

任何积分项,例如: ∫ q ( x ) ( x − μ x ) T Σ x − 1 ( x − μ x ) d x , \int q(x) (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) dx, ∫q(x)(x−μx)TΣx−1(x−μx)dx, 都可以转换为期望: E q ( x ) [ ( x − μ x ) T Σ x − 1 ( x − μ x ) ] . \mathbb{E}_{q(x)} \left[(x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x)\right]. Eq(x)[(x−μx)TΣx−1(x−μx)].


2. 积分到期望的具体例子

我们来看 KL 散度中第二项: ∫ q ( x ) [ − 1 2 ( x − μ x ) T Σ x − 1 ( x − μ x ) ] d x . \int q(x) \left[ -\frac{1}{2} (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) \right] dx. ∫q(x)[−21(x−μx)TΣx−1(x−μx)]dx.

这可以转化为: − 1 2 E q ( x ) [ ( x − μ x ) T Σ x − 1 ( x − μ x ) ] . -\frac{1}{2} \mathbb{E}_{q(x)} \left[ (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) \right]. −21Eq(x)[(x−μx)TΣx−1(x−μx)].


3. 高斯分布的性质:二次型的期望值

在高斯分布 q ( x ) = N ( x ; μ x , Σ x ) q(x) = \mathcal{N}(x; \mu_x, \Sigma_x) q(x)=N(x;μx,Σx) 中,关于均值 μ x \mu_x μx 的二次型 ( x − μ x ) T A ( x − μ x ) (x - \mu_x)^T A (x - \mu_x) (x−μx)TA(x−μx) 的期望值有以下性质: E [ ( x − μ x ) T A ( x − μ x ) ] = tr ( A Σ x ) , \mathbb{E}[(x - \mu_x)^T A (x - \mu_x)] = \text{tr}(A \Sigma_x), E[(x−μx)TA(x−μx)]=tr(AΣx), 其中 A A A 是一个对称矩阵。

具体计算 对于 A = Σ x − 1 A = \Sigma_x^{-1} A=Σx−1,可以得出: E [ ( x − μ x ) T Σ x − 1 ( x − μ x ) ] = tr ( Σ x − 1 Σ x ) = tr ( I ) = d . \mathbb{E}[(x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x)] = \text{tr}(\Sigma_x^{-1} \Sigma_x) = \text{tr}(I) = d. E[(x−μx)TΣx−1(x−μx)]=tr(Σx−1Σx)=tr(I)=d.

  • d d d 是高斯分布的维度。

因此,积分结果为: ∫ q ( x ) ( x − μ x ) T Σ x − 1 ( x − μ x ) d x = d . \int q(x) (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) dx = d. ∫q(x)(x−μx)TΣx−1(x−μx)dx=d.


4. 结果代入 KL 散度公式

将以上结果代入 KL 散度公式的第二项: − 1 2 ∫ q ( x ) ( x − μ x ) T Σ x − 1 ( x − μ x ) d x = − 1 2 d . -\frac{1}{2} \int q(x) (x - \mu_x)^T \Sigma_x^{-1} (x - \mu_x) dx = -\frac{1}{2} d. −21∫q(x)(x−μx)TΣx−1(x−μx)dx=−21d.


5. 总结

为什么积分可以转化为期望? 因为积分公式: ∫ f ( x ) q ( x ) d x = E q ( x ) [ f ( x ) ] , \int f(x) q(x) dx = \mathbb{E}_{q(x)}[f(x)], ∫f(x)q(x)dx=Eq(x)[f(x)], 本质上就是期望的定义,积分是以 q ( x ) q(x) q(x) 为权重的加权和。

高斯分布的二次型积分 对于高斯分布 q ( x ) = N ( x ; μ x , Σ x ) q(x) = \mathcal{N}(x; \mu_x, \Sigma_x) q(x)=N(x;μx,Σx),积分: ∫ q ( x ) ( x − μ x ) T A ( x − μ x ) d x , \int q(x) (x - \mu_x)^T A (x - \mu_x) dx, ∫q(x)(x−μx)TA(x−μx)dx, 等价于: E [ ( x − μ x ) T A ( x − μ x ) ] = tr ( A Σ x ) . \mathbb{E}[(x - \mu_x)^T A (x - \mu_x)] = \text{tr}(A \Sigma_x). E[(x−μx)TA(x−μx)]=tr(AΣx).


7. 合并结果

将所有项合并: D K L = 1 2 [ log ⁡ ∣ Σ y ∣ ∣ Σ x ∣ − d + tr ( Σ y − 1 Σ x ) + ( μ y − μ x ) T Σ y − 1 ( μ y − μ x ) ] . D_{KL} = \frac{1}{2} \left[ \log \frac{|\Sigma_y|}{|\Sigma_x|} - d + \text{tr}(\Sigma_y^{-1} \Sigma_x) + (\mu_y - \mu_x)^T \Sigma_y^{-1} (\mu_y - \mu_x) \right]. DKL=21[log∣Σx∣∣Σy∣−d+tr(Σy−1Σx)+(μy−μx)TΣy−1(μy−μx)].


总结

每一步都基于 KL 散度定义、密度函数展开和高斯分布的积分性质:

  1. 常数项: 对数项直接得出。
  2. 二次型期望: 高斯分布的性质提供简化。
  3. 均值差异: 展开二次型并结合积分性质。

在我们的情况下,如果我们可以使两个高斯分布的方差完全相等,那么优化KL散度项就简化为最小化两个分布均值之间的差异:

arg ⁡ min ⁡ θ   D K L ( q ( x t − 1 ∣ x t , x 0 )   ∣ ∣   p θ ( x t − 1 ∣ x t ) ) = arg ⁡ min ⁡ θ   D K L ( N ( x t − 1 ; μ q , Σ q ( t ) )   ∣ ∣   N ( x t − 1 ; μ θ , Σ q ( t ) ) ) (87) = arg ⁡ min ⁡ θ   1 2 [ log ⁡ ∣ Σ q ( t ) ∣ ∣ Σ q ( t ) ∣ − d + tr ( Σ q ( t ) − 1 Σ q ( t ) ) + ( μ θ − μ q ) T Σ q ( t ) − 1 ( μ θ − μ q ) ] (88) = arg ⁡ min ⁡ θ   1 2 [ log ⁡ 1 − d + d + ( μ θ − μ q ) T Σ q ( t ) − 1 ( μ θ − μ q ) ] (89) = arg ⁡ min ⁡ θ   1 2 [ ( μ θ − μ q ) T Σ q ( t ) − 1 ( μ θ − μ q ) ] (90) = arg ⁡ min ⁡ θ   1 2 [ ( μ θ − μ q ) T ( σ q 2 ( t ) I ) − 1 ( μ θ − μ q ) ] (91) = arg ⁡ min ⁡ θ   1 2 σ q 2 ( t ) ∥ μ θ − μ q ∥ 2 2 (92) \begin{aligned} \arg \min_\theta \, & D_{KL}(q(x_{t-1}|x_t, x_0) \,||\, p_\theta(x_{t-1}|x_t)) \\ &= \arg \min_\theta \, D_{KL}(\mathcal{N}(x_{t-1}; \mu_q, \Sigma_q(t)) \,||\, \mathcal{N}(x_{t-1}; \mu_\theta, \Sigma_q(t))) &\text{(87)} \\ &= \arg \min_\theta \, \frac{1}{2} \left[ \log \frac{|\Sigma_q(t)|}{|\Sigma_q(t)|} - d + \text{tr}(\Sigma_q(t)^{-1} \Sigma_q(t)) + (\mu_\theta - \mu_q)^T \Sigma_q(t)^{-1} (\mu_\theta - \mu_q) \right] &\text{(88)} \\ &= \arg \min_\theta \, \frac{1}{2} \left[ \log 1 - d + d + (\mu_\theta - \mu_q)^T \Sigma_q(t)^{-1} (\mu_\theta - \mu_q) \right] &\text{(89)} \\ &= \arg \min_\theta \, \frac{1}{2} \left[ (\mu_\theta - \mu_q)^T \Sigma_q(t)^{-1} (\mu_\theta - \mu_q) \right] &\text{(90)} \\ &= \arg \min_\theta \, \frac{1}{2} \left[ (\mu_\theta - \mu_q)^T (\sigma_q^2(t)\mathbf{I})^{-1} (\mu_\theta - \mu_q) \right] &\text{(91)} \\ &= \arg \min_\theta \, \frac{1}{2\sigma_q^2(t)} \left\| \mu_\theta - \mu_q \right\|_2^2 &\text{(92)} \end{aligned} argθminDKL(q(xt−1∣xt,x0)∣∣pθ(xt−1∣xt))=argθminDKL(N(xt−1;μq,Σq(t))∣∣N(xt−1;μθ,Σq(t)))=argθmin21[log∣Σq(t)∣∣Σq(t)∣−d+tr(Σq(t)−1Σq(t))+(μθ−μq)TΣq(t)−1(μθ−μq)]=argθmin21[log1−d+d+(μθ−μq)TΣq(t)−1(μθ−μq)]=argθmin21[(μθ−μq)TΣq(t)−1(μθ−μq)]=argθmin21[(μθ−μq)T(σq2(t)I)−1(μθ−μq)]=argθmin2σq2(t)1∥μθ−μq∥22(87)(88)(89)(90)(91)(92)

tr ( Σ q ( t ) − 1 Σ q ( t ) ) = tr ( I ) = d . \text{tr}(\Sigma_q(t)^{-1} \Sigma_q(t)) = \text{tr}(I) = d. tr(Σq(t)−1Σq(t))=tr(I)=d.

tr ( ⋅ ) \text{tr}(\cdot) tr(⋅) 是 矩阵的迹(trace)的符号。

1. 什么是迹?

一个方阵 A A A 的迹定义为其主对角线元素的和。数学上表示为: tr ( A ) = ∑ i = 1 n A i i , \text{tr}(A) = \sum_{i=1}^n A_{ii}, tr(A)=i=1∑nAii, 其中:

  • A i i A_{ii} Aii 是矩阵 A A A 的第 i i i 行第 i i i 列元素。

  • n n n 是矩阵 A A A 的维度。

    例子: 若矩阵 A A A 为: A = [ 2 1 3 0 4 5 6 7 8 ] , A = \begin{bmatrix} 2 & 1 & 3 \\ 0 & 4 & 5 \\ 6 & 7 & 8 \end{bmatrix}, A= 206147358 , 则 tr ( A ) \text{tr}(A) tr(A) 为主对角线元素之和: tr ( A ) = 2 + 4 + 8 = 14. \text{tr}(A) = 2 + 4 + 8 = 14. tr(A)=2+4+8=14.


2. 迹的性质

  1. 可加性: tr ( A + B ) = tr ( A ) + tr ( B ) . \text{tr}(A + B) = \text{tr}(A) + \text{tr}(B). tr(A+B)=tr(A)+tr(B).

  2. 标量因子: tr ( c A ) = c   tr ( A ) , \text{tr}(cA) = c \, \text{tr}(A), tr(cA)=ctr(A), 其中 c c c 是一个常数。

  3. 迹的循环性质: 对于两个矩阵 A A A 和 B B B,如果 A B AB AB 和 B A BA BA 都定义良好(即矩阵的维度兼容),则: tr ( A B ) = tr ( B A ) . \text{tr}(AB) = \text{tr}(BA). tr(AB)=tr(BA).

    这在推导高斯分布的 KL 散度时非常重要。

  4. 迹与矩阵的特征值: tr ( A ) \text{tr}(A) tr(A) 等于矩阵 A A A 所有特征值的和。


3. 迹在 KL 散度中的作用

在高斯分布的 KL 散度公式中,迹用于衡量两个分布在协方差矩阵上的差异: D K L ( N ( x ; μ q , Σ q ) ∥ N ( x ; μ p , Σ p ) ) = 1 2 [ log ⁡ ∣ Σ p ∣ ∣ Σ q ∣ − d + tr ( Σ p − 1 Σ q ) + ( μ p − μ q ) T Σ p − 1 ( μ p − μ q ) ] . D_{KL}(\mathcal{N}(x; \mu_q, \Sigma_q) \| \mathcal{N}(x; \mu_p, \Sigma_p)) = \frac{1}{2} \left[ \log \frac{|\Sigma_p|}{|\Sigma_q|} - d + \text{tr}(\Sigma_p^{-1} \Sigma_q) + (\mu_p - \mu_q)^T \Sigma_p^{-1} (\mu_p - \mu_q) \right]. DKL(N(x;μq,Σq)∥N(x;μp,Σp))=21[log∣Σq∣∣Σp∣−d+tr(Σp−1Σq)+(μp−μq)TΣp−1(μp−μq)].

  • tr ( Σ p − 1 Σ q ) \text{tr}(\Sigma_p^{-1} \Sigma_q) tr(Σp−1Σq):表示协方差矩阵 Σ q \Sigma_q Σq 和 Σ p \Sigma_p Σp 在空间变换上的关系。
  • 如果 Σ p = Σ q \Sigma_p = \Sigma_q Σp=Σq,则 tr ( Σ p − 1 Σ q ) = tr ( I ) = d \text{tr}(\Sigma_p^{-1} \Sigma_q) = \text{tr}(I) = d tr(Σp−1Σq)=tr(I)=d。

4. 直观理解迹的作用

  1. 空间几何解释:

    • 矩阵的迹反映了该矩阵在空间中拉伸变换的规模。
    • 在 KL 散度中, tr ( Σ p − 1 Σ q ) \text{tr}(\Sigma_p^{-1} \Sigma_q) tr(Σp−1Σq) 衡量了从 Σ p \Sigma_p Σp 到 Σ q \Sigma_q Σq 的变换是否一致。
  2. 在优化中的意义:

    • 当 Σ q ≈ Σ p \Sigma_q \approx \Sigma_p Σq≈Σp 时,迹项会趋近于 d d d,表示两个分布的协方差矩阵非常接近。

这里我们将 μ q \mu_q μq简写为 μ q ( x t , x 0 ) \mu_q(x_t, x_0) μq(xt,x0),将 μ θ \mu_\theta μθ简写为 μ θ ( x t , t ) \mu_\theta(x_t, t) μθ(xt,t)以简化表达。换句话说,我们希望优化一个 μ θ ( x t , t ) \mu_\theta(x_t, t) μθ(xt,t),使其匹配 μ q ( x t , x 0 ) \mu_q(x_t, x_0) μq(xt,x0),而根据我们推导的公式(84), μ q ( x t , x 0 ) \mu_q(x_t, x_0) μq(xt,x0)的形式为:

μ q ( x t , x 0 ) = α t ( 1 − α ˉ t − 1 ) x t + α ˉ t − 1 ( 1 − α t ) x 0 1 − α ˉ t (93) \mu_q(x_t, x_0) = \frac{\sqrt{\alpha_t} (1 - \bar{\alpha}{t-1}) x_t + \sqrt{\bar{\alpha}{t-1}} (1 - \alpha_t) x_0}{1 - \bar{\alpha}_t} \tag{93} μq(xt,x0)=1−αˉtαt (1−αˉt−1)xt+αˉt−1 (1−αt)x0(93)

由于 μ θ ( x t , t ) \mu_\theta(x_t, t) μθ(xt,t)同样以 x t x_t xt为条件,我们可以通过将其设置为以下形式,使其与 μ q ( x t , x 0 ) \mu_q(x_t, x_0) μq(xt,x0)尽可能接近:

μ θ ( x t , t ) = α t ( 1 − α ˉ t − 1 ) x t + α ˉ t − 1 ( 1 − α t ) x ^ θ ( x t , t ) 1 − α ˉ t (94) \mu_\theta(x_t, t) = \frac{\sqrt{\alpha_t} (1 - \bar{\alpha}{t-1}) x_t + \sqrt{\bar{\alpha}{t-1} }(1 - \alpha_t) \hat{x}_\theta(x_t, t)}{1 - \bar{\alpha}_t} \tag{94} μθ(xt,t)=1−αˉtαt (1−αˉt−1)xt+αˉt−1 (1−αt)x^θ(xt,t)(94)

其中, x ^ θ ( x t , t ) \hat{x}_\theta(x_t, t) x^θ(xt,t)由一个神经网络参数化,该神经网络试图从噪声图像 x t x_t xt和时间索引 t t t中预测 x 0 x_0 x0。然后,优化问题简化为:

arg ⁡ min ⁡ θ   D K L ( q ( x t − 1 ∣ x t , x 0 )   ∣ ∣   p θ ( x t − 1 ∣ x t ) ) = arg ⁡ min ⁡ θ   D K L ( N ( x t − 1 ; μ q , Σ q ( t ) )   ∣ ∣   N ( x t − 1 ; μ θ , Σ q ( t ) ) ) (95) = arg ⁡ min ⁡ θ   1 2 σ q 2 ( t ) [ ∥ α t ( 1 − α ˉ t − 1 ) x t + α ˉ t − 1 ( 1 − α t ) x ^ θ ( x t , t ) 1 − α ˉ t − α t ( 1 − α ˉ t − 1 ) x t + α ˉ t − 1 ( 1 − α t ) x 0 1 − α ˉ t ∥ 2 2 ] (96) = arg ⁡ min ⁡ θ   1 2 σ q 2 ( t ) [ ∥ α ˉ t − 1 ( 1 − α t ) x ^ θ ( x t , t ) 1 − α ˉ t − α ˉ t − 1 ( 1 − α t ) x 0 1 − α ˉ t ∥ 2 2 ] (97) = arg ⁡ min ⁡ θ   1 2 σ q 2 ( t ) [ ∥ α ˉ t − 1 ( 1 − α t ) 1 − α ˉ t ( x ^ θ ( x t , t ) − x 0 ) ∥ 2 2 ] (98) = arg ⁡ min ⁡ θ   1 2 σ q 2 ( t ) α ˉ t − 1 ( 1 − α t ) 2 ( 1 − α ˉ t ) 2 [ ∥ x ^ θ ( x t , t ) − x 0 ∥ 2 2 ] (99) \begin{aligned} \arg \min_\theta \, & D_{KL}(q(x_{t-1}|x_t, x_0) \,||\, p_\theta(x_{t-1}|x_t)) \\ &= \arg \min_\theta \, D_{KL}(\mathcal{N}(x_{t-1}; \mu_q, \Sigma_q(t)) \,||\, \mathcal{N}(x_{t-1}; \mu_\theta, \Sigma_q(t))) &\text{(95)} \\ &= \arg \min_\theta \, \frac{1}{2\sigma_q^2(t)} \Bigg[\left\| \frac{\sqrt{\alpha_t}(1 - \bar{\alpha}{t-1}) x_t + \sqrt{\bar{\alpha}{t-1}}(1 - \alpha_t) \hat{x}\theta(x_t, t)}{1 - \bar{\alpha}t} - \frac{\sqrt{\alpha_t}(1 - \bar{\alpha}{t-1}) x_t + \sqrt{\bar{\alpha}{t-1}}(1 - \alpha_t) x_0}{1 - \bar{\alpha}t} \right\|2^2 \Bigg] &\text{(96)} \\ &= \arg \min\theta \, \frac{1}{2\sigma_q^2(t)} \Bigg[ \left\| \frac{\sqrt{\bar{\alpha}{t-1}}(1 - \alpha_t)\hat{x}\theta(x_t, t)}{1 - \bar{\alpha}t}- \frac{\sqrt{\bar{\alpha}{t-1}}(1 - \alpha_t)x_0}{1 - \bar{\alpha}t} \right\|2^2 \Bigg] &\text{(97)} \\ &= \arg \min\theta \, \frac{1}{2\sigma_q^2(t)} \Bigg[ \left\| \frac{\sqrt{\bar{\alpha}{t-1}}(1 - \alpha_t)}{1 - \bar{\alpha}t} \left( \hat{x}\theta(x_t, t) - x_0 \right) \right\|2^2 \Bigg] &\text{(98)} \\ &= \arg \min\theta \, \frac{1}{2\sigma_q^2(t)} \frac{\bar{\alpha}{t-1}(1 - \alpha_t)^2}{(1 - \bar{\alpha}t)^2 } \Big[ \left\| \hat{x}\theta(x_t, t) - x_0 \right\|_2^2 \Big]&\text{(99)} \end{aligned} argθminDKL(q(xt−1∣xt,x0)∣∣pθ(xt−1∣xt))=argθminDKL(N(xt−1;μq,Σq(t))∣∣N(xt−1;μθ,Σq(t)))=argθmin2σq2(t)1[ 1−αˉtαt (1−αˉt−1)xt+αˉt−1 (1−αt)x^θ(xt,t)−1−αˉtαt (1−αˉt−1)xt+αˉt−1 (1−αt)x0 22]=argθmin2σq2(t)1[ 1−αˉtαˉt−1 (1−αt)x^θ(xt,t)−1−αˉtαˉt−1 (1−αt)x0 22]=argθmin2σq2(t)1[ 1−αˉtαˉt−1 (1−αt)(x^θ(xt,t)−x0) 22]=argθmin2σq2(t)1(1−αˉt)2αˉt−1(1−αt)2[∥x^θ(xt,t)−x0∥22](95)(96)(97)(98)(99)

∥ ⋅ ∥ 2 2 是什么? \left\|\cdot\right\|^2_2是什么? ∥⋅∥22是什么?

因此,优化VDM归结为学习一个神经网络,从任意加噪的图像版本中预测原始的真实图像 [5]。此外,最小化我们推导出的ELBO目标(公式58)中关于所有噪声水平的求和项,可以通过最小化关于所有时间步的期望来近似实现:

arg ⁡ min ⁡ θ   E t ∼ U { 2 , T } [ E q ( x t ∣ x 0 ) [ D K L ( q ( x t − 1 ∣ x t , x 0 )   ∣ ∣   p θ ( x t − 1 ∣ x t ) ) ] ] (100) \arg \min_\theta \, \mathbb{E}{t \sim \mathcal{U}\{2, T\}} \left[ \mathbb{E}{q(x_t|x_0)} \left[ D_{KL}(q(x_{t-1}|x_t, x_0) \,||\, p_\theta(x_{t-1}|x_t)) \right] \right] \tag{100} argθminEt∼U{2,T}[Eq(xt∣x0)[DKL(q(xt−1∣xt,x0)∣∣pθ(xt−1∣xt))]](100)

这可以通过对时间步的随机采样进行优化。

相关推荐
feifeikon1 天前
大模型GUI系列论文阅读 DAY4续:《Large Language Model Agent for Fake News Detection》
论文阅读·人工智能·语言模型
墨绿色的摆渡人1 天前
论文阅读的附录(七):Understanding Diffusion Models: A Unified Perspective(二):公式46的推导
论文阅读
MhZhou04121 天前
论文阅读 AlphaFold 2
论文阅读
feifeikon1 天前
图神经网络系列论文阅读DAY1:《Predicting Tweet Engagement with Graph Neural Networks》
论文阅读·人工智能·神经网络
m0_743106462 天前
【论文笔记】MV-DUSt3R+:两秒重建一个3D场景
论文阅读·深度学习·计算机视觉·3d·几何学
m0_743106462 天前
【论文笔记】TranSplat:深度refine的camera-required可泛化稀疏方法
论文阅读·深度学习·计算机视觉·3d·几何学
zenpluck3 天前
GS-SLAM论文阅读--SplatMAP
论文阅读
zenpluck3 天前
GS论文阅读--Hard Gaussian Splatting
论文阅读
好评笔记3 天前
AIGC视频扩散模型新星:Video 版本的SD模型
论文阅读·深度学习·机器学习·计算机视觉·面试·aigc·transformer