设为书签 Ctrl+D将本页面保存为书签,全面了解最新资讯,方便快捷。 您也可下载桌面快捷方式。点击下载 | 新浪科技 | 新浪首页 | 新浪导航

从AlphaGo到AlphaStar:机器是如何思考的? | 红杉Library

2019-07-12 08:00:00    创事记 微博 作者:   

2016至2017年,AlphaGo横空出世,接连击败世界顶级围棋选手;2019年,另一个人工智能AlphaStar登上历史舞台,它挑战的是《星际争霸2》的顶级职业选手。

一盘围棋棋局大约持续150 步,面对的是250个选择;而25分钟的《星际争霸》就已经至少有36000步,面对的选择数量是1 后面50个0。这是对人工智能的一次巨大挑战。最终AlphaStar成为第一个打败《星际争霸2》顶级人类职业选手的AI。

AlphaStar是如何获胜的?设计者面对哪些困难?AI距离达到真正的“智能”还有多远?

谷歌前工程专家、普林斯顿大学机器学习博士肖恩·格里什,在他新出版的《智能机器如何思考》一书中,展示了人工智能领域的前沿成果,深入解读了感知算法、强化学习、深度语言识别等概念,阐释了智能机器究竟是如何感知和思考的,并描绘了我们终将与AI共处的未来。今天的文章是本书的部分精编。


智能机器如何思考

肖恩·格里什/ 著

中信出版集团 2019年6月

AlphaGo仍有局限性

-------

虽然AlphaGo具备识别围棋盘面特征的能力,但它只能执行下围棋这项非常单一的任务。正如OpenAI(致力于人工智能研究的公司)的研究员唐杰所言:“AlphaGo不会决定去买个芝士汉堡,然后尝试接管世界。”

AlphaGo是专门为下围棋而设计的,因此它只具备下围棋所需要的能力,它的一切都依赖于人类。除了在对弈过程中识别模式、选择模式的能力,AlphaGo无法与瞬息万变的环境互动;除了汇总统计数据外,它没有关于过去事件的记忆;除了模拟它和对手如何走棋之外,它也没有关于未来事件的概念。

那么我们在人工智能领域要迎接的下一个重大挑战是什么?DeepMind(致力于人工智能研究与应用的公司,2014年被谷歌收购)宣布了一个新项目——设计一个能够玩即时战略游戏《星际争霸》的AI。这要求该AI具备更多与人类智能相关的品质:能寻找做决策所需的信息,能在有时间限制的条件下,以及高低不同层次上做出这些决策——既可以规划具有长期影响的行动,也可以做出闪电般迅速的反应。

为什么让AI在《星际争霸》中取胜

如此困难?

-------

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

此外,《星际争霸》要求每个玩家都要维持正常的经济运转,从而提供更多的资源发展自己的军队、升级不同类型的建筑等。游戏中的“战场迷雾”掩盖了大部分游戏空间,使玩家只能看到自己的单位或单位附近发生了什么,要掌握更多信息,只能派出侦察兵或者找到其他方法来了解环境。

在国际象棋和围棋等策略性游戏中,最优秀的AI能在游戏树(组合博弈理论中用来表达一个赛局中各种后续可能性的树)中搜索数百万个状态,并通过程序查找最有可能成功的状态。这种能力取决于两个因素:树的每个层次的分支因子(AI在给定时间内必须做出选择的走子选项的个数)和树的深度(AI在一局游戏中需要走多少步棋)。

围棋的分支因子大约是250,保守估计《星际争霸》的分支因子大约为1 后面50个0;一盘职业围棋棋局大约持续150 步,而一局典型的25 分钟的《星际争霸》大约有36000个动作。此外,“战场迷雾”让每个玩家仅拥有不完整的信息,因此国际象棋或围棋中的传统搜索方法并不适用。

换言之,《星际争霸》对人工智能领域提出了巨大的挑战。一个可以得心应手地玩《星际争霸》的机器人,需要具备许多我们认为能够定义人类智能的品质,包括用有限的信息做出战略决策的能力,以及实时应对不可预见情况的能力。纽芬兰纪念大学的计算机科学教授戴维·邱吉尔称这是游戏人工智能研究的“巅峰”。

通过简化游戏建立架构

-------

想让《星际争霸》机器人会玩游戏,就必须把它们需要执行的任务分解成可管理的模块。对于这些模块的定义来自职业人类玩家的分析总结,如下图所示,架构分为三层。

最左侧是AI与环境交互所经过的层,为机器人提供了一种通过编程与游戏本身进行交互的方式。

中间是感知和环境建模层,用于为AI追踪军事情报:包括对手的基地、游戏中的单位和整个地图的信息。不同的机器人对这一层的重视程度不同。

机器人的“智能”行为来自架构最右边的部分,也分为三层:

▨ 在顶层,这些机器人推理战略:机器人应该建造或升级哪些建筑,以及应该在什么时候做这些事情。通常需要提前几分钟进行规划,并会对游戏产生直接的长期影响。

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

▨ 底层是反应层,它要求在几秒钟内做出规划和反应,处理军事情报层送来的环境信息。

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

-------

许多顶级《星际争霸》机器人的开发者都遵循实用主义理念,用能够赢得游戏的策略来编程他们的机器人,即便这意味着他们并没有创造出足够“智能”的机器人。例如,一些机器人被编程为遵循简单的rush策略(在游戏早期牺牲经济,快速发展兵力,以此一举击败对手的策略),它们会建立一支由弱小的战斗单位组成的小型军队,在对手建立防御之前发动攻击。

职业人类玩家也会使用各种各样的rush策略,这只需要遵循一套简单的规则,完全不考虑任何长期规划。即使是邱吉尔设计的更复杂的《星际争霸》机器人UAlbertaBot,有时也会输给那些使用rush策略的机器人。但能够实施这些策略的机器人仍然远远不能战胜人类职业玩家。

玩过这类游戏的人肯定对战过计算机,大概会有此疑问:既然设计一款能玩游戏的机器人如此之难,为什么在游戏的人机对战中计算机还是如此难以战胜?邱吉尔解释说,因为现实游戏中的机器人经常“作弊”,它们并不是真的智能,比如计算机可以看到整个游戏地图,没有真正处于“战场迷雾”环境下,但机器人也会派出侦察兵四处侦察,这只是在做戏。

《星际争霸》不是终点

-------

杰米斯·哈萨比斯是DeepMind的创始人,在创立DeepMind之前,他就对《星际争霸》这款游戏产生了兴趣,因为他的一位同事是一名高手玩家。杰米斯对这位同事屡战屡胜的能力非常着迷,有一段时间,他每晚把自己和他关在一个房间里,想办法战胜他。有时会为其设置障碍,让他在没有鼠标或单手的情况下玩游戏,这样便可以准确地分析他的哪些操作让他获胜。

杰米斯将DeepMind的部分工作转向开发具有竞争力的《星际争霸》机器人,并和暴雪公司合作开发了一个供机器人玩《星际争霸2》的官方界面,从而让开发者帮助机器人以更有条理的方式学习。

最终AlphaStar成为第一个打败《星际争霸2》顶级人类职业选手的AI。今年1月,在人类vs AlphaStar的11场比赛中,人类只取得了一场胜利。

攻克《星际争霸》是否意味着我们就能攻克智能?答案很简单,不是。

《星际争霸》并没有涉及人类智能的许多方面,包括人类从全新的、非结构化的环境中理解并得出结论的能力。

创造出一个机器人,让它能够把《星际争霸》这个游戏玩出顶级水平,这可能是一个引人注目的结果。然而,我们在这个过程中获得的工具和架构——新的搜索算法、新的感知算法和新的强化学习算法,这些将是更重要的成就。

互动送好礼

谈谈人与机器的共处

你肯定没在《星际争霸2》中和AlphaStar对战过,也不曾被AlphaGo打败,但你也许经常请教“小爱同学”或者被Siri调侃。无处不在的AI及其雏形可能已经渗透到你的身边,你会欢迎还是抗拒类似《黑镜》、《真实的人类》等影视剧中所演绎的人与机器相处的生活吗?我们将挑选10位留言走心的读者送出《智能机器如何思考》一本,帮你更加了解AI。本书为中信出版集团友情提供。

(声明:本文仅代表作者观点,不代表新浪网立场。)

分享到:
保存   |   打印   |   关闭