通用人工智能的新宇宙:OpenAI重磅发布AGI测试训练平台Universe
OpenAI昨天发布OpenAI Universe,这是一个能在几乎所有环境中衡量和训练AI通用智能水平的开源平台,当下的目标是让A 智能体像人一样使用计算机。
继今年4月发布OpenAIGym之后,OpenAI昨天又推出了新平台—— Universe:一个用于训练解决通用问题AI的基础架构。
根据官博介绍,Universe是一个能在世界上所有的游戏、网站和其他应用中,衡量和训练AI通用智能的软件平台。
Universe要让AI智能体能像人一样使用计算机:通过看显示屏,操作虚拟键盘和鼠标。我们必须全方位地训练AI系统,解决我们想要它们解决的问题,而Universe则让我们能够训练单一的智能体,执行任何人类能使用计算机来完成的任务。
今年4月,OpenAI发布了OpenAI Gym,后者是一套用于开发和比较强化学习算法的工具。有了Universe,任何程序都能被接入(be turned into)到OpenAI Gym的环境中。Universe通过在VNC远程桌面后自动启动程序来运作,不需要任何特殊的程序接口、源代码或bot API。
OpenAI当前发布的版本含有1000个环境,包括Flash游戏、浏览器任务(browser tasks),以及像slither.io和GTA V这样的游戏。还有更多这类环境可供训练强化学习,几乎所有都能在Universe运行,使用universe Phython库运行
以上样本代码将让你的AI开始玩Flash游戏《Dusk Drive》。当然,你得安装Docker和univers才行。
我们的目标是开发单一的一个AI智能体,使其能够灵活运用过去在Universe中的经验,快速在陌生和困难的环境中取得掌控权,这也是通往通用智能的重要一步。
你可以以很多种方式参与OpenAI Universe:授权OpenAI使用你的游戏、在Universe不同任务中训练智能体,以及接下来即将推出的整合新游戏,以及让智能体玩这些新的游戏。
Universe部分参与单位,完整列表见文末
背景
人工智能领域在过去几年中取得了快速进展。计算机现在可以以前所未有的精度查看、听取和翻译语言。计算机也在学习生成图像、声音和文本。强化学习系统AlphaGo击败了人类世界围棋冠军。然而,尽管取得了所有这些进步,目前的AI系统仍然属于“狭义AI”——可以在特定领域实现超人的表现,但缺乏在该领域外合理执行任务的能力。例如,AlphaGo可以轻松地在围棋上击败你,但你不能期望让它陪你一起玩其他游戏。
具有一般问题解决能力的系统——类似于拥有人类常识,让智能体能够快速解决新的困难任务——目前仍然是不存在的。一个显而易见的挑战是,现在的智能体还不能将其经验携带到新的任务中。在标准训练制度下,智能体从零开始初始化,随机抽取数千万试验中的一个,经过不断试错、学会重复行为,最终得到有益的结果。如果要向通用AI智能体取得进展,我们必须让智能体经历一系列不同的任务,以便它们能够发展出关于世界的知识和解决问题的策略,以便在新任务中有效地重复使用这些东西。
通用框架
Universe通过一个通用的接口适用于各种场景:智能体通过捕捉屏幕的像素生成对键盘和鼠标的命令来操作远程桌面。场景需要VNC服务器,universe 库将智能体转换为VNC客户端。
Universe 的设计目标是支持单个的Python进程,以每秒60帧的速度并行驱动20个场景。每个屏幕的缓冲区是 1024×768,因此用外部进程直接读取每一帧需要3GB/s的内存带宽。我们用Go写了一个面向批处理的VNC服务器,它可以作为Python共享库加载,并且逐步更新每个场景的一对缓冲区。在尝试了许多VNC服务器、编码器和无证书协议选项的组合之后,现在的组合能以60帧/秒的速度驱动几十个场景,延迟是100毫秒——这些延迟几乎都是服务器端编码引起的。
以下是我们当前实现的一些重要特性:
通用性。智能体可以使用这个接口(最初是为人类设计的)与现有的任何计算机程序交互,而不需要仿真器或接入程序内部。例如,智能体可以玩任何一款计算机游戏,与终端交互,浏览网页,使用CAD软件制图,使用图片编辑软件或者编辑电子表格,等等。
熟悉性。由于人们已经非常熟悉这些像素/键盘/鼠标的界面,人们可以轻松操作universe的任何场景。我们可以使用人类表现作为有意义的基准,只需简单地保存VNC流量记录跟踪人类的演示。我们发现,在转换到增强学习为给定的激励函数进行优化前,这些演示在对使用行为克隆(即使用监督学习模拟人类行为)的合理策略的智能体进行初始化时非常有用。
以VNC作为标准。VNC的许多实现都可以在线使用,而且包括OSX在内的一些实现已经默认封装到常见的操作系统中。在JavaScript中甚至有允许用户提供演示而无需安装任何新软件的VNC实现——这对Amazon Mechanical Turk之类的服务非常重要。
易于调试。我们可以在智能体正在训练或评估时进行调试,只需将VNC客户端附加到共享环境的VNC桌面。还可以保存VNC流量供以后分析。
我们都很惊讶VNC的作用如此强大。随着我们的游戏更大型,我们将开始使用额外的后端技术。但初步的迹象表明,现有的实现能够更好:设置正确的话,用户能够以每秒20帧的速率在公共互联网上运行GTA V。
环境
我们已经在Universe中加入了大量的运行环境,并且,我们认为这仅仅是一个开始。每一个环境都被打包成一个Docker图像,包含了两个服务器,来与外部的环境进行沟通:VNC服务器会向显示器发出信号,并接收键盘或者鼠标发出的指令;WebSocket服务器会发出强化学习任务所反馈的信号(以及所有的辅助信息,比如文本或者诊断),此外,还会接收控制信息(比如要运行的具体环境ID)。
Atari 游戏
Universe包含Arcade学习环境中2600种Atari游戏。这些环境现在在quay.io/openai/universe.gym-core的Docker图像上异步运行,并允许智能体在网络之上进行连接,这意味着智能体必须要处理延时和低帧率。通过在云上的局部网络上运行,我们通常可以达到60帧每秒,观察滞后20毫秒,行动滞后10毫秒。在整个公共的互联网上,能降到20帧每秒,观察滞后80毫秒,行动滞后30毫秒。
Flash 游戏
在Universe的扩展上,我们把Flash游戏作为一个起始点,这些游戏在互联网上几乎是无处不在dd ,总体上特征比Atari 要丰富得多,但是个体上依然非常简单。我们已经筛选了超过3万个游戏,并预计,还有一个数量级的游戏没有收录。
最初发布的Universe包含了1000个Flash 游戏(其中有100个有回馈函数),在获得所有权持有者的同意之后,我们把它们发布在了quay.io/openai/universe.flashgames Doker image上。此图像开启TigerVNC服务器并启动Python控制服务器,该控制服务器使用Selenium将所需游戏的Chrome浏览器打开到容器内页面,并自动点击启动游戏所需的任何菜单。
提取回馈
虽然没有回馈函数的环境可用于无监督学习,或者用于生成类人的展示,但是,强化学习(RL)需要回馈函数。与Atari游戏不同,我们不能简单地从对内存的处理中读取成功的标准,并且,关于每一个游戏如何储存这些信息,其中还有很多的变量。
幸运的是,许多游戏都会有显示在屏幕上的得分情况,这可以当成是一个回馈函数,只要我们能合理地解释这些分数。虽然现成的OCR(例如Tesseract)在具有干净背景的标准字体上表现很好,但它在许多游戏中常常遇到多样字体,移动背景,动画或遮挡物体等难题。
我们开发了一个基于卷积神经网络的OCR模型,该模型在Docker容器的Python控制器中运行,解析得分(通过VNC自循环维护的屏幕缓冲区),并通过WebSocket通道将其传递给智能体。 我们的得分OCR模型发挥了作用。人类积分等级员提供了分数的上下界限。OCR模型以每秒60帧的速度解析分数。
浏览器任务
在人类集体的努力下,现在互联网已经被建设成一个关于信息的巨大宝藏,用于人类的视觉消费。Universe包含了给予浏览的环境,这些环境要求AI智能体能读、导航,像人类一样使用网站、显示器、键盘和鼠标。
目前,我们的智能体主要学习与常见的用户交互元素(如按钮,列表和滑块)进行交互,但是将来他们可以完成更复杂的任务,例如在互联网上查找他们不知道的事情,管理电子邮件或日历,完成Khan Academy课程,或者完成亚马逊Mechanical Turk 和CrowdFlower等任务。
Mini World of Bits
我们首先计划创建一个新的基准,能在一个简单的设定下,捕捉浏览器交互中的一个的一个显要难题。我们把这个基准称为Mini World of Bits.
我们认为这可以跟MNIST类比,并且认为,能够掌握这些环境为模型和训练技术提供了有价值的信息,这些技术将在整个网站和更复杂的任务上有良好的表现。我们最初的Mini World of Bits基准包括80个环境,从简单(例如,点击特定按钮)到困难(例如,在模拟电子邮件客户端中回复联系人)都有。
现实世界中的浏览任务。我们已经开始在更加具有现实意义的浏览任务上进行研究。智能体在获得一份说明书后,开始在网页上执行一系列任务。一个这样的环境交给智能体一个具体的任务:预定航班。要求其操纵用户界面以搜索航班。(我们使用这些网站的缓存记录,以避免发送垃圾邮件,或预订大量真实的航班)。
未来的融合
这种基础设施是通用的:我们可以集成任何可以在Docker容器(最方便)或Windows虚拟机(不太方便)中运行的游戏,网站或应用程序。我们希望获得整个研究社区的帮助,继续延伸Universe环境的广度,包括完成合作伙伴的游戏、Android应用程序(模拟器可以在Docker内部运行)、fold.it、Unity游戏、HTML5游戏、在线教育游戏等等,以及别人能想到的任何事。 微软的Malmo团队将与Universe集成,我们也期待着支持其他AI框架。
OpenAI研究员还在文章中表示,研究进步要求对其水平进行有实际意义的衡量。在接下来的几周内,他们将发布一个迁移学习基准,允许研究人员确定他们是否在机器的通用问题解决能力研究方面取得进展。
“Universe从计算机视觉ImageNet数据集的发展中获得灵感。李飞飞和她的合作者故意把ImageNet的基准设计为几乎不可能做到的,但图像识别的错误率从2010年的28%迅速下降到2016年的3%,达到(在某些情况下甚至超过)人类的水平。如果AI社区在Universe上也一样发展的话,那么我们在研究普适性的、通用的人工智能系统上,将会取得真正的进展。”
【编者按】本文转自新智元。文章来源:openai.com,编译:王楠、刘小芹、胡祥杰。
最后,记得关注微信公众号:镁客网(im2maker),更多干货在等你!
硬科技产业媒体
关注技术驱动创新