2020最佳双人博弈对抗方法 | 基于强化学习对手建模的滚动时域演化算法「AI核心算法」...

关注:耕智能,深耕AI脱水干货

作者:唐振韬  报道:深度强化学习 CASIA

转载请联系作者

前言

格斗游戏是一项极具挑战的双人实时对抗人工智能博弈任务,常具有组合动作空间规模大、角色属性风格多样、实时性计算要求高等特点,受到了研究人员的广泛关注。对此,日本立命馆大学发布了双人格斗游戏AI实时对抗平台FightingICE [1],其已成为IEEE Conference on Games(游戏人工智能旗舰会议)的格斗游戏AI竞赛赛道的指定专用测试平台。FightingICE要求参赛算法必须自主适应三种不同类型的格斗角色属性,在有限时间内通过控制本方智能体的格斗动作,快速击败对方算法控制的智能体。不同于回合制双人零和博弈问题,实时双人零和博弈问题属于非完美信息博弈,在同步决策的过程中无法准确获取对方正要采取的动作行为,进而影响智能体的有效决策行为。

正文

针对上述存在的问题与挑战,我们提出了一种新型的基于自适应对手建模的增强型滚动时域演化算法,并且将滚动时域演化算法首次应用到格斗游戏AI领域。同时,提出了一系列监督强化式对手模型优化方法(包括交叉熵型、Q学习型和策略梯度型等)用于优化对手模型的预测有效性。具体实现为根据格斗对抗时生成的历史交战信息作为训练数据源,通过在线优化的方式滚动更新对手模型参数,增强前向模型推理规划的可靠有效性,从而进一步增强滚动时域演化算法的博弈推理表现性能。

相关工作在2020年格斗游戏人工智能竞赛夺得冠军[2],并已整理成研究论文发表在游戏人工智能领域权威期刊IEEE Transactions on Games[3],

AI Bot代码开源地址:https://github.com/DRL-CASIA/GameAI-FightingAI

1. 格斗游戏人工智能竞赛


▶ 格斗游戏AI典型方法 ◀

在格斗游戏任务中典型的双人实时零和博弈解决方法可分为启发式规则型、统计前向规划型和深度强化学习型三大类别。三类方法各有其优势和不足,需要根据实际任务需求进行选择。

以有限状态机和行为决策树为代表的启发式规则型方法(见图2)已经在游戏AI领域得到广泛应用,这类方法基于人类专家总结的经验信息,通过手工规则编码的方式输入到智能体策略集合,使智能体根据规则经验执行相应的动作策略,实现智能决策行为。这类方法具有系统稳定性和可解释性,但是存在执行策略单一且灵活性较弱的缺陷,因而容易被掌握其规律的对手策略所针对。

图2. 基于规则库的动态脚本法

以蒙特卡罗树搜索为代表的统计前向规划型方法(见图3),将游戏引擎的运行机理简化构造前向推理模型,通过前向模型进行环境推理采样,根据启发式知识定义目标评价函数,经过多轮更新迭代优化得到目标解。这类方法具备良好的环境自适应性和泛化性,无需进行模型算法训练,但是该类型算法对前向系统辨识度要求较高且需要大量的前向统计采样,因而在处理实时性问题容易受到影响。

图3. 蒙特卡罗树搜索在格斗游戏的应用

深度强化学习型算法(见图4)已经在许多视频游戏取得里程碑式进展,通过构建深层神经网络模型,以最大化累积期望奖赏目标的作用下,进行大量的环境交互性训练来优化模型参数,提升端到端决策模型的对抗适应性,具备自主优化学习的能力。但是该类型算法需要较长时间的环境交互并且由于采样策略更新的不稳定,容易产生策略遗忘或崩塌的问题,致使策略模型的泛化性无法得到有效保证。

图4. 深度强化学习在格斗游戏的应用

我们提出的基于自适应对手模型的增强型滚动时域演化算法则将启发式规则、统计前向规划与强化学习的优势结合在一起,在启发式规则作用下压缩动作搜索空间,通过滚动时域演化算法在对抗环境自适应性交互,采用监督型强化学习优化对手模型使模型具备学习优化的能力。


▶ 滚动时域演化算法 ◀

滚动时域演化算法是一种演化最优动作序列的更新优化过程,通过前向模型推理优化决策动作序列。在优化过程结束后,选择最优动作序列对应的第一个动作作为决策应答,最优动作序列对应着最佳适应度。滚动时域演化算法的流程如图5所示。

图5. 滚动时域演化算法流程

种群由多个不同动作序列(等价于基因序列)的个体组成。根据适应度函数评价的高低结果,在种群中保留评价结果较高的动作序列个体。对种群中保留的个体进行选择、交叉与变异等一系列演化计算优化过程,产生新一轮不同的子代个体。然后将新一轮子代个体有序地输入到前向系统模型,经过前向推理规划得到未来状态,然后使用启发式适应度函数评估未来状态具有的价值,更新种群中所有个体的适应值。随后重复上述迭代过程,直至系统预留的迭代更新时间耗尽或目标解的适应值已完全收敛。具体应用的格斗游戏任务中,滚动时域演化算法的个体适应函数定义为

其中评分函数定义为

多样性函数定义为

前向模型推理定义为

上述式子中 表示个体评分与多样性评分均衡权重, 分别表示我方和对方智能体的动作序列且序列长度为 为时刻 时状态, 分别表示我方与对方的血量。 为适应度函数由评分函数 与多样性函数 加权求和得到,其中评分函数用于评估对应状态的价值,而多样性函数用于抑制个体同质化, 表示种群个体数量, 表示动作序列的第 个动作,计数函数 用于统计个体中的每个基因在当前种群中的出现次数。

不同于启发式规则型方法,滚动时域演化算法具备良好的环境自适应能力,通过前向模型构建状态动作转移推理规划器,采用演化计算的方式进行前向推理及优化,预估策略推演回报而进行有效决策行为。


▶ 对手策略建模 ◀

尽管滚动时域演化算法具备强大的推理规划能力,但是其仅考虑自身与环境行为的交互,无法考虑对手与环境的同时交互,因而会使其前向推理过程产生一定偏差,致使无法有效解决双人实时零和博弈问题。对此所提出的自适应对手建模可有效处理该问题,使滚动时域演化算法适用于双人实时零和博弈问题。

由建模方式可将对手建模分为隐式建模和显式建模两类。通常隐式建模直接将对手信息作为自身博弈模型的一部分处理对手信息缺失的问题,通过最大化智能体期望回报的方式将对手的决策行为隐式引进自身模型,构成隐式建模方法。显式建模则直接根据观测到的对手历史行为数据进行推理优化,通过模型拟合对手行为策略,掌握对手意图,降低对手信息缺失带来的影响,并且对其他算法的适配兼容效果更好。根据算法模型兼容性和实时性要求,选择显示建模的方式构建基于神经网络方法的对手模型。

对手学习模型采用单步前向推理的方式预估对手行为,通过神经网络模型进行动态自适应性更新调整。针对格斗游戏任务具有的实时性和有限内存要求,构建简单的线性神经网络结构,输入信息包含血量、能量、x轴和y轴方向坐标、角色状态以及角色间的相对距离。输出信息为对手可以采取的56个离散动作行为,包含地面攻击、空中攻击、地面技能以及空中技能等。这里采用监督式和监督强化式两类方法进行对手模型优化。监督式优化方法构造交叉熵损失函数进行优化


式中 表示第 个实际动作标签,并且以独热编码表示。 表示第 个神经网络输出,并采用生成数据在线更新的方式优化。监督强化式优化方法共有两种强化学习类型,分别是Q学习和策略梯度。通常的强化学习方法是通过直接与环境在线交互的方式更新优化,然而这里采取的是状态-动作-奖赏三元组的数据形式进行模型更新,完全通过交战过程中的对手的策略决策行为获得。基于Q学习的对手建模采用 步回报作为优化目标,具体形式为

对手模型参数通过小批量梯度下降更新均方损失函数得到

基于策略梯度的对手建模直接作用在对手策略模型参数,通过梯度上升的方式更新未来期望折扣奖赏的估值,策略梯度更新梯度为

式中累积奖赏对应的即时奖赏函数为对抗双方的血量差,具体表示为

当奖赏值大于零时说明在t+1时刻对手血量要多于本方血量,反之亦然。总之,在对手模型的帮助下,构建一个虚拟策略模型生成对手行为,结合滚动时域演化算法进行迭代推理,得到较为准确的推理决策行为,具体步骤如图6所示。

图6. 基于自适应对手模型的滚动时域演化算法流程图


▶ 算法实验结果 ◀

格斗游戏人工智能平台FightingICE提供了一个实时对抗环境用于格斗游戏AI测试。该平台要求智能体的在反应时间为16.67ms(即60帧每秒)的情况下在56个离散动作中进行有效决策,同时为模拟人类玩家的真实反应时间产生15帧系统延迟。平台提供了三种不同类型的角色ZEN、GARNET和LUD,具有不同的角色属性因而带来不同的行为策略集合。为了公平比较算法性能,对抗双方规定采取同一类型角色进行对战,初始血量为400,初始能量值为0,目标是在60秒限定时间内快速击败对方。

为有效验证博弈策略模型的算法性能,对五种基于不同类型的对手模型:无对手模型(RHEAOM-N或RHEAOM-None)、随机对手模型(RHEAOM-R)、监督式对手模型(RHEAOM-SL)、Q学习式对手模型(RHEAOM-Q)和策略梯度对手模型(RHEAOM-PG),进行内部比较。然后与2018年参加格斗游戏人工智能竞赛的格斗AIbot进行对抗测试,每个模型每次测试200次,重复测试5轮取平均胜率结果。相关的实验超参数如表1所示。

表1. 实验设置超参数

不同对手模型的内部实验测试结果如表2所示。其中RHEAOM-PG在不同的三个角色均取得较高胜率,因而在五种RHEAOM变体的表现最优。

表2. 不同对手模型的内部对抗胜率结果

为进一步测试,将RHEAOM不同变体与2018年格斗游戏人工智能竞赛AI进行对抗,选择其中五个具有代表性水平的Java AIBot(Thunder、KotlinTestAgent、JayBot、MogakuMono、UtalFighter)作为比较,实验结果如表3所示。RHEAOM-PG同样取得最佳表现,并且基于监督型(SL)和监督强化型(Q与PG)对手模型的滚动时域演化博弈模型在三种不同角色的平均胜率均超过80%,相对于无模型或随机对手模型在性能上均呈现显著提升。

表3.RHEAOM不同变体与2018年格斗游戏人工智能竞赛AI对抗胜率结果

此外,基于该算法设计的格斗AI Bot(ERHEA_PI)参加了2020年格斗游戏人工智能竞赛,并打破了MCTS型博弈策略模型最近4年的统治地位,总积分上以较大领先优势夺得最终冠军。具体参赛及获奖情况分别如图7和图8所示。

图7. 2020年IEEE Conference on Games格斗游戏人工智能竞赛参赛情况

图8. 2020年IEEE Conference on Games格斗游戏AI冠军获奖证书


▶ 小结 ◀

这里提出一种新型的双人实时博弈模型,并将其成功应用到格斗游戏AI,设计了三种基于不同更新方式的对手模型(监督型、Q学习型和策略梯度型)。实验结果表明,在自适应对手模型的作用下,滚动时域演化算法得到了明显增强,表现性能要显著优于蒙特卡罗树搜索型算法,并在对阵格斗游戏人工智能竞赛AI体现了不俗的战力水平。尽管所提出的算法实验是面向格斗游戏任务设计的,但格斗游戏作为典型的双人实时博弈问题,具有双人实时博弈问题的许多共性挑战,所提出的算法可有效解决上述研究带来的挑战性问题,故有潜力进一步适用于其他双人实时零和博弈任务。

图9. 2020年格斗游戏AI竞赛(P1为我方)

参考文献

1. Lu F, Yamamoto K, Nomura LH, et al. Fighting game artificial intelligence competition platform. In: Proceedings of the 2nd IEEE Global Conference on Consumer Electronics (GCCE), 2013

2. http://www.ice.ci.ritsumei.ac.jp/~ftgaic/index-R.html

3. Tang Z, Zhu Y, Zhao D. Enhanced rolling horizon evolution algorithm with opponent model learning.IEEE Transactions on Games, 2020

历史精华好文

交流合作

请加微信号:yan_kylin_phenix注明姓名+单位+从业方向+地点,非诚勿扰。

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值