从征服围棋到《星际争霸2》,DeepMind究竟如何思考?

从征服围棋到《星际争霸2》,DeepMind究竟如何思考?
2019年07月27日 10:20 21世纪经济报道

原标题:从征服围棋到《星际争霸2》,DeepMind究竟如何思考? 来源:21世纪经济报道

每周一本书

让阅读,丰满人生

21君:任何足够先进的技术初看都与魔法无异。自动驾驶汽车已经在很多国家上路,网飞的算法能主动预测你喜欢的电影,DeepMind的计算机程序通关了雅达利游戏,AlphaGo在古老的围棋领域攻克了人类智能的防线。

这一切是如何发生的?智能机器究竟如何思考?

来源丨本文内容综合选自《智能机器如何思考》

编辑丨陈思;实习生 思纯

图片来源丨图虫创意

一个可以得心应手地玩《星际争霸》的机器人需要具备许多我们认为能够定义人类智能的品质,包括用有限的信息做出战略决策的能力,以及实时应对不可预见情况的能力。

题记

2016至2017年,谷歌DeepMind的AI AlphaGo横空出世,在围棋比赛中接连击败世界顶级围棋选手,点燃了人们对人工智能的热情。

2019年, DeepMind在推出AlphaGo之后,又把打造两年的AlphaStar推上历史的舞台,创造出第一个打败星际争霸2顶级职业选手的AI。

1月25日,暴雪与谷歌DeepMind团队合作研究的星际争霸人工智能“AlphaStar”通过直播亮相。在人类vs AlphaStar人工智能的共计11场比赛中,人类只取得了一场胜利。

虽然此前在像雅达利、马里奥、和Dota 2这样的电子游戏中,AI已经取得了巨大的成功,但直到现在,AI仍在努力应对星际争霸的复杂性。

设计出能够在星际争霸中取胜的AI面对了哪些困难?在AlphaGo的基础上更进一步,DeepMind 距离达到真正的“智能”还有多远?

一、AlphaGo仍有局限性

虽然AlphaGo表现出了类似人类的识别围棋盘面特征的能力,但它只能执行下围棋这项非常单一的任务。正如OpenAI的研究员唐杰所言:“AlphaGo不会决定去买个芝士汉堡,然后尝试接管世界。”

AlphaGo不打算接管世界的一个原因是,它的一切都依赖于人类,包括在棋盘上落子的能力。

除了在对弈过程中识别模式以及从这些模式中选择着法的神奇能力(毫无疑问,这些能力令人印象深刻),AlphaGo并没有展现出通常与人类智能相关的大多数能力。

它无法与瞬息万变的环境互动。除了在搜索树的上层汇总的统计数据外,它没有关于过去事件的记忆;

除了模拟它和它的对手如何走棋之外,它没有关于未来事件的概念。

AlphaGo的创造者与大多数自动机的创造者一样,他们设计它是为了解决一个狭窄领域的问题。AlphaGo是专门为下围棋而设计的,因此它只展现了下围棋所需要的能力。

考虑到人工智能界已经找到了战胜围棋世界冠军的方法,而围棋一直被认为是人工智能所面临的最困难的挑战之一,那么我们在人工智能领域要迎接的下一个重大挑战是什么?AlphaGo击败李世石后不久,DeepMind宣布了一个新项目。

下一个挑战是设计一个能够玩游戏的智能体,这个游戏要求该智能体具备更多通常与人类智能相关的品质:

在有时间限制的条件下做出决策的能力,寻找做出这些决策所需要的信息,并且在高层次(规划可能影响长期未来事件的行动)和低层次(做出闪电般迅速的反应,其影响会立即反馈)上共同做出这些决策。

DeepMind 希望构建一个可以玩即时战略游戏《星际争霸》的智能体。

二、为什么让AI

在星际争霸中取胜如此困难?

《星际争霸》是一款设定在26 世纪的战争游戏。就像国际象棋一样,每个玩家都指挥着一支由不同单位组成的军队,每种单位都有其优缺点。

与国际象棋不同,《星际争霸》是一款即时战略游戏。玩家不是轮流走子,而是在一个大的战斗区域内实时指挥自己军队的各个单位。军队之间的战斗残酷且节奏快,这给手快的玩家带来了优势。事实上,《星际争霸》的顶尖人类玩家操作键盘和鼠标的速度通常超过每秒5次。

《星际争霸》的另一个有趣之处在于,它要求每个玩家都要维持正常的经济运转。

为了发展自己的军队,玩家必须建造和升级不同类型的建筑。要建造和升级这些建筑,玩家必须从他们的环境中获取资源。要获得和保护建立这种经济所需的资源,往往需要武力。因此,强大的经济产生强大的军队,强大的军队造就强大的经济。

为了让游戏更加有趣,《星际争霸》中的“战场迷雾”掩盖了大部分游戏空间。玩家可以看到自己的单位或单位附近发生了什么,但是在环境地图上看不到自己的单位以外很远的地方。这意味着他们必须派出侦察兵或者找到其他方法来了解环境。

在国际象棋和围棋等策略游戏中,最优秀的智能体搜索数百万个游戏状态,并执行评价函数来查找最有可能带来成功结果的状态。

游戏搜索树的大小,以及智能体搜索它的能力取决于两个因素:树的每个层次的分支因子(智能体在给定时间内必须做出选择的走子选项的个数)和树的深度(智能体在一局游戏中需要走多少步棋)。

围棋的分支因子大约是250,《星际争霸》的分支因子远大于此。在任何给定时间,玩家可以选择移动一个或多个单位,可以升级或建造新的建筑。保守估计,游戏的分支因子大约为1 后面50个0 (这个数字非常大,因为玩家可以同时移动他们单位的任何子集)。

《星际争霸》的时长也比围棋要长得多,一盘职业围棋棋局大约持续150 步,而《星际争霸》是一款即时战略游戏。一局典型的25 分钟的《星际争霸》大约有36 000个动作。

这意味着一局典型的《星际争霸》游戏的搜索空间大约是一盘典型围棋棋局的101 799 640倍。

为了使游戏更具挑战性,《星际争霸》玩家因为战场迷雾而仅拥有不完整的信息,因此国际象棋或围棋中使用的传统搜索方法不适用于《星际争霸》。

换言之,《星际争霸》对人工智能领域提出了巨大的挑战。

一个可以得心应手地玩《星际争霸》的机器人需要具备许多我们认为能够定义人类智能的品质,包括用有限的信息做出战略决策的能力,以及实时应对不可预见情况的能力。

纽芬兰纪念大学的计算机科学教授戴维·邱吉尔(David Churchill)称这是游戏人工智能研究的“巅峰”。

三、通过简化游戏建立架构

让《星际争霸》机器人会玩游戏的唯一微乎其微的机会在于,把它们需要执行的任务分解成可管理的组块。关于这些组块应该是什么的一些核心思想来自对职业人类玩家如何玩游戏的仔细分析。

图中所示的架构中,最左侧是智能体与环境交互所经过的层。目前为止,大多数《星际争霸》机器人都通过BWAPI (BroodWar应用程序编程接口)与它们的虚拟环境进行交互。

对《星际争霸》机器人而言,这个传感和驱动层为机器人提供了一种通过编程与游戏本身进行交互的方式。

中间层是感知和环境建模层,用于为智能体追踪军事情报:它总结智能体搜集到的关于环境的信息,包括对手的基地、游戏中的单位和整个地图的信息。

不同的机器人对这一层的重视程度不同。

机器人的“智能”行为来自架构最右边的部分,我们可以将其分为三个层次。

在顶层,这些机器人推理战略:机器人应该建造哪些建筑,应该升级哪些建筑,以及应该在什么时候做这些事情。这类战略决策需要提前几十分钟进行规划,并会对游戏产生直接的长期影响,因为科技树(即建筑及其升级)将直接影响机器人的军队在游戏后期的组成和优劣。

在略低的层次上,机器人会推理战术,这涉及提前30秒到1 分钟的计划:智能体应该把它的建筑建在哪里?应该何时出兵到何处作战?

在这三个层次中最低的是反应层,它要求在几秒钟内做出规划和反应。

馈送到这三个层次的是来自军事情报层的关于环境的信息。

四、设计实用型《星际争霸》机器人

在设计《星际争霸》机器人方面,还有什么方法卓有成效呢?

许多顶级《星际争霸》机器人的开发者都遵循实用主义理念,用能够赢得游戏的策略来编程他们的机器人,即便这意味着他们并没有创造出我们认为智能的机器人。例如,一些机器人被编程为遵循简单的rush策略,这意味着他们会建立一支由弱小的战斗单位组成的小型军队,在对手建立防御之前发动攻击。

这类rush策略是合法的策略,职业人类玩家会使用各种各样的rush策略。但要做到这一点,需要智能体遵循一套简单的规则,完全不考虑任何长期策略,然而实施这些策略的机器人仍然远远不能战胜人类职业玩家。

邱吉尔利用人工智能领域的各种工具,设计了一个更复杂、更成功的《星际争霸》机器人。但即使是这款叫UAlbertaBot的机器人,有时也会输给那些使用rush策略的机器人。

如果以前玩过这类游戏,你肯定对战过计算机。

所以你可能会想:如果创建玩《星际争霸》这类游戏的机器人如此困难,为什么计算机还是如此难以战胜?

邱吉尔对此并不赞同。他解释说:“因为即时战略人工智能很难变得智能。而现实游戏中的机器人经常作弊,以显得比实际更强。”

你从市场上买来的软件中的机器人的目标是为人类玩家提供有趣且有吸引力的体验,这并不是客观上的优秀。

例如,在某些情况下,计算机可以看到整个游戏地图,没有战场迷雾。机器人可能会派侦察兵四处侦察,让人觉得它并没有完全看到战场,但这只是把戏而已。

它们的策略同样简单:例如,在给定的层次上,计算机可能有一个脚本化的(即预定义的)构建树,其中包含非常简单的规则来处理异常。

事实上,脚本化的构建规则甚至在“优秀”的机器人中也很常见。

当邱吉尔和他的合作者创建UAlbertaBot时,他们首先构建了框架,用简单的脚本化规则填充其不同的组件,如战略层、战术层和反应层。

然后,一旦框架就位,他们就可以继续改进各个组件,用可以探索开发科技树的最佳顺序的组件取代脚本化的“生产模块”(在这方面这些组件已经超过了人类),用复杂的战斗模拟系统取代他们的“战斗指挥官”等。

五、DeepMind加入战局

为了看到《星际争霸》机器人的发展方向,让我们回到DeepMind的创始人杰米斯·哈萨比斯。

虽然杰米斯加入《星际争霸》机器人领域比较晚, 但在创立DeepMind之前,他就对这款游戏产生了兴趣。杰米斯发现他的一位同事是一名《星际争霸》高手玩家,于是对这位同事屡战屡胜的能力非常着迷。另一位同事回忆说:

杰米斯想要战胜这个家伙。他每晚都把自己和那个家伙锁在一个房间里。他会为那个家伙设置障碍,让他在没有鼠标或单手的情况下玩游戏,这样便可以准确地分析他的哪些操作让他变得出色。这有点像一个人走上拳击台被揍了一顿,然后他每晚都回来挨揍。这显示了他令人难以置信的求胜欲望。

最近,杰米斯将DeepMind的一些工作转向了开发具有竞争力的《星际争霸》机器人。DeepMind和《星际争霸》背后的暴雪公司(Blizzard)宣布了一项合作,两家公司将开发并发布一个供机器人玩《星际争霸2》的官方界面,以及一个让开发者创建自己的“课程”的环境,从而让机器人以更有条理的方式学习。

六、《星际争霸》不是终点

攻克《星际争霸》,是否意味着我们就能攻克智能?答案很简单,不能。《星际争霸》并没有涉及人类智能的许多方面,包括人类从全新的、非结构化的环境中理解并得出结论的能力。

几位著名的人工智能研究人员在最早的一篇关于计算机国际象棋的论文中写道:“如果一个人能设计出一台成功的国际象棋机器,那么他似乎就潜入了人类努力的核心。”

而现在距离我们设计出成功的国际象棋机器已经过去了20 年,但我们仍然不清楚我们是否比“深蓝”战胜加里·卡斯帕罗夫之前更接近“人类努力的核心”。

同样的粗略评估也适用于计算机围棋和《星际争霸》机器人。创造出能够高水平地玩《星际争霸》的机器人可能是一个同样引人注目却很狭隘的结果。

然而,我们在这个过程中获得的工具和架构—新的搜索算法、新的感知算法和新的强化学习算法,将是更重要的成就。

正因为如此,作为谷歌前工程专家,普林斯顿大学的机器学习博士,肖恩·格里什希望将机器学习在过去20年成功背后的工作原理和实现细节向大众分享。

赠书福利

在《智能机器如何思考》一书中,作者向所有对科学技术感兴趣的读者展示了人工智能领域的前沿成果,深入解读了感知算法、强化学习、智能体、卷积神经网络、深度语言识别、图片识别等科技巨头纷纷拥抱的概念。

它向我们阐释了这些智能机器究竟是如何感知和思考的,并描绘了我们终将与这些智能体共处的未来。无论是否具有这一领域的专业知识,掌握这些概念,你才能更好地判断,哪些关于人工智能的言论值得相信,哪些说得天花乱坠的谬论应该被抛弃,这本书将助力你的AI创业与投资之路。

《智能机器如何思考》

作者:【美】肖恩·格里什(Sean Gerrish)

译者:张羿

出版社:中信出版集团

现在,21君给大家谋福利啦,免费送书!

如何获得?

在本期周末读书下面留言,获得点赞数前2名(点赞数需不少于50)的读者将获得赠书一本,同时,21君会在前二名以外挑选部分留言走心的读者,也免费赠送《智能机器如何思考》一本。

为了给读者提供更多的机会,每四期连续赠书的活动中,同一读者只能获奖1次(同一微信ID、手机号、地址均视为同一读者)

我们将在明晚的夜读中公布获奖名单哟~获得赠书的小伙伴记得按照时间留下你的地址,逾时不候喔~(所以点赞前2的截止时间是7月28日20:00-21:00之间哟~注:准确的时间以21君的截图为准;如遇突发新闻也有可能提前截图。)

21君

小伙伴们,在当今人工智能的发展背景下,你对人工智能有什么样的了解呢?对于作者讨论的人工智能发展状况,你怎么看?

和我们聊聊你的看法吧~

DeepMind 机器人

热门推荐

收起
新浪财经公众号
新浪财经公众号

24小时滚动播报最新的财经资讯和视频,更多粉丝福利扫描二维码关注(sinafinance)

7X24小时

  • 07-31 微芯生物 688321 --
  • 07-31 海星股份 603115 --
  • 07-30 青鸟消防 002960 --
  • 07-29 晶晨股份 688099 38.5
  • 07-29 柏楚电子 688188 68.58
  • 股市直播

    • 图文直播间
    • 视频直播间