← 懂一点

AI 是怎么“画画”的——扩散模型的大白话原理

2026-07-12

本文是专栏《从零看懂多模态 AI》第 2 篇。回到目录与导读。上一篇:什么是多模态

你打一句"一只戴着宇航头盔的柯基,赛博朋克风格",几秒钟后 AI 就给你一张像模像样的图。它是怎么做到的?

很多人以为 AI 像画家一样"一笔一笔画"。其实完全不是。 今天主流的文生图(以及后面要讲的文生视频)背后,是一种叫扩散模型(Diffusion Model) 的技术,它的思路反直觉但极其巧妙:

不是"画"出一张图,而是从一团随机雪花点里,一步步把噪声"擦掉",让图慢慢浮现出来。

一个雕塑家的比喻

有句话(据说)出自米开朗琪罗:"雕像本来就在石头里,我只是把多余的部分去掉。"

扩散模型干的正是这件事,只不过它的"石头"是一整块随机噪点

一团随机雪花点  →  擦掉一点噪声  →  再擦一点  →  ……  →  一张清晰的图
(什么都不像)    (隐约有轮廓)   (细节渐现)        (柯基宇航员)

它不是无中生有地"创造",而是从混沌里一步步去噪、雕琢,直到一张图浮现。这个"去噪"的过程通常要几十步,每一步只擦掉一点点。

它是怎么学会"去噪"的?

问题来了:AI 凭什么知道该擦掉哪些噪点?这要靠训练,而训练的思路妙就妙在——它先学"怎么把图弄脏",再反过来学"怎么把图擦干净"。

训练分两个方向:

① 前向:故意加噪(出题) 拿一张真实的图(比如一只猫),一点一点往上加随机噪声,加很多步,直到它变成一团纯噪点。这一步很简单,纯粹是"往清水里滴墨"。

② 反向:学习去噪(解题) 真正训练的是这一步:给模型看一张"加了噪的图",让它预测"这一步加上去的噪声长什么样",从而能把它减掉、还原得更清晰一点。

训练时反复做这道题:
  这张"半脏的猫图" —— 你说说,刚加上去的噪声是哪些?
  模型猜 → 对答案 → 猜错就调整
  (在海量图片、海量噪声程度上练亿万次)

练到最后,模型练就了一身本事:给它任何一张带噪的图,它都能估计出"该去掉哪些噪声"。 于是推理时,从一团纯噪点出发,让它反复去噪几十步,一张全新的图就"长"出来了。注意:起点的噪点是随机的,所以每次生成的图都不一样——这也是为什么同一句提示词能出好多张不同的图。

关键一步:怎么让它"听你的话"画

上面讲的还只是"随便去噪生成一张图"。可你要的是特定内容——"戴宇航头盔的柯基",而不是随机一张图。文字提示是怎么起作用的?

这就接上了第 1 篇的核心直觉。做法是:

  1. 先用一个文本编码器(常用 CLIP,第 3 篇细讲)把你的提示词转成"含义向量";
  2. 每一步去噪时,都把这个向量作为"导航"喂给模型,等于每擦一笔都提醒它一句:"别忘了,我们要的是柯基 + 宇航头盔 + 赛博朋克。"
一团噪点
   │  ← 每一步去噪都参考"提示词向量"当导航
   ▼
渐渐往"柯基宇航员"的方向去噪,而不是随便去噪
   ▼
最终得到一张贴合你描述的图

这就是"文本引导(text conditioning)":文字不直接变成像素,而是像 GPS 一样,全程引导去噪往你要的方向走。理解了这点,很多现象就懂了——提示词写得越具体,"导航"越明确,出图越贴合;写得含糊,模型就在"合理范围"里自由发挥。

几个你会好奇的点

小结

AI 会"画"了,那反过来——它是怎么"看懂"一张图的?这背后有个让文字和图像"说上同一种语言"的关键模型。下一篇讲视觉理解与 CLIP。

继续阅读:AI 是怎么"看懂"图片的——视觉理解与 CLIP