【小目标】
这一节点回答:AI 画画是怎么做到的?扩散模型的原理是什么?为什么它能生成那么逼真的图片?
关键判断:扩散模型的核心思想很"反直觉"——先把图片变成纯噪声,再学怎么从噪声一步步变回图片。 学会了"去噪",就可以用纯噪声生成全新的图片。
【方法论】
一句话结论:扩散模型 = 先加噪(forward process),再学去噪(reverse process)。 训练好了之后,给一张纯噪声,模型就能一步步去噪,最终生成一张清晰的图片。
扩散模型的核心思想
加噪过程:清晰图片 → 加一点噪声 → 再加一点 → ... → 纯噪声
去噪过程:纯噪声 → 去一点噪 → 再去一点 → ... → 清晰图片
训练就是学习"去噪"的每一步应该怎么做
① 为什么叫"扩散"?
"扩散"来自物理学——比如一滴墨水滴进水里,会慢慢扩散开,最后整杯水都变均匀了(熵增的过程)。
扩散模型借用了这个想法:
- 前向过程(加噪):像墨水扩散一样,一步步给图片加噪声,最后变成纯噪声
- 这个过程是固定的,不需要学习
- 反向过程(去噪):像反扩散一样,从噪声一步步变回清晰图片
- 这个过程需要神经网络来学习
这个想法听起来很简单,但效果出奇的好——现在最好的 AI 绘画模型基本都是扩散模型。
② 训练过程是怎样的?
- 拿一张清晰的训练图片
- 随机选一个"步数"(比如第 50 步)
- 给图片加到第 50 步的噪声
- 让神经网络预测"第 50 步的噪声是什么样的"
- 比较预测的噪声和真实的噪声,调整网络参数
- 重复几百万次……
- 训练的目标很简单:预测噪声——就这一件事
- 但因为每一步的噪声都要预测,所以等于学了"从完全噪声到清晰图片"的整个过程
③ 生成过程是怎样的?
- 生成一张完全随机的噪声图片
- 用模型预测"这一步的噪声"
- 从图片中减去预测的噪声——图片清晰了一点
- 重复第 2、3 步很多次(比如 50 次、100 次)
- 最后得到一张清晰的图片
- 步数越多,质量越高,但速度越慢
- 现在有很多加速技术,可以用很少的步数达到不错的效果
④ 文字怎么控制图片内容?——文生图的原理
你输入"一只戴墨镜的猫",模型怎么知道要生成什么?
这需要文本引导——把文字的语义信息告诉扩散模型:
- 先用一个文本编码器(比如 CLIP)把文字变成"语义向量"
- 在扩散模型去噪的每一步,都把这个语义向量"喂给"模型
- 模型就会朝着"符合文字描述"的方向去噪
- 这叫条件扩散模型——生成过程受文字条件引导
- 如果没有文字条件,就是"无条件生成"——生成随机的图片
⑤ 扩散模型为什么比 GAN 好?
- 训练更稳定:GAN 训练容易"模式崩溃"(生成的都差不多),扩散模型不会
- 效果更好:现在最好的图像生成模型都是扩散的
- 更可控:通过条件引导可以精确控制生成内容
- 缺点:生成速度慢(要一步步去噪)——但加速技术在快速改进
⑥ 扩散模型的几个重要概念
- LoRA:低成本微调扩散模型的技术——不用微调整个模型,只需要加很小的"补丁",就能学会特定风格/人物
- ControlNet:给扩散模型加额外的控制条件(比如线稿、深度图、姿态),让生成更可控
- Inpainting / Outpainting:局部重绘 / 外扩补全
【知识点】
- 扩散模型的核心是"先加噪、学去噪"——学会了去噪,就能从噪声生成图片。
- 前向加噪是固定的,反向去噪才是需要学习的。
- 训练目标很简单:预测噪声——就一件事,但做到极致就很强大。
- 文生图靠文本引导:把文字语义向量喂给扩散模型,让它朝着文字描述的方向生成。
- 扩散模型比 GAN 更稳定、效果更好、更可控——所以现在成了主流。
- 生成是逐步去噪的:步数越多质量越好,但速度越慢。
【名词卡】
| 名词 | 一句话解释 |
|---|---|
| Diffusion Model / 扩散模型 | 通过逐步去噪生成图片的模型,当前 AI 绘画的主流技术 |
| Forward Process / 前向过程 | 给图片逐步加噪声直到变成纯噪声的过程,固定不需要学 |
| Reverse Process / 反向过程 | 从噪声逐步去噪生成清晰图片的过程,需要学习 |
| Text-to-Image / 文生图 | 用文字描述引导扩散模型生成对应图片 |
| CLIP | OpenAI 提出的文本-图像对比模型,常用来给扩散模型做文本引导 |
| LoRA | 低成本微调扩散模型的技术,只加少量参数就能学特定风格 |
| ControlNet | 给扩散模型加额外控制条件(线稿/深度/姿态)的技术 |
| Inpainting / 图像修复 | 局部重绘——把图片的一部分去掉让 AI 补上 |
| Sampling Steps / 采样步数 | 生成时去噪的步数,越多质量越高但越慢 |
| CFG Scale / 引导强度 | 文字对生成的引导强度——越高越贴合文字,但可能不自然 |
易混对比: 前向 vs 反向(一个加噪、一个去噪);CFG 高 vs 低(越贴合文字 vs 越自然多样)
【练一练】
目标: 用"从模糊到清晰"的类比,理解扩散模型的去噪生成过程。
实验: 想象你有一张非常模糊的图片(几乎看不清是什么),你要一步一步把它变清晰。请回答:
- 如果这张模糊图是"第 100 步(最模糊)",清晰图是"第 0 步(最清晰)",扩散模型的生成过程是从第几步到第几步?
- 如果把步数从 100 步减少到 20 步,你觉得生成的图片会怎么样?(质量 / 速度分别怎么变)
- 文字引导(文生图)在这个"从模糊到清晰"的过程中,扮演了什么角色?
- 如果 CFG(引导强度)调得特别高,会怎么样?(提示:文字约束太强了,图片会……)
- LoRA 就像"给模型加个滤镜/风格包"——你觉得这个比喻贴切吗?为什么?
思考题:
- 为什么扩散模型生成图片比 GAN 更稳定?(提示:GAN 是两个网络对抗,扩散是一个网络预测噪声)
- 如果让你设计一个"AI 画画"产品,你会怎么平衡质量和速度?
- 你觉得扩散模型能生成视频吗?原理上和生成图片有什么不一样?