“具身智能扎堆流匹配”:Flow‑Matching全面取代Diffusion了?

从一只小纸船讲起,看懂流匹配、Diffusion 与机器人运动规划的底层逻辑
——本文出自《具身智能基础》专栏-第14篇
目录
06 Diffusion是流匹配的特例:差在"确定"与"随机"
你肯定见过人形机器人干活的视频:走得挺稳,伸手也利索,可总在某个瞬间“顿”一下——像是卡了一帧。
这一下顿挫,很多时候不全是电机的问题,而是动作本身是被“一格一格算出来”的。
离散的格子之间缺少连续过渡,动作就容易顿。
这个问题的答案不算新,叫流匹配(Flow-Matching)。
它不再是“下一步走哪一格”,而是先学出一整个场——在每一个位置上、每一个时刻,都有一个明确的推动方向。把起点扔进去,被这个场一路推着走,就得到一条连续的轨迹。
流匹配,到底是什么、为什么特别适合机器人、又和 Diffusion 是什么关系?
01 先记住一个画面:小纸船、水流和终点
流匹配的直观印象,可以想象成一艘小纸船被放进一片有方向的水流里,然后过一段时间后被水流推到另外一个位置上。
这个小纸船从一个点(起点),运动到了另外一个点(终点)。
但这里要先说清楚:流匹配里的“点”,不是地图上的“物理坐标点”,而是高维空间里的一个“数据点”。
图片、轨迹、视频,都可以被表示成这样的高维点。
- 先把这个"点"说清楚。
比如说一张图片,一张图片有长有宽,长乘以宽的所有像素取值就构成一个高维点。
更具体的,比如在MNIST数据集里面一张数字图片是784维的一个高维点,每个点的取值是0到255之间的灰度值。

▲图| MNIST一张图是一个高维数据点
- 同样的点也可以是一个轨迹。
一条轨迹也是由多个维度组成的一个高维点。
比如,自动驾驶的常见的50点轨迹,每个点都是一个2维坐标,按先后顺序排列,那么每条轨迹就是100维的一个点。这里是为了举例的一个简化表示。
所以,无论是一张图片,或者是视频,还是自动驾驶/机器人运动的轨迹……都可以表达为一个点(高维点)。
那么再假设这个点的初始值是随机取的,也就是它的每一个维度的取值都是一个随机数,一般我们都会用高斯分布来取这么一个随机数。
如果现在有一个力量,会去推动每一个维度的取值,让其变大或者变小,不断地持续推动,一步一步地推动,最后停在有意义的水平上。
此时最初的随机点,变成了一个"有意义"的点:它可能现在是一张人能识别的图片,比如一只猫;也可能是一条既满足约束、又节约能量的机械臂运动轨迹。

▲图| 从无序到有序(图源网络)
这个力量,由于要推动高维点的每一个维度的值的变化,所以它自己必然也是一个由很多分量的组成的向量。而且不止一个向量,因为我们最初对点的初始位置选取是在可行范围内的任意地方。
所以这个力量必须是一个向量场,也就是每个位置上都有一个推动向量。
第一步,它被当前位置的向量推动;第二步,它到了新位置,又被新位置的向量推动;把所有推动带来的变化累积起来,就是积分。
在 0 到 1 范围内的积分,完成了从起点到终点的连续运动。
所谓归一化向量场是指在这个向量场里面的运动时间它是归一化的,是从0到1这个范围。你把任何一个初始点放进这个场里头,它就会被源源不断的场里面的推动向量推动着前进,一直到终点。
流匹配就是把一个高维数据“点”放进向量场,在向量场推动下持续运动到另一个点。到达的点,就是生成结果。
这个“点”可以是一张图片,也可以是一条轨迹。
02 这个“向量场”从何而来?
用神经网络表达,训练得来。
- 输入输出
输入:要处理的点的每个维度取值;
输出:该点当前位置所受到的推动向量。
由于这个神经网络对输入的每一个点都可以输出对应的推动向量,所以这个神经网络是一个向量场。它对可行范围之内的每一个点,都有一个相应的向量输出。

▲图 | 流匹配是神经网络,来自网络
- 怎么使用?
输入一个点位置,输出这个位置受到的推动向量;
根据这个向量调整点位置;
再重复前面过程。
就像一个小纸船被水流连续推动,小纸船的连续位置变动通过累加获得,也就是积分。
- 怎么训练?
对每一对起点B(无意义随机点)、终点E(有意义点,比如有效轨迹或者有效图片),假设它们的距离为1,线性插值采样为一系列的中间点:
s1 = (1-t1)*B +t1 *E
s2 = (1-t2)*B + t2*E
......
其中tn都是【0,1】之间的随机数,t取值越来越大,表示采样点越来越从起点靠近终点,至于采样多少个点n,是个超参数。
前一个采样点到紧邻下一个采样点的向量差,也就是“前一个点要加上什么样的向量才能变为下一个点”,是label;前一个点本身是feature。
这样获得一对由feature和label(特征和标签)构成的训练数据。
对每一对【起点B、终点E】都可以取得一系列训练数据,来监督学习方式训练神经网络。
当然,采样方式有很多变种,这里只是一种。
不过,这里会自然出现一个疑问。
以生成图片为例,随机选择的初始点怎么知道它最终是要生成哪一个有意义的图像呢?是生成一匹马、一个人、还是一只猫?
答案是:由初始点位置决定。
就像开头那艘小纸船——把它放在水流的哪个位置,它就漂向对应的终点。

如果不希望这种放任自流的形式,还可以有条件流匹配。所谓的条件,就是在初始点上面附加一个类似于“提示词”的额外信息,指定它要生成什么。
这就从“随机生成”变成了“按条件生成”。
03 具身智能为什么需要流匹配
概念和训练都说清楚了,接下来看流匹配在具身智能里的位置。
具身智能设备在真实场景中完成交互、移动、操作等任务时,最大的难点不是识别画面、感知环境,而是持续变化场景下的状态更新与运动规划。
现实环境不会保持固定不变,物体位置、场景结构、运动阻力等条件会随时发生改变,智能设备自身的运动姿态、移动速度也处于持续变动状态。
一切都在流动。
这里的“流”有两层意思:
一是连续不断;二是光滑变化,没有跳变。
传统智能建模方式大多采用分段式、分步式的计算逻辑,把连续的运动过程拆分成多个独立的离散步骤进行计算。每一次分步计算都会产生微小的计算偏差,这些偏差会随着运行步数不断积累。
设备运行时间越长、交互步骤越多,整体偏差越明显,最终会出现动作卡顿、姿态偏移、运动逻辑和物理规则冲突等问题。
流匹配要解决的正是这件事。
它可以把步数压到很低:训练时用的是起点与终点之间的线性插值,路径本身就是一条近乎笔直的线,曲率小,积分时用很少的步数就能贴近真实轨迹——误差还没来得及累积,计算就已经结束。
从实际应用看,流匹配统一了智能设备的状态预测、动作生成、状态调整等任务。
比如 π0 与 π0.5 的动作专家用流匹配生成连续动作;NVIDIA 在 GR00T N1 的论文里直接写明"用流匹配学习动作生成";HuggingFace 的 SmolVLA 只有 0.45B 参数,动作专家同样是用流匹配训出来的。
具身智能里,流匹配输入什么、输出什么?
流匹配的输入数据分为两类,无需复杂的人工处理,原始数据可以直接接入模型参与计算。
- 第一类是智能设备的实时状态与环境观测数据。
包含设备自身的空间姿态、运动速度、位置信息,以及摄像头、深度传感器采集的场景特征、环境结构数据和相邻时刻的运动变化数据。
这类数据完整记录了设备自身状态和周边环境的实时情况,是模型判断运动趋势的基础依据。
- 第二类是任务对应的目标状态分布数据。
它不像目标位置、目标姿态数据的快照,这类数据界定了任务完成时,设备所有可行、合理的稳定状态范围,明确了设备运动演化的最终边界。
两类输入数据分别对应设备的初始运行状态范围和目标运行状态范围,模型靠这两类数据,完成从初始状态到目标状态的连贯运动推演,输入数据的真实完整性,直接决定设备后续运动规划的合理性。
不过,这里有一个需要重点区分的点:
流匹配的直接输出结果可不是设备可直接执行的运动轨迹或动作指令,而是一套覆盖全部运行状态的速度变化规则,也叫速度场。
这套规则会标注设备在任意空间位置、任意运行时刻对应的运动方向和运动快慢,是描述瞬时运动变化的底层计算依据。

▲图 | 流匹配运作示意图(来源网络)
为了保证运动规划平稳合理,这套速度变化规则存在固定约束,能有效避免运动方向突变、速度剧烈波动的问题,确保后续推演的运动路径唯一且连贯。
而单纯的瞬时速度规则无法直接指导设备运行——这也是流匹配的特点:
模型输出的速度场是底层微分层面的计算依据,必须经过时序累积计算,也就是积分运算,才能把无数个瞬时运动状态整合起来,生成完整、可直接用于设备控制的运动轨迹。
04 从速度场到轨迹:积分是桥梁
流匹配从底层计算规则到最终可用轨迹的转换,依靠常微分方程的时序积分实现:
模型训练完成后,会生成完整的全域速度场,覆盖设备运动的全部时刻和全部空间位置。
对归一化时间区间做积分累加,就能完成瞬时运动规律到完整运动路径的转换,积分通用公式(也就是常说的欧拉法)为
公式中代表设备最开始的观测状态。
积分运算的作用是把每一个微小时刻的状态变化量叠加汇总,最终得到设备的完整运动路径和最终状态。同一套速度场可以适应无数种初始状态,通过差异化积分计算生成对应的专属运动轨迹.
这也是流匹配能够适应各类动态场景、通用性极强的原因。
在实际设备运行的工程场景中,无法实现理论层面的精确连续积分,全部采用离散数值积分的方式完成计算,最常用的两种方式为欧拉积分和龙格-库塔积分。
- 欧拉积分计算逻辑简单
把完整的运动时间拆分为多个均等的短时段,每一个时段都按照当前位置的速度完成状态更新,计算量更小,适合结构简单、实时性要求高的轻量化设备任务。
- 四阶龙格-库塔积分的计算精度更高
会通过多个采样点拟合单一时段的动态变化,修正简单分步计算产生的微小偏差,适合高精度、高维度的设备运动建模场景。
经过积分运算生成的连贯运动轨迹,就是流匹配体系中唯一可直接使用的最终结果,能够直接指导设备完成姿态调整、连续动作输出和环境交互,彻底解决传统离散计算带来的动作跳变、运行不稳等问题,让设备运动完全贴合现实物理规则。
05 流匹配的数学原理:分布到分布的确定性演化
流匹配的计算,靠状态分布转换、连续系统推演、最优路径规划三类基础数学逻辑搭建。
这和传统机器学习依靠数据拟合的简单逻辑很不同。
流匹配是对整体状态分布的整体调整,整个转换过程不会出现状态信息丢失、多余状态生成、局部状态异常等问题。
这一特性让它可以处理各类复杂的非线性状态变化,也是其能够适应高维度设备运动场景的优势。
从标准化的数学定义来看:
设设备初始状态对应的分布密度函数为,任务目标状态对应的分布密度函数为
,设置统一的时间区间
规范整个演化过程的时长。
模型会生成随时间和空间变化的速度场,设备的所有运动状态
,都遵循固定的微分方程规则变化:
随着时间从0到1持续推进,设备的初始状态分布会沿着既定路径持续调整、更新、重构,最终平稳过渡到目标状态分布。
整个变化过程是完全确定的,没有随机变动因素,每一个初始状态都对应唯一的演化路径和最终状态,运动过程可以追溯和预判,和带随机扰动的扩散模型演化方式形成明显区别。
流匹配的模型训练逻辑,是缩小模型生成的速度场和真实最优速度场的差距。
算法会先生成不同时刻的中间状态分布,通过数学推导得到每一时刻合理的真实速度变化规则,以此作为参照标准。

▲图 | 流匹配运作动图,注意右上角t始终在【0,1】之间,这解释了何时停止生成
神经网络作为拟合工具,持续学习、优化自身生成的速度场参数,不断缩小和真实规则的差距,直到模型生成的状态演化规律无限贴近最优标准。
整个训练过程不需要额外添加复杂约束条件,优化过程稳定,不会出现训练停滞、局部最优的问题。
流匹配的全部状态转换过程,始终遵循固定的守恒方程:
这个方程的作用是保证整个运动演化过程中,设备的状态信息总量保持恒定,不会出现信息缺失、状态畸变等问题。
通过统计空间内的状态流动情况,实时约束状态的汇聚和扩散趋势,让整体演化过程始终保持合理、合规。
06 Diffusion是流匹配的特例:差在"确定"与"随机"
流匹配里,点在向量场作用下从起点连续变动到终点,每一步都受一个明确的向量指引;不管严不严格,它总是一个定值。训练时,也是拿明确向量当标签。
那么,如果在训练和运动时,加的不是确定向量,而是一个随机噪音(一般服从高斯分布)呢?
——这就是 Diffusion 的思想。
扩散模型的所有计算逻辑和演化规则,都可以被流匹配的通用体系覆盖,属于流匹配框架下的一种特殊简化形式,不具备独立的底层理论体系。
多数研究对两类模型的认知偏差,主要源于混淆了理论层面的连续演化逻辑和工程落地中的分步采样形式。
- 从基础数学逻辑来看
扩散模型的加噪、去噪、采样、状态更新等所有流程,都可以通过流匹配的方程推导得出,其所有功能特性都被流匹配的能力范围包含。
简单来说,扩散模型是受限版本的流匹配,而流匹配是完全通用的完整框架。
- 从连续演化的统一视角看,扩散模型可以看作流匹配框架中一种带随机扰动、路径受限的特殊形式。
扩散模型的前向加噪流程,对应固定参数、固定路径的简单状态转换:
按照固定比例,逐步把真实的设备状态数据转化为标准噪声数据,整个转换路径、变化速度、调整幅度都是固定不变的。
这一过程完全舍弃了动态调整能力,无法根据数据特征、场景变化优化状态演化路径,只是流匹配众多状态转换形式中最简单、最固定的一种线性变换形式,不具备复杂场景的适应能力。
反向去噪、数据生成流程,则是在确定性演化逻辑基础上增加了随机扰动。
扩散模型实际使用的反向计算方程,由流匹配基础方程叠加随机波动项推导而来。

▲图 | 直观上,流匹配是直来直去,Diffusion是磕磕绊绊(因为随机噪音让它有往复)
它的使用范围因此受到极强限制:只能完成真实状态和噪声状态之间的双向转换,演化路径只能是固定的线性路径,无法实现任意两类状态分布之间的非线性转换。
这种固定的约束条件,让扩散模型的通用性大幅降低,只能适应简单的生成任务。

▲图 | 从另外一个角度可见,流匹配没有往复,Diffusion有往复(来源网络)
而流匹配的通用框架没有任何固定约束:
不限制转换的状态类型、不固定演化路径、不锁定变化速度,能够根据不同的场景特征、不同的任务需求,动态调整状态演化的整体规则,实现任意两种状态分布的最优转换。
对比说来,扩散模型就是流匹配通过限制转换对象、固定演化路径、增加随机波动后形成的简化模型;
流匹配具备的动态适应、非线性转换、全域最优规划等能力,都是扩散模型不具备的特性。
这也是流匹配能够突破扩散模型的性能局限,适应复杂具身智能任务的原因。
07 四个环节跑通训练:不绑定设备,但算力决定形态
流匹配无法通过固定公式直接计算复杂场景的动态速度场,必须依靠深度神经网络完成拟合计算。
神经网络的作用是模拟复杂的时空变化规则,输出连续、平滑、符合物理规律的速度参数,而不是传统模型输出的离散分类结果或固定动作指令。
整体算法流程分为四个环节,依次完成:
中间状态生成 → 速度场拟合 → 误差统计 → 参数优化。
网络结构可以根据设备状态维度、场景复杂程度灵活调整,唯一的要求是保证生成的速度场平滑稳定,确保后续积分推演的运动路径合理可用。
流匹配算法本身不绑定任何硬件设备,硬件的选择只由计算量大小决定。
- 在简单场景、低维度设备运动任务中:
模型参数少、计算步骤少、积分迭代次数低,整体计算压力较小。
普通CPU的串行计算能力完全可以完成模型训练、状态求解、实时推理等全部任务,能够满足低端边缘设备的运行需求,在理论和工程层面都不存在使用限制,适合轻量化终端设备部署。
- 在高维度、多设备协同、场景复杂的大规模任务中:
流匹配需要处理海量的环境数据、状态数据,包含大量矩阵运算、微分求解、积分累加操作,整体计算压力大幅提升。
GPU具备多并行计算能力,可以同时处理大批量数据,同步完成多项计算任务,能够大幅缩短模型训练和实时推理的耗时。同时GPU的大容量、高带宽显存,可以承载海量时序数据的读写和缓存操作,解决高维数据计算带来的性能瓶颈,大幅提升复杂场景下的运行效率。
经过精简、压缩后的轻量化流匹配模型,计算量大幅降低,可以直接部署在嵌入式设备、移动端等低算力终端,无需依赖云端高性能算力集群。
08 超长时序,总有流匹配
流匹配为具身智能的动态建模提供了稳定通用的计算框架,解决了传统离散计算方式的偏差累积、状态畸变、运动失配等问题,实现了智能设备状态演化的平滑性和可解释性。
作为流匹配框架的特殊简化版本,扩散模型的功能和理论边界被完全包含在流匹配体系中,这也体现了流匹配的通用性和拓展性。
流匹配的运行不绑定固定硬件,算力适应范围广,可根据任务复杂度灵活选择运行设备,工程落地门槛低,适应各类终端和算力集群的部署需求。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)