近日,OpenAI创建了一套机器人系统,完全在仿真中进行了训练,并部署在物理机器人载体上,可以在看到人类完成一次之后学习一项新任务。 上个月,OpenAI展示了这个机器人的早期版本,他们使用域随机化算法(domain randomization)对其视觉系统进行了训练,即通过使用各种颜色、背景和纹理显示模拟对象,而不使用任何真实图像。 现在,OpenAI开发并部署了一种新的算法,一次性模仿学习(one-shot imitation learning),让人们通过在VR中执行它来传达如何做一个新的任务。只要给定一个演示,机器人便能够从任意的起始配置中解决相同的任务。 一般程序 图注:该系统可以从模拟器中提供的单个演示中学习某个行为,j2直播,然后在现实中以不同的设置再现这种行为。 该系统由两个神经网络组成:视觉网络和模仿网络。 视觉网络从机器人的相机抓取图像,并输出表示对象位置的状态。如前所述,视觉网络被训练成数十万个具有不同照明、纹理和对象扰动的模拟图像(视觉系统从未对真实形象进行过训练)。 模仿网络观察演示,处理它来推断任务的意图,然后从另一个起始配置开始实现意图。因此,模仿网络必须将演示推广到新的环境。但模仿网络如何知道怎样推广? 网络从训练示例的分发中学到这一点。它对几十个不同的任务进行了训练,每个任务都有数千次演示。每个训练示例是执行相同任务的一对演示。网络被给予了第一次演示的全部和第二次演示的一次观察。然后,OpenAI使用监督学习来预测演示者采取什么行动。为了有效地预测行动,机器人必须学习如何从第一次演示推断任务的相关部分。 该技术已经应用于堆方块,训练数据包括以相同顺序将块堆叠成匹配的方块塔的轨迹对,但是从不同的起始状态开始。通过这种方式,模仿网络可以学习如何匹配演示者和塔楼的大小,而不用担心塔的相对位置。 堆方块 创建颜色编码的堆栈的任务很简单,OpenAI用模拟的脚本策略解决了这一问题。他们使用脚本策略生成模拟网络的训练数据。在测试的时候,模仿网络能够解析人类制作的演示游戏,尽管以前从未见过凌乱的人类数据。 模拟网络使用soft attention技术(https://arxiv.org/abs/1409.0473)演示轨迹,并表示块的位置的状态向量,开奖,从而允许系统对可变长度的演示进行工作。它也引起了不同块的位置的注意,允许它模仿比以往更长的轨迹,并将堆栈块变成具有比其训练数据中的任何演示更多的块的配置。 为了模仿网络学习能够具有鲁棒性,我们不得不在脚本策略的输出中注入适量的噪音。这迫使脚本策略展示如何在发生错误的情况下恢复,从而教会模拟网络应对不完善策略的干扰。在不注意噪声的情况下,模拟网络学习的策略通常不能完成堆叠任务。 机器人圈将两篇论文链接附在文末,感兴趣的圈友可以收藏 ?《Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World》 链接:https://arxiv.org/pdf/1703.06907.pdf ?《One-Shot Imitation Learning》 链接:https://arxiv.org/pdf/1703.07326.pdf (责任编辑:本港台直播) |