谷歌DeepMind Lab开源,全部信息都在这了(附中文版论文)
【AI世代编者按】全世界的人工智能(AI)研究人员很快就能使用DeepMind的旗舰平台,来开发能够自主学习和思考的创新性计算机系统了。
DeepMind是 谷歌 ( 微博 )2014年以4亿英镑收购的人工智能部门,目前正在打造一系列能够自主学习和思考的智能计算机系统。DeepMind近日宣布,将其AI 核心平台“DeepMind Lab”开源,供研究人员和开发者进行实验和研究。
关注“AI世代”(tencentAI),回复“DeepMind”,可获得该论文中文PDF版 下载 。
DeepMind称,DeepMind Lab是一个类似于3D游戏的平台,专为基于智能体(Agent,即虚拟代理)的AI研究而定制。
DeepMind创建于2010年,致力于研发AI智能体。其所开发的AI智能体能够熟练操控许多街机游戏,如《 太空 入侵者》(Space Invaders)和《吃豆人》(Pac-Man)等。近期,又在复杂的围棋比赛中战胜了世界高手李世石。
对于DeepMind Lab,DeepMind联合创始人谢恩·莱格(Shane Legg)和其他几名员工在一篇博客文章中称:“它从自己的视角,通过模拟智能体的眼睛进行观察。它以丰富的科幻视觉来呈现场景。可用的操作能让智能体环顾四周,并以3D的形式移动。智能体的外形是一个悬浮的球体,它的悬浮和移动是通过激活与期望运动方向相反的推动器来实现。它还拥有一个摄像头,能观察其旋转时的动作。”
“示例任务包括收集水果、走迷宫、穿越危险的通道且要避免从悬崖上坠落、使用发射台在平台间移动、玩激光笔、以及快速学习并记住随机生成的环境。”
DeepMind Lab将几个不同的AI研究领域整合到一个环境下,以方便研究人员测试AI智能体的导航、记忆和3D视觉等能力,以及在计划和策略方面的表现。
DeepMind在博客中称:“这里的每个任务都被视为处于前沿的研究问题。我们把它们放在一个平台上,代表了这个领域的一个重要的新挑战。”
DeepMind Lab具有较高的适应性,并且可扩展。它包括一个可编程的关卡生成(level creation)界面,可根据玩游戏的逻辑、拾起物体、特定观察、关卡重玩、奖励机制、游戏内消息生成定制化关卡。
DeepMind称:“我们相信,它已经对我们在多方面智能(包括自然智能和人工智能)的理解上,产生了重大影响。但是,我们目前的努力还只挖掘出DeepMind Lab潜力的一小部分。对于一些目前尚未涉及、但可以在DeepMind Lab上有所作为的研究领域,仍有许多重大发现的机遇,如导航、记忆和探索。”
Deepmind表示,将把DeepMind Lab平台的全部代码上传至Github(一个面向开源及私有软件项目的托管平台),供研究人员和开发者进行实验和研究。
以下为DeepMind在公司网站上发布的关于DeepMind Lab的学术论文(回复“DeepMind”,可获得该论文中文PDF版下载):
摘要
DeepMind Lab是一个第一人称3D游戏平台,专门为研究通用人工智能和机器学习系统而设计。DeepMind Lab可用于研究自动代理如何在大型、部分可视、视觉多样化的环境中学会执行复杂任务。DeepMind Lab有一个简单灵活的API,可用于探索创造性的任务设计和全新的AI设计,并快速迭代。它由一个快速且被广泛认可的游戏引擎所驱动,并针对开发者社区的高效利用进行了定制。
介绍
通用智能(GI)衡量一个智能体(agent,即虚拟代理)在各种环境下实现目标的能力。当前在自然世界中已知的唯一通用智能的例子就是动物。动物在基于物理和感官的条件下,通过演化、发育、学习产生了智能。而人类和其他动物的智能在很大程度上可能是因为所处环境的多样性所导致的结果,没有这种环境,智能可能无法产生。其中一个选择就是直接研究物理世界中的机器人的具体化智能(EI),但这方面的研究通常会遇到一些因素的阻碍,如时间过得太慢,相关的硬件成本太高。另一个选择就是研究逼真的虚拟世界,这样上述两个阻力都能得到解决。
之前,创建逼真的虚拟世界以作为AI研究平台的工作受到了巨大的工程(engineering)量的阻碍。这一次,为解决该问题,我们推出了DeepMind Lab。DeepMind Lab是一个第一人称3D游戏平台,建立在游戏开发商id software公司的《雷神之锤3:竞技场》(Quake III:Arena)游戏引擎之上。
它以丰富的科幻视觉来呈现场景。可用的操作能让智能体环顾四周,并以3D的形式移动。示例任务包括收集水果、走迷宫、穿越危险的通道且要避免从悬崖上坠落、使用发射台在平台间移动、玩激光笔、以及快速学习并记住随机生成的环境。DeepMind Lab已经成为DeepMind内部的一个主要研究平台。例如,它被用于开发强化学习的异步方法、无监督的辅助工作,以及学习导航等。
人们可能会将DeepMind Lab与其他游戏AI研究平台(强调“像素到行动”的自主学习智能体)相比较。例如,DeepMind之前使用的“街机学习环境”(Arcade Learning Environment)既不是3D,也不是第一人称。而在3D AI研究平台中,DeepMind Lab不仅能与VizDoom和Minecraft等平台相提并论,还拥有比这些平台更强大的功能。例如,DeepMind Lab拥有更丰富的视觉效果和更自然的物理效果。
DeepMind Lab的人工通用智能(AGI)研究主要强调原始像素输入(raw pixel inputs)、第一人称视角、运动控制、导航、规划、策略、时间,完全自主的智能体必须通过探索周围环境自主学习要执行什么任务。所有这些因素都使得学习变得非常困难。这里的每个任务都被视为处于前沿的研究问题。我们把它们放在一个平台上,代表了这个领域的一个重要的新挑战。
DeepMind Lab研究平台
DeepMind Lab建立在游戏开发商id software公司的《雷神之锤3:竞技场》(Quake III:Arena)游戏引擎之上。DeepMind Lab还包含一些工具,主要来自q3map2(GtkRadiant,关卡编辑器)和bspc(bspc,关卡编辑器),用于关卡生成(level generation)。机器人(bot)脚本基于OpenArena项目(《雷神之锤3:竞技场》的开源内容包)代码。
针对机器学习定制
我们创建了一套定制化资产,让DeepMind Lab别具风格,与众不同。
它尤其专注于丰富的视觉效果,针对机器学习而定制。
经过强化的API建立在游戏引擎之上,提供具有复杂观察能力、能承受一系列动作的智能体(agent)。
与平台的互动采取“锁步”(lock-stepped,前锁、后锁或旁锁等)方式。根据用户制定的帧率,引擎每次向前走一步(虚拟模拟。如果需要,可以通过重复动作向前走多步)。这样,在提供一个观察之后,游戏就会暂停,直至智能体给出下一步动作命令。
图1:提供给代理的观察。在我们的实验中,奖励和像素足以用来训练一个智能体,而深度和速度信息可用于进一步的分析。
观察
每一步,引擎都会提供基于奖励和像素的观察,而速度信息是可选的。
1.奖励信号的标量值,也就是每一关(游戏)的分数。
2.平台提供对原始像素(由游戏引擎从玩家的第一人称视角而提供)的访问,格式为RGB像素。当然也有RGBD格式,后者提供了像素的深度信息。
3.对于特定的研究应用,智能体的平移和角速度信息会提供更多帮助。 这些信息将作为两个独立的3D矢量形式存在。
动作
智能体可提供多种模拟动作来控制运动(向前/向后、向左/向右开炮、蹲、跳)、观看(上/下、左/右)和标记(激光标记关卡),见图2。
图2:动作空间包括3D运动和两轴观察
示例关卡
图7和8展示了智能体的第一人称视角截屏。关卡可分为四类:
1.基于静态地图的简单的水果收集关卡。这些关卡的任务就是收集 苹果 和瓜类,但要避开柠檬。
2.基于静态地图布局的导航关卡。这些关卡的任务是测试智能体在迷宫中寻找出路的能力。
3.程序生成的导航关卡,需要探索由程序随机生成的新迷宫。这些关卡旨在考验智能体探索新环境的能力。
4.激光标记关卡,需要智能体使用像激光一样的科幻工具来标记由游戏内置AI所控制的机器人(bot)。
图3:静态迷宫关卡的“自上而下”视图。
技术细节
最初的游戏引擎使用C语言编写,以确保其兼容性(引擎未来变化),只会在必要时做出修改。而DeepMind Lab提供一套简单的C API,并提供了Python(编程语言)的动态关联(binding)。
该平台包含一个广泛的关卡API,使用Lua编写,可用于定制关卡。这种方法使该平台变得高度灵活,只需要对原始游戏引擎进行最低限度的修改。
DeepMind Lab支持Linux,并在多个主要分发平台上进行了测试。
面向智能体和人类的API
DeepMind Lab可以窗口形式运行,但也支持非窗口环境,如远程终端。渲染使用OpenGL,既可以使用GPU渲染,也可以使用软件渲染工具。
一个DeepMind Lab范例是,使用用户设定启动项目,如关卡名称、屏幕分辨率和帧率。项目启动后,使用简单的RL类型API与环境互动,见图4。
图4: Python API示例
关卡生成
DeepMind Lab关卡使用的是《雷神之锤3:竞技场》的关卡。它们被打包到:pk3文件(ZIP文件)中,包含许多组件, 如关卡几何图形、导航信息和纹理(贴图)等。
DeepMind Lab包含一些工具,可通过:map文件生成地图。手动编辑自然费力费时,但可以使用许多免费的编辑器,如GtkRadiant。除了内置和用户提供的关卡,DeepMind Lab还提供“文本关卡”(Text Level),即一些简单、人类可读的文本文件,用来指定墙壁、重生点(游戏中玩家重生的地点)和其他游戏机制,见图5。图6就是一个生成后的关卡渲染图。
图5:文本关卡示例,‘*’代表“墙壁”,‘P’是一个“重生点”, ‘H’和‘I’代表“门”。
图6:图5中的“文本关卡”所代表的关卡渲染图。
对于基于Lua的关卡API,每一个关卡都可以根据玩游戏的逻辑、拾起物体、特定观察、关卡重玩、奖励机制、游戏内消息等进行定制。
效果和性能
下图中的表1和2展示了DeepMind Lab内置的两个典型关卡、在不同分辨率下的表现。表中所列出的帧率是通过连接到一个智能体(正通过Python API执行任意动作)后计算出的。
计算环境为:Linux台式机,基于 英特尔 6核3.50GHz至强处理器和NVIDIA Quadro K600 GPU。
表1: 帧率(帧/秒),nav_maze_static_01关卡(即前文所述的四类关卡中的第二类:基于静态地图布局的导航关卡)
表2: 帧率(帧/秒),lt_space_bounce_hard关卡(即前文所述的四类关卡中的第四类:激光标记关卡)
总结:
DeepMind Lab可以对拥有丰富科幻视觉的3D环境进行研究,它能推动创新性任务的开发。我们还能通过DeepMind Lab建立一系列广泛的环境、任务和智能测试。将来,我们也期待开发者社区能推出更多的应用。(编译/谭燃)
推荐:人工智能汹涌而来,未来已变!关注“AI世代”微信号(tencentAI),关注未来。