OpenAI提出新型机器人训练技术:模拟环境动态随机

本文介绍了 OpenAI 提出的新型机器人模拟训练技术,它可以让机器人控制器完全在模拟环境中进行训练,模拟环境使用动态随机允许模型泛化至现实世界中。

我们提出的最新机器人技术可以让机器人控制器完全在模拟环境中进行训练,然后将其部署在实际机器人上,使机器人能够对环境的未知变化做出反应,就像在解决简单的问题一样。也就是说,我们使用这些技术来创建闭环系统,而不是以往的开环系统。模拟器不需要在外貌形态或者动态变化上与现实世界完全匹配;相反,我们把环境相关的各方面都随机化了,从摩擦力到动作延迟,再到传感器噪声。我们最新的结果提供了很多证据,证明通用目标的机器人完全可以在模拟环境中进行训练,只需要后续在实际环境中做少量的自标定(self-calibration)即可。


图中是一个在动态随机(dynamics randomization)情况下进行模拟训练的机器人,它的任务是把一个定标器推到目标点。尽管在真实世界中,研究人员把定标器上放在装满芯片的袋子上,改变了定标器的滑动属性,但机器人仍然在没有经验的情况下完成了目标。

动态随机

我们开发出了动态随机的方法来训练机器人适应未知的现实世界变化。在训练过程中,我们随机抽取一组 95 个属性来定义环境动态,比如改变机器人身体各个部分的质量;改变机器人进行训练使用物体的摩擦力和阻尼(damping);物体所在桌子的高度;动作之间的延迟;观察结果中的噪声等。

我们用这个方法训练了一个基于 LSTM 的策略来把定标器在桌子上推来推去。我们设计的前馈网络在执行这个任务的时候失败了,但是 LSTM 能够利用过去的观察结果来分析环境的动态变化,并相应地调整自己的行为。

从视觉到行动

我们还使用强化学习的方法在模拟环境中训练了一个机器人端到端的模型,并且将得到的策略部署在实际机器人上。所构建的系统能够在不使用特殊传感器的情况下将视觉直接映射到动作上,并且能够适应视觉的反馈。


这是从机器人摄像头的视角看到的场景。捡起方块的策略是使用从视觉到动作的端到端模型来训练的,使用的是随机化的视觉。需要注意的是,在模拟中,机器人抓手会随着方块的下滑而略微上移,以将方块保持在期望的位置。在实际环境中,因为方块不会滑动,所以抓手不会做出这样的动作。


仿真机器人中大量的强化学习结果使得强化学习似乎能够解决大多数机器人任务。但是常见的强化学习算法仅在动作受到较小扰动的任务中运转良好,扰动较小给奖励函数带来增量式的变化。但是大多数任务并不是这样的。为了给「堆箱子」定义一个密集的奖励函数,你需要对以下信息进行编码:机械臂靠近方块、机械臂沿着正确的方向靠近方块、方块被举起并离开地面,以及方块到达期望位置的距离等等。

我们花费了几个月的时间来尝试让传统的强化学习算法在捡起-放下的任务上起作用,但是都失败了,直到最后我们开发了一个新的强化学习算法:事后经验回放(Hindsight Experience Replay,HER),该算法可以让智能体从二元奖励中学习,即假装任务失败就是想要的结果,然后从中学习到相应的东西。(举个例子,你想找的是加气站,但最后找到了披萨店。尽管你还是不知道去哪找加气站,但是你已经学到了如何去披萨店。)我们还在视觉形状中使用域随机化(domain randomization)来学习一个足够鲁棒的视觉系统来适应现实世界。

HER 的实现使用了不对称信息的 actor-critic(演员-批评家)技术。演员是一个策略,批评家是一个接受动作/状态对并估计它们的 Q 值(或未来奖励)的网络,它给演员提供训练信号。批评家有权限访问模拟器的所有状态,而演员只能访问 RGB 值和深度数据。所以批评家能够提供完全准确的反馈,而演员只能使用现实世界展示出来的数据。

成本

这两种方法都增加了对计算量的需求:动态随机将训练速度降低了三倍,而从图像(而非状态)中学习的方法则将速度降低了 5 到 10 倍。

入门OpenAI机器人理论强化学习
返回顶部