news 2026/4/15 20:20:13

Octo论文详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Octo论文详解

论文:Octo:An Open-Source Generalist Robot Policy

1. 引言

机器人领域构建“通用策略模型”面临多重挑战,包括处理不同的机器人结构、传感器设置、动作空间、任务规格和环境条件等,考虑设计和开发一个具备广泛适应性的机器人策略模型,旨在解决传统机器人策略难以泛化的问题。

Octo模型由Transformer架构驱动,在Open X-Embodiment数据集的800k条trajectory上训练,支持多任务、多传感器输入和多动作空间,能够高效微调并适应新领域的机器人任务。

2. Octo模型架构

Octo的核心架构是基于Transformer的通用策略模型,模型设计注重灵活性可扩展性,包括以下三个主要部分:

  • input tokenizers:将任务描述(语言指令或目标图像)和观察(第三人称和腕式相机图像或其他传感器数据)转化为统一的token序列,后续统一输入到transformer

    • 语言输入通过预训练的T5模型(111M参数)进行编码。
    • 观测和目标图像通过浅层卷积网络编码为token。

    输出:将位置编码添加到任务token和观察token,按照 [TT, To1, To2, . . . ]顺序排列

  • Transformer主干网络:输入任务token和观察token,产生embeddings

    Octo的Transformer结构采用了块状的自注意力机制,观察token只能因果地关注来自当前或更早时间步的token和任务token。这种模块化设计可以在微调过程中增加或移除观察和任务输入。

  • Readout Heads:action head接受Readout token,输出动作序列
    readout代表transformer的输出中的[CLS] token。readout标记的作用类似于BERT中的[CLS]标记,充当序列的紧凑向量嵌入。Action Head用于从Transformer输出中生成连续动作,是一个3层 MLP,包含256隐藏单元、残差连接和层归一化

Octo的架构设计是为了在处理多种不同机器人平台、传感器输入以及任务定义时具有灵活性。

这当在下游添加新的任务,不同机器人的动作空间(如末端位姿、关节位置、关节速度)仅需修改Action Head结构,Transformer主干保持完全不变,在特定的任务上进行微调。

例如: 某个场景中, 机器人配备了激光雷达, rgb相机, 红外相机, 目的是完成某些特定零件的摆放和打包, 所以这里observation就变成了rgb图像, 红外图像, 点云, task为文本指令, 以及最终的head预测为 机械臂的末端位姿, 末端执行器的开合状态等.

3. 预训练数据

Octo模型预训练基于Open X-Embodiment数据集,这是一个包含150万机器人操作轨迹的庞大数据集。Octo使用了其中80万条机器人示范数据,覆盖了多种机器人任务和环境。该数据集包括:

  • 多种不同的机器人类型和任务场景;
  • 各种传感器配置(如手腕相机和第三人称相机);
  • 丰富的任务标签,包括语言指令和目标图像。

在数据采样方面,论文采用了加权采样方法,优先选择数据多样性较高的任务和场景,同时避免过度重复的任务对训练产生偏差。此外,为了使不同的数据集之间的动作空间保持一致,研究团队对抓手动作进行了标准化处理。

4. 训练目标与优化方法

Octo采用conditional diffusion decoding head来预测连续的、多模态的动作分布。

具体来说,每个动作预测只执行一次transformer backbone的前向传播,之后,多步去噪过程完全在action head进行。生成动作步骤如下:

  • 采样高斯噪声向量;

  • 将高斯噪声添加到数据集动作

  • 通过条件化网络逐步去噪,生成准确的动作序列。

    xk−1=α(xk−γϵθ(xk,e,k)+N(0,σ2I))x^{k−1}=α(x^k−γ\epsilon_{θ}(x^k,e, k)+N(0,σ^2I))xk1=α(xkγϵθ(xk,e,k)+N(0,σ2I))

    其中,e对应的是transformer的Readout token,作为条件输入到去噪网络

与均方误差(MSE)或离散化动作分布的预测方法相比,扩散解码能够更好地捕捉多模态动作分布,提高策略的精度和灵活性。训练过程中使用了标准的DDPM(去噪扩散概率模型)目标函数,这种方法对处理复杂、多模态的机器人任务非常有效。

训练细节

  • 根据transformer的参数大小, 训练了两个模型Octo-Small(使用VIT-S), Octo-Base(使用VIT-B),
  • 图像使用了2帧历史帧(论文提到只使用1帧历史帧时, 精度反而会轻微下降)
  • 当数据集中没有文本指令时, 只用goal image作为task toke
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/7 13:50:27

Windows系统wfdprov.dll文件损坏 下载修复

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/4/13 18:06:51

Triton推理服务器部署微调后的模型及测试

使用Triton推理服务器部署微调后的模型,并通过基准测试(如MMLU、GPQA)验证模型效果。 把这个过程拆解为模型转换、Triton部署、基准测试三个核心步骤,给出可落地的操作指南和代码,确保你能一步步完成部署和验证。 一、…

作者头像 李华
网站建设 2026/4/15 16:07:12

探索:在微软工作是一种怎样的体验(六)

面试所需的长期准备基础知识这个不用多说,作为一名优秀的程序员必须要很好地掌握编程语言、数据结构、算法、数据库、操作系统、网络等基本功。刷题近些年来,刷力扣越来越流行。有很多童鞋会问,刷多少比较合适呢?当然是多多益善咯…

作者头像 李华