想象一下,你正在尝试教一个机器人拿起一个杯子。通常最聪明的方法是让机器人在计算机模拟中先练习数百万次,这样就不会弄坏真实的机器人或伤害任何人。但问题在于:计算机模拟永远无法与真实世界完全一致。真实的机器人可能稍重一些,电机可能稍慢一些,或者传感器可能有点“噪声”。这种差异被称为“现实差距”。如果你在完美的模拟中训练机器人,当你把它放到现实世界中时,它往往会惨败,因为它学会了依赖模拟的完美性。
为了解决这个问题,科学家们使用了一种称为域随机化(Domain Randomization)的技巧。他们不是试图让模拟变得完美,而是故意把它弄乱。他们在一次运行中让机器人变重,下一次变轻,添加虚假的传感器噪声,或延迟控制。其理念是:如果机器人学会处理所有这些“混乱”的版本,它就足以应对现实世界,因为现实世界只是另一种“混乱”的版本。
旧方法的缺陷
传统方法就像试图在第一天就跳进充满强流、巨浪和冰冷海水的暴风雨海洋中学习游泳。这太难了!机器人会感到不知所措、困惑,并学会糟糕的策略(或者根本无法学会任何东西),因为任务过于困难。
新解决方案:持续域随机化(CDR)
本文的作者提出了一种更聪明的学习方法,称为持续域随机化(Continual Domain Randomization, CDR)。这就像学习开车:
- 从简单开始:首先,你在一个空旷、完美的停车场学习驾驶,没有风,没有其他车辆,轮胎也完美无缺。你掌握了基础知识。
- 一次增加一个挑战:一旦你擅长于此,不要突然把你扔进飓风里。相反,你只添加一个新挑战。也许你在雨中驾驶。一旦你掌握了雨中驾驶,就添加风。一旦你掌握了风,就添加繁忙的交通。
- 记住所有内容:棘手的部分是,当你学会在雨中驾驶时,你不应该忘记如何在干燥的路面上驾驶。这就是“持续学习”部分发挥作用的地方。机器人使用一种特殊的记忆技术(称为弹性权重巩固,Elastic Weight Consolidation),它充当“安全网”。它允许机器人学习新技能(如处理雨水),而不会“忘记”旧技能(在干燥路面上驾驶)。
他们如何测试
研究人员在两项任务上测试了这一想法:
- 到达:机械臂尝试触摸特定点。
- 抓取:一项更复杂的任务,机械臂必须找到一个盒子,完美对齐其夹爪,并将其拿起。
他们将这种“循序渐进”的方法(CDR)与另外两种方法进行了比较:
- “完美”模拟器:仅在干净、完美的世界中训练(这在现实中会失败)。
- “混乱”模拟器:将所有问题(雨、风、交通)同时抛给机器人。
- “健忘”方法:逐个添加问题,但不使用记忆安全网(因此机器人会忘记之前的步骤)。
结果
结果令人印象深刻:
- 使用CDR训练的机器人在模拟中有效地学习了。
- 当他们把机器人移到现实世界时,其表现优于或等同于在“混乱”模式下训练的机器人。
- 至关重要的是,CDR 更加稳定。无论他们以何种顺序添加挑战(先雨还是先风),机器人仍然能很好地学习。然而,“健忘”方法在挑战顺序改变时则显得吃力。
简而言之
这篇论文表明,与其一次性让机器人淹没在随机变量的海洋中,不如循序渐进地教导它,一次增加一个难度,同时确保它能记住如何处理之前的那些。这创造了一个机器人,它准备好应对混乱、不可预测的现实世界,而无需在训练期间在现实世界中进行测试。
以下是 Josip Josifovski 等人论文《持续域随机化》(Continual Domain Randomization)的详细技术总结。
1. 问题陈述
机器人领域的深度强化学习(DRL)通常依赖仿真环境来克服样本效率低下和安全问题。然而,“现实差距”(reality gap)——即仿真与现实世界之间的差异——往往导致策略在未经进一步微调的情况下进行仿真到现实(sim2real)迁移时表现不佳。
- 现有方法的局限性:
- 完美仿真: 由于硬件磨损和环境变化,对于复杂系统而言无法实现。
- 域适应(微调): 需要真实世界数据,这既耗时又可能存在安全隐患。
- 标准域随机化(DR): 同时随机化所有仿真参数以覆盖现实差距。然而,一次性随机化过多参数会增加任务复杂度和智能体的不确定性,往往导致次优策略或无法收敛。
- 无持续学习(CL)的序列随机化: 在参数子集上按顺序训练而不保留先前步骤的知识,会导致灾难性遗忘,即智能体过度拟合最近的随机化,从而丧失对早期随机化的鲁棒性。
2. 方法论:持续域随机化(CDR)
作者提出了持续域随机化(CDR),这是一个将域随机化与**持续学习(CL)**相结合的框架,旨在实现对随机化参数子集的序列训练,同时保留来自先前步骤的知识。
核心工作流
- 初始化: 智能体首先在理想化仿真(无随机化)中进行训练,以学习基础任务。
- 序列训练: 随后,智能体在一系列仿真中进行训练,每一步启用特定子集的随机化参数(例如延迟、扭矩、噪声)。
- 持续学习: 为防止灾难性遗忘,系统采用基于正则化的持续学习算法来“记忆”先前随机化的影响。
算法实现
作者使用结合**近端策略优化(PPO)与弹性权重巩固(EWC)**的两种变体进行实现:
CDR-λ(离线):
- 使用 EWC 对策略网络进行正则化。
- 为每一个过去的任务维护网络参数(θ∗)和实证费雪信息矩阵(FIM)的独立快照。
- 损失函数: L(θ)=LC(θ)+∑2λi∣∣θ−θi∗∣∣Fi2
- 权衡: 内存占用高(随任务数量线性扩展),但能强有力地保留过去知识。
CDR-Oλ(在线):
- 使用在线 EWC变体以减少内存开销。
- 仅维护一个网络快照和一个累积费雪信息矩阵。
- 费雪矩阵递归更新:Fi∗=γFi−1∗+Fi。
- 权衡: 内存占用恒定,但相比离线版本,对非常旧的任务保留能力可能较弱。
归一化: 一个关键的技术细节是在每个任务后将费雪信息矩阵元素归一化到 [0.0,1.0] 范围。这将正则化常数 λ 与不同任务的任意缩放解耦,允许在整个序列中使用单一的 λ。
3. 实验设置
作者在两个机器人操作任务上使用KUKA LBR iiwa 14机械臂评估了 CDR:
- 到达任务: 一个 2 关节机械臂到达目标点。
- 抓取任务: 一个带有 Robotiq 三指夹爪的 7 关节冗余机械臂抓取立方体。
随机化参数:
三个参数按不同顺序(例如:扭矩 → 延迟 → 噪声)进行序列随机化:
- 延迟(L): 状态观测的随机延迟。
- 扭矩(T): 随机化关节刚度和阻尼。
- 噪声(N): 传感器噪声。
基线方法:
- 理想(Ideal): 在非随机化仿真中训练。
- 随机化(Randomized): 所有参数同时随机化训练。
- 微调(Finetuning): 无持续学习(无正则化)的序列训练。
4. 关键结果
到达任务
- Sim2real 性能: 理想模型在仿真中表现最佳,但在现实世界中失败(高抖动、低奖励),原因是过拟合。随机化基线在现实中表现良好,但仿真奖励较低。
- CDR 性能: 两种 CDR 变体实现的 sim2real 迁移效果与完全随机化基线相当或更优。
- CDR-Oλ 实现了最高的现实世界奖励和稳定性。
- 微调在仿真中表现良好,但相比 CDR 显示出较差的现实世界迁移能力,证实了遗忘先前随机化是有害的。
- 顺序敏感性: 序列基线(微调)对随机化顺序高度敏感。CDR 对参数顺序具有显著更强的鲁棒性。
抓取任务
- 复杂性: 抓取任务更难,需要更高的精度。
- 稳定性: 与微调相比,CDR 策略显示出更低的方差和更稳定的训练进程。
- 现实世界成功率:
- CDR-Oλ 在仿真中实现了 78% 的抓取成功率,在现实中(采用 NLT 顺序)达到 60%,优于随机化基线(现实成功率 40%)。
- 微调 显示出高方差;取决于顺序,它可能是表现最好或最差的,突显了其不稳定性。
- CDR 模型无论随机化顺序如何,均提供一致的性能。
正则化强度(λ)
- 低 λ: 模型行为类似微调(遗忘先前任务),导致现实世界迁移效果差。
- 高 λ: 模型变得过于僵化,无法适应新的随机化,导致仿真和现实中的表现均不佳。
- 最佳范围: 中等范围的 λ 提供了最佳平衡,既实现了适应又保留了鲁棒性。
5. 主要贡献
- 新颖框架: 提出持续域随机化(CDR),将域随机化视为持续学习问题,以序列方式引入复杂性而不发生灾难性遗忘。
- 内存效率: 开发**在线 CDR(CDR-Oλ)**变体,通过维护单个费雪矩阵避免了传统 EWC 的线性内存扩展,使其适用于长序列随机化。
- 对顺序的鲁棒性: 证明与标准序列微调相比,CDR 对随机化参数的引入顺序不那么敏感。
- 零样本迁移: 在真实机器人上成功实现了零样本 sim2real 迁移,无需任何现实世界训练数据或域适应。
6. 意义与结论
本文解决了机器人强化学习中的一个关键瓶颈:在高随机化下训练的难度与过拟合特定仿真风险之间的权衡。通过整合持续学习,CDR 使智能体能够在变化的仿真条件下“学习如何学习”,构建出对广泛动态具有鲁棒性的策略。
- 实际影响: CDR 提供了一个灵活、通用的 sim2real 迁移框架,无需预先定义所有随机化参数,也无需访问现实世界数据进行微调。
- 未来工作: 作者建议将 CDR 与自动化或主动域随机化相结合,以动态确定最佳参数范围,并将该方法扩展到基于视觉的随机化。
总之,CDR 为静态随机化和简单序列微调提供了更优越的替代方案,在复杂的机器人操作任务中实现了最先进的 sim2real 性能。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。