游戏中的机器学习——建立人工智能来征服虚拟世界

Gautam Narula

Gautam Narula是一位机器学习爱好者,佐治亚理工学院计算机科学专业的学生,并发表过文章。他在Emerj报道算法应用和AI用例。

游戏中的机器学习——建立人工智能来征服虚拟世界

在虚拟世界中,人工智能正变得越来越聪明。人工智能最早出现在游戏中是在1952年,当时英国一名孤独的研究生创造了一个基于规则的AI,它可以玩一款完美的井字游戏。如今,研究团队正在努力——或者已经成功地创造出能够在日益复杂的游戏中击败人类的人工智能。

有两类游戏吸引了计算机科学家、软件开发人员和机器学习研究人员的兴趣:完全信息游戏,即所有玩家在任何时候都知道游戏的所有方面;以及信息不完全的游戏,即玩家不知道游戏的某些方面。虽然这两类游戏都存在复杂的游戏,但玩家知识的这种差异对于ai如何应对游戏有着重要的影响。

继续阅读,了解研究人员如何使用游戏中的机器学习创造更强大的人工智能,以及研究人员希望如何利用从这些虚拟世界中学习到的能力来征服其他领域。作为一个有趣的预览,这里有一个名为MarI/O的人工神经网络的演示,由前微软工程师Seth Hendrickson创建,学习如何征服超级马里奥的一个级别。

完美信息游戏中的机器学习

在国际象棋和围棋中,两名棋手都能看到整个棋盘和棋盘上每个棋子的位置。在《超级粉碎兄弟》电子游戏中,战斗人员可以看到整个地图,以及任何时候其他战斗人员的确切位置。机器在这类游戏中表现出色,目前(或不久将)甚至超过最优秀的人类。在不那么复杂的游戏中,现代电脑可以简单地“蛮力”每一个可能的动作序列。例如,2007年,一位计算机科学家证明了这一点一场跳棋游戏,如果双方都玩得最好,总是会以平局告终。

更有趣的是游戏中可能的位置数量太大,甚至超级计算机都无法使用蛮力。具体的技术因游戏的不同而不同,所以我们将看一些关于机器学习在流行的棋盘游戏和完美信息视频游戏中的案例研究。

国际象棋

在1950年的一篇论文中在美国,计算机科学家克劳德·香农(Claude Shannon)证明,对国际象棋中可能的位置数的保守估计超过了10的120次方,这大大超过了已知宇宙中原子的数量。即使有了现代超级计算机,也不可能用纯粹的蛮力“解决”国际象棋

1997年,IBM的超级计算机“深蓝”(Deep Blue)在一场6局比赛中击败了国际象棋世界冠军加里•卡斯帕罗夫(Garry Kasparov),这是国际象棋人工智能首次击败人类顶级棋手。从那以后,国际象棋电脑的能力远远超过了人类;斯托克菲什,国际象棋顶级人工智能选手之一,估计Elo评级超过3200,比世界排名第一的马格努斯·卡尔森(Magnus Carlsen)高出近400分(这意味着比卡尔森的技术水平提高了10倍)。

Stockfish使用蛮力和优化启发式的组合来计算一个位置上的每个合法移动的数值计算。减少每次移动时出现的大量分支选项(任何给定的位置可能有25个合法的移动;每一个可能有25个合法的移动,等等),Stockfish使用一个搜索算法叫做α-β剪枝清除坏动作。

这种游戏强度可以通过开放数据库和游戏结束时的桌面基础(基本上是游戏开始和结束阶段预先计算的步骤)来增强。

而象棋一直是近年来人工智能研究的沃土,顶部引擎回避传统的机器学习技术的人类和机器学习万博官方软件的混合,结合直观,战略力量的人类(编码在启发式),计算机的计算能力。

这种协同的方法也许在高级国际象棋中得到了最好的模拟。高级国际象棋是一种由计算机辅助的人类相互竞争的国际象棋,其水平比人类或单独的计算机所能达到的水平要高。

围棋在亚洲被称为Baduk,是一种比国际象棋更复杂的棋类游戏。根据美国围棋基金会(American Go Foundation)的数据,合法的围棋头寸数量约为10的170次方。Google DeepMind团队为电脑统治铺平了道路走在过去的两年里随着AlphaGo的发展,人工智能,使用深层神经网络学习自己的游戏(一种被称为深度强化学习技术)以及游戏由前人类玩家(传统的监督学习技术)。这种强化学习突出了人类和机器学习主体的独特优势。

人类是快速学习者——通过一个相对较小的数据集(比如下了25盘国际象棋),他们可以在完成新任务时表现出显著的进步。相反地,计算机可能需要数百万、数十亿甚至数万亿的数据点才能达到相应的技能水平,但与自己玩数百万个游戏并从过去的错误中学习的能力克服了这一弱点。

AlphaGo的方法与Stockfish和其他国际象棋引擎的关键区别在于是否缺少“前瞻性”搜索算法。DeepMind的努力达到高潮以惊人的4-1获胜超过了2016年初的围棋冠军李世石。

曾投资过DeepMind的埃隆·马斯克(Elon Musk),指出AlphaGo的胜利是许多专家认为至少还需要10年才能实现的壮举。2017年1月,谷歌透露它一直在秘密测试一个更新的版本AlphaGo对战人类顶尖棋手;改版后的AlphaGo没有输掉一场比赛。

尽管国际象棋引擎凭借其特有的游戏启发法,对其他领域的了解微乎其微,但AlphaGo的神经网络优势可以应用于许多其他领域。在接受媒体采访时,DeepMind的Nando de Freitas描述了深度学习的许多不同应用,深度学习是AlphaGo采用的主要人工智能技术。,在一篇博客文章在与李世石(Lee Sedol)的比赛前不久,谷歌对AlphaGo表达了自己的雄心:

我们很高兴掌握了围棋,从而实现了人工智能的一大挑战。然而,对我们来说,这一切最重要的一点是,AlphaGo不仅仅是一个用手工规则构建的“专家”系统;相反,它使用一般的机器学习技术,自己找出如何在围棋中取胜。虽然游戏是快速有效地开发和测试AI算法的完美平台,但最终我们希望将这些技术应用到重要的现实问题中。因为我们使用的方法是通用的,我们希望有一天它们可以扩展到帮助我们解决一些社会上最棘手和最紧迫的问题,从气候建模到复杂的疾病分析。

超级马里奥兄弟》。

《超级任天堂大师赛》(Super Smash Bros., SSB)是一款非常受欢迎的徒手格斗游戏,游戏中最受欢迎的角色都来自任天堂的游戏帝国。它有一个充满活力的竞争场面,包括职业球员定期竞争五位数奖金的锦标赛。SSB不同于国际象棋和围棋的一个关键方面是:SSB是一款非回合游戏。所有的玩家都必须同时行动,并且在行动时必须预料到对手的行动。

虽然有很多针对SSB的人工智能(包括任天堂创造的游戏内人工智能),但我们的分析仅限于SmashBot,这是一种流行的SSB人工智能开源的代码库可以让我们更深入地了解它是如何运作的。SmashBot是基于规则的专家系统的一个经典示例。从本质上讲,它是基于人工智能内置的“知识库”的一系列if-then语句的更复杂版本。的代码库Readme文档提供了一个很好的总结它是如何工作的:

SmashBot根据目标、战略、战术和链这4个层次来进行决策。每个目标检查当前的游戏状态,并决定哪个较低级别的目标将是最好的实现它。

目标是最高级别的目标,并告知人工智能预期的总体结果应该是什么。在一场比赛中击败对手,或者在菜单中选择我们的角色。

策略是指人工智能将用来完成整体目标的最高级别。例如,SmashBot通常会采取引诱对手走错一步的策略。

战术是低水平的一系列可预测的情况,我们可以现实地流程图我们的方式通过。例如,如果敌人如果离开舞台,我们可以选择边缘保护他们,防止他们回来。

是由一串击键组成的目标的最低层次,击键者可以识别这些击键,如Wavedash、jumpcancel Upsmash等……”

这些规则一帧一帧地执行,足以使SmashBot几乎不可能被人类顶级玩家击败。

SmashBot AI能够有效地在逐帧关卡上进行盾牌保护,以至于对手无法获得一次命中。

图像信用:SmashBot代码存储库自述

尽管SmashBot对人类有着压倒性的优势,但其严格的、特定领域的方法并没有引起研究人员的特别兴趣。SmashBot或Stockfish在其他任何事情上都不可能有效;AlphaGo的方法更接近于人类的思维,也更容易应用于其他领域。例如,DeepMind精通多种不同的经典雅达利游戏在人类层面使用深度强化学习,证明这种方法可以很容易地应用于多个游戏。

不完全信息博弈中的机器学习

与当前或预期的许多游戏的AI优势完美的信息,研究兴趣转移到了游戏的不完美的信息不是仅仅是因为这样的游戏机器更难掌握,还因为这些游戏更紧密地模仿AIs的更有挑战性的场景将面临在现实世界中。

最吸引研究兴趣的游戏是星际争霸(SC)和星际争霸2(星际2)。由暴雪娱乐开发的SC/SC2是一款将专业电竞带入主流的即时战略游戏,尤其是在韩国;韩国顶级球员仅在锦标赛中就获得了50多万美元的奖金。

SC2对计算机来说尤其具有挑战性,因为用人工智能的话说,它是部分可观测的。玩家只能看到地图上友方单位或建筑周围的部分区域。与国际象棋或围棋不同,游戏的当前状态不仅仅是由之前的状态和AI的动作决定的,同时也由其他玩家的动作决定——决策和动作必须迅速做出,而且不能完全知道对手在做什么。

SC2玩法可分为三个关键部分:微观管理(“微观”)、宏观管理(“宏观”)和整体战略。微观是对单个单位的机械控制和指挥;宏观战略是一种更广泛的战略,即确保玩家获得足够的资源来维持他的军队,投资于生产设施和单位升级,并建造新的单位来补充战斗中损失的单位。

总体战略包括侦察你的对手,预测对手的攻击,规划你自己的攻击,以及选择建造哪些单位来对抗对手的单位。这种多方面的技能要求使得《SC2》成为迄今为止ai所解决的最具代表性的人类智能游戏。

DeepMind承认SC/SC2带来的独特挑战在其官方声明中:

对于当前的AI研究来说,《星际争霸》是一个有趣的测试环境,因为它为现实世界的混乱提供了一个有用的桥梁。代理所需的技能进步通过环境和玩星际争霸最终可能转移到真实世界的任务……一个代理可以玩星际争霸需要演示有效使用的内存,在很长一段时间计划的能力,适应计划基于新信息的能力。

查看imgur.com上的帖子

蓝色AI(底部)摧毁了红色AI(顶部)的优势部队,因为后者的单位被困在斜坡上,无法还击。对于任何AI来说,最优定位的学习策略都是最困难的任务之一,因为这涉及到许多因素:对手和自己的单位组成,高地与低地,以及友军和敌军单位的现有伤害(如果有的话)。

视频来源:人工智能工艺3由LifesAGlitchTV

查看imgur.com上的帖子

在摧毁了红色AI的全部军队后,蓝色AI莫名其妙地撤退并允许红色重建军队。即使是人类新手也会意识到按下攻击键会立即赢得游戏;人类的推理可能会:我摧毁了所有对手的单位我可以看到- >在这个阶段在游戏中,我的对手不可能有足够的隐藏单元压倒我的军队- >现在如果我攻击对手的基地,我将摧毁所有的生产设施和赢得比赛。
我们不知道为什么蓝色的人工智能选择撤退,但这种上下文理解的缺乏证明了构建一个能够处理上下文丰富的环境的人工智能的挑战。

视频信贷:人工智能工艺3由LifesAGlitchTV

查看imgur.com上的帖子

人工智能完美地分割它的个人收割机为最佳的资源收割。这种微小的优化虽然对游戏的最终结果影响甚微,但却超出了顶级玩家的能力范围。这种操作几乎不需要推理能力,只需要良好的机械控制和多任务处理能力——这是计算机比人类发展得更好的领域。

视频信贷:人工智能工艺我由LifesAGlitchTV

声明还详细阐述了暴雪和谷歌的合作,为任何ML研究者创建一个开放的、可编程的SC2平台。确保人工智能将通过智能而不是更快的机械速度取胜(计算机可以通过编程立即发出命令;人类必须移动鼠标或敲击键盘上的一个键),人工智能将被限制在与人类顶级玩家每分钟所能完成的动作数量相同的范围内——通常是每分钟300个动作。

到目前为止,一个具有一定经验的业余SC2玩家可以轻松击败SC2 ai。专业的SC2玩家相信AlphaGo不会很快达到人类水平,但值得注意的是,直到2015年,没有一个人工智能曾经打败过职业围棋手。一年后,人工智能势不可挡。

人工智能、游戏和智能的未来

在游戏中引入机器学习将会对游戏本身和其它相关领域产生深远的影响。电脑的引入改变了职业象棋,它可以揭示之前毫无疑问的分析中隐藏的缺陷;允许玩家即时查找和训练数以百万计的竞争对手过去的游戏数据库;并提供新的工具,让下一代的年轻球员提高更快比他们的前辈(最近的世界象棋锦标赛2016年11月第一个特性两个球员都在他的时代计算机培训,成为大师的13岁)。

Go可能很快就会经历类似的蜕变。更重要的是,用于征服这些游戏的策略可能很快就会让我们征服更复杂的领域,即使是不相关的领域,比如癌症诊断、气候变化缓解和实时翻译。虚拟世界可能是人工智能在被释放到现实世界之前学习的肥沃训练场。

也许机器学习在复杂游戏中的真正吸引力在于,用香农的论文的话来说,这类游戏“被认为需要‘思考’才能玩得熟练;这个问题的解决将迫使我们要么承认机械化思维的可能性,要么进一步限制我们的“思维”概念。“很明显,机器无法在混乱、不完美的游戏中强行取胜。在像《星际争霸2》这样完全人性化的游戏中,人工智能不仅会比人类玩得更好,而且会比人类玩得更好就像一个人吗?

也许,通过构建能够征服SC2的机器,我们可以更接近于机器智能的终极基准:一台通过测试的机器图灵测试

图片来源:国际象棋每日新闻

保持在AI曲线的前面

发现关键的人工智能趋势和应用程序,在未来的业务中区分赢家和输家。

报名参加“人工智能优势”通讯:

" data-trigger="manual" data-title="Notice" data-placement="bottom" data-content="Thanks - Check your email and open our welcome email to confirm your email address with Emerj">
" data-trigger="manual" data-title="Notice" data-placement="bottom" data-content="Error - There was some problem.">
订阅
subscribe-image
保持在机器学习曲线的前面

在Emerj,我们拥有最大的关注人工智能的在线商务读者群体——加入其他行业领袖的行列,每周收到我们发送到您收件箱的最新人工智能研究、趋势分析和访谈。

感谢您订阅了Emerj“AI Advantage”时事通讯,请检查您的电子邮件收件箱以进行确认。