本文整理自 3Blue1Brown 最新发布由 Welch Labs 制作的科普视频《But how do AI images/videos actually work?》,本视频深入浅出地讲解了扩散模型(Diffusion Models)如何从一团随机噪声生成逼真视频,并探讨了它与物理学布朗运动的奇妙联系。从 CLIP 模型的图文理解,到 DDPM/DDIM 的降噪过程,再到分类器引导(Classifier-Free Guidance)的精准控制,带你一步步看懂 AI 创造力的来源。

AI视频生成大揭秘:从一团噪声到高清大片,背后竟是物理学?

你有没有试过,在输入框里敲下一段天马行空的文字,比如“一个宇航员在月球上骑马”,然后敬畏地看着AI在几分钟内为你生成一段栩栩如生的视频?这感觉就像魔法。

近几年来,AI从文本生成视频的能力已经达到了令人惊叹的水平。但这不是魔法,它的核心原理其实与一个我们既熟悉又陌生的领域——物理学,有着千丝万缕的联系。

这一代图像和视频生成模型,其工作核心是一种叫做**扩散(Diffusion)**的过程。奇妙的是,这个过程在数学上,等价于我们观察到的粒子扩散的“布朗运动”,只不过是把时间倒过来放,并且是在一个超高维度的空间里进行的。

从纯粹的噪声,经过50次迭代,最终生成一个清晰的视频

这听起来可能有点玄乎,但它绝不仅仅是一个有趣的巧合。我们能从物理学中获得实实在在的算法,用来生成图像和视频。更重要的是,这个视角能给我们一种绝佳的直觉,帮助我们理解这些模型在实践中到底是如何工作的。

要彻底搞明白这一切,我们需要分三步走:

  1. CLIP模型:先了解AI是如何学会像人一样,同时理解文字和画面的。
  2. 扩散过程:深入探索“从噪声到图像”这一神奇过程背后的物理和数学原理。
  3. 引导生成:看看如何将前两者的能力结合,精确地“驾驶”AI,让它生成我们想要的一切。

第一步:让AI看懂“人话”和“画”——CLIP模型

时间回到2021年,当时OpenAI发布了一个名为CLIP(Contrastive Language–Image Pre-training)的模型。这东西彻底改变了游戏规则。

CLIP其实是两个模型的组合:一个语言模型(处理文字)和一个视觉模型(处理图像)。它们被放在一起,用一种非常聪明的方式进行训练。训练数据是从互联网上抓取的4亿对“图片-描述”组合。

它的核心思想很简单:对于一张图片和它的文字描述,它们在模型处理后生成的“代码”(即向量)应该是相似的。

怎么做到呢?想象一下,我们随机抽取一批图文对,比如:

  • 图1:一只猫,描述1:“一张猫的照片”
  • 图2:一只狗,描述2:“一张狗的照片”
  • 图3:一个男人,描述3:“一个男人的照片”

我们把这三张图扔给图像模型,把三段描述扔给文字模型,会得到三个图像向量和三个文字向量。接下来就是最巧妙的部分了:

模型的目标是,让“配对成功”的向量(比如图1和描述1)在空间中的方向尽可能接近,而让“配对失败”的向量(比如图1和描述2)尽可能远离。这种通过对比来学习的方式,就是CLIP名字中“Contrastive”(对比)的由来。

这个训练过程结束后,我们得到了一个神奇的“共享嵌入空间”(Embedding Space)。在这个空间里,相似的概念会聚集在一起。它的几何结构甚至允许我们做一些匪夷所思的“向量数学”:

  • 拿一张我戴着帽子的照片,用图像模型生成向量A。
  • 再拿一张我没戴帽子的照片,生成向量B。
  • 然后计算 向量A - 向量B,得到一个新的向量C。

你猜这个向量C最接近哪个词的向量?没错,就是“帽子”(hat)!

(我戴着帽子的照片) - (我没戴着帽子的照片) ≈ (“帽子”这个词)

这太惊人了!这意味着CLIP学到的不只是像素,而是纯粹的概念。它把“戴帽子”这个视觉差异,转化成了可以在数学上操作的向量距离。

不过,CLIP本身有一个局限:它只能单向地将图片和文字“编码”成向量,却无法从一个向量“解码”回一张图片。它能理解,但不会创造。

这就为我们的第二步——扩散模型,铺平了道路。

第二步:从混沌中创造秩序——扩散模型的魔力

2020年,在GPT-3论文发布几周后,伯克利的一个团队发表了一篇里程碑式的论文,名为DDPM(Denoising Diffusion Probabilistic Models)。它首次证明,通过扩散过程,可以从纯粹的噪声生成高质量的图像。

扩散模型的基本思路听起来很直观:

  1. 正向过程(加噪):拿一张清晰的图片,一步步往上加噪声,直到它变成一团毫无意义的随机像素。
  2. 反向过程(去噪):训练一个神经网络,学习如何逆转这个过程,把那团噪声一步步还原成清晰的图片。

你可能会想,那模型就是学习如何“一次去掉一小步噪声”吧?比如从第100步的噪声图,预测出第99步的样子。当你需要生成图片时,就从一个随机噪声开始,把模型的输出反复喂给它自己,直到图像变清晰。

听起来合情合理,但事实证明,这种天真的方法效果并不好。现代的扩散模型几乎都不是这么干的。

DDPM论文里的算法揭示了两个让人意外的关键细节:

意外1:生成时也要加噪声! 在生成图像的每一步,模型预测出一个稍微清晰一点的图像后,算法会先给这个新图像再添上一点随机噪声,然后再把它送回模型进行下一步处理。这完全反直觉!为什么给一个正在变清晰的东西添乱,反而能得到更清晰的结果?

我们用Stable Diffusion做一个实验。如果按照标准流程生成一张“沙漠里的树”,结果很棒。但如果我们去掉“生成时加噪”这一步,只会得到一棵又小又糊的悲伤小树。

意外2:模型学习的目标不是“下一步” DDPM的训练方式不是让模型预测前一步的图像,而是直接让它预测从原始清晰图像到当前噪声图像所添加的全部噪声。这就像让模型跳过所有中间步骤,直接猜出“谜底”。这个任务听起来难多了,但它却能让模型学得更快更好。

用物理学直觉来理解

这两个意外的背后,其实有着深刻的数学和物理学道理。我们可以用一个二维的玩具例子来建立直觉。

想象一下,所有“有意义的”图像(比如我们的训练数据)都分布在一个高维空间的特定结构上。为了简化,我们假设这个结构是一个二维的螺旋线,螺旋线上的每个点都代表一张“好”图片。

  • 加噪过程:就是让螺旋线上的一个点开始随机游走(布朗运动),离螺旋线越来越远。
  • 去噪过程:就是让一个在空间中游荡的点,找到回家的路,回到螺旋线上。

模型要学习的,其实是一个遍布整个空间的**“路标”系统(向量场)**,这个系统在任何一个位置,都会指向“回家”(螺旋线)的方向。

现在我们可以理解DDPM的训练方法为什么那么高效了。比起预测随机游走的“上一步”在哪(这个方向很随机,充满了不确定性),直接预测“起点”在哪(即预测总噪声),给模型提供了一个方差更小、更稳定的学习目标。

同时,模型还需要知道当前点离家有多远,也就是噪声有多重。因此,我们会给模型传入一个时间变量 t。当t很大时(噪声重),模型学习一个指向螺旋线大概方向的粗糙路标;当t很小时(噪声轻),它学习一个指向螺旋线精细结构的精准路标。

解开谜团

有了这个“向量场”的直觉,我们就能解开之前的谜团了:

为什么生成时要加噪声? 因为模型学习指向的是所有可能路径的平均值(mean)。如果你只沿着平均方向走,最终会到达所有“好图片”的中心——也就是一张所有图片叠加起来的、模糊不清的“平均图”。那棵悲伤小树就是这么来的。在每一步加入随机噪声,就相当于是在这个平均方向周围进行采样,这能让你探索到数据分布的各个角落,最终落在一个清晰、具体的图片上,而不是那个模糊的平均中心。

如何才能更快?——DDIM的登场 DDPM的随机采样过程需要很多步,计算成本很高。后来,研究者们发现,这个随机过程(由一个随机微分方程SDE描述)在数学上等价于另一个没有随机项的普通微分方程(ODE)

这个发现催生了DDIM(Denoising Diffusion Implicit Models)。DDIM提供了一种全新的、确定性的采样方法。它不需要在生成时添加随机噪声,通过调整步长和方向,也能得到同样高质量的图片,而且步数可以大大减少。这极大地提升了扩散模型的实用性。

第三步:强力引导——让AI“听话”的艺术

好了,我们现在有了一个能理解图文的“翻译官”(CLIP),和一个能从噪声生成图像的“艺术家”(扩散模型)。是时候把它们捏合在一起,让艺术家听从翻译官的指令了。

最直接的想法是条件化(Conditioning)。在训练和生成时,除了输入噪声图片和时间t,我们再把CLIP生成的文本向量也一并喂给模型。这样,模型在学习去噪的同时,也会学着利用文本信息。

这个方法有点用,但还不够。比如,只用条件化去生成“沙漠里的树”,模型可能会给你一片沙漠和一道影子,但就是不给你树。这是因为模型脑子里“生成一张逼真照片”这个大任务,有时会压过“照片里必须有树”这个小指令。

为了解决这个问题,研究者们想出了一个堪称神来之笔的技巧:分类器引导(Classifier-Free Guidance,简称CFG)

这个技巧的精髓在于,在生成的每一步,都让模型计算两次:

  1. 有条件输出:输入噪声、时间t文本提示,得到一个去噪方向。
  2. 无条件输出:输入噪声、时间t一个空白提示,得到另一个去噪方向。

“无条件输出”指向的是“任意一张好看图片”的方向。而“有条件输出”指向的是“一张符合文本提示的好看图片”的方向。

那么 (有条件输出) - (无条件输出) 的差值向量是什么? 它就是纯粹的、**指向“我们想要的那个特定概念”**的方向!

我们可以把这个差值向量放大(乘以一个引导系数α),然后加回到无条件输出上,从而得到一个被强力引导的新方向。这个新方向会更坚定地朝着我们想要的结果前进。

当我们把引导系数α从小调到大时,我们能亲眼看到那棵“沙漠里的树”从无到有,从小变大,从模糊变清晰。这简直就像在用语言的画笔,一笔一笔地把脑海中的画面“画”出来。

随着引导系数的增加,图片中的“树”越来越明显

一些先进的模型,比如视频开头的WAN模型,甚至将这个想法推向了极致。它们会使用负面提示(Negative Prompt),比如“画质差、多余的手指、向后走路”等,生成一个“不想要”的方向向量,然后从最终的引导方向中减去它,从而躲开那些常见的生成陷阱。

结语:当所有碎片拼在一起

回过头看,整个过程简直妙不可言。

我们用CLIP的对比学习,让机器在同一个高维空间里理解了语言和图像的概念。然后,我们借鉴物理学中的扩散过程,训练了一个能逆转时间、从混沌中创造秩序的生成模型(DDPM/DDIM)。最后,我们用分类器引导(CFG)这一巧妙的向量戏法,将两者的力量结合,实现了对生成过程的精准控制。

最让人着迷的是,这一切竟然真的能行得通。这些基于简单几何直觉的想法,在那些我们无法想象的、拥有数百万甚至数十亿维度的空间里,依然有效。

这感觉就像我们发明了一种全新的机器。要创造出以假乱真的图像和视频,你不再需要相机,不需要画笔,也不需要复杂的动画软件。

你所需要的,只是语言。

而真正的谜团或许在于,模型是如何组合出它从未在训练数据中见过的全新概念的?比如“一个变成猫的宇航员”。它似乎学会了独立地理解“宇航员”、“猫”、“变化”这些特征,并能将它们自由组合。这种涌现出的泛化和创造能力,至今仍然是AI领域最激动人心、也最深不可测的秘密。