先赢围棋,再胜刀塔,跟游戏较劲的人工智能要怎么赶超人类?
「它感觉就像人一样,但又有些不太一样。」
当人类最优秀的 Dota2 玩家 Dendi 在面对人工智能 OpenAI 比赛输掉对局之后,他有些苦笑的说出这句来评价这个「不一般」的对手。这不禁让我想起同样败负于人工智能 AlphaGo 的柯洁,在今年 5 月 27 号最后一局围棋人机大战结束时,他说:「我只能猜出 AlphaGo 一半的棋,另一半我猜不到,就是差距,我和他差距实在太大。」
人类已经不是第一次在游戏上输给人工智能:围棋曾是一座高不可攀的山峰,AlphaGo 花了不到 3 年时间(2014 年开始其研究计划)将人类最顶级选手击败,而训练 OpenAI 和 Dota2 高手进行 1V1 对决,仅仅用了两周时间,这似乎意味着,人类训练人工智能的速度,变得越来越快了。
所以,当我们再回顾人类在游戏上的失败,是否能看出这其中究竟包含了什么?为何 OpenAI、DeepMind 这些人工智能技术冲击围棋成功之后,还要冲击 Dota2、星级 2 这样的电脑游戏?人类的最后一片阵地究竟在哪?一连串问号的背后,还有哪些你不知道的秘密,今天不妨一起来看看。
一场狂欢与失败
8 月 11 日,能够容纳一万七千名观众的西雅图钥匙体育馆,来自各地的 Dota 爱好者共同见证了乌克兰选手 Dendi 与人工智能 OpenAI 的 1V1 比赛,也见证了 Dendi 不敌 OpenAI,并在战局最后直接放弃的全过程。对于玩家们来说,这是一场令人难忘的失败,而对科技爱好者来说,这却是人工智能的又一次突破和狂欢。( 点击查看视频 )
Dendi 原名 Daniil Ishutin,他的游戏 ID 为 NaVi_Dendi,是 Dota2 现役选手中,极具实力和想象力的一位,在第一届以及第二届 Dota2 国际邀请赛中均获得过亚军的成绩。而 Dota2 国际邀请赛被认为是全世界影响力最大,级别最高的电子竞技赛事,每年全球数以千万计的爱好者通过现场或者网络在线观看,中国队也在这项比赛中有着出色表现。
什么是 Dota2?如果你不熟悉,可以脑补出《王者荣耀》这款游戏作类比,本质上《王者荣耀》的玩法和 Dota2 相同,Dota 系列出现的很早,而且几乎是启发了所有 MOBA 游戏的「鼻祖」(包括王者荣耀),而 Dota2 是 Dota 系列的正统续作,不过在这个游戏中,要玩好游戏对玩家的操作要求更高,需要思考的内容更多。
所以你可以理解为,Dendi 作为人类玩 Dota2 最出色的玩家之一,输给了人工智能,并且是在短短十多分钟之内。在开打前 Dendi 信心满满,毫不畏惧对手的挑战,在开赛时,全场观众高喊「Robot」为人工智能加油,但当最终 Dendi 输掉比赛时,所有人都对这一结果感到不可思议,毕竟在以前,电脑可从没有在 Dota2 中战胜过人类职业选手。
比赛选择了颇具技巧的 1V1 对局,这个玩法和大家熟知的王者荣耀 1V1 类似,但在细节上有所差异(我会在后面讲到)。在 Dota2 中,常见的有 1V1 和 5V5 两种对局(当然也有 3V3),如果说 5V5 考量的是玩家和玩家之间的配合以及大局意识,那么 1V1 则着重考验玩家对游戏细节的掌控,包括极限操作、日常基本功的训练等,尽管不用与队友配合,但 1V1 比赛仍然是很讲究技巧的对局。
(从比赛开始就被 OpenAI 压制的 Dendi)
人类选手 Dendi 从开局就表现出了职业游戏选手应有的判断与操作执行力,但 OpenAI 却也展现出了足够「职业」的游戏水准,在对局开始后,不论是从卡兵线到补刀,再到双方正面较量时对技能的精准施放,都表现的异常敏锐。
由于是 1V1,所以双方的对决中细小优势的积累(经验的细微差别)往往能造成更大的影响,OpenAI 在开局之后通过良好的「基本功」以及让人惊讶的操作意识,在经验和攻击力上领先了 Dendi。
「请不要欺负我」Dendi 略带「调侃」的在比赛中喊到,这个职业生涯共赢下 735449 美金的选手竟也招架不住电脑的攻势,在第一局比赛被 OpenAI 连杀两次之后,第二局又被杀一次,选择了放弃对局。
这是一场疾风暴雨式的比赛,仅仅十几分钟,人类失败了,败给了人工智能,相比今年 5 月柯洁和 AlphaGo 的围棋大战,甚至追溯到 20 年国际象棋中输给「深蓝」。Dendi 的失败快了很多,但千万不要以为 Dendi 故意放水,要知道在这场比赛之前,OpenAI 就已经击败了另外两名 Dota2 高手玩家 SumaiL(世界最好的 1V1 选手)和 Arteezy(世界顶级选手)。所以比赛的结果其实早已被预料到,只不过没有想到它能让人类玩家输的这么惨。
比赛结束后,OpenAI 背后的大佬 Elon Musk 发了条推特,很显然他对 AI 在这场比赛中战胜人类非常高兴,并表示:「OpenAI 这场比赛胜利要比围棋和国际象棋复杂得多。」所以这里有一个疑问出现:到底 Dota2 这样的游戏和围棋相比哪里更「复杂」?OpenAI 又为什么会取胜?
一次升级与变革
Elon Musk 的说法不完全正确,事实上,围棋和 Dota2 这样的游戏在复杂度上不在同一维度,而他所理解的复杂度,在当天那局比赛中也并没有完全展示出来。
首先我们要理解,围棋和 Dota2 这样的游戏,本质上有着不同的难点,并不是 Elon Musk 认为 Dota2 比围棋复杂,就是围棋没有难度了。
大家都知道围棋很难,它的难度在于其高度抽象性,黑白两种颜色的棋子,要在 19*19 的棋盘之上,穷尽出所有的变化,这个量级能达到 10 的 170 次方(在围棋的合法规则下),远远超过了国际象棋(后者变化是 10 的 64 次方),这也是为什么围棋是最后才被机器「攻克」的棋类游戏山头。
宇宙中原子的数量大约是 10 的 79 次方,而围棋的变化竟比原子数量还要多,所以想要用穷举的方法将围棋所有可能出现的情况装进机器里,这是计算机难以做到的事情,也是过去人类迟迟没有找到办法让机器围棋战胜人类的原因。所以当 DeepMind 通过训练人工智能 AlphaGo 战胜人类之后,才引起了强烈轰动,因为借助深度学习技术,人类第一次让计算机展现出了创造性「思考」的能力。
(图片来自 AI Research)
至于 Dota2,它是归属于 MOBA 类型的竞技游戏:游戏中每个玩家要选择一个英雄角色,通过与对手的较量,积累优势,并最终摧毁敌方基地获胜。从游戏本质讲,它的变化更多在于团队配合与战局的分析,时机的掌控,包括随机应变的能力等。
Dota2 这样的游戏,难点在于竞技的双方阵容有着不同的搭配和克制关系。游戏中有「敏捷」「智力」和「力量」三种不同类型,一共 113 名不同的角色(另外还有 148 件不同特性的装备),这些技能各异的英雄之间有着微妙的平衡与制约。当团队对抗时,不但要比拼操作上的技巧,更重要的是阵容的平衡以及局势的判断,什么时候进攻,什么时候撤退,当队友被杀时是选择支援还是暂时撤退,这些考验分工协作和团队配合的操作,不单单需要有「创造性思考」的能力,更要有团队配合与随机应变的能力。
(Dota2 的一大难点在于阵容的搭配与克制)
所以,Elon Musk 所说的复杂,是在围棋之后更进一步加入新能力的复杂,它在尝试的新问题是「人工智能之间的配合」以及「不完全掌握战局情况下局面的判断」,但这并不意味围棋不复杂。这时我们可以进一步去看,就知道为什么 OpenAI 当天的比赛并没有完全展现出 Dota2 这款游戏的「复杂」?
OpenAI 和 Dendi 的对决中,选择的是 1 对 1「单挑」的形式。这种形式不要求队友的配合,只考虑玩家个人基本功以及细节操作,所以这时候训练 OpenAI 就不需要考虑团队配合,只需要让它掌握个人技巧,在这一点上 OpenAI CTO Greg Brockman 在当天比赛中这样介绍:
「我们只是通过让它自己玩游戏来训练自己,我们没有为它指定任何战术,没有让它从人类高手那里学习,从最开始它就是自己和自己在进行训练,完全进行充满随机性结果的训练,开始进步很缓慢,不过最终达到非常专业的水准。」
「它最开始选择英雄后会到处乱跑,然后被防御塔干掉,但逐渐能够掌握到一些战术,比如一开始进行兵线清理时不懂得什么是兵线,但后来可以学会补刀。这是经过非常多细微提升之后,它们变得像一个非正式选手,之后变得更有攻击性,更懂得去做一些引诱(战术)。」
这样的方式正是 OpenAI 团队用短短两周时间就被训练出来战胜人类的原因所在,在 OpenAI 的官网上有一小段视频,告诉大家它究竟学会了哪些东西:( 点击查看视频 )
- 补刀(Last Hitting):给小兵最后一击以获得金币
- 转移仇恨(manipulating Creep aggro):在游戏中通过诱导攻击改变小兵和防御塔的攻击对象
- 卡兵线(Creep Blocking):在双方军团兵线前进的路上利用物理碰撞改变小兵的路径,从而达到延缓兵线的目的。
- 压制(Zoning):在地方不补刀获取经验和金钱时进行骚扰。
- 攻击闪避(Raze Dodging):通过学习技能攻击与施放效果来更好躲避伤害。
- 攻击诱骗(Raze Faking):通过施放技能和改变攻击对象向敌人发起佯攻从而遏制敌人。
- 新情况(New Situation):通过训练来处理游戏中发生的非常规事件,比如敌人出三只运装备的动物信使时应该如何处理。
- 追杀(Chasing):长距离追逐对方虚弱敌人并完成击杀。
你不必完全了解这些指令都是什么意思,你只要知道 OpenAI 通过「左右互搏」的训练方式,已经具有比肩人类选手的「单挑」能力,而这个过程,是人类玩家长年累月练习才能达到的技巧,但这个训练背后,OpenAI 暂时没有团队配合的能力。
一定有人好奇,以前我们在玩单机游戏时不就存在着 AI 机器人的说法吗?那么这些人工智能专家现在在训练的 AI 究竟有哪些不同之处?
很重要的不同在于,过去在这些游戏当中存在的 AI 机器人,他们也许比你有更好的操作细节,但它们整体是「机械」的,它们不会思考,更不要说有自己成型的战略体系。过去我们不论是打红警也好,星际也好,选择一个「冷酷的敌人」,它们通过「作弊」的方式形成优势,就是资源更多,军队训练更快,或者科技更快,但它们都没有自己的「战术」,在职业玩家眼里,它们只是用来热身的工具罢了。
「这是重复了一个又一个生命周期后形成的经验,所以它探索了各种不同的战术,它从那些击败他的对手中学习,同时比任何人类都探索着更多的战术。」
Greg Brockman 在赛后的简单采访中这样表示了 OpenAI 的学习能力,所以让我们更期待的,其实应该是 OpenAI 要在一年之后,正式挑战 Dota2 的团队赛,到明年,也许我们真正能够看到它和围棋相比所展现出的「复杂」,那或许才是真正的「变革」。
博弈游戏的边界与融合
这边 OpenAI 在训练 Dota2,那边 DeepMind 和 Facebook 在紧锣密鼓的训练着星际争霸 2,为什么这些专注于人工智能技术的前沿科技公司,不约而同的都热衷于从电脑游戏中训练人工智能?这个问题你是不是也好奇过?
从石头剪刀布到麻将、纸牌,从围棋到 Dota、星际争霸,这些游戏的过程或简单或复杂,但却有着天然的相似性,我们称之为「博弈」。从很早以前,人们就已经尝试定义什么是游戏,路德维希·维特根斯坦最早希望从诸多要素中对游戏进行定义,其中一项就是「竞争」。「博弈」是最能展现出社会复杂性特征的要素之一,人工智能挑战围棋之后再挑战 Dota2 和星际二,一个重要原因也在于此。
在围棋的对局中,双方随时都能看到对方目前的情况,意味着玩家没有隐藏信息,过去的所有信息一目了然,所谓知己知彼,靠的是玩家对于游戏规则的透彻理解和想象力,大家熟知的国际象棋、围棋等都是这样,它们被称为「完全信息博弈游戏」。围棋作为「完全信息博弈游戏」最复杂的代表,成为了人工智能要战胜的目标,AlphaGo 的胜利意味着这种类型的游戏已经不再是人工智能的盲区。
有了「完全信息博弈游戏」,自然就有「不完全信息博弈游戏」:对局的双方无法完全了解游戏局势,在瞬息万变的局势下,双方需要根据当前状况进行一定的猜测和判断,这种判断和猜测的基础是对于收集的有限信息来进行的,所以这些猜测和判断可能会赢也可能会输,这种博弈不但要抓时机,还要「猜得准”,所以靠的不光是对规则的掌握,更是如何在获取不到足够信息之下赢得「最优局」,这方面,Dota2 以及星际争霸 2 是最典型的代表。
(Dota2 和 星际争霸2 比较)
虽然属于不同类型的游戏,但 Dota2 和星际争霸 2 有着相似之处:
第一,游戏中对局双方无法知晓全部信息。战场笼罩的「战争迷雾」让双方不能直接看到当前对方局势,只能够通过不断侦查获取信息从而进行判断。
第二,游戏中实力的变化更加动态化。没有谁是绝对强势和弱势,真正胜利的一方也许是在某一时间点抓住了对方的弱势,而这一时间点的判断是通过侦查和经验判断来做出的复杂决策。
第三,对局双方可以通过诱导、佯攻的方式改变战场走向。即便处于弱势,也能通过一些心理博弈达到局势的转化。
不过,Dota2 和星际 2 有所不同,星际争霸 2 是一款即时战略游戏(Real-time Strategy,简称 RTS),它本身的规则就是,通过建造战争工厂,采集资源,生产不同的兵种,来完成对于对方的战争胜利,和我们小时候玩过的红警、帝国等游戏类似,但又有不少区别:
- 在星际 2 当中,玩家可以选择神族、人族和虫族中的一方,这三个阵营除了兵种不同之外,作战方式和发展方式也明显不同,而红警、帝国当中不同国家的设定基础都是一样的。
- 星际 2 中没有绝对强势的兵种和绝对弱势的兵种,不同于红警和帝国中某些兵种的设定,星际 2 中的兵种属性平衡做的非常好,强大的兵种需要耗费更多资源,并且也有其自身的弱点。
- 星际 2 中的资源有限,(兵种)人口有限,如何在有限的资源内生产不同类型的兵种,搭配形成最大的优势是玩家在侦查之后要做出的决策,而红警、帝国这样的游戏不存在这样的限制。
不论是 Dota2 还是星际 2,在现实世界中,我们遇到很多场景都类似这些游戏这样的「不完全信息博弈游戏」:不但局面复杂多变,而且获得的信息往往是有限的,往往需要多方协作达成最优解。所以人类一旦能训练出这种具有处理「不完全信息博弈游戏」的人工智能,将会彻底改变我们的决策策略,在医学检查、金融分析甚至是战争分析中都将发挥巨大的作用。这也是为什么 DeepMind 和 OpenAI 会花大力气去进行这些游戏的研究所在,也是 Elon Musk 看到 OpenAI 初战告捷之后发推特来表示骄傲的原因。
可以说,正是因为有 Dota2 和星际争霸 2 这样的游戏存在,才使得人工智能有机会从更高层面影响人类社会,在「不完全信息博弈游戏」中,人工智能的飞跃会将我们的认知带到一个崭新的层面。
在看得见的未来
训练一个强大的人工智能显然是困难的,但这个训练速度却在加快。
在早期的 AlphaGo 训练中,通过对 30 万盘围棋的学习,计算机开始拥有应对这些不同棋局的能力,这个过程不仅仅是记住这 30 万盘围棋,更是通过棋局泛化出学习能力,具有了像人一样的「棋力」。
训练围棋的过程,科学家们使用的是蒙特卡洛树搜索与两个深度神经网络(策略网络和价值网络)相结合的方法:策略网络的作用是选择在哪里落子,价值网络的作用是衡量走这一步对全局的影响。
之后,通过让 AlphaGo 自身与自身进行「左右互搏」,在随机变换棋局的情况下不断提升水平,这种学习叫做巩固学习,AlphaGo 可以自己给自己设问题,并自己做出解答,而不论是问题还是答案,围绕的统统都是「赢棋」这一目标。在今年 5 月与柯洁对战时,DeepMind 官方称其已经不再需要观看棋谱了,整个过程花了不到三年时间。
和 AlphaGo 不同的是,在 OpenAI 的训练中,它们直接选择了「左右互搏」的方式,OpenAI 在没有学习任何比赛经验的情况下,自己摸索出了获得胜利的方法,这个过程重复了两个礼拜,就战胜了人类最厉害的职业选手。
虽然目前不知道 OpenAI 是否会在之后的训练中参考人类比赛时的资料,但可以确信的是,通过让人工智能自己去理解游戏中的各种要素,自己摸索规则学会在游戏中获胜的这个方法,将来可能适用于更多领域,换句话说「左右互搏」的方式也许将会适用于许多场景的人工智能训练上,而且训练速度也许越来越快。
对游戏玩家而言,一个更加聪明的 AI 自然能够对游戏水平起到不错的提升,也许当我们再去玩一些剧情游戏时,故事走向能根据玩家的行为作出相应的调整,显得更加有互动性。
而对人类来说,一个更聪明的人工智能不仅将帮助我们完成复杂局势的辅助决策,它公正、理智且不需休息,最重要的是,它的进化速度将会慢慢超过我们的认识,如《未来简史》作者尤瓦尔·赫拉利所说:AI 会改变人类变革的基本原则,让我们的生命会从一个有限的有机体变成无限的无机体。