读OpenAI 的 Lilian Weng博客《What are Diffusion Models?》
文章链接:https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
通过浏览器的在线翻译,直接截图了。翻译的有些问题,但是基本能大概看明白了。
我只是个人的记录,大家如果觉得有益,也可以大概看看:)
以下是文章内容:
到目前为止,我已经写了三种类型的生成模型,GAN、VAE 和基于 Flow 的模型。它们在生成高质量样本方面取得了巨大成功,但每个样本都有自己的一些局限性。由于其对抗性训练性质,GAN 模型以潜在的不稳定训练和世代多样性较低而闻名。VAE 依赖于代理损失。流模型必须使用专门的架构来构建可逆转换。
扩散模型受到非平衡热力学的启发。他们定义了扩散步骤的马尔可夫链,以缓慢地向数据中添加随机噪声,然后学习反转扩散过程以从噪声中构建所需的数据样本。与 VAE 或流动模型不同,扩散模型是通过固定程序学习的,并且潜在变量具有高维数(与原始数据相同)。
图 1.不同类型的生成模型概述
什么是扩散模型?
已经提出了几种基于扩散的生成模型,其下有类似的想法,包括扩散概率模型(Sohl-Dickstein et al., 2015)、噪声调节评分网络(NCSN;Yang & Ermon,2019 年)和去噪扩散概率模型(DDPM;Ho 等人,2020 年)。
前向扩散过程
(翻译校正:步长由方差计划表控制
随着步长t变大,数据样本逐渐失去可分辨的特征。)
与随机梯度 Langevin 动力学的联系
反向扩散过程
(这里不理解,为什么反向也是高斯过程)
值得注意的是,当基于条件x0时,反向条件概率是可处理的:
训练损失的Lt参数化
与噪声调节评分网络 (NCSN) 的连接
(没看懂,这段的具体含义)
参数化β
反向过程方差的参数化
条件生成
在使用条件信息(如 ImageNet 数据集)在图像上训练生成模型时,通常会生成以类标签或一段描述性文本为条件的样本。
分类器引导扩散
无分类器指南
加速扩散模型
潜在变量空间
潜在扩散模型 (LDM;Rombach & Blattmann等人,2022年)在潜在空间而不是像素空间中运行扩散过程,从而降低训练成本并加快推理速度。其动机是图像的大部分位都有助于感知细节,并且在激进压缩后语义和概念构成仍然存在。LDM 通过生成建模学习松散地分解了感知压缩和语义压缩,首先用自动编码器修剪掉像素级冗余,然后在学习到的潜在物上用扩散过程操纵/生成语义概念。
放大生成分辨率和质量
模型架构
扩散模型有两种常见的主干架构选择: U-Net 和 Transformer 。
U-Net (Ronneberger et al. 2015) 由一个下采样堆栈和一个上采样堆栈组成。
Diffusion Transformer(DiT;Peebles & Xie, 2023)的扩散建模对 latent patches进行操作,使用 LDM(潜在扩散模型)的相同设计空间。DiT 具有以下设置:
快速总结
优点: 可处理性和灵活性是生成建模中的两个相互冲突的目标。可处理的模型可以进行分析评估并廉价地拟合数据(例如,通过高斯或拉普拉斯),但它们不能轻易地描述丰富的数据集中的结构。灵活的模型可以拟合数据中的任意结构,但从这些模型中进行评估、训练或采样通常很昂贵。扩散模型在分析上既易于处理又灵活
缺点:扩散模型依赖于扩散步骤的长马尔可夫链来生成样本,因此在时间和计算方面可能非常昂贵。已经提出了新的方法来使该过程更快,但采样仍然比 GAN 慢。