大模型时代的具身智能系列专题(十)

Sergey Levine团队

Sergey Levine目前是UC Berkeley电气工程与计算机科学系的副教授,同时是RAIL(Robotic AI&Learning Lab@BAIR)实验室主任。除了在Berkeley的教职,Levine也是Google Brain的研究员,他也参与了Google知名的机器人大模型PALM-E,RT1和RT2。Sergey Levine于2009年获得斯坦福大学计算机科学的学士和硕士学位,并于2014年获得斯坦福大学计算机科学的博士学位,导师是Vladlen Koltun,他博士后期间在加州大学伯克利分校与Pieter Abbeel教授合作。他的研究重点是用于决策和控制的机器学习,重点关注深度学习和强化学习算法,应用方向主要在机器人和自动驾驶方面。他在发Paper方面非常的高产,Robot Learning的顶会或期刊(CoRL,ICML,RSS,ICRA,RSS等)。

主题相关作品

  • Octo

Octo

fig1
在各种机器人数据集上预先训练的大型策略有可能改变机器人学习:这种通用机器人策略无需从头开始训练新策略,只需使用少量领域内数据即可进行微调,但具有广泛的泛化能力。然而,为了广泛应用于各种机器人学习场景、环境和任务,这些策略需要处理不同的传感器和动作空间,适应各种常用的机器人平台,并轻松高效地微调到新领域。本方法Octo是一种基于大型 Transformer 的策略,在 Open X-Embodiment 数据集(迄今为止最大的机器人操作数据集)上的 800k 条轨迹上进行训练。它可以通过语言命令或目标图像进行指示,并且可以在标准消费级 GPU 上在几个小时内通过新的感官输入和动作空间有效地微调到机器人设置。在 9 个机器人平台上的实验中,证明了 Octo 是一种多功能策略初始化,可以有效地微调到新的观察和动作空间。

模型架构

fig2

Octo模型主要由三个部分组成:输入编码器,用于将不同形式的输入统一编码为token序列;Transformer主干网络,用于处理输入token序列并输出对应的embedding;输出头,将Transformer输出解码为机器人动作。模型的整体架构如图2所示。

输入编码器将语言指令、目标图像、机器人传感器观察等不同modality的输入分别编码为统一格式的token。其中,语言指令通过预训练的语言模型编码为定长的token embedding序列;图像则先经过一个较浅的CNN提取特征,然后划分为多个patches并展平,从而得到图像token序列。最后将这些不同来源的输入token拼接为一个统一的序列送入Transformer主干网络。

Transformer接收这些输入token后,以块状注意力(block-wise attention)的方式处理它们。如图2顶部所示,不同来源的输入token序列先分别与对应的可学习的位置编码(position embedding)相加,然后依次输入到Transformer的每一层。每个输入token只能关注当前时刻之前的输入,而任务指令token(绿色方块)可以被所有其他token关注。此外,还引入了一些可学习的输出token(readout token,图中紫色方块)。每个输出token都关注它之前的输入token,但反过来输入token不会关注输出token。这些输出token就像是BERT中的[CLS]标记,作为截至当前步的观察序列的紧凑embedding表示。最后将输出token的embedding传入输出头,解码为机器人动作。

模型输出头采用diffusion过程对机器人动作进行建模。它将一个初始的高斯噪声向量解码为连续的机器人动作,解码过程通过多步的逐步去噪来实现。每一步去噪过程由浅层MLP实现,它以当前步的输出、Transformer输出的embedding、以及步骤编号作为输入。通过这种方式,模型能输出一段连续的未来机器人动作序列,即所谓的action chunk。

本文提出的Octo模型最大的特点在于其灵活性。得益于块状注意力和输出head的设计,在迁移学习到新机器人或任务时,可以很方便地增删输入输出modalities,而无需重新初始化或训练模型的大部分参数。如图2底部所示,在下游任务中需要新的观察信息时,只需引入新的对应输入token即可(虚线蓝色方块);类似地,需要输出新的动作空间时,只需引入新的可学习输出token(虚线紫色方块)并搭配新的输出头即可。预训练好的Transformer参数都可以原封不动地继承使用。这种灵活的设计使得Octo成为一个通用的机器人控制策略,能适应多种机器人平台和任务。

数据

fig3
Octo模型在目前最大规模的机器人操控数据集Open X-Embodiment dataset上训练,该数据集包含了约150万个机器人操控的轨迹。本文从中精选了25个子数据集共计800k个轨迹进行训练,涵盖了多个机器人平台和任务环境,数据来源如图3所示。

为了进行跨数据集的训练,本文对原始数据进行了必要的预处理和对齐。以统一夹爪动作空间为例,将所有数据集的夹爪指令对齐为: +1表示张开,0表示闭合。另外,为了防止过长的单个轨迹主导整个训练过程,本文对每条轨迹随机下采样至多100个时间步。

在训练时需要从这25个数据集中采样数据,一个简单的策略是按数据集大小等比例采样。但是其中一些更丰富、更多样化的数据集可能对提高模型泛化性更有帮助。因此,本文依据数据集大小设置基础采样概率,并对一些表现更佳的数据集的概率进行少量提升,最终各数据集的采样概率如图3所示。这种经过调整的采样策略在实验中取得了更好的效果。

训练目标与细节

与许多先前工作使用离散化动作空间或MSE回归动作不同,本文采用条件扩散模型(conditional diffusion model)作为动作输出头,以期对连续动作空间进行更好的建模。具体来说,每次训练时,先将专家动作序列加入高斯噪声,然后训练模型去除这些噪声以还原原始动作。通过这种方式,模型能学会输出与专家演示动作更相似的动作序列。

另一个细节是,本文模型每次输出一段连续的未来动作序列(action chunking),即预测从当前时刻开始的若干个未来时间步的动作,而不是单步预测。这样的序列化输出能得到更连贯平滑的动作轨迹。在测试时则采用滚动时域预测的方式,即预测未来若干步的动作,执行前几步,观察最新状态,再重新预测,以此类推。

本文还采用了一些常见的数据增强和正则化技巧,包括对训练图像进行随机裁剪、颜色变换等,以及对Transformer模型使用dropout和LayerNorm。模型训练时使用AdamW优化器,并设置初始学习率warmup和余弦衰减的学习率调度。表IV列出了主要的训练超参数。

最后,本文还训练了不同规模的Octo变体,如表V所示,包括参数量为2700万的Octo-Small和9300万的Octo-Base等。在实验中,更大规模的模型在开箱即用的零样本机器人控制上展现出了更强的能力。

开源代码与模型

为了方便研究人员的进一步研究和使用,本文将Octo训练和测试的全部代码开源,并提供了预训练好的模型权重。这包括:

  • Octo-Small和Octo-Base的预训练权重,可直接用于测试或在下游任务上进行微调
  • 模型微调的示例代码,可适配到新的观察和动作空间
  • 完整的模型训练流水线代码,包括高效的Open X-Embodiment数据加载器
  • 方便推理部署的模型前向代码

有了这些开源代码和模型,研究人员只需几行代码就能调用Octo模型对机器人进行控制。例如,加载一个预训练权重,给定语言指令和传感器观察,就能输出对应的机器人动作。同时,在新的机器人和任务上对模型进行微调也变得简单易行。清单1展示了一个最简单的模型推理代码例子。

综上,本文提出的Octo模型兼顾了通用性和灵活性,能以开箱即用的方式对多个机器人执行语言指令,也能高效地迁移到新的观察空间和动作空间。模型的训练和推理代码全部开源,为今后机器人学习领域的研究提供了一个很好的基础模型。

实验

实验场景介绍

该论文提出了一个开源的通用机器人操作策略Octo,论文实验主要评估Octo在零样本多机器人控制和few-shot策略微调中的性能,以及不同设计决策的影响。

实验设置

实验平台:在4个机构的9个真实机器人设置上进行评估,涵盖不同机器人、传感器配置和任务类型。
Datasets:Octo在Open X-Embodiment数据集的800k机器人轨迹上预训练。few-shot微调使用~100个目标域演示。
Baseline:零样本对比RT-1-X和RT-2-X。few-shot微调对比从头训练和VC-1预训练视觉表征。
metric:任务成功率
fig4

实验结果

零样本多机器人控制性能
fig5
目的:评估Octo在来自预训练数据的环境中对多个机器人的开箱即用控制能力
结果:
Octo在WidowX、UR5和RT-1机器人上的语言指定任务上优于RT-1-X。
在WidowX任务上,Octo与更大的RT-2-X模型表现相似。
Octo还支持目标图像条件,在WidowX上比语言条件高出25%的成功率。

Octo在新域上few-shot微调的性能
tab1
目的:评估Octo作为新任务和新机器人策略初始化的few-shot微调性能
实验细节概述:在6个包含新观测(力矩)、新动作空间(关节位置控制)和新机器人的评估设置上,使用~100个目标域演示和相同超参数进行微调,每个域评估20次。
结果:
在所有设置中,微调Octo优于从头训练和VC-1预训练视觉表征,平均高出52%。
结果凸显了Octo适应新观测、动作空间和机器人的能力,使其广泛适用于单臂双臂操作问题。

总结

Octo是一个基于大型transformer的策略预训练,它是迄今为止最大的机器人操作数据集,包含800k个机器人轨迹。Octo可以解决各种开箱即用的任务,Octo的组合设计能够调整新的输入和动作空间,使Octo成为广泛的机器人控制问题的通用初始化。除了模型本身,本方法还发布了完整的训练和微调代码,以及使大型机器人数据集更容易训练的工具。

虽然Octo在zeroshot和微调评估中都取得了很强的性能,但我们发现目前的模型仍然有一些缺点,我们在很大程度上将其归因于训练数据的特征。首先,我们发现当前的Octo模型难以充分处理手腕相机信息。通常,当只使用第三人称相机而不是将第三人称相机和手腕相机结合使用时,微调效果更强。此外,我们注意到语言条件策略性能和目标条件策略性能之间存在很大差异。在这两种情况下,训练数据中缺乏相应的模态可能是原因:只有27%的数据包含手腕相机信息,只有56%的预训练数据包含语言注释。

扩展用于训练Octo的数据是一种自然的改进途径。由于Open X-Embodiment数据集由最佳机器人演示组成,目前的模型通过模仿进行训练;未来的工作可能会考虑从次优或在线交互数据中学习,这些数据需要其他目标。此外,虽然我们专门在单臂和双臂机械手上训练和评估Octo;扩展到执行导航或移动操作的更广泛的机器人集将是一个高机会的方向。

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

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

相关文章

C#——随机类Random类

Random类 C#的Random类是用于生成随机数的类,属于System命名空间,可以生成各种类型的随机数,例如整型、双精度浮点型、布尔型等。 使用方法: 使用random数据类型关键字 声明一个random的变量 值使用new random 来实例化这个变量…

使用python绘制日历热力图

使用python绘制日历热力图 日历热力图效果代码 日历热力图 日历热力图(Calendar Heatmap)是一种数据可视化图表,用于展示时间数据的分布和趋势。它将数据按天映射到一个日历中,通过颜色的变化表示每天的数据值大小。这种图表常用…

基于GFlowNets的蚁群抽样组合优化

本文将基于GFACS论文,探讨其核心思想、技术细节以及在实际应用中的优势。 GFlowNet:摊销MCMC成本的有效工具 GFACS的核心是GFlowNet,它通过训练学习状态转移的概率分布,从而替代传统的MCMC采样方法。GFlowNet的优势在于&#xff1…

从Series到DataFrame:Python数据操作的转换技巧

在数据分析和处理的过程中,我们经常需要在Pandas库中对Series和DataFrame进行操作。本文将介绍如何将Series转换为DataFrame,以及如何提取DataFrame中的某一列。首先,我们将通过使用to_frame()函数将Series转换为DataFrame。然后,…

SQL实验 连接查询和嵌套查询

一、实验目的 1.掌握Management Studio的使用。 2.掌握SQL中连接查询和嵌套查询的使用。 二、实验内容及要求(请同学们尝试每道题使用连接和嵌套两种方式来进行查询,如果可以的话) 1.找出所有任教“数据…

知识图谱应用---智慧医疗

文章目录 智慧医疗典型应用 智慧医疗 智慧医疗是利用先进的物联网与移动通信技术、大数据及人工智能等新一代IT技术,实现医疗信息系统与医疗过程的智能化辅助与自动化处理,实现医疗业务流程的数字化运作,实现患者与医务人员、医疗机构、医疗设…

ChatGPT制作一个简单的客服机器人

包含功能: MVP(最简可行产品)版本的客服机器人应该聚焦于核心功能,以快速上线和测试用户反馈为目标。以下是一个简化的版本: 自动问答(FAQ)功能: 支持回答常见问题,例如…

转让北京书画院自己名下随时配合变更

北京地区现在已经停批了书画院、科技院、研究院等等只要是带院、中心、所等等都是挺不能新设立也不能核名。要是想经营这类的企业可以选择收购,目前市面上有书画院、教育科技院、教育研究院、中医研究院、信息技术研究院、医学研究院等等因为停批的一个原因导致转让…

基于MetaGPT构建LLM 订阅 Agent

前言 在上一篇文章中,我们学习了如何利用MetaGPT框架构建单智能体和多智能体,并通过一个技术文档撰写Agent和课后作业较为完整的理解一个Agent的需求分析和开发流程;但是技术要和应用结合才能得到更广泛的推广;在本文中&#xff0…

ClickHouse内幕(1)数据存储与过滤机制

本文主要讲述ClickHouse中的数据存储结构,包括文件组织结构和索引结构,以及建立在其基础上的数据过滤机制,从Part裁剪到Mark裁剪,最后到基于SIMD的行过滤机制。 数据过滤机制实质上是构建在数据存储格式之上的算法,所…

ShowDoc item_id 未授权SQL注入漏洞复现

0x01 产品简介 ShowDoc 是一个开源的在线文档协作平台,它支持Markdown、图片等多种格式,方便团队成员共同编辑和分享文档。企业常见使用场景是使用其进行接口文档、内部知识库管理。 0x02 漏洞概述 2024年6月,ShowDoc官方发布新版本修复了一个SQL注入漏洞。鉴于该漏洞无前…

msvcr120.dll是干嘛的?出现找不到msvcr120.dll丢失怎样解决

msvcr120.dll是Microsoft Visual C 2012 Redistributable的核心文件,它是Microsoft Corporation开发的C/C运行时库文件之一。这个文件通常与应用程序一起安装,为应用程序提供许多基本的运行时功能,包括内存管理、异常处理、输入/输出操作等。…

<网络安全>《88 国内主要企业网络安全公司概览(四)》

9 杭州迪普科技股份有限公司(简称联软科技) 信息内容LOGO成立日期创始于2008年总部浙江省杭州市滨江区月明路595号迪普科技18楼背景民营企业是否上市300768注册资本64,382.9039万主要产品网络安全数据安全交换机简介安全大数据处理引擎与AI智能分析引擎…

微软云计算[2]之微软云关系数据库SQL Azure

微软云关系数据库SQL Azure SQL Azure概述SQL Azure关键技术SQL Azure数据库SQL Azure报表服务SQL Azure数据同步 SQL Azure和SQL Server对比 SQL Azure概述 SQL Azure是微软的云中关系型数据库。 SQL Azure数据库简化了多数据库的供应和部署。 SQL Azure还为用户提供内置的高…

OneCommander使用与安装手册

OneCommander使用与安装手册 一、引言 OneCommander是一款专为Windows 10和Windows 11用户设计的现代化文件管理器,它提供了直观、高效的文件浏览和管理体验。本手册将指导您完成OneCommander的安装过程,并介绍其主要功能和操作方法。 二、安装前准备…

下载安装Grafana 监控mysql和Linux主机

下载地址:https://grafana.com/grafana/download [rootlocalhost ~]# wget https://dl.grafana.com/oss/release/grafana-7.2.0- 1.x86_64.rpm 安装 [rootlocalhost ~]# yum install grafana-7.2.0-1.x86_64.rpm -y启动服务 [rootlocalhost ~]# systemctl enable --now grafa…

海外仓系统费用分析:小型海外仓,家庭海外仓怎么权衡性价比

小型海外仓、家庭海外仓作为海外仓行业重要的组成部分,以其特有的灵活性,高性价比等优点受到了很多跨境卖家的青睐。 不过对于小型海外仓,家庭仓本身来说,市场机遇固然重要,如何提升自己的业务水平,提升效…

配置Kubernetes资源管理Secret与ConfigMap

前言 Kubernetes 中的 Secret(提供加密模式)和 ConfigMap(提供配置)是关键的资源,用于安全地存储和管理敏感信息和配置数据。它们在应用程序开发和部署过程中扮演着重要的角色。本文将介绍如何有效地配置和管理这些资…

【Linux多线程】LWP和pthread_t

文章目录 LWPclone系统调用查看线程LWP理解LWP与TID pthread_id LWP LWP是Linux中线程的具体实现形式,在linux中,进程和线程本质上都是相同的,都是通过task_struct结构体来表示的。LWP是内核级线程,TID是其唯一标识符&#xff0c…

什么是PaaS平台?

随着信息化发展,数字技术与经济社会各个领域的融合逐渐深入,行业需求不断升级,逐渐呈现多样化、复杂性的态势。传统软件开发模式,耗时耗力,已经难以应对企业新形势下的业务需求。面对挑战,PaaS平台以其天然…