就在万千网友为那只黑猴子打得昏天黑地时,科技博主「图灵的猫」整起花活儿,开发了一个 AI 吗喽,让它直面天命。
于是,博主尝试开发一个 AI 吗喽,让它参与到天命人的旅途中,找回自己的大圣神通,甚至通关整个游戏。
和现在几行对话就能调用的 AI 不同,ARPG 这类实时决策且状态极其复杂的三维空间游戏,属于传统 AI 领域的逆天工程。
而且,这背后涉及大量特征和系统设计,开发都以月计,再加上没什么实际用途,因此几乎没人愿意干这费力不讨好的活儿。
为此,博主给它实装了一套基于多模态大模型、可以自动探索地图的开源框架,通过记忆、推理、技能和行动规划等模块,AI 就能解析画面,进行基本的探索与交互。
因为有限的输入输出让模型无法给出精准的战斗决策,而且,从接收信号到反回动作,大模型需要好几秒,相当于顶着几千延迟的高 ping 战士。
在动作游戏中,这显然是不能接受的,即便有法术,《黑神话》里的部分 boss 容错也并不比魂游低。
人类玩游戏是通过眼睛观察屏幕,再由大脑将指令信号传递到肢体,最后借助键盘、手柄等交互设备,与游戏进行互动。
AI 虽然不需要交互设备,但学习游戏的过程与人类是一致的,换句话说,它本就是根据生物的学习机制抽象演化来的智能算法。
和风灵月影这类程序不同,斗战神并不会直接读取或修改程序,而是和人一样,通过画面来判断,需要先看清敌人是谁、位置在哪。
博主的方法是,通过每 n 毫秒一次的眨眼频率,来获取屏幕上的帧画面,Resize 后实时分割截取敌人的 RGB 图像,喂给视觉网络,以获得当前帧的状态。
当然,动作游戏远比按按钮要复杂得多,当前节点的选择,会对后续所有状态产生影响,因此具备无穷多的可能性。算法要做的,就是在不更改游戏程序的前提下,找到最有可能获胜的那条路。
山间布满迷雾,路径无数,我们只能每走几步就驻足观察。根据当前走过的路,来推算下一次的方向和步数,进而找到最优的下山之路。
它有 6 组解耦合的根模块,分别是捕捉画面的「识」、预测出招的「算」、负责交互的「触」、用于跑图的「探」、记录数据的「聚」以及最核心的「斗战」。
而从看到敌人再到做出动作,中间经过图像识别、状态计算、招式决策、参数更新和推理交互等环节,斗战神的反应时间可以做到 0.2 秒,比大模型要快很多倍。
但不幸的是,这位天命 AI 出师未捷身先死,殒命于西行路上的一只小妖。这说明在训练初期,AI 并不比一只用脚玩电脑的吗喽好到哪里去。
在经历了十几次死亡后,AI 就自行掌握了基本的战斗技巧,利用移动、轻攻击和闪避这三个有限动作,和小怪打得有来有回。
精英怪的强度明显更高,为了更快获胜,博主在轻棍之上加入了多项闪避和重击等新技能,但这时出现了新问题。
这背后原因很简单。由于进攻奖励不够,AI 自然更倾向于最低成本的方式 —— 跑路 —— 来避免惩罚。
同时设定线性奖励衰减,就是每次逃跑的奖励都会减少,甚至变为负,直到成功攻击到敌人后才会重置,以此来避免持续的躲避动作。
博主又发现,广智的最大特点,就是几乎所有位移都是靠技能完成,会有明显前摇,只要能捕捉到这个起手式,AI 就可以完美识别。
原本的视觉方案是 3 层 CNN 卷积 + 全连接,但现在有个问题,浅层卷积网络太小,无法充分提取细微的前摇信息,简单来说,就是「脑子不够用了」。
打个比方,我们在做数学题时,需要从 1+1=2 开始从头学一遍吗?当然不用,因为初等数学的知识我们已经学过了。
基于此,博主加入了更深层的残差网络 ResNet,通过预训练让它更好地提取招式,实际决策中由训练好的网络,得到当前画面的 embedding 向量表征。
现在对于招数的识别,AI 已经足够强了,但攻击效率还不够高,经常处于被动挨打的局面,博主又想到一个优化思路 —— 组合。
因此博主试着把组合技作为一个信号,引导 AI 去连击,比如轻棍三式 + 翻滚,两轻一重破棍式等,效果相当不错。
考虑到技能形态的变化,AI 在前期一直使用的是劈棍式,而随着技能点增长,流派增多后,AI 还会学习到大量不同组合。
当 boss 被打出硬直(硬直是指角色在受到攻击或使用特定技能时,暂时无法进行正常操作或移动的状态),通常会有好几秒输出空间,博主也试着加入了硬直判定的逻辑,如此一来,AI 就能结合连击稳定进行追击,打出更多伤害。
进一步分析后,他发现由于动作变多,体力条消耗尽后,AI 还是会尝试攻击,影响后续的状态判定。
定身和闪避都属于非攻击类的正向收益,但定身完成后可以接一套连击,显然能让 AI 获得更高的奖励。
据博主介绍,在《黑神话・悟空》发售前的一个多月里,他们在只狼和法环这两款类猴游戏上,做了大量开发测试。
从一开始的被虐,到跟弦一郎拼刀,再到挑战大树守卫,这个过程中积累了很多踩坑经验,所以 AI 才能在这么短时间内完成训练,并通关广智。
有着《黑神话》和 AI 的双重流量加持,该博主的 AI 吗喽,一举登上各大社交平台的热搜,吸引万千网友围观。
据博主「图灵的猫」介绍,他们没有 A100 这种高算卡,基本在 3070 附近。RESNET 效果不错,但黑神话的画面偏暗,加上虚幻五的一些小毛病,所以还是会有识别错误,导致很难无伤。
博主还提出一个优化思路,是加 openpose 这类姿态识别,不过由于时间原因,他们并未尝试。
虽然目前 AI 只击败了一个 boss,但它的成长过程以及未来的潜力,远比游戏进度更有意思。