由于大家对如何训练 AI 的呼声过高,所以,先把 AI 训练给写出来。
AI Arena 正在不停的打补丁,在后续执行细节上可能有所区别。本文攻略主要起到抛砖引玉的作用,希望大家知道如何在简单模式下进行 AI 训练。
目录
- 进入训练
- 选择模式
- 仪表盘的用法
- 保存模型
进入训练
点击下图的 AI 分析仪
。
选择模式
点击右下角的 model
。
仪表盘用法
这个仪表盘展示人物处于当前场景下,做什么反应。
绿框中从上到下是:
- 抓住
- 能量盾防御
- 跳
- 攻击
- 技能
这 5 种行为按照概率来执行,长度越长,说明该行为越有可能被执行。
红框中的小人
- 蓝方表示自己
- 红方表示敌人
用鼠标拖动蓝方小人移动到红方前面。可以看到红框中,攻击的长度是最长的,说明,按照概率来说,此时攻击的概率是最大的。
下面再来一张
此时我把人物放到外面,看概率此时是攻击和跳跃一起的概率最大。这是正常的,因为,如果到了外面,我训练的模型是 空格 + WJ + WL
。和我训练的目的是差不多的,在对战中,我也能快速回到场内。
点击右下角的 MODEL
,然后 restore
就是选择某一个模型在仪表盘上的进行显示。
比如,我新选了一个没有训练的模型,它在跌出场地会做什么动作。
可以发现,没有训练的 AI,对于跌出场地,所有的行为概率都是一样的。
AI 训练原理
AI 训练所谓的原理,就是不断地向模型中喂数据,让AI在特定场景中大概率做出你喂的数据。
点击训练。
把 setting
中的 Timer Limit
关闭,然后点击 ready
。
我们首先知道如何训练 AI
- 收集数据
- 做出动作
- 结束收集数据
- 训练模型
然后有下面的技巧
- tab 可以在自己、敌人间切换操纵
- 右边的 shift,打开和关闭收集数据
来一个场景,使用 tab 切换到敌人上,把敌人通过键盘移动到中间位置,然后再按 tab 切换到自己,然后跑到敌人前面。开启右边的shift,进行攻击,攻击后,再按右边的shift停止收集数据。
可以发现,收集数据的时候,上面的进度条一直在前进,这就是数据收集。不要一直开启着数据收集,收集完特定的行为后,就关掉数据收集,然后转移到下一个场景,再次开启数据收集。
这里说一下,为什么要尽可能的保持数据的纯净。如果,你的目标是攻击人物,那么,数据收集要考虑如下因素
- 你和敌人的距离
- 你的站位
- 你的招式
你的数据应该尽可能的围绕上述三个属性。如果,你收集完上述三个属性后,还继续开启收集数据,进行左右移动,那么,在训练的时候,你的左右移动就是无效数据,会对模型产生干扰。
训练模型的方式非常多:
- 官方推荐了很多场景,你可以随便根据场景来训练,从而尽可能覆盖你的行为
- 站在场地边缘、在敌人左边、在敌人右边
但是,据我个人而言,大部分训练并没有那么复杂,主要训练,两个地方攻击和回复。攻击不必说,回复是当你跳出场地外,你怎么跳回来。这个需要重点训练。
保存模型
这里假设你已经训练好了。你要保存模型。
点击右上角,然后
点击后,出现
这个选择是让你模型注重什么。比如,你是跳出场地外,然后跳回来,很明显是回复,所以要选择 recovering。
从上到下的注重模式分别是
- 普遍
- 垂直战斗
- 你和敌人位置上下的时候
- 优势
- 劣势
- 回复
然后,我通常会打开 Autofill Similar state。这个开关是,当你的人物遇到相同场景的时候,大概率也做出这种情况。因为,我们不可能训练所有地图,所以,我开启了这个。然后点击 TRAIN MODEL。
关于 AI 训练,不要认为,自己做的越准确就越好。AI中有一个概念叫做过拟合,指的是,如果你过度的喂该数据,就会导致模型很死板,在特定场景下死板的进行判断,这会导致,把没有尾巴的狗认成犀牛。所以,AI 训练应该是概率的训练。
模型保存有两种方式
- 保存新模型
- 更新原有模型
点击 save。
- save new slot
- overwrite
这里我将以两个例子进行说明上述的区别。此时,你训练,然后保存了 model1。在对战的时候,你发现跳出场地外,不能跳回来,所以,你又专门训练了这个回复。这个时候,你有两种选择,一个是 overwrite ,在 model1 的基础上继续训练。或者 save new slot,在model1的基础上将当前的训练保存成一个 model2。也就是,model2 既有model1的数据,又有新的训练。
如果,选择了 overwrite ,那么,model1 就有了新的数据,如果,你此次训练觉得不行,想要回退到纯净的model1那是不可能的。而,save new slot,会出现新的模型,那么,你纯净的 model1 还存在,当证明 model2有效的时候,你可以把 model1 给删除了。
需要特别注意的是,模型最大只能保存 5 个,如果你不断地 save new slot,会把 5 个之外的model删除掉,并且无法复原。
这里,你可能有一个疑问,要是我不想用model1的数据,想要用新的 model 怎么办?
点击上面的 reset push,会出现一个纯净的没有训练过的 model,比如上面的 model6。后面你可以在这个基础上进行 save 和 overwrite。
这里就有一个疑问,假设你有多个独立的 model,那么,如何让新的训练,在特定的model下保存呢?你 restore 哪个model,下一次保存就在该model的基础上保存一个新的。
OK,我们继续说一下关于 model 的细节
- times trained
- 该模型训练了几次,包括overwrite 和 save 之前的训练次数
- W-T-L
- 该模型的战绩
- ELO
- 和收益有关
- 模型可以删除
确认好模型后,使用 COMPETE 来确认哪个模型上场。
AI Arena游戏有一步卡住了能帮帮我么
可以在社群Discord里问一下