打赏

扩散模型中的后验分布方差推导

扩散模型(Diffusion Models)中的后验分布通常涉及对潜在变量的条件分布进行推导。以下是推导扩散模型中后验分布方差的详细步骤。我们假设扩散过程是逐步添加噪声的过程,每一步根据高斯分布进行采样。扩散模型基于概率扩散过程,它将数据从原始分布逐步转换为噪声分布,然后再通过逆向过程从噪声恢复出原始数据。这个过程涉及到两个关键的参数:噪声比例$\beta_{t}$和数据保留比例$\alpha_{t}$

背景

扩散模型通常定义一个正向过程,将数据样本 $x_{0}$ 扩散成噪声变量 $x_{T}$,过程为逐步添加高斯噪声。反向过程则旨在从噪声变量逐步恢复原始数据。在反向过程中,我们需要推导后验分布 $q(x_{t-1}|x_t,x_0)$ 以及它的方差。

正向扩散过程:

正向过程逐步对样本 $x_{0}$ 添加噪声:

$$q(x_t|x_{t-1})=\mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI)$$

其中,$\beta_{t}$ 是控制噪声大小的参数,通常称为“噪声调度”。

后验分布:

我们关注后验分布 $q(x_{t-1}|x_t,x_0)$,即在已知 $x_{t}$ 和原始数据 $x_{0}$ 时,如何推断 $x_{t-1}$。这个分布可以通过贝叶斯公式进行推导:

$$q(x_{t-1}|x_t,x_0)\propto q(x_t|x_{t-1})q(x_{t-1}|x_0)$$

多条件贝叶斯定理:

贝叶斯公式实际上可以扩展到多个条件的情况。在扩散模型的推导中,我们引入了第三个变量 $x_{0}$,即模型的初始状态。我们感兴趣的是如何从当前时刻的状态 $x_{t}$ 和初始状态$x_{0}$ 中推断上一时刻的状态 $x_{t-1}$。这就涉及到多条件的情况。

对于多个条件,我们可以写成条件概率形式:

$$P(A|B,C)=\frac{P(B|A,C)P(A|C)}{P(B|C)}$$

这个公式说明,在已知 C 的条件下推断 A 的概率。这与贝叶斯定理的标准形式一致,只是引入了额外的条件项 C

扩散模型中的多条件推导

在扩散模型中,我们关心的是如何从 $x_{t}$ 和 $x_{0}$ 推断 $x_{t-1}$。所以,我们应用贝叶斯定理如下:

$$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(x_{t-1}|x_t,x_0)$:这就是我们需要计算的后验分布,即在已知当前状态 $x_{t}$ 和初始状态 $x_{0}$ 的情况下,推断上一时刻 $x_{t-1}$ 的概率。
  • $q(x_t|x_{t-1},x_0)$:这是从 $x_{t-1}$ 生成 $x_{t}$ 的条件概率。在扩散模型中,由于过程是马尔可夫链,$x_{t}$ 只依赖于 $x_{t-1}$,与 $x_{0}$ 条件独立。因此,这个概率可以简化为:

   $$q(x_t|x_{t-1},x_0)=q(x_t|x_{t-1})$$

   即当前时刻的状态  $x_{t}$ 只依赖于上一时刻的状态  $x_{t-1}$

  • $q(x_{t-1}|x_0)$:这是上一时刻  $x_{t-1}$ 在已知初始状态  $x_{0}$ 的条件概率。这是正向扩散过程中产生的分布,描述了从  $x_{0}$ 扩散到中间状态  $x_{t-1}$ 的概率。
  • $q(x_t|x_0)$:这是边缘分布,用来归一化后验分布,确保总概率为 1。它表示在已知 $x_{0}$ 的条件下,当前时刻 $x_{t}$ 的概率。它的计算方式为:

  $$q(x_t|x_0)=\int q(x_t|x_{t-1})q(x_{t-1}|x_0)dx_{t-1}$$

  但因为我们通常只关心后验分布的相对大小,分母部分 $q(x_t|x_0)$ 可以视作常数,从而忽略。

扩散模型中的三个条件项

通过上述推导,我们可以看到贝叶斯公式从两个条件项过渡到三个条件项的原因是:

  • $q(x_{t-1}|x_t,x_0)$ 是我们需要的后验分布。
  • $q(x_t|x_{t-1})$ 是正向扩散的转移概率,表示从 $x_{t-1}$ 到 $x_{t}$的条件概率。
  • $q(x_{t-1}|x_0)$ 是先验分布,表示从初始状态 $x_{0}$到 $x_{t-1}$ 的概率。

这个公式反映了通过初始状态 $x_{0}$ 和当前状态 $x_{t}$,来推断上一时刻 $x_{t-1}$ 的概率。

后验分布通过贝叶斯公式推导的全部步骤

后验分布形式为:

$$q(x_{t-1}|x_t,x_0)\propto q(x_t|x_{t-1})q(x_{t-1}|x_0)$$

  • $q(x_t|x_{t-1})$ 是正向扩散过程的条件分布(从$x_{t-1}$ 到 $x_{t}$ 的转移分布),形式为:

    $$q(x_t|x_{t-1})=\mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI)$$

    这里 $\beta_{t}$ 是时间步 t 的噪声强度。

  • $q(x_{t-1}|x_0)$ 是先验分布,即在给定初始数据 $x_{0}$ 的情况下,计算 $x_{t-1}$ 的分布,形式为:

    $q(x_{t-1}|x_0)=\mathcal{N}(x_{t-1};\sqrt{\bar{\alpha}_{t-1}}x_0,(1-\bar{\alpha}_{t-1})I)$

    其中,$\bar{\alpha}_{t-1}=\prod_{s=1}^{t-1}(1-\beta_s)$ 是正向过程中前 t−1 个时间步的系数。

对于高斯分布 $q(x_{t-1}|x_0)$ 和 $q(x_t|x_{t-1})$,我们可以使用高斯分布的乘法规则。高斯分布的乘积仍然是高斯分布,其均值和方差可以通过以下方式推导出来。

后验分布均值公式的推导过程

首先,写出两个正态分布:

$q(x_t|x_{t-1})$ 的形式

$$q(x_t|x_{t-1})=\mathcal{N}(x_t;\sqrt{1-\beta_t}x_{t-1},\beta_tI)$$

其均值为 $\sqrt{1-\beta_{t}}x_{t-1}$,方差为 $\beta_{t}I$。

$q(x_{t-1}|x_0)$ 的形式

$$q(x_{t-1}|x_0)=\mathcal{N}(x_{t-1};\sqrt{\bar{\alpha}_{t-1}}x_0,(1-\bar{\alpha}_{t-1})I)$$

其均值为 $\sqrt{\bar{\alpha}_{t-1}}x_{0}$,方差为 $(1-\bar{\alpha}_{t-1})I$。

根据高斯分布的乘法规则,如果两个分布 $p(x)=\mathcal{N}(x;\mu_1,\Sigma_1)$ 和 $q(x)=\mathcal{N}(x;\mu_2,\Sigma_2)$,它们的乘积 $r(x)$ 也是高斯分布,其均值 $\mu $ 和协方差 $\Sigma $ 可以通过以下公式得到:

$$\Sigma=\left(\Sigma_1^{-1}+\Sigma_2^{-1}\right)^{-1}$$

$$\mu=\Sigma\left(\Sigma_1^{-1}\mu_1+\Sigma_2^{-1}\mu_2\right)$$

现在将公式应用于$q(x_t|x_{t-1})$ 和 $q(x_{t-1}|x_0)$:

$q(x_t|x_{t-1})$ 的均值为 $\sqrt{1-\beta_t}x_{t-1}$,方差为 $\beta_{t}I$,因此协方差的逆为:

$$\Sigma_1^{-1}=\frac{1}{\beta_t}I$$

$q(x_{t-1}|x_0)$ 的均值为 $\sqrt{\bar{\alpha}_{t-1}}x_{0}$,方差为 $(1-\bar{\alpha}_{t-1})I$,因此协方差的逆为:

$$\Sigma_2^{-1}=\frac1{1-\bar{\alpha}_{t-1}}I$$

求均值 $\mu(x_t,x_0)$:

根据公式:

$$\mu=\Sigma\left(\Sigma_1^{-1}\mu_1+\Sigma_2^{-1}\mu_2\right)$$

首先,计算权重:

$$\Sigma_1^{-1}\mu_1=\frac{1}{\beta_t}\cdot x_t$$

$$\Sigma_{2}^{-1}\mu_{2}=\frac1{1-\bar{\alpha}_{t-1}}\cdot\sqrt{\bar{\alpha}_{t-1}}x_{0}$$

然后将它们加在一起:

$$\Sigma_1^{-1}\mu_1+\Sigma_2^{-1}\mu_2=\frac{x_t}{\beta_t}+\frac{\sqrt{\bar{\alpha}_{t-1}}x_0}{1-\bar{\alpha}_{t-1}}$$

再计算协方差:

$$\Sigma=\left(\frac{1}{\beta_t}+\frac{1}{1-\bar{\alpha}_{t-1}}\right)^{-1}=\frac{\beta_t(1-\bar{\alpha}_{t-1})}{\beta_t+(1-\bar{\alpha}_{t-1})}$$

最后,均值$\mu(x_t,x_0)$为:

$$\mu(x_t,x_0)=\Sigma\left(\frac{x_t}{\beta_t}+\frac{\sqrt{\bar{\alpha}_{t-1}}x_0}{1-\bar{\alpha}_{t-1}}\right)$$

经过化简,可以得到均值的最终形式:

$$\mu(x_t,x_0)=\frac{\sqrt{\bar{\alpha}_{t-1}}\beta_tx_0+(1-\bar{\alpha}_{t-1})\sqrt{1-\beta_t}x_t}{\beta_t+(1-\bar{\alpha}_{t-1})}$$

后验分布方差公式的推导过程

后验分布的方差由前面推导的 $\Sigma $ 给出:

$$\Sigma=\left(\Sigma_1^{-1}+\Sigma_2^{-1}\right)^{-1}$$

代入协方差的逆:

$$\Sigma=\left(\frac{1}{\beta_t}+\frac{1}{1-\bar{\alpha}_{t-1}}\right)^{-1}$$

化简后得到:

$$\Sigma=\frac{\beta_t(1-\bar\alpha_{t-1})}{\beta_t+(1-\bar\alpha_{t-1})}$$

这就是后验分布的方差。

总结

使用贝叶斯公式将 $q(x_{t-1}|x_t,x_0)$ 分解为 $q(x_t|x_{t-1})$ 和 $q(x_{t-1}|x_{0})$ 的乘积。

后验分布的均值通过结合两个高斯分布的均值计算,最终得到:

$$\mu(x_t,x_0)=\frac{\sqrt{\bar{\alpha}_{t-1}}\beta_tx_0+(1-\bar{\alpha}_{t-1})\sqrt{1-\beta_t}x_t}{\beta_t+(1-\bar{\alpha}_{t-1})}$$

后验分布的方差为:

$$\Sigma=\frac{\beta_{t}(1-\bar{\alpha}_{t-1})}{\beta_{t}+(1-\bar{\alpha}_{t-1})}$$


后验方差的推导: 利用上面的公式和高斯分布的性质,可以得到后验分布 $q(\mathbf{x}_{t-1}|\mathbf{x}_{t},\mathbf{x}_{0})$ 也是一个高斯分布:

$$q(\mathbf{x}_{t-1}|\mathbf{x}_t,\mathbf{x}_0)=\mathcal{N}(\mathbf{x}_{t-1};\mu_t(\mathbf{x}_t,\mathbf{x}_0),\Sigma_t)$$

其中,均值 $\mu_{t}(\mathbf{x}_{t},\mathbf{x}_{0})$ 和方差 $\Sigma_{t}$ 分别为:

  • 后验均值 $\mu_{t}(\mathbf{x}_{t},\mathbf{x}_{0})$ 是 $x_{0}$ 和 $x_{t}$ 的线性组合,可以通过最小化 KL 散度得到。
  • 后验方差 $\Sigma_{t}$ 为:

$$\Sigma_t=\frac{1-\bar{\alpha}_{t-1}}{1-\bar{\alpha}_t}\beta_t\mathbf{I}$$

其中,$\Sigma_{t}$ 的具体形式表明了后验方差随着时间的演化,即依赖于前向过程中的噪声参数 $\beta_{t}$ 和累积系数


联系:这两种形式在本质上是相通的。第一种形式是直接依赖扩散过程设计的原始公式,第二种则是对高斯分布参数的整合,两者都依赖于 $\beta_{t}$ 和 $\bar{\alpha}_{t}$ 这些相同的参数。

区别:第一种公式展示了时间步之间累积项的直接影响,而第二种公式通过重新组合展示了噪声和累积项的比值关系。第二种形式更加便于在某些计算或分析过程中直接使用,特别是在明确需要计算协方差矩阵的情形下。

简而言之,这两个公式是对同一个现象的不同表示法,它们在不同的上下文中均可以使用。如果你仔细分析这两者的参数,最终你会发现它们是一致的。

 

posted @ 2024-10-06 11:49  不像话  阅读(78)  评论(0编辑  收藏  举报