【概念地基-7】扩散模型:AI 画画是怎么做到的

· 分类:概念地基

这一节点回答:AI 画画是怎么做到的

【小目标】

这一节点回答:AI 画画是怎么做到的?扩散模型的原理是什么?为什么它能生成那么逼真的图片?

关键判断:扩散模型的核心思想很"反直觉"——先把图片变成纯噪声,再学怎么从噪声一步步变回图片。 学会了"去噪",就可以用纯噪声生成全新的图片。

【方法论】

一句话结论:扩散模型 = 先加噪(forward process),再学去噪(reverse process)。 训练好了之后,给一张纯噪声,模型就能一步步去噪,最终生成一张清晰的图片。

扩散模型的核心思想
  加噪过程:清晰图片 → 加一点噪声 → 再加一点 → ... → 纯噪声
  去噪过程:纯噪声 → 去一点噪 → 再去一点 → ... → 清晰图片
  
  训练就是学习"去噪"的每一步应该怎么做

① 为什么叫"扩散"?

"扩散"来自物理学——比如一滴墨水滴进水里,会慢慢扩散开,最后整杯水都变均匀了(熵增的过程)。

扩散模型借用了这个想法:

  • 前向过程(加噪):像墨水扩散一样,一步步给图片加噪声,最后变成纯噪声
    • 这个过程是固定的,不需要学习
  • 反向过程(去噪):像反扩散一样,从噪声一步步变回清晰图片
    • 这个过程需要神经网络来学习

这个想法听起来很简单,但效果出奇的好——现在最好的 AI 绘画模型基本都是扩散模型。

② 训练过程是怎样的?

  1. 拿一张清晰的训练图片
  2. 随机选一个"步数"(比如第 50 步)
  3. 给图片加到第 50 步的噪声
  4. 让神经网络预测"第 50 步的噪声是什么样的"
  5. 比较预测的噪声和真实的噪声,调整网络参数
  6. 重复几百万次……
  • 训练的目标很简单:预测噪声——就这一件事
  • 但因为每一步的噪声都要预测,所以等于学了"从完全噪声到清晰图片"的整个过程

③ 生成过程是怎样的?

  1. 生成一张完全随机的噪声图片
  2. 用模型预测"这一步的噪声"
  3. 从图片中减去预测的噪声——图片清晰了一点
  4. 重复第 2、3 步很多次(比如 50 次、100 次)
  5. 最后得到一张清晰的图片
  • 步数越多,质量越高,但速度越慢
  • 现在有很多加速技术,可以用很少的步数达到不错的效果

④ 文字怎么控制图片内容?——文生图的原理

你输入"一只戴墨镜的猫",模型怎么知道要生成什么?

这需要文本引导——把文字的语义信息告诉扩散模型:

  1. 先用一个文本编码器(比如 CLIP)把文字变成"语义向量"
  2. 在扩散模型去噪的每一步,都把这个语义向量"喂给"模型
  3. 模型就会朝着"符合文字描述"的方向去噪
  • 这叫条件扩散模型——生成过程受文字条件引导
  • 如果没有文字条件,就是"无条件生成"——生成随机的图片

⑤ 扩散模型为什么比 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 越自然多样)

【练一练】

目标: 用"从模糊到清晰"的类比,理解扩散模型的去噪生成过程。

实验: 想象你有一张非常模糊的图片(几乎看不清是什么),你要一步一步把它变清晰。请回答:

  1. 如果这张模糊图是"第 100 步(最模糊)",清晰图是"第 0 步(最清晰)",扩散模型的生成过程是从第几步到第几步?
  2. 如果把步数从 100 步减少到 20 步,你觉得生成的图片会怎么样?(质量 / 速度分别怎么变)
  3. 文字引导(文生图)在这个"从模糊到清晰"的过程中,扮演了什么角色?
  4. 如果 CFG(引导强度)调得特别高,会怎么样?(提示:文字约束太强了,图片会……)
  5. LoRA 就像"给模型加个滤镜/风格包"——你觉得这个比喻贴切吗?为什么?

思考题:

  • 为什么扩散模型生成图片比 GAN 更稳定?(提示:GAN 是两个网络对抗,扩散是一个网络预测噪声)
  • 如果让你设计一个"AI 画画"产品,你会怎么平衡质量和速度?
  • 你觉得扩散模型能生成视频吗?原理上和生成图片有什么不一样?

相关文章