扩散模型原理

本节定位
生成模型有很多路线:
- GAN 想一次性生成
- VAE 想学潜空间分布
扩散模型则换了一个非常特别的思路:
先把真实样本一步步弄脏,再学会把它一步步洗干净。
这条思路后来成为图像生成里非常重要的一条主线。
学习目标
- 理解为什么图像生成是高难问题
- 理解扩散模型里“加噪”和“去噪”这两个方向
- 看懂一个最小正向加噪示例
- 理解模型训练时真正学的是什么
- 建立对扩散模型整体流程的稳定直觉
历史背景:扩散模型是怎么变成主线的?
扩散模型不是一夜之间变成主流的。对新人来说,最值得知道的是这两个节点:
| 年份 | 论文 | 关键作者 | 它最重要地解决了什么 |
|---|---|---|---|
| 2020 | Denoising Diffusion Probabilistic Models (DDPM) | Ho 等 | 把扩散模型做成高质量、稳定的生成路线 |
| 2022 | High-Resolution Image Synthesis with Latent Diffusion Models | Rombach 等 | 把扩散从像素空间搬到潜空间,大幅降低成本,成为 Stable Diffusion 主线 |
对新人来说,最值得先记的是:
扩散模型之所以重要,不只是“图更好看”,而是它提供了一条比很多 GAN 路线更稳定、可控的生成主线。
而 Latent Diffusion 则进一步解决了:
- 图像空间太大、直接扩散成本太高
所以今天你看到的很多文生图系统,本质上都站在这条历史线上。
先建立一张地图
如果你已经接受了“图像生成不是分类”的前提,这一节最自然的续接就是:
- 前面你知道系统开始从“理解输入”走向“构造输出”
- 这一节开始回答:扩散模型为什么会成为图像生成里特别重要的一条主线
所以这节真正重要的不是一堆公式,而是:
- 先把“加噪 -> 学去噪 -> 从噪声采样”这条生成链路立起来
扩散模型这节最适合新人的理解顺序不是“先背公式”,而是先看清:
所以这节真正想解决的是:
- 为什么扩散模型要先“弄脏”数据
- 训练时模型到底在学什么
- 为什么推理时要从噪声开始
一、为什么图像生成这么难?
1.1 先看分类和生成的差别
做分类时,你是在问:
- 这张图是不是猫?
做生成时,你是在问:
- 生成一张像猫的图。
这两个任务看起来只差一点,但难度完全不在一个量级。
1.2 真正难在哪?
因为图像空间太大了。
随便生成一堆像素,绝大多数都会看起来像噪声,而不是“合理图片”。
所以生成模型真正要学的是:
怎样从几乎无限的像素组合里,落到那些“像真实图像”的区域。
扩散模型的厉害之处就在于,它没有试图一步到位,而是把问题拆成了很多个更小的去噪步骤。
1.3 第一次学扩散模型,最该先抓住什么?
最该先抓住的不是公式,而是这句:
扩散模型不是直接学“怎么画图”,而是在学“怎样一步步把噪声变回结构”。