扩散模型原来是一个“魔法恒等式“拆成了两半

张开发
2026/4/23 0:14:25 15 分钟阅读

分享文章

扩散模型原来是一个“魔法恒等式“拆成了两半
这项由香港科技大学数学系主导的研究发表于2026年ICLR博客论文赛道arXiv编号2604.10465对目前最前沿的图像生成技术——扩散模型——给出了一套全新的、从朗之万动力学视角出发的统一理解框架。有兴趣深入阅读的读者可以通过arXiv编号2604.10465查阅完整论文。---**一条贯穿始终的故事线魔镜与倒影**假设你手边有一面神奇的镜子它具备这样一种性质你把一张照片放进去镜子会把它折腾一番经过一系列随机扰动最终还给你一张看起来和原照片属于同一个风格世界的全新照片。这面镜子不复制原图但输出的结果和输入的结果属于同一个照片宇宙——专业语境下说它们服从同一个概率分布。这面镜子就是朗之万动力学Langevin Dynamics。而整篇论文要做的事情就是告诉你我们耳熟能详的那些图像生成模型——无论是DDPM、VE模型还是最近大热的Flow Matching——其实都是把这面镜子拆成两半来用的。一半叫加噪一半叫去噪合在一起就还原了那面神奇的镜子。这个视角不只是比喻它背后有严格的数学。更重要的是它能以极其简洁的方式回答那些困扰了许多学习者的根本性问题去噪过程是怎么把噪声变回图片的为什么扩散模型比普通VAE理论上更强Flow Matching为什么不比去噪匹配更本质上简单带着这些问题我们沿着这面镜子的故事一路走下去。---一、朗之万动力学那面不改变世界、只换一张脸的镜子要理解扩散模型得先认识这面镜子的工作原理。朗之万动力学是物理学家朗之万在1908年提出的一个描述布朗运动的方程后来被统计学家和机器学习研究者借用来做从复杂分布中抽样这件事。它的核心公式写出来是这个样子每一小步的位移等于得分函数乘以一个正数加上一个微小的随机扰动。得分函数Score Function是目标分布的对数密度关于位置的梯度直观理解就是沿着概率更高的方向走。随机扰动项就像你在走路时地面微微颤动让你不会被卡在某一个局部高点。这个过程有一个漂亮的性质无论你从哪里出发只要走得足够久你最终所在的位置的概率分布就会收敛到目标分布。更精妙的是如果你一开始就已经站在目标分布中的某个点那么经过朗之万动力学的一步或多步之后你仍然处于同一个分布中——只不过换了一个具体的位置。这就是恒等操作的含义朗之万动力学不改变分布只是在分布内部重新采样。用镜子的比喻来说你放进去一张照片它折腾完出来的还是属于同一个照片宇宙的照片。这个简单的性质是整个论文的逻辑支点。然而朗之万动力学在实际使用中有一个致命的弱点它只在靠近真实数据的地方工作得好。得分函数是从真实数据中学出来的在真实数据附近估计得准确但在远离数据的地方比如纯随机噪声那里估计得很差。而图像生成恰恰需要从一片纯噪声出发所以直接用朗之万动力学来生成图片效果会很糟糕——因为起点离真实数据太远得分函数根本不可靠。---二、把镜子拆成两半加噪与去噪的诞生既然朗之万动力学不能直接从纯噪声生成图片人们就想了一个迂回的办法。首先出现的是一个叫退火朗之万动力学的方案。它的思路是不要只用一个朗之万采样器而是训练一整套采样器每个对应不同的噪声程度。先从纯噪声开始用对应高噪声的采样器运行几步然后切换到低噪声的采样器再运行几步……像下楼梯一样一步步从噪声走向数据。这个思路的关键在于在每个噪声程度下采样器都工作在它最擅长的区域因此每一步都靠谱。扩散模型把这个思路推向了极致把训练和生成完全分开用一个连续的过程描述从数据到噪声的加噪轨迹前向过程以及从噪声到数据的去噪轨迹逆向过程。论文的核心洞察在这里变得清晰前向过程和逆向过程正是一步朗之万动力学被拆成了两半。以最经典的VP方差保持模型为例朗之万动力学的完整公式可以被拆分为两个部分。第一部分是对当前位置施加一个向原点拉拽的力同时注入一些随机噪声——这正是VP模型的前向加噪过程它会把数据逐渐推向一个标准高斯分布。第二部分是一个反向的校正力加上另一些随机噪声——这就是逆向去噪过程它负责把噪声一步步拉回数据分布。论文里的一张核心示意图清晰地呈现了这个结构朗之万动力学像一个顶点前向过程是从数据分布走向噪声分布的斜坡逆向过程是从噪声分布走回数据分布的斜坡两段斜坡合在一起正好构成了那面恒等的魔镜。这个拆分方式直接回答了很多初学者最困惑的问题**逆向过程是怎么知道如何反转前向过程的**答案非常直接——逆向过程之所以能反转前向过程是因为两者合在一起构成了一个朗之万动力学步骤而朗之万动力学本身就是分布的恒等操作。前向走一步逆向走一步净效果是零——分布没有变化。这里还有一个微妙但重要的技术细节前向过程里的随机噪声项实际上被拆成了两个独立的高斯随机增量一份给了前向过程一份给了逆向过程。这在数学上是允许的因为两个方差各为1的独立高斯变量相加结果是一个方差为2的高斯变量正好对应朗之万动力学中的噪声强度。---三、同一个世界里的三种语言VP、VE与Flow Matching的互译手册在实际的深度学习研究中不同团队用了不同的方式来描述这个前向加噪过程于是诞生了看起来完全不同的三类模型。第一种是VP模型方差保持在著名的DDPM中使用。它的前向过程像一个弹簧振子随着时间推进样本会被拉向原点同时注入噪声最终样本的均值趋向零、方差趋向一收敛到标准高斯分布。数学上这对应Ornstein-Uhlenbeck过程t时刻的样本等于原始数据乘以一个衰减因子加上噪声乘以一个增长因子。第二种是VE模型方差爆炸由Karras等人的工作推广使用。它的前向过程没有向原点拉拽的力只是不断往数据上叠加越来越大的噪声样本的均值保持不变但方差越来越大像一个气球被越吹越大。Karras记法下σ时刻的样本直接等于原始数据加上标准差为σ的高斯噪声。第三种是Rectified Flow修正流近年来在Flow Matching领域大受欢迎。它的前向过程看起来最简洁s时刻的样本等于原始数据乘以(1-s)加上纯噪声乘以s也就是数据和噪声之间的线性插值。当s从0走到1样本从原始数据线性过渡到纯噪声轨迹在单点情况下是一条直线。表面上这三种模型看起来完全不同。但论文给出了一张清晰的转换表告诉你如何从任意一种参数化转换到另一种。例如VP模型中的(x_t, α_t)可以通过简单的代数运算转换为VE模型中的(z_σ, σ)也可以转换为Rectified Flow中的(r_s, s)。这张转换表的存在意味着这三种模型描述的其实是同一个物理过程只不过用了不同的坐标系来度量时间和状态。就像同一段音乐用简谱、五线谱或吉他六线谱来表示记法不同但音乐本身是一样的。既然前向过程可以互译逆向过程自然也可以互译。论文同样给出了各模型逆向过程的完整公式以及它们与得分函数之间的关系。VP-SDE的逆向过程是带随机项的随机微分方程VP-ODE的逆向过程是不带随机项的常微分方程VE-Karras的逆向过程用噪声预测来表示Rectified Flow的逆向过程用速度场来表示。但本质上这些噪声预测、速度场、得分函数都是同一个数学对象的不同写法彼此之间有精确的代数转换关系。这里值得专门说一说Rectified Flow引发的一个常见误解。很多人看到数据和噪声之间的线性插值会觉得它比其他方法简单——毕竟直线比曲线简单。但论文指出这个直线的特性只在单点设置下成立。对于真实的、复杂的数据分布每个位置的速度场都不同逆向轨迹实际上是弯曲的。而且Flow Matching预测的速度场和得分匹配预测的噪声在数学上是完全等价的——它们只是同一个量的不同表达。Rectified Flow可能在实践中有轨迹曲率相对较小的优势但这是一个程度上的差异而不是本质上的简化。---四、前向与逆向的深层对称为什么扩散模型比普通VAE更强理解了前向和逆向过程如何互为镜像之后我们可以揭开扩散模型一个更深刻的性质它在理论上保证了完美的生成质量。论文从前向-逆向对偶性的角度来解释这一点。用前面建立的框架来说前向过程把数据分布p_0逐渐演化为噪声分布p_T。逆向过程从p_T出发一步步倒回去。如果我们把逆向过程的初始分布设为q_0 p_T即从真正的噪声分布出发那么逆向过程在任意时刻t的分布正好等于前向过程在对称时刻(T - t)的分布。换句话说逆向过程走完全程T步之后得到的分布恰好就是原始数据分布p_0。这不是近似而是精确等式——在理论完美的情况下。这个性质为什么重要对比一下普通的VAE变分自编码器。VAE的编码器负责把数据压缩成隐变量解码器负责从隐变量恢复数据。但VAE的编码器和解码器之间没有这种精确对偶关系——解码器只是被训练成尽可能接近编码器的反操作而不是精确的反操作。即使ELBO证据下界被优化到极致VAE生成的数据分布也未必等于真实数据分布因为ELBO本身就包含一些近似。扩散模型通过朗之万动力学的恒等性质从根本上保证了前向和逆向过程的完美对称。当然实际训练中用神经网络来近似得分函数会引入误差但理论上的目标是完美的——这比VAE的理论目标更强。这就是为什么扩散模型在理论上优于普通VAE不是因为网络更大或训练技巧更好而是因为它的数学架构建立在一个更精确的对称性之上。---五、用最大似然统一所有训练目标得分匹配、去噪匹配与Flow Matching的共同根源现在我们知道了扩散模型的前向和逆向过程是什么但还有一个问题怎么训练用什么损失函数论文从最大似然估计出发推导出一个统一的训练目标并说明不同模型类型的训练损失只是这个目标的不同写法。出发点是KL散度一种衡量两个概率分布差异的指标。训练的目标是让模型生成的分布q_0尽可能接近真实数据分布p_0也就是最小化KL(p_0 || q_0)。但在扩散模型中直接优化这个量很困难因为p_0和q_0都很复杂。论文的关键一步是把这个时刻0处的KL散度改写成对所有时刻t的瞬时贡献的积分。具体来说KL(p_0 || q_0)等于负的KL散度对时间的导数在0到无穷大上的积分。这是因为当t趋向无穷时p_t和q_t都收敛到同一个高斯噪声分布KL散度趋向零。接下来论文利用Fokker-Planck方程描述随机过程中概率密度如何随时间演化的方程来计算KL散度对时间的导数。计算结果非常优美在Fokker-Planck方程的漂移项确定性部分中KL散度的变化率为零——也就是说漂移项不改变KL散度。只有扩散项随机噪声部分会降低KL散度而且降低的速率恰好等于真实得分函数与模型得分函数之差的平方在p_t下的期望乘以一个系数。这个结果的意义非常深刻最大化似然等价于在每个时刻t最小化模型得分函数与真实得分函数之差的加权平方误差。这就是得分匹配Score Matching损失的来源。但等等真实得分函数?log p_t(x_t)我们不知道啊这就是去噪得分匹配Denoising Score Matching的用武之地。论文在附录中证明了一个关键定理在前向过程产生的条件分布p_t(x_t|x_0)下用条件得分函数?log p_t(x_t|x_0)来代替边际得分函数?log p_t(x_t)两者的最小化点是完全相同的。换句话说我们只需要最小化模型得分与条件得分之差的平方期望——而条件得分是已知的因为p_t(x_t|x_0)是一个高斯分布其得分有解析表达式。这个结论打通了理论与实践的障碍我们可以从训练数据中随机抽取一个干净样本x_0然后按照前向过程加一点噪声得到x_t然后计算条件得分也就是x_t和x_0之间关系的一个函数然后让神经网络去拟合这个条件得分。这就是扩散模型训练的本质。对应到不同的参数化这个训练目标有不同的外形。VP模型直接训练得分函数VE-Karras模型训练噪声预测网络让网络预测加入到数据中的高斯噪声Rectified Flow训练速度场让网络预测从x_0到噪声ε的差值。但论文的表6清楚地列出了这三种参数化下的损失函数并指明了各自的网络输出与得分函数之间的精确代数转换关系。至此Flow Matching的本质被彻底揭示它预测的速度场在代数上等价于噪声预测也等价于得分函数。在最大似然框架下它和得分匹配、去噪匹配是同一个目标的不同写法没有任何一个在数学本质上更简单。Rectified Flow的优雅来自于它的几何直觉和实践中可能更小的曲率而不是来自于本质上更简单的数学。---六、训练时的小技巧损失权重为什么可以随意调读到这里你可能注意到不同模型的损失函数前面有不同的系数比如1/2、1/σ、(1-s)/s。这些系数有必要严格遵守吗论文指出这些系数来自于最大似然框架它们决定了不同噪声程度对总损失的相对贡献。但在实践中研究者经常把这些系数替换成自定义的时间权重函数以改善训练效果。这是完全合理的因为改变权重系数只是改变了在哪个噪声级别上投入更多学习资源而不改变每个噪声级别上学习目标是什么。换句话说最优解即真实的得分函数在任何权重下都是一样的改变权重只是改变了收敛的速度和方向不影响理论上能达到的最佳结果。这个观察解释了为什么不同论文里的扩散模型虽然损失函数看起来不同但本质上是在优化同一件事。---七、逆向过程的可视化四种模型的轨迹长什么样论文还提供了一个直觉上非常有帮助的可视化分析展示了在单个数据点一维情况下的条件下四种模型VP-SDE、VP-ODE、VE-Karras、Rectified Flow的逆向轨迹是什么形状。VP-SDE和VP-ODE的轨迹是弯曲的因为VP的前向过程同时有向原点拉拽和注入噪声两种效果逆向过程需要同时撤销这两种效果路径必然是弯曲的。VE-Karras和Rectified Flow的轨迹在单点情况下接近直线因为这两者的前向过程只是在数据上叠加噪声或线性插值到噪声逆向过程是从噪声出发沿较短路径回到数据。但论文明确警告这种近似直线的特性只在单点只有一个训练数据点的特殊情况下成立。对于真实的多模态数据分布逆向速度场在不同位置是不同的轨迹会弯曲。不过人们合理地预期VE-Karras和Rectified Flow的轨迹曲率会小于VP这意味着用较少的步数也能得到较好的结果——这就是Rectified Flow在实践中受欢迎的真正原因。---说到底这篇论文做的事情是把一个本来散乱的知识体系用朗之万动力学这根主线串联了起来。前向加噪、逆向去噪、SDE版本、ODE版本、得分匹配、去噪匹配、Flow Matching——这些听起来像是互相独立的不同技术其实都是同一头魔镜的不同侧面。对于学习者来说这意味着你不需要把每种方法都当成一个全新的东西去学理解了朗之万动力学是什么理解了前向过程如何加噪、逆向过程如何与前向过程构成一对理解了最大似然如何自然地导出得分匹配损失你就掌握了这个领域的骨架。其余的都是在这副骨架上换不同的皮肤。对于研究者来说这个视角也提供了实际价值任何新的扩散模型变体都可以在这个朗之万框架内找到自己的位置不同模型之间的转换也有了清晰的代数路径。遇到一个陌生的扩散模型先问它的朗之万动力学是什么、前向和逆向分别对应哪个拆分往往就能迅速看清它的本质。这项研究本身并不声称自己提出了全新的算法或取得了更好的性能数字它的贡献是概念性的——给出了一套更清晰的语言来描述已有的工作并把分散的知识点纳入一个统一的故事中。有时候最有用的研究不是开辟新大陆而是绘制一张清晰的地图让后来者知道自己站在哪里。读到这里你可能想进一步思考如果所有这些模型都等价那未来扩散模型的突破会来自哪里——是更好的网络架构、更聪明的采样策略还是完全不同的概率框架这是一个开放的问题也是这个领域最吸引人的地方。如果你对完整的数学推导感兴趣可以通过arXiv编号2604.10465找到原文里面的附录详细给出了Fokker-Planck方程推导、KL散度衰减证明、以及去噪得分匹配与得分匹配等价性的完整论证。---QAQ1朗之万动力学为什么能把扩散模型的前向过程和逆向过程统一起来A朗之万动力学本质上是一个对概率分布的恒等操作——输入和输出服从同一个分布只是换了一个具体样本。扩散模型的前向加噪过程和逆向去噪过程正好是一步朗之万动力学被拆成了两个互补的部分。前向部分让分布向噪声方向演化逆向部分让分布向数据方向演化两者合在一起等于朗之万动力学这个恒等操作。这就是为什么逆向过程能精确撤销前向过程而不只是近似。Q2Flow Matching和扩散模型的得分匹配到底有没有本质区别A没有本质区别。Flow Matching预测的速度场和得分匹配预测的得分函数以及去噪匹配预测的噪声在代数上是完全等价的可以通过精确公式互相转换。Flow Matching在实践中的优势主要来自于特定参数化下逆向轨迹曲率相对较小使得采样步数可以更少而不是因为它的数学本质更简单。在最大似然框架下它们优化的是同一个目标只是用了不同的参数化来写损失函数。Q3扩散模型为什么在理论上比VAE更强扩散模型的训练目标是什么A普通VAE的编码器和解码器之间没有精确的对称性保证即使ELBO被优化到最佳生成分布也未必等于真实数据分布。扩散模型通过朗之万动力学的恒等性质保证了前向和逆向过程在理论上是完美的互逆对——逆向过程走完全程后生成分布精确等于原始数据分布。训练目标来自最大似然最小化模型得分函数与真实得分函数之差的加权平方期望具体实现为让神经网络拟合前向加噪过程中的条件得分函数即让网络学会预测加入了多少噪声或者以什么速度从噪声走向数据。

更多文章