不重训策略,LLM 测试时进化奖励程序,人形机器人新任务成功率 34.6%→86.5%

InterEvolve: Test-Time Evolution of Reward Programs for Humanoid Loco-Manipulation

Zhuo Lin, Sirui Xu, Liuyu Bian, Yu-Xiong Wang, Liang-Yan Gui

cs.RO, cs.CV, cs.GR

2026-10-02

冻结人形控制器,LLM 按仿真反馈迭代改写分段奖励程序、CMA-ES 调常数,8 类新任务平均成功率从 34.6% 升到 86.5%,并部署到真实 Unitree G1。

这篇在解决什么

人形机器人控制器已经能从人类演示里学会推、抬、搬箱子这类接触丰富的 loco-manipulation(边走边操作物体)。但放进开放环境,迟早会碰到训练时没列过的任务:会搬箱子的控制器被要求「把箱子翻个面」或「只用脚把箱子踢到标记点」,没有对应演示,尽管所需动作都在它已有能力范围内。常见任务接口在这里卡住:动作参考、目标状态、技能标签都要求预先定义好期望行为,把「翻个面」翻译成参考轨迹或新技能很困难。奖励函数表达力够,还能指出一次尝试差在哪,但按惯例每改一次奖励就要重训一个策略,迭代太贵。

方法

InterEvolve 的思路是控制器冻结,任务知识外置到奖励程序里,在测试时进化。

执行层是 object-aware 的 FB 行为基础模型。FB 表示(forward-backward,把任意奖励投影成一个 latent prompt 的表示学习)让一个固定策略直接执行新奖励,新任务不重训。但已有 humanoid FB 模型只观察身体,只差在物体目标上的两个奖励会塌缩成同一个行为。这篇给 actor、forward、backward 三个网络的冻结身体分支各加一个可训练的 object residual,在 OMOMO 和 GRAB 两组人-物交互数据(重定向到 Unitree G1)上训练。奖励的执行方式:对一个约 5 万状态的固定 bank 做 softmax 加权聚合,把高奖励状态的 backward embedding 平均成 latent,每个控制步重算。

任务表示是 reward program:一列阶段,每段有奖励代码和完成条件,外加可调常数(权重、阈值、核宽)。外层由 LLM agent(DeepSeek-V4-Flash)在上下文里改结构,即用什么奖励项、怎么分阶段;内层 CMA-ES(协方差矩阵自适应进化策略,无梯度数值优化)只调常数。每个候选在 192 个并行仿真场景里验证,verifier 由 LLM 从任务文本解析一次后固定,agent 改不了判卷标准。反馈按 criterion 和阶段汇报,例如「192 个环境里只有 93 个进入阶段 1」。验证过的程序连同通过率写进 skill library(八个任务约 28 KB 的文本),每轮放进 prompt,后续任务直接复用。

结构和常数分开搜是有原因的:LLM 擅长选奖励项和分阶段,数值优化器擅长在固定结构下找权重,有希望的结构配上糟糕权重照样失败。

结果

held-out 片段上的参考跟踪:

方法Eh (cm)↓Eo (cm)↓SR↑
ULTRA(专用跟踪策略)15.6821.4566%
BFM-Zero(只看身体)28.3662.338%
InterEvolve 运动模型27.2030.8060%
运动模型+进化出的跟踪奖励19.8024.9272%

agent 自己发现了一个「物体锚定漂移修正」奖励,补上局部观测看不到的世界系漂移,成功率反超专用跟踪器,误差仍略高。

八个任务族(推到标记、两种高度搬运、翻面、纯脚操作、抬上支架、穿门、绕障、踢到标记)平均:

程序调参结构进化SR↑Earned↑
人工设计否否8.0%65.2%
agent 初版否否32.2%73.3%
agent 初版是否34.6%82.5%
InterEvolve是是86.5%95.6%

站着不动也能拿 49.1% 的 Earned(按 criterion 计的部分得分),所以 SR 是更有区分度的主指标。只调权重到 34.6% 就停了,翻倍以上的增益来自结构性修改。消融里压成单阶段掉到 44.7%,去掉 CMA-ES 掉到 51.6%,是最关键的两个组件。第一轮拿到大头(32.2%→75.0%),第 2 到 3 轮还回撤过一次。组合任务上,完整技能库做到 relocate 8/10、堆叠 4/10、搬-放-踢 5/10,无库几乎全挂。成本按任务族计 2.1 GPU 时、0.23M token,每轮仿真 16 到 34 分钟,LLM 只占 1 到 2 分钟。仿真里进化并验证过的踢箱、推箱程序,在真实 Unitree G1 上靠自带相机加 FoundationPose 位姿估计自主执行。

为什么重要

这给「人形机器人的任务知识放在哪」提供了第三个答案。放进策略权重,每个任务要重训;放进参考动作或技能列表,每个任务要人工设计。放进 LLM 可读、可改、可用执行验证的奖励程序,新任务的边际成本从一次 RL 训练降到一批 rollout 加几次 LLM 调用,控制器和 agent 在各自时间尺度上进步,互不需要重训对方。相当于把 LLM 的 test-time scaling 搬进机器人控制。

局限与存疑

踢到标记仍是最难任务,训练数据里踢的动作太稀少。成功率随轮次非单调,修好一个 criterion 可能暂时弄坏另一个。成本被仿真主导,作者给出的加速路径就是换更快的仿真器(mjlab),等于承认迭代速度是瓶颈。真机只覆盖两个任务,都是仿真里进化验证后再上机,没有在真实环境里进化,物体状态依赖 FoundationPose 估计。reward-tilted 聚合被作者自认是有偏启发式,tilt 强度和 bank 大小都要调,20 万的 bank 反而不如 10 万。组合任务成功率约一半。没有外部基线可比,论文说没有公开方法适用于这个设置,所有对照都是自家变体。

术语

原文与代码

相关论文

全部论文解读