自AlphaGo彻底在围棋领域战胜人类后,包括DeepMind在内的诸多科技公司开始把目光转移到游戏领域。相较棋牌类而言,对战游戏中涉及的信息处理和决策选择,称得上难度剧增,如果真的能够彻底在这些方面战胜人类,可以说AI的实力又攀升了一个阶段。
关注相关消息的朋友,应该留意到近期两件游戏领域ai相关的消息,一件是DeepMind和暴雪发布了用于星际争霸2(SC2)的机器学习平台SC2LE,另一件是Openai的bot在dota2单人solo赛上完虐了职业选手。
先来说说SC2的,这游戏相对来说有些年头,目前是在国外尤其韩国流行,身边可能在玩的玩家相对少一些,但是这毫不影响SC2是一款成熟优秀的即时战略游戏。所谓即时战略,即需要即时进行决策,并进行宏观上的排兵布阵以及资源分配。拿围棋对比的话,围棋每一步要进行的选择是300多,而在星际2中,仅在一个84*84的屏幕范围内操作,就有大约1亿个可能的操作。而在游戏中,不仅仅是操作一个行为正确即可,战略体现在有时做出的决定往往是在十几分钟甚至更久后才会产生效果。同时,玩家只能看到自己当前观察的地图部分,即全局信息是不完整的。综上可见,一个玩家在进行游戏时,除了需要准确操作外,还需要对有限的信息进行推测判断,并有所计划地安排当前的操作,以在后续的过程中获得优势。
其实玩过游戏的朋友都知道游戏里很早就有传统的电脑AI可供对战,所谓人机对战似乎也没什么新奇。传统的AI是通过api数据接口的形式来获取场上的信息,比如在双方部队交战时,无需去点选敌方的每一个部队单位,就已经通过api获取了敌方的所有血量\蓝量等信息,再通过接口的形式指挥己方单位来进行交战。DeepMind所要挑战的方式却并非通过api接口来获取数据和操作,而是完全模仿玩家所能获取的信息,并依靠键盘鼠标进行操作。如下图中指挥一个农民建造房子的过程。
如此要求之下,DeepMind和暴雪努力的这一年里,在尝试了随机策略、随机搜索、全联接卷积、全联结LSTM后,也就仅仅能比较好地完成上图的造房子造农民。但是对战的话,连传统的简单难度AI都不赢,甚至把一场游戏打完的能力都没有。。。可想而知,这次的挑战在当前的深度学习和增强学习算法支持下,可能是无法完成的。于是乎DeepMind和暴雪就联合发布了游戏输入输出的API,并做了基于Python的封装,同时承诺会持续发布对战replay作为训练数据。算是把这个难题推给了全球的算法研究爱好者们,期待会有优秀的方法带来突破吧。
再来说说TI7赛场上亮相的Openai,主办方挺有心的约来人气选手DENDI来做“展示用小白鼠”,和bot打一场公开的solo表演赛。最后的场面是DENDI被完虐,第一局0:2人头告负,第二局被击杀一次后直接打出GG,并拒绝再打第三局。
3分钟20秒开始比赛,之前有SumaiL、Arteezy 等选手在赛前测试时被完虐时的场景
刀塔的完整游戏是5V5的moba型游戏,即由两队各5名玩家操作一个英雄来进行对战。而本次openai挑战的是solo比赛,是刀塔玩家很喜欢用来比较操作基本功的1V1模式。该模式下主要比拼的是玩家的操作基本功,包括卡位、补刀、压制对方、仇恨控制等。
根据Openai在比赛前后的宣传文章来看,他们在进行bot训练时,并没有使用任何玩家对战的replay数据,而是纯靠自对战提升的方式,大约20小时的时间后就达到了目前的水平。而数据获取方面,Openai使用的应该还是刀塔2提供的接口方式,只不过对AI进行了限制,让AI的apm(单位时间内平均有效操作次数)和人类平均水平相同。
两件事情出来之后,就有有心之人开始想搞个大新闻了,片面的说Openai的实力远超DeepMind之类来造噱头,实在是不负责任了。
上文中其实已经大致说明了原因,首先是二者所要挑战的任务难度差别很大,Openai面对的1V1任务极大简化了所要分析决策的内容,他们自己的文章上也指出仍无法完成5V5的挑战。其次是数据获取与执行操作的方式,api接口下任务相对简化,而Deepmind和暴雪反而是挖了一个深坑,基本的数据获取就在进行图像的处理分析,从简化的2D特征图开始。另外就是目的的不同了,功利的角度看,Openai更希望能够有所成绩宣传自家,而不像已在围棋方面获得声望的Deepmind更有些挑战极限的意味。
但是不过无论怎样,不能否认两家公司都在做出让人钦佩的工作,能够认识到目前的算法领域,已经在把攻克战略游戏当做一个挑战性的目标,富有挑战以及价值。这一目标被彻底达成时,真正的强人工智能也就不远了。在那时的背景下,许多行业尤其重复性逻辑性强的行业,都会受到影响与冲击,毕竟,人工智能能够很好完成工作内容时,所需考虑的就只是时间和成本了吧。