参与李泽南 李亚洲

挑战王者荣耀人工智能绝悟,我和 AI「55 开」

还记得那个击败了顶尖职业玩家的王者荣耀 AI 绝悟吗?五一这几天,每个人都可以挑战它了。

——你打得过 AI 吗?

——别问,问就是 55 开,我也经常单杀他的。

在知道自己可以在王者荣耀中与人工智能一较高下时,我们充满信心。

在 AI 破解围棋难题之后,电子竞技类游戏成为测试和检验前沿人工智能的复杂决策、行动、协作与预测能力的重要平台。国外有刀塔 2 AI 项目 OpenAI Five、星际争霸 2 研究 AlphaStar,国内有腾讯 AI Lab 携手王者荣耀展开绝悟 AI 的研究。

在 2018 年的 KPL 秋季总决赛上,AI 绝悟的 1v1 版本首次露面,在首秀中绝悟的表现给外界留下了深刻的印象。在那一场比赛之后,有许多的玩家一直期望有机会可以与 AI 绝悟一战高下。

后来,绝悟的 1v1 版本曾在 2019 年的 China Joy 上开放,在与顶级业余玩家的 2100 多场体验测试中胜率为 99.8%。

如今,绝悟 5v5 版本首次公开。如同当年的刀塔 2 一样,王者荣耀的所有玩家都可以在五五开黑节的挑战绝悟限时活动中直接与绝悟对战,感受人工智能这一最尖端技术的实力。


绝悟 AI 上线王者荣耀

先讲规则。

玩家在更新最新版本客户端进入游戏后,可以通过大厅入口参与挑战绝悟的限时活动,1v1 单人或 5v5 组队挑战 AI。不过对于想要参与尝试的玩家来说也要抓紧机会——腾讯表示,活动结束后,绝悟也将暂别王者峡谷,继续履行他的远大使命——将其在峡谷磨练的智能决策与协作技能应用于现实、服务人类。


在挑战绝悟的活动中,玩家可以通过逐层挑战绝悟,赢取专属通关称号。随着等级的不断提升,绝悟的难度也将不断提升,玩家需要集结好友,组成最强战队,才能与绝悟一战高下。


这个模式总共有六关,难度逐渐提升,前五关没有准入需求,最后一关需要你在天梯上达到荣耀王者或者巅峰 1400 才能进入,将会面对的是拥有 2019 年 KPL 冠军队伍水平的 AI 人机。另外,每关的 AI 阵容都是固定的,方便你来寻找针对性阵容。

为了向外界全面展现 AI 绝悟的实力,4 月 27-29 日每晚,来自虎牙、斗鱼、触手、企鹅、快手五个直播平台的十支战队,已经与绝悟进行了多轮 5v5 对战。

相比之前的 20 级人机,这次的绝悟显然更加困难,不过并非绝对无法打败。据说在正式服启动前,在知名玩家的小范围测试中已有车队通关了难度最高的 6 级,通关阵容为橘右京、孙膑、马可波罗、达摩、张良,由企鹅主播耀神(国服第一李白)带队。不过「内测」时的水平可能也不算数,腾讯在绝悟上线之前一直在进行紧张的调试。

鱼塘局:单杀绝悟 AI

除了腾讯,机器之心应该是最「了解」绝悟 AI 的了,毕竟我们跟踪了它从论文到上线的每一步动态。此番挑战之前,我们也先学习了它与主播们的对战视频。


满血在自家塔下很安全?我们可以看到,在与主播队伍进行对战的过程中,AI 展示出了极强的配合能力,越塔杀人极其果断。


而以上这种卡着视角,越塔猎杀,职业玩家也扛不住啊。

在亲自上手之后,我们可以发现绝悟还是需要耗费不少算力的,经常需要多次匹配才能进场。

第一关的对手是牛魔、小乔、关羽、李白和后羿。进入比赛之后,我们发现 AI 比较喜欢抱团抓人,而且非常主动,如果人类玩家支援不及时有可能会被人工智能轻松各个击破。但 AI 也有「不合常理」的地方:打英雄的倾向远高于打小兵,不怎么打野,也不会去打大龙,可能强化学习算法认为野区收益比较小?

我们尝试使用射手进入游戏,看起来单杀、拿个一血还是很简单的,但人类玩家很快就会被 AI 的支援压制,人工智能的五个英雄就像一个整体,可以默契地发出连招,认定有机会的时候就会果断出手,瞬间干掉玩家。经过几次拉锯之后,十几分钟后玩家的经济明显落后,欢声笑语中打出 gg。

输成这样,这局人类玩家里可能就我一个菜鸡,抑或个个都是菜鸡……


几次尝试之后,我们认为绝悟与普通人机对战的 AI 相比确实大不相同。根据目前玩家们的反馈,绝悟前四关的难度还比较小,不过在第五关你就能感受到经济领先 7000 推上高地,又被人机团灭的快感——人工智能通过计算可以丝血反杀玩家,而人类只能实现三大错觉之一:「我觉得我能反杀」。

与普通人机不同的是,绝悟也可以和你对话交流,人工智能不仅打得好,还会在打赢你后开嘲讽。

最后,我们实操的同学有云:队友不是练英雄就是挂机,机器之心没能干过 AI。哦,我们是铂金水平,止步于第二关,后续就需要读者们自行探索了。

背后的技术:强化学习

自 2017 年启动绝悟 AI 研究以来,腾讯 AI Lab 也陆陆续续发过多篇预印版论文。今年年初,相关论文更是被人工智能顶会 AAAI-2020 接收

和其他 AI 游戏项目一样,绝悟 AI 背后是「强化学习」技术。回顾腾讯 AI Lab AAAI 论文《Mastering Complex Control in MOBA Games with Deep Reinforcement Learning》,我们可以发现更多技术细节,论文一作叶德珩博士也曾在机器之心平台上为读者们做过视频分享。


论文地址:https://arxiv.org/abs/1912.09729

在竞争环境中学习具备复杂动作决策能力的智能体这一任务上,深度强化学习(DRL)已经得到了广泛的应用。在竞争环境中,很多已有的 DRL 研究都采用了两智能体游戏作为测试平台,即一个智能体对抗另一个智能体(1v1)。Atari 和围棋等游戏目前已经有很多优秀的解决方案,推塔类游戏显然更加复杂。

以 MOBA 手游《王者荣耀》中的 1v1 游戏为例,其状态和所涉动作的数量级分别可达 10^600 和 10^18000,而围棋中相应的数字则为 10^170 和 10^360,而更难的还在后面:这个游戏的流行玩法是 5v5 的形式,还要协调不同角色之间的配合。

为了解决这些难题,腾讯 AI Lab 设计了一种深度强化学习框架,并探索了一些算法层面的创新,对王者荣耀这样的多智能体竞争环境进行了大规模的高效探索。在此论文中中,研究人员们设计的神经网络架构包含了对多模态输入的编码、对动作中相关性的解耦、探索剪枝机制以及攻击注意机制,以考虑 MOBA 1v1 游戏中游戏情况的不断变化。

面对需要高度复杂的动作决策的 MOBA 游戏而构建游戏 AI 智能体,在系统设计方面,腾讯 AI Lab 的研究者们提出了一种深度强化学习框架,能提供可扩展的和异步策略的训练;在算法设计方面,研究者开发了一种用于建模 MOBA 动作决策的 actor-critic 神经网络。

特别的是,这种算法的网络优化使用了一种多标签近端策略优化(PPO)目标,并提出了对动作依赖关系的解耦方法、用于目标选取的注意机制、用于高效探索的动作掩码、用于学习技能组合 LSTM 以及一个用于确保训练收敛的改进版 PPO——dual-clip PPO。

这个架构包含四个模块:强化学习学习器(RL Learner)、人工智能服务器(AI Server)、分发模块(Dispatch Module)和记忆池(Memory Pool)。

腾讯曾展示了使用射手英雄狄仁杰进行训练的例子。可以观察到 Elo 分数会随训练时长而增长,并在大约 80 小时后达到相对稳定的水平。此外,Elo 的增长率与训练时间成反比。

「绝悟」从零开始训练 30 小时上王者。

技术细节了解完,回到此次开放体验,腾讯表示他们将在 5 月 4 日公布这次全民人机大战的对战数据。届时,我们就能看到在王者荣耀战场上,AI 与人类孰高孰低了。
产业人工智能AI王者荣耀强化学习腾讯AI Lab
相关数据
深度强化学习技术

强化学习(Reinforcement Learning)是主体(agent)通过与周围环境的交互来进行学习。强化学习主体(RL agent)每采取一次动作(action)就会得到一个相应的数值奖励(numerical reward),这个奖励表示此次动作的好坏。通过与环境的交互,综合考虑过去的经验(exploitation)和未知的探索(exploration),强化学习主体通过试错的方式(trial and error)学会如何采取下一步的动作,而无需人类显性地告诉它该采取哪个动作。强化学习主体的目标是学习通过执行一系列的动作来最大化累积的奖励(accumulated reward)。 一般来说,真实世界中的强化学习问题包括巨大的状态空间(state spaces)和动作空间(action spaces),传统的强化学习方法会受限于维数灾难(curse of dimensionality)。借助于深度学习中的神经网络,强化学习主体可以直接从原始输入数据(如游戏图像)中提取和学习特征知识,然后根据提取出的特征信息再利用传统的强化学习算法(如TD Learning,SARSA,Q-Learnin)学习控制策略(如游戏策略),而无需人工提取或启发式学习特征。这种结合了深度学习的强化学习方法称为深度强化学习。

剪枝技术

剪枝顾名思义,就是删去一些不重要的节点,来减小计算或搜索的复杂度。剪枝在很多算法中都有很好的应用,如:决策树,神经网络,搜索算法,数据库的设计等。在决策树和神经网络中,剪枝可以有效缓解过拟合问题并减小计算复杂度;在搜索算法中,可以减小搜索范围,提高搜索效率。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

推荐文章
暂无评论
暂无评论~