1 当前使用 AI 玩对抗性游戏的主要分两种:以星际为首的 RTS 游戏,和以 DOTA为 首的 MOBA 游戏。两种游戏侧重的学习难点不同:对于星际类的游戏来说,单个 unit 的行为较为简单,主要学习的是如何进行兵力组选择和进攻策略;而对于 DOTA 类的游戏来说,对于一个英雄的操作来说是相当复杂的(涉及到技能连招,攻击目标选择,走位等等),因此这类游戏主要学习的是单英雄的操控。
(名词解释及感悟: RTS 即时战略游戏(Real-Time Strategy Game),简称RTS。游戏是策略游戏(Strategy Game)的一种。游戏是即时进行的,而不是策略游戏多见的回合制。另外玩家在游戏中经常会扮演将军,进行调兵遣将这种宏观操作。)
背景知识
2论文中介绍,训练 AI 的方法同样也是基于 actor-critc 的神经网络,但在此基础上针对性的做出了一些改进:
1利用人类先验知识来减少动作探索空间。
2. 将一个人为操作下的多个子操作独立开来。
3. 设定攻击目标选定网络,用于选定攻击目标。
4. 使用改进PPO算法,论文中称为dual-clip PPO。
5. 使用LSTM来学习英雄技能连招的释放。
6. 在系统设计方面,为了快速产生大规模的数据样本,使用多个不同游戏场景同时产生数据并存到 Memory Pool 中,并使用多个RL学习器并行学习。
在训练完成后,期望训练 AI 能够完成进攻、诱导、防御、欺骗和技能连招释放的能力。由于游戏中英雄之间技能相差非常大,因此对每个英雄来说都需要训练一个独立的控制AI。对于每一个英雄,AI Lab 使用 18,000 个 CPU 核以及 48 张 P40 显卡(¥14600一张)进行训练学习。每张 GPU 每秒可训练 80000 个样本数据,算下来每天训练的数据等于人类 500 年的学习量。
(名词解释 PPO(Proximal Policy Optimization)近端策略优化算法 https://cloud.tencent.com/developer/article/1781590
长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。通过门控状态来控制传输状态,记住需要长时间记忆的,忘记不重要的信息;而不像普通的RNN那样只能够“呆萌”地仅有一种记忆叠加方式。对很多需要“长期记忆”的任务来说,尤其好用。但也因为引入了很多内容,导致参数变多,也使得训练难度加大了很多。因此很多时候我们往往会使用效果和LSTM相当但参数更少的GRU来构建大训练量的模型。
AL Lab : 这个有很多,会很多方面来讲。
)
为了加快训练速度,这就需要加大batch size。针对这个问题,AI Lab设计了四个特别的模块,这些模块之间彼此独立:Reinforcement Learning Learner、AI Server、Dispatch tchsizeModule 和 Memory Pool。
( batch size : https://www.cnblogs.com/alexanderkun/p/8099450.html
)