网易互娱AI Lab技术主管:那些被强化学习解决的痛点

2022N.GAME网易游戏开发者峰会于「4月18日-4月21日」举办 , 在技术驱动场中 , 网易互娱AILab的技术主管曾广俊分享了强化学习在互娱游戏中的落地 。
网易互娱AI Lab技术主管:那些被强化学习解决的痛点
文章图片
以下为曾广俊的分享内容 , 为方便阅读 , 有部分删减与调整:
互娱AILab成立于2017年底 , 主要目标是将3D、CV、RL、NLP和语音技术落地到游戏当中 , 解决游戏的痛点 。 今天我们来讲一下强化学习是什么、可以在游戏里做些什么 , 以及在其他领域能如何应用 。
01
强化学习是什么?
假如现在我们要训练一条小狗做出坐下的动作 , 我们可能会做出一个指令让它坐下 。 如果小狗做对了 , 我们就会奖励它一个食物;如果没做到就不会给 。 通过这样的多次反馈、迭代 , 小狗最终会知道——要做出坐下这个动作才能获得奖励 。
网易互娱AI Lab技术主管:那些被强化学习解决的痛点
文章图片
同样 , 我们会把状态信息发送给AI , 让AI做出动作 , 由游戏反馈这个动作是否会有奖惩 , AI得到反馈后就会据此调整它的策略 。
通过多轮迭代 , 它就会知道在某个时刻要做什么动作才能获得最大回报 。 由于我们需要和环境大量交互 , 所以强化学习通常需要很多时间让机器探索 。 通过缩小探索空间、提高样本利用率来提高强化学习的训练效果 , 是一个重要的方向 。
网易互娱AI Lab技术主管:那些被强化学习解决的痛点】02
强化学习可以在游戏里面做些什么?
游戏要接入强化学习非常简单 , 只要实现两个接口:reset接口和step接口 。 reset接口会从游戏中返回初始状态;step接口会从AI中获取对应动作 。 之后游戏环境会返回下一个状态的信息 , 和一些回报的奖励信息 。 最后把这个游戏打包成动态库或者docker , 就可以交给强化学习AI训练 。
网易互娱AI Lab技术主管:那些被强化学习解决的痛点
文章图片
1、强化学习的主要应用:对战型AI
强化学习最主要的应用是对战型AI 。 在互娱游戏中我们落地了NPC的对战AI 。 先以《天下3》的山海绘——一个人机对战的卡牌游戏为例 , 玩家可以选多个难度 , 跟机器人进行对战 。 策划需要在短时间内完成人机对战AI , 这个AI要适应多种难度 , 且难度要能动态调整 , 以适应玩家的水平 。
如果我们用行为树做山海绘的AI , 会需要策划用很多时间去列举每个状态的信息 , 然后根据状态节点做对应动作 。 如果要做分级难度 , 就更需要细致地划分 , 这样花费的时间将会更加巨大 , 上线后每一次更新 , 都需要策划重新花费大量时间修改行为树 。
更关键的是 , 行为树的AI强度通常都达不到一般玩家的水平 。 如果用强化学习去做 , 我们就可以很快速地生成AI , 尤其是当新卡更新到新的游戏环境中 , 强化学习可以很快地适应新环境 , 只需要重新再Finetune一下就可以了 。
强化学习训练本身 , 是在做机器人的自对弈行为 。 在这样的过程中 , 会自然而然地批量生成大量不同难度的AI 。 这些AI可以无缝迁移 , 满足玩家对于难度选择的需求 。 最关键的一点是 , 它最后的强度能远超玩家水平 。
我们的强化学习训练和一般的强化学习类似 , 主要由采样器、训练器组成 。 采样器在CPU上执行AI决策 , 通过与游戏环境交互生成大量样本 。 这些样本又可以送到GPU的训练器上优化 , 优化出来的模型再放到模型池里 , 让AI选择对手 。
通过迭代模型池强度 , 当前训练的AI也会逐渐变强 。 且模型池的模型也可以作为不同难度的AI模型让玩家选择 。 这个AI的难点主要在动作空间上 , 刚才提到训练强化学习其实是试错的过程 , 如果我们可选的动作太多 , 找到合适的动作就需要很长时间 。

相关经验推荐