游戏AI的终极进化
作者:黑色休谟人工智能越来越发达,近日一名《Dota 2》的电竞选手便败在 AI 手下,Google 与 Blizzard 亦合作研发专门玩《StarCraft II》的 AI。究竟 AI 高手是如何炼成的?人工智能终于要征服游戏界了吗?
(封面图片:《StarCraft II》游戏画面)
继围棋之后
2016年 AlphaGO 在围棋上战胜了韩国棋手李世乭,震惊世界,当时 AlphaGO 的开发团队 DeepMind 便指下一步要让 AI (人工智能) 懂得玩即时战略游戏《StarCraft II》。当时多数人认为《StarCraft II》与《英雄联盟》等游戏涉及太多变数与选择,远比围棋复杂,因此 AI 难以驾驭,未能战胜人类。
然而,就在近日的 2017 International Dota 2 Championships 之中,大会安排了前世界 solo 冠军、擅长打中路的乌克兰选手 Dendi 与专门玩《Dota 2》的人工智能 OpenAI 对战,结果由后者大胜。OpenAI 团队由 PayPal 及 Tesla 电动车创办人 Elon Musk 赞助,现时只能在非常特定的条件下玩《Dota 2》──它只能用影魔 (Shadow Fiend) 与对方的影魔进行1对1战斗,游戏变数亦必须减到最少 (双方禁止使用魔瓶、凝魂之泪、灵魂之戒、祭坛,移除中立生物和神符)。
OpenAI 的团队没有为它预设数据,它是由零开始不眠不休地学习,一开始还是在游戏中梦游的初哥,两星期后便变成世界级大师,更展现出中途取消技能的高级技巧。在严格限定的条件下,OpenAI 的确有更出色的微操作及判断力,结果连胜 Dendi 两场。
刻苦学习的电脑
去年已经表示想涉足《StarCraft II》的 DeepMind 亦有动作,宣布与 Blizzard 合作推出一套开源的 API 软件,包括 SC2LE (StarCraft II Learning Enviornment) 开发包与使用 Python 语言运作的 PySC2,使用者可以利用这套软件编写针对《StarCraft II》的 AI 程式。两间公司希望借此集合全世界有程式背景的玩家及对游戏 AI 有兴趣的程式设计师,一起研究与改良 AI 技术。
传统即时战略 (RTS) 游戏一向都有简单的 AI,它们根据预先写好的代码行动,可以说是完全不会变通。面对著人类,AI 要靠作弊才能稍为弥补差距,例如在《StarCraft II》里,3个最高难度的 AI 便比真人玩家拥有额外的资源与视野。但这绝不能满足新世代的 AI 标准。
上图展示出即使是同一个游戏动作,人类玩家与 AI 亦各有不同的操作方式 (DeepMind)
开发团队以强化学习 (reinforcement learning) 训练 AI,AI 会自行透过试错 (trial and error) 发现最佳的行为选择,作为往后判断的基础。在强化学习里,若果 AI 的某个行为导致正面效果,便会得到强化或奖励讯号,那么 AI 以后便会倾向选择这个行为。
套用到《StarCraft II》上,奖励讯号除了与一局游戏的胜负有关,团队亦会根据游戏中的各种行为即时运算出分数,例如有新建筑物会加分,被破坏则会扣分,以此鼓励 AI 采取对自己有利的选择,引导它以胜出游戏为目标来行动。
AI 有本难念的经
为了公平竞赛,人类与 AI 都应该使用同一界面来玩游戏,AI 能够轻易掌握数,但人类使用视觉分析图像的能力却是它必须学习的地方。2016年 DeepMind 与 Blizzard 的研究人员已经著手解决这些问题,他们的方法是建立一个低解像度的《StarCraft II》画面,将建筑物、部队、资源与位置等游戏元素分拆为各个小部分,称为“feature layers”,方便 AI 理解。
至于胜出游戏又是更复杂的问题了。“胜出游戏”对 AI 来说是一个模糊的概念,为此团队将迈向胜利的过程分拆为一组组的任务,称为 “mini-games”,例如采集矿石、兴建兵营、生产陆战队。AI 透过不断训练,又从 battle.net 的排名赛中截取了数以十万计的纪录档,一步一步将这些 “mini-games”组合成一套致胜的策略。
就决定是你了!人工智能!
AI 要战胜人类玩家了吗?现在似乎还未是时候。在 Dendi 落败后,大会开放 OpenAI 让现场观众挑战,结果超过50名玩家成功胜过 OpenAI。有的玩家引开敌兵,让自己的小兵攻破 OpenAI 的塔;有的玩家则不按章法地购买物品,这些 OpenAI 未曾遇过的新奇战术都令它束手无策。
然而以 AI 进步的趋势来看,相信不久将来 AI 就可以克服这些困难,以后游戏 AI 的研究一旦成熟,人类玩家的赢面还有多少呢?或许未来玩家竞争的著眼点将不再是人类与 AI 谁胜谁负,而是一位玩家培养出来的 AI 能否战胜其他玩家的 AI,我们的电竞会朝著“代理人战争”发展吗?