segments 2017-08-16
Dota 2 单挑比赛中,OpenAI 的成绩虽然瞩目,但由于几乎剔除了团队游戏的复杂性,不能因这次胜利而扩大AI取得胜利的意义。
整理 | 张震 、微胖
2016年11月,DeepMind 刚刚在一年一度的 Blizzcon 上宣布他们与著名游戏公司暴雪达成了协议,在《星际争霸》系列游戏中进行合作,在游戏平台中引入机器学习方法,进行人工智能研究。DeepMind 科学家 Oriol Vinyals 说道(此人曾是西班牙顶尖的星际争霸玩家),他们正像对待围棋一样认真对待《星际争霸》,并决心以此作为机器智能研究的突破点。
暴雪的《星际争霸》自从 1998 年发行以来,已经积累了大量的忠实粉丝。在第一个十年里就售出了 950 多万册的原版游戏。2011 年发行的《星际争霸 2》以 48 小时内售出 150 万册打破了即时战略游戏的销售记录。让两个玩家实时互相对垒,这种方式使《星际争霸》成为首屈一指的专业视频竞赛游戏。目前,仍然算是一个重要的世界级电竞游戏。
不过,在人工智能可以击败世界冠军的问题上,暴雪和 DeepMind 都对此持谨慎态度,都没有给出一个确切的日期。但是,就在上周,OpenAI 机器人在单挑比赛中,大败 Dota 2 世界顶级玩家。作为一个高调的商人,埃隆·马斯克的推特账号成了人们发表意见的场所,大家纷纷留言评论,一片喧哗。
但是,内在叛逆的资深 Dota 玩家 Vlad Savov 无法苟同马斯克的夸张言论。OpenAI 机器人的不俗表现让任何 Dota 玩家感觉凛然,但在他看来,它仅仅触及了这款复杂竞技游戏的皮毛。
马斯克在推特上说,虽然人工智能项目创造出了打败世界级象棋手和围棋手的计算机,但是,OpenAI 团队的成就使之相形见绌。这款游戏比传统棋盘游戏复杂多了。
Dota 确实是一款很复杂的游戏。《星际争霸》之所以一直被人工智能研究者视为下一个目标,重要因素之一就是这一即时战略游戏(RTS)的环境复杂。另外,在同类游戏中,平衡性也做得最好。此前,一些组织和机构发起过如 AIIDE StarCraft AI Competition 这样的星际争霸 AI 比赛。
有分析指出,在决策空间方面,相比围棋只有一个落子动作,这款游戏的决策空间相对非常复杂。在决策连续性方面,围棋是一个典型的异步竞技游戏,选手在做出每一个决策前具有充分的决策时间,典型马尔科夫过程,但 Dota 2 选手需要动态做出实时决策。
DeepMind 认为,该游戏相比国际象棋与围棋更加接近「复杂的现实世界」。
但是,Vlad Savov 认为,马斯克忽略了一个要点:OpenAI 的机器人玩的是一款复杂性大大降低的简化版 Dota。
这款多人在线游戏,类似篮球运动:五个玩家一组,有一个固定、对称的场地,需要大量深度战略和策略。游戏中也有专门给予支持的玩家,就像控球后卫协助更加强大的队友。这些助攻玩家有望将整个团队带向胜利,就像 NBA 得分较高的球星帮助球队获胜一样。
现在,去掉团队游戏的所有复杂性,进行简单一对一对决,这就是 OpenAI Dota 2 机器人的游戏模式。虽然这仍然是个竞技游戏,但相对于团队竞技,复杂度已经大打折扣。
上周末,Dota 2 机器人的表现说明它基本上是顶级篮球比赛控球后卫。它只能扮演一个角色,但是游戏角色有上百个,它也只能与相同的对手角色对抗。这位名叫 Shadow Fiend 的英雄角色,需要在准确的时机和位置才能发挥他的魔幻攻击技能 Shadowraze。而且我们知道,远超人类的机械精确性在计算机那里,就是小菜一碟。而且,没有一个职业玩家有时间进行赛前训练,提前观察或者理解机器人程序的博弈模式(与人类玩家对决之前,机器需要这么做)。
Vlad Savov 注意到了所有这些弱点和缺陷,所以并没有太多兴奋。AI 进步是一个渐进的过程,而不是飞跃地一蹴而就。
虽然到目前为止,OpenAI 披露细节非常有限,但这并不妨碍一些专业人士的推断分析。有分析人士猜测系统的决策空间和计算复杂度可能不如 AlphaGo,两者并非同类进步。
OpenAI 表示,他们并未使用任何模仿学习(Imitation Learning)或者类似于 AlphaGo 的树搜索技术,而是左右互搏的强化学习(reinforcement learning)。分析人士认为,OpenAI算法可能涉及先验知识与增强学习,以此获得一个单挑能力很强的单个玩家系统。如果猜测正确,那么,这次战绩远没有 AlphaGo 此前取得的成就来得困难,充其量等于训练了一个类似 AlphaGo 落子器的应用。
「能玩《星际争霸》的人工智能必须能够有效利用记忆,能够进行长期战略规划,同时还得根据不断出现的新情况做出反应调整。以这种标准开发的机器学习系统,最终完全可以应用到现实世界中的任务中去。」Vinyals说。
当然,比赛也有让 Vlad Savov 感觉很兴奋的地方。职业玩家 Danil「Dendi」Ishutin 和机器人程序 Shadow Fiend 对决,让 Dota 玩家和科技发烧友们如痴如醉。
Dendi 是最著名玩家之一,也深受大家喜爱,他本身就特别会玩 Shadow Fiend 这个角色。结果,他在这个受欢迎的领域被 AI 打败了。如果是资深玩家和 Dendi 对决,他感受到了残酷无情,那么,他可能会对其他选手做出同样的事情,就像机器人对他做那样。这个机器人引诱 Dendi 过度进攻,然后假装 Shadowraze 攻击,将其吓跑。一次战术至上的临场发挥。
对于资深 Dota 玩家来说,这是人工智能最生动的展示,绝非虚言。因为机器人可以自我学习。OpenAI 的开发人员让其进入地图,进行了为期两周的高强度自我训练,这就是它的「生命周期」——系统从蹒跚学步到被训练成了一名冷血杀手,OpenAI 说。整个过程让人觉得有点神奇,就像智力演化加速到我们真的可以察觉到的程度。
OpenAI 的 Shadow Fiend 知道如何迷惑敌手。它掌握了生命药水(health potion)的机制。生命药水在一段时间内可以让英雄复活,它们就在这个复活期内攻击敌手。此外,它也了解人类的伎俩,比如敌人会在地上放一个爆炸物迷惑对方。
不过,总的说来,Vlad Savov 认为自己见证的是安卓的 Dota 等价物在一对一比赛中击败了 Steph Curry, LeBron James 以及所有其他 NBA 球星。
机器人离开赛场时并无败绩。
但是,为 OpenAI 的表现欢呼的同时,这位资深玩家想告诉大家不要仓促下结论认为这是一款超人机器人。Vlad Savov 花了几个月才整明白 Dota 2,更别说掌握这款游戏了。游戏的所有可能性加起来,比目前 AI 所能应对复杂度高出好几个量级。如果 OpenAI 明年能够兑现其雄心豪言,率领AI战队在正常(proper)Dota 比赛中战胜世界顶级玩家,Vlad Savov 会非常高兴,也愿意和马斯克一道奔走相告。但绝不是现在。
Facebook 和微软的人工智能研究者们都已发表过人工智能在《星际争霸》一代中进行游戏的研究。一些玩《星际争霸》的机器人已经被开发出来,但目前这样的程序距离击败人类职业玩家还相去甚远。
DeepMind 还没有宣称自己的程序已经能够玩《星际争霸》了。「要打败人类职业选手,我们还有很长的路要走。」 Oriol Vinyals 说。
不过,对此也有不同声音。微软 CEO 萨提亚·纳德拉对谷歌在人工智能研究中注重游戏的路线进行过抨击,他曾在一次活动中告诉观众「微软不会把钱花在让人工智能在游戏中击败人类」,微软希望把人工智能「用在解决急迫的社会与经济问题上去」。