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

相关推荐
桥田智能2 分钟前
工博会动态 | 来8.1馆 看桥田如何玩转全场
人工智能·机器人·自动化
斯派的曼5 分钟前
学习C++的第七天!
开发语言·c++·学习
苏格拉没有底1116 分钟前
数据结构——顺序表、链表
c语言·开发语言·数据结构·笔记·学习·算法·链表
Eric.Lee202119 分钟前
数据集-目标检测系列-口罩检测数据集 mask>> DataBall
人工智能·目标检测·计算机视觉·数据集·口罩检测
野生派蒙27 分钟前
IDEA 关闭自动补全功能(最新版本)
java·开发语言·ide·后端·学习·intellij-idea
ChinaZ.AI30 分钟前
ComfyUI 速度更快,显存占用更低的图像反推模型Florence2PromptGen,效果媲美JoyCaption,还支持Flux训练打标
人工智能·stable diffusion·aigc·flux·comfyui·florence
小强在此1 小时前
机器学习【教育领域及其平台搭建】
人工智能·学习·机器学习·团队开发·教育领域·机器
且行且知1 小时前
前端Vue 基础学习1
前端·vue.js·学习
憨憨憨憨憨到不行的程序员1 小时前
【OpenCV】场景中人的识别与前端计数
人工智能·opencv·计算机视觉
剑指~巅峰1 小时前
亲身体验Llama 3.1:开源模型的部署与应用之旅
人工智能·深度学习·opencv·机器学习·计算机视觉·数据挖掘·llama