让AI做个人吧!探究游戏AI的拟人性问题( 七 )
不同于研究领域中RL的重点更多倾向于关注“更高的分数、更强的决策” , 而实际业务中甲方爸爸的的要求是“高拟人性、高多样性、高可靠性、覆盖各个能力段” 。 这二者之间的目标差距为rewardshaping带来了更大量的工作量 。
长远来看 , 网络设计在学术界已有诸多的NAS(NetworkArchitectureSearch)相关研究 , 可以自适应的生成效果差不多的网络结构 , 与实际业务的相关性较低 。 而特征工程和奖赏设计则都与业务强相关 , 不仅要对ML/DL/RL有相当的经验 , 也需要对业务有相应的理解才能训练出甲方爸爸满意的 , “像人一样的”强化学习模型 。
当有了“模型能够做出像各种各样不同玩家能做出的行为” , 这一普遍需求后 , 如何利用真实玩家行为引导强化学习模型训练的想法就会自然而然的浮现出来 。 也就是如何利用模仿学习 , 推进现有的强化学习训练进一步提升拟人性、多样性 。
Avatar框架内设计
Avatar设计简述
以PVE类型的游戏(无需与其他玩家对抗)为例 , Avatar训练框架核心包含了三个服务——AgentServer,ActorServer和LearnerServer 。 核心交互、MDP处理工作由AgentServer完成 , 其处理与游戏客户端和另外两个server的交互(如下图所示 , 红色部分由业务方实现)当客户端连接后 , 轮询等待预测请求 , 并从对应的预测服务中获取结果 , 返回给客户端 。 当积累够一定数量的预测数据后 , AgentServer将其组装成训练样本发送给训练服务;
文章图片
ActorServer预测训练网络当前policy返回的动作结果;LearnerServer则负责对网络进行异步训练 , 并定期同步参数给ActorServer 。
辅助网络设计
从框架设计角度考虑 , 模仿学习可以理解为利用某种监督学习手段提升强化学习训练效果的一种方法 , 我们将这类网络称之为辅助网络(AuxiliaryModel) 。 为了降低业务方的学习成本 , 以及尽可能保证框架的模块化、通用性 , 我们完全复用了Actor和Learner模块 , 仅新增对监督学习模型配置、输入数据标准标准定义以及lossfunction支持 。
这设计过程中 , 我们重点处理的依然是模型间的交互流程 , 以及模型与游戏间的交互方式的变化 。 我们认为 , 在MDP结构下 , 辅助网络对强化学习主模型训练主要影响位点有以下三处:影响policyaction;影响某个state , 或state/action组合的reward;增加额外的loss 。
由此 , 我们额外开放了交互接口(如下图所示) , 业务实现代码可以获取每个网络的预测结果 , 并自由选择交互时机 。
文章图片
模仿学习实现
具体到模仿学习的实现 , 我们实现了对抗式模仿学习 , 模仿学习被认为是“影响到reward的监督学习模型” , 主要负责判别当前状态(动作)是否是符合人类行为的状态(动作) 。 在实际训练过程中 , 模仿学习模型和强化学习模型一同训练 。
文章图片
在业务同学侧 , 使用模仿学习仅除了设计网络结构之外 , 仅需要处理主模型在生成训练样本时叠加模仿学习输出的奖赏 , 以及将人类行为数据引入到模仿学习训练过程中即可 。
模仿学习在竞速类游戏上的探索
我们已经尝试在竞速类游戏上对对抗式模仿学习进行了初期探索 , 将不同赛道地图中使用业务中已上线的不同能力段模型的录像数据视为模仿学习的行为数据 。 同时 , 我们去除了reward_shaping中所有人工设计的奖赏 , 仅保留模仿学习输出和最终圈速与目标圈速的相近程度作为实际奖赏 。
相关经验推荐
- 近日|王者荣耀:瑶妹、干将莫邪、关羽3个英雄如何让对手迷惘
- BLG即将迎来自己在LPL春季赛的第二场比赛|blg官博再次沦陷,铁粉质疑不让uzi上场,doggo哭了
- 本文转自:新快报“一个游戏到底是如何被做出来|当独立游戏被陈设在艺术馆中
- 策划:我设计了个武将。|策划:我设计了个武将。网友:好家伙,真让人摸不着头脑
- S26赛季更新后出现了不少BUG|腾讯游戏信用分上线正式服,三分钟一刷的龙让打野优势更大
- 做了20年的传说系列,和一款手游联动了?有玩家写出千字攻略点赞
- 让街机老板谈之色变的BUG,人物自带必杀光环,一直前进就能通关
- 欧成不忘老对手:LCK的新生代AD让我想起乌兹,像是能改变ADC位置
- BLG杀疯了:让一追二击败OMG,收获两连胜!网友:队安,勿念!
- 峡谷晚报:Lele澄清骂Uzi是谣言|阿狸小重做上线测试服