MIT6.S184-01:流与扩散模型
将数据向量化
现实世界的数据虽然形态各异,但在生成式模型的理论框架下,它们最终都会被抽象为高维欧几里得空间中的数学实体。这种抽象是使微积分工具能够介入深度学习的绝对先决条件。
| 模态 | 表示 | 意义 |
|---|---|---|
| 图像 | 图像具有高度 和宽度 。对于每一个像素位置,均存在红、绿、蓝(RGB)三个颜色通道的连续实数强度值。将其展平后,即构成一个固定维度的高维向量。 | |
| 视频 | 视频本质上是图像在时间维度上的离散序列。在 的空间特征之上,增加了包含 个时间帧的时间维度,构成了更为庞大的高维张量。 | |
| 分子结构 | 对于一个包含 个原子的复杂分子(如蛋白质),其空间构象可以表示为一个矩阵或展平的向量,其中包含每一个原子在三维空间中的绝对或相对坐标。 |
所有被生成的对象在数学上都被等同地处理为高维空间中的实值向量 。这种将复杂的拓扑结构和空间结构展平为高维向量的做法,使得我们可以利用多变量微积分、线性代数和概率论的工具来统一分析所有数据类型 。
唯一的例外是传统的文本数据,语言模型通常将其建模为离散的词表Tokens,但在离散扩散模型的最新研究中,文本生成也正被逐步纳入基于连续时间马尔可夫链的生成范式之中 。
基于概率分布采样的生成
在传统的预测性机器学习中,模型致力于寻找一个最小化损失函数的确定最优解; 但是在生成式人工智能中,由于目标的多样性,确定性建模会导致严重的模式崩溃,生成的数据严重缺失真实性和多样性。
现代的生成模型将图像的多样性严谨地表述为图像状态空间 上的一个概率分布 。 在连续空间的假设下, 是一个概率密度函数:
它为状态空间 中的每一个可能对象(即每一个点 )分配了一个非负的似然值 。 在生成狗的图像的例子中,如果一个高维向量 对应的像素矩阵在视觉上越像狗,那么该点在数据分布中的似然密度 就越高。
那么,生成一个对象的过程,就在数学上等价于从未知的数据分布 中采样一个点 的过程。记为 。 但是,对于人类和计算机而言,直接从 中采样是不可行的——我们不可能知道所有的图像在现实中是怎么分布的,当然也无法直接访问这个分布的解析形式。 机器学习模型无法直接获得概率密度函数的方程,其训练所依赖的基础只能是有限的经验数据。在生成式建模中,我们通常假设能够获得从真实分布 中独立同分布采样的有限数量的样本,这些样本的集合构成了代理真实分布的数据集,表示为:
根据大数定律和经验流形假设,随着数据集规模 的指数级增长,由这些离散样本点构成的经验分布将越来越精确地逼近底层的真实流形分布 。生成模型的任务,便是通过这有限的样本点,学习到整个连续流形的内在几何结构。
条件引导生成
在绝大多数场景中,我们并不满足于生成任意的对象,而是希望生成满足特定条件的对象。例如,给定一个文本描述,我们希望生成一张符合该描述的图像。 这种生成模式称为引导生成或条件生成,这等价于从一个条件分布 中进行采样。 此时,模型在训练阶段需要依赖的不再是单一的无监督数据点,而是成对的监督数据集 。
引导生成建模的核心挑战在于学习一个具有高度泛化能力的统一模型,该模型不仅能够响应训练集中出现过的特定 ,还能够零样本地泛化到任意未见过的条件变量上。例如,能够精确响应类似 “猫吹灭生日蜡烛的逼真照片” 这样新颖的语义组合 。 为无条件生成所设计的微分方程架构、常微分方程与随机微分方程的演化机制,均能够极其平滑且严谨地推广到条件生成的场景中。
流模型
将生成问题形式化为从高维概率分布 中进行采样后,核心的计算挑战在于如何构建能够实际执行这一采样任务的算法。由于高维空间 的维度往往高达数百万(例如百万像素的图像),传统的马尔可夫链,蒙特卡洛等采样方法在此类高维流形上面临着严重的维度灾难,收敛速度极其缓慢。
流模型与扩散模型提供了一种具有高度物理和几何直觉的破局思路:构建一个随时间演化的动力学系统,将一个极易采样的简单先验分布(通常为标准高斯分布)在几何空间中连续且平滑地变形、映射为复杂的、充满非线性结构的目标数据分布 。这种由纯粹数学驱动的变形过程,其机制依赖于常微分方程(ODEs)与随机微分方程(SDEs)的数值模拟 。
定义
首先定义 ODE ,其解 在状态空间中定义了一条确定性的演化轨迹 trajectory ,其符合以下形式:
驱动这个轨迹演化的核心是向量场 vector field ,记为 ,它定义了空间中每一个点在每一个时刻一个特定方向和大小的速度:
ODE 则刻画了向量场驱动下的轨迹演化:
那么在给定 ,也就是给定初始位置的前提下,我们能否得知 时间点的位置 ?由此定义了一个流 flow,记为 ,它将初始位置 映射到时间 的位置 :
这套严密的数学表达意味着,在给定了初始条件 之后,整个由于向量场引起的 ODE 运动轨迹可以通过流映射进行前向计算并完全恢复: 。这种高阶的理论视角优雅地统一了三个核心概念:向量场构筑了系统的局部微分约束规则(ODE),而流则是在满足该约束规则下,对整个高维空间几何体进行形变、扭曲与演化的全局积分形式的解。

流的存在性与唯一性:如果向量场 对于所有的输入变量是连续可微的,并且具有全局有界的导数,那么上述定义的 ODE 系统必然存在一个由流映射 给出的、具有绝对唯一性的解。更为重要的是,在这种条件下,对于所有的时刻 ,演化流 都是一个完美的微分同胚 diffeomorphism。这意味着流映射 不仅在整个空间内连续可微,而且其对应的逆时间映射 (即从生成数据反演回噪声的过程)同样是连续且可微的 。
在机器学习中,一般将 参数化成一个神经网络,因此 始终是有界的,即存在有界导数。我们不需要担心因为导数无界而导致流的解不存在或不唯一的问题。 这也是流模型能够在高维空间中实现稳定的生成过程的一个重要基础。
ODE 的数值方法模拟
由于实际的流模型通常无法获得解析解,我们需要通过数值方法来模拟 ODE 的演化过程。最简单的数值方法是欧拉法(Euler method),它通过在时间轴上进行离散化,将连续的 ODE 转化为一系列的迭代更新:
为了在更少的推理步数下获得同等甚至更高的生成质量,学术界和工业界也常常采用高阶的数值积分策略。例如休恩方法(Heun’s Method),它本质上是一种预测-校正器(Predictor-Corrector)算法。休恩方法的更新规则包含两个关键步骤:
休恩方法通过提前探查下一步可能到达位置的向量场信息,有效校正了由于流形曲率剧烈变化而导致的一阶切线偏离问题,极大地提升了积分在复杂空间流形上的稳定性和精确度 。
流模型 & ODE
结合上述关于向量场参数化与数值积分的理论,我们可以正式构建基于 ODE 的流模型框架。模型的核心是将决定演化命运的未知向量场 参数化为一个带有海量可学习连接权重 的深度神经网络,记作 。
回顾生成任务的终极目标:从纯粹的数据分布 中获取随机样本 。ODE 系统本身的演化规则是完全确定性的——如果多次求解 ODE 时输入相同的初始坐标 ,模型将永远只输出同一张静态的图像,这完全违背了生成式任务所要求的分布多样性。
为了给确定性的微分方程注入生成多样性,必须在初始条件下引入彻底的随机性。具体操作是,人为选定一个在数学上极易进行大规模平行采样的初始噪声分布 。在绝大多数工程实践中,为了理论推导的优美和实现的便捷,该初始分布被统一设定为标准的多维高斯分布,即 。至此,一个完整的流模型生成流程被严密地定义为以下两个连续的阶段:
- 随机初始化:
- ODE 演化:利用神经网络预测的瞬时速度,沿着向量场进行数值积分: 。
整个模型庞大参数网络进行梯度下降优化的唯一目的,就是为了逼近一个近乎完美的向量场,使得在时间 时,演化轨迹的端点 的空间分布能够精确地与真实世界底层的数据分布相吻合,即:
尽管该框架被统称为“流模型”,但神经网络架构实际拟合和输出的是空间的向量场(即局部导数速度),而非流映射本身(即并非直接输出 时的最终图像)。为了通过流模型获取最终的生成对象,必须耗费计算资源显式地使用如欧拉方法去逐时间步地数值积分 ODE。

扩散模型
如果说基于常微分方程的流模型提供了一条由确定性向量场主导的平滑、可逆的演化轨迹,那么扩散模型则在这一基础上,通过引入随机微分方程 SDE完成了生成机制上的范式转换 。在 SDE 驱动的框架下,微观粒子的演化轨迹不再是光滑且严格确定的流线,而是呈现出一种充满波折、带有内在不确定性的随机游走(Random Walk)形态。
SDE 将生成过程刻画为一个在连续时间间隔 内演化的随机过程(Stochastic Process),通常记为 。与 ODE 轨迹有着本质的区别,这种随机轨迹表现出以下核心数学特征:
- 的演化不再是单值对应。
- 对于每一个被固定的时间截面 , 都不再是一个具体的空间点,而是一个具有特定空间概率分布的随机变量。
- 对于给定的同一个初始起点 ,针对随机过程 的每一次“抽取”,其映射路径 都会在多维空间中生成一条截然不同、具有极高复杂度的随机轨迹 。
这意味着,系统在动力学层面内生了随机性。即使我们两次以完全相同的网络参数、相同的数值步长来模拟同一个 SDE,并且赋予其完全一致的初始高斯噪声点作为起点,系统最终到达的端点生成数据也会因为中途演化路径的随机分岔而有所不同 。
布朗运动
要构建随机微分方程,其系统底层的绝对基石是布朗运动。布朗运动是概率论和随机微积分中用于描述真实世界物理扩散现象最基础的随机过程模型。一个标准的 维布朗运动,在数学文献中通常被尊称为维纳过程(Wiener Process,以麻省理工学院著名数学家 Norbert Wiener 命名),通常记作 。为了成为合格的布朗运动,该随机过程必须严格满足以下三个极其苛刻的数学公理条件:
- 零原点初始状态:在演化初始时刻, 几乎必然成立。更为深刻的是,其样本路径映射 在时间轴上处处连续,即轨迹中不存在任何瞬时的断点或空间跳跃(可以认为在纸上用笔不间断地画出) 。
- 正态增量属性:对于时间轴上任意排序的两个时刻 ,在该时间段内的路径增量完全不依赖于历史的绝对位置,并且该增量严格服从均值为零、协方差矩阵随时间跨度严格呈线性等比例放大的多元正态分布。即:,其中 代表 维单位矩阵 。
- 独立增量属性:如果将整个时间区间进行任意次序的连续切分,即对于任意的一组时间序列 ,其在互不重叠时间段上产生的轨迹增量集合 构成一组彼此之间在统计上绝对独立的随机变量族 。

布朗运动在整个随机过程理论体系中的核心地位,犹如高斯分布在经典概率论及大数定律中的地位一样无可撼动。从现代金融工程中对复杂衍生品定价的布莱克-斯科尔斯模型(Black-Scholes Model),到统计物理学中的布朗粒子动力学,再到流行病学的空间传播模型,布朗运动的理论光芒不仅照亮了诸多传统科学领域,如今更是成为了生成式机器学习的心脏。然而,布朗运动作为一个纯粹的数学构造,带有一种极其诡异且迷人的分形特征:正如前文所述,布朗运动的路径是绝对连续的(即你可以永远不抬起笔来描绘它的运动),但与此同时,它在任何微小的时间区间内的总变差都是无穷大的(即路径的长度趋于无限长,意味着它在不断地剧烈折返)。这种极其粗糙的微观结构导致它在任何一点上都不存在经典的导数(处处不可微)。由于微积分中的牛顿-莱布尼茨公式建立在函数平滑可微的基础之上,布朗运动的存在使得古典微积分在其面前彻底失效,从而迫使数学家们(如伊藤清)在20世纪中叶开创了全新的伊藤微积分体系。
通过利用时间离散化技术,我们可以利用极其简单的数值公式来近似且高效地生成布朗运动的轨迹。给定一个极小的时间步长 ,设定初始值 ,随后通过迭代以下更新方程即可模拟:
其中用于缩放标准高斯噪声项 的系数是步长的平方根 ,而不是简单的线性步长 。这是由布朗运动的核心定义所决定的。根据正态增量属性,时间段 内的增量方差必须等于 。由于方差具有可加性的平方特性,要使得 ,则乘以标准高斯分布 的系数必须是标准差 。
从 ODE 到 SDE
基于对布朗运动特性的理解,我们现在的理论任务是将前文探讨的、由纯粹确定性主导的常微分方程动力学,无缝扩展为融合了随机波动的随机动力学体系。考虑到布朗运动的路径虽然连续但处处不可微的病态特征,我们无法再像定义 ODE 那样,直接利用形如 的对时间的经典导数形式,因为在 SDE 的语境下,方程左侧的极限根本不存在。为了绕开这一数学障碍,我们必须放弃瞬时导数的视角,转而寻找基于无穷小时间更新段的等价表述方式。
首先回顾并重写一条处于确定性 ODE 系统下的轨迹 在离散视角下的演化规律:
在上述极其简单的代数变形中, 代表了一个当时间步长 时可以被安全忽略不计的高阶极小函数,即 。这段推导仅仅是重申了我们在欧拉方法中已知的事实:ODE 的演化轨迹 在每一个微小的时间步进中,都会严格且坚定地在向量场赋予的 方向上移动一个微小的线性步长。
现在,我们可以对上述离散化更新方程进行一项颠覆性的修改,以引入随机性。我们强行规定,SDE 系统的轨迹 在每一个微小的演化步进中,除了要在由向量场 引导的方向上产生位移之外,还必须强制加上一个源自布朗运动的、不可预测的随机扰动贡献。修改后的离散更新公式如下:
在此方程中,参数 扮演了至关重要的角色,它被称为扩散系数(Diffusion Coefficient)。扩散系数的存在标定了在这个特定时刻下,系统向粒子注入随机高斯噪声的幅度与剧烈程度。而此时的 涵盖了离散化带来的随机误差项,当极小步长 时,其标准差 会迅速收敛至零。
上述包含确定性漂移和布朗随机扰动的增量方程,在取无穷小极限 的数学状态下,便精确刻画了一个随机微分方程(SDE)。在数学及工程文献中,为了书写的极致简便,它通常被转化为以下“微分”记号:
上述采用“” 和 “” 书写的方程纯粹是一种基于历史习惯的、非正式的符号表示。由于布朗运动的不可微性,它不能像普通微分那样进行简单的代数移项或除法操作。
由于布朗运动无处不在的随机性注入,SDE 彻底剥夺了系统存在确定性流映射的可能性。换言之, 的具体取值不再能垄断并完全决定后续任意时刻 的状态,因为系统演化本身就在源源不断地产生新的随机分岔。尽管丧失了点对点映射的确定性,但令人欣慰的是,从宏观理论角度审视,SDE 系统如同 ODE 系统一样,在极其宽松的条件下面临着同样强大的存在性与唯一性保证:
SDE 强解的存在性与唯一性:如果驱动系统的漂移向量场 对于所有的状态变量连续可微,并且具有全局有界的偏导数,同时主导噪声强度的扩散系数函数 是时间的连续函数,那么由上述方程表述的 SDE 必然存在一个解。且该解表现为一个唯一确定的、满足前述无穷小增量演化属性的随机过程 。
基于 SDE 的宏观定义,我们可以得出一个极其优雅且具有统一性的推论:任何一个常微分方程(ODE),在数学本质上都可以被视为一个特殊的随机微分方程(SDE)——只需令其扩散系数恒定为零,即 。因此,在随后的高级生成式算法论述中,当我们广泛地探讨 SDE 框架时,实际上已经将经典的流模型(ODE 框架)作为其一个子集或退化特例包含在内了。
SDE 的数值方法模拟
在不依赖解析解的前提下,我们该如何借助计算机芯片的算力去具体地模拟一个 SDE 的演化轨迹?解决这一工程痛点的核心利器是由日本数学家 Gisiro Maruyama 在 20 世纪 50 年代提出的 Euler-Maruyama Method。该方法在结构设计非常精简,它本质上就是 ODE 领域中基础欧拉方法向随机微积分领域的平滑延伸。
应用 Euler-Maruyama 方法进行数值模拟时,我们首先将整个演化时间窗均匀地切分为大量极小的离散时间步幅 (其中 代表用户设定的总迭代步数)。给定从某一先验分布中抽取的初始随机状态 ,状态变量在每一个微小的时间切片中,严格按照如下迭代更新方程进行演化:
用通俗易懂的物理语言来解释 Euler-Maruyama 方法的更新机制:在面临下一步该往何处走的决策时,处于 状态的粒子首先会遵循系统主导力量(即向量场 )的指示,沿着切线方向踏出一个受步长 线性约束的确定性步伐;在此步伐落定的瞬间,系统会立即施加一个由标准高斯分布 独立生成的随机方向扰动。而这个扰动的幅度大小,受到了 (体现了布朗运动时间上的平方根尺度)以及当前时间节点设定的系统扩散强度系数 的控制。
扩散模型 & SDE
有了涵盖布朗运动与 SDE 数值模拟的理论基石,我们现在已经完全具备了仿照之前构建基于常微分方程的流模型的成功经验,系统地构建起基于随机微分方程的、更为强大的扩散模型 Diffusion Models。
正如我们在分析 ODE 系统时所揭示的,从一个由预设简单分布抽取的随机起始点 启动,并随后紧密追踪在特定向量场约束下的动态物理演化轨迹,是达成这一分布映射转换任务的最自然且极具数学优美性的选择。为了将这种理论设想付诸计算实践并赋予模型极高的非线性表达上限,我们可以利用深度学习领域中参数量庞大的神经网络架构,来精准地参数化和拟合该随机演化系统中最具挑战性、也决定了生成结构质量的核心变量引擎——漂移向量场 。
在此范式下,我们通过参数化得到的网络表示为 。一个标准且完备的扩散生成模型系统,在数学形式上被严密地界定为以下包含初值设定与演化动态方程的集合体系:
为了将上述高阶且具有连续特性的微分方程系统降维并转化为可由现代 GPU 集群和张量计算框架实际执行的代码逻辑,可以利用欧拉-马鲁亚马方法,对一个训练完毕的扩散模型进行推理并在空间中采样。





