Hi Robot——大脑加强版的π0:基于「VLM的高层推理+ VLA低层任务执行」的复杂指令跟随及交互式反馈
前言
近期(25年3月下旬至4月中旬),我连续出差珠三角、京津冀、山东(济南/青岛)、长三角,和同事们去了各种工厂、约见各个具身客户、各个合作高校
- 其中,一半以上的客户都通过博客而来,而在此轮出差及去年出差去合作高校的时候,当清华、中科大等top高校的博士生们,和我说 他们也在通过我的博客加速对具身的了解
我便再次坚定,我的博客能在具身这个方向,获得比AI和大模型方向 更大的影响力 - 而接的项目越多,对具身、对我司「七月在线」越充满信心
虽然由于每个项目 都会跟对应的大客户集团签订保密协议,导致我们实际落地的项目在保密期内,没法拿出太多细节出来分享,但可以解读我们在落地过程中,做算法创新改造或二次开发的对象——即解读对应的paper和开源库「当然 有些paper/库还没开始用,也是可以提前解读的,作为关注了解,以备将来之需」
毕竟
- 一方面,对我们所用的、所参考的、所关注的paper或开源库做各种深入解读,也是一种造福于同行、业界的举措
- 二方面,对被解读的paper或开源库而言,则是一种极大的宣传(毕竟,目前国内一半以上的具身学习者、从业者都在看我博客,且这个比例在不断增大,不信 你问问身边的具身er)
而我个人也很愿意帮他们宣传,毕竟他们的前沿paper和开源库 对整个具身行业 有着很大的促进
如此,我便坚定了持续解读最新前沿paper、最新前沿库的更博习惯
而最近,我一直在深入抠π0,也在让我联合带的那十几个具身研究生部署π0,且有意思的是π0团队于25年2月底,又推出了这个Hi Robot——大脑加强版的π0,故,本文便来解读它
其与π0的本质区别在于:
- π0 VLA模型虽然能够处理多张图像和连续状态观测
,并通过流匹配修改 VLM 以输出连续的动作块分布「modifies the VLM to output continuous action chunk distributions via flow-matching」,但其高层原理类似
- 且尽管这种VLA 模型可以遵循多种语言提示(类似RT-2,Brohan etal., 2023a),但其本身通常仅限于简单的原子指令,无法处理在本文中研究的复杂提示和反馈
但遗憾的是,Hi Robot目前暂时没开源,期待它早日开源
第一部分 Hi Robot
1.1 提出的背景及其整体定义
1.1.1 背景
自从ChatGPT火爆之后,大语言模型对具身智能的赋能、推动便一日千里,然大语言模型和人类对话上的交互是限定在一个文字世界里的,不需要考虑实体与其所处环境的物理交互
毕竟在虚拟世界中,大语言模型给的答案没有实体或现实世界的限制,但到了现实世界中,人让实体的机器人干活时,则一切大不一样了
机器人需要考虑现实世界中 各种限制,比如各种行为在现实中是否可执行
如Hi Robot原论文所说的
- 当你对机器人说,“如果你有火腿或烤牛肉,能不能为我的朋友做一个包含其中一种的单独三明治?”
这不仅需要理解语言,还需要能够将指令置于当前上下文中,并组合已有的技能(例如,拿起烤牛肉)来解决新的任务
如果机器人进一步收到纠正和反馈(” 不是那样做的,你得蹲得更低,否则你会一直错过”),这些也必须动态地整合到任务执行中 - 这个挑战类似于Kahneman 所区分的” 系统1” 和” 系统2” 认知过程(Kahneman,2011)
“自动化” 的系统1 对应于能够通过触发预先学习的技能来执行简单指令的策略
而更具深思熟虑的系统2涉及更高层次的推理,用于解析复杂的长周期任务、解读反馈,并决定合适的行动方案 - 以往关于机器人指令执行的研究主要集中在原子级指令上(Step-puttis等,2020;Jang等,2022;Brohan等,2022),仅关注系统1级别的行为
在Hi Robot中,通过引入基于VLM的分层推理机器人控制系统,解决了复杂提示和反馈所需的更精细推理问题
具体而言,机器人使用VLM处理复杂提示和语言反馈,该模型负责解析当前观察和用户话语,并生成合适的语言response和原子指令(例如,“抓住杯子”),随后,这些指令传递给底层策略进行执行
相当于先推理 再执行
该低层策略本身也是一个经过微调、用于生成机器人动作的视觉-语言模型,亦称为视觉-语言-动作VLA模型(Black等,2024;Brohan等,2023a;Kim等,2024;Wen等,2024)
作者预期,带有原子指令注释的机器人演示数据不足以训练高层模型去遵循复杂、开放式的提示,因此需要包含复杂提示跟随的代表性样本
- 为获取此类数据,作者提出对包含机器人观测与动作的数据集进行合成标注,加入针对该情境可能出现的假设性提示和人类插话
- 为此,作者向一个最先进的VLM模型,提供机器人观察和目标原子命令,该观测和指令之前可能出现的提示或人类交互,即为不同结果生成高层策略提示
最终,通过将这些合成生成且具备情境性的示例纳入高层策略训练
总之,Hi Robot通过使用VLMs进行高层次推理,然后让VLA做低层次任务执行,使得机器人能够处理比 “现有端到端指令跟随系统” 更复杂的提示,并在任务执行过程中结合反馈
1.1.2 相关工作
一般而言,用于机器人控制的视觉语言模型(VLMs)研究相关,可以分为两类:
- 一类是直接对VLMs进行机器人控制任务的训练
在第一类中,方法通过微调VLMs,使其能够根据输入图像和语言指令输出机器人控制信号——例如RT-1、TinyVLA、OpenVLA,尽管此类方法在泛化能力和指令跟随方面表现出色,但它们仅针对相对简单的指令(如“把杯子放在盘子上”)进行训练
相比之下,Hi Robot展示了需要情境推理的复杂提示和人类交互任务 - 另一类是利用VLMs结合预定义的机器人技能进行控制
许多方法使用LLMs和VLMs对机器人观测和指令进行推理,并将多阶段任务拆解为可由低级控制器执行的简单步骤
这类方法的将语言模型与各种学习得到或手工设计的技能结合使用——比如Language models as zero-shot planners、SayCan、Code as policies、Bumble、Progprompt、LLM^3: Large language model-based task and motion planning with motion failure reasoning
但这类系统在将复杂上下文(如图像观测)融入推理过程中能力有限
最近,多项研究利用VLM为预定义的机器人技能输出参数,这些方法可以处理更复杂的指令,并将其与视觉观测的上下文相结合,但这些方法在物理灵巧性以及与人类实时语言交互的能力上仍有限(一些例外将在下文讨论)
相比之下,Hi Robot利用VLMs进行高级推理和低级控制,并在两者之间设置了灵活的语言接口
此外,许多研究旨在实现机器人与用户的语言交互,包括
- 基于模型的系统,这些系统解析语言指令和反馈,并通过场景的符号表示来实现语义落地,比如Learning neurosymbolic programs for language guided robot manipulation
- 以及更近期的基于学习的方法,这些方法通常采用分层架构直接处理反馈,比如
Interactive robot learning from verbal correction
Remote multimodal interactions with household robot assistant
Yell at your robot
Rt-h: Action hierarchies using language
Hi Robot基于后一类方法,其中用户反馈通过高层策略被整合,该策略向学习得到的低层策略提供原子指令。与OLAF(Liu等,2023)使用LLM修改机器人轨迹不同,Hi Robot能够根据机器人的观测融入情境化修正,实时响应这些修正,并能够遵循描述灵巧操作任务的复杂提示
- 尽管YAY Robot能够处理情境化的实时修正,但其仅限于一个提示以及人类编写数据中出现过的修正
Hi Robot的方法利用了VLMs,且是一种新的数据生成方案,用于实现多样化的提示和开放式纠正 - 最后,RACER「Racer: Rich language-guided failure recovery policies for imitation learning」也可以结合情境纠正,但其依赖物理仿真器来构建恢复行为
而Hi Robot仅使用真实机器人演示,无需有意扰动或纠正,并且适用于开放式提示
1.1.3 预备知识和问题陈述
对于学习型策略而言,其通过处理观测输入来控制机器人
- 对于观测输入可记为
,并生成一个或多个动作
,其中用
表示一个动作块——类似ALOHA ACT,该块由接下来的
个要执行的动作组成
- Hi Robot的系统将
多台摄像机的图像
机器人的配置(即关节和夹爪位置)
以及语言提示
作为输入
因此,有,策略表示分布
先前的研究提出了用于表示和训练此类策略的各种方法,比如ALOHA ACT、Diffusion policy、Octo等等
由于Hi Robot的重点将特别放在需要解析复杂提示甚至动态用户反馈的复杂多阶段任务上,所以需要策略能够理解复杂语言,并通过对环境的观察进行落实
- 处理此类复杂语义的一种极具威力的方法是视觉-语言-动作VLA模型(Black 等,2024;Brohan等,2023a;Kim 等,2024;Wen 等,2024),该模型使用视觉-语言模型(VLM)预训练来初始化策略
- VLM 作为一种多模态模型,天然可以处理图像输入,并表示为分布
——即在图像-语言前缀(由图像
和提示
组成,例如一个视觉问题)下,语言后缀
(例如一个问题的答案)的概率
最常用的VLM 通过仅使用自回归解码器的Transformer 模型表示,将分布分解为自回归token概率的乘积
,其中
表示第
个token(与物理时间步无关)
并且有和
,其中
是前缀的长度,
是后缀的长度
类似Paligemma,他们也使用这种基于Transformer 的VLM,且不修改其架构,从而可以使用更简洁的符号来表示标准VLM
一个标准的VLA 是通过微调VLM 生成的,使得动作
由后缀
中的token表示,通常通过离散化对动作进行tokenizing化
1.2 Hi Robot
如下图图2所示,Hi Robot将策略分解为低级执行和高级推理过程,其中
- 低层策略包括一个VLA,它根据更简单的低层语言指令生成动作块
- 而高层策略包括一个VLM,它处理开放式任务提示,并为低层推理过程输出这些低层语言指令
这两个过程以不同的频率运行:低层过程以高频率生成动作片段,而高层过程调用频率较低,要么在设定的时间后调用,要么在接收到新的语言反馈时调用
因此,高层过程本质上是在与低层过程” 对话”,将复杂的提示和交互拆分为可以转化为动作的简明指令
1.2.1 高层VLM推理、低层VLA执行
形式上
- 高层策略
接收图像观测,和一个开放式提示
,并生成一个「相对更有更好执行」的中间语言指令
进一步,高级策略由一个VLM表示,该VLM使用图像和作为前缀,并生成
作为后缀
- 低层策略
接收与上节中描述的标准VLA 相同类型的观测——即因为有
,故策略表示分布为
,只是将语言指令
替换为高层策略的输出
因此,按照系统1/系统2 的类比,高层策略的任务是接收整体任务提示 及相关上下文(以图像和用户交互的形式),并将其转化为此刻适合机器人执行的任务,由
表示,这样的低层策略更容易被机器人理解并执行
- 当然,对于简单且熟悉的任务,这并不是必须的——如果只是希望机器人执行低层策略已经直接训练过的任务,可以简单地设置
,并像之前的工作RT-1一样继续进行
- 这种分层推理过程的好处在于,当提示
对低层策略来说过于复杂、不够熟悉(相对于机器人数据的上下文),或涉及与用户的复杂交互时,便可以好好发挥了
由于高层推理较慢,但对环境的快速变化不太敏感,可以放心地以较低的频率运行它。可以使用多种策略来实现这一点,包括智能策略,例如系统在检测到命令已完成后,在推断下一个合适的命令
在他们的实现中,他们发现一种非常简单的策略效果很好:每当经过一秒钟,或者用户有新的交互时,他们就行重新运行高层推理并重新计算。当用户提供反馈或修正时,这种方式能够提供响应性行为,同时保持了简洁性
1.2.2 融入用户交互
用户可以在策略执行过程中的任何时刻进行干预,提供额外的信息和反馈,甚至可以完全更改任务。在Hi Robot的原型中,这些干预以文本命令或口语(随后被转录为文本)的形式出现
- 当系统接收到用户干预时,高层推理会立即被触发,以重新计算
。高层策略可以选择在命令
中包含一个口头表达
,这些表达可以是机器人给出的确认或澄清
- 当
被包含时,再次使用文本转语音系统将该表达播放给用户,并在将其传递给低层策略之前,从
中移除该表达
当插入语(例如“别管它”)被执行后,用户可以向机器人发出信号,表示可以切换回之前的指令并继续任务执行
值得注意的是,高层策略的response是有上下文的,因为它不仅观察提示,还观察当前的图像信息。因此,它可以正确地理解诸如“那不是垃圾”这样的反馈,而这在其他情况下是无法实现的
1.2.3 数据收集与训练 Hi Robot
为了以可扩展的方式训练Hi Robot,作者使用了人工标注和合成生成的交互数据
- 首先,通过遥操作收集机器人演示数据
,这会产生带有整体目标粗略语言注释的轨迹(例如,制作三明治)
- 然后,将这些完整的演示片段分割成短技能
,例如拿起一片生菜,这些技能通常持续一到三秒
且还通过启发式方法从原始机器人动作中提取基本的运动基元(例如,小的修正动作),如将右臂移动到左侧
每一小段都对应机器人正在进行的一个动作或任务。作者会给这些小段加上自然语言的标注,描述“机器人此刻正在做什么”
比如在数据中有一段是“把这块巧克力拿起来”,作者就会给这一段加上相应的标签
最终得到的数据集包含一组
元组,用于描述机器人的技能
- 接下来,使用一个大型VLM
来生成合成的用户提示和插话
,以及对应的机器人语句
具体而言,即给定
,用视觉上下文
和技能标签
(例如,拿起生菜)来提示
让
想象在真实用户交互中可能导致
的适当交互:它生成可能的用户提示
(例如,”你能帮我加一些生菜吗?”),以及机器人的口头响应和澄清
在原论文的附录A中有详细说明合成数据集的生成
相当于给它输入一张图片和一个明确的动作标签,比如“拿起一块巧克力”,让模型去想象:如果这是一个真实世界的场景,有一个用户正在与机器人交互,那用户可能会说什么指令
?
比如,在这个场景中,用户可能说的是:“你去帮我买一些甜的零食。”
然后作者也会让模型想象,如果机器人听到这样的指令,它该如何回应,比如它说:“好,我去给你买一些巧克力吧。” - 最终
他们
上使用交叉熵损失进行下一个token预测,来训练高层策略
相当于将前面采集的数据、标注的数据,以及生成的合成数据(synthetic data)全部汇总,用来训练一个 high-level policy,也就是 Hi Robot 中负责“思考”的部分
训练的输入包括图片和用户可能发出的指令;训练的目标是让模型预测两个输出:机器人该如何回应用户的指令;机器人该实际执行什么动作为了训练低层策略
,在
上采用流匹配目标,方法参考Black 等人(2024)的π0
1.2.4 模型架构与实现
在他们的实现中,低级策略和高级策略使用相同的基础VLM 作为起点,即PaliGemma-3B VLM (Beyer etal., 2024)
- 低级策略是π0 VLA (Black et al., 2024),通过对PaliGemma-3B 进行微调,添加一个额外的流匹配” 动作专家” 以生成连续动作进行训练
- 而高级策略则在第1.2.3 节中描述的图像-语言元组上进行微调以预测命令。虽然在实验中采用了π0,但框架本质上是模块化的,允许根据需要集成其他语言条件策略
可能有朋友疑问,为何这个高级策略VLM不用类似GPT4o之类的呢?原因很简单
- GPT4o其实并不能很好地理解机器人的能力边界——它不知道这个机器人“能做什么、不能做什么”,缺乏 grounding
它本身没有足够强的空间理解能力,也缺乏对任务的持续理解能力- 而π0则不同:有自己的机器人数据库,并且可以利用这个 VLM 来生成更贴合实际的合成数据
如此,一者,把这些能力整合在一起,从而训练一个真正为具身智能和机器人控制设计的 high-level policy,二者,这样的模型在任务理解和指令执行上,表现明显优于那些直接拿来使用的外部模型,比如GPT-4 系列
这两个VLM 具有几乎相同的架构,唯一的区别是低级策略使用流匹配来输出动作。实际上,在模型层面上角色的分离并不是这种设计的根本特性:未来工作的一个自然步骤是将两个系统合并为一个模型,并仅在推理时区分” 系统1” 和” 系统2”
未来的工作还可以更复杂地交错高层和低层处理——尽管作者的系统仅以固定但较低的频率运行高层推理,一个自适应系统可能会同时以多个不同的抽象层次异步处理输入和语言,从而提供更灵活的多层次推理程序
1.3 一系列消融实验
- 例如“你好机器人,你能为我做一个奶酪、烤牛肉和生菜的三明治吗?”或者“你能做一个素三明治吗?我对腌菜过敏”,以及实时修正,比如“够了,不要再加了”
- 购物任务包括从货架上拿取所需物品的组合,放入购物篮中,并将购物篮放到附近的桌子上。此任务需要控制一个双臂移动操控器并解释涉及可变数量物品的细微语义
提示的示例包括“嘿机器人,你能给我拿一些薯片吗?我正在为电影之夜做准备”,“你能给我拿点甜的东西吗?”,“你能给我拿点喝的吗?”,“嘿机器人,你能给我拿一些Twix和Skittles吗?”,以及插话如“我还想要一些Kitkat”
再比如如下图所示,在收拾餐桌任务中,当用户说“那不是垃圾”时,机器人正确地将碗放回原位,而不是将其丢弃
1.3.1 比较与消融分析
他们比较评估了完整方法以及若干替代方法,这些替代方法要么采用了不同类型的高层策略,要么未采用分层结构。具体包括:
- 人类专家高级水平:该 oracle 基线用专家人工替代高层模型,由专家手动输入他们认为最有可能完成任务的低层行为的语言指令
如此可以了解在理想高层指令下,低层策略对性能的限制程度 - GPT-4o高级模型:该方法采用与 Hi Robot 相同的高层/低层分解方式,但在高层部分查询基于 GPT-4oAPI 的模型,同时使用相同的低层策略
GPT-4o是一个显著更大的VLM「当然,它没有使用作者的真实和合成数据集进行微调」
其实,这个4o类似于π0中所用的SayCan的高级版本,后者π0使用开箱即用的LLM作为高层次策略
另,为了使 GPT-4o 与机器人可操作性(affordances)对齐,作者精心设计对应了prompt,纳入低级策略能够遵循的任务相关指令,这些指令由人类标注数据集中最常见的技能标签排名确定,并要求 GPT-4o 在其中进行选择 - Flat VLA:此比较直接使用与Hi Robot中相同的π0低层策略,但不包含任何高层或合成数据,代表了指令跟随领域的最新方法(Black等2024——即π0)
- 仅使用合成数据的的Flat VLA:该消融实验仅采用π0低层策略本身,不包含高层模型,但在低层策略的训练数据中加入了合成数据,因此它仍然能够处理评估中使用的复杂提示
该基线允许能够在不受合成数据影响的情况下,单独评估层级结构的优势 - 没有合成数据的Hi Robot:该消融实验对应我们的方法在不使用合成训练数据的情况下,评估在训练中加入多样化合成生成提示的重要性。该消融实验可以被视为基于先进视觉语言模型(VLM)的YAY Robot(Shi等,2024)的升级版本
YAY Robot是一种先前的系统,利用高级模型为低级模型预测语言指令
1.3.2 核心结果
展示了他们的系统以及两个关键基线的结果:一个GPT-4o策略和一个Flat的VLA方法。定量和定性结果见图5和图6
- Hi Robot 在开放式指令执行方面表现出色。在所有任务中,Hi Robot 的指令准确率和任务进展均明显高于 GPT-4o 和传统基线模型。它能够正确识别、拾取并放置指定物品——即使在被要求只操作特定物体或省略某些成分时(例如:“我对腌黄瓜过敏”)
相比之下,GPT-4o 一旦开始物理交互,往往会丢失上下文,发出无意义的指令(如“捡起百慕大三角”),或有时将所有物品都标记为“盘子”或“勺子”,这会干扰长时序规划 - Hi Robot 展现了强大的情境推理能力,并能根据反馈进行自适应。当用户在任务中途修改请求(例如,“剩下的不用管”,“我还想要一个KitKat”)时,Hi Robot 会相应地更新低级命令
然而,GPT-4o往往无法保持连贯的内部状态,导致在夹爪仍被占用时尝试拾取新物体,或过早切换任务,相比之下,Flat基线方法则无法对实时反馈作出反应 - Hi Robot 在多样化任务、机器人类型和用户约束条件下均表现出色
在单臂、双臂及移动双臂平台上,Hi Robot 能够处理不同类型的物体(从易碎的奶酪片到高大的瓶子),同时遵循动态约束条件(例如,“仅限黄色的公交车”,“不要加西红柿”)
相比之下,简单的基线flat baseline和GPT-4o在任务过程中遇到提示变更时,往往会回到默认行为(例如捡起所有可见物品,或在做三明治时几乎加入所有配料),而不是遵循如“不要加番茄”等具体指令
如下图所示
GPT-4o 经常 (a) 错误识别对象,(b) 跳过子任务,或 (c) 忽略用户意图
Hi Robot 始终生成与机器人当前操作和用户请求一致的指令
在没有合成数据的情况下,高级策略与图像观察很好地对齐,但忽略了用户约束 - 专家级人类引导揭示了低层策略的优势,但也突显了高层推理的必要性。在有人类提供高层指令时,低层策略几乎能够完美执行,这表明失败更多源于推理而非执行。然而,仅依赖人类输入并不可扩展
Hi Robot 通过高层视觉语言模型(VLM)实现了用户指令与实时观测的一致性,弥补了这一差距;而 GPT-4o 缺乏物理感知基础,flat baseline 则缺乏高层推理能力,这些都限制了其性能
1.3.3 消融研究
作者行了两个关键的消融实验,以分别分析:1) 合成数据对高层次推理的贡献,以及2) 分层分解与单一“平面”策略的对比
- 合成数据对于开放式指令跟随至关重要。将Hi Robot(在人工标注数据和合成数据上训练)与仅在人工标注数据上训练的变体进行比较,可以看出合成交互显著提升了语言的灵活性
如下图图7所示,合成数据对于处理开放式指令至关重要,因为没有合成数据训练的模型在应对用户驱动的偏差时表现不佳,无法整合澄清和约束,而Hi Robot通过利用多样化的、组合性的语言提示无缝适应——其中,IA = 指令准确性,TP = 任务进展
如果没有合成数据,经过消融的模型会忽略澄清信息(如“这不是垃圾”),或者包含被禁止的物品(如腌黄瓜);
而 Hi Robot 则能够顺畅地适应此类反馈,这得益于合成数据中更广泛的组合性语言覆盖 - 层次结构优于Flat策略
接下来,作者将 Hi Robot与在相同合成数据上训练的扁平策略进行比较,但后者没有单独的推理步骤
如下图图8所示,分层方法在相同数据上训练时表现优于Flat方法,因为它能够有效地整合用户反馈和部分指令,而Flat模型在任务中途的澄清和细微的任务变化方面表现较差——IA = 指令准确性,TP = 任务进展
Flat模型经常会退回到清除所有物品,或无法处理部分指令(如“只收拾那些偏黄色的东西”)
而 Hi Robot 会在每一个高层步骤重新检查提示,并能够连贯地响应任务中的中途更新
// 待更
更多推荐
所有评论(0)