GBDT, LR & Deep Learning for Turn-based Strategy Game AI
Like Zhang, Hui Pan, Qi Fan, Changqing Ai, Yanqing Jing
Tencent
http://www.ieee-cog.org/papers/paper_7.pdf
这篇文章提出一种基于AI的战斗策略生成方法,在回合战斗游戏石器时代2(SA2)中得以应用。该研究的目的在于如何帮助玩家利用人工智能来选择合理的技能和目标。
该方法独立的训练了逻辑回归模型和深层神经网络模型。在推理过程中将二者的输出结合起来。同时,为了将特征转为高维二值向量,同时不加入人工干预或者任何先验知识,在利用LR之前,作者们将所有类别型特征输入到GBDT中。
这种流程的主要优势在于为了得到基于AI的对战系统,该方法结合了LR和DL的优势,LR可以记住特征质检的交互,DL可以通过低维稠密特征生成未知的特征组合。
在实验中,作者们将所提模型跟多种方法进行了对比,其中包含强化学习,GBDT, LR, DNN等。结果表明,玩家能够针对不同的目标利用合理的策略技能。本文方法相对其他方法,取得了最高的获胜率,对战的对手都是机器人脚本。
本文要解决的问题其实可以看做推荐系统,输入的query就是当前的战斗状态,输出就是针对目标根据score选择合适的技能。score就是针对某个目标选择某个技能获胜的概率。
图示如下
本文所提方法图示如下
其中类别型特征喂给GBDT,GBDT的结果作为LR的输入;id类特征、连续性特征以及类别型特征联合作为DNN的输入。
GBDT结构图示如下
这里的GBDT主要用于将类别型特征转换为高维稀疏特征。
本文的LR结构图示如下
小知识点1: GBDT的结果输入LR时,叶子结点的状态作onehot编码之后作为LR的输入
小知识点2: 不做归一化,收敛速度远远慢于归一化之后的收敛速度
小知识点3: 可以利用累积概率分布对连续变量进行归一化
本文的深层神经网络结构如下
小知识点4: 中间层用的比较多的激活函数为ReLUs,最后一层的激活函数用的比较多的为sigmoid激活函数
本文考虑了两种组合训练的方法,其中一种是联合训练,一种是集成训练,其中联合训练的结构图如下
在这种训练模式中,目标函数同时作用于两个部分,一部分是由GBDT和LR构成的,一部分是由DNN构成的
另一种训练模式,即独立训练的结构图如下
这种训练模式下,GBDT与LR构成的整体以及DNN这两部分单独训练,然后将最终的结果组合起来。
下面是回合式战斗推荐流程概览,整体框架系统设计如下
下面会给出实验性分析及对比。不同的正样本占比对模型auc的影响如下
容易看出,正负样本占比比较接近时效果较好,反之,则会因为样本不均衡造成AUC较低。
对于GBDT,不同的最大深度的效果影响如下
容易看出,并不是深度越大越好,深度了过大会造成过拟合的现象。
深层神经网络中隐含层的单元数及结构对模型的效果影响如下
结果显示,层数稍多一些,隐含层单元数稍多一些,效果较好。
不同模型的获胜率对比如下
结果显示,GBDT+LR+DL以ensemble的模式结合效果最好。