下面要明确说明两点,智能体(agent)和游戏单元(game unit)。特工可以简单理解为英雄,游戏单位包括士兵、野怪、防御塔等。
因为1v1无法获得高效率的统计数据(叶博士说1v1训练的英雄比较多),所以我们采用无监督训练的方法和自我对战的方法(也就是我自己训练)。
让我们郑重进入绝物部分:
首先从系统架构来说,我们说的是整个觉悟AI有多么的神奇。
首先需要注意的是,提到的每个模块都是独立的,下面我会一一推荐。
1)带有Game Env的AI服务器:这是AI与AI(我自己战斗)的地方,并与网络环境交互,在这里创建游戏的核心方面。
2) 调度方面:该方面主要收集比赛统计数据并传送给下一个方面。
3)内存池:它存储前一部分传回的数据并处理数据以方便地提供给我们的训练器。
4)RL学习器方面:顾名思义,它是模型被训练和强化的地方,输出统计数据传输到我们的第一个)方面(这里的输出应该很容易理解为我们的英雄执行的各种动作),这样AI就可以和AI一起玩游戏了。
(鹅厂真有钱,这里的明道卡用了1000+,说不定是Nvidia的专业级神经网络显卡)
读完上面的介绍,你应该发现RL学习器是AI的核心。顺便说一下,我将在下面详细解释RL 学习器的各个方面。作为例子,我们先看一下框图:
看不懂也没关系,因为这个东西对于专业人士来说确实很难理解。我会尽力用简单的语言解释它。由于内部机制太复杂,我会尽量用简单的语言来解释。下面从左到右依次分析:
2)第二部分是重点,(不想看的可以跳过)。这部分包括LSTM(长短期记忆网络)和Attention(焦点)机制,将之前的一整系列输出传输到这个LSTM网络,通过FC改变后,得到初始输出。注意,我用的是RL探索剪枝(y1s1,我没有做强化训练,我对这个职位还不太了解)。反正眼前很多东西都用它,比如野怪,战士。敌方英雄,我该做什么,就由这一点决定了。详细章节可供感兴趣的论坛朋友阅读。
3)第三部分,模型的输出,当然这方面可能需要在下一步进行微调和改变。细心的朋友发现了,上面的输出并不是独立的,到底是什么意思呢。
这里以一个非常简单的操作面板为例(移动轮盘)。第一个是按钮按钮,接下来的四个是我如何拉动这个按钮(我的拉动技巧、方向和距离)。这一点大家都很清楚,绝对能秒懂其中的含义。最后一个是Target,就是指定的目标。我应该瞄准谁?小兵、塔、敌方英雄等等,技能按钮都可以用同样的方式推导。
(论文中提到,虽然这些输出是相互依赖的,但是可以通过一些技巧使它们独立,但是彼此之间没有任何关系。这是本文比较有创意的部分,叫做Dual-clip PPO。反正,这些项并不影响我们对AI的理解)
以上就是系统框架的内容。经过这个模型的不断训练和改进(这涉及到网络训练问题,非常复杂,而且还取决于工程师的“炼金术”力量),顺便说一句,AI英雄会变得越来越强大。越来越强,别问为什么(深度1练习的可解释性是个大问题),一切就在你的面前。
上面的内容是不是有点复杂?确实,我现在仍然这么认为。如果你都明白了,那就说明你有“炼金术”(手动狗头)的天赋。
我们来谈谈一些简单的事情:
为了测试AI的表现,AI团队还邀请了几位职业选手进行1v1的比赛。以下是论文截图。结果表明AI可以达到专业水平(是的,就是这么牛逼)。
这里还有最后一点。 AI的反应时间为133ms。论文称,133ms是顶级业余选手的反应时间,因此被绝武击败是很常见的。以下是职业如何被殴打的数据。看看吧。
然后AI又到其他路人那里去和其他玩家进行战斗,数据如下。
可以注意到,大部分比赛都是绝武赢的,少部分输的比赛都是天美解释的。由于韩信、孙悟空、后羿等英雄比较依赖暴击,暴击率不稳定,对AI造成了一定的影响。
ELO泥潭前的另一个日常话题:
这是论文中训练狄仁杰的效果图。我们看到从官网得到的玩家能力的评价目标是ELO。模型训练持续7个小时左右,可以秒杀游戏内置的AI。 12小时达到明星能力,30小时达到王者能力,60小时达到荣耀王者能力,70小时接近职业能力(为了避免成为高手,如何成为职业者)和荣耀类似,我就不解释了,这是论文中的统计数据)。
这将是AI的奖励机制。从上到下分别是英雄生命、塔生命(这可能是敌方塔)、金钱、法力、死亡次数、击倒次数、经验和最后一击。中间的大数字代表了这些动作的权重,也就是权重越好,AI越重视这个项目(推塔游戏名副其实,游戏AI教我玩一系列游戏)。