Helix——Figure 02发布通用人形机器人控制的VLA:一组神经网络权重下的快与慢双系统,让两个机器人协作干活

前言

过去一周,我花了很大的心思、力气,把deepseek的GRPO、MLA算法的代码解析通透,比如GRPO与PPO的详细对比,再比如MLA中,图片 公式 代码的一一对应

2.20日晚,无意中刷到figure 02发布Helix的一个演示视频,再次大为震撼,当时在朋友圈感叹到

毕竟对于工厂特定场景的干活,目前模仿学习和RL落地相对更好(当然,工厂很快也会迎来VLA的落地),但对于家庭相对复杂多变的场景下,VLA的泛化能力确实更强

故本文就来专门解析下figure 02发布的通用VLA:Helix

Figure 02发布通用人形机器人控制的VLA:Helix

  1. 整个上身控制:Helix 是第一款对整个人形上身(包括手腕、躯干、头部和各个手指)进行高速率连续控制的 VLA
  2. 多机器人协作:Helix 是第一个同时在两个机器人上运行的 VLA,使它们能够使用从未见过的物品解决共享的、远程操作任务
  3. 拿起任何东西:配备了 Helix 的 Figure 机器人现在只需按照自然语言提示,就能拿起几乎任何小型家居物品,包括数千种它们从未遇到过的物品
  4. 一个神经网络:与之前的方法不同,Helix 使用一组神经网络权重来学习所有行为
    One neural network: Unlike prior approaches, Helix uses a single set of neural network weights to learn all behaviors
    比如挑选和放置物品、使用抽屉和冰箱以及跨机器人交互,而无需任何针对特定任务的微调

    换言之,即Helix 仅使用一个统一的模型就实现了不同任务的强大性能,仅使用一组神经网络权重:系统 2 为 7B,系统 1 为 80M
    Helix achieves strong performance across diverse tasks with a single unified model.
    Using just one set of neural network weights (7B for System 2, 80M for System 1)
    要知道, 此文《π0——用于通用机器人控制的VLA模型:一套框架控制7种机械臂(基于PaliGemma和流匹配的3B模型)》中介绍的π0,是组合的预训练模型与动作专家模型,两个模型的权重是不一样的

总之,具身智能让我对大模型的应用落地 充满极大的热情与信心

  1. 自从figure 01之前发布的与人类自然流畅的对话且听人类指令整理桌面之后「详见此文的第六部分  Figure 01:VLM做顶层规划 + 操控小模型预测动作」,figure在我眼中便是机器人版OpenAI的存在,它的每一次更新迭代,我都极为关注,代表着具身机器人的最前沿之一
  2. 创业团队搞大模型纯软应用 拼不过大厂,但具身的落地,现在有不少大中小创业公司的机会与空间(场景太多 大厂搞不过来)
    希望与同行/同仁多多合作

第一部分 通用人形机器人控制Helix

1.1 如何理解Helix

1.1.1 不同场景下训练方法的对比

众所周知

  1. 在面对特定的比如工厂场景中,在模仿学习的框架之下,采集数千条人类示教数据,是可以教会机器人比如协作机械臂干一些活的(当然,也可以通过先建立仿真环境,通过RL大量重复交互、训练一个base model,然后再在真实环境中通过人类示教数据做微调)
  2. 但当面对相对复杂多变的家庭场景,针对家庭场景的一个个特定任务,则不管是每个任务都进行长达数小时的编程,还是一个个场景下采集数千条示教演示的数据,都显得成本高昂——至少不太经济

说白了,就是前者工厂目前暂不需要很强的泛化,更多需要精细控制

但家庭则需要相对比较好的泛化能力,毕竟家庭场景下的每个任务的精读要求没工厂要求那么高,有一定的容错性,但家庭场景复杂多变

为了让机器人有比较好的泛化能力,此前的VLA已经在这方面做了很多的探索

而本次Figure 02发布的Helix便是延续VLA这条路线的成果——将视觉语言模型VLM)中已有的丰富语义知识通过一定的途径转化为机器人动作

那针对如何从 VLM 中提取所有这些常识性知识并将其转化为可泛化的机器人控制这个问题,Helix是怎么做的呢,和其他的VLA模型——比如和π0有何不同呢

1.1.2 Helix:组合“快系统 1、慢系统 2”,以用于整个上身控制

先前的方法面临着一个根本性的权衡:VLM 主干是通用的,但速度不快,而机器人视觉运动策略是快的,但不通用,而Helix 通过两个互补的系统解决了这一权衡,这两个系统经过端到端的训练,可以进行通信

总之,Helix 是首创的双系统[分为“快系统 1、慢系统 2”]VLA 模型,可对人形机器人的整个上半身进行高速、灵巧的控制

  1. 系统 2 (S2):一个在互联网规模数据上进行了预训练的 VLM,其参数大小为7B
    以 7-9 Hz 的频率运行,用于场景理解和语言理解,从而实现跨对象和跨情境的广泛泛化

    \rightarrow  它处理经过投影进入视觉语言嵌入空间的单目机器人图像和机器人状态信息(包括腕部姿态和手指位置)
    It processes monocular robot images and robot state information (consisting of wrist pose and finger positions) after projecting them into vision-language embedding space.
    \rightarrow  结合指定期望行为的自然语言指令,S2 将所有与任务相关的语义信息提炼为一个单一的连续潜在向量Latent Vector,传递给 S1 以对其低级动作进行条件设置
    Combined with natural language commands specifying desired behaviors, S2 distills all semantic task-relevant information into a single continuous latent vector, passed to S1 to condition its low-level actions
  2. 系统 1 (S1):一种基于交叉注意力的编码器-解码器Transformer,其参数大小为80M
    且S1自身的视觉骨干网络通过全卷积、多尺度视觉主干网络进行视觉处理「It relies on a fully convolutional, multi-scale vision backbone for visual processing」,该网络通过完全在模拟环境中进行的预训练来初始化

    S1的动作策略会结合:S1自身接收到的最新观察结果来自S2的最新S2潜在向量,具体而言
    第一方面,S1快速推理,S1自身的视觉骨干网络 会直接接收与 S2 相同的图像和状态输入,但它以更高的频率处理它们,以实现响应更快的闭环控制
    第二方面,S1结合S2深度思考下的深度推理,即S1还会接收来自 S2 的Latent Vector投影到 S1 的token空间中」,且沿着序列维度与来自第一方面S1自身视觉骨干网络的视觉特征连接起来,以提供完成对应任务的完整条件
    The latent vector from S2 is projected into S1's token space and concatenated with visual features from S1's vision backbone along the sequence dimension, providing task conditioning

    如此一快、一慢,最终融合S1自身视觉主干的输入信息和来自S2 产生的潜在语义表征(latent semantic representations),整体输出快速反应的视觉运动策略——即200 Hz 的精确连续机器人动作,包括所需的手腕姿势、手指屈曲和外展控制以及躯干和头部方向目标
    且他们在动作空间中附加了一个合成的“任务完成百分比”动作,使 Helix 能够预测自己的终止条件,从而更容易对多个学习到的行为进行排序

我再帮大家对比下之前的模型

  • 在操作频率上,比π0、RT2更快
    比如,对于π0而言,他们也就做到50Hz的频率控制机器人进行如折叠衣物
    包括更早之前的RT-2的执行速度更有限,更没法做到200hz的操作速度
  • 在模型架构上,一个大模型,不用额外且独立的动作专家expert
    首先,Figure 01类似RT-1,两个模型:组合了OpenAI的VLM、Figure 01的机器人操控小模型
    ——这两个模型的权重是不一样的
    其次,Figure 02的Helix全程就一个大模型,非简单组合VLM和动作专家expert,而是一个整体的VLA,两个系统共享一组神经网络权重
    且过程中不再需要将自然语言转化成简单指令「根据输入直接得到输出action(没有Figure 01中的机器人操控小模型)」,通过自然语言就可得到最终的 Action
  • 在是否微调上,不用针对特定的任务进行微调
    现有的 VLA 系统通常需要专门的微调来优化不同高级行为的性能,Helix不用
    Existing VLA systems often require specialized fine-tuning or dedicated action heads to optimize performance across different high-level behaviors

这种解耦架构使得每个系统都能在其最优的时间尺度上运行。S2 可以“慢思考”高层次的目标,而 S1 则能“快思考”以实时执行和调整动作。例如,在协作行为期间,S1 能够迅速适应伙伴机器人不断变化的动作,同时保持 S2 的语义目标

且Helix 直接输出高维动作空间的连续控制,避免了先前 VLA 方法中——比如RT-2、OpenVLA使用的复杂动作tokenization方案,这些方案在低维控制设置「例如二指夹爪,即binarized parallel grippers」中已取得一些成功,但在高维人形控制中面临扩展挑战

1.2 数据和训练细节

1.2.1 数据:500 小时的高质量监督数据来训练 Helix

我们收集了高质量的多机器人、多操作员数据集,其中包含各种远程操作行为,总共约 500 小时「相当于使用约 500 小时的高质量监督数据来训练 Helix,这个数据量还是比较小的,差不多就是模仿学习示教数据集的规模,而一般的VLA预训练数据集一般1万小时起步,比如π0——其在超过10,000小时的机器人数据上进行预训练

为了生成自然语言条件训练对,他们使用自动标记(auto-labeling) VLM 来生成事后指令

VLM 处理来自机载机器人摄像头的分段视频片段,并提示:“你会给机器人什么指令来执行此视频中看到的动作?”

当然了,训练期间处理的所有物品均不包含在训练完成后的效果评估中,以防止污染

1.2.2 训练与推理

Helix 经过完全端到端的训练

  1. 从原始像素和文本命令映射到具有标准回归损失的连续动作。梯度通过用于调节 S1 行为的潜在通信向量:从 S1 反向传播到 S2,从而允许对两个组件进行联合优化
  2. Helix 不需要针对特定​​任务进行调整;它保持单个训练阶段和单个神经网络权重集,无需单独的动作头或每个任务的微调阶段
    it maintains a single training stage and single set of neural network weights without separate action heads or per-task fine-tuning stages
  3. 在训练过程中,在 S1 和 S2 输入之间添加时间偏移,此偏移经过校准以匹配 S1 和 S2 部署的推理延迟之间的差距,确保部署期间的实时控制要求准确反映在训练中

优化的流式推理

  1. Helix 的训练设计支持在 Figure 机器人上高效地并行部署模型,每个机器人都配备了双低功耗嵌入式 GPU
    推理管道分为 S2(高级潜在规划)和 S1(低级控制)模型,每个模型都在专用 GPU 上运行

    \rightarrow  S2 作为异步后台进程运行,使用最新的观察结果(机载摄像头和机器人状态)和自然语言命令。它持续更新一个共享内存潜在向量——即下图中间的那个Latent Vector,该向量编码了高层次的行为意图
    It continuously updates a shared memory latent vector that encodes the high-level behavioral intent.

    \rightarrow  S1 作为单独的实时过程执行,保持整个上身动作流畅所需的关键 200Hz 控制环路。它采用最新的观察结果和最新的 S2 潜在向量
    It takes both the latest observation and the most recent S2 latent vector
  2. S2 和 S1 推理之间固有的速度差异,自然导致 S1 在机器人观测上以更高的时间分辨率运行,从而为反应式控制创建了一个更紧密的反馈回路
    The inherent speed difference between S2 and S1 inference naturally results in S1 operating with higher temporal resolution on robot observations, creating a tighter feedback loop for reactive control.

    这种部署策略刻意反映了训练中引入的时间偏移,从而最大限度地减少了训练-推理分布差距。异步执行模型允许两个进程以最佳频率运行,使得能够以最快的单任务模仿学习策略的速度运行 Helix

// 待更

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21774.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity游戏制作中的C#基础(2)变量与数据类型

1.变量 (1)变量的定义:变量是用于存储数据的容器。 (2)变量的作用:在程序运行过程中,我们可以将各种类型的数据存储在变量中,方便后续使用和操作。 (3)变量…

革新之力:数字科技——重塑未来的超越想象之旅

在21世纪的科技浪潮中,数字科技如同一股不可阻挡的洪流,正以前所未有的速度和广度改变着我们的生活、工作乃至整个社会的结构。它不仅是技术的简单迭代,更是对人类社会认知边界的拓宽,对经济模式、社会治理、文化形态等多方面的深…

python pandas下载

pandas pandas:就是一个可以处理数据的 python 库 核心功能: 数据的清洗:处理丢失值,重复值数据分析:计算和统计信息,或分组汇总数据可视化:结合 图标库(Matplotlib)完成数据可视化…

将Google文档导入WordPress:简单实用的几种方法

Google文档是内容创作者非常实用的写作工具。它支持在线编辑、多人协作,并能够自动保存内容。但当我们想把Google文档中的内容导入WordPress网站时,可能会遇到一些小麻烦,比如格式错乱、图片丢失等问题。本文将为大家介绍几种简单实用的方法&…

java面试场景问题

还在补充,这几天工作忙,闲了会把答案附上去,也欢迎各位大佬评论区讨论 1.不用分布式锁如何防重复提交 方法 1:基于唯一请求 ID(幂等 Token) 思路:前端生成 一个唯一的 requestId(…

【笔记ing】C语言补充、组成原理数据表示与汇编实战、操作系统文件实战(高级阶段)

【第19节 C语言语法进阶】 【19.1 条件运算符与逗号运算符】 1 条件运算符 条件运算符是C语言中唯一的一种三亩运算符。三目运算符代表有三个操作数;双目运算符代表有两个操作数,如逻辑运算符就是双目运算符;弹幕运算符代表有一个操作数&a…

GAMES101-现代计算机图形学入门笔记

主讲老师:闫令琪,此处仅做个人笔记使用。如果我的分享对你有帮助,请记得点赞关注不迷路。 课程链接如下:GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili 课程分为四部分:光栅化、几何、光线追踪、模拟 图形…

激光工控机在自动化生产线中有什么关键作用?

激光工控机作为自动化生产线的核心设备,通过高精度控制、快速响应和智能化集成,在提升效率、保障质量、实现柔性制造等方面发挥着不可替代的作用。以下是其关键作用的具体分析: 一、实现高效连续生产: 1.高速加工能力&#xff1…

高等数学(上)题型笔记(六)定积分的应用

目录 1 三角函数定积分的结论 2 定积分的微元法(元素法) 2.1 使用条件 2.2 使用步骤 3 定积分的几何应用 3.1 平面图形的面积 3.1.1 直角坐标系的情形 3.1.1.1 X型 3.1.1.2 Y型 3.1.1.3 双型 3.1.1.4 复合:分割型 3.1.1.5 引入参…

QT项目——天气预报

文章目录 前言一、项目介绍二、项目基础知识1. 软件开发网络通信架构1.1 CS架构 / BS架构1.1.1 CS架构(客户端-服务器架构)1.1.2 BS架构(浏览器-服务器架构) 1.2 HTTP 基本概念 2. QT 下 HTTP 编程2.1 类的解析2.2 示例程序 3. JS…

最优化方法-牛顿法

牛顿法 泰勒级数 泰勒级数展开 $$ \begin{aligned} f(x)&\lim\limits_{n\rightarrow \infin}\sum\limits_{i1}n\frac{1}{n!}f{(n)}(x_0)(x-x_0)^n\ &f(x_0)f’(x_0)(x-x_0)\frac{f’(x_0)}{2!}(x-x_0)2\cdots\frac{1}{n!}fn(x_0)(x-x_0)^n\ &\quad~ O\left[(x-x_…

论文笔记(七十二)Reward Centering(二)

Reward Centering(二) 文章概括摘要2 简单的奖励中心 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arXiv preprint arXiv:2405.0…

halcon机器视觉深度学习对象检测,物体检测

目录 效果图操作步骤软件版本halcon参考代码本地函数 get_distinct_colors()本地函数 make_neighboring_colors_distinguishable() 效果图 操作步骤 首先要在Deep Learning Tool工具里面把图片打上标注文本, 然后训练模型,导出模型文件 这个是模型 mod…

MySQL修改JSON格式数据示例

最近发现有个数据是用JSON格式直接存到表格里面的,大概就是下面这样的 然后需要修改里面某个属性的值,一开始我想的是 REPLACE 替换 UPDATE test_1 SET content REPLACE(content, {"age": 15, "name": "w5"}, {"ag…

第4章 信息系统架构(二)

4.2 系统架构 信息系统架构是一种体系结构,它反映了一个组织信息系统的各个组成部分之间的关系,以及信息系统与相关业务、信息系统与相关技术之间的关系。 4.2.1 架构定义 对于大规模的复杂系统来说,对总体的系统结构设计比起对计算算法和…

AI 时代:探索大语言模型与核心技术

引言 在当今科技快速发展的时代,人工智能(AI)正成为推动创新和变革的重要力量。从能够理解和生成自然语言的大语言模型(LLM),到具有自我学习能力的生成式预训练转换器(GPT)&#xf…

Python----数据结构(单链表:节点,是否为空,长度,遍历,添加,删除,查找)

一、链表 链表是一种线性数据结构,由一系列按特定顺序排列的节点组成,这些节点通过指针相互连接。每个节点包含两部分:元素和指向下一个节点的指针。其中,最简单的形式是单向链表,每个节点含有一个信息域和一个指针域&…

10、k8s对外服务之ingress

service和ingress的作用 service的作用 NodePort:会在每个节点开放一个端口,端口号30000-32767。 也是只能用于内网访问,四层转发。实现负载均衡。不能基于域名进行访问。 clusterip:service的默认类型,只能在集群…

Linux-ubuntu系统移植之Uboot启动流程

Linux-ubuntu系统移植之Uboot启动流程 一,Uboot启动流程1.Uboot的两阶段1.1.第一阶段1.11.硬件初始化1.12.复制 U-Boot 到 RAM1.13.跳转到第二阶段 1.2.第二阶段1.21.C 语言环境初始化1.22. 硬件设备初始化1.23. 加载环境变量1.24. 显示启动信息1.25. 等待用户输入&…

H3C交换机路由器防火墙FTP/TFTP服务器搭建。

软件介绍。 3CDaemon 2.0 - Download 3CDaemon 是一款集成了多种网络服务功能的工具软件,主要用于网络管理和文件传输,支持TFTP、FTP、Syslog等多种协议,广泛应用于网络设备的配置和管理。 1. 主要功能 TFTP服务器:支持TFTP协议…