编辑:笑寒
流体力学融入生成式 AI ,构建了一种非常简洁、优雅的形态。
众所周知,第 42 届国际机器学习大会(ICML)将于 7 月 13 日至 19 日在加拿大温哥华盛大举行。
在生成式 AI 领域,最新的前沿热点已经转向探索更高质量,更稳定,更简洁,更通用的模型形态。
流匹配(Flow Matching)技术正完美的踩中了每一个热点要素。
自从 FLUX 模型发布后,能够处理多种输入类型的流匹配架构逐渐成为目光焦点。
也因此有学者感慨,在 ICML 2025 的生成相关工作中,流匹配技术几乎无处不在。
流匹配技术虽说在生成式 AI 领域是前沿研究,但其核心概念来源于流体力学。
令人惊讶的是,物理领域的有关概念在近些年的确为生成领域的研究提供了很多新方向和新成果。
甚至薛定谔桥都能用在扩散生成领域!
在知乎相关技术解读专栏《深入解析 Flow Matching 技术》下,网友怒评:物理学专业的不准转计算机!
专栏标题:《深入解析 Flow Matching 技术》专栏链接:https://zhuanlan.zhihu.com/p/685921518
本文参考研究者 Floor Eijkelboom 的最新推文,从原理入手,避免繁杂的数学公式,来介绍这一简洁优雅且高效的生成技术。
生成:噪声映射到数据
生成工作是一个逐步具象化的过程,从一个抽象的表示开始,通过不同的生成网络,最终生成出具有复杂细节的真实数据。在此过程中,我们希望从一个无序的「噪声分布」映射到不同的复杂的数据分布中,这种映射是高度非线性的,而且存在无限的可能性。
从本质上讲,流匹配的核心思想非常简单:
学习将噪声转化为数据。
我们首先在噪声分布与数据分布之间选择一种插值方式(如图所示)。
流匹配会学习如何沿着这条插值路径移动每一个样本,将起始时刻(time 0)的噪声点逐步转化为终点时刻(time 1)对应的数据点。
流匹配是基于归一化流(Normalizing Flows,NF)的生成模型。它通过一系列可逆的变量变换,将复杂的概率分布逐步映射为简单的分布;同时,也可以通过这些变换的逆过程,从简单分布中生成逼真的数据样本。
流匹配原理:流体力学
连续性方程
那么,噪声点向数据点的差值路径应当如何建立?
这个问题已经在流体动力学等领域中得到研究!
在流体中,追踪每一个微小粒子的运动轨迹是明显困难的。因此我们更关注的是:每个空间区域内平均存在多少水?这种平均量被称为密度。
为了研究密度的变化,物理学提供了一个重要工具:连续性方程(continuity equation)。
连续性方程建立在一个简单而基本的原理之上:质量既不会凭空产生,也不会无故消失。
这一原理不仅适用于物理质量,同样适用于概率质量(probability mass)。这直接建立了物理概念与生成模型中概率分布的直接联系。
直观的理解连续性方程:
如果流入的密度大于流出,则该点密度增加;如果流出大于流入,则密度减少;如果两者相等,密度保持不变(即处于平衡状态)。
这种 「总流出量」 被称为散度(divergence)。
在物理学中,我们通常是从粒子的运动行为出发,推导出整体密度的变化规律。
但流匹配正好相反!它从一开始就指定密度的变化过程 —— 即从噪声分布逐步过渡到数据分布的插值轨迹 —— 然后去学习使这一演化成立的速度场(velocity field)。正是这个速度场,使得我们能够从噪声中生成新的数据样本。
过程示意
我们先从一个简单的情况开始 —— 只考虑一个数据点。
在这种情况下,我们通过从噪声点到该数据点之间的直线路径来定义变化过程。也就是在路径上的每一个位置,其速度方向都直接指向目标数据点。
由于这个过程是针对特定数据点定义的,我们称之为条件流(conditional flow)。
流匹配的「魔法」,在于它如何处理整个数据分布。
在空间中的任意一点,都可能会有无数条从噪声出发、通向不同数据点的插值路径穿过。而此时,我们需要的总体速度场,就是这些路径在该点的平均方向。
训练过程(学习平均插值速度场)与生成过程的示意
具体原因如下:
在空间中的任意一点,可能存在多条从噪声出发、通向不同数据点的路径经过它,这些路径可能通向高概率的样本,也可能通向低概率的样本。
但对于这个特定位置来说,更可能处在属于通向高概率样本的路径上。因此,在这个位置上,穿过它的所有路径的平均方向正好反映了这一点,如图所示。
流匹配有一个对偶视角,称为 变分流匹配(Variational Flow Matching, VFM)。
与其在每个位置上对所有路径的速度进行平均,VFM 的思路是:在空间中的每一点,推断它可能朝向的终点分布。这样一来,该点的速度场就简单地指向这个分布的均值。
当变分后验为高斯分布时,流匹配与变分流匹配是等价的。
我们从数据分布中采样一个数据点 x_1,从噪声分布中采样一个噪声点 x_0,并在它们之间插值得到某个中间点 x_t。接下来流匹配学习的是:在该位置应该朝哪个方向移动;
下方展示了对应的伪代码:
若对流匹配感兴趣,可以参阅以下论文:
论文标题:Flow Matching for Generative Modeling论文链接:https://arxiv.org/abs/2210.02747
扩散与流匹配的对比
一体两面
读到这里,不难发现流匹配的方法和扩散模型的逻辑非常相似,似乎具备完全相同的前向过程。
那么扩散模型和流匹配具有怎样的关系呢?
MIT 副教授何恺明认为,流匹配技术在生成模型领域的位置,扩散模型是流匹配的子集:
实际上,当采用高斯分布作为插值策略时,扩散模型其实就是一种特殊的流匹配。
这是一个好消息,这意味着你可以互换使用这两个框架。
关于扩散模型与流匹配的训练过程:
权重函数的一致性:训练中使用的权重函数十分关键,它决定了模型如何平衡感知数据中不同频率成分的重要性。流匹配中的权重设计恰好与扩散模型文献中常用的训练权重函数高度一致。
噪声调度对训练目标影响较小:虽然噪声调度对训练效率存在影响,但它对最终的训练目标函数本身作用不大。
网络输出形式的差异:流匹配提出了一种新的网络输出形式
扩散模型与高斯流匹配(Gaussian Flow Matching)在本质上是等价的。
但值得注意的是,高斯流匹配为生成建模领域带来了两个新的模型设定:
网络输出形式:流匹配提出了一种新的网络输出参数化方式,将其视为一个速度场,这与传统扩散模型中的输出形式不同。在使用高阶采样器时,这种输出形式可能带来性能差异,并可能影响训练过程中的动态行为。
采样噪声调度:流匹配使用了一种简单的采样噪声调度策略,其更新规则与 DDIM 相同。
对扩散模型和流匹配关联的更多信息,请参阅以下文章:
文章标题:Diffusion Meets Flow Matching: Two Sides of the Same Coin文章链接:https://diffusionflow.github.io
参考内容:https://x.com/FEijkelboom/status/1942944767563661459https://mlg.eng.cam.ac.uk/blog/2024/01/20/flow-matching.htmlhttps://zhuanlan.zhihu.com/p/685921518
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:liyazhou@jiqizhixin.com
文章原文