用游戏测试人工智能,盘点三大开源3D测试环境

《我的世界》对于José
Hernández-Orallo而言并不陌生,他是一名计算机科学家,正在使用这款游戏进行自己的研究。他在瓦伦西亚理工大学的研究团队设计了一种测试机器智能性能的基准,这种方法的设计灵感来源于他看到自己的孩子在3D虚拟世界中游戏的情形。在《我的世界》中,玩家通常需要通过互动解决问题,而不是射杀怪物。

《我的世界》是一款风靡全球的游戏,现在科研人员们正在使用它来测试人工智能

2014年,微软购买了《我的世界》的所有权,这家科技巨头的研究机构——微软研究院随后在此之上设计了一个用于科研的新版本,让计算机程序和科学家们可以探索和自定义游戏中的3D环境。随后,微软邀请了包括Hernández-Orallo在内的一些外部研究人员下载了这个机器友好版本的《我的世界》。从2015年7月起,微软将其完全开放,现在任何人都可以免费使用它,微软希望以此加快人工智能领域的研究速度。

人工智能在各种游戏中的研究最近变得非常火爆,很多公司正像微软一样在游戏中投入研究力量。12月3日,DeepMind开放了自己的3D虚拟世界程序DeepMind

Lab,供所有开发人员下载和自定义使用。这家谷歌下属公司设计的虚拟环境一开始被用于训练自己的人工智能程序。仅仅两天以后,OpenAI发布了一个「元平台」允许人工智能程序在其中与最初为人类玩家设计的十几款3D游戏互动,另外,这个环境还包含了一些网络浏览器与手机app。

这三个工具让研究人员与软件开发者们可以轻松地开展自己的实验,测试程序在遇到前所未见的问题时如何进行解决,同时可以帮助程序在类似真实场景的环境中进行自我训练。「这样的虚拟环境将会为人工智能的发展奠定基础,」西雅图华盛顿大学的机器学习研究者Pedro
Domingos说道。

DeepMind Lab,一开始被用于训练谷歌自己的人工智能程序,现在已经向所有开发者开放

Atari算法

人工智能是各种视频游戏的老玩家,但在早期,每个用于通关的算法都是特殊定制的。近年来,人们的研究重点开始转向于使用机器学习让程序自我积累经验。在2015年上半年,DeepMind推出的算法在Atari游戏中拥有了超越人类玩家的水平,算法通过不断试错来获得游戏高分,设计者并没有告诉程序每个游戏的目标是什么。

Atari游戏仅仅是2D世界而已。像《我的世界》这样的「第一人称」3D 视频游戏可以让玩家置身于一个充满立体感的环境中,相比前者更接近于真实世界,因此吸引了更多研究者的目光。

在《我的世界》中,玩家可以和虚拟世界中的砖块互动,使用它们盖房子,同时也可以探索路线,和游戏世界中的其他内容展开交互。面向开发者的版本被称为Malmo,允许机器算法像人类玩家一样在游戏中进行探索。Hernández-Orallo
正在使用Malmo
来探究虚拟环境是否可用于创建机器智能的基准。不同算法可以相互竞争,看看哪一个可以将砖块搭建成某个物体的形状,或者比较它们在同一个迷宫中寻路所需的时间,这种测试的涵盖面相比图灵测试——机器智能最有名的测试方式——要广泛的多。

让《我的世界》吸引人工智能学者们的另一个原因是,在游戏中玩家们可以打字互相交流。「这可以帮助专家们研究人工智能在现实世界中与人类互动的情况,」微软研究院的科学家Katja Hofmann 说道,她在英国剑桥领导着开发Malmo 的团队。

目前约有100个研究机构正在使用Malmo 3D 世界,它由微软研究院开发,用于人工智能研究

训练机器人

「虚拟世界的人工智能训练对于机器人的发展大有益处,」Hofmann 说道。「因为虚拟环境的定制成本很低,定制速度和安全性也有保障。虚拟环境也可以让机器人研究者们专注于解决机器人的智能问题——机械的问题有时的确令人分心。」

除了Hernández-Orallo 以外,微软研究院还与不少其他研究机构合作开展了一系列Malmo 项目。Hofmann 认为真实的用户数量不止于此,也许有100家。

Malmo 平台包括Java 版本的模块,以及帮助智能体在 Minecraft 环境中感知和操作的代码。这两个组件可以在 Windows,Linux 或 Mac OS 上运行。

DeepMind Lab 和 Malmo 类似,也允许研究者创建迷宫,让不同算法学习如何寻路,获得奖励。DeepMind
正在尝试将「更自然的元素」(如起伏的地形和植物)整加入到这个虚拟世界中。目前这个3D 环境已经开源,DeepMind
希望在其他研究者的帮助下,这个平台能够更加复杂,从而训练更聪明的训练算法。「通过开源,我们可以让所有人参与进来,不断改进这个项目,」DeepMind
的一位发言人说道。

OpenAI 的元平台,Universe,相比前两个3D
世界则更进一步。通过为同一个人工智能程序提供多种不同类型的环境,这一平台或许可以解决领域内最棘手的问题:如何创建一个可以解决任何新问题的算法。目前的深度神经网络——通过模仿脑细胞和视觉皮质层的结构创建的计算机系统——可以快速学会在3D

迷宫中寻路,但同样一个系统却无法将自己学会的方法用于在其他迷宫中导航。「你仅仅改变一下迷宫的颜色,系统就会迷失其中了,」Hernández-Orallo
说道。「这就是目前最先进的技术,令人哭笑不得。」

看来,人工智能的发展还有很长的路要走。目前微软现在正努力让 Malmo 可以在 Universe 中使用。「拥有一个社区平台将使所有人从中受益,」OpenAI 的共同创始人,首席技术官 Greg Brockman 说道。

作者:机器之心

来源:51CTO

时间: 2024-10-28 09:09:45

用游戏测试人工智能,盘点三大开源3D测试环境的相关文章

三大开源云平台的堆栈之争

OpenStack拥有极高的人气,CloudStack拥有充裕的资金,Eucalyptus则与亚马逊建立了紧密的关系. 由Rackspace与美国宇航局(NASA)在2010年联合创建的OpenStack无疑拥有极高的人气.目前其已经与AT&T.IBM.惠普等巨头建立了合作伙伴关系,这些巨头都承诺将OpenStack作为自己的私有云解决方案的基础. 另一开源云平台CloudStack则宣称,自从思杰在2012年4月份将代码(注:思杰在2011年以2亿美元收购了Cloud.com公司,并获得了该技

2014非常好用的开源Android测试工具

当前有很大的趋势是转向移动应用平台,Android 是最广泛使用的移动操作系统,2014 年大约占 80% 以上的市场.在开发 Android 应用的时候要进行测试,现在市场上有大量的测试工具. 本文主要是展示一系列的开源 Android 测试工具.每个工具都会有相应的简短介绍,还有一些相关的资源.Android 测试工具列表是按照字母来排序的,最后还会介绍几个不是特别活跃的 Android 测试相关的开源项目. 本文提到的开源 Android 软件测试工具包括:Android Test Kit

2014 非常好用的开源 Android 测试工具

当前有很大的趋势是转向移动应用平台,Android 是最广泛使用的移动操作系统,2014 年大约占 80% 以上的市场.在开发 Android 应用的时候要进行测试,现在市场上有大量的测试工具. 本文主要是展示一系列的开源 Android 测试工具.每个工具都会有相应的简短介绍,还有一些相关的资源.Android 测试工具列表是按照字母来排序的,最后还会介绍几个不是特别活跃的 Android 测试相关的开源项目. 本文提到的开源 Android 软件测试工具包括:Android Test Kit

电缆测试仪测试参数详解:布线测试基础知识

目前应用最多的网络布线系统就是使用双绞线的布线系统,其中主流的选择是 超5 类或更高的性能的系统. 对于布线系统来说,安装人员进行的最最基本的测试就是使用连通性测试仪验 证链路端到端的连接.这些测试仪提供完整的接线图测试,使用TDR 技术测量长 度以及其他一些附加信息.这类仪器对于测试语音线路,快速检查数据链路以及 高速增长的住宅局域网布线市场是非常有帮助的. 用于布线系统验收的测试标准要求测量几个重要的电气参数以便于认证布线系 统满足一定的传输性能要求.有的测试在全世界范围内都是要进行的.每个

ios-IOS本地SQLite数据库,虚拟测试可以读取,真机测试连接不上

问题描述 IOS本地SQLite数据库,虚拟测试可以读取,真机测试连接不上 RT,项目用的本地数据库文件,转存到沙盒中读取,在虚拟机上运行可以,真机调试时候连接不上,求解 还有就是打包项目时候怎么把数据库也一起打包进去? 解决方案 问题已经解决,是因为Xcode不能直接存文件到真机上的沙盒,但可以操作真机去读取项目里的文件,我改了下数据来源就可以了

5G第二阶段测试年底收官 第三阶段测试明年一季度启动

11月15日消息,在"2017未来信息通信技术国际研讨会"上,IMT-2020(5G)推进组无线技术工作组组长魏克军表示,5G第二阶段测试工作今年年底收官:从明年第一季度开始,工作组会启动5G第三阶段测试工作,测试内容主要包括5G新空口的基站设备.核心网设备.芯片终端以及互操作等,此外还会验证单系统的组网性能以及高低频的多基站的混合组网性能测试. 据了解,第三阶段会基于3GPPR15的版本,对5G的预商用设备开展验证,测试内容可以涵盖单站的测试和多基站组网的测试.目前IMT-2020(

【以太坊】ubuntu安装以太坊ethereum的测试网络ropsten-net以及雷电网络raiden-network环境

ubuntu安装以太坊ethereum的测试网络ropsten-net以及雷电网络raiden-network环境 前言 为了保证环境稳定,我从头开了一个虚拟机. 环境如下 xiaoyu@xiaoyu-Parallels-Virtual-Platform:~$ uname -a Linux xiaoyu-Parallels-Virtual-Platform 4.10.0-28-generic #32~16.04.2-Ubuntu SMP Thu Jul 20 10:19:48 UTC 2017

探索性测试(四):探索性测试并不是快速测试

快速测试也是一种测试的方法,它既可以照本宣科的进行,亦可以探索的方式进行.尽管一个使用高度探索性方法进行测试的测试员可能会执行很多快速测试,而快速测试也通常是运用探索性测试方法时的重要因素.但是,快速测试和探索性测试并不是一样的. 快速测试是需要少量时间或一点精力去准备和执行的廉价测试.这类测试甚至不需要具备与待测试的应用程序相关的大量知识或相关的业务领域知识,但它们有助于快速地获取新的信息.快速测试不是强调广泛和完整,它的目的是用最低的成本快速揭示信息. 快速测试是了解产品.识别区域风险及薄弱

《Android应用开发攻略》——3.4 用基于云的测试在多种设备上进行测试

3.4 用基于云的测试在多种设备上进行测试 Ian Darwin3.4.1 问题 你需要在多种设备上测试你的应用.3.4.2 解决方案 使用多种基于Web或者基于云的测试服务.3.4.3 讨论 在Android刚刚出现时,你可能拥有所有类型的设备,你可以在所有设备上测试应用.我有半打用于这一目的的Android设备,其中大部分都已经过时.但是,今天要测试的设备有数百种,其中有些设备还有两三种不同的OS版本,不同的小区无线网络(cell radio)等.对于开发人员来说,拥有足够的设备来测试是不切