流匹配|原理与个人理解

本篇基于ICML-2026的一些关于流匹配的分享slides做的,看下来大致理解了Flow Matching的一些原理,不过数学内容涉及的比较深,之后按需求去学习就好了,现在先有一个体系的认知就可以了。祝食用愉快~😋

图 1 流匹配

引言:基本定义

连续归一化流与速度场

生成模型的目标,是把一个简单易采样的噪声分布 (通常是各向同性的标准正态分布)逐步变换成复杂的真实数据分布 (记作 )。连续归一化流为这一变换指定了一个随时间演化的速度场 ,让任意点 沿着常微分方程

从 的噪声状态一路流动到 的数据状态。直观地说,速度场就是一张覆盖全空间的向量场(velocity):在每一个位置、每一个时刻,它告诉粒子该往哪个方向、以多快的速度走。只要这个场训练得足够准确,从噪声出发的粒子就会自然汇聚到真实数据的流形上。(真实的data采样是没法采出来的,所以我们只能通过数据去拟合,用模型去猜测)

条件流匹配:把难解的边缘分布问题绕开

直接训练 去拟合边缘分布 的速度场,需要对概率路径做难以处理的模拟。条件流匹配的巧妙之处在于:不去直接碰边缘分布,转而回归一个条件速度场 ,并证明它的回归损失与边缘版本拥有完全相同的梯度。换句话说,优化条件速度场和优化真实目标在数学上等价,但前者可以闭式写出监督信号,省去了采样和模拟的麻烦。

直线插值路径

最常用的条件路径是一条直线(即 Rectified Flow / Vanilla Flow Matching 的设定):

对这一直线求时间导数,条件速度场就是常数 。这正是后面所有优化目标里监督项 的来源

Memorization

流匹配的优化目标

在无限容量、不对网络架构做任何限制的理想设定下,流匹配要解的是如下最小化问题:

期望在三个随机变量上取:噪声起点 、数据终点 ,以及均匀采样的时刻 。目标函数的语义很直白——在每一条直线路径上的每一个时刻,网络预测的速度都要尽量贴近理想常数速度 。

闭式最优解与 Softmax 权重

这个问题在无限容量的函数空间里能直接写出闭式解(Vanilla Closed-form Solution):

其中归一化权重

逐项的含义如下:

无约束模型会照搬训练集

关键在 是一个整图共享的标量。也就是说,给定当前位置 和时刻 ,模型在整张训练集中只挑出一张“全局距离最近”的样本 ,然后让全图的速度都被这一张图主导。随着 ,分母 趋向 0,距离差异被指数级放大,Softmax 几乎退化为硬选择(one-hot),速度场几乎完全等于 。

后果是:没有任何架构约束的流匹配,会把训练样本原样搬出来——某张生成图在整张范围内都是某张已有训练图的复制品。这就是“死记硬背(Memorization)”陷阱。它揭示了生成质量背后的一个隐患:模型表现好,可能只是因为记住了答案,而不是理解了数据。

Generation?

“ 一篇论文的结果展示了当数据量大到一定程度之后就可以达到生成新图的能力了,这似乎与理论相悖,我们应该怎么看待这个conflict? ”

这个情况反映了我们想要避免memorization是可能的,我们可以找到2个假设去解释它:

那么我们应该怎么去做这个基于不同策略的正则化约束呢? 在动态变化中,最常见的约束就是早停策略,这个策略方便在向量场还没有坍缩到完全样本的时候停下。但是模型架构这一块就有许多可以讨论的点,我们也利用这个点来让model产生creativity!😊

Creativity

平移等变性

平移等变约束

要打破模型对绝对空间位置的依赖,最直接的办法是引入卷积神经网络(CNN)天然具备的平移等变性(Equivariance)。用数学约束表达为:对任意二维平移算子 ,速度场满足

这句话的意思是:先把图像平移,再算速度,与先算速度再平移,结果完全一致。卷积层天然满足这一性质——它在每个空间位置用同一套卷积核滑动,不关心物体出现在画面左上角还是右下角。

平移等变约束下的闭式解

在上述约束下重新求解极小值,闭式解变为

与无约束解相比,改动只有一处:在原先的数据集 之外,额外对所有可能的二维平移 做累加。

无限的数据增强

这一步表面上只是加了一个求和号,实质效果却很深刻。它相当于在数学层面自动把“把每张训练图平移到任意位置”这件事算进了速度场——无需显式做数据增强,平移等变性已经强迫模型对所有空间位移一视同仁。

于是权重不再只盯着“哪张原图最近”,而是“哪张原图的哪个平移版本最近”。模型因此丧失了记忆固定空间位置的能力,转而学会了位置无关的生成:同一个物体无论出现在哪,模型都能用同一套速度规则把它生成出来。这是从“死记硬背”走向“平移泛化”的第一步。

局域性与维纳滤波

局域感受野约束

平移等变性解决了“位置”问题,却还没解决“整图照搬”问题。卷积还有第二个结构偏置——局域性(Locality):第 个像素处的速度预测,只依赖以该像素为中心的一个局部窗口,而不是整张图。用二值掩码 表示这个窗口,约束写成

是逐元素乘积,意思是把窗口之外的像素全部遮掉,速度预测看不见远处的内容。

等变性 + 局域性

同时施加平移等变性和局域性,闭式解进一步变成

其中每个像素 拥有自己独立的局部权重

创造力涌现的关键差异

决定性变化是:权重 不再是整图共享的标量,而是每个像素 各自独立计算的一组权重。这正是“拼贴组合(Mix and Match)”的根源。

它允许一幅生成图的不同区域各取所需:区域 的局部窗口可能和训练集里“猫”的那张图最像,于是把注意力压在 上;区域 的窗口却和“宇航服”最像,于是压在 上。一张图的不同位置,可以从不同训练样本、不同平移里借来素材再拼合,从而打破了“整图只能照搬一张”的限制,涌现出概念拼贴式的组合创造力——猫的脸配宇航服的身体,在流匹配的框架下是局部权重独立选择的自然结果。

维纳滤波

硬设一个正方形窗口仍显死板:它忽略了人脸左右对称、肢体长程关联这类跨越远距的语义结构。更优雅的做法:

取一个简单线性速度场 ,在线性假定下求最优,得到的速度矩阵 恰好是信号处理里的维纳滤波器(Wiener Filter):

这里对数据协方差矩阵 做了特征分解, 是特征向量、 是第 个主成分方向的方差。对角项给出每个主成分方向上的最优增益:方差大的方向(数据能量集中的方向)被保留,方差小的方向被抑制,噪声则被自然滤除。

相关性闭式解

把维纳滤波器 的第 行做二值化,就能得到一条由数据协方差天然导出的动态掩码 。代入前面的闭式解后,无需人为规定“窗口多大、什么形状”,掩码会随时刻 和数据统计自动调整,完美模拟了真实神经网络里由数据特征涌现出的自适应感受野。这套带平移等变性和维纳滤波相关性的解,记为 。

思考问题

架构与优化的交互

前面的分析默认“无限容量 + 硬约束”,但真实训练处在欠参数化与过参数化的交界。欠参数化下架构限制太强导致训练损失降不到 0;过参数化下网络容量过剩,又得靠优化技巧(如早停)来约束。这两者在大模型实际训练中如何此消彼长、共同决定泛化行为,目前仍缺一套统一的描述。

超越 U-Net:刻画 Transformer 的归纳偏置

如今主流架构已从 U-Net 转向 Vision Transformer(ViT)及其生成变体(DiT、SiT)。卷积的等变性和局域性给了流匹配一个清晰的闭式画像,但注意力机制带来的归纳偏置——例如全局交互、层次化 token 化——该如何用类似的闭式框架去刻画,还是一个开放问题呢。

条件引导与大模型记忆边界

当模型接上文本引导(Classifier-Free Guidance),并在 LAION-5B 这类上亿级数据集上训练时,“记忆”与“泛化”的相变边界落在何处?训练数据足够大时,模型是继续拼贴组合,还是重新滑回记忆陷阱?文本条件又会怎样改写上面那些像素级权重的分配?这条从“死记硬背”到“拼贴创造”的主线,在条件化、超大规模场景下仍需重新标定。

小结

流匹配在无约束时的最优解会整图照搬训练样本;我们引入卷积的平移等变性再叠加局域性,权重从整图标量变成逐像素向量,再用维纳滤波让掩码由数据协方差自适应生成,实证上,这套闭式解与真实小型网络高度吻合,反过来坐实了这套解释。剩下的开放问题,大多围绕架构、规模与条件引导这三股力量如何重新定义记忆与泛化的边界。

笔者的话

“ 老早就说着想赶紧看完了,这下终于~,里面有些具体的数学部分我没看的特别细,主要是先理解了这里的过程,毕竟干什么活拿什么工具,这把工具现在用不太上,我先寄存着,但这也总比把工具放在商店好。买来了总归是自己的😌 ”

参考