Token导航 LogoToken导航

AI 资讯 · 科技行者

机器人强化学习用单数字替代矩阵优化流匹配模型

更新 2026-11-10科技行者正文 6748字阅读约 22分钟

有一个问题困扰了做机器人强化学习的研究者好几年:你训练好一个会生成动作的流匹配模型,想用强化学习再优化它一下,让它表现更好。但这个模型生成一个动作要走很多步,就像你写一篇文章要打几十次草稿才能定稿。强化学习的评价信号只在最后一稿给出,可你想告诉前面每一次草稿修改方向,这信号要怎么传回去?

这篇论文要讲的,就是研究者们怎么把这件麻烦事变简单的故事。

流匹配模型是什么

先说说什么是流匹配策略。

流匹配*:一种生成模型技术,它从一堆随机噪声出发,通过很多小步骤逐渐把噪声"整理"成一个有意义的输出,比如一个机器人动作。

你可以把它想象成雕塑家凿石头。一块粗糙的石料(随机噪声)经过几十次精细的凿刻(流步骤),最终变成一座雕像(具体动作)。每一凿都是在前一步的基础上微调方向,石料不是一下子变成雕像的,是一步步靠近的。

机器人策略现在越来越多地用这种方式生成动作,因为它能表达特别丰富多样的动作分布,不像老式方法那样只能生成单一僵硬的输出。像Physical Intelligence的π0系列、英伟达的GR00T N1,这些大型机器人基础模型骨子里都是流匹配。

问题来了,这些模型通常先用人类示范数据做模仿学习训练出一个基础版本,然后研究者想用强化学习再给它"开小灶",让它在基础能力之上变得更强,超越示范数据本身的水平。这就要用到一个叫Q函数的东西。

Q函数(也叫价值函数)*:给定一个状态和一个动作,Q函数会打分,告诉你这个动作在这个状态下大概能带来多少长期回报。强化学习就是不断调整策略,让它生成的动作能拿到更高的Q函数打分。

但要把Q函数的打分信息传递给流匹配模型内部的每一步雕刻动作,没那么直接。因为Q函数只能看到雕刻完成后的最终成品,它看不到也不理解雕刻过程中间任何一凿的状态是什么样子的。

当时领域里怎么处理这个难题

现在业界有几种办法。

最简单粗暴的一种是干脆不碰这个流匹配模型本身,冻住它,在外面加一个小型的修正模块,让这个新模块去学怎么对最终生成的动作做些微调。这就像你不改原来的文章,而是雇一个编辑在你写完之后帮你润色几句。好处是简单安全,坏处是编辑的能力永远受限于你原文的底子,你的文章天花板本来就在那,编辑顶多帮你擦亮一点,没法真正突破上限。EXPO、DSRL这类方法走的就是这条路。

另一条路更硬核,叫adjoint matching。

Adjoint matching(伴随匹配)*:一种理论上更严谨的方法,它把Q函数在最终动作上的梯度信息,通过一个叫"伴随常微分方程"的数学工具,一步步往回传播,告诉雕刻过程中的每一凿应该往哪个方向调整。

这个方法听起来很美好,直接改模型本身,不像前面那种外挂方案受限于原模型的能力上限。但它有个致命的代价:要把梯度信息往回传,每一步都要做一次"向量雅可比积"运算,这个运算要穿过整个策略网络一次。

雅可比矩阵*:描述一个函数在某一点附近各个输出维度对各个输入维度的敏感程度的矩阵,可以理解成一张"牵一发动全身"的关联图。

如果你的流匹配模型要走十步、二十步才能生成一个动作,那你就要做十次、二十次这种昂贵的运算,而且策略网络越大,每次运算也越贵。这就好比你写文章要修改二十次,而编辑每次给你反馈意见之前,都要重新把你写文章时脑子里涉及的所有知识关联全部重新梳理一遍,想想看,这得多慢。

这篇论文的研究者就是卡在了这个地方:既不想放弃adjoint matching那种能直接改进生成模型本身的理论优势,又受不了它每一步都要做昂贵运算的代价。

他们发现了什么

研究者们做了一件很朴素的事:打开那个雅可比矩阵看看里面长什么样。

他们把预训练好的流匹配模型,在一批状态上跑了一遍,把雅可比矩阵平均算出来,然后画成了热力图。结果让人意外:这个矩阵几乎只有对角线上有颜色,其他地方几乎全是空白。

对角矩阵结构*:指的是矩阵里只有从左上到右下这条对角线上有数值,其余位置的数值接近于零,这意味着矩阵的每个输出维度几乎只受对应的那个输入维度影响,维度之间互相不太纠缠。

论文里给出的图很直观,在antmaze、humanoidmaze、puzzle、cube四个完全不同的任务领域上,这个对角线结构都稳定出现,不是偶然现象。研究者后面在附录里把所有十个任务领域都测了一遍,结果一致。

这个发现意味着什么?意味着那个昂贵的"向量雅可比积"运算,其实大部分精力都浪费在计算那些几乎为零的非对角线项上。真正起作用的信息,几乎全部集中在对角线这一条窄缝里。

如果不去发现这个规律会怎样?研究者就只能继续忍受那个随着流步数和模型规模线性增长的计算负担,adjoint matching永远只能停留在小模型的实验里,没法用到像π0这样动辄几亿参数的大型机器人基础模型上。规律发现的意义正在这里:它把一个"必须全算"的问题,变成了"可以近似"的问题。

从矩阵到一个数字:标量伴随

既然雅可比矩阵几乎是对角的,研究者干脆做了一个大胆的简化:把整个矩阵近似成一个数字乘以单位矩阵。

单位矩阵*:对角线全是1、其余全是0的矩阵,相当于什么都不做,原样输出。

这个近似听起来有点粗暴,但在数学上有巨大的好处。原来那个要靠数值积分一步步往回传的伴随常微分方程,在这个假设下居然有了解析解,也就是说可以直接写出一个公式,不用再一步步数值求解。研究者证明了,在这个假设下,解出来的结果恰好等于流动时间τ乘以Q函数在最终动作上的梯度。

τ(流动时间)*:表示生成过程进行到哪一步了,从0(刚开始,全是噪声)到1(结束,生成完整动作)。

研究者进一步发现,公式里有一个指数因子,这个因子只是对整体大小做缩放,不影响方向,于是干脆把它也省略掉了,剩下的公式极其简单:某一步的调整方向,就是负的τ乘以Q函数的梯度。他们管这个叫标量伴随。

这个简化带来的直接好处是,不再需要在流匹配模型内部穿行做任何向量雅可比积运算了。只需要在最终生成的动作上算一次Q函数的梯度,然后乘上不同的τ值,分发给每一步就行。

这就像是,原来编辑要在你写文章的每一步都重新理解你整篇文章的所有逻辑关联才能给反馈,现在编辑发现,其实只需要在你写完之后告诉你一句话:"整体方向需要往左调一点",然后你自己按比例把这句反馈分摊到每一次修改里就够了,越靠后的修改分摊的比重越大,因为越靠后的草稿离最终定稿越近,越需要精细调整。如果不这样简化,编辑每次反馈前都要重新梳理一遍全文逻辑,那你改二十次稿,编辑就要重新梳理二十次,这工作量显然不成比例。

论文里有张图专门验证了这个简化是不是靠谱。他们比较了标量伴随和精确伴随(也就是老老实实做向量雅可比积算出来的真实结果)在方向和大小上的差异。结果显示,两者在大小的变化趋势上几乎一致,流动时间越接近0,两者的调整幅度都越小,这个趋势完全对得上。方向上,标量伴随始终和精确伴随保持正相关,没有跑偏。不过研究者也诚实地指出,这个夹角在操作类任务(比如cube、puzzle这种需要精细抓取操作的任务)上比在导航类任务(比如antmaze、humanoidmaze这种走迷宫式的任务)上要大一些,这个细节后面会牵出另一个重要发现。

单独用标量伴随还不够:价值函数的陷阱

研究者原本以为找到这个简化公式就万事大吉了,结果一测试才发现,光用标量伴随,在操作类任务上效果并不好。

这事儿背后的原因挺微妙的。精确伴随因为要穿过雅可比矩阵,Q函数的梯度信息被这个矩阵"过滤"了一下才传到每一步,相当于信息经过了一层缓冲。标量伴随直接把Q函数的梯度原封不动地分发出去,没有缓冲。

这意味着,一旦Q函数本身在策略生成的那个具体动作上估计得不准,这个误差会被标量伴随毫无保留地放大传递出去,没有任何过滤机制来缓冲它。

Q函数估计不准确的问题,在强化学习里早就不是新鲜事了。研究者们之前提出过各种办法来约束Q函数,防止它在没见过的动作上乱打高分。常见的做法大致分两类。

一类叫in-sample方法,像IQL那种做法,它干脆只在数据集里真实出现过的动作上训练Q函数,从不去评估策略自己生成的那个动作上Q函数的值。另一类叫行为正则化,像ReBRAC那样,它去约束策略生成的动作和数据集动作之间的距离,让策略不要跑得太远。

论文里实测发现,这两类方法用在标量伴随上效果都不理想,几乎和完全不加任何约束的效果差不多。

原因其实挺好理解。标量伴随的更新信号,直接依赖Q函数在"策略当前生成的那个动作"上的梯度值。In-sample方法从来不碰这个动作上的Q函数评估,它管不到真正起作用的那个点。行为正则化约束的是动作本身的位置,不是Q函数赋给这个动作的数值,它管住了"你别跑太远",却没管住"你在这个位置的打分是不是靠谱"。

这就像一个老师在批改学生的作文草稿时,一直只盯着教材里的范文打分标准(in-sample),从来不去看学生自己写出来的那篇草稿到底该打几分;或者老师管的是"你这次改动的字数不能太多"(行为正则化),而不是"你这次改完之后这篇文章到底好不好"。两种管理方式都没对准真正需要被约束的那个点,学生草稿本身的质量评分。

于是研究者提出了一个针对性的解法,叫价值惩罚。

价值惩罚*:在训练Q函数时额外加一项惩罚,专门约束Q函数在策略刚刚生成的那个动作上的打分,不能比它在数据集真实动作上的打分高太多。

这个设计精准地打在了标量伴随真正依赖的那个点上,策略生成动作处的Q函数取值。而且这个惩罚几乎不花额外成本,因为策略生成的那个动作本来就是训练过程中已经采样好了的,直接拿来用就行,不需要额外再采样。

研究者还顺手验证了另一个相关的猜想:如果直接惩罚Q函数在这个动作上的梯度大小(而不是数值大小)会怎样?结果是也有效,尤其在cube-quadruple任务上效果明显,而且论文从数学上证明了价值惩罚做一阶展开后,恰好和梯度大小惩罚是等价关联的,两者背后其实是同一个道理的不同表现形式。

为了彻底验证这个解释是不是站得住脚,研究者还做了个对照实验:把价值惩罚用在精确伴随(也就是TRQAM那个用完整雅可比矩阵的老方法)身上,结果价值惩罚确实也让精确伴随变好了一点,但幅度远不如它对标量伴随的提升那么明显。这恰好印证了之前的推理:精确伴随本身因为穿过了雅可比矩阵,已经自带一层缓冲,价值惩罚的边际收益自然就小了。

最终方案:SQAM

把标量伴随和价值惩罚拼到一起,就是这篇论文提出的最终方法,叫SQAM。

SQAM(Q-learning with Scalar Adjoint Matching)*:一种让流匹配策略做强化学习微调的算法,核心是用一个标量数字代替整个雅可比矩阵,再配合一个专门盯住策略生成动作的价值惩罚,整体上既省了大量计算,又没有牺牲性能。

这个方法的算法骨架其实继承自之前的TRQAM,也就是那套用信任域来约束微调幅度不要跑偏太远的框架。研究者保留了这套信任域机制,只是把里面最耗资源的那部分,逐步求解伴随常微分方程,换成了标量伴随这个闭式公式。

实验结果怎么样

论文在OGBench这个基准测试上做了大规模对比,涵盖十个任务领域、五十个具体任务,覆盖导航类(蚂蚁迷宫、人形迷宫)和操作类(方块抓取、拼图、场景摆放)两大类场景。

结果比较集中地印证了这个方法的价值。在整体五十个任务上,SQAM达到了75%的平均成功率,而之前最强的基线方法TRQAM是68%。差距看起来不算惊人,但真正值得关注的是增益集中在哪里。

| 任务领域 | 最强基线成功率 | SQAM成功率 | 提升幅度 |

|---|---|---|---|

| antmaze-giant | 41% | **62%** | 21个百分点 |

| humanoidmaze-large | 36% | **54%** | 18个百分点 |

| cube-triple | 50% | **72%** | 22个百分点 |

| cube-quadruple | 19% | **54%** | 35个百分点 |

这四个领域恰恰是整个基准里最难啃的四个,数据集最大(最多到一亿条转移样本)、任务最复杂、动作空间维度最高。换句话说,SQAM不是在所有任务上均匀地好一点,它是专门在最硬的骨头上啃出了明显差距。这是一个挺有意思的信号:说明这套方法的优势随着任务难度上升反而更明显,而不是在简单任务上刷个漂亮数字,难任务上原形毕露。

在额定数字背后还有个细节值得一说:cube-double这个任务上,价值惩罚反而让离线阶段的成绩下降了,所以研究者在这个任务上干脆把价值惩罚关掉不用。这说明价值惩罚不是放之四海而皆准的万能钥匙,它需要针对具体任务去调,这也是论文很诚实地披露出来的一个局限。

真机实验:走出仿真房间

光在仿真器里好用还不够,研究者把SQAM搬到了真实的双臂机器人上,用的是一台配备两只20自由度灵巧手的人形机器人,底座是RB-Y1,手是Wuji Hand 2,脑子是一个叫RLDX-1的视觉语言动作预训练模型。

VLA模型(视觉语言动作模型)*:一种接收图像和文字指令,输出机器人动作的大型预训练模型,是当前机器人领域最热门的技术路线之一。

研究者设计了三个真实任务:把一个塑料袋翻过来、把吸管插进杯子、把水果放进锅里再盖上盖子。每个任务先用人类示范做监督微调,再用SQAM跑15000步离线强化学习,接着继续跑10000步在线强化学习,也就是让机器人边跟真实世界互动边继续学习。

结果显示SQAM在这三个任务上全面超过了纯监督微调。拿吸管任务来说,监督微调版本30次里只成功7次,SQAM离线阶段提升到13次,经过在线继续训练后达到15次,几乎翻倍。而对比的另一个方法EXPO-FT(那种冻住基础模型只学一个外挂修正模块的做法)在这个任务上反而完全没学会,30次里0次成功。

这个对比很说明问题。EXPO-FT需要从零学一个全新的修正策略,这个修正策略没有继承基础模型已经学会的那些能力,相当于让一个新手编辑从零开始理解你的文章风格,而SQAM是直接在原有模型基础上微调,相当于让原作者自己改进自己的文章,天然就带着对全局的理解。

研究者还做了个细致的分析,看成功的那些回合用了多长时间完成任务。SQAM在翻塑料袋和放水果盖盖子这两个任务上,完成时间都比监督微调版本更快,说明不仅成功率提高了,动作本身也变得更果断利索了。

写在后面

读到雅可比矩阵呈对角结构这个发现的时候,我第一反应是:这事儿听起来太巧了,巧到让人怀疑是不是因为流匹配这类生成模型本身的训练目标就倾向于让网络学出这种结构。论文里没有给出理论解释,作者自己也坦诚地把这个问题留在了未来工作里,他们知道这个现象存在,但不知道为什么存在。这种诚实其实比强行给出一个牵强的解释更让人信任这篇工作。

另一个让我反复琢磨的点是价值惩罚和梯度范数惩罚之间那个一阶展开的等价关系。两个看起来完全不同角度的正则化手段,一个管数值,一个管梯度,居然在数学上能被证明是同一件事的两种近似表达。这提醒我,很多时候我们以为自己设计了"两种不同的解法",其实只是同一个洞察的两张皮。

论文结尾那句"问题可能不在策略更新上,而在Q函数本身"也值得单独咂摸一下。整篇论文一开始关心的是怎么省掉伴随矩阵计算,最后却绕回了一个更根本的问题:你给策略的反馈信号本身靠不靠谱。这种从"怎么算得更快"最后落到"算的东西本身对不对"的转折,是这篇论文里我觉得最有价值的一个思路转弯。

如果一个粗糙的近似就能撑住整个策略更新,那真正决定上限的那道墙到底在哪里?

Q&A

Q1:SQAM是什么?

A:SQAM全称是Q-Learning with Scalar Adjoint Matching,是一种让流匹配机器人策略做强化学习微调的算法。它发现预训练流模型的速度场雅可比矩阵集中在对角线上,于是用一个标量数字近似代替整个矩阵,省去了每个流步骤都要做的向量雅可比积运算,再配合一个专门约束策略生成动作处Q函数取值的价值惩罚,一起提升性能。

Q2:SQAM相比之前的adjoint matching方法有什么优势?

A:传统adjoint matching(比如QAM、TRQAM)需要在流匹配模型的每一个生成步骤上都做一次向量雅可比积运算,计算成本随流步数和策略规模线性增长。SQAM用闭式的标量伴随代替了这个过程,不需要穿过策略网络做任何向量雅可比积,计算量大幅降低,同时在OGBench最难的四个任务领域上成功率反而比TRQAM高出18到35个百分点。

Q3:SQAM在真实机器人上效果如何?

A:研究者把SQAM用在了配备双臂和灵巧手的真实机器人上,微调一个视觉语言动作预训练模型完成三个操作任务。结果显示SQAM在所有三个任务上都明显超过了纯监督微调,比如插吸管任务成功率从7/30提升到15/30,而对比的EXPO-FT方法在这个任务上完全没学会。

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。