【AI学习】Lilian Weng:What are Diffusion Models?

读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 慢。

相关推荐
Java的搬运工几秒前
2026 AI Agent 实战:五层架构、MCP 工具调用与十条避坑清单 合集 - AI行业观察
人工智能·架构·智能体·大模型应用·langgraph·aiagent·mcp
知几蜗牛几秒前
Nova Act合成监控:从选择器脚本转向结果断言
人工智能
qyz_hr2 分钟前
央国企人力资源穿透式监管的关键领域、核心机制与数智化路径研究
大数据·人工智能
打工仔折腾 AI4 分钟前
网易UU远程实测:手机控电脑做Python开发和Agent调试的真实体验
人工智能·后端·python·智能手机·性能优化·电脑·ai agent 实战
2601_962381134 分钟前
做城市历史视频时,AI 自动生成变迁动效的实现路径拆解
人工智能·音视频
知几蜗牛5 分钟前
从Holo4理解GUI Agent的坐标离散化、反映射与误差
人工智能
haliu5 分钟前
【FHE】(十三):位级可复现性——4 线程与 8 线程为什么算出不同的结果
人工智能·嵌入式·c·fhe·推理引擎·c11·边缘推理·同态加密推理
Token掘金室6 分钟前
MCP 怎么接大模型?Model Context Protocol 接入教程
人工智能
谢亮_vipxieliang7 分钟前
容器日志收集与管理:从 stdout 规范到 ELK/Loki 落地
运维·网络·人工智能·elk·docker·容器