扩散模型(一)数学原理介绍和相关简要面试问答题汇总
Diffusion Model
一、写在前面
虽然参数量规模上,Diffusion貌似还不是很够格,至少不能和任何一款商用大语言模型竞争,但许多人,许多公司会将其纳入“大模型”这一范畴。这是由于:
- 领域归属:Diffusion 属于“AIGC”(人工智能生成内容)领域。
- 模型规模:其模型参数量和训练需求(如硬件资源 GPU、服务器,以及高质量标注数据集的需求)已达到了“大模型”的门槛。
高校实验室的算力和数据储备通常只能进行特定模块的研发(如 AnimateDiff)或能力分析,很难独立复现像 Stable Diffusion 或 Open-Sora 这类的项目。究其原因,是因为 Diffusion 模型的工程成果具有极高的商业变现潜力,速度甚至超过 LLM(大语言模型)。
实操建议:
如果想真正上手 Diffusion 模型,可尝试复现 AudioLDM(Audio Latent Diffusion Model) 并自行训练。原因是音频模型对显存要求较低,相关研究开展时间较长,数据集易采集且详尽。
关于误区:
请不要将“使用过 Stable Diffusion 的 ComfyUI”或对 Diffusion 原理有浅显理解视作掌握了 Diffusion 技术。无论是有丰富 prompt 使用心得,还是了解部分数学概念,甚至参加了“AI 使用课程”,都不足以称为对 Diffusion 的掌握。真正的掌握需要深入理解具体原理和代码,形成务实、严谨且深度的见解。
接下来为 Diffusion 模型相关的原理部分。
二、Diffusion Model数学模型详细推导
1. 发展历程
- Diffusion Model不是某个大牛某天晚上拍脑袋冒出来的想法。在本质上,Diffusion Model是一种对于VAE的改写,原理上,只是将VAE的损失函数改写成了Diffusion Model定义的数学模型中的损失。
- 具体来讲,它改写的是VAE中最重要的损失函数,证据下界ELBO (Evidence Lower Bound),其目标是通过一个潜在空间 (latent space) 对数据的真实分布进行建模,找到近似分布和生成模型:
- 文章作者试图将以上的损失函数改写成了如下函数:
- 其中, 和 为实际时间步 时的真实噪声和模型预测噪声。
2. 数学模型建立
扩散模型是一种概率生成模型,是通过一系列正向逐步加噪破坏原始数据,然后一步步训练模型预测噪声能力,将噪声一步步去除并获得原始数据的模型。其中,该数学模型主要包括两部分,分为正向扩散和逆向扩散。
- 首先,正向扩散过程,即为前向逐步加噪过程,其定义如下:假设原始数据为 ,前向过程通过 次累计加入高斯噪声,获得。前向过程每个时刻 只和 时刻相关即只和上一时刻相关,所以前向过程为马尔可夫过程,满足:
其中,为随时间递增的,在区间 中的超参。同时假设
考虑到:
由于正态分布的可叠加性,可以合并为总方差相同的一个分布,即为 。所以我们可以有:
三、各类 Diffusion 模型原理问题篇(基础常识类问题)
1. DDPM(Denoising Diffusion Probabilistic Models)
算法流程简述:
- 初始化:从纯高斯噪声或带噪图像开始。
- 正向扩散:逐步向数据添加高斯噪声,直到数据完全变为无结构的噪声。
(注:, 递减, 是 到 的累乘结果。)
- 反向去噪:通过神经网络预测并逐步去除噪声,还原为无噪声图像。
- 训练:通过反向传播更新模型参数,最小化噪声预测误差。
- 测试:对新图像应用训练好的模型去噪。
实现条件:
- 马尔可夫链:每一步只依赖于前一步,满足无记忆性。
- 微小变化:噪声添加逐步进行,变化幅度受 控制。
- 高斯噪声:扩散过程模拟为高斯噪声添加。
其他问题:
-
为什么加噪幅度不一致?
前期加噪少以保持数据结构完整性,后期加噪多以加速扩散。 -
DDPM 本质上是预测噪声还是当前分布?
本质上是预测噪声,分布预测只是中间步骤。
2. DDIM(Denoising Diffusion Implicit Models)
DDIM 如何实现加速采样?
- 确定性逆扩散:去除采样过程中的随机性。
- 非马尔可夫跳步采样:允许时间步大幅跳跃,从 直接跳到 。
- 减少步骤:采样过程减少计算量。
- 多样性牺牲:确定性路径限制了输出的多样性。
DDIM 是不是确定性生成?为什么?
是。因为其逆扩散公式去除了随机性,结果固定。
3. Score-Based Diffusion Model
模型理解:
将去噪过程视为沿着分数(概率梯度)前进,即扩散模型是一种导向地图,指示如何攀向概率高峰。
4. 高阶采样方案(如 DPM++)
通过 ODE(常微分方程)建模扩散过程,解析求解步骤以加速采样。
5. 特征编码篇
- CLIP 编码:构建图像-文本对,提升 zero-shot 泛化能力。
- CLIP 的优缺点:
- 优点:特征一致性强,模型无需额外训练。
- 缺点:文本描述简单,图文理解能力弱。
- BLIP/BLIP2 的原理:
- BLIP:多路损失函数和图像分块理解。
- BLIP2:用 Q-Former 连接图像与大语言模型(LLM)。
6. Stable Diffusion 相关
核心优化:
- 使用 VAE 将特征映射到潜空间(Latent Space),降低运算量。
- 使用 U-Net 引导生成过程。
VAE 导致图像模糊的原因:
VAE 编解码是有损过程,可通过优化模型结构减少损失。
Stable Diffusion 和 DALL-E 2 异同:
- DALL-E 2:自回归逐像素生成。
- Stable Diffusion:使用潜空间、交叉注意力机制,更精细可控。
文本/图像条件控制:
通过编码器将文本或图像信息引入扩散模型,使用交叉注意力机制对生成结果施加影响。