如果要学会组装盒子,你会怎么做?为了快速高效地完成任务,你首先会请别人教你基础知识:什么策略有效、常见错误是什么、具体技巧是什么。其次,一个好的老师不会只展示做法,还会在你亲自操作时进行指导,纠正你犯的错误。但指导终究有局限:要成为组装盒子的高手,第三步是充分练习这项任务,直到它变成下意识的动作。
过去一年我们在机器人学习中看到的许多令人印象深刻的结果,只使用了这一过程的第一步:让机器人学习由人提供的示范。仅凭这一步,让机器人有一半时间成功并不难;但要让它每次都成功,更不用说在复杂的真实世界任务中达到人类水平的吞吐量,就非常困难。这是一个严重问题,因为真实世界的机器人任务要求系统既可靠又快速。我们开发了一种名为 RECAP(RL with Experience & Corrections via Advantage-conditioned Policies,即通过经验与纠正、利用优势条件策略进行强化学习)的方法,实现了这三个步骤:通过示范训练机器人、通过纠正指导机器人,并让机器人从自主经验中改进。我们使用 RECAP 改进最新版本的视觉-语言-动作(VLA)模型 π₀.₆,使其能够稳定、高效地执行制作浓缩咖啡饮品、组装盒子和折叠各种衣物等复杂任务。我们将得到的强化学习模型称为 π*₀.₆。在自主经验上使用 RECAP 训练 π*₀.₆ 后,一些最困难任务的吞吐量提升了一倍以上,失败率则可降低 2 倍或更多。这使 π*₀.₆ 达到了具有实际用途的稳健性:我们让它连续一整天制作浓缩咖啡饮品,在新家中连续数小时折叠未见过的衣物而不中断,并在工厂中组装用于真实包装的盒子。
经过 RECAP 训练后,π*₀.₆ 可以从早上 5:30 到晚上 11:30 制作各种浓缩咖啡饮品,在新家中折叠 50 件不同的全新衣物,并在真实工厂中组装和贴标 59 个用于巧克力包装的盒子;这里展示的所有任务都连续运行了数小时而不中断。每段视频的实时版本可在原文链接中查看。
为什么模仿还不够?
我们可能会疑惑,为什么 VLA 仅靠监督学习(即模仿)很难持续成功,而监督学习对 LLM 和其他机器学习系统却非常有效。这个问题的原因其实已经被充分理解,尽管实用的解决方案一直难以实现。当一个通过模仿训练的 VLA 控制机器人时,它和任何模型一样会犯小错误——可能把夹爪放错位置、抓取失败或碰倒物体。由于机器人正在与真实物理环境交互,这个错误会造成一个与训练数据略有不同的情形;在这种情形下,机器人更可能再次犯下更大的错误,从而导致误差累积。小错误可以修正,但累积误差会导致失败。对于产生静态输出的 AI 系统(例如 LLM)来说,这不是那么严重的问题;它特定于模型作为控制策略、持续与外部环境交互的场景,例如真实世界中的机器人。实际而言,这意味着让 VLA 偶尔成功完成任务相对容易,但要让它可靠地成功则相当困难。
如果使用来自 VLA 自身行为的额外数据,训练它修正自己在真实世界中实际犯下的错误,这个问题或许就能解决。就像人可以通过练习提高任务表现一样,也可以让策略(即 VLA)反复练习,从而处理累积错误。但对于这类经验,我们可以使用什么作为真实标签?如果只是训练策略复制它之前做过的事情,就只会教会它继续犯同样的错误。要从经验中学习,关键是从糟糕的经验数据中提取良好的训练信号。
通过纠正进行指导,并通过强化进行练习
RECAP 提供了两种从“糟糕”的经验数据中获得良好训练信号的方式:一是提供纠正进行指导,由专家展示机器人如何修正错误或做得更好;二是强化学习,由机器人根据一个回合(episode)的总体结果自行判断哪些行为更好或更差,并迭代学习执行好的行为、避免不好的行为。
要让指导发挥作用,专家遥操作员需要针对机器人在真实世界中实际犯下的错误提供恢复纠正。实践中,这意味着运行当前最好的策略,并在机器人犯错时通过手动遥操作“接管”。这种干预可以作为监督信号;但与用于训练原始策略的示范不同,干预针对的是策略实际把机器人带入的情形,从而解决累积错误问题。
专家遥操作员接管机器人,并实时纠正机器人的错误。
不过,提供纠正的作用终究有限:纠正监督的质量受限于人判断正确干预时机、并实际提供高质量纠正的能力。对于明显或严重的错误,这种方法可能效果很好;但要取得最佳表现——快速、可靠且一致地完成任务——机器人需要自主学习。就像运动员如果不练习就无法在运动项目上精益求精一样,我们也需要让策略通过练习和强化,持续学习并打磨行为的细微之处。
通过任务结果进行强化学习的核心挑战是信用分配(credit assignment):理解机器人执行的哪些动作导致了好的结果,哪些动作导致了坏的结果。如果机器人以错误的方式拿起咖啡机的手柄,它可能会难以将手柄插入咖啡机。错误不在插入动作,而在最初的抓取动作。正确的信用分配方法应当识别出抓取是错误,即使失败直到之后才显现。
通过模仿学习训练的基础模型难以将咖啡机手柄插入咖啡机。导致失败的错误可能早在更前面就发生了:机器人以错误角度抓取了手柄。
信用分配是强化学习中的关键挑战。RECAP 通过训练值函数(value function)来解决这一挑战:值函数是一个预测特定情形相对于其他情形有多好的模型。例如,在智能体因获胜而得到奖励的国际象棋游戏中,值函数会根据当前棋盘状态预测智能体获胜的概率。如果能从机器人的经验中学习到值函数,就可以通过观察值函数的变化来判断哪些动作是好是坏:使值函数增加的动作——例如让棋盘状态更接近胜利的棋步——是应当鼓励的好动作;使值函数降低的动作则应当被抑制。下图展示了值函数在任务执行过程中的预测。
值函数可视化。
拖动滑块可以查看一个回合中不同时间点的值函数。值为 1.0 表示预测该回合已经成功完成。
回合中不同时间点的值函数预测。该值函数预测完成任务还需要的步数(取负值)。注意,当机器人取得进展时,预测值会上升;进展很少时,预测值保持平坦。
训练好值函数后,我们需要利用它得到更好的策略(“策略提取”)。有几种方法可以实现这一点,但我们需要一种能扩展到大型 VLA 模型的方法。在 RECAP 中,我们依据值的变化对策略(即 VLA)进行条件化训练,使用全部数据(包括好动作和坏动作),同时告知 VLA 哪些动作是好是坏。由于模型在获得大量数据时泛化效果最好,因此保留全部数据进行训练,只将值变化标注作为输入,是一个很有吸引力的选择。在强化学习中,这种“值的变化”称为优势(advantage)。在执行时,我们只需让优势条件化的 VLA 执行高优势动作,就能得到一个优于训练数据本身的策略。
迈向真实世界任务
我们应用 RECAP 训练 π*₀.₆ 模型,使其执行多种真实世界应用。π*₀.₆ 基于 π₀.₆ 模型;后者是早期 π₀.₅ 模型的改进版本,采用略大的骨干网络,并能够容纳更多异构的 prompt(提示)和条件信息,如下图所示。关于 π₀.₆ 模型架构的详细介绍,请参阅随附的 model card(模型卡)。
示意图:π₀.₆ VLA 基于预训练数据,并由视觉语言模型与 action expert(动作专家)组成;模型处理自主回合,通过值函数、优势和强化学习训练,并结合干预与奖励标签。图中任务包括铺床、点蜡烛、清理猫砂、制作咖啡、组装盒子、清洁厨房、更换灯泡、整理餐桌、折叠衣物。
π₀.₆ VLA 基于一个拥有 50 亿参数的视觉语言模型,并增加了一个动作专家。它支持异构 prompt,包括文本指令和条件信息;条件信息包括对(期望)执行质量的标注,以及在使用 RECAP 时对期望动作优势的标注。
我们研究了三种应用:制作浓缩咖啡饮品、折叠各种衣物,以及组装包装盒。RECAP 的第一阶段是使用离线强化学习(offline RL)对 π*₀.₆ 模型进行预训练,这不同于基础 π₀.₆ 和 π₀.₅ VLA 所采用的标准监督学习方法。随后,我们用示范针对每项任务对 π*₀.₆ 进行微调,再使用机器人采集的额外数据进行强化学习训练,其中既包含专家提供的纠正(用于修正较大错误),也包含奖励反馈(用于从自主经验中改进)。
下方图表比较了基础 π₀.₆ 模型(通过监督学习训练)、基础 π*₀.₆ 模型(通过离线强化学习训练,是 RECAP 的第一阶段)、经过各任务示范微调的 π*₀.₆ 模型,以及最终结合机器人经验针对各任务微调的 π*₀.₆ 模型。对于每项任务,我们分别测量吞吐量(每小时成功完成任务的次数)和成功率。值得注意的是,一些最困难的任务提升最大,例如制作浓缩咖啡饮品时,加入机器人经验后,吞吐量和成功率都提升了一倍以上。
图表:比较 π₀.₆ Pretrain、π*₀.₆ Offline RL Pretrain、π*₀.₆ Offline RL + SFT,以及 π*₀.₆ Ours 四种设置;指标包括盒子组装、折叠衣物、制作浓缩咖啡的吞吐量(每小时成功次数)和成功率。
RECAP 使所有任务的吞吐量都大幅提升,成功率也往往显著提高。
从定性结果看,最终的 π*₀.₆ 模型在学习示范数据和机器人经验后,已经能够掌握每一项应用。下面的视频展示了这些任务中的部分评估亮点。
每项任务都包含许多挑战,使高吞吐量的自主执行变得困难。盒子组装任务要求执行具有物理细节的动作:在保持盒子整体结构的同时折叠盒盖。它还要求反复执行任务并处理边界情况,正如上方视频所示:有时压平的盒子会粘在一起,机器人会一次拿起多个盒子,必须把多余的盒子放回去;有时盒子在犯错后需要重新折叠。折叠衣物任务需要处理大量变化,既要泛化到不同的初始状态,也要泛化到不同衣物。这非常困难,因为不同衣物不仅需要不同策略,不同面料也具有不同的动力学特性。最后,制作浓缩咖啡饮品需要处理一个超长时域任务,其中像我们之前的 π₀.₅ 模型一样使用高层语言策略。这个任务还要求倾倒液体,理解咖啡研磨机和浓缩咖啡机需要等待多久,以及在饮品制作完成后用布巾清洁机器。即使对当前最好的 VLA 模型而言,这些阶段也各自充满挑战,而 π*₀.₆ 能以超过 90% 的成功率完成它们。
我们将走向何方?
如今,机器人基础模型主要使用由人手动采集的示范数据(例如遥操作数据)。这使训练简单直接,但也带来严重障碍:数据需要人的投入,模型的速度和稳健性受限于人类水平,而且机器人无法从经验中变得更好。像 RECAP 这样的方法原则上可以通过直接从机器人自身经验中学习来解决这些限制。随着机器人越来越广泛地部署到真实世界,从经验中学习可能成为重要的训练数据来源,也可能成为实现高性能的关键方案。正如人通过指导、教练和练习的组合来学习,机器人也会从许多不同的数据源中学习。但这些数据源将承担不同的作用:专家提供的示范用于定义新行为,指导用于改进策略,而自主经验——可能是最大的数据来源——用于完善这些行为,或许最终让机器人达到超越人类的性能。
如果你有兴趣开展合作,请与我们联系。我们尤其期待与正在扩大真实世界应用中机器人数据采集规模、并希望就自主性开展合作的公司合作。
我们也在招聘!如果你有兴趣加入我们,请与我们联系。
对我们的工作、合作或其他问题感兴趣的研究人员,请写信至 research@physicalintelligence.company。