机器人模仿学习:一个实用的指南
实用指南对机器人模仿学习:它是什么,ACT,传播政策和VLA如何比较,数据要求,硬件以及RCSV如何支持您的IL研究.
部分: [模仿学习指南]
模仿学习成为教机器人巧妙操纵技能的主导范式.而不是手工制作奖励功能或写动作计划,你只能告诉机器人该做什么.本指南解释了它如何工作,使用哪些算法,以及需要什么基础设施才能获得结果.
模仿学习是什么?
模拟学习 (IL) - - 也称为从示范学习 (LfD) 或行为克隆 - - 培训了从人类操作员捕获的行动复制的政策.在数据收集过程中,一名熟练的示范员通过目标任务远程操作机器人,而传感器记录关联位置,终端效应器姿势,摄像头框架和其他相关状态. 记录的数据成为一个神经网络政策的培训集.
对于增强学习,IL的吸引力是实用的:你不需要设计奖励信号,运行数百万次模拟发射,或解决稀有奖励探索问题.如果人类能够完成任务,机器人可能可以从几百到几千次示范中学习. 挑战是概括 - - 训练基于狭窄的示范的政策可能会失败, 当对象的位置,照明或任务变化与训练分布不同时.
现代的IL研究通过更好的架构,更大,更多样的数据集和预训练的视觉表示来解决这一问题.该领域自2023年以来已经迅速发展,并且生产质量的模仿学习现在可以获得没有机器人博士课程的团队.
理算法类别:BC,DAgger和HG-DAgger
**行为克隆 (BC) **是模仿学习的最简单形式.你从示范中收集一组静态数据集 (观察,行动) 双子,然后训练神经网络通过监督学习预测观察的行动.BC很容易实现,很快训练,不需要在线互动. 基本的弱点是"复杂错误":在部署时,小预测错误将观察分布从训练数据中移动,随后的预测进一步恶化,因为政策将其引入了训练期间从未见过的状态.
复合错误问题与轨迹长度相比.对于每步错误率的epsilon,预期的T步骤总错误在Ross and Bagnell (2010) 最坏情况分析下成长为O(epsilon *T^2) 在实践中,这意味着BC对短任务 (控制频率低于30步) 工作很好,但在更长的视野上,在没有像行动散步这样的减轻策略的情况下,会迅速降低.
**DAgger (数据集集) **通过在线数据收集解决复合错误.在初步BC阶段后,已学习的政策部署,并且专家标签出该政策实际访问的州应该采取的行动.这些新数据被添加到培训集中,并重新培训该政策. 实际成本是,DAgger需要在培训期间重复访问专家 - - 专家必须在实时中观察政策运行和纠正错误.
**HG-DAgger (Human-Gated DAgger) **是机器人学习的更实用的变体.而不是要求专家标记每个访问的状态,HG-DAgger只允许人类干预政策即将失败时.操作员观察机器人执行所学习的政策,并在必要时接管控制. 通过"
在RCSV的大多数实用机器人学习项目中,我们建议从BC开始使用动作分量 (这大大减少了组合错误) 并只在政策中存在持续故障模式的情况下,将其转向HG-DAgger.
模拟学习的数据集尺寸测量法
根据RCSV的内部评估数据,以下是经验性规模化行为:
| Dataset Size | Typical Result (single task, ACT) | When to Stop Adding Data |
|---|---|---|
| 10-25 demos | 20-40% success; policy captures gross motion but misses details | Never -- this is only useful for sanity checks |
| 50-100 demos | 60-80% success on in-distribution objects/positions | Acceptable for a research prototype with fixed conditions |
| 200-500 demos | 80-92% success; handles moderate position/object variation | Sufficient for most single-task deployments |
| 500-2000 demos | 88-95% success; robust to diverse objects, positions, lighting | Diminishing returns unless adding diversity, not volume |
通过 [扩展法研究]的关键见解:在相同条件下,在200次左右的相同任务演示之后,添加更多相同的数据产生了减少的回报.高
国家代表选择
您的政策所提供的观察空间对学习效率和通用化产生了显著影响.
关节角度+图像 (建议默认). 每个时间步骤的观察是与一个或多个相机图像 (通常是224x224或256x256RGB) 连接的机器人关节位置的向量 (7个维度为7DOF臂,加上1个为抓住器).关节角度提供了准确的自感状态,该政策可以用于闭环控制. 图像提供了识别对象和工作空间布局所需的视觉背景.这是ACT,扩散政策和大多数VLA模型的标准输入格式.
终端效应器姿势+图像. 观察不包括结合角,而是包括机器人的基架中的终端效应器位置 (x,y,z) 和方向 (四旋矩阵或旋转矩阵).这种表示更紧
**仅在联合角度进行的固定环境任务 (没有图像).**对于已知物体位置的固定环境任务 (例如,工厂装配,固定零件),仅在联合角度进行的纯属感觉策略可以在很少的示范下实现高成功率 (仅仅20-50).该策略学习了联合空间轨迹而不是视觉机动地图. 这种方法是快速训练的,易于部署的,非常可靠的,
行动空间设计:绝对对与德尔塔
行动的表现方式比大多数实践者所意识到的更重要.
绝对的共同位置. 每个行动都是下一步的目标联合角度向量. 优势:行动可解释,并由联合界限限制. 缺点:政策必须从观察到绝对的共同目标的完整地绘制,而小观察变化可能需要大规模的行动变化 (因为绝对目标可能远离当前的位置). 根据默认规定,ACT使用绝对共同目标.
Delta (相对) 行动.* 每个行动都是从当前状态中改变关节角或终端效应的姿势. 缺点:如果没有绝对的参考纠正,多角动作可以在长轨道上积累漂移. 扩散政策通常使用多角终端效应的动作.
实际建议:在10-20Hz控制下100步以下的任务中,偶尔的绝对路线点的 delta终端效应提供了最好的通用化和准确性结合.在双手任务中,在共同协调方面,绝对的共同目标 (如ACT) 避免了三角形行动可以在两个臂之间产生的同步问题.
动作与变压器的缩
作为一个未来行动的预测,通常是50-100个时间步骤,而不是一个下一步行动. 这种行动
ACT在训练期间使用CVAE (条件变动自动编码器) 来捕捉人类示范的多种模式性 - - 事实上,完成任务通常有多种正确的方式.在推断时,解码器生成了根据当前摄像头观测和联合状态的行动序列. 结果是,一个政策处理人类所示任务的自然变化,
影响性能的关键实施细节:CVAE损失中的KL分离重量控制了重建精度和隐形空间规律化之间的权衡.从重量10开始,扫描[1,5,10,50].时间组合技术 - - 平均重叠的动作块与指数权重 - - 顺利地调整块之间的转移,减少
ACT是双手操作任务的强大的起点.它需要相对温和的数据量 (50-200个示范每个任务) 和在 2-4 小时内在单个GPU上训练.如果你正在使用ALOHA硬件或类似的双手设置,ACT应该是你第一次尝试的算法. 根据RCSV的 数据服务 包含在ALOHA类平台上收集的预处理ACT兼容数据集.
传播政策:处理多模式行动分配
扩散政策将与图像的稳定扩散功能相同的模型应用到机器人行动空间中.而不是预测一个最佳行动,该政策学习了人类示范者可能采取的行动的全部分布.在推断时,它运行了测试过程,以从该分布中样本高质量的行动.
关键优势与ACT相比是它处理多模式任务的方式:一个人可能从左或右抓住物体,或从多个有效角度接近目标的场景.标准行为克隆平均这些模式,产生一个政策下降中和失败. 根据当前的背景,从正确模式中进行了扩散政策样本,在模糊任务上产生了更强大的行为.
交易是推断速度.与UNet背骨的扩散政策需要100步的推断步骤 (DDPM),这在RTX 3090上需要大约500ms - - 对实时控制太慢.DDIM样本器将此降至10步 (~200ms),一致性蒸
视觉语言行动模型:规模上IL
像OpenVLA,pi0和RT-2这样的VLA在机器人示范上进行精细调节之前通过在互联网规模的视觉和语言数据上预训练扩展模仿学习.预训练的脊柱提供了对象,场景和关系的丰富表示,从而强大地转移到机器人操纵. 调整需要比从零开始训练少得多的示范, 有时只需要10-50个具体任务的例子.
需要理解的实际妥协:VLA需要更多的计算,既为训练,也为推理.OpenVLA (7B参数) 需要A100或H100GPU进行细调,并且运行推理速度约为3Hz - - 适合缓慢操纵,但不是反应任务.较小的蒸
根据"VLA模型解释指南"的详细技术说明,RCSV提供了精细调节数据集和[远程运营基础设施]
超越BC:GAIL,IBC和反向RL
虽然行为克隆和DAgger主导着实用机器人IL,但其他几种方法值得关注的具体场景.
**GAIL (生成对抗模仿学习).**GAIL培训一个歧视者来区分专家示范和学习政策的推广,然后将歧视者的输出作为加强学习的奖励信号. 结果是与专家的状态行动分布相匹配的政策,而不是单个行动,在示范数据集小时 (低于50集) 提供更好的通用化比BC.成本:GAIL需要在线部署在环境中 (模拟或实体),使其比BC计算上更昂贵10-100倍. 实际使用情况:很少有示范 (10-20) 的任务,但可以使用一个好的模拟器 (例如,插入
IBC (隐含行为克隆). IBC表示政策作为一个基于能量的模型 (EBM) 而不是一个明确的行动预测器.而不是输出单一的行动,模型将给每个候选 (观察,行动) 对分配能量分数.在推断时,政策会通过梯度基于优化或兰杰文动态样本来减少能量的行动. 优势:IBC自然处理多模式的操作分布,而没有扩散模型或CVAE的架构复杂性.缺点:推理速度很慢 (100-500ms/步在RTX 3090上),因为它需要每一步都进行反复优化. 国际电脑系统在精确的接触式任务 (插入,安装) 上表现出了强大的成绩,其中行动分布具有敏
**反转RL (IRL).**而不是直接学习行动,IRL恢复了专家隐含优化的奖励功能,然后通过RL训练了通过恢复的奖励.这种方法比BC更好地将新初始条件概括,因为政策学习了底层目标而不是固定地图. 实际障碍:IRL需要在内部循环中重复RL训练,这在计算上昂贵,需要模拟器或广泛的现实世界互动.IRL对于自动驾驶和导航任务来说最实用,模拟成熟,奖励规范非常困难.用于操纵,现代架构的BC通常足够.
失败分析框架
系统性故障分析可以节省几天的试错调试. 使用这个五步框架来诊断和修复政策故障.
步骤1: 进行故障模式的分类. 观看10多个故障事件,并将每个事件分为以下类型:
- 方法失败:_机器人不正确地向物体移动 (方向错误,太快/慢,停下来).
- 抓不到:机器人到达物体,但无法抓住它 (指头不一致,力不足,角度错误).
- 运输失败:机器人成功抓住,但在运输过程中抛弃物体 (抓住放松,与障碍物碰撞).
- 机器人运输成功,但在最终的位置上失败 (方向错误,位置过度过
). - 恢复失败:机器人进入轨道外状态 (例如,在部分抓住后) 并无法恢复.
步骤2:检查校准和硬件问题. 在指责政策之前,请检查相机是否处于校准位置 (以指标标对照的控制器进行测量),联合编码器是否漂移 (将手臂定位到已知姿势,视觉检查),抓住器是否接近预期宽度. 伪装为政策失败的硬件问题是浪费调试时间的常见来源.
**步骤3:将失败观测与训练分布进行比较.**在失败时,提取摄像头框架并与训练数据进行视觉比较.物体处于一个政策从未见过的位置吗?照明是否显著不同?训练期间是否存在一个遮蔽物体?如果是这样,则解决方法是数据收集,而不是超参数调整.
步骤4:检查模式平均值. 如果机器人移动到两个有效目标之间的点 (例如,当它应该选择一个时,在两个对象之间),则示范数据中的模式平均值. 转向多模式架构 (CVAE启用的分散政策或ACT) 或清理示范以执行一致的战略选择.
**步骤5:每步图片行动错误.**如果政策开始好,但在20-40步后恶化,复合错误是主要问题.增加行动部分尺寸,添加时间组合,或从特定故障状态收集HG-DAgger数据.
通过 LeRobot 进行 ACT
通过"
# train_act.py -- Minimal ACT training with LeRobot
from lerobot.common.datasets.lerobot_dataset import LeRobotDataset
from lerobot.common.policies.act.modeling_act import ACTPolicy
from lerobot.common.policies.act.configuration_act import ACTConfig
import torch
# 1. Load dataset (HDF5 format, collected via LeRobot record)
dataset = LeRobotDataset("svrc/openarm-pick-place-v1")
print(f"Episodes: {dataset.num_episodes}, Steps: {len(dataset)}")
# 2. Configure ACT policy
config = ACTConfig(
chunk_size=100, # Predict 100 future actions per step
kl_weight=10.0, # CVAE KL divergence weight; sweep [1, 5, 10, 50]
dim_model=512, # Transformer hidden dimension
n_heads=8, # Multi-head attention heads
n_encoder_layers=4, # Visual encoder depth
n_decoder_layers=7, # Action decoder depth
input_shapes={
"observation.images.top": [3, 480, 640],
"observation.state": [14], # 7 joints x 2 arms (bimanual)
},
output_shapes={
"action": [14], # Joint position targets
},
)
# 3. Train
policy = ACTConfig(config)
optimizer = torch.optim.AdamW(policy.parameters(), lr=1e-5, weight_decay=1e-4)
for epoch in range(2000):
for batch in torch.utils.data.DataLoader(dataset, batch_size=8, shuffle=True):
loss = policy.forward(batch) # Returns dict with "loss" key
loss["loss"].backward()
optimizer.step()
optimizer.zero_grad()
if epoch % 100 == 0:
print(f"Epoch {epoch}: loss={loss['loss'].item():.4f}")
# 4. Export for deployment
policy.save_pretrained("checkpoints/act-pick-place-v1")
根据这本脚本,您使用LeRobot的
常见数据质量问题和解决方案
| Symptom | Likely Cause | Fix |
|---|---|---|
| Policy jerky, oscillates near grasp | Inconsistent operator technique across demos | Use single operator; filter demos by trajectory smoothness |
| High train loss, low success | Misaligned camera timestamps (>50ms offset) | Re-record with hardware sync; check USB bandwidth |
| Overfit: 95% train, 30% eval | Insufficient pose/lighting diversity | Add color jitter + random crop augmentation; collect 50+ demos with varied object positions |
| Policy ignores one camera | Redundant viewpoints; model shortcuts to easier camera | Random camera dropout during training (p=0.1-0.3) |
| 夹爪 never closes / always closed | 夹爪 action normalization error | Verify gripper action range matches hardware limits; check open/close polarity |
| Works day 1, fails day 2 | Camera or arm bumped; lighting changed | Add daily calibration check to deployment routine; mount cameras rigidly |
任务成功指标:衡量政策质量
培训政策的质量应通过结构化评估协议而不是非正式观察来衡量.
- 任务成功率. 基本指标:在评估试验中,政策完成了全部任务的多少部分?每条件至少进行20次评估试验. 报告95%的信心间隔 - - 20次试验中,间隔很宽 (大约+/- 15%),因此不要过度解释小差异.
- **部分完成率.**对于多步骤任务,即使完成任务全部失败,也可以追踪哪些子任务完成. 一个始终达到对象但无法抓住的政策与接近阶段失败的失败模式不同.
- 在分发和在分发之外的表现. 对于培训期间看到的条件和培训期间未见的条件,总是单独报告成功率 (保持物体,位置或环境).在分发中达到90%和在分发中达到40%的政策基本不同于在 80%/70%的政策. 查看我们的 [政策通用化指南]
T10 ) 评估协议. - 轨迹质量指标.* 超出二进制成功/失败:平均
(滑滑),路径长度效率 (实际路径长度与可行的最短路径),与专家示范相比执行时间.技术上成功的 的政策将随着时间的推移破坏硬件,并在进一步收集时产生更糟糕的数据.
训练监测:验证失效模式
在政策培训期间,监测这些信号以早期诊断问题:
验证损失高
**验证损失振荡.**验证损失的大波动表明训练配置不稳定. 减少学习速度2-5倍.对于扩散政策,也检查噪音时间表的变化不过是激进的.
**KL分离崩
** 按时间步骤预测错误.** 按时间步骤预测错误在操作部分上进行插图. 如果错误在后来的时间步骤上急剧增加 (例如,100步段段中的步骤60+),则缩小部分长度. 如果错误均
传导部署:从训练有素的模型到真正的机器人
实施实用硬件上训练有素的IL政策,引入了培训管道未暴露的实际挑战:
**摄像头校准漂移.**如果摄像头在训练数据收集和部署之间被颠覆或重新安装,即使是2-3厘米的转变也可以降低政策性能10-20%.
控制频率匹配. 政策必须运行与示范收集的控制频率相同. 如果示范采集在50Hz,但你的推理管道运行在20Hz (因为GPU不能跟上),则政策的行动预测将暂时不一致. 通过单个摄像头,ACT在RTX 3090上达到约20Hz;添加第二部摄像头,吞吐量下降到约15Hz.
操作平滑和安全限制. 机器人发送之前,原始政策输出应通过安全层进行过
模仿学习的数据要求
对于单个操作任务的最低可行的数据集通常是ACT的50个示例,扩散政策的100-200个,VLA的20-50个细节调整.这些是有利条件下的地面估计 - - 连贯的照明,固定的摄像头视角和可预测的位置的物体. 实际部署需要3-5倍的数据来覆盖您的系统在生产中会遇到的变化.
数据质量与数量一样重要. 熟练的运营商应该收集这些数据,他们应该以一致和清洁的方式完成任务. 失败的尝试,犹
传感器多样性也很重要.在单个手腕摄像头上训练的策略经常失败,当该摄像头被遮住时.最佳实践是从至少两个摄像头的视角收集 - 一个固定的上头或侧视角和一个手腕安装 - 并包括自觉状态 (关节角度和速度) 与视觉观测.
对于IL研究的硬件和基础设施
模仿学习研究项目最小硬件堆
RCSV的 [硬件目录]
对于那些想从硬件投资之前开始使用数据的团队, 这些数据集涵盖了常见的操纵原始性 - - 摘取,放置,倒,折叠,组装 - - 并被格式化为ACT,扩散政策和拥抱面孔 (LeRobot) 直接使用.
算法比较表:哪个IL方法哪个情况
| Method | Min Demos | Multimodal? | Inference Speed | GPU Required | Best For |
|---|---|---|---|---|---|
| BC (多层感知器/ResNet) | 50 | No | ~1ms | RTX 3060+ | Simple short-horizon tasks, proprioception-only |
| ACT | 50 | Yes (CVAE) | ~50ms | RTX 3090+ | Bimanual, long-horizon, ALOHA-class hardware |
| Diffusion Policy | 200 | Yes (diffusion) | ~200ms (DDIM) | RTX 3090+ | Multi-strategy tasks, diverse demonstrations |
| VLA (OpenVLA) | 20 | Yes (language) | ~300ms | A100/H100 | Novel object generalization, language-conditioned tasks |
| GAIL | 10 | N/A (RL-based) | ~1ms | A100 (training) | Few demos + good sim (e.g., peg insertion in MuJoCo) |
| IBC | 100 | Yes (EBM) | ~200ms | RTX 3090+ | Contact-rich precision tasks with sharp modes |
对于大多数团队的决策流程图:如果您有两手硬件或200个 Demo 之小的长视野任务,请从 ACT 开始.如果您有200个 Demo 之多,请使用 扩散政策,并且任务具有多个有效的策略.如果您需要语言条件或新型对象概括,请使用 VLA 调整. 仅适用于最简单,最短的任务或作为诊断基线.
多任务IL:多任务培训一项政策
培训单一的策略来处理多个操作任务 (选择,开抽
**语言调节对于多任务来说是必不可少的.**没有语言指令,政策就无法知道要执行哪项任务.语言调节的政策接受"取红杯"或"打开顶部抽
任务间数据平衡. 如果您收集500个选项选项示范,但只收集50个倒
**多任务效益一般化.**反直观的,训练5项任务,每项任务都有100个演示,通常比训练100个演示任务的1项任务更好.多任务训练是隐含的规律化,迫使视觉编码器学习与任务相关的功能,而不是记忆特定任务的视觉快捷方式.
**预期的上线费用.**多任务训练需要比单任务训练的计算量高2-5倍 (更多数据,更大的批量尺寸以确保稳定性). 输入速度保持不变.RCSV的 [数据服务]
超参数敏感性:真正重要的是什么
根据RCSV在ACT和传播政策中培训数百项政策的经验,以下是排名敏感性分析.
| Hyperparameter | Sensitivity | Recommended Default | When to Tune |
|---|---|---|---|
| Action chunk size (ACT) | Very High | 100 steps | Reduce to 20-50 for reactive tasks; increase to 150-200 for slow, smooth tasks |
| KL weight (ACT) | High | 10.0 | Increase (50-100) if multimodal demos; decrease (1-5) if all demos use same strategy |
| Noise schedule (Diffusion) | High | Cosine schedule, 100 diffusion steps | Reduce diffusion steps to 10-20 with DDIM for faster inference |
| Learning rate | Medium | 1e-5 (ACT), 3e-4 (Diffusion) | If training diverges, reduce 5x; if too slow, increase 2x |
| Batch size | Low | 8 (single GPU) | Increase to 16-32 if GPU memory allows for more stable training |
| Number of epochs | Low | 2000 | Use early stopping on validation loss; 2000 is typically sufficient for 200 demos |
| Image resolution | Low | 224x224 or 480x640 | Only increase if task requires fine visual detail (text reading, small object ID) |
相互作用效果: ACT 中行动块大小和KL重量相互作用强烈.一个大块大小 (150+) 低KL重量 (<5) 产生过于平滑,平均轨迹,而错过了精确的运动.一个大块大小 (50+) 具有高KL重量产生了尖
实际的含义:如果你的政策表现不佳,首先调整行动部分尺寸和KL重量 (ACT) 或噪音时间表 (分散政策).这些对成功率的影响是10-20%.学习率和批量大小的影响是2-5%. 图像分辨率和时代数量的影响是<2%除非你的基线严重错误配置.
和HG-:当BC不够时
行为克隆会受到复合错误的影响:随着时间的推移,小预测错误会积累,因为政策会议指出它从未被训练过 (政策错误将其推离专家所证明的轨迹).
标准DAgger协议:
- 在你的示范数据集上制定一个初步的BC政策.
- 执行政策并让其自主运行. 人类专家观察并记录他们每一步都会采取哪些行动 (将政策轨迹重新标记为专家行动).
- 加入重新标记的轨迹到训练集中,然后重新训练.
- 复制3-5次,直到政策轨迹与专家轨迹相匹配.
**HG-DAgger (Human-Gated DAgger) **是真正机器人学习的实际变体.而不是专家重新标记每一步时间,人类观察政策执行,只有当政策即将失败时才干预.当人类接管 (盖特) 时,系统记录了人类的纠正,并在恢复完成后重新转向政策. 这比标准DAGger快3到5倍,因为专家只在关键故障状态下行动.
预期影响:HG-DAgger3次纠正轮 (每个轮都增加20-50次纠正轨迹) 通常会提高15-25%的长视野任务成功率,比纯BC更好,具体的故障状态最大的改善是通过纠正的目标.每轮DAgger预算2-4小时的专家时间.
临时组装和行动分化:实施细节
减少BC性能限制的组合错误的两种技术至关重要:行动分量 (同时预测多个未来行动) 和时间组合 (平均重叠行动预测).了解它们的相互作用是获得良好结果的关键.
** 行动分量** 预测每次观察后的K操作 (分量K).机器人在重新查询政策之前执行所有K操作.这将每个集中的政策查询数量从T (集长度)降至T/K,这意味着政策有K倍减少犯错误的机会. 典型的块大小:ACT的K=50-100 (预测未来的行动在50Hz时会发生1-2秒).较大的块产生更平滑的运动,但对意外事件反应更慢;较小的块更有反应,但更容易发生组合错误.
时间组装平均计算了多个重叠块的预测.在时间步骤 t,政策已经从当前的时间步骤和之前的重叠块做出了预测.这些预测的指数权重平均产生了更平稳,更一致的轨迹. 时间组合重量 (w=0.01 在 ACT 默认配置中) 控制了最近预测的重量与较旧的预测.较低的w值产生更平滑的运动;较高的值使该政策更有反应性.
**选择零件尺寸:**最佳零件尺寸取决于任务的时间结构.对于具有不同阶段 (接近,抓住,抬起,放置) 的任务,零件尺寸应足够长,以覆盖至少一个完整阶段 - 通常50-100步,以50Hz (1-2秒). 对于反应性任务,该政策必须在200ms内应对环境变化 (动态捕捉,强力控制插入) 时,将部分尺寸降至10-20步.简单的
关键的执行细节: 暂时组装必须在将操作发送给机器人之前,而不是之后. 执行正确的操作将保持所有活跃部分的预测行动缓冲区,并在指挥机器人之前计算每一步的权重平均值.
对于已经培训过政策并希望通过针对性的修正来改善该政策的团队而不是收集全新的示范,HG-DAgger数据收集是我们 [数据服务]
多任务模仿学习:建筑和数据考虑
培训单一政策执行多项任务比培训单独政策更有效,但需要具体的建筑和数据设计选择.
任务条件. 政策必须知道该任务是什么.
- 语言调节: 提供自然语言指令 ("挑选红杯") 为政策的输入.该指令由一个
结的语言模型 (CLIP文本编码器或句子-BERT) 编码,并与视觉功能结合.这是最灵活的方法:该政策可以将其整合到结合已知的概念的新语言指令. 要求在培训数据中使用语言注释. - 任务ID嵌入: 赋予每个任务一个可学习的嵌入向量. 比语言调节更简单,并且在任务集固定时就能工作.
- 目标图像条件: 作为额外输入提供所需目标状态的图像. 政策学习与当前的观察相匹配目标. 在推断时需要目标图像,但在培训期间不需要语言注释.
任务间数据平衡. 如果任务A有500个示范,而任务B有50个,则政策将对任务A有很大的偏见. 对于严重的失衡 (10x+), 收集更多数据, 为了不足的任务 - 采样技巧不能完全补偿缺失的多样性.
训练常见的困难及其解决方案
| Symptom | Likely Cause | Diagnostic | Fix |
|---|---|---|---|
| Robot moves to average of two positions | Mode averaging from MSE loss | Check if demos have multimodal actions for same observation | Switch to Diffusion Policy or increase ACT KL weight |
| Low validation loss but low success rate | Compounding error (policy drifts off-distribution) | Plot per-step error over rollout; look for divergence after step 20-30 | Increase chunk size, add temporal ensembling, or collect DAgger data |
| Training loss plateaus at high value | Noisy or inconsistent demonstrations | Visualize 20 random demos; check for strategy inconsistency | Filter demos by smoothness; retrain on clean subset |
| Robot overshoots targets consistently | Action space mismatch (delta vs absolute) | Check if demo actions are delta-position or absolute-position | Ensure training and inference use identical action representation |
| Works on one camera but not another | Camera extrinsics changed between collection and deployment | Compare camera mount position to training-time calibration | Recalibrate camera to match training position; or add camera pose to observation |
| Policy freezes mid-task | Observation out of training distribution | Log the observation embedding distance from training mean | Collect more demos in the OOD region; or add data augmentation |
**调整工作流程:**当一个训练有素的政策在实际机器人上失败时,在模型不良或数据不足之前,遵循以下诊断序列:
- 检查训练配置和部署配置之间的行动正常化统计数据匹配.
- 自数据收集以来,检查摄像头的位置没有移动 (比较视觉重叠与参考图像).
- 运行预先录制的评估事件的政策在"重播模式"中,以验证行动输出与预期值相符.
- 设想政策的注意力地图或当前观察中的中间激活 - 如果注意力在背景上而不是与任务相关的对象,视觉输入可能会损坏或错误排列.
- 如果以上所有问题都通过了,那么可能是数据质量或数量问题. 在重新训练之前,再添20-50个特别针对故障模式的示范.
这种序列在1-2小时内解决80%的实机器人部署故障,避免提前收集数据.
对于初学者来说,最常见的陷
快速启动首个IL项目检查列表
- 在开始之前,设定明确的成功标准. 在收集任何数据之前,定义"成功"是什么意思. 对于选择和位置:"物体在放放后1秒内处于目标位置的2厘米内,并且稳定 (不滚/跌)." 对于插入:"
子完全插入 (目标深度1mm内) 没有超过30N的力". 模糊的成功标准导致不一致的示范标签,并降低了政策培训. 在所有运营商和注释者所引用的共享文档中写出成功标准. - 选择你的任务. 开始一个单手,单对象的选择和位置任务.这是模仿学习的"好世界",在你解决更难的问题之前,它将会突出所有集成问题.
- 安装硬件. 在收集任何数据之前,安装手臂,校准摄像头 (内在+外在),并检查远程操作控制工作.
- 收集50个示范. 使用一致的任务设置. 拒绝失败尝试. 这一初始数据集是为了验证您的培训管道,而不是用于可部署的政策.
- ** 训练 ACT.** 使用默认超参数的 [LeRobot]
T22 ) 训练脚本. 100 个时代监测验证损失. 预计训练将在单个GPU上花费 2-4 小时. - ** 评估.** 运行20次实验在实机器人上,使用在训练位置的物体.目标:60%以上的成功率.如果低于40%,在收集更多数据之前,调试数据质量.
- 添加多样性. 收集100-200个更多的示范,有不同的对象位置,2-3个对象实例,以及轻微的照明变化.
- **Iterate.**通过结构化评估确定故障模式.收集针对这些模式的目标数据.重复到部署准备 (85%+在代表性条件下成功).
相关阅读
行动与传播政策决策指南 · VLA模型解释 · 政策通用化指南 · LeRobot开始 · 每次示范分析成本 · 机器人学习的规模规则 · 数据服务
开始模仿学习项目
RCSV提供了全套: OpenArm 1硬件 ($4,500), 管理数据收集 ($2,500试点) 和 平台工具 用于数据集管理和政策培训. 无论你需要50个示范模型还是2000个示范模型, 我们的旧金山设施和训练有素的运营商可以比内部建设基础设施更快地实现一个工作政策.







