转载

OpenAI研究 会学习的机器人

创建了一个机器人系统,完全在模拟中训练并部署在一个物理机器人上,它可以在完成一次新任务后学习它。会学习的机器人

算法

上个月,我们展示了 这个机器人的早期版本,我们在其中使用域随机化 训练了它的视觉系统 ,也就是说,通过向它展示具有各种颜色、背景和纹理的模拟对象,而不使用任何真实图像。

现在,我们已经开发并部署了一种新算法, 即一次性模仿学习,允许人类通过在VR中执行新任务来交流如何完成新任务 。给定一次演示,机器人能够从任意起始配置解决相同的任务。

一般程序

堆叠演示
我们的系统可以从模拟器中提供的单个演示中学习行为,然后在现实中的不同设置中重现该行为。

该系统由两个神经网络驱动:视觉网络和模仿网络。

视觉网络从机器人的摄像头获取图像并输出表示物体位置的状态。和 以前一样,视觉网络使用数十万张具有不同光照、纹理和物体扰动的模拟图像进行训练。(视觉系统从未在真实图像上进行过训练。)

模仿网络观察演示,对其进行处理以推断任务的意图,然后从另一个起始配置开始完成意图。因此,模仿网络必须将演示推广到新的设置。但是模仿网络是如何知道如何泛化的呢?

网络从训练示例的分布中学习到这一点。它接受了数十种不同任务的训练,每项任务都有数千次演示。每个训练示例都是一对执行相同任务的演示。该网络获得了第一次演示的全部内容和第二次演示的单个观察结果。然后,我们使用监督学习来预测演示者在该观察中采取的行动。为了有效地预测动作,机器人必须学会如何从第一次演示中推断出任务的相关部分。

应用于块堆叠,训练数据由成对的轨迹组成,这些轨迹以相同的顺序将块堆叠成一组匹配的塔,但从不同的起始状态开始。通过这种方式,模仿网络学会匹配演示者的块顺序和塔的大小,而无需担心塔的相对位置。

块堆叠

创建颜色编码的块堆栈的任务非常简单,我们能够在模拟中使用脚本策略来解决它。我们使用脚本策略为模仿网络生成训练数据。在测试时,模仿网络能够解析人类制作的演示,即使它以前从未见过混乱的人类数据。

模仿网络对演示轨迹和表示块位置的状态向量使用 软注意力 ,允许系统处理可变长度的演示。它还关注不同块的位置,使其能够模仿比以往任何时候都更长的轨迹,并将块堆叠成一个配置,该配置比其训练数据中的任何演示都多。

为了让模仿网络学习稳健的策略,我们必须在脚本策略的输出中注入适量的噪声。这迫使脚本化策略演示在出现问题时如何恢复,从而教会模仿网络处理不完善策略带来的干扰。如果不注入噪声,模仿网络学习到的策略通常无法完成堆叠任务。

阅读论文(域随机化)