社会焦点

阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

字号+ 作者: 来源: 2017-05-23

阿里巴巴为什么要选择星际争霸作为AI算法研究环境?,星际争霸ai增强补丁,五子棋ai算法,1.18星际争霸重制版,阿里巴巴算法工程师,随身带着星际争霸txt下载

  阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

  作者|龙海涛

  编辑|AI 前线

  阿里巴巴为什么选择星际争霸作为人工智能算法研究的环境?星际争霸中算法研究的基本问题和难点是哪些?深度强化学习和多智能体协作的思路和方法又是怎样的?

注:本文首发于 InfoQ 旗下垂直号:AI 前线,ID:ai-front,推荐关注!本文整理自阿里巴巴认知计算实验室技术专家龙海涛在 QCon 北京 2017 上所做演讲:《星际争霸与人工智能》。

  写在前面

《星际争霸》一直是游戏玩家心目中即时战略类的经典之作,历时十多年而不衰。而如今它更成为深度强化学习、人工智能算法研究的一个主要平台和工具。因为其蕴含了多智能体协作、多任务学习、宏观策略规划等复杂问题,一旦取得部分突破和进展,对商业和社会发展都会带来极大影响。如国外的 DeepMind、Facebook 等公司相继投入大量人力基于它进行通用人工智能的研究。

在本次演讲中,我们将介绍阿里巴巴如何在《星际争霸》游戏环境中研究人工智能算法,并重点阐述多智能体协作在微观战斗场景中的应用。

  演示视频

我是来自阿里巴巴认知计算实验室的龙海涛,今天主要跟大家聊一下“《星际争霸》与人工智能”的话题。首先我会介绍一下为什么我们会选择《星际争霸》这个游戏来做人工智能前沿性的研究,然后是我们在这方面初步的尝试和成果,最后我会跟大家探讨一下,未来我们在《星际争霸》这个游戏里面还可以继续去研究的一些课题。

  为什么选择《星际争霸》?

阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

首先可能大家有疑问,为什么选择《星际争霸》这个游戏来做我们 AI 研究的一个平台。我们这个认知计算实验室目前是挂靠在搜索事业部下面,我们团队的成员基本都是做搜索、广告、推荐、算法这样的背景,之前我们主要做的是 CTR 预估的优化,还有 CVR 转化率的一些优化,从去年“双 11”之后,我们想在认知智能方面做一些前沿性的探索,我们一致认为游戏是一个研究 AI 算法的绝佳平台,首先它是非常干净的平台,可以源源不断的去产生数据,而且迭代非常快,就是说它的智能是可以观测到的。

另外,它离真实的场景和应用是比较近的,并且《星际争霸》十多年来就是一个非常好的受大家欢迎的游戏,积累了非常非常多的数据,这样我们可以从之前的经验去学习,这也是我们考虑的一个方面。最重要的,它对 AI 来讲存在着非常大的挑战,非常复杂,主要有以下六点:

  第一点,它是一个不完全信息下的环境

阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

比起像围棋或者象棋这种大家都可能看得见的、完全信息下的博弈,《星际争霸》是有战争迷雾的,所以必须去探路、侦查、了解对手的信息,从而在不确定的情况下去做智能的决策,这个是相对其他游戏来讲非常不同或者挑战更大的一个方面。

  第二点,它有非常巨大的搜索空间

围棋的搜索空间大概在 10^170,《星际争霸》在 128×128 的地图上并且人口上限是 400 个 unit 的情况下,它的搜索空间大概在 10^1685,比围棋高 10 个数量级,这还是在没有算上其他状态(比如说血量等等)的情况下。所以现有的任意一个单一的算法是根本不可能解决《星际争霸》里面所有的问题的。

  第三点,它是一个即时对抗类的游戏

下围棋可以有一分钟或者两分钟的思考时间,但是在《星际争霸》里,如果说正常游戏大概是 1 秒钟 24 帧,那么你必须在 42 毫秒之内做出迅速的反应,而且这个反应不是一个 action,而是一系列的 action,每个 unit 都会采取行动,这对我们算法的性能、效率、工程上的考虑都是非常大的挑战。

  第四点,它需要智能体有一个长期的规划

不是一个下意识的动作,是需要有记忆,需要考虑这场战争应该采取什么样的策略,中盘应该怎么考虑,发展到后期又应该采取什么样的策略,而且这个策略的计划是根据侦查到的所有的信息动态去调整,这对人工智能的挑战是非常非常大的。

  第五点,时间、空间上的推理

在《星际争霸》里面要玩好的话,必须基于时序上、空间上去做推理,比如说地理位置的优势,坦克如果架在哪里可能会比较好,如果开分机在哪个位置去开会比较有利,甚至于军营造在什么地方,这些对于 AI 来说都需要进行一个空间上的推理。

  第六点,多个智能体协作

《星际争霸》最高有 400 个 unit,所以其实是需要多个智能体协作的,需要多个兵种去配合,这也是对 AI 来讲一个很大的挑战。

阿里巴巴为什么要选择星际争霸作为AI算法研究环境?

《星际争霸》里面 AI 的研究或者竞赛不是最近才出现的,其实在 2010 年的时候已经有大量的研究人员在研究《星际争霸》里面的 AI,主要是以 ALBERTA 大学为主的研究力量,包括一些老师和学生,而且有三个固定的竞赛和一些循环赛,大家在上面 PK。这一类 AI 的话是 Classic AI,也就是没有学习能力、没有模型、也不需要训练,而是基于预编程的规则,所以不是非常灵活,这种算法下的 AI 其实离真正超过人类或者打败人类目标还是非常非常远的,它们可以打败内置的 AI,但是还远远比不上人类的专业选手,甚至连普通选手基本上也打不过。

另外一类是 Modern AI,也就是以智能体自主学习为主的算法,从去年开始这个领域火起来了,一方面就是,阿里巴巴还有伦敦大学学院,最近我们在合作的基于《星际争霸 1》里面做一些新的 AI 的尝试。

另外就是 Google Deep Mind,去年 11 月份他们和暴雪合作,会基于《星际争霸 2》去开放一个 API,让大家基于《星际争霸 2》上开发自己的 AI 算法,另外像 Facebook 他们也有一些团队做这方面的研究。

转载请注明出处。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章