失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 游戏中的机器学习——通过创造AI来掌控虚拟世界

游戏中的机器学习——通过创造AI来掌控虚拟世界

时间:2024-01-10 12:26:44

相关推荐

游戏中的机器学习——通过创造AI来掌控虚拟世界

作者 | CDA数据分析师 出品 | CDA数据科学研究院

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

有两种不同类型的游戏吸引了计算机科学家,软件开发人员和机器学习研究人员的兴趣:一种是完全信息游戏,也就是玩家在任何时候都知道游戏的所有方面; 另一种是信息不完全的游戏,也就是玩家在游戏中只知道游戏的一些方面,其他的则完全不知道,需要自己探索。虽然这两类游戏种类都有着很复杂的游戏,但玩家在游戏中所了信息的这种差异对于人工智能如何处理游戏有着非常重要的影响。

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

05:57

看机器学习如何征服超级马里奥中的关卡

在国际象棋和围棋中,两位玩家都可以看到整个棋盘以及棋盘上每一块棋子的位置。在Super Smash Bros.电子游戏中,战斗人员可以在任何给定时间查看整个地图以及其他战斗员的确切位置。机器在这些类型的游戏中表现出色,并且目前(或很快将)会以压倒性的优势超过最优秀的人类玩家。在不太复杂的游戏中,现代计算机可以简单地以“蛮力”记住每一个可能的动作序列。例如,在,一位计算机科学家证明,如果双方都玩的很好,那么跳棋游戏总是会以平局告终。

更令人感兴趣的是,游戏中可能出现的位置数量太大,甚至超级计算机也无法使用简单的"蛮力"进行计算。具体技术因游戏而异,所以我们将着眼于一些关于机器学习的案例研究,这些案例都是关于流行的棋盘游戏和完全信息的电子游戏。

国际象棋

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

1997年,IBM的超级计算机深蓝(Deep Blue)在六场比赛中击败了世界象棋冠军加里卡 斯帕罗夫(Garry Kasparov),这是国际象棋界人工智能首次击败了人类的顶级棋手。从那时起,国际象棋计算机远远超过了人类的能力; 斯托克菲什是国际象棋顶级人工智能之一,其Elo评分估计超过3200,比排名第一的马格努斯卡尔森(Magnus Carlsen)高出近400分(相当于卡尔森水平的10倍)。。

stock fish使用蛮力和优化启发式的组合来计算某个位置中每个合法移动的数值计算。为了减少每次移动时出现的大量分支选项(任何给定位置可能有25个合法移动;每个移动可能会有下25个合法移动,依此类推),Stockfish使用称为Alpha-beta修剪的搜索算法来剔除掉糟糕的招数。

这种游戏强度可以选择性地增加打开数据库和游戏结束时的桌面来增加强度,这些基本上都是游戏开始和结束阶段先计算好的移动。

虽然国际象棋近年来一直是人工智能研究的沃土,但顶级引擎已经避开了传统的机器学习技术,转而采用人类和机器学习的混合方式,结合了顶级人类的直观战略力量(编码于启发式)和具有计算机的原始计算能力。

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

围棋

围棋,在亚洲被称为Baduk,是一款比国际象棋更复杂的棋盘类游戏。据美国围棋基金会(American Go Foundation)的数据报告称,正常的围棋的落子的数量大约为10 ^ 170。在过去两年里随着AlphaGo的发展,Google DeepMind团队在Go中为计算机优势铺平了道路,AlphaGo是一个使用深度神经网络自己学习游戏的人工智能(一种称为深度强化学习的技术)以及顶级人类玩家进行的游戏(经典的监督学习技术)。这种强化学习强调了人类和机器学习代理的独特优势。

人类是快速学习者 - 具有相对较小的数据集(例如,玩25个国际象棋游戏),他们可以在完成新任务方面显示出显着的进步。相反,计算机在达到类似的技能水平之前可能需要数百万,数十亿甚至数万亿的数据点,但是能自己对自己的进行对弈数百万场游戏并从过去的错误中吸取教训的能力克服了这一弱点。

AlphaGo与Stock fish和其他国际象棋引擎的关键区别在于,AlphaGo它没有"前瞻性"的搜索算法。DeepMind通过努力最终在初以4-1大胜围棋冠军李世石(Lee Sedol)。

之前投资DeepMind的Elon Musk指出,AlphaGo的胜利是许多专家认为至少还需要十年才能实现的壮举。1月,谷歌透露,它一直在秘密测试AlphaGo的最新版本,以对抗顶级人类玩家; 修改后的AlphaGo并没有失去任何一场比赛的冠军。

虽然国际象棋引擎凭借其特定于游戏的启发式方法,对其他领域的了解极少,但AlphaGo的神经网络主导优势可以应用于许多其他领域。在接受Emerj采访时,DeepMind的Nando de Freitas描述了深度学习的许多不同应用,这是AlphaGo采用的主要人工智能技术。而且,在与李世石(Lee Sedol)的比赛前不久的一篇博客文章中,谷歌明确表达了对AlphaGo的雄心:

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

超级马里奥兄弟

超级马里奥兄弟(Super Smash Bros.(SSB))是一款非受欢迎的徒手格斗游戏系列,拥有任天堂游戏帝国中最受欢迎的角色。它拥有一个充满活力的竞技场景,包括职业球员在定期的锦标赛中竞争五位数的奖金。在一个关键方面,SSB与国际象棋和围棋不同:SSB是一种非轮流的游戏。其中所有的玩家同时采取行动,所以这样就需要在自己行动的同时预测对手的行动。

虽然有很多为SSB开发的人工智能(包括由任天堂开发的游戏内的人工智能),但我们将分析限制在Smash Bot,这是一个流行的SSB 人工智能,其开源代码库可以让我们更深入地了解它的工作原理。Smash Bot是基于规则的专家系统的一个典型的示例。从本质上讲,它是基于人工智能内置的“知识库”的if-then语句链的更复杂版本。该代码库自述文件提供了它是如何工作的一个很好的总结:

“Smash Bot决定了4层次的目标层次:目标,策略,战术和链条。每个目标都会检查当前的游戏状态,并决定哪个较低级别的目标最适合实现它。

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

策略是人工智能用于实现总体目标的最高级别的手段。例如,Smash Bot通常会采取诱使对手陷入糟糕行动的策略。

战术是低级别的一系列可预测的情况,我们可以通过实际的方法制定出我们的路线。例如,如果敌人离开舞台,我们可能会选择在边缘守着他们,防止他们在回来。

链条是最低级别的目标,包括Smashers将识别的按钮按下的“链”,例如Wavedash,跳过取消的Upsmash等......“

这些规则在逐帧的基础上进行运行,足以使Smash Bot几乎不可能被人类的顶级玩家击败。

Smash Bot 人工智能能够有效的在帧与帧直接进行掩护,以至于对手无法获得任何一次命中。

尽管Smash Bot对人类具有压倒性的优势,但其严格的,针对特定领域的方法对研究人员来说并不是特别感兴趣。Smash Bot或Stock fish永远不会再其他任何事情上有效; AlphaGo的方法更接近人类的思维,也可以更容易地应用于其他领域。例如,DeepMind 使用深度强化学习在人类层面掌握了许多不同的经典Atari游戏,证明这种方法可以轻松应用于多个游戏。

如果觉得《游戏中的机器学习——通过创造AI来掌控虚拟世界》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。