《生成扩散模型漫谈(十):统一扩散模型(理论篇)》中,笔者自称构建了一个统一的模型框架(Unified Diffusion Model,UDM),它允许更一般的扩散方式和数据类型。那么UDM框架究竟能否实现如期目的呢?本文通过一些具体例子来演示其一般性。

框架回顾 #

首先,UDM通过选择噪声分布$q(\boldsymbol{\varepsilon})$和变换$\boldsymbol{\mathcal{F}}$来构建前向过程
\begin{equation}\boldsymbol{x}_t = \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0,\boldsymbol{\varepsilon}),\quad \boldsymbol{\varepsilon}\sim q(\boldsymbol{\varepsilon})\end{equation}
然后,通过如下的分解来实现反向过程$\boldsymbol{x}_{t-1}\sim p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t)$的采样
\begin{equation}\hat{\boldsymbol{x}}_0\sim p(\boldsymbol{x}_0|\boldsymbol{x}_t)\quad \& \quad \boldsymbol{x}_{t-1}\sim p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t, \boldsymbol{x}_0=\hat{\boldsymbol{x}}_0)\end{equation}
其中$p(\boldsymbol{x}_0|\boldsymbol{x}_t)$就是用$\boldsymbol{x}_t$预估$\boldsymbol{x}_0$的概率,一般用简单分布$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$来近似建模,训练目标基本上就是$-\log q(\boldsymbol{x}_0|\boldsymbol{x}_t)$或其简单变体。当$\boldsymbol{x}_0$是连续型数据时,$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$一般就取条件正态分布;当$\boldsymbol{x}_0$是离散型数据时,$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$可以选择自回归模型或者非自回归模型。

至于$p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t, \boldsymbol{x}_0)$的最基准的选择就是
\begin{equation}p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t, \boldsymbol{x}_0) = p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_0)\quad\Leftrightarrow\quad \boldsymbol{x}_{t-1}=\boldsymbol{\mathcal{F}}_{t-1}(\boldsymbol{x}_0,\boldsymbol{\varepsilon})\end{equation}
从这个基准出发,在不同的条件下可以得到不同的优化结果。当$\boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0,\boldsymbol{\varepsilon})$关于$\boldsymbol{\varepsilon}$是可逆的,那么可以解出$\boldsymbol{\varepsilon} = \boldsymbol{\mathcal{F}}_t^{-1}(\boldsymbol{x}_0,\boldsymbol{x}_t)$,然后得到更好的确定性采样方式
\begin{equation}\boldsymbol{x}_{t-1} = \boldsymbol{\mathcal{F}}_{t-1}(\boldsymbol{x}_0,\boldsymbol{\mathcal{F}}_t^{-1}(\boldsymbol{x}_0,\boldsymbol{x}_t))\end{equation}
更进一步,如果$q(\boldsymbol{\varepsilon})$是标准正态分布,那么可以得到
\begin{equation}\quad\boldsymbol{x}_{t-1} = \boldsymbol{\mathcal{F}}_{t-1}(\boldsymbol{x}_0,\sqrt{1 - \tilde{\sigma}_t^2}\boldsymbol{\mathcal{F}}_t^{-1}(\boldsymbol{x}_0,\boldsymbol{x}_t) + \tilde{\sigma}_t \boldsymbol{\varepsilon})\end{equation}

热之扩散 #

现在这一节中,我们证明“热扩散模型”是UDM的一个特例,这里的热扩散(Hot Diffusion)指的是前面介绍的DDPMDDIM等主流的扩散模型,这个称呼出自下面的“冷扩散”论文中。

主流扩散模型处理的是连续型数据,以加性正态噪声来构建前向过程:
\begin{equation}\boldsymbol{x}_t = \bar{\alpha}_t \boldsymbol{x}_0 + \bar{\beta}_t \boldsymbol{\varepsilon},\quad \boldsymbol{\varepsilon}\sim \mathcal{N}(\boldsymbol{0},\boldsymbol{I})\end{equation}
$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$的选择就是正态分布$\mathcal{N}(\boldsymbol{x}_0;\bar{\boldsymbol{\mu}}(\boldsymbol{x}_t),\bar{\sigma}_t^2 \boldsymbol{I})$,一般不将$\bar{\sigma}_t$作为训练参数,所以略去常数项后就有
\begin{equation}-\log q(\boldsymbol{x}_0|\boldsymbol{x}_t) = \frac{1}{2\bar{\sigma}_t^2}\Vert\boldsymbol{x}_0 - \bar{\boldsymbol{\mu}}(\boldsymbol{x}_t)\Vert^2\end{equation}
进一步引入参数化$\bar{\boldsymbol{\mu}}(\boldsymbol{x}_t) = \frac{1}{\bar{\alpha}_t}\left(\boldsymbol{x}_t - \bar{\beta}_t \boldsymbol{\epsilon}_{\boldsymbol{\theta}}(\boldsymbol{x}_t, t)\right)$并结合$\boldsymbol{x}_t = \bar{\alpha}_t \boldsymbol{x}_0 + \bar{\beta}_t \boldsymbol{\varepsilon}$得到
\begin{equation}-\log q(\boldsymbol{x}_0|\boldsymbol{x}_t) = \frac{\bar{\beta}_t^2}{2\bar{\sigma}_t^2\bar{\alpha}_t^2}\left\Vert\boldsymbol{\varepsilon} - \boldsymbol{\epsilon}_{\boldsymbol{\theta}}(\bar{\alpha}_t \boldsymbol{x}_0 + \bar{\beta}_t \boldsymbol{\varepsilon}, t)\right\Vert^2\end{equation}
实验显示略去前面的系数后效果更好,所以最终训练目标一般是$\Vert\boldsymbol{\varepsilon} - \boldsymbol{\epsilon}_{\boldsymbol{\theta}}(\bar{\alpha}_t \boldsymbol{x}_0 + \bar{\beta}_t \boldsymbol{\varepsilon}, t)\Vert^2$。至于采样过程中$\bar{\sigma}_t$的选择,可以参考《生成扩散模型漫谈(七):最优扩散方差估计(上)》《生成扩散模型漫谈(八):最优扩散方差估计(下)》来进行。

最后,关于$p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t, \boldsymbol{x}_0)$我们有
\begin{equation}\begin{aligned}\boldsymbol{x}_{t-1} =&\, \bar{\alpha}_{t-1} \boldsymbol{x}_0 + \bar{\beta}_{t-1} \boldsymbol{\varepsilon}\\
\sim&\, \bar{\alpha}_{t-1} \boldsymbol{x}_0 + \sqrt{\bar{\beta}_{t-1}^2 - \sigma_t^2}\boldsymbol{\varepsilon}_1 + \sigma_t\boldsymbol{\varepsilon}_2\end{aligned}
\,\,,\quad \boldsymbol{\varepsilon},\boldsymbol{\varepsilon}_1,\boldsymbol{\varepsilon}_2\sim \mathcal{N}(\boldsymbol{0},\boldsymbol{I})\end{equation}
从$\boldsymbol{x}_t = \bar{\alpha}_t \boldsymbol{x}_0 + \bar{\beta}_t \boldsymbol{\varepsilon}$解得$\boldsymbol{\varepsilon} = \left.(\boldsymbol{x}_t - \bar{\alpha}_t \boldsymbol{x}_0)\right/ \bar{\beta}_t$,替换掉$\boldsymbol{\varepsilon}_1$,最终可以得到一般的$p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t, \boldsymbol{x}_0)$为
\begin{equation}\boldsymbol{x}_{t-1} = \bar{\alpha}_{t-1} \boldsymbol{x}_0 + \sqrt{\bar{\beta}_{t-1}^2 - \sigma_t^2}\frac{\boldsymbol{x}_t - \bar{\alpha}_t \boldsymbol{x}_0}{\bar{\beta}_t} + \sigma_t\boldsymbol{\varepsilon},\quad\boldsymbol{\varepsilon}\sim \mathcal{N}(\boldsymbol{0},\boldsymbol{I})\end{equation}
而$\hat{\boldsymbol{x}}_0\sim p(\boldsymbol{x}_0|\boldsymbol{x}_t)$意味着
\begin{equation}\hat{\boldsymbol{x}}_0 = \bar{\boldsymbol{\mu}}(\boldsymbol{x}_t) + \bar{\sigma}_t \boldsymbol{\varepsilon} = \frac{1}{\bar{\alpha}_t}\left(\boldsymbol{x}_t - \bar{\beta}_t \boldsymbol{\epsilon}_{\boldsymbol{\theta}}(\boldsymbol{x}_t, t)\right) + \bar{\sigma}_t \boldsymbol{\varepsilon}\end{equation}
上面两式结合,就是最一般的主流扩散模型框架的反向过程,其中DDPM取了$\bar{\sigma}_t=0,\sigma_t = \frac{\bar{\beta}_{t-1}\beta_t}{\bar{\beta}_t}$,DDIM则取了$\bar{\sigma}_t=0,\sigma_t = 0$,而Analytical-DPM则重新估计了最优的非零的$\bar{\sigma}_t$。

冷之扩散 #

接下来,我们证明《Cold Diffusion: Inverting Arbitrary Image Transforms Without Noise》所介绍的“冷扩散(Cold Diffusion)”也是UDM的一个特例。Cold Diffusion处理的也是连续型数据,从论文标题可以看出,它着重于使用任意(无噪声的)变换来构建前向过程,据笔者所知,这是第一篇尝试一般前向过程的论文,UDM在构建过程中,受到了它的颇多启发,在此对原作者表示感谢。

Cold Diffusion通过确定性的变换$\boldsymbol{x}_t = \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0)$构建前向过程,为了方便后面的分析,我们引入更一般的前向过程
\begin{equation}\boldsymbol{x}_t = \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0) + \sigma \boldsymbol{\varepsilon},\quad \boldsymbol{\varepsilon}\sim q(\boldsymbol{\varepsilon})\end{equation}
这里的变换$\boldsymbol{\mathcal{F}}$可以是对原始数据的任意破坏方式,对于图像来说有模糊、遮掩、池化等,如果需要确定性的变换,事后让$\sigma\to 0$即可。

接着,$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$的选择为$l_1$范数为度量的正态分布,即
\begin{equation}q(\boldsymbol{x}_0|\boldsymbol{x}_t) = \frac{1}{Z(\tau)}\int e^{-\left.\Vert\boldsymbol{x}_0 - \boldsymbol{\mathcal{G}}_t(\boldsymbol{x}_t)\Vert_1\right/\tau}d\boldsymbol{x}_0\end{equation}
其中$Z(\tau)$是对应的归一化因子。取$\tau$为固定值,那么除去常数项后有$-\log q(\boldsymbol{x}_0|\boldsymbol{x}_t)\propto\Vert\boldsymbol{x}_0 - \boldsymbol{\mathcal{G}}_t(\boldsymbol{x}_t)\Vert_1$,结合$\boldsymbol{x}_t = \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0)$,得到训练目标为最小化
\begin{equation}\Vert\boldsymbol{x}_0 - \boldsymbol{\mathcal{G}}_t(\boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0))\Vert_1\end{equation}

在反向过程中,Cold Diffusion直接忽略了$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$的方差(即让$\tau\to 0$),这样得到$\hat{\boldsymbol{x}}_0 = \boldsymbol{\mathcal{G}}_t(\boldsymbol{x}_t)$。如果$p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t, \boldsymbol{x}_0)$直接取基准选择$p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_0)$,即$\boldsymbol{x}_{t-1} = \boldsymbol{\mathcal{F}}_{t-1}(\boldsymbol{x}_0) + \sigma \boldsymbol{\varepsilon}$,那么代入$\hat{\boldsymbol{x}}_0$并取$\sigma\to 0$的极限后就得到
\begin{equation}\hat{\boldsymbol{x}}_0=\boldsymbol{\mathcal{G}}_t(\boldsymbol{x}_t),\quad \boldsymbol{x}_{t-1} = \boldsymbol{\mathcal{F}}_{t-1}(\hat{\boldsymbol{x}}_0)\end{equation}
这就是原论文的“Naive Sampling”。而如果从$\boldsymbol{x}_t = \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0) + \sigma \boldsymbol{\varepsilon}$解出$\boldsymbol{\varepsilon} = \left.(\boldsymbol{x}_t - \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0))\right/\sigma$后,代入$\boldsymbol{x}_{t-1} = \boldsymbol{\mathcal{F}}_{t-1}(\boldsymbol{x}_0) + \sigma \boldsymbol{\varepsilon}$中就得到
\begin{equation}\hat{\boldsymbol{x}}_0=\boldsymbol{\mathcal{G}}_t(\boldsymbol{x}_t),\quad \boldsymbol{x}_{t-1} = \boldsymbol{x}_t + \boldsymbol{\mathcal{F}}_{t-1}(\hat{\boldsymbol{x}}_0) - \boldsymbol{\mathcal{F}}_t(\hat{\boldsymbol{x}}_0)\end{equation}
这就是原论文的“Improved Sampling”。

总的来说,Cold Diffusion首次成功实现了一般变换的前向过程的实现,但由于它过于强调“Without Noise”,所以它理论上有着无法弥补的缺陷。比如,对于$w\times w\times 3$的图片数据,Cold Diffusion在用模糊操作实现前向过程时,最终结果就相当于一个$3$维向量,而Cold Diffusion的反向过程也是确定性的,所以就是说Cold Diffusion通过一个确定性的变换,将$3w^2$维的图片变成了$3$维,然后又通过确定性的变换,将$3$维重建为$3w^2$维的图片,其中间过程必然有着严重的信息损失的,这必然会限制重建的清晰度,从而也限制了生成的清晰度。

要解决这个问题,就不能在前向或者反向过程中拒绝噪声的存在。因为噪声意味着不确定性,不确定性意味着“一对多”,“一对多”意味着允许“多对一”的前向过程,即允许信息损失的出现。事实上,Cold Diffusion本身就已经意识到$3$维的向量难以生成$3w^2$维的完整数据这个事实了,它在生成过程中,事实上还往这个$3$维向量加入了$3w^2$维的轻微随机噪声,实验显示这个操作提高了生成效果。而这个操作大致上就相当于$\sigma > 0$的前向过程了。

编辑模型 #

以上两个例子处理的都是连续型数据,而我们说过,UDM原则上不限定数据类型,这一节我们介绍一个离散型的例子,它显示基于编辑操作的文本生成模型,本质上也可以看成UDM的特例。

简单起见,我们考虑长度为$l$的定长句子生成,比如五言律诗、七言绝句等,变长句子不是不可以,而是细节上稍微复杂些。然后,我们将前向过程$\boldsymbol{x}_t = \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0,\boldsymbol{\varepsilon})$定义为“随机替换”,即

随机选句子中的$t$个token随机替换为别的token

其中$t\leq l$时,当$t=l$时,此时$\boldsymbol{x}_t$就是$l$个完全随机组合的token。

此时$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$就是用随机替换后的序列来预测原序列的模型,用自回归/非自回归模型均可,损失函数用交叉熵。注意此时$\boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0,\boldsymbol{\varepsilon})$关于噪声必然是不可逆的(即给定$\boldsymbol{x}_0$和$\boldsymbol{x}_t$,从$\boldsymbol{x}_0$变到$\boldsymbol{x}_t$的方式不止有一种),因此我们只能用基准选择$p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_t, \boldsymbol{x}_0)=p(\boldsymbol{x}_{t-1}|\boldsymbol{x}_0)$,这意味着生成过程是:

1、随机选$l$个token作为初始的$\boldsymbol{x}_l$;

2、从$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$预测$\hat{\boldsymbol{x}}_0$;

3、随机选$\hat{\boldsymbol{x}}_0$的$t-1$个token随机替换为别的token,作为$\boldsymbol{x}_{t-1}$;

4、反复执行2、3步,直到得出最终的$\boldsymbol{x}_0$。

但是,这样的算法效果不会很好,因为第2步的预估成果往往会被第3步的随机替换“毁”掉不少,有点“一夜回到解放前”的感觉,要想提高效果,就必须要用更好的采样方案,这要求$\boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0,\boldsymbol{\varepsilon})$关于噪声可逆,也就是从给定的$\boldsymbol{x}_0$和$\boldsymbol{x}_t$可以看出变换方式是怎样的。为此,我们规定前向过程为:

随机选句子中的$t$个token随机替换为不同的token

它跟原来的区别是随机替换的过程中,原来的token必须替换为原来不一样的token,如果不做这个选择,则有可能采样到一样的token。做了这个限制后,我们可以直接对比$\boldsymbol{x}_0$和$\boldsymbol{x}_t$的差异,来看出修改了什么,从而将第3步的随机替换,换成由$\hat{\boldsymbol{x}}_0$到$\boldsymbol{x}_t$的替换变换:

1、随机选$l$个token作为初始的$\boldsymbol{x}_l$;

2、从$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$预测$\hat{\boldsymbol{x}}_0$,要求$\hat{\boldsymbol{x}}_0$与$\boldsymbol{x}_t$有$t$个不同token(用非自回归模型比较好实现);

3、随机选$\boldsymbol{x}_t$中与$\hat{\boldsymbol{x}}_0$不同的token中的一个,替换为$\hat{\boldsymbol{x}}_0$对应位置的token,作为$\boldsymbol{x}_{t-1}$;

4、反复执行2、3步,直到得出最终的$\boldsymbol{x}_0$。

这样一来,每次的预测结果$\hat{\boldsymbol{x}}_0$的有效部分($\hat{\boldsymbol{x}}_0$与$\boldsymbol{x}_t$相同的部分)都得以保留,并且$\boldsymbol{x}_{t-1}$与$\boldsymbol{x}_t$相比只修改了一个token,因此生成过程是渐进式的稳定生成。它跟普通的自回归模型区别则是去掉了从左往右的生成方向限制。

掩码模型 #

如果读者对上述模型还是很模糊,这里笔者再提供一个简单例子辅助理解。同样考虑长度为$l$的定长句子生成,我们将前向过程$\boldsymbol{x}_t = \boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0,\boldsymbol{\varepsilon})$定义为“随机掩码”,即

随机选句子中的$t$个token随机替换为[MASK]

其中$t\leq l$时,当$t=l$时,此时$\boldsymbol{x}_t$就是$l$个[MASK]。

此时$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$就是用带[MASK]的序列来预测原序列的模型,用一般用类似BERT的MLM模型(非自回归模型)来实现,损失函数用交叉熵。基准的生成过程是
生成过程是:

1、以$l$个[MASK]作为初始的$\boldsymbol{x}_l$;

2、从$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$采样$\hat{\boldsymbol{x}}_0$;

3、随机选$\hat{\boldsymbol{x}}_0$的$t-1$个token随机替换为[MASK],作为$\boldsymbol{x}_{t-1}$;

4、反复执行2、3步,直到得出最终的$\boldsymbol{x}_0$。

注意到,此时$\boldsymbol{\mathcal{F}}_t(\boldsymbol{x}_0,\boldsymbol{\varepsilon})$关于噪声是可逆的,即我们完全可以从给定的$\boldsymbol{x}_0$和$\boldsymbol{x}_t$可以看出变换方式是怎样的(即哪些token被替换为了[MASK])。因此可以构造改进版生成过程

1、以$l$个[MASK]作为初始的$\boldsymbol{x}_l$;

2、从$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$采样$\hat{\boldsymbol{x}}_0$,注意只需采样那些原来是[MASK]的token,原来非[MASK]的不做改变;

3、从原来$\boldsymbol{x}_t$的$t$个[MASK]所在位置中随机选$t-1$个,将$\hat{\boldsymbol{x}}_0$的这些位置的token替换为[MASK],作为$\boldsymbol{x}_{t-1}$;

4、反复执行2、3步,直到得出最终的$\boldsymbol{x}_0$。

当然,其实第2、3步可以合并为更直接的一步:

2 & 3、从$\boldsymbol{x}_t$的$t$个[MASK]所在位置中随机选$1$个,按$q(\boldsymbol{x}_0|\boldsymbol{x}_t)$对应位置的概率采样一个token替换上去,作为$\boldsymbol{x}_{t-1}$;

这跟基于MLM模型的Gibbs采样几乎一致了(参考《【搜出来的文本】⋅(三)基于BERT的文本采样》)。从“编辑模型”和“掩码模型”两个例子我们应该可以大致体会到,很多“渐变式生成”的模型,都可以用UDM框架来重新表述。又或者反过来,我们能想到的任何渐变式生成方式,都可以尝试用UDM框架来构建其概率表述。

编码模型 #

前面我们所讨论的前向过程都是无训练参数的,也就是说都是事先设计好的流程,但这其实也并不是必要的。我们可以将DDPM的扩散过程一般化为
\begin{equation}\boldsymbol{x}_t = \bar{\alpha}_t \boldsymbol{\mathcal{F}}(\boldsymbol{x}_0) + \bar{\beta}_t \boldsymbol{\varepsilon},\quad \boldsymbol{\varepsilon}\sim \mathcal{N}(\boldsymbol{0},\boldsymbol{I})\end{equation}
其中$\boldsymbol{\mathcal{F}}(\boldsymbol{x}_0)$是对$\boldsymbol{x}_0$的编码模型,可以带训练参数。此时训练目标就是
\begin{equation}-\log q(\boldsymbol{x}_0|\boldsymbol{x}_t) = -\log q(\boldsymbol{x}_0|\bar{\alpha}_t\boldsymbol{\mathcal{F}}(\boldsymbol{x}_0) + \bar{\beta}_t \boldsymbol{\varepsilon})\end{equation}
只不过此时$\boldsymbol{\mathcal{F}}$也有训练参数。至于反向过程也是类似的,只不过最后采样到$\hat{\boldsymbol{x}}_0\sim q(\boldsymbol{x}_0|\boldsymbol{x}_1)$就直接返回$\hat{\boldsymbol{x}}_0$了。特别地,由于多了一个编码模型$\boldsymbol{\mathcal{F}}$,所以输入$\boldsymbol{x}_0$既可以是离散型数据,也可以是连续型数据,它提供了类似VAE的将数据分布编码到隐变量的正态分布的一种方法。

文章小结 #

本文主要应用上一篇文章所构建的统一扩散模型框架(Unified Diffusion Model,UDM)来推导几个具体的例子,包括主流的扩散模型、Cold Diffusion、文本编辑生成、编码模型等。

转载到请包括本文地址:https://kexue.fm/archives/9271

更详细的转载事宜请参考:《科学空间FAQ》

如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。

如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!

如果您需要引用本文,请参考:

苏剑林. (Sep. 21, 2022). 《生成扩散模型漫谈(十一):统一扩散模型(应用篇) 》[Blog post]. Retrieved from https://kexue.fm/archives/9271

@online{kexuefm-9271,
        title={生成扩散模型漫谈(十一):统一扩散模型(应用篇)},
        author={苏剑林},
        year={2022},
        month={Sep},
        url={\url{https://kexue.fm/archives/9271}},
}