机器人学新动作要摔多少次?伊利诺伊大学新方法免重训
如果你养过一只狗,大概经历过这样的场景:你想教它一个新把戏,比如把球顶到角落里,而不是叼回来。它从没学过这个,但它会跑、会跳、会用鼻子拱东西。你不需要从头训练它学习"跑"和"拱"这两个动作,你只需要换个方式表达你想要什么,然后在它每次尝试之后给出反馈,慢慢地它就学会了这个新把戏。现在把这只狗换成一台人形机器...
养过狗的人多半碰上过这种事:想教它一个新把戏,比如把球顶到墙角,而不是叼回来。它此前没学过这招,可跑、跳、用鼻子拱,它都会。你犯不着从零教它“跑”和“拱”,只要换个方式说清你要什么,再在它每次尝试后给点反馈,这新把戏它慢慢就会了。
把狗换成一台人形机器人,道理类似。搬箱子、推箱子、抱着箱子走,它已经从大量人类动作数据里学会了。这时你让它干件新鲜事:把箱子原地转个方向。这动作它没见过,但转箱子需要的身体协调能力,它其实早就有了。问题在于,怎么让它意识到这一点,并自己摸索出正确做法?
伊利诺伊大学厄巴纳-香槟分校的 InterEvolve 研究,要回答的正是这个问题。
这篇论文解决的不是“让机器人学会新动作”,而是“让机器人在不重新训练的情况下学会新动作”。
两个说法听着差别不大,代价却完全不是一回事。
先看传统做法。
人形机器人控制领域,这些年已经积累了不少让机器人完成复杂动作的路子。
动作参考:给机器人一段人类动作录像或动捕数据,让它照着模仿。
目标状态:直接告诉机器人最终要摆成什么姿态,比如“站在这儿,手举到那个高度”。
技能标签:预先划定一批离散技能,比如“抓取”“行走”,需要时让机器人调用。
这三条路有个共同的坎:都得提前知道“新任务具体长什么样”。让机器人把箱子转个方向,现成的动作参考很难找,训练数据里压根没这个动作;目标状态也不好描述,转箱子不是某个静止终点,而是持续的交互过程;技能标签更不用提,这个技能在标签库里根本不存在。
论文里有个很直观的例子。研究者让一个已学会搬箱子、推箱子的机器人控制器去完成“原地转动箱子”,先试了人工设计的奖励函数,结果机器人直接作弊:站着不动,只用手把箱子转来转去,身体的协调能力完全没调动起来。这不是机器人“笨”,是奖励函数没设计好,给了它一条钻空子的捷径。
换成 InterEvolve 自动演化出来的奖励程序后,机器人学会了绕着箱子走,一边推一边拉,靠身体移动带着箱子转向。这个策略在训练数据里从未出现过,但确实管用。
换句话说,人工设计的奖励失效,不是机器人能力不够,而是任务没被正确“翻译”成机器人能理解和执行的目标。
那怎么给机器人出题,既能表达复杂意图,又能按执行结果快速修改?这正是论文要解的核心矛盾。
奖励程序:把任务拆成一张能改的清单
InterEvolve 给出的答案,是奖励程序。
奖励程序:一种结构化的任务描述方式。它把复杂任务拆成若干阶段,每个阶段有自己的奖励函数(告诉机器人“做得好不好”)和完成条件(告诉机器人“什么时候进入下一阶段”),外加一组可调节的数值参数。
举例来说,“把箱子踢到标记点”可以拆成两个阶段。第一阶段“用脚踢向目标”,奖励函数奖励脚对箱子的推动力,同时惩罚用手碰箱子;完成条件是箱子离目标足够近。第二阶段“稳定下来”,奖励机器人站稳、松开接触。两个阶段对应不同的身体技能组合,机器人得知道什么时候从第一个状态切到第二个。
为什么非要拆阶段,而不是写一个大而全的奖励函数一次搞定?
想象教人骑自行车。只丢一句“保持平衡并前进”,对方很可能又想稳又想快,两头都顾不上。拆成“先在支撑轮上滑行”“再练踩踏板”“最后撤掉支撑轮”,每段有明确小目标,学起来效率高得多。论文的实验数据也摆在那儿:不拆阶段,成功率从86.5%跌到44.7%,几乎腰斩。可见阶段化不是锦上添花,而是接触密集型任务能跑通的必要条件。
奖励程序的好处是每一部分都能单独编辑。只改奖励怎么算分行,只改完成条件怎么判断也行,调权重参数大小同样可以,整体结构不用动。
这就引出下一个问题:这些程序谁来写,又怎么判断写得好不好?
让大模型当“编剧”,让数值优化器当“配乐师”
具体分工上,InterEvolve让一个大语言模型智能体去改动程序的结构,参数数值的调整则交给CMA-ES这类数值优化算法。
CMA-ES*:全称协方差矩阵适应进化策略。它不依赖梯度信息,靠反复采样、筛选,一步步逼近最优参数,多用于参数空间复杂、求导困难的场景。
这两件事为什么要拆开干?
拍电影可以拿来打比方:写剧本和配乐是两码事。编剧管故事怎么分幕、人物何时转折,靠的是创造性的重新组织;配乐师管每一幕的音量多大、节奏怎么走,是在既定框架里做精细调节。没人会让编剧去拧音量旋钮,也没人会让配乐师去改剧情。要是把两件事塞给同一个角色全权负责,大语言模型就得一边想结构一边调参数,效率低不少。麻烦还在于,一个新结构到底是真的不行,还是仅仅参数没调好才显得不行,很难分辨。
论文的实验把这点坐实了:光靠人工写的奖励程序,参数调过之后成功率也才18%;光靠大模型写出的初始程序再加调优,是34.6%;走完结构修改加参数调优的完整演化流程,成功率一下跳到86.5%。差距摆在这里,只调参数救不回一个“方向错了”的程序,卡脖子的地方在结构修改。
每一轮演化具体怎么跑
智能体每轮都会收到一份“情况汇报”,内容包括任务要求、场景里有哪些障碍物、当前最好程序的表现,以及还有哪些检验指标没通过。
论文里给了一个很具体的反馈例子:“卡在‘手部接触’这一项检验上,170个环境里只过了192个中的170个,中位数环境其实只差0.08就能通过,这是一个尾部方差问题,不是均值太低的问题。”这话不是笼统地说“做得不够好”,而是点明了问题出在哪个阶段,是普遍性失败,还是个别运气差的失败。
拿到这份诊断,智能体会提出若干新候选程序。这些候选先经CMA-ES做参数搜索调优,再和当前最好的程序在相同初始条件下同台比较。只有新程序的提升超出评测本身的随机波动,才会被正式采纳为新的“当前最优”。
**这个比较机制很关键:它保证每一次被采纳的修改都是实打实变好了,而不是碰巧蒙对一次。**
这套机制还顺带攒出了一样东西:技能库。
技能库*:一份记录过往所有已完成任务的文档,每个任务的场景描述、验证结果和最终定下的奖励程序都存在里面,供后续新任务检索参考。
它的作用,有点像老师傅留下的工作笔记。接手新项目时,能翻到前任处理类似问题的记录,照着改往往比从零起步快。论文实验显示,面对“搬运、放置、再踢开”这类组合型任务,技能库完整时10个里能解决5个;完全没有技能库可参考,几乎一个都解决不了。不过有个前提:技能库得覆盖新任务所需的接触模式。实验里只把“搬运”相关的三个程序放进去,搬运类子任务能解决6/10,可碰上叠箱子或踢箱子就基本帮不上忙。经验要对题才有用,不是存得越多越好。
让控制器听懂新奖励:物体感知的“前向-后向”模型
任务怎么写说完了,还有个关键问题:机器人这颗“大脑”怎么把新写出来的奖励变成实际的身体动作?
过去的做法是每换一个新奖励就重训一次策略网络。工程上代价太大,训练一次动辄要耗大量计算资源和时间,快速试错迭代根本撑不起来。InterEvolve选的路子,是用前向-后向行为基础模型这项技术。
前向-后向行为基础模型*:一种让单一固定策略网络响应任意新奖励、无需重训的技术框架。核心是把奖励信号转成一个“提示向量”,由这个向量直接指挥同一个策略网络产出对应行为。
背后的数学直觉是:机器人的行为可以编码成一个占据度量,描述它未来会经过哪些状态。这个度量能拆成两部分,一部分讲“动作会带来什么状态”(前向),一部分讲“每个状态值多少分”(后向)。理论上,任何新的奖励函数都能借这两部分组合出对应的最优行为,不必重训整个网络。
好比手头有一位经验丰富的翻译,语法规则和词汇储备都在他脑子里(相当于前向-后向模型的两部分映射)。你递给他什么新句子,他当场就能组合出译文,不用把整门外语重学一遍。要是每来一句新句子都得重学一次外语,翻译效率会低到没法用。
不过论文发现,现有这类模型有个明显短板:只看机器人的身体状态,完全不知道物体在哪。结果就很荒谬——“把箱子推到左边”和“把箱子推到右边”本该是两个完全不同的奖励,在模型眼里却坍缩成同一种行为,因为模型压根没有物体的位置信息。
**研究者因此专门做了个物体感知的扩展版本:在原有身体先验网络上接一个可训练的“物体残差”分支,让模型既保留原先学到的身体技能,又能感知物体的位置、朝姿和运动状态。**
这个设计的巧妙之处是冻住已经学好的身体部分,只训练新增的物体感知部分。就像一位基本功已经精通的老司机,额外加装一套辅助感应系统,不必让他重新考一次驾照。实验数据显示,这么做之后,机器人在物体交互任务上的成功率从只看身体版本的8%提升到60%,接近专为跟踪任务训练的强化学习模型的66%。
而且,加装的物体感知部分越大,效果越好。论文做了一组对照实验,把残差分支从小型神经网络逐步扩到和原身体网络同等规模,成功率从28%一路爬到60%。物体交互这件事,确实需要足够的“脑容量”去理解处理。
数字说话:演化带来的提升有多大
InterEvolve团队搭了一套评测基准,横跨八类任务家族:把物体推到标记点、在不同高度搬运、把物体翻转到新的面、只用脚接触物体、把物体抬到支撑面上、绕过障碍物推动物体,等等。
| 方案 | 成功率 | 完成度评分 ||---|---|---|| 什么都不做 | 0.0% | 49.1% || 人工写的奖励(未调优) | 8.0% | 65.2% || 大模型初始奖励(未调优) | 32.2% | 73.3% || 人工奖励+参数调优 | 18.0% | 75.2% || 大模型初始奖励+参数调优 | 34.6% | 82.5% || **InterEvolve完整演化** | **86.5%** | **95.6%** |
表里第一行最耐人寻味:什么都不做,原地站着不动,完成度评分居然有49.1%。评测标准倒不是形同虚设,问题在于不少检验项(比如“保持站立不摔倒”)本身就容易过,光看完成度评分,会被这类基础项掺进水分。论文因此更看重成功率,这个指标更严苛——所有检验项得同时满足,部分达标不算数。
演化轮次的效果也值得细看。同一个任务,论文从初始方案一路追到第四轮:成功率起步32.2%,第一轮就跳到75.0%,中间几轮小幅波动(第二轮76.8%,第三轮反落到73.6%),到第四轮落在86.5%。
**曲线并非单调上升。修好一个问题,有时会顺手弄坏另一个早已解决的问题,跟补了房子的漏水却弄坏隔壁电路差不多,只能反复试探,才能找到两头都顾上的方案。**
完成度评分这个更宽松的指标倒是没跌过,从73.3%一路涨到95.6%。两组数字放一起能看出点意思:在“离及格线更近”这个维度上,系统一直在稳步往前走;而“是不是真的全部达标”这个更严的维度,要经历起伏,到最后才稳住。
具体到各任务家族,数据同样说明问题。“推到标记点”这类相对简单的任务,人工加调优方案已经做到96.9%,InterEvolve与它打平;可“胸前高度搬运”“翻转到新的面”“穿过门洞推动”这些接触密集的复杂任务,固定程序的成功率普遍落在0%到25%之间,完整演化之后全部升到70%以上。只有“踢到标记点”仍是全场最难,仅59.4%。论文的解释是:踢这个动作在原始训练数据里出现得极少,机器人对这类全身协调性要求很高的动作,本来就掌握得不扎实。
从模拟到现实:机器人真的在物理世界里跑起来了
论文最后一部分让人踏实的地方在于,它没有停在仿真环境里比数字,而是把演化出来的程序真的装到了一台物理的Unitree G1人形机器人上。
机器人靠头部的摄像头看见箱子,用FoundationPose这类姿态估计算法实时算出箱子的六维位姿(位置加姿态),再把结果喂给控制器。踢箱子和推箱子的整套程序,先在仿真里演化验证好,然后原样搬到真机上跑,全程自主,不用人插手。
这一步很关键。仿真到现实的落差,一直是机器人学习领域绕不开的坎,不少在仿真里表现完美的策略,一到真实世界就因传感器噪声、物理参数误差而失灵。InterEvolve团队加了一个滤波器,把摄像头估计的箱子位姿和激光雷达扫描结果融到一起,滤掉不可信的估计值,机器人在真实环境里这才站得住脚。
还有一个更有想象力的实验:六个箱子的长程任务。研究者让机器人把散乱分布的六个箱子逐个推到围成一圈的指定位置,全程只重置一次——中间任何一步的误差都会累加到后面,没有“重开”纠正的机会。结果六个箱子最后都停在距目标位置11厘米以内,后推的箱子也没撞上先前放好的。
**演化出来的策略不只在单次任务上管用,串起来也撑得住长程的复合任务,误差没有像滚雪球那样越滚越大。**
写在后面
读完论文,最打动我的不是那张87%成功率的表格,而是“机器人靠身体移动、而非只用手去转箱子”这个细节。研究者原本想测一个失败案例,结果意外撞见了一种他们自己都没预料到的解法。系统自己想出了超出设计者预期的办法——这是整篇论文里最鲜活的部分。
技能库的作用边界也值得单独说一句。论文很诚实地摆出了“只有搬运类经验的库,对踢箱子任务几乎没用”这个负面结果,没有只挑正面案例。对局限性这么坦诚,反倒让人更相信那86.5%的成功率是真数,不是精心筛出来的漂亮数字。
这篇论文让我想到一个更大的问题:说“机器人学会了一个新技能”,指的到底是它的神经网络参数变了,还是它知道怎么调用已有能力去应对新情况?InterEvolve走的是后一条路——控制器本身一行代码没改,改的只是“怎么向它提需求”。把“学习”和“控制”拆开,这个思路会不会也适用于人的某些学习场景?一个会骑自行车、会游泳的人去学滑雪,真正需要的或许不是重学一套全新的身体控制,而是找到一种方式,把已有的平衡感和肌肉记忆“翻译”成滑雪这个新场景里能用的东西。
下一个问题自然就冒出来了:如果控制器本身的能力边界才是整个系统真正的天花板,那这个天花板又该靠什么去打破?
Q&A
这套叫InterEvolve的系统由伊利诺伊大学厄巴纳-香槟分校提出。它要解决的事很具体:让已经训好控制器的人形机器人,不必再把控制器回炉,就能靠演化奖励程序拿下此前没练过的任务,比如把箱子转个方向,或者一脚踢到指定位置。
和传统做法比,差别就在这一点上。以往每来一个新任务,策略网络都得重新训一遍,代价不低。InterEvolve则把控制器整个锁死不动,改的是任务奖励程序的结构——由大语言模型反复调整这个结构,参数再交给数值优化去调,然后依据执行反馈一点点往前推。成功率也从34.6%提到了86.5%。
那演化出来的技能能不能落到真机上?论文给出的答案是能。踢箱子和推箱子这两个程序先在仿真里演化、验证,之后被直接部署到真实的Unitree G1人形机器人身上。箱子在哪儿、朝向如何,机器人用自己头部的摄像头去看,整个任务自主完成,中间不用人插手。