走通 Microduck 的 VLA 训练流程
简介
定义任务与仿真环境
我们的目标是验证一种通过训练数据扩展机器人能力的方式:VLA 接收自然语言指令与身体观测,直接预测 Action Chunk,再由机器人运行时执行。仿真采用 MuJoCo + Microduck 模型,提供关节运动、传感器反馈和地面接触等物理过程,形成持续交互的闭环:
语言指令 + 当前观测 → VLA → Action Chunk
↑ ↓
└── 新观测 ← 仿真执行
- 输入:自然语言、相机图像、关节与 IMU 状态,以及必要的历史观测。
- 输出:未来一段时间的关节目标序列。
- 评估目标:能否正确执行指令,并在不同初始状态、等价语言表达下保持稳定。
选择模型与训练方法
选择 LeRobot + SmolVLA 作为训练方案
- LeRobot 提供数据集、训练与推理工具;
- SmolVLA 是约 450M 参数的预训练模型,支持输入自然语言、图像和机器人状态,输出 Action Chunk,适合用来验证“语言与观测直接生成动作”的流程。SmolVLA 主要由两部分组成:
- 视觉语言骨干(VLM):提取图像与语言特征,结合身体状态形成动作生成所需的条件信息。SmolVLM 是一个开源2B 的VLM
- 动作专家(Action Expert):根据这些信息,生成未来一段时间的连续动作序列,采用 Flow Matching 训练。
训练采用基于专家示范的模仿学习(Imitation Learning),具体属于行为克隆(Behavior Cloning):利用原有运动模型生成示范,让 VLA 学习在给定语言和观测下,产生与专家一致的动作。BC 描述的是“从示范学习策略”的方式,Flow Matching 则是学习动作序列分布的具体训练目标。
准备示范数据
示范数据按 Episode(一次完整任务执行)组织。每个 Episode 是一段连续的多模态时间序列。每个时刻记录三类信息:
| 内容 | 含义 | 示例 |
|---|---|---|
task |
希望机器人做什么 | "向左看" |
observation |
发出动作前,机器人实际观测到了什么 | 图像、关节位置与速度、IMU |
action |
专家在该时刻发出的控制目标 | 各关节的目标角度 |
状态与动作必须分开:当前头部角度是 0.08 rad,专家要求转到 0.12 rad,那么前者属于 observation,后者属于 action。
留下评论