0

0

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

WBOY

WBOY

发布时间:2024-05-28 15:22:35

|

1157人浏览过

|

来源于51CTO.COM

转载

在机器人学习方面,一种常用方法是收集针对特定机器人和任务的数据集,然后用其来训练策略。但是,如果使用这种方法来从头开始学习,每一个任务都需要收集足够数据,并且所得策略的泛化能力通常也不佳。

“原理上讲,从其他机器人和任务收集的经验能提供可能的解决方案,能让模型看到多种多样的机器人控制问题,而这些问题也许能提升机器人在下游任务上的泛化能力和性能。但是,即便现在已经出现了能处理多种自然语言和计算机视觉任务的通用模型,构建『通用机器人模型』依然困难重重。”

要让机器人训练一个统一的控制策略非常困难,其中包括涉及诸多难点,包括操作不同的机器人机体、传感器配置、动作空间、任务规范、环境和计算预算。

为了实现这一目标,已经出现了一些「机器人基础模型」相关研究成果;它们的做法是直接将机器人观察映射成动作,然后通过零样本本方案泛化至新领域或新机器人。这些模型通常被称为「通才机器人策略(generalist robot policy)」,简称 GRP,这强调了机器人跨多种任务、环境和机器人系统执行低阶视觉运动控制的能力。

GNM(General Navigation Model,通用导航模型)适用于多种不同的机器人导航场景,RoboCat 可针对任务目标操作不同的机器人机体,RT-X 能通过语言操作五种不同的机器人机体。尽管这些模型确实是重要进展,但它们也存在多方面的局限:它们的输入观察通常是预定义的且通常很有限(比如单相机输入视频流);它们难以有效微调至新领域;这些模型中最大型的版本都没有提供人们使用(这一点很重要)。

近日,加州大学伯克利分校、斯坦福大学、卡内基梅隆大学和谷歌DeepMind的18位研究者组成的Octo Model Team发布了他们的开创性研究成果:Octo模型。该项目有效地克服了上述局限。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

  • 论文标题:Octo: An Open-Source Generalist Robot Policy
  • 论文地址:https://arxiv.org/pdf/2405.12213
  • 开源项目:https://octo-models.github.io/

他们设计了一个系统,能让 GRP 更轻松地应对下游机器人应用的接口多样化问题。

该模型的核心是 Transformer 架构,其可将任意输入 token(根据观察和任务创建)映射成输出 token(然后编码成动作),而且该架构可使用多样化的机器人和任务数据集进行训练。该策略无需额外训练就能接受不同的相机配置,也能控制不同的机器人,还能通过语言命令或目标图像进行引导 ——— 所有这些只需通过改变输入模型的 token 即可实现。

最重要的是,该模型还能适应传感器输入、操作空间或机器人形态不同的新机器人配置,所需的只是采用适当的适配器(adapter)并使用一个小的目标领域数据集和少量计算预算进行微调。

不仅如此,Octo 还已经在迄今为止最大的机器人操控数据集上完成了预训练 —— 该数据集包含来自 Open X-Embodiment 数据集的 80 万个机器人演示。Octo 不仅是首个可有效微调至新观察和动作空间的 GRP,也是首个完全开源(训练工作流程、模型检查点和数据)的通才机器人操控策略。该团队也在论文中强调了其组合 Octo 各组件的独特创新性。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

Octo 模型

下面我们来看看 Octo 这个开源的通才机器人策略是如何构建的。总体而言,Octo 的设计目标是让其成为一个灵活且广泛适用的通才机器人策略,可被大量不同的下游机器人应用和研究项目使用。

架构

Octo 的核心是基于 Transformer 的策略 π。其包含三个关键部分:输入 token 化器、Transformer 骨干网络和读出头。

如图 2 所示,其中输入 token 化器的作用是将语言指令、目标和观察序列转换成 token,Transformer 骨干会把这些 token 处理成嵌入,读出头则是得出所需的输出,即动作。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

任务和观察 token 化器

为了将任务定义(比如语言指令和目标图像)与观察(比如相机视频流)转换成常用的已 token 化的格式,该团队针对不同模态使用了不同的 token 化器:

对于语言输入,先 token 化,然后通过一个预训练的 Transformer 将其处理成一个语言嵌入 token 序列。具体而言,他们使用的模型是 t5-base (111M)。

对于图像观察和目标,则是通过一个较浅的卷积堆栈来处理,然后再拆分成平展后图块构成的序列。

最后,通过向任务和观察 token 添加可学习的位置嵌入并按一定顺序排列它们来构建 Transformer 的输入序列。

Transformer 骨干和读出头

将输入处理成一种统一化的 token 序列之后,就能交给 Transformer 处理了。这与之前的研究工作类似:基于观察和动作系列来训练基于 Transformer 的策略。

Octo 的注意力模式是逐块掩码式:观察 token 只能按照因果关系关注来自同一或之前时间步骤的 token 以及任务 token。对应于不存在观察的 token 会被完全掩蔽掉(比如没有语言指令的数据集)。这种模块化设计很方便,可在微调阶段添加或移除观察或任务。

除了这些输入 token 模块,该团队还插入了已学习完成的读出 token。读出 token 会关注其之前的观察和任务 token,但不会被任何观察或任务 token 关注。因此,读出 token 只能读取和处理内部嵌入,而无法影响内部嵌入。读出 token 的作用类似于 BERT 中的 [CLS] token,充当截至目前的观察序列的紧凑向量嵌入。针对读出 token 的嵌入,会使用一个轻量的实现扩散过程的「动作头」。这个动作头会预测多个连续动作构成的一个「块(chunk)」。

这样的设计可让用户在下游微调时向模型灵活地添加新的任务和观察输入或动作输出头。当在下游添加新的任务、观察或损失函数时,可以在整体上保留 Transformer 的预训练权重,仅添加新的位置嵌入、一个新的轻量编码器、或由于规范变化而必需的新头的参数。这不同于之前的架构 —— 对于之前的架构,如果添加或移除图像输入或改变任务规范,就需要重新初始化或重新训练预训练模型的大量组件。

要让 Octo 成为真正的「通才」模型,这种灵活性至关重要:由于我们不可能在预训练阶段覆盖所有可能的机器人传感器和动作配置,因此,如果能在微调阶段调整 Octo 的输入和输出,便能让其成为机器人社区的一种多功能工具。另外,之前使用标准 Transformer 骨干或融合使用视觉编码器与 MLP 输出头的模型设计固定了模型输入的类型和顺序。相较之下,切换 Octo 的观察或任务并不需要对大部分模型进行重新初始化。

训练数据

该团队从 Open X-Embodiment 中取用了包含 25 个数据集的混合数据集。图 3 给出了数据集的组成。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

有关训练目标和训练硬件配置等更多细节请参阅原论文。

模型检查点和代码

重点来了!该团队不仅发了 Octo 的论文,还完全开源了所有资源,其中包括:

  • 预训练完成的 Octo 检查点,包括 2700 万参数的 Octo-Small 和 9300 万参数的 Octo-Base。
  • 用于 Octo 模型的微调脚本,基于 JAX。
  • 用于在 Open X-Embodiment 数据集上预训练 Octo 的模型预训练工作流程,基于 JAX。用于 Open X-Embodiment 数据的数据加载器,兼容 JAX 和 PyTorch。

实验

该团队也通过实验对 Octo 进行了实证分析,在多个维度上评估了其作为机器人基础模型的性能:

  1. 能否直接使用 Octo 控制多台机器人机体并解决语言和目标任务?
  2. Octo 权重可否作为优质的初始化基础,支持面向新任务和机器人的数据高效型微调,以及它是否优于从头开始训练的方法和常用的预训练表征?
  3. 在构建通才机器人策略方面,Octo 中的哪种设计决策最重要?

图 4 展示了评估 Octo 的 9 种任务。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

直接使用 Octo 控制多台机器人

该团队比较了 Octo、RT-1-X、RT-2-X 的零样本操控能力,结果见图 5。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

可以看到,Octo 的成功率比 RT-1-X(3500 万参数)高 29%。而在 WidowX 和 RT-1 Robot 评估上,Octo 与 550 亿参数的 RT-2-X 性能相当。

此外,RT-1-X 和 RT-2-X 仅支持语言指令,而 Octo 还支持以目标图像为条件。该团队还发现,在 WidowX 任务上,如果使用目标图像为条件,成功率比使用语言为条件高 25%。这可能是因为目标图像能提供更多有关任务完成的信息。

Octo 能高效地使用数据来适应新领域

表 1 给出了数据高效型微调的实验结果。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

可以看到,相比于从头开始训练或使用预训练的 VC-1 权重进行预训练,微调 Octo 得到的结果更好。在 6 种评估设置上,Octo 相较于第二名基准的平均优势为 52%!

并且不得不提的是:针对所有这些评估任务,微调 Octo 时使用的配方和超参数全都一样,由此可见该团队找到了一个非常好的默认配置。

通才机器人策略训练的设计决策

上面的结果表明 Octo 确实能作为零样本多机器人控制器,也能作为策略微调的初始化基础。接下来,该团队分析了不同设计决策对 Octo 策略性能的影响。具体而言,他们关注的重点是以下方面:模型架构、训练数据、训练目标、模型规模。为此,他们进行了消融研究。

表 2 给出了在模型架构、训练数据和训练目标的消融研究结果。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

图 6 则展现了模型规模对零样本成功率的影响,可以看出来更大的模型有更好的视觉场景感知能力。

适应多形态多任务,最强开源机器人学习系统「八爪鱼」诞生

整体而言,Octo 各组件的有效性得到了证明。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6048

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

782

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1052

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1095

2024.03.01

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

991

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

51

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

232

2025.12.29

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

371

2023.07.18

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

74

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 2.7万人学习

Go 教程
Go 教程

共32课时 | 3.2万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号