FrankLearningMachine作者

GBDT,LR,深度学习如何联合发力(以推荐系统和游戏为例)

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的模式结合效果最好。

理论逻辑回归深层神经网络推荐系统深度学习
2
相关数据
逻辑回归技术

逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model,也译作“评定模型”、“分类评定模型”)是离散选择法模型之一,属于多重变量分析范畴,是社会学、生物统计学、临床、数量心理学、计量经济学、市场营销等统计实证分析的常用方法。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

概率分布技术

概率分布(probability distribution)或简称分布,是概率论的一个概念。广义地,它指称随机变量的概率性质--当我们说概率空间中的两个随机变量具有同样的分布(或同分布)时,我们是无法用概率来区别它们的。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

推荐系统技术

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

先验知识技术

先验(apriori ;也译作 先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。先验知识不依赖于经验,比如,数学式子2+2=4;恒真命题“所有的单身汉一定没有结婚”;以及来自纯粹理性的推断“本体论证明”

目标函数技术

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~