{{htmlmetatags>metatag-robots=(index,follow)
metatag-keywords=(LeRobot,策略架构,ACT,Diffusion,VQ-BeT,Pi0,模仿学习,VLA,强化学习)
metatag-description=(LeRobot 策略架构详解:模仿学习、强化学习和视觉-语言-动作(VLA)模型的统一接口和实现)
}}
====== LeRobot 策略架构 ======
LeRobot 实现了多种最先进的策略架构,统一在 ''PreTrainedPolicy'' 抽象基类下。
[[机器人:lerobot:home|返回概述]]
===== 策略接口和基类 =====
所有策略继承自 ''PreTrainedPolicy'' 抽象基类,提供标准化接口:
* **模型生命周期**:初始化、加载预训练权重、保存检查点
* **训练**:前向传播计算损失和优化器参数获取
* **推理**:通过分块(''predict_action_chunk'')或单步选择(''select_action'')预测动作
* **Hub 集成**:通过 ''HubMixin'' 推拉模型到 Hugging Face Hub
* **PEFT 支持**:集成参数高效微调(如 LoRA)
===== 策略生命周期 =====
策略的典型生命周期如下:
# 初始化
policy = ACTPolicy(config)
# 训练
loss = policy.forward(batch)
loss.backward()
optimizer.step()
# 推理
action_chunk = policy.select_action(observation)
''lerobot.policies.utils'' 模块提供管理环境和策略之间数据流的关键函数:
* **''build_obs_frame''**:使用数据集的特征配置从原始观测中提取特征
* **''make_robot_action''**:将策略输出的数值张量映射回命名的机器人动作字典
===== 策略类别 =====
==== 模仿学习策略 ====
模仿学习(IL)策略从专家演示中学习:
^ 策略 ^ 特点 ^
| **ACT** (Action Chunking Transformer) | 基于 Transformer 的动作分块,适合高精度任务 |
| **Diffusion** | 扩散策略,通过去噪过程生成动作序列 |
| **VQ-BeT** (Vector Quantized Behavior Transformer) | 基于向量量化的行为 Transformer |
| **Multitask DiT** | 多任务 Diffusion Transformer |
==== 视觉-语言-动作模型 ====
VLA 模型结合视觉和语言理解进行机器人控制:
^ 策略 ^ 特点 ^
| **Pi0 / Pi0Fast** | 预训练视觉-语言-动作模型,支持高效微调 |
| **Pi0.5** | 轻量级变体 |
| **SmolVLA** | 小型 VLA 模型,适合资源受限场景 |
| **GR00T** | NVIDIA 人形机器人通用基础模型 |
| **XVLA** | 可扩展 VLA 架构 |
| **MolmoAct2** | 基于多模态理解的 VLA 模型 |
==== 强化学习策略 ====
^ 策略 ^ 特点 ^
| **HIL-SERL** | 人类介入的强化学习,结合示教和自主探索 |
| **TDMPC** | 基于模型预测控制的强化学习 |
===== 实时分块 =====
策略支持实时动作分块,使推理能够在严格的实时约束下进行。这通过分块缓冲区实现,允许异步推理和同步执行。
===== 策略工厂和插件系统 =====
策略通过工厂模式创建,支持插件式注册:
* ''PolicyFactory'' 维护策略类型注册表
* 自定义策略可以通过装饰器注册
* 工厂位于 ''src/lerobot/policies/factory.py''
* 通过 ''--policy.type=xxx'' 在 CLI 中选择
===== 相关页面 =====
* [[机器人:lerobot:home|LeRobot 框架概述]]
* [[机器人:lerobot:训练与评估|训练与评估]]
* [[机器人:lerobot:核心概念|核心概念]]