Token导航 LogoToken导航

AI 资讯 · 科技行者

机器人策略仅输出单一动作序列的问题

更新 2026-11-04科技行者正文 5374字阅读约 17分钟

你有没有想过,一个机械臂在抓取桌上的瓶子之前,脑子里其实可以有好几种"打算"?

它可以打算把瓶子放进左边的盘子,也可以打算放进右边的盘子。两种做法都对,没有标准答案。可是绝大多数机器人策略,训练完之后只会给你一个动作序列,就好像它心里只有一个念头,剩下的可能性全被压扁了。

这篇论文要解决的,正是这个"压扁"的问题。

**机器人的选择困难症**

想象你在教一个学徒如何绕过桌上的障碍物走到终点。有的时候你从左边绕,有的时候你从右边绕,两条路都能到。学徒看了你一百次示范,发现你左绕五十次、右绕五十次,于是他学到了什么?

如果用最朴素的训练方式,就是让模型去拟合一个"平均动作",学徒会学到一条诡异的中间路线,直直撞向障碍物。

这不是夸张的比喻,论文里真有这组对比实验。用均方误差训练的普通模型(MLP),在D3IL的Avoiding任务里,面对同一个起始状态,直接撞上了障碍物。而CTP(这篇论文提出的方法)沿着一条干净的无碰撞路线走到了终点。两者用的是同一个起点,差别就在于模型有没有能力"记住"多种可行路径,而不是把它们强行揉成一个。

机器人学术圈把这叫做多模态模仿学习。

多模态模仿学习:同一个观察状态下,存在多种都合理的动作方案,模型需要学会表达这种"多选项",而不是输出单一的平均答案。

那怎么解决这个问题呢?过去几年,业界主要走了两条路。

第一条路是扩散模型(Diffusion Policy)和流匹配(flow matching)这类生成式方法。它们确实能表达多种可能性,效果也相当好。但代价是什么?代价是每次决策都要让神经网络跑很多遍,一步步地去噪或积分,才能生成一个完整的动作。

这就好比你问一个厨师"今晚做什么菜",他不是立刻给你答案,而是要先炒一遍试试咸淡,再炒一遍试试火候,炒上一百遍才端出最终成品。味道可能确实好,但你饿得前胸贴后背的时候,这个等待时间就成了大问题。

论文里给出的数字很直接:在Push-T这个任务上,Diffusion Policy跑一次推理平均要902.85毫秒,CTP只要0.95毫秒。差了将近一千倍。这个差距在需要高频率、快速反应的闭环控制场景里,几乎是致命的。

第二条路,是让模型一次性并行输出好几个候选动作序列,这样就不用反复迭代了。听起来很合理,对不对?一个网络前向传播,直接吐出K个候选方案,每个方案对应一种可能的行为。

但这里藏着一个陷阱。

**候选越多,坍缩越快**

这些并行输出的候选方案,理论上应该互相独立、代表不同的行为模式。可实际训练起来,经常发生的事情是:所有候选方案悄悄挤到了同一个高密度区域,表面上看有五个候选,其实它们长得几乎一模一样。

论文管这叫模式坍缩。

模式坍缩:模型本该输出多种不同的行为模式,但训练过程中,这些名义上独立的候选逐渐收敛成了同一种行为,表面多样实则单一。

为什么会这样?因为这些候选在数学上是可置换的,哪个候选对应哪种行为,训练刚开始的时候完全没有固定分工。就像一个班级里新分的五个小组,一开始没有明确任务,大家很容易都挤去抢同一个热门项目,没人愿意主动去冷门一点但同样重要的方向。

如果放任不管,模型的输出容量再大,也形同虚设。

这是CTP要解决的第一个核心问题:怎么让这些候选轨迹真正分化,各自代表数据里存在的不同行为模式,而不是挤在一起内卷。

除此之外,还有第二个问题,这个问题更隐蔽,论文把它叫做"跨片段模式拼接"。

机器人在执行任务时,不是一次性把整条轨迹走完的。它通常只执行预测出来的动作片段的前几步,然后重新观察环境,重新规划。这个过程叫动作分块(action chunking)加上滚动时域控制(receding-horizon control)。

动作分块:把完整的动作序列切成一段一段的片段来预测和执行,而不是一次性规划到底。

滚动时域控制:每执行完一小段动作,就重新观察环境、重新预测接下来的动作,持续滚动前进,而不是一次规划管到底。

问题来了:每次重新规划的时候,模型又会给出一批新的候选轨迹,这批候选和上一轮的候选之间,索引编号是完全对不上的。上一轮的"候选2"是往左绕,这一轮的"候选2"可能变成往右绕了,名字一样,含义全变了。

如果策略在这种情况下稍微有点概率波动,就可能在两次规划之间从"左绕"的候选切换到"右绕"的候选。单独看每一段都是可行的,拼起来却是一段不连贯、甚至失败的行为,机器人在中途来了个诡异的急转弯。

这就好比你开车导航,第一段路线说"前方路口左转去A商场",走到一半,导航突然重新规划,说"建议右转去B商场",两条路单独看都能到目的地,可你已经开到一半,车头突然调转,轻则绕远,重则直接违规变道造成事故。导航系统需要的不是每一步都给出"合理"的新建议,而是要记得你之前的选择,除非有充分理由才改主意。

机器人的轨迹规划也是一样的道理。

**CTP怎么解决这两个问题**

论文给出的方案叫CTP,全称Conditional Trajectory Peaks,条件轨迹峰值。

它的核心设计思路是,用一次共享的神经网络前向传播,同时预测出K条完整的轨迹候选(不是一步步预测,而是整段动作直接给出),每条候选还附带一个概率权重和一个表示不确定性的尺度参数。

这里的"一次前向传播"用了一个专门的术语叫NFE=1。

NFE(Number of Function Evaluations):指生成一次输出需要调用神经网络的次数。扩散模型通常NFE远大于1,需要反复迭代;CTP做到了NFE=1,一次调用就拿到所有候选。

有了候选之后,怎么解决前面说的模式坍缩问题?论文设计了一个叫DAPS(Distribution-Aware Peak Specialization,分布感知的峰值专化)的训练机制。

DAPS做了两件事。第一件事,是给每条候选轨迹分配一个"责任值",这个责任值不是简单地按距离最近原则分配,而是综合考虑了轨迹的拟合误差、该候选的概率权重、以及它的不确定性尺度,用一种叫软分配的方式,让训练信号更合理地分散到各个候选上。

第二件事,是设计了一个"重叠惩罚",专门盯着那些概率权重都很高、但彼此又靠得太近的候选对,逼它们分开。注意这里有个精妙的地方:这个惩罚只对高概率的候选对生效。那些概率权重本来就很低、没什么数据支持的候选,不需要强行拆开,它们会自然而然地在训练中权重越来越小,逐渐被边缘化,而不是被人为塞进一个本不该存在的模式里。

这就像管理一个创业团队,你不会要求每个员工都必须做出截然不同的创新,而是重点关注那些手握重要资源、却总在重复做同一件事的核心成员,推动他们往不同方向发力。至于那些本来就没什么存在感的边缘岗位,随它自然萎缩就好,强行给它们安排"特色业务"反而是资源浪费。

如果没有DAPS这套机制会怎样?论文的消融实验给出了答案:把候选数从1提升到4,分数从77.34%涨到80.30%,涨幅不算大。再加上DAPS,分数直接跳到85.67%,涨了5.37个百分点。这说明光靠增加候选数量是不够的,关键还是要让这些候选真正学会分化。

解决了训练阶段的模式坍缩,接下来要解决的是推理阶段的跨片段拼接问题。论文给的方案叫ETBT,全称Evidence-Gated Trajectory Belief Transport,证据门控的轨迹信念传输。

ETBT的思路是,不再依赖候选的编号来判断"这一轮的候选3和上一轮的候选3是不是同一个行为",而是直接比较轨迹本身的几何形状。具体做法是,拿上一轮候选轨迹里还没执行的那一段(后缀),去和这一轮新预测出来的候选轨迹的开头部分(前缀)做比较,算一个匹配代价,代价越小说明两者越可能是同一种行为的延续。

有了这个匹配关系之后,上一轮的"信念"(也就是机器人倾向于哪种行为)就可以传递到这一轮,形成一个历史先验。但这个历史先验不是铁律,它会和当前这一轮网络给出的最新概率判断进行融合。

更关键的是,ETBT设计了一个"证据门控"机制:如果当前网络给出的新证据明显比历史延续候选更有说服力,或者轨迹匹配本身就不太可靠,历史约束会被主动释放,选择权交还给当前证据。

这就像一个老练的项目经理,他会尊重团队之前的决策惯性,不会因为一点点风吹草动就推翻原计划。但如果新汇报上来的数据明确显示原计划行不通,他也不会死守历史决定,而是果断调整。历史是参考,不是枷锁。

那这套机制管不管用?消融实验显示,在DAPS的基础上再加上ETBT,Push-T的分数从85.67%进一步提升到91.40%,又涨了5.73个百分点。这说明,光有好的候选轨迹还不够,执行过程中怎么在不同轮次之间保持行为一致性,同样是决定闭环表现的关键一环。

**跑分说话:CTP到底有多强**

说了这么多设计思路,实际效果如何?

论文在好几个标准测试环境里做了验证。先看Push-T,这是一个经典的推方块任务,要求机器人把T形方块推到指定位置,存在多种可行的推动路径。

在统一评测协议下,CTP拿到了0.9140的分数,是对比的所有方法里最高的。此前最强的两个方法IMLE Policy和Diffusion Policy-C分别是0.8874和0.8790,CTP比它们分别高出2.66个百分点和3.5个百分点。而且CTP的推理延迟只有0.95毫秒左右,Diffusion Policy需要902.85毫秒,差距接近千倍。

再看D3IL基准测试集的三个代表性任务。Avoiding(避障)任务,CTP拿到100.0%的成功率,超过此前最好的结果BESO的95.0%。Aligning(对齐)任务,CTP是79.72%。Sorting-2(分拣)任务,CTP是84.44%,接近此前最好结果88.2%。

这三个任务分别代表路径规划、姿态对齐、物体排序三种不同类型的多模态行为,CTP在三者上都表现出了比较扎实的建模能力。

在LIBERO这个更贴近真实场景的视觉语言动作基准上,论文把CTP嫁接进了π0.5这个预训练好的视觉语言模型框架里,测试了Spatial、Object、Goal、Long四个任务套件,总共40个具体任务。CTP的平均成功率是97.25%,和π0.5本身(96.75%)、Motus(97.70%)、Fast-WAM(97.60%)都处在同一水平线上。

真正拉开差距的是推理速度。CTP把完整的策略调用延迟从218.24毫秒压到了75.80毫秒,提速2.88倍,P95延迟从219.64毫秒降到76.15毫秒。考虑到两者预测的都是50步动作、执行10步再重新规划,这个加速不是靠偷懒减少规划频率换来的,是实打实的单次推理效率提升。

**真机实验:盘子选对了吗**

跑分之外,论文还做了一组我觉得挺有意思的真实机器人实验,专门用来验证CTP是不是真的保留了多种行为模式,而不是在实验室数据里好看,上了真机就露馅。

实验设计很直接:机械臂抓起一个物体,可以放进左边的盘子,也可以放进右边的盘子,两种都算成功。指令本身没有指定放哪个盘子。

论文收集了300条示范数据,左右各150条,形成一个均衡的双峰分布。50次真实试验里,CTP选择左盘31次(62%),右盘19次(38%),全部50次都成功放置。没有一次出现"平均轨迹"卡在两个盘子中间的尴尬情况。

这个结果挺说明问题的。如果模型内部真的发生了模式坍缩,或者训练时两种行为被平均成了一种,机械臂大概率会表现出一种诡异的居中行为,手悬在两个盘子正中间进退两难,或者干脆总是只选一个盘子。而CTP展现出的是一种"真正的选择":它每次都明确地倒向某一个盘子,而且两种选择都在合理比例内出现。

论文还测了瓶子扶正和笔放入笔筒这两个更精细的操作任务,和π0.5对比。瓶子扶正任务,两者成功率都是95%。笔放入笔筒任务,π0.5是85%,CTP是83%,差距很小。而推理延迟上,CTP依然保持着2.88倍的速度优势。

这说明CTP在不明显牺牲任务成功率的前提下,把在线推理开销压缩了很多。对于需要高频响应的真实机器人控制场景,这个效率提升是实打实能用上的。

Q&A

Q1:CTP是什么,它解决了机器人策略学习中的什么问题?

A:CTP全称Conditional Trajectory Peaks,是一种单次前向传播就能预测多条完整动作轨迹的机器人策略框架。它解决的是机器人在面对同一观察状态存在多种合理行为方案时,容易把多种可能性压缩成单一平均动作,或者候选轨迹互相坍缩成同一种行为的问题,同时还避免了扩散模型那种需要反复迭代计算的高延迟。

Q2:CTP和Diffusion Policy相比,速度差距有多大?

A:在Push-T任务上,CTP单次推理平均只要0.95毫秒,Diffusion Policy需要902.85毫秒,差距接近千倍。在LIBERO任务上,CTP把完整策略调用延迟从218.24毫秒压缩到75.80毫秒,提速2.88倍,同时成功率基本持平。

Q3:CTP的DAPS和ETBT分别起什么作用?

A:DAPS在训练阶段通过责任分配和重叠惩罚,让多条候选轨迹真正分化成不同的行为模式,避免模式坍缩。ETBT在推理阶段通过比较轨迹几何形状来匹配前后两轮候选,保持机器人在滚动重新规划时的行为一致性,同时允许新证据充分时打破历史约束。两者配合使Push-T分数从77.34%提升到91.40%。

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