OpenAI 会学习的机器人:一次性模仿学习来自模拟

OpenAI 已创建一个机器人系统,能够在看到任务执行一次后学习新任务。该系统完全在模拟中训练,然后部署到物理机器人上,消除了对真实世界图像训练的需求。

一次性模仿学习与 VR 集成

OpenAI 的新算法——一次性模仿学习,使得人类可以通过在虚拟现实(VR)中执行任务来向机器人传达任务。在模拟器中进行一次演示后,机器人可以从物理世界中的任意起始配置解决相同的任务。

系统架构:视觉网络与模仿网络

该系统由两个不同的神经网络驱动,分别负责感知和任务执行:

视觉网络

视觉网络将机器人相机的图像转换为物体位置的状态表示。为了确保系统能够泛化到物理世界,该网络使用域随机化进行训练——让其接触数十万张具有不同光照、纹理和物体扰动的模拟图像。视觉系统从未在真实图像上进行训练。

模仿网络

模仿网络从演示中推断任务的意图,并将该意图泛化到新的环境。它在数十个任务上进行训练,每个任务有数千次演示,使用从不同起始状态执行相同任务的轨迹对。通过监督学习,网络预测演示者在特定观察下采取的动作,学会优先考虑任务的相关部分,而非物体的特定起始位置。

应用于积木堆叠

OpenAI 通过一个积木堆叠任务展示了系统的能力,机器人在此任务中创建颜色编码的积木堆栈。

使用脚本策略进行训练

由于积木堆叠是一个足够简单的任务,OpenAI 在模拟中使用了脚本策略来为模仿网络生成训练数据。尽管是在脚本数据上训练的,模仿网络在测试时成功解析了人类产生的演示,尽管它之前从未遇到过“杂乱”的人类数据。

通过软注意力进行扩展和泛化

模仿网络在演示轨迹和积木位置的状态向量上使用软注意力。此架构使系统能够:

  • 处理长度可变的演示。
  • 模仿长度超过训练期间所见任何轨迹的轨迹。
  • 将积木堆叠成包含比其训练集中任何演示更多积木的配置。

通过噪声注入实现鲁棒性

为了确保策略的鲁棒性,OpenAI 在训练过程中向脚本策略的输出注入了适量的噪声。这迫使脚本策略在出现错误时展示恢复行为,从而教会模仿网络如何处理来自不完美策略的干扰。如果没有此噪声注入,模仿网络通常会失败以完成堆叠任务。

Sources