在深度强化学习中,联盟训练通过引入主智能体的“陪练”,发现主智能体策略的缺点,帮助其得到更快的提升。本文通过对模型特征和模型池多样性的建模,并基于此提升联盟模型池的多样性,引导克制主智能体的多种策略并提升主智能体的强度;同时,模型池的多样性也可以作为训练目标,为游戏AI的线上应用提供更多选择。
原文链接:https://blog.csdn.net/wangchewen/article/details/120904962
当前主流深度强化学习方法训练的模型,一旦产生,它的参数已经固定,也就是行为模式、打法风格基本都是固定的。这个现象导致了人们可以根据历史对战,发现和总结AI的战术打法,并根据此来利用AI的弱点进行针对性对战。为了应对这种情况,我们就需要构建一个具备更加丰富的训练环境,使智能体充分应对随时变化的对手策略,并做出更加合理的决策。DeepMind在《星际2》智能体中,首先提出联盟训练的方式。
联盟训练是在虚拟自我博弈(Fictitious Self-Play,简称FSP)基础上引入了一组不同功能的智能体。
虚拟自我博弈是指AI不断和自己以及历史模型对战中学习到更优的策略。虽然自博弈能产生复杂环境或复杂的对抗形式,来不断进化智能体的能力。但是这样训练出来的模型会因对手打法风格缺乏多样性而存在一些弱点。
联盟训练则是同时训练三个智能体:
主智能体(Main Agent):即最终用于打比赛的智能体,训练时35%概率选择Main Agent历史模型进行自博弈训练,50%概率从整个联盟模型池中选择对手进行优先虚拟自我博弈(PFSP),另外15%从已经淘汰的历史对手中进行随机挑选(即Main Agent对战这些智能体胜率已经达到100%)。 主探索者(Main Exploiter):在训练时主要对战当前版本Main Agent,目的是发现Main Agent策略的弱点 联盟探索者(League Exploiter):使用虚拟自我博弈方法从整个联盟模型池中选择对手和对手概率分布,目的是发现整个联盟策略的弱点3.1.1 无监督方法
想要提取模型的特征,首先想到的就是分析比赛的结算信息,如比赛结束时游戏时间、胜负、金钱、装备信息作为模型的特征,这些数据能部分反应智能体AI的一些偏好,但这些数据往往无法捕捉游戏局内细节,很难还原AI在游戏内的具体策略,比如是更加激进还是偏向防守。
为了捕捉局内细节变化,DeepMind使用t-SNE Embedding方法对局内动作或状态进行特征降维分析和差异比较。
3.1.2 监督学习方法
通过状态或者结算信息来表示模型特征的方法缺少一定的可解释性,而在一些游戏Bot AI的应用中,我们更希望能对智能体某方面行为能力进行刻画,比如模型特点属于激进或是保守,偏向个人发育还是团队利益,根据不同的应用场合,来选择使用不同的模型。一种比较通用的做法是手动给不同的模型或玩家打上标签,然后使用监督学习的方式训练一个预测网络,预测每个模型各维度的特点。这种方式依赖于标注的数据量和准确度,并且会产生一定的标注成本。
通过监督学习方法预测模型语义特征
3.1.3 基于难度的评估方法
以CSGO为例,可以通过枪法、配合能力、残局能力、道具使用时机等不同维度数据来分析各种能力的强弱,同时也可以较为准确分析出模型或玩家的问题和漏洞出现在哪儿。
模型池是模型的集合,代表了模型的群体,度量模型池的多样性,也就是整个群体的丰富程度。要量化模型池的多样性,首先就是要定义两个模型的特征向量x1、x2,特征间相似度的度量仅仅是度量两个模型之间相似性,模型池作为一个群体,可能存在成百上千的模型,我们更需要通过一个指标描述整个群体的丰富程度。直观上来说,模型池的策略之间相似度越低,那么整个模型池的多样性也就越高。
一个比较合适的选择是矩阵 K的行列式,矩阵可以看作是一组向量的集合,而矩阵的行列式的几何意义,就是各个向量张成的平行多面体的体积S:
也就是说,向量之间越不相似,它们之间的夹角就会越大,所张成的多面体的体积也就会越大,矩阵的行列式也就越大,所对应的模型集合的多样性也就越高。
给定模型池策略特征集合 Θ={θ1,θ2,…,θM},通过平方指数核矩阵可以定义整个种群多样性:
使用了PBT(Population-based Training)方法来训练联盟中的各智能体,来实现多目标优化问题,它分为“探索”和“利用”2个步骤:
探索:每一轮训练,每个智能体会对不同的参数组合进行“探索”,在本文中参数主要关注不同的奖励配置,探索有几种形式:或基于上一轮最佳训练模型的奖励配置进行随机扰动,或从某个给定随机种子奖励配置进行初始化,同时并行启动N组实验,称为“Trial”。
利用:每一轮训练结束后,我们对相同智能体训练任务的N个Trial进行分别评估,并根据优化目标计算归一化得分。我们会“利用”得分最高的模型和参数配置,作为最优模型和配置,进行下一轮任务的迭代,据此不断演化出更容易达到特定智能体目标的参数配置。
联盟中不同的智能体由于优化目标不同,达到的模型强度也是不同的。相比联盟中的其他智能体,Main Agent以最终强度为优化目标,演化出的智能体达到了最高的等级分;League Exploiter训练对手是联盟模型池中的所有模型,也具有一定强度;而Main Exploiter训练的目标就是为了克制Main Agent,本身模型强度并不会达到较高水平:这个结论和我们的认知也是比较一致的。
由于训练目标的差异,不同智能体参数的演化方向是存在区别的。如图15所示,主智能体以最终结果为导向,Result相关的奖励权重随着训练进程不断提升;而其他Exploiter的奖励配置的演化也呈现出不同方向,可以初步看出,不同目的导向的智能体,它们的最优奖励是有所区别的。
随着训练的进行,模型池的多样性也在不断提升。我们将模型策略分成10个维度进行表示,分别为模型整体强度、战斗强度、对线强度等,如上图所示,可以看到,由于初始化模型相同,刚开始训练时(第1轮),所有模型的分布都比较接近;随着训练迭代的进行,不同智能体朝着不同的方向进行演化,每个模型的雷达图的差异也开始逐渐增大。
相关知识
宠物联盟赛APP下载安装
AR宠物训练游戏的心理学基础
宠物训练师手游
2024免费角色扮演单机游戏哪些人气高
AI赋能体育训练:个性化训练计划的革新之路与未来展望
用AI工具探索创意无限:2024年最值得关注的AI绘画与写作工具
AI智能绘画:打造个性化动物肖像,满足多样化创作需求
洛克王国游戏在线玩、洛克王国游戏在线狂欢,探索梦幻世界无限乐趣
猫咪ai一键生成
全面解析:AI与狗狗互动、训练、情感连接——涵用户常见疑问与解决方案
网址: 联盟训练在游戏AI多样化的探索 https://m.mcbbbk.com/newsview254907.html
上一篇: 浅谈教学多样性 |
下一篇: 多样性正则的神经网络训练方法探索 |