你打一句"一只戴着宇航头盔的柯基,赛博朋克风格",几秒钟后 AI 就给你一张像模像样的图。它是怎么做到的?
很多人以为 AI 像画家一样"一笔一笔画"。其实完全不是。 今天主流的文生图(以及后面要讲的文生视频)背后,是一种叫扩散模型(Diffusion Model) 的技术,它的思路反直觉但极其巧妙:
不是"画"出一张图,而是从一团随机雪花点里,一步步把噪声"擦掉",让图慢慢浮现出来。
一个雕塑家的比喻
有句话(据说)出自米开朗琪罗:"雕像本来就在石头里,我只是把多余的部分去掉。"
扩散模型干的正是这件事,只不过它的"石头"是一整块随机噪点:
一团随机雪花点 → 擦掉一点噪声 → 再擦一点 → …… → 一张清晰的图
(什么都不像) (隐约有轮廓) (细节渐现) (柯基宇航员)
它不是无中生有地"创造",而是从混沌里一步步去噪、雕琢,直到一张图浮现。这个"去噪"的过程通常要几十步,每一步只擦掉一点点。
它是怎么学会"去噪"的?
问题来了:AI 凭什么知道该擦掉哪些噪点?这要靠训练,而训练的思路妙就妙在——它先学"怎么把图弄脏",再反过来学"怎么把图擦干净"。
训练分两个方向:
① 前向:故意加噪(出题) 拿一张真实的图(比如一只猫),一点一点往上加随机噪声,加很多步,直到它变成一团纯噪点。这一步很简单,纯粹是"往清水里滴墨"。
② 反向:学习去噪(解题) 真正训练的是这一步:给模型看一张"加了噪的图",让它预测"这一步加上去的噪声长什么样",从而能把它减掉、还原得更清晰一点。
训练时反复做这道题:
这张"半脏的猫图" —— 你说说,刚加上去的噪声是哪些?
模型猜 → 对答案 → 猜错就调整
(在海量图片、海量噪声程度上练亿万次)
练到最后,模型练就了一身本事:给它任何一张带噪的图,它都能估计出"该去掉哪些噪声"。 于是推理时,从一团纯噪点出发,让它反复去噪几十步,一张全新的图就"长"出来了。注意:起点的噪点是随机的,所以每次生成的图都不一样——这也是为什么同一句提示词能出好多张不同的图。
关键一步:怎么让它"听你的话"画
上面讲的还只是"随便去噪生成一张图"。可你要的是特定内容——"戴宇航头盔的柯基",而不是随机一张图。文字提示是怎么起作用的?
这就接上了第 1 篇的核心直觉。做法是:
- 先用一个文本编码器(常用 CLIP,第 3 篇细讲)把你的提示词转成"含义向量";
- 在每一步去噪时,都把这个向量作为"导航"喂给模型,等于每擦一笔都提醒它一句:"别忘了,我们要的是柯基 + 宇航头盔 + 赛博朋克。"
一团噪点
│ ← 每一步去噪都参考"提示词向量"当导航
▼
渐渐往"柯基宇航员"的方向去噪,而不是随便去噪
▼
最终得到一张贴合你描述的图
这就是"文本引导(text conditioning)":文字不直接变成像素,而是像 GPS 一样,全程引导去噪往你要的方向走。理解了这点,很多现象就懂了——提示词写得越具体,"导航"越明确,出图越贴合;写得含糊,模型就在"合理范围"里自由发挥。
几个你会好奇的点
- 为什么有时手指画错、字写成鬼画符? 因为模型学的是"整体上像什么",对"手必须五根指头""文字要拼对"这类精确的局部规则并不天生擅长(虽然新模型在飞速改善)。
- 为什么图越大越慢? 去噪要一步步来,且分辨率越高、每步算的越多。为了提速,很多模型先在一个压缩的"小尺寸语义空间"里去噪,最后再放大成高清图(这类叫"潜在扩散",是效率上的关键优化)。
- 和大模型是一回事吗? 不是。大模型(LLM)靠"预测下一个词"生成文字;扩散模型靠"逐步去噪"生成图像。两套不同的机制,但都用到了 Transformer这类结构,也都靠"含义向量"沟通——所以能拼到一起用。
小结
- 扩散模型画图的思路是去噪:从一团随机噪点出发,一步步擦掉噪声,让图慢慢浮现(像从石头里雕出雕像)。
- 它靠"先学加噪、再学去噪"训练:反复预测"该去掉哪些噪声",练到能从纯噪点还原出真实图像。
- 文字提示的作用是"导航":提示词转成含义向量,在每一步去噪时引导方向——文本不直接变像素,而是全程指路。
- 起点噪声随机,所以每次出图都不同;提示越具体,导航越准。
AI 会"画"了,那反过来——它是怎么"看懂"一张图的?这背后有个让文字和图像"说上同一种语言"的关键模型。下一篇讲视觉理解与 CLIP。