[具身智能-454]:具身智能端到端的模型训练中输入数据的格式和输出数据的格式
具身智能(Embodied AI)的端到端模型,通常指的是视觉-语言-动作(VLA)模型。这类模型的核心逻辑是直接从传感器的原始输入映射到机器人的动作输出,中间不再依赖传统的运动学解算或规则代码。
基于目前主流的架构(如OpenVLA、RT-2、LeRobot ACT等),为你梳理了输入和输出数据的具体格式和形态。
📥 输入数据格式:多模态的“感官”融合
端到端模型的输入通常是多模态的,主要包含视觉、语言指令和本体感知(Proprioception)三大部分。
1. 视觉数据
这是模型“看”世界的方式。
- 格式:通常是RGB图像(有时包含深度图Depth)。
- 形态:
- 原始像素:例如
640x480或224x224的三维张量[C, H, W]。 - 多视角:可能包含“全局相机”(看环境)和“腕部相机”(看手部操作)。
- 预处理:在送入模型前,图像通常会被切块(Patch)并转化为高维特征向量(Embedding)。
- 原始像素:例如
2. 语言指令
这是模型“理解”任务的方式。
- 格式:自然语言文本。
- 形态:
- 文本:例如“请把桌上的红杯子拿给我”。
- 编码:经过分词器(Tokenizer)处理后,转化为文本嵌入(Text Embedding),例如使用T5或BERT模型生成的768维或512维向量。
3. 本体感知
这是模型“感觉”自身状态的方式。
- 格式:低维数值向量。
- 形态:
- 关节状态:机械臂各个关节的角度(Position)、角速度(Velocity)或力矩(Effort)。
- 末端执行器:夹爪的开合程度、末端的笛卡尔坐标(x, y, z)及旋转角度(Roll, Pitch, Yaw)。
- 统一化:为了兼容不同机器人,这些数据常被映射到一个统一的向量空间中(如128维的本体感知向量)。
📤 输出数据格式:动作的“预测”
模型的输出直接决定了机器人的行为,根据任务类型不同,输出格式主要分为以下两种流派:
1. 离散化的动作令牌
这是目前大模型(如OpenVLA、RT-2)最流行的格式,将动作视为一种“语言”来生成。
- 原理:将连续的机器人动作空间离散化(分桶),每个具体的动作值对应一个Token ID。
- 格式:一系列Token ID序列。
- 内容:
- 末端位姿:x, y, z 的位移量,以及旋转角度。
- 夹爪状态:开或关(0或1)。
- 示例:模型输出 ``,解码后代表“x轴移动+1cm,y轴-0.5cm...夹爪闭合”。
2. 连续的动作块
这是控制类模型(如ACT、Diffusion Policy)常用的格式,强调动作的平滑性和时序性。
- 原理:模型一次性预测未来一段时间(Chunk)内的所有动作序列,而不是单步动作。
- 格式:浮点数张量(Tensor)。
- 内容:
- 形状:
[预测步数, 动作维度]。例如预测未来64步,每步7个维度(6轴+夹爪),输出就是一个64x7的矩阵。 - 优势:这种格式能保证动作的连贯性,避免机器人抖动。
- 形状:
📊 数据流向总结表
为了让你更直观地理解,我整理了以下数据流向表:
| 数据流向 | 数据类型 | 典型格式/规格 | 作用 |
|---|---|---|---|
| 输入 | 视觉 | RGB图像 (如 224x224x3) | 提供环境感知信息 |
| 语言 | 文本嵌入 (如 512维向量) | 提供任务目标指令 | |
| 本体感知 | 关节角度/位姿 (如 128维向量) | 提供机器人当前状态 | |
| 输出 | 动作令牌 | 离散Token IDs | 适用于大语言模型架构,将动作视为语言生成 |
| 动作块 | 连续数值矩阵 (如 64x7) | 适用于控制策略,输出未来一段平滑轨迹 |
💡 关键补充:数据是如何组织的?
在实际训练(如使用LeRobot或OpenX-Embodiment数据集)中,这些输入输出数据通常被打包成轨迹(Trajectory)或回合(Episode)。
- 文件结构:通常存储在HDF5、Parquet或TFRecord文件中。
- 时序对齐:每一帧数据都包含
时间戳,确保图像、指令和动作在时间上是严格同步的(例如误差控制在±10ms以内)。 - 元数据:包含任务描述、成功/失败标签等,用于指导模型学习。
简单来说,具身智能的训练就是把“看到了什么(图)+ 听到了什么(文)+ 现在在哪(状态)”,映射为“接下来该做什么(动作)”的过程。
