前言
现代机器人模仿学习范式通过在大量人类演示数据上训练表现力强的策略架构
然而,即使拥有成千上万的专家演示,在涉及丰富接触、可变形物体以及长时序任务上的表现仍远低于完美执行。这是由于现有基于人类远程操作的” 专家” 数据采集过程效率低下所致
为了解决这一问题,来自CMU的研究者提出了RaC,即在模仿学习预训练之后,引入人类参与回滚的新训练阶段
- 在RaC 中,作者使用“恢复和纠正机器人行为的人类干预轨迹” 对机器人策略进行微调
具体来说,在策略执行过程中,当失败即将发生时,人类操作员会介入,首先将机器人倒回到一个熟悉的、分布内的状态,然后提供一个完成当前子任务的纠正片段 - 在这种数据组成上进行训练,使机器人技能库扩展到包括重试和适应行为,作者宣称,他们证明这些行为对于提升长时序任务的效率和鲁棒性至关重要
顺带,记录今天在微博上发的一个感慨
- 如果将来有人,因为嫉妒或别的他个人主观原因,而对我极尽嘲讽,这不是我的错,是他为人的耻辱,互联网都是有痕迹的 将永远记录着这小撮人低劣的言行
- 我只需永远做对大众有益、对社会有价值的事,不坑人不骗人、不伤天害理即可,且永远保持谦虚的姿态 每天保持进步,就像如今之我已远非十年之前可比
第一部分 RaC:通过扩展恢复与修正能力实现机器人长时任务学习
1.1 引言与相关工作
1.1.1 引言
如原论文所说,在现代机器人学习中,利用富有表现力的模型对人类远程操作数据进行模仿学习已成为推动该领域进步的重要动力
事实上,近期众多学术界和工业界的研究都在大规模扩展模仿学习,将其作为机器人预训练的一种方式[2,4-6,34,41,42,50]
然而,越来越多的结果表明,这一范式的性能正在接近一个远低于完美任务完成率的上限。例如,即使拥有超过5000 个人类演示,最先进的特定任务模型在使用双手操作器将一件T 恤挂到衣架上的成功率也仅约为75 %
尽管人们或许希望通过更多数据或其他学习框架来弥补这一差距,但在实际操作中,这些方法在应对长期任务中的累积误差和随机性方面仍然面临挑战
- 原因在于虽然模仿专家动作能够让策略获得一些“基础”的有用技能,但当机器人面临任务变种或新的初始状态、环境具有随机性或噪声,或者任务本身具有长时序特性时,单纯模仿本质上是次优的
在这些情况下,某一阶段的失败会阻碍后续阶段的成功(即,“误差累积”可能导致灾难性后果)[15] - 因此,通过模仿学习训练的策略往往难以泛化到真实世界的随机性和动态变化中,即使增加数据量,其回报也会递减,最终导致性能平台期
关键在于,这种失败并非源自学习算法或模型本身,而是由于数据分布本身:演示数据偏向于干净、成功的轨迹,但并未赋予策略应对长时序任务中由随机性引发的误差累积所需的行为能力
说白了,就是现实中情况多种多样,模仿学习训练出来的策略其泛化能力不行
在本研究中,来自CMU的研究者提出了一种用于训练机器人策略的替代范式,称之为RaC,直接针对仅以成功案例为基础的模仿学习的局限性
- 其paper地址为:RaC: Robot Learning for Long-Horizon Tasks by Scaling Recovery and Correction
其作者包括
Zheyuan Hu1 , Robyn Wu1 , Naveen Enock1 , Jasmine Li1 , Riya Kadakia1 , Zackory Erickson⋆1 and Aviral Kumar⋆1 - 其项目地址为:rac-scaling-robot.github.io
其GitHub地址尚未公布
具体而言
- 他们在对干净的远程操作数据进行基本模仿学习(即“预训练”)之后,交错使用成功完成任务的轨迹与包含恢复、重试和适应等片段的轨迹
The central idea of RaC is to train on trajectories that interleave successful task executions with segments that demonstrate recovery, retries, and adaptation
虽然标准的人类远程操作数据可能已经包含了一些偶发的恢复行为,RaC 则是有意识地鼓励并强化这些行为 - 从概念上讲,这一阶段类似于大型语言模型(LLM)推理中的“中期训练”[45],其目的是展示如何将基础知识与算法行为(如回溯、试错、自我验证等)有效结合,通过生成更长的响应来解决复杂的推理问题
具体而言,作者引入了一种轻量级的人类参与数据收集协议:当运行中的策略开始偏离预期轨迹时,人类远程操作员会介入并接管控制权
如图3所示——其展示RaC核心概念『图中对比了通过RaC指定的人为干预收集的数据,以及仅基于修正数据(“HG-DAgger”)与同时包含恢复与修正数据(RaC)时策略执行的样例』
- 典型的干预方法(左)仅收集修正数据,即从分布外状态推动任务向前发展,目标是推进任务进程
- 相比之下,RaC(右)首先收集一段恢复数据,将机器人带回到先前熟悉的状态,然后再进行修正,从该状态推动任务前进
这样可以“加密”对熟悉状态的覆盖,并让机器人学会恢复到更广泛的初始状态区域
由于学习恢复比推进子任务更容易,RaC利用了一种“验证-生成差距”[38]:它允许策略通过多次恢复来提升成功率
总之,这些干预自然分为两类:
- 错误纠正片段,即人类专家引导机器人完成任务(类似于DAgger风格的监督)
- 恢复片段,即人类将机器人回退或重新定位到先前成功的状态
为了扩展模仿学习中的恢复与纠正能力,RaC用两条规则对干预过程进行了标准化
- 规则1(先恢复再纠正)将每次人类接管操作结构化为:首先重置回分布内状态,然后执行纠正片段以完成当前子任务
- 规则2(干预后终止)则在干预片段结束后立即终止当前回合,避免在混合了学习策略和人类专家的状态分布下收集后续子任务的数据
关键在于,RaC保持模仿学习目标不变;性能提升完全来自于更优的数据构成
1.1.2 相关工作
第一,对于机器人学习中的数据扩展
- 近期研究表明,在不同任务、机体和环境中扩展真实机器人数据能够实现泛化
大规模机器人数据集[6,11,23,43],结合高表达力的神经网络架构[2,4,5,24,30,34,42],已经产生了能够在多种基础技能(如抓取物体、折叠布料)上表现出色的通用策略 - 与此同时,另一类研究[10,50]也表明,类似的数据驱动方法同样能够产生在更复杂的灵巧双手任务上表现优异的专用策略。然而,这些方法通常需要为每项技能收集数千条高质量的专家演示[50]
第二,机器人模仿学习中的扩展性研究
受到LLMs 相关工作的启发[18, 20],有若干研究旨在为机器人模仿建立扩展性规律[14, 27, 48]。这些工作中的一部分,旨在评估任务变化下的泛化能力,分析了策略在短时任务中的表现与训练数据中环境多样性之间的关系
- 然而,在所有此类研究中,演示数据本身都是通过人类” 专家” 远程操作收集的,并且在数据中展示的技能类型上变化很小
- 相比之下,RaC不关注环境多样性,而是关注长时任务中轨迹内的数据收集策略:具体来说,关注各种动作、恢复行为以及其中的变化
正如RaC在实验中展示的,精心设计的轨迹级别收集策略,相较于以往在类似任务上的工作[50],可以将效率提升超过10×
第三,对于人类在环模仿学习
RaC的方法通过强调恢复与纠正行为来收集干预数据,这使其与人类在环模仿学习的广泛文献相关联。经典方法源自 DAgger [37],其流程包括:
- 基于学习者的策略进行 on-policy rollout
- 在访问到的状态上向专家提问
- 在聚合的数据集上重新训练
该框架假设可以访问高质量的专家策略
- 为了将 DAgger 适应于人类操作员,HG-DAgger [22] 允许远程操作员在策略访问到不良状态时进行干预,而更近期的系统如RoboCopilot [46] 则通过开发改进的远程操作与干预界面,将这些思想扩展到双手移动操作任务
- 其他工作 [29,33] 探索了结合 on-policy rollout、干预数据与完整人类演示的目标。尽管RaC的学习目标与 HG-DAgger [22] 有相似之处,但RaC在一个关键方面与其有所不同:以往的工作大多将人类干预视为需要模仿的最优专家解法,而RaC展示了收集恢复片段(这些片段本身并非任务最优,甚至可能逆转子任务的进展)能显著提升扩展性
这一发现挑战了“只有‘专家’干预才有用”的传统观点,并突出了轨迹级数据收集的重要作用
第三,对于共享自主性
高效收集干预数据需要响应迅速且直观的遥操作界面。以往的人机协作系统通常依赖于6自由度SpaceMouse [29,31,32],或带有屏幕按钮和IMU传感的智能手机软件 [33]
- 虽然这些设备具有一定的功能性,但它们学习曲线陡峭[25],且在应用于灵巧技能时尤其困难,特别是那些需要手腕旋转的操作
因此,这些方法大多仅限于单臂场景或末端执行器姿态受限的相对简单的操作任务 - 最新的研究[46-Robocopilot: Human-in-the-loop interactive imitation learning for robot manipulation]尝试将VR摇杆与外骨骼硬件结合,以提供力反馈和更丰富的干预选项,但这需要专用设备并增加了额外成本
- 相比之下,RaC采用了广泛可得的现成VR摇杆作为远程操作和干预接口。通过在下文(对应于原论文第4.3节中)描述的轻量级软件修改,RaC的设计使用户能够即时接管控制并进行干预,无需将VR摇杆的姿态与机器人末端执行器的姿态对齐
第四,对于模仿学习中的恢复与纠正
- 已有多项研究探讨在模仿学习训练中引入恢复和纠正机制。Wang等人[44]提出了一种“回溯与优化”数据收集系统,该系统能够检测失败,通过重放轨迹使机器人回到先前的姿态,然后由远程操作员收集纠正性轨迹
类似地,[1,19]研究了在仿真环境中自动生成和筛选恢复轨迹,以扩充数据集覆盖范围
然而,这些方法仅限于纯仿真任务或受限的 sim2real 场景 - Sun 和 Song[40]在专家数据和学习得到的潜在动力学模型上训练基础扩散策略,并在测试时进行动态调整,以促使策略保持在专家演示流形上
Ke 等人[21]从专家演示中学习局部 Lipschitz 动力学模型,并在演示流形附近合成纠正标签,以缓解累积误差
Xu 等人[47]结合了顺应性干预接口以提供纠正,并学习残差策略以提升高接触任务的性能 - 与通过设计回溯机制或修改基础模仿学习策略来工程化返回分布内状态的方法不同,RaC 将恢复视为另一项“技能”,通过人类演示学习,并与完整演示及纠正技能显式扩展
因此,无需修改现有模仿学习目标或增加机器人系统的复杂性,RaC通过直接扩展人类演示数据,提高了策略的鲁棒性和性能 - Brandfonbrener 等人[3]提出了一种与 RaC 类似的数据收集协议,操作员通过回溯到较早的视觉状态,故意收集一系列视觉上相似的失败、恢复和成功序列
然而,Brandfonbrener 等人[3]从离线强化学习的角度研究了这种数据收集策略的益处,使得能够从小型数据集中高效学习精确的价值函数
而RaC则聚焦于此类恢复技能在数据集构成中的扩展性及其对模仿学习策略的影响
1.1.3 背景与机器人设置
首先,对于机器人本体的设置
作者的机器人系统(见图2)由两台7自由度的xArm-7机械臂组成,配备了缩小版的软体夹爪[10,51],以便于完成富有接触和灵巧操作的任务
- 为了实现响应式控制,中央服务器以60Hz的频率同步并发布来自顶视摄像头和两个腕部摄像头的RGB图像流、机器人状态以及动作指令
- 且他们的系统采用RMPFlow[8]作为逆运动学运动生成器,实现实时避障和流畅的机械臂运动
从纯粹的机器学习角度来看,RaC的工作位于具有不断演化机器人数据集的迭代模仿学习环境中。该数据集中的每条轨迹 ——由每个观测
对应的一个动作
组成
- 在本文中,作者提出了一种通过在人类干预先前一代学习策略的基础上收集模仿学习数据的方法,从而实现更好的可扩展性
- 正式来说,作者的目标是开发一种迭代式的人类数据收集策略,使任务性能的可扩展性随着数据收集预算的变化而提升
换句话说,作者旨在提升可扩展性表现,即任务成功率与数据规模之间的斜率
说白了,就是让增长的数据对任务成功的促进效率更大
为了研究数据组成,作者的数据包含三种类型:
- 完整且成功的专家演示
- 恢复片段,这些片段始于失败或分布外区域,并返回到分布内区域
- 以及(iii) 直接完成当前子任务的修正片段
其次,对于数据收集协议
作者的数据收集从使用初始预算规模R0(以小时或帧数/时间步数计)收集一轮完整演示数据开始
然后,作者
- 首先使用这轮” 第0 轮” 完整演示数据训练一个初始策略π0,并评估其性能
第0 轮数据也可以来自社区中已有的现成模仿学习数据集 - 随后,可以通过两种协议扩展数据规模
在批量数据收集协议中,作者分配额外的
帧预算,从而获得一个大小为
的专家数据批次
在迭代人工干预协议[22,29,33,46] 中,专家则进行K 轮交替的干预和训练
In theiterative human intervention protocol [22, 29, 33, 46], experts instead perform 𝐾alternating rounds ofintervention and training:
在每一轮k 中,他们在的执行过程中进行干预,将这些干预片段以不同方式与现有数据聚合,并重新训练一个新策略
in each round 𝑘, they provide interventions during rollouts of 𝜋𝑘−1, aggregate these intervention segments with existing data (in different ways), and retrain a new policy 𝜋𝑘
总之,作者将研究能够最大程度提升模仿学习数据扩展效果的干预方式
// 待更