Hugging Face 中 LeRobot 学习的策略

本文概述 LeRobot 框架中的策略系统。策略是核心的决策组件,它将观察结果(图像、机器人状态、环境状态)转化为机器人控制动作。
请添加图片描述

概述

在 LeRobot 中,策略是一种机器学习模型,旨在根据各种输入模式控制机器人。每个策略实现共享一个通用接口,同时提供针对不同任务和数据类型优化的不同底层算法和架构。

请添加图片描述

通用策略接口

LeRobot 中的所有策略都继承自 PreTrainedPolicy 基类,该基类提供了一个包含以下关键方法的标准接口:
方法 目的
select_action(batch) 根据环境观测值生成单个动作
forward(batch) 批量执行模型并计算训练损失
reset() 在回合之间重置策略状态
get_optim_params() 获取优化参数

策略生命周期通常遵循以下模式:
通过 make_policy 工厂方法创建策略
通过 forward() 方法进行训练并计算损失
通过 select_action() 方法部署策略

请添加图片描述

规范化系统

所有策略都包含一个规范化系统,用于一致地处理输入和输出:
normalize_inputs:在处理之前对观察值进行规范化
normalize_targets:对训练目标进行规范化
unnormalize_outputs:对在环境中执行的操作进行非规范化
这确保了模型能够处理标准化的数据范围,而不受底层机器人硬件或传感器的影响。

策略工厂系统

策略创建通过工厂系统进行管理,该系统根据策略的类型和配置进行实例化:

请添加图片描述

可用策略类型

ACT 策略

ACT(动作分块 Transformer)是一种基于 Transformer 的策略,使用潜在条件结构预测动作序列。

主要特点:
生成分块动作序列(一次预测多个步骤)
可在训练过程中使用已学习的潜在空间作为变分目标
可选地支持动作预测的时间集成
专为细粒度操作任务而设计

请添加图片描述

扩散策略

扩散策略使用去噪扩散概率模型,通过迭代去噪生成动作。

主要特点:
处理复杂的多模态动作分布
使用具有条件调制的 U-Net 架构
生成时间相干的动作序列
适用于精确操控任务

请添加图片描述

TDMPC 策略

TDMPC(时间差分模型预测控制)将基于模型的强化学习与模型预测控制相结合,用于基于规划的机器人控制。

主要特点:
学习潜在动力学模型(TOLD - 面向任务的潜在动力学)
使用交叉熵方法 (CEM) 进行轨迹优化
采用时间差分学习进行价值评估
专为需要规划的长期任务而设计

请添加图片描述

创建和使用策略

使用 make_policy 工厂函数创建策略:

from lerobot.common.policies.factory import make_policy

Create a policy from dataset statisticspolicy = make_policy(config, ds_meta=dataset_metadata)
Or create a policy from environment configuration

policy = make_policy(config, env_cfg=env_config)

推理:

Reset at the start of an episode

policy.reset()

Get actions during the episode

observation = environment.get_observation()
action = policy.select_action(observation)
environment.step(action)

训练

Process a batch during training

loss, loss_info = policy(batch)
optimizer.zero_grad() loss.backward()
optimizer.step()

配置系统

每种策略类型都有一个专用的配置类,其中包含特定于其架构的参数:

请添加图片描述

所有配置都继承自通用的 PreTrainedConfig 基类,并包含验证和特征处理的方法。

测试与评估

Makefile 包含多种策略类型的端到端测试,演示如何训练和评估策略:

Training an ACT policy

python lerobot/scripts/train.py \
–policy.type=act \
–policy.dim_model=64 \
–policy.n_action_steps=20 \
–policy.chunk_size=20 \
–policy.device=cpu \
–env.type=aloha \
–dataset.repo_id=lerobot/aloha_sim_transfer_cube_human

Evaluating a trained ACT policy

python lerobot/scripts/eval.py \
–policy.path=checkpoints/pretrained_model \
–policy.device=cpu \ --env.type=aloha \
–eval.n_episodes=1

其他策略类型(如扩散和 TDMPC)也存在类似的模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值