文史中 孙悟空在旷野上狂奔,喉咙里喊出:ImReal!! 他把金箍棒直插入地,炫目的振波四散冲开,眨眼间,又跳到敌人近身左右开弓,一顿输出行云流水,对方血槽见半。 然而,就在下一秒,猴子却突然判若两猴,握着铁棍,失神呆立,任由对手揪住一阵爆锤,刚才的威风无影无踪。 原因很简单:我在打《王者荣耀》刚刚我还在操纵孙悟空,现在我把手指从屏幕上挪开了。 在0和1编织的赛博世界里,哪怕贵为齐天大圣,没有玩家的灵魂注入,它也只是一具皮囊。 孙悟空并不Real。 看到这儿,很多浅友可能会哭笑不得:中哥你在说啥?孙悟空不就是个游戏角色么?游戏角色不用人操纵,难道还能自己上阵杀敌不成? 诶,那可真不一定哦。 最近我就遇到一群人,他们用了6年时间在王者峡谷里铺下了千万行代码,完成了三连杀: 第一、用人工智能指挥英雄战胜了无数人类好手。 第二、他们还把《王者荣耀》改造成了AI科研的试炼场; 第三、他们甚至把小小屏幕背后的游戏变成了多智能体协作这个人类前沿技术命题的悟道之地。 听我细细道来。 (一)为英雄披上AI战甲 2016年,成都,一群人围坐在会议室里,眼神如哲学家般深邃,如圣徒一样虔诚,仿佛面前有一团篝火。 坐在C位的这个,名叫黄蓝枭。 你也许不认识这位老哥,但很可能以特别的方式和他神交已久。因为他就是现任王者荣耀的执行制作人,也是天美L1工作室的总经理。 多少个夜晚,你在被窝里端着手机上分的时候,四舍五入就是在黄蓝枭和他的同事们营造的王者峡谷里辗转缠绵。 当时,这群人正是在讨论这个古老而诗意的命题能不能用人工智能控制王者荣耀的英雄去战斗? 看到这儿,你脑袋上可能又有问号了:王者荣耀的开发团队不好好做游戏,为啥非要用人工智能打游戏呢? 要搞清楚这个事儿,我们不妨坐在黄蓝枭和王者荣耀技术负责人杨光身边,听听他们在说什么。 彼时的《王者荣耀》还不是现在这般耀眼的全民游戏,里面可选的英雄也只有几十位,远没有后来的一百多个。 虽然很多英雄正在秘密开发中,但有一个问题贼拉困扰他们,那就是这个英雄放出去之后,可不敢太能打。 这是为啥呢? 因为如果它的技能太牛X,那么,玩家用原来自己熟悉的英雄肯定打不过它,只好被迫抢着选这个英雄(或Ban掉它),这还有啥意思? 就像跷跷板一头被300斤的大胖子压得死死的,角色失去了平衡性。 平衡才有趣(截图出自短片《Balance》) 那怎么才能让一个新英雄在出生的那一刻,就和其他旧英雄是平衡的呢? 其实,在游戏开发界有一个祖传秘籍新英雄发布之前,要找很多专业游戏测试员,用它跟老英雄打上几千场。各种姿势都尽量测试一遍,最终胜率在50上下,那就说明它不比别人厉害也不比别人弱鸡嘛。 祖宗之法虽好,却有三个问题: 第一、测试员毕竟是人不是神,难以面面俱到。英雄放出去后,上亿玩家的智慧一起轰炸,还是难免发现一些骚操作,打破平衡性。 第二、人工测试太贵,越是要测试得万无一失,越是需要更多测试员,就越贵; 第三、测试员一多,又难免走漏风声。新英雄提前泄密,是游戏的大忌。 听到这儿,黄蓝枭看向你:这位同学,你有啥好办法? 估计你会说: 那能不能搞一个水平很高的机器人,左手新英雄,右手旧英雄,自己跟自己大战十万回合? 反正电脑也不吃盒饭,有电就能跑,不仅省时,还能比人类测试得更完善,还不担心泄密,一举三得! 你看,这不就回到我们刚才说的用人工智能打游戏了么? 人工智能脑补了十万场对局 这个打游戏的人工智能是怎么做出来的呢?我好奇心爆棚。 黄蓝枭示意我慢慢来,在继续讲故事之前,他得先给我科普一个小知识。 从游戏开发的角度,用电脑控制的角色有个统称,叫智能体。 他说。 如果宽泛地说,智能体的历史可非常悠久。 就拿大家都熟悉的1985版《超级玛丽》来说,那个一上来就收走了无数小白人头的香菇怪就可以看做是最简单的智能体。 进一步说,《仙剑》《最终幻想》里那些叨逼叨的NPC也是智能体; 再看《星际争霸》《王者荣耀》里,那些小兵、野怪就更是智能体了。 这里要猛敲黑板!!! 人工智能是近几年才成熟的,那在这之前,驱动智能体的经典技术叫做状态机或行为树。 所谓行为树,可以理解为是一个身上长满了开关的机器人。 比如天气黑了,就相当于触发了一个开关,机器人就要做一个动作;对手发了一个招,就触发了另一个开关,机器人就会躲避,然后按照预先写好的脚本还击。这个和工业上的机器人原理类似。 总之,所有反应的背后都是一条条具体的规则。规则越完备、越细致,机器人就看起来更聪明。 黄蓝枭解释。 这是一个简单的行为树示意图。 用行为树驱动的智能体在《王者荣耀》里早就有了,用在小兵、野怪的控制、新手教程之类的很多地方。 那还要人工智能干啥? 这是因为,行为树存在天花板,里面的规则即使写得再精细,水平最多也就相当于青铜。 用行为树来测试新英雄的平衡性显然不靠谱这就像战士们日常用棒子操练了十万次,上战场之后看到对手掏出了机关枪 现在你就明白了,回到2016年,王者AI团队想要的东西准确来说是用人工智能驱动的高级智能体。 做出这种智能体,所需的技术约等于人类科技的极限,纯靠天美工作室的能力恐怕不够 大伙儿发愁,从哪儿找点厉害的帮手呢? 此时,我们不妨把王者团队的故事按下暂停,挪一下地图,从天府之国穿越到祖国南海。 2016年的深圳,腾讯总部,有另一帮人同样聚在会议室里,眼神如哲学家般深邃,如圣徒一样虔诚,仿佛面前有一团篝火。 这群人来自腾讯鼎鼎大名的人工智能实验室腾讯AILab。 给不熟悉的浅友多介绍一句,腾讯AILab,基本代表了他们人工智能技术的最高水准。 他们做出的病理AI云平台,可以辅助医生看细胞涂片,识别一些早期癌症的准确率相当于35年经验的医生; 他们做出的药物研发系统云深,可以大大加快新药研制的速度。 他们做出的围棋AI选手绝艺,可以优雅地让世界冠军柯洁两子还能击败他; 杨巍,就是腾讯AILab的创始成员之一。 杨巍 当时,他和同事们刚刚做出绝艺,虽然横扫一票人类围棋大师,但他感觉不到狂喜因为半年前,DeepMind刚刚用阿法狗虐完李世石,中国人做得再牛,也不是首创了 那怎么才能做出比下围棋的AI更厉害的人工智能呢? 纠结中,杨巍划开手机屏幕,突然看到了《王者荣耀》的图标比围棋更复杂的游戏,我们腾讯有啊! 王者荣耀团队和AILab一拍即合。 大家踌躇满志,既然要做出最能打的AI,那就得起个最能打的名字。斗战胜佛悟空不正是中国文化里最能打的人(猴)么?这个AI还是绝艺的同胞兄弟,按照绝字辈排下去,就叫王者绝悟!(为叙述简便,下文简称绝悟) 回忆起这个梦开始的地方,黄蓝枭还是激动不已。 用人工智能去测试英雄的平衡性、改善新手教学关卡,让玩家玩得更爽,这当然是现实目的,但仅仅这样理解它的意义,就太简单了。 我们看到了一个更大的机会:《王者荣耀》这个纯国产自研的IP如果可以突破游戏的局限,成为一个训练智能体协作的基础设施,那才能对社会和产业有更深远的帮助! 他说。 杨巍接受委派,成为了绝悟的AI技术带头人,心潮奔涌。 然而,热情的岩浆即刻冷却,变成了沉重的砖石。 举目四望,当时整个地球上还很少有人公开用AI打复杂游戏的计划,也没有研究者公布相关学术论文,更没有成熟的代码、算法可以参考标准的三无状态。 该从哪儿下手呢? (二)英雄的内啡肽 在普通人看来,围棋和《王者荣耀》是毫无关系的两种玩意儿前门楼子和胯骨轴子。但在杨巍这种专业大牛的眼里,《王者荣耀》其实可以理解为升级版的围棋。 只不过,升级的跨度有点大就是了 杨巍告诉我,它们的区别主要有三: 第一、围棋的玩法是一对一,王者荣耀的玩法是五对五(5v5),可以不严谨地理解为10个人一起下的围棋。 第二、围棋是回合制比赛,我下的时候你只能看。但王者荣耀是即时竞技,两边同时肝,谁犹豫一秒就会败北。 第三、围棋盘面就361个点,黑方和白方看到的局面都是完整的、一致的。可王者荣耀的游戏玩家只能看到自己视野内的局面,至于视野外的敌人具体在干嘛,那纯得靠猜了。 从数学的角度看,玩这种(有绝对强度的)对抗游戏,要想胜率达到绝对意义的100,其实只有一种办法穷举。 就拿围棋来说,对手下完一招棋之后,我如果可以把棋盘上所有能下子的点位都思考一遍,然后在每种可能性的基础上,再把接下来对手可能下的点位再思考一遍,以此类推,把亿万种不同的剧本全都尝试过,最终就能遍历所有的状态空间。 这相当于每一种走法将会导致的结局我全了如指掌,那想输也输不了 但坏消息是:穷举围棋的每一种姿势只在理论上可行,现实中,它已经超越了所有计算机的计算极限。 还有更坏的消息:王者荣耀的状态空间比围棋更大,更是超越人类计算机极限不知哪里去了。粗略估计一下,打一局王者,里面可能有10的20000次方种操作的可能性。不好意思,宇宙中原子的总数也只有10的80次方个。这事儿估计上帝也做不到 不用穷举法,那用啥法呢? 用依葫芦画瓢法。 还是举个生活中的小栗子吧。 你是一个360斤的胖子,想减肥到120斤,这是你的终极目标。 为了达到这个目标,你得分成10086个步骤来做。而每一步里,你还面临10086种选择。 比如早晨第一步就有不吃早餐、吃包子、吃面条、吃鸡蛋、吃肉夹馍(你完全没办法穷举) 可是,哪个操作能提高最终的胜率,你完全不知道啊! 这时候,最好的办法不是原地苦想,而是看哪位老哥曾经减肥成功,你模仿他的操作。 如果他早餐吃的是鸡蛋沙拉,那你也应该先尝试吃鸡蛋沙拉;他第二步是晨跑30分钟,那你也应该这样。(虽然从上帝视角来看,一定存在更适合你的办法,但你就!是!不!知!道!最好的选择只有模仿) 绝悟最初学习打王者也是同样的道理,这个过程的学名叫模仿学习。 模仿谁呢?模仿职业电竞选手。 王者荣耀的高手大概都知道,有一个名叫KPL(王者荣耀职业联赛)的比赛,是这款游戏的最高殿堂,每年职业选手都会在这里来一次华山论剑,而这些比赛录像都是公开的。 于是,腾讯AILab赶紧把这些录像都找来,让人工智能学习。 KPL比赛现场 人工智能当然不会排排坐背着手听老师讲课所谓学习是通过一种叫做奖励的东西实现的。 这一点和人类的进步过程也超级相似。人在不断实现目标的过程,大脑会分泌奖励递质内啡肽。 还拿减肥举例:今天你跑步半小时,内啡肽就会分泌;晚餐八分饱,又会分泌;睡个好觉头脑清醒,又会分泌;直至最后减肥成功,大分泌。 人类的内啡肽分泌体系是千万年进化的结果,可绝悟没这些,脑袋里是一张白纸所有的奖励机制都需要人类从头设计。 所以,人工智能的训练,本质上就是奖励设计的过程! 杨巍一语道破天机。 这段科普截取自X科技实验室的视频节目,他们很好地解释了绝悟的训练过程,非常推荐,链接附后。 比如,敌人被击中掉血,我方英雄该怎么赏?对方英雄出招被我躲过,赏多少?对方英雄被击杀,怎么赏?推掉一个塔,怎么赏?打团帮同伴挡住敌人大招,怎么赏? 当然除了正奖赏,还有负奖赏罚。 比如,我方英雄被击中残血,应该罚多少?如果罚得太多,英雄就会不敢出战,各种逃窜,甚至掉一丝血就想回城补血;如果罚得太少,英雄又会傻冲,容易被团灭。 你看,这种奖励的设计过程非常精细往往奖励值变化一点点,就会导致训练出来的英雄性格迥异。所以,需要技术宅们蹲在电脑前反复调整实验,才会试出理想的结果。 注意看,这里杀敌的奖励反而是负的,因为这个过程会导致其他奖励都在增加,如果此处再给奖励会让AI过于执着于击杀敌人。(由此可见奖励调整过程中有很多反直觉的操作。) 怎么样,听上去这个绝悟训练计划天衣无缝吧。 呵呵。 (三)少年绝悟 我们把时间轴拉到2017年。 彼时,已经埋头苦练半年的绝悟一招一式都有了模样,感觉棒棒哒,迫不及待想找个对手试一下。 来,你们出个强人跟绝悟打一场!杨巍对王者团队下战书。 王者的同学说,我们不是有负责新手教学的行为树么,绝悟先跟行为树打一仗,赢了再说呗。 哼,竟然小瞧人。杨巍他们哼着小曲把绝悟和行为树的接口连通,两边干了一架。 结果绝悟被打得满地找牙。 之前说过,行为树的水平大概是倔强青铜,这么一比的话,彼时的绝悟水平大概就是躺平废柴 啊,我们一群人开发了半年的人工智能,比不上一个王者开发同学花半个月写的行为树,那感觉简直无地自容。当时就觉得这玩意儿简直太难了。 杨巍回忆。 受了打击,他跟业内专家交流,倒倒苦水。 本想求点练兵高招,可大家的意见却如五雷轰顶:这玩意儿做出来的可能性确实不大,早点放弃,也不是不行 可是,眼看团队同学们每天还在冥思苦想解决办法,自己放弃,这可怎么见江东父老呢?他只好顶住压力,装作无事发生,继续鼓励大伙儿。 果然,功夫不负苦心人,有两个方向渐渐在他们的视野里清晰起来: 第一,即便是KPL高手,也不意味着每一个操作都是正确的嘛!他们也有失误,也会有平庸的操作,不能啥都跟他们学。 第二,人类打游戏时是左手控制方向,右手控制出招,分别是两个脑区负责的。那是不是绝悟也应该把走位和出招分开来训练呢? 先说第一个方向。 怎么让AI学到人类精华呢? 黄蓝枭派出几位精锐的游戏策划师,他们不仅是游戏的主创成员,更是打游戏的高手。这些高手的任务很奇特:不用干别的,就盯着屏幕把比赛录像看N遍。 因为他们对游戏的理解特别深刻,所以,有些我们看上去炫酷的操作,在他们眼里反而是平平无奇的花架子;有些容易被忽略的微操,在他们心中恰恰是功底深厚的神来之笔(老玩家应该明白这种感觉)。 就这样,他们调动毕生经验,把真正的优秀操作一个不落地标记出来。 这个操作,就是人类高手的经验被提纯成《九阴真经》的过程。接下来,只要推着绝悟的后背传入它体内就好。 这是英雄学会了利用草丛,阴在草丛后面等对手进入攻击距离,猛然跳出一波带走。 这是两个英雄学会了配合,英雄A用护甲保护残血队友B,并且打出空间,队友B默契地用技能击杀对手。 再说第二个方向。 他们把涉及位置移动的操作全部交给一个系统训练,又把涉及出招的操作交给另一个系统训练。这样一分开,果然,绝悟的脑子不再是一团浆糊,操作清爽多了。 需要强调的是,这个思路还进一步启发了他们,除了左右手操作分开训练,是不是还能把其他一些重要的决策也独立训练呢? 于是,他们又搞出了好几个独立的脑区: 比如有一个脑区专门负责猜测敌人位置:每时每刻根据现场的情况修改判断,比如在这个草丛没有见到对手,那对手在另外草丛的概率就会增高; 比如还有一个脑区专门负责大局研判,基于现在的战势,我应该往哪里走才对整体最有利?有了大局研判,英雄的格局就打开了,不会在屏幕这一小块区域里恋战,而是能运动起来,及时出现在险要位置。 两个红点,分别表示了此时此刻英雄在全局的目标和在本地的目标。就是由两个脑区生成的。 这些脑区虽然独立思考,却能很好地协作: 1、他们都能根据自己了解的情况产生奖励值; 2、诸多脑区的奖励值综合在一起,共同对英雄的行为施加影响; 3、这种操作,就像用几根细细的丝线来共同控制木偶那样。 经过这么一堆改进,绝悟的水平果然开始慢慢提高。 怀着忐忑的心情,腾讯AILab的同事又让绝悟跟行为树约了一架这次,换行为树满地找牙了。 艾玛,大仇终于得报!绝悟团队的技术宅们复盘绝悟的战斗录像,就像老父亲拿着儿子补考了十次的60分成绩单,热泪盈眶,濒死的自信心总算缓过来一些。 可信心这个东西,几天不打击,又会变得膨胀。 2017年底,又练了几个月的团队觉得绝悟的水平可以了,是时候找几个真人胖揍一顿立立威了。于是他们在一次高层管理会上,热情挑逗茶歇中的领导们跟绝悟来上一局。 领导们兴致来了:玩就玩,正好看看你们的水平如何。 本来腾讯AILab他们盘算的是,领导又不是专业选手,水平能有多强,绝悟别把人类虐太惨就好。结果,很快他就发现自己鲁莽了。这几位自告奋勇的领导有两个都是王者段位,其他都是星耀。 豪华阵容直接把绝悟虐在当场,气氛一度有些尴尬 领导说来啊再打一局,绝悟团队说对不起打扰了 这次惨痛教训,让他们学得老乖了。 猥琐发育,别浪。后来就成了我们王者绝悟的研发方针。和打游戏一个道理嘛。 黄蓝枭说。 果然,绝悟狠狠猥琐了大半年,闭关苦练,战力大幅提升。直到2018年,陆续有同行的新闻爆出,阿法狗的开发者DeepMind正在挑战用AI打《星际争霸》,马斯克参与创建的OpenAI也开始打Dota的主意。 黄蓝枭默默点头,果然大家都想到一起去了。 这种情况,就不该再猥琐下去了,是时候让绝悟也揭开面纱找真实的人类来一场《王者荣耀》公开赛了! 可是,那时候绝悟的能力也许打不过顶尖职业赛手吧?我问。 不是也许,就是打不过。因为是跟在职业选手屁股后面学的,理论上没办法比人家更厉害。他笑。 选来选去,王者绝悟团队挑中了几位游戏主播和前KPL选手,在2018年的KPL总决赛上向他们发起挑战。这些玩家当然也很厉害,但毕竟不是巅峰状态的职业选手,想来和当时的绝悟水平正好相配。 绝悟对阵前职业KPL选手辰鬼、零度和职业解说白乐、九天和立人组成的人类战队。 杨巍带队去了现场。他还记得,比赛前一晚双方就开始斗智斗勇了。 主播队和绝悟队进行了友好的赛前会面。主播队说我们很菜,杨巍说不不不我们才菜。主播说你们敢把绝悟拿出来,肯定有把握。杨巍说真没有,你们明天千万别打得太认真。 一阵尴尬沉默,主播们终于说出了那个藏在心底的请求:今晚能不能先让我们私下打一局,体验一下绝悟的实力? 杨巍的头摇成拨浪鼓。他眼角余光瞥见同事们,这群人头摇得比他还厉害。 虽然表面不能让别人看出来,但其实心里确实没底。 因为AI训练的原理就决定了它不可能覆盖所有可能性。对手一旦使出怪招,天知道会触发什么Bug。万一绝悟有啥弱点被对方拿捏了,第二天我们必败无疑啊 杨巍回忆。 就在麻杆打狼两头害怕的暧昧气氛中,比赛正式打响。 画面通过直播信号忠实地向千万观众传送。杨巍和同事坐在导播台后面,手心里全是汗。这场比赛没有彩排,只有上帝才知道结局。 刚开始几分钟,主播队的英雄配合默契,像拳头一样猛攻,而绝悟的几个英雄却像五指伸开。这种温吞的战术让观众完全看不懂,而且局面上,绝悟也是且战且退,仿佛屏幕上写满了招架不住 杨巍都快昏过去了。 比赛到三分半,绝悟已经被四杀 当时我已经开始想,如果输掉比赛,回去要怎么和领导交代,怎么总结教训了 他说。 然而,现场观众却渐渐陷入沉默,因为绝悟稳住了阵脚,温吞的防守变成有条不紊的输出,竟然开始一点点扳回局面。 那一刻,杨巍突然意识到,除了技战术本身,AI相比人类还有一个巨大的优势,那就是无论局面如何危在旦夕,它都不会受到情绪影响,因为它就没有情绪! 反观主播,心态开始肉眼可见地出现滑坡、滑坡、滑坡、泥石流。 这是绝悟最终取胜的画面。 人类战队水晶被拆那一瞬间,藏在导播台后面的杨巍他们弹射起来,高声欢呼。导播转过身来怒目而视:吵什么!我们正在直播呢!! 绝悟脖子上戴满花环,载誉而归。 可是,和荣誉一起到来的,却是巨大的瓶颈。 (四)自己揍自己 问你个问题:孙悟空和他师傅菩提老祖谁更厉害? 那还用说,肯定是当师傅的菩提老祖更厉害。西游记里说孙悟空只跟菩提老祖学了个皮毛。就算他把菩提老祖的技能全学会,那也只是和菩提老祖打个平手。 纠结点就在这儿。从模仿学习的原理来看,是不存在青出于蓝而胜于蓝的可能的。AI无论多努力,最多只能学到师傅的八成功力。 换句话说,绝悟要想继续精进,超过顶尖职业选手的水平,已经没有师傅可以教得了它了。 只剩一种选择:自己教自己让AI通过无数次和自己对战,领悟进阶的真谛。 用人工智能的黑话来说,这种自学行为就叫强化学习。 你还记得当年,在AlphaGo(阿法狗)之后,又出来一个AlphaZero(零狗)么? 这个零狗就是通过自己跟自己下了好几亿盘棋自学成才的。后来证明,它比阿法狗还能打一万倍,人类绝无希望战胜。 这张图是强化学习的架构图(点击可以放大)。最左边是输入信息,包括:不可见信息(猜的)、小地图、己方英雄、敌方战斗单位(英雄、小兵、野怪、塔);中间是数据通过不同的神经网络;右边是输出结果,包括大局的研判、现在应该做的事情(做啥,怎么做,对谁做)。 杨巍告诉我,从2019年开始,在绝悟团队里就专门拉出来一支特种兵,用强化学习的方式秘密训练绝悟2。0。 可是,特种兵面前却是一个岔路口: 向左走,是把之前已经学成的绝悟1。0拿来继续深造成2。0; 向右走,是从零开始训练绝悟2。0。 这俩有啥区别呢? 如果在绝悟1。0基础上深造,相当于大学毕业直接考研,难度不大,但大学阶段养成的积习已经定型,受限于这个历史包袱,很难有翻天覆地的进步; 如果从一张白纸训练绝悟2。0,那么虽然能抛掉历史包袱,但可想而知计算量非常巨大,万一模型和参数调整不好,就可能面临没练会,先练废的惨烈局面 技术宅们商量了一下,欲练神功必先自宫,是男人就该对自己狠一点,咱从零开始。 最初数据看起来都很完美,但时间一点点过去,模型还是不收敛,而且曲线开始摇摆,甚至突然一下就跌到负值 杨巍回忆。 这个局面就有点尴尬了。 训练模型就好比烧制一个巨大的陶瓶放在窑里继续等待,也许再等十天半个月模型可以定型;但也可能再等个一年半载也无法定型;更有可能等了很久,烧出来一看,已经碎裂 翻遍了顶级期刊论文,也没人研究过面对这种情况应该怎么办。杨巍他们知道,自己站在实践的最前沿,只能摸着石头过河了。 仔细反思,他们想到了一种办法: 之前的操作是想毕其功于一役,把10个英雄放在5v5的地图里一锅炖,当然就会造成模型异常复杂。那能不能把训练分成几步走呢? 顺着这个思路,他们制定了周密的计划: 第一步,先在1v1的场景下把英雄分别练好。 第二步,把100个英雄分成20组,每5个英雄固定组队,让每组英雄自己和自己先进行5v5训练。 第三步,固定组队英雄训练完毕,再把英雄打乱编队,开始乱斗训练。 这个操作就像学生上课一样,一章比一章难,一学期比一学期进阶,所以又叫做课程学习。 可以拿学象棋来比喻,先学会兵,再学王,再一步步学会其他棋子。 说干就干。果然按照这个思路调整的课程,既保证了能从零开始训练,又保证了训练强度不会爆棚。 至此,已经没有什么能够阻挡绝悟2。0的水平突飞猛进了。 这张图显示的是不同阶段的课程。注意红圈里的红线高于蓝线。这表明,上过前两课的人工智能表现要超过没上前两课直接训练第三课的人工智能。 2019年夏天,绝悟2。0按奈不住,在王者荣耀世界冠军杯半决赛中对现役选手发起挑战,4位中国选手和一位马来西亚选手组成联队迎战。 这次表演赛,绝悟又把绝地反击的戏码来了一遍,战胜了人类。 确切地说,是战胜了人类玩家里最职业的那一拨。 5个人类高手对面,是5把空椅子。 这次比赛结果摆在眼前,黄蓝枭长出一口气。 从2016年开始的艰难跋涉,绝悟用了整整3年,终于爬到了金字塔尖。这背后的心酸艰难和几次濒临放弃,无法与人言说。 好在上天眷顾,绝悟成了。 讲到这儿,我们的故事就如同一条小河开始汇入大众记忆。 很多人可能还记得,2020年五一,正是很多人被疫情封在家的时候,《王者荣耀》猝不及防地升了一次级,多出了一个模块,名字就叫挑战绝悟。 没错,王者AI团队决定,把绝悟向普通人开放,所有人都能来挑战。 一方面,让人类来挑战AI,本来就是一个新奇的游戏环节;另一方面,上亿玩家围殴绝悟,对绝悟的能力和稳定性都是前所未有的试炼。何乐而不为呢? 这么多人打绝悟,你不担心大家找到什么Bug吗?我问杨巍。 这回我有信心了!再说,如果真有Bug被找到,没准儿大家更开心,能达到意想不到的宣传效果呢!杨巍笑。 果然,挑战绝悟一出来,玩家们铆足了劲儿开始研究干掉绝悟的邪术。还有大神在网上发帖,跟写论文一样阐述他发现的绝悟弱点。场面不要太热闹。 追帖的人中,就有杨巍。 有时候看大家的帖子我觉得很有趣。因为AI的训练过程是一个复杂的黑盒子,很多绝悟的操作连我们团队自己都很难解释,别人猜的就更不准了。 但大家的热情很鼓舞我们。AI的可解释性确实是一个值得研究的前沿领域,所以后来我们也开发了解析模块,专门负责理解绝悟每一个操作背后的理由。 他说。 这张图一定程度解释了绝悟的思路不同阶段,绝悟的意图不同。上图显示:推塔的时候,AI的注意力分布;下图显示:攻击水晶的时候,AI的注意力分布。 其实,对王者AI团队来说,最令人骄傲的成绩不是训练出绝悟,而是碰了无数墙壁,终于找到了训练多智能体协作的那条路。 他们把这些经验总结成训练框架,写成论文发表在了国际顶级期刊上。 这下,全世界的多智能体协作研究者终于不会再像杨巍当年那样,没有任何可以参考的文献了,人工智能的边界也由此确凿无疑地前进了一点点。 王者AI团队把过去几年摸索出的一整套强化学习框架写成论文,投到顶级学术会议(NeurlPS2020)发表。 我刚刚一直在说多智能体协作,估计很多浅友会感到陌生。 其实,多智能体协作是解决很多现实难题的基石技术之一。你不妨跟我一起想象一下: 把王者荣耀的英雄们换成汽车,把地图换成街道,就变成了一个智能驾驶问题; 把英雄们的大招换成机械臂的动作,就变成了协作生产问题; 把游戏里的分路换成大厦里的电梯井,就变成了电梯调度问题; 把防御塔看成燃烧的火焰,那么,一群英雄围殴它就变成了火场救灾问题。 这样的例子不胜枚举。 这么说吧,如果要造出《终结者》里T800那种通用人工智能机器人,一定要先突破多智能体协作技术。(我曾在《人工智能杀人回忆》里详细写过如何造一个T800,浅友们可以点击复习。) 至此,我们再回过头来看黄蓝枭所说的那句话:我们绝不仅仅是用人工智能提升游戏体验,而是要让它对社会和产业有更深远的帮助。也许,你会有更深的感受。 没错,他们要试着凿穿王屋太行,向那个诱人却迷雾重重的远方前进。 目标虽是星辰大海,可这第一步该迈哪条腿呢? (五)开悟 2019年,黄蓝枭往母校电子科大跑了好几趟,然后又马不停蹄地跑去中科大、北大、清华。 他在推进一个秘密计划把训练绝悟的一整套平台封装成一个试炼场,并且免费开放给这些高校。 这个试炼场,表面上是炼AI,其实是炼人的: 第一,同学们当然可以在其中训练出属于自己的绝悟,但其实这并不重要。 第二,通过训绝悟的实操过程,可以让更多人学会AI,爱上AI,成为AI人才,这才重要。 第三,这些人才可以带着他们的经验和代码走向各个产业,继续解决不同场景下具体的智能体协作问题,这更重要。 王者AI团队和腾讯AILAB决定给这个试炼场起名叫开悟。 开悟官网的介绍 背后的逻辑不言自明:星辰大海过于遥远,靠单排上分太孤独了,得先找到无数开悟的人组团开黑才能抵达。 不过,要做出一个稳定好用的试炼场绝非易事。 这就像你请朋友来你家教Ta做饭。你肯定不能直接把Ta丢到厨房,说你自己研究吧,这样,人家连油盐酱醋在哪儿都找不着 实际上,你需要封装出一个人家看得懂、易上手的厨房。 首先,你得把菜洗干净、把调料放好,这就是预制的算法和模型。 其次,你得把炒菜的原理和顺序给人家讲清楚,还要把用不到的调料藏在柜子里以防人家拿错,这就是AI训练框架。 最后,你还得给人家把煤气灶准备好,这就是数据和算力。 这样一来,如果你是新厨子(学生),只要按顺序放菜放料,也能炒出一盘不错的菜;如果你是大师傅(研究者),就可以自备独特的食材和调料,炒出一份米其林餐厅标准的菜。 用王者AI团队的话说就是:王者切墩,学生炒菜。 开悟的开放从电子科大、中科大、北大、清华4所学校试点。 同学们学了一个学期,怎么判断学习成果好不好呢? 这个简单,搞一个全国高校的大比赛,谁训练的AI打赢了,就说明谁学得好呗!这就是开悟多智能体强化学习大赛。 第一届比赛定在2020年8月开锣,初赛是单挑,复赛是团战。每个参赛队必须用一套模型来控制所有指定英雄。 黄蓝枭原本还很担心同学们参赛的热情不高。花了这么大的成本,万一冷场了多尴尬 但,他多虑了。 学生们的血液都是100度的,听说要争胜负,还是打王者,一下子都来劲了。一开始是本科生,后来连硕士、博士都闻风而来,各种压箱底稀奇古怪的脑洞招式全掏出来招呼。 杨巍在给第一届大赛季军(中国科学院自动化研究所队)颁奖。 作为评委的杨巍看了大家的作品,简直比喝了浓咖啡还提神。 在有限的算力下,很多同学做出来的模型收敛速度甚至要好于市面上一些主流模型。这说明在模仿学习和强化学习上,我们远远没走到头,还有很多技术空间可以拓展。他感慨。 第一届比赛在高校中一炮而红。到了第二届,参赛队伍猛然扩充到了二十几支,上次失利的队伍要血洗前耻,上次赢的队伍想卫冕成功,上次没参赛的说:别争了,冠军在此。 第二届比赛的现场转播 AI是冷血的,但训练AI的人却是有血有肉的。 清华大学的选手邵键准对他们训练的鲁班的成长过程如数家珍:从一开始被对面AI胖揍,到后来只掉一管血,最后甚至扭扭屁股走位就躲掉了对面的技能,AI成长的过程,也是对我自己的鼓励。 中科大的赵鉴养成了一个习惯:总爱亲自上阵和自己的AI对战。从一开始虐AI,到后来开始打不过自己的AI,这个过程回想起来是一件很浪漫的事。他说。 四川大学的刘朋森评价自己的参赛历程,用了简短几个词:创造生命、望子成龙、欣慰、奇妙。 让他们把训练AI的过程和生活对比,有人把训练AI比作爬山,有人比作马拉松,有人比作训练神奇宝贝,还有人比作吃火锅遇到不同的问题就像吃不同的菜,总之最后所有的菜都要吃完,而且吃饱了就很满足 但更多的同学都把自己的AI看成孩子。有趣的事情恰恰在此:他们在自己还是孩子的生命阶段,就提前学会了对一个新生命的呵护、希冀、包容和祝福。 学术交流环节 而黄蓝枭注意到一个细节:战队选手中有很多非人工智能专业的同学,他们的热情一点都不比科班同学低,作品也很优秀。 赛后不久,开悟团队的邮箱突然收到一封来自高中生的邮件。这个同学说自己对AI很感兴趣,但苦于还没上大学,想问问去哪里可以用到开悟 对于人工智能的热爱其实根植于很多人的心底,只是因为过去缺乏一个既有趣又好用门槛又低的学习平台,很多本来应该进入人工智能领域的人就这样错过了,这太可惜了。 黄蓝枭感慨。 这些反馈给了开悟团队极大的鼓舞。比赛刚一落幕,开悟团队又开始马不停蹄地走访更多学校,扩大开悟的落地范围。 就在不久前,黄蓝枭和杨光一起做了个重大决定:他们准备找合适的时机把《王者荣耀》的游戏内核开悟平台打包公开出来,让更多对AI感兴趣的研究者(无论什么职业、年龄、背景)都可以下载回来做研究。 开悟正试着创造一个人工智能面前人人平等的世界。 (六)一个游戏的使命 虽然缓慢,但预言正在成真。 2022年,西南交通大学计划开展一个研究:把源于开悟平台的人工智能模型迁移到了智能交通灯的控制。 王者荣耀的英雄们不在虚拟空间里游走,而是钻进了信号灯;他们的任务也不再是打团推塔,而是协作指挥交通、控制车流,在真实世界里输出服务。 在这一刻,孙悟空终于可以喊出:ImReal。 黄蓝枭告诉我,西南交大项目只是一个开始,类似的产业开悟合作还有好多好多,但大都在陆续展开阶段,现在还不方便透露,大家敬请期待。 杨巍告诉我,如果看向技术的未来,《王者荣耀》对人工智能的贡献可能远不止于此。 例如在内容生成方向,目前前沿的研究可以做到让AI根据角色设定自动生成对白,也可以根据模型智能生成步态、行为。 如此一来,过去通过真人动捕纯人工修正来做的NPC,未来都可以用人工智能生来辅助制作,既省时省钱,又提升效果。 这些技术同样可以脱离游戏,帮助制造未来的服务机器人或形象更友好的机器人。 而在智能决策方向,即便绝悟已经打遍天下无敌手,但放眼未来,它仍在婴儿阶段。未来可做的事情还有很多。 第一个就是:博弈场景。 你有没有发现,游戏和游戏其实是不同的? 围棋、《王者荣耀》所代表的游戏类型是竞技性的,这种游戏背后的逻辑是只要我的绝对战力比对手强,就能击败对手。 但还有一种游戏是博弈性的,比如猜拳、麻将。没有一种策略可以稳赢,我能不能赢取决于对手做了什么。 杨巍说。 这种博弈游戏的奥义,是要AI来分析不同策略的抗性。 用这种游戏训练出来的AI,未来可以辅助国际商品贸易、拍卖、市场预测等强博弈的现实场景中。 第二个是:拟人化。 在很多游戏中,真人玩家的目标可能不仅仅是赢,例如很多人喜欢玩出自己的风格,或者打出某种画面。 所以,人工智能也不应该仅仅局限于如何赢这一件事上,怎么打得有趣、漂亮,其实是更难的研究方向。 比如在王者中,有养猪流,就是4个人围绕一个人;有野核流,以打野为核心,还有鬼谷子体系、大乔体系等等。 其实完全可以通过调整奖励值来训练不同的AI风格,这些训练经验未来就可以发展成人工智能的性格和情感。 杨巍说。 我们从腾讯AILab在2021年发表的论文中可以看出有趣的东西: 红色区域表示强化学习AI会选择的打法,橙色区域表示人类玩家会选择的打法,而蓝色区域就是调整不同风格后AI学会的打法。 可以看出,蓝色AI掌握了所有流派的打法。 第三个是:人机配合。 现在的游戏AI很多都用于AIAI的配合模式。但在真正的生活中,人AI配合的情况才是多数。 比如你在打王者荣耀的时候,有时会和队友说:我要发起进攻了!这时候队友就知道了你的意图,当然他可以选择和你一起来,也可以选择不跟你来。 同理,你也应该可以和AI配合,你说你要发起进攻,AI也可以根据它对形势的判断,选择跟不跟你上。 他说。 AI还可以不听指挥么?我惊讶。 当然了,这种情况下人和AI是合作关系,不是操控关系。这种合作的效果可能比‘百分百服从’更好。他说。 我脑海里突然浮现出一个画面:也许将来AI机器人可以代替警犬和人类一起工作,它们有自己的智慧,有自己的性格,有自己的判断和原则,也有一颗独特的勇敢的心。 反正肯定比边牧强。 然而在我看来,真正科幻的是:一个曾经被很多人冷眼看待的游戏,通过这种方式和国家的科技硬实力血脉相通,息息相关。 虽然不一定人人可以参透,但某些东西命中注定: 当一个既有趣味性,又包含丰富的变量和操作接口的游戏杀出重围,成为十几亿人熟悉的全民游戏那一刻起,就没有谁比它更适合成为AI多智能体的研究平台了。 从这个角度看,让《王者荣耀》成为人工智能发展历程上的一部分,已经不仅仅是腾讯的选择,恐怕更是腾讯的责任。 (七)当王者荣耀成为玫瑰园 在我和黄蓝枭聊天的过程中,他总强调一个词:自主IP。 意思是,王者荣耀是中国人自研的游戏,其中的形象也都是以中国文化和美学偏好为出发点所创造的。 但我很不解:一个打游戏的人工智能,或者一个AI研究平台,研究不是底层技术么?至于它操纵的是关羽张飞妲己貂蝉还是什么虫族兽族巫师,这有啥区别?? 不,有很大的区别!黄蓝枭坚持。 我们做的虽然是技术,但技术的背后更是文化。 你有没有注意到,很多70后、80后甚至90后,他们一想起曹操,那个形象其实是日本人心中的曹操形象。原因很简单,我们儿时玩的三国游戏很多都来自日本,所以美学定义也同时被日本掌握了。 他说。 黄蓝枭 同样,AlphaGo是人工智能历史上里程碑的作品,但是,它却很难有一个贴切的中文译名。仔细辨认,你不难在阿法狗这个翻译里发现戏谑和丝丝无奈。再看开悟,这却是一个古老的东方词汇,佛教和道教均有释义。 黄蓝枭开始了他的设想: 有朝一日,如果《王者荣耀》和开悟平台成为了国际上最流行的多智能体训练研究平台,那么,附加于人类最先进技术之上的文化角色,就顺理成章的是花木兰,是孙悟空,而不是米老鼠、唐老鸭。 由此,中国文化的包容和闪耀,也一同走向了不分种族肤色,所有人的内心深处,成为科技史中不可磨灭的地层。 黄蓝枭对于王者荣耀的痴情,出乎我的意料。我并未设想过一个轻飘飘的游戏可以如此重若泰山地驻扎在历史的长河。 但他说服了我。 在我看来,黄蓝枭的终极梦想是把《王者荣耀》从一个竞技场变成一个玫瑰园。 你在竞技场里获得的,是激情、胜利、热血和快感;但你在玫瑰园里获得的,却是满眼鲜艳,是和芬芳共处的时光,是一段铭记良久的温情记忆。 技术的追求当然没有止境,而把文化融入科技记忆,这条路更是没有终点的。 他说。 告别王者AI这群人,我甚至有点羡慕,羡慕他们所仰望的星空,以及他们短暂的人生里,每时每刻都更加靠近永恒的笃定和浪漫。 不知为何,我突然想起国际象棋大师伊曼纽拉斯克曾说的一句话:如果宇宙中存在其他的智能生命,它几乎一定会下围棋。 如果宇宙中还存在其他生命,他会不会打王者荣耀呢? 尾图为旅行者一号在太阳系尽头拍摄的地球 (Palebluedot) 参考论文: HierarchicalMacroStrategyModelforMOBAGameAI https:arxiv。orgpdf1812。07887。pdf TowardsPlayingFullMOBAGameswithDeepReinforcementLearning https:arxiv。orgpdf2011。12692。pdf SupervisedLearningAchievesHumanLevelPerformanceinMOBAGames:ACaseStudyofHonorofKings https:arxiv。orgftparxivpapers20112011。12582。pdf MasteringComplexControlinMOBAGameswithDeepReinforcementLearning https:arxiv。orgpdf1912。09729。pdf LearningDiversePoliciesinMOBAGamesviaMacroGoals https:arxiv。orgpdf2110。14221。pdf ActorCriticpolicyOptimizationinaLargeScaleImperfectInformationGame https:openreview。netpdf?idDTXZqTNV5nW 参考视频: 王者峡谷一条街,打听打听谁是爹?AI是爹 https:www。bilibili。comvideoBV17w411f7Ti?spmidfrom333。999。0。0 延伸阅读(点击可进入): 《人工智能杀人回忆》 《我遇到一群腾讯游戏的老司机》 《腾讯数据库的三场战役》 再自我介绍一下吧。我叫史中,是一个倾心故事的科技记者。我的日常是和各路大神聊天。如果想和我做朋友,可以关注微信公众号:浅黑科技。