多人对战游戏的自对弈模型训练方法、装置和计算机设备转让专利

申请号 : CN202010220850.8

文献号 : CN111111220B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韩国安邱福浩李晓倩王亮付强

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请涉及一种多人对战游戏的自对弈模型训练方法、装置、计算机设备和存储介质。所述方法包括:获取历史对战视频数据;从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签;基于训练对战状态特征和操作标签进行训练,得到对战策略模型;通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战;获取对战中的对战状态特征和相应预测的操作的操作价值标签;基于对战状态特征和操作价值标签训练对战操作价值模型;根据对战策略模型和对战操作价值模型构建自对弈模型并训练。采用本方法能够提高自对弈模型的训练效率。

权利要求 :

1.一种多人对战游戏的自对弈模型训练方法,其特征在于,所述方法包括:获取历史对战视频数据;

从所述历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从所述对战视频帧中各对战操作区域获得所述训练对战状态特征相应的操作标签;

基于所述训练对战状态特征和所述操作标签进行训练,得到对战策略模型;

通过所述对战策略模型,基于对战中的对战状态特征预测操作以进行对战;

获取对战中的所述对战状态特征和相应预测的操作的操作价值标签;

基于所述对战状态特征和所述操作价值标签训练对战操作价值模型;

根据所述对战策略模型和所述对战操作价值模型构建自对弈模型并训练。

2.根据权利要求1所述的方法,其特征在于,所述从所述历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从所述对战视频帧中各对战操作区域获得所述训练对战状态特征相应的操作标签包括:从所述历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征;

从所述对战视频帧的各对战操作区域中提取所述历史对战状态特征对应的历史操作标签;

根据所述历史对战状态特征和所述历史操作标签得到训练对战状态特征和相应的操作标签。

3.根据权利要求2所述的方法,其特征在于,所述从所述历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征包括:从所述历史对战视频数据中抽取对战视频帧;

确定所述对战视频帧中的各状态特征区域;

对各所述状态特征区域进行状态特征提取,获得历史对战状态特征。

4.根据权利要求3所述的方法,其特征在于,所述对各所述状态特征区域进行状态特征提取,获得历史对战状态特征包括:对各所述状态特征区域中的地图状态区域和对战状态区域进行特征提取,得到对战状态图像特征;

对各所述状态特征区域中的对战全局属性区域进行特征提取,得到对战全局属性特征;

对各所述状态特征区域中的对战单元属性区域进行特征提取,得到对战单元状态特征;所述历史对战状态特征包括所述对战状态图像特征、所述对战全局属性特征和所述对战单元状态特征。

5.根据权利要求3所述的方法,其特征在于,所述从所述对战视频帧的各对战操作区域中提取所述历史对战状态特征对应的历史操作标签包括:确定所述对战视频帧中的各对战操作区域;

从各所述对战操作区域中确定操作类型;

确定所述操作类型对应的操作参数;所述历史操作标签包括所述操作类型和相应的操作参数。

6.根据权利要求1所述的方法,其特征在于,所述获取对战中的所述对战状态特征和相应预测的操作的操作价值标签包括:获取对战中的所述对战状态特征;

获取所述对战策略模型针对所述对战状态特征所相应预测的操作;

确定预测的所述操作的操作价值标签。

7.根据权利要求6所述的方法,其特征在于,所述确定预测的所述操作的操作价值标签包括:从所述对战状态特征中确定所述操作对应的前一对战状态特征;

从所述对战状态特征中确定所述操作对应的后一对战状态特征;

根据所述前一对战状态特征和所述后一对战状态特征,确定所述操作的操作价值标签。

8.根据权利要求1所述的方法,其特征在于,所述根据所述对战策略模型和所述对战操作价值模型构建自对弈模型并训练包括:根据所述对战策略模型和所述对战操作价值模型构建自对弈模型;

通过所述自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战;

获取对战中的对战数据,并基于所述对战数据训练所述自对弈模型。

9.根据权利要求8所述的方法,其特征在于,所述通过所述自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战包括:确定模型版本导出条件;

获取满足所述模型版本导出条件的各版本自对弈模型;

通过所述自对弈模型,基于与所述各版本自对弈模型在对战中的自对弈对战状态特征预测操作以进行对战。

10.根据权利要求8所述的方法,其特征在于,所述获取对战中的对战数据,并基于所述对战数据训练所述自对弈模型包括:获取对战中的所述自对弈对战状态特征;

获取所述自对弈模型针对所述自对弈对战状态特征所预测的自对弈操作;

获取所述自对弈模型针对所述自对弈操作所确定的自对弈操作价值标签;所述对战数据包括所述自对弈对战状态特征、所述自对弈操作和所述自对弈操作价值标签;

基于所述自对弈对战状态特征、所述自对弈操作和所述自对弈操作价值标签训练所述自对弈模型,在满足训练结束条件时,得到训练完成的自对弈模型。

11.一种多人对战游戏的自对弈模型训练装置,其特征在于,所述装置包括:历史对战数据获取模块,用于获取历史对战视频数据;

训练数据获取模块,用于从所述历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从所述对战视频帧中各对战操作区域获得所述训练对战状态特征相应的操作标签;

策略模型训练模块,用于基于所述训练对战状态特征和所述操作标签进行训练,得到对战策略模型;

策略模型对战模块,用于通过所述对战策略模型,基于对战中的对战状态特征预测操作以进行对战;

价值模型训练数据模块,用于获取对战中的所述对战状态特征和相应预测的操作的操作价值标签;

价值模型训练模块,用于基于所述对战状态特征和所述操作价值标签训练对战操作价值模型;

自对弈模型训练模块,用于根据所述对战策略模型和所述对战操作价值模型构建自对弈模型并训练。

12.根据权利要求11所述的装置,其特征在于,所述训练数据获取模块包括:历史状态特征提取模块,用于从所述历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征;

历史操作标签提取模块,用于从所述对战视频帧的各对战操作区域中提取所述历史对战状态特征对应的历史操作标签;

历史数据处理模块,用于根据所述历史对战状态特征和所述历史操作标签得到训练对战状态特征和相应的操作标签。

13.根据权利要求11所述的装置,其特征在于,所述自对弈模型训练模块包括:自对弈模块构建模块,用于根据所述对战策略模型和所述对战操作价值模型构建自对弈模型;

自对弈对战模块,用于通过所述自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战;

自对弈训练模块,用于获取对战中的对战数据,并基于所述对战数据训练所述自对弈模型。

14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。

15.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。

说明书 :

多人对战游戏的自对弈模型训练方法、装置和计算机设备

技术领域

[0001] 本申请涉及计算机技术领域,特别是涉及一种多人对战游戏的自对弈模型训练方法、装置、计算机设备和存储介质。

背景技术

[0002] 随着计算机技术的发展,计算机游戏等人机交互应用,如多人在线战术竞技游戏(Multiplayer Online Battle Arena, MOBA)类游戏成为越来越多人的娱乐方式,用户玩家可以在计算机游戏提供的虚拟场景中,操控虚拟对象单元进行游戏操作。在MOBA类游戏中,用户玩家一般可分为多个敌对阵营,通过操控虚拟对象单元对抗竞争完成游戏目标赢得游戏胜利。在玩家对战中,对战双方均为用户玩家,由用户玩家根据游戏提供的虚拟场景控制虚拟对象单元进行对抗,而在人机对战或游戏托管时,需要由计算机,如游戏AI(Artificial Intelligence,人工智能)自动控制电脑玩家或对应托管的虚拟对象单元进行游戏对抗。
[0003] 目前,MOBA类游戏中虚拟地图环境复杂、虚拟对象单元丰富、虚拟道具和虚拟操作类型多种多样,此外对抗竞争中还涉及各式各样的玩法策略,游戏的复杂性极大地增加了游戏AI进行对战探索学习的难度,游戏AI探索学习的效率较低。

发明内容

[0004] 基于此,有必要针对上述技术问题,提供一种能够提高多人对战游戏模型训练效率的自对弈模型训练方法、装置、计算机设备和存储介质。
[0005] 一种多人对战游戏的自对弈模型训练方法,所述方法包括:
[0006] 获取历史对战视频数据;
[0007] 从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签;
[0008] 基于训练对战状态特征和操作标签进行训练,得到对战策略模型;
[0009] 通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战;
[0010] 获取对战中的对战状态特征和相应预测的操作的操作价值标签;
[0011] 基于对战状态特征和操作价值标签训练对战操作价值模型;
[0012] 根据对战策略模型和对战操作价值模型构建自对弈模型并训练。
[0013] 一种多人对战游戏的自对弈模型训练装置,所述装置包括:
[0014] 历史对战数据获取模块,用于获取历史对战视频数据;
[0015] 训练数据获取模块,用于从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签;
[0016] 策略模型训练模块,用于基于训练对战状态特征和操作标签进行训练,得到对战策略模型;
[0017] 策略模型对战模块,用于通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战;
[0018] 价值模型训练数据模块,用于获取对战中的对战状态特征和相应预测的操作的操作价值标签;
[0019] 价值模型训练模块,用于基于对战状态特征和操作价值标签训练对战操作价值模型;
[0020] 自对弈模型训练模块,用于根据对战策略模型和对战操作价值模型构建自对弈模型并训练。
[0021] 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0022] 获取历史对战视频数据;
[0023] 从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签;
[0024] 基于训练对战状态特征和操作标签进行训练,得到对战策略模型;
[0025] 通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战;
[0026] 获取对战中的对战状态特征和相应预测的操作的操作价值标签;
[0027] 基于对战状态特征和操作价值标签训练对战操作价值模型;
[0028] 根据对战策略模型和对战操作价值模型构建自对弈模型并训练。
[0029] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0030] 获取历史对战视频数据;
[0031] 从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签;
[0032] 基于训练对战状态特征和操作标签进行训练,得到对战策略模型;
[0033] 通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战;
[0034] 获取对战中的对战状态特征和相应预测的操作的操作价值标签;
[0035] 基于对战状态特征和操作价值标签训练对战操作价值模型;
[0036] 根据对战策略模型和对战操作价值模型构建自对弈模型并训练。
[0037] 上述多人对战游戏的自对弈模型训练方法、装置、计算机设备和存储介质,从获得的历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签,根据得到的训练对战状态特征和操作标签训练对战策略模型,通过训练得到的对战策略模型基于对战中的对战状态特征预测操作以进行对战,基于对战中的对战状态特征和相应预测的操作的操作价值标签训练对战操作价值模型,根据对战策略模型和对战操作价值模型构建自对弈模型并训练,得到训练完成的自对弈模型。在自对弈模型训练的过程中,基于从历史对战视频数据得到的训练对战状态特征和操作标签训练对战策略模型,又以训练对战策略模型在对战中的对战状态特征和相应预测的操作的操作价值标签训练对战操作价值模型,根据对战策略模型和对战操作价值模型得到的自对弈模型可以有效适应于复杂的对战环境,减少自对弈模型训练时的前期的无效探索,从而提高了自对弈模型的训练效率。

附图说明

[0038] 图1为一个实施例中多人对战游戏的自对弈模型训练方法的应用环境图;
[0039] 图2为一个实施例中多人对战游戏的自对弈模型训练方法的流程示意图;
[0040] 图3为一个实施例中状态特征区域划分的界面示意图;
[0041] 图4为一个实施例中历史对战状态特征的提取的流程示意图;
[0042] 图5为一个实施例中状态特征提取的界面示意图;
[0043] 图6为一个实施例中对战操作区域划分的界面示意图;
[0044] 图7为图6所示实施例中操作参数的示意图;
[0045] 图8为另一个实施例中多人对战游戏的自对弈模型训练方法的流程示意图;
[0046] 图9为又一个实施例中多人对战游戏的自对弈模型训练方法的流程示意图;
[0047] 图10为一个实施例中多人对战游戏的自对弈模型训练装置的结构框图;
[0048] 图11为一个实施例中计算机设备的内部结构图。

具体实施方式

[0049] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0050] 人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0051] 人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0052] 计算机视觉技术(Computer Vision, CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
[0053] 自然语言处理(Nature Language processing, NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
[0054] 机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习(RL,Reinforcement Learning)、迁移学习、归纳学习、式教学习等技术。
[0055] 随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
[0056] 本申请实施例提供的方案涉及人工智能的机器学习等技术,可以在服务器上运行,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。具体通过如下实施例进行说明。
[0057] 自对弈(Self-Play)是一种无监督学习方法,是机器学习从自我对局中学习探索的强化学习算法。在MOBA类游戏中,如英雄联盟、王者荣耀等,玩家分成两个敌对阵营,通过对抗竞争最终摧毁敌方的水晶来赢得比赛。因MOBA类游戏中复杂的地图环境、丰富的角色、装备、各种各样英雄技能以及多种多样的策略打法,导致MOBA游戏AI从零开始学习难度十分大,需要花费大量的时间让AI学会最基本的操作。
[0058] 目前,业内常用的是基于抖动的自对弈探索方式,该方式主要可分为两大类。第一类,在动作选取上进行扰动:,如epsilon-greedy(ε贪心算法)动作选取策略,如式(1)所示,[0059]                 (1)
[0060] 其中, 为策略 的质量函数,s为状态,a为动作, 为动作空间,ε为概率。该策略以大概率选择使value最大的动作,而以小概率随机选择动作来促进自对弈过程的探索;再如,在OpenAI Five中,训练阶段动作的选取是按照模型的softmax分类器输出概率来选取,让所有动作都可能被选到。第二类,在模型参数进行扰动的方式,如DeepMind提出的noisy-net,该方法通过在神经网络的连接权重上引入噪声扰动,使其网络输出更多样,进而促进自对弈的探索。
[0061] 然而,基于动作选取扰动来进行,其扰动往往是随机的或者按照一定概率分布如noisy-net采用的高斯分布来进行。添加扰动的做法,能够让自对弈产生更多不同的输出。然而在MOBA类游戏中,不论是局面状态空间还是动作空间都十分庞大。如王者荣耀游戏中地图大小约50000像素*50000像素,共有60多种不同类型的可操作单元,每个可操作单位的动作具有连续性和多样性。使得这类扰动因其随机特性在复杂环境中产生有意义的动作数据比例较低,进一步的导致MOBA游戏AI在复杂环境中学习效率十分低下。同时,基于自对弈方法训练的强化模型,其策略受价值体系影响很大,很难探索到多样的策略而缺乏适应能力。现有技术方案的扰动局限于动作选取空间上,对于策略的变化是很难模拟的出来。最终导致学习出来的AI的打法策略单一,且因为没有见过不同打法策略,造成AI在面对人类玩家的多样策略时能力会出现明显下降。
[0062] 本申请正是正对目前自对弈探索中存在的训练效率低的问题,提出了一种能够提高多人对战游戏模型训练效率的自对弈模型训练方法、装置、计算机设备和存储介质。
[0063] 本申请提供的多人对战游戏的自对弈模型训练方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。终端102加载对战系统进行对战,产生历史对战视频数据,服务器104从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签,再根据获得训练对战状态特征和操作标签训练对战策略模型,通过训练得到的对战策略模型基于对战中的对战状态特征预测操作以进行对战,基于对战中的对战状态特征和相应预测的操作的操作价值标签训练对战操作价值模型,根据对战策略模型和对战操作价值模型构建自对弈模型并训练,得到训练完成的自对弈模型,自对弈模型可以在终端102或服务器104中运行进行对战。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
[0064] 在一个实施例中,如图2所示,提供了一种多人对战游戏的自对弈模型训练方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
[0065] 步骤S202,获取历史对战视频数据。
[0066] 历史对战视频数据可以为人类进行对战的录像数据,例如MOBA类游戏中,历史对战视频数据可以为人类玩家在游戏服务器中进行对战时实时录制的录像,如英雄联盟中录制的游戏录像,历史对战视频数据中记录了整局对战游戏中的对抗信息,具体包括双方状态和操作、游戏局面信息等等。
[0067] 步骤S204,从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签。
[0068] 其中,历史对战视频数据由不同的对战视频帧组成,各对战视频帧展示了多人对战游戏的界面,一般地,在多人对战游戏的界面会划分出不同的区域,以实现游戏的运行。其中,状态特征区域可以为对战视频帧中根据对战需要划分的用于显示状态的各显示区域,如可以为显示游戏地图、对局状态的界面区域;对战操作区域为玩家控制相应的对战单元进行对抗的操作区域,例如可以为玩家控制游戏角色进行移动的移动操作区域,或控制游戏角色进行技能释放的技能操作区域等。
[0069] 进一步地,训练对战状态特征和操作标签相对应,可以从已存在的历史对战视频数据中获得,具体地,训练对战状态特征可以从对战视频帧中各状态特征区域获得,用于表征在多人对战游戏中当前对战状态的特征,如具体表征的内容可以包括但不限于包括对战的局面、对战单元的特征等;而操作标签与训练对战状态特征对应,可以从对战视频帧中各对战操作区域获得,用于表征在对战中面对训练对战状态特征时,具体做出的操作,以使对战进入下一个状态,推动对战的进行。在具体应用中,如在MOBA类游戏中,训练对战状态特征和相应的操作标签可以从人类玩家的历史对战视频数据中进行特征提取得到,训练对战状态特征可以用于表征游戏的局面、地图、游戏单元的属性等,操作标签则为各训练对战状态特征对应的人类做出的操作,如移动游戏单元、控制游戏单元释放技能或使用道具等。在对战环境下,玩家在不同的训练对战状态特征下,通过控制对战单元执行操作标签,以改变对应的训练对战状态特征,推动对战的进行,实现游戏对抗,如击杀对战环境中的兵怪后获取经验和金币,以实现升级强化对战单元的技能属性,同时通过金币购买装备以强化对战单元的属性,如增加血量、提高防御等。
[0070] 步骤S206,基于训练对战状态特征和操作标签进行训练,得到对战策略模型。
[0071] 获得训练对战状态特征和操作标签后,基于该训练对战状态特征和操作标签进行训练,具体可以以训练对战状态特征为模型输入,以操作标签为模型输出进行模仿学习或监督学习(IL,Imitation learning)训练,在满足训练结束条件时,如训练次数达到次数阈值或模型的输出精度达到精度阈值时结束训练,得到训练完成的对战策略模型。对战策略模型基于已存在的训练对战状态特征和操作标签训练得到,可以根据输入的对战状态特征进行操作预测,输出在输入的对战状态特征下需要控制对战单元所执行的相应的操作标签,如控制对战单元进行移动,释放技能等,以控制对战单元进行对抗。
[0072] 步骤S208,通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战。
[0073] 训练得到对战策略模型后,通过该对战策略模型,基于对战中的对战状态特征预测操作以进行对战,对战状态特征为在对战过程中确定的对战状态,具体可以加载对抗环境,如加载MOBA类游戏环境,通过对战策略模型对对战中的对战状态特征进行预测操作,并根据预测的操作控制对应的对战单元进行对战。例如,通过对战策略模型控制王者荣耀中的对战单元进行对抗,由对战策略模型根据王者荣耀对战中的对战状态特征预测操作,控制对战单元执行相应操作进行对战。
[0074] 步骤S210,获取对战中的对战状态特征和相应预测的操作的操作价值标签。
[0075] 其中,对战状态特征为在对战过程中确定的对战状态,通过对战策略模型基于对战状态特征预测操作进行对战,通过预测的操作控制对战单元进行相应操作,以改变对战状态,从而推动对抗的进行,实现对战。操作价值标签为对战策略模型预测的操作对应的评估标签,对于对战中不同的对战状态特征,执行不同的操作,在对战中赢得对抗有不同的价值,操作越好,越利于赢得对抗,则该操作对应的操作价值越高。例如,在王者荣耀中,控制对战单元执行操作后击杀了敌方的对战单元,则有利于赢得对战比赛,则该操作的操作价值高。操作价值标签用于记录操作价值标签针对各操作价值标签所预测的操作对应的操作价值。在具体实现时,不同操作的操作价值根据实际对战环境进行确定,如王者荣光耀中的击杀、助攻,占领敌方资源等有利于赢得对战,具体可以根据各种对战环境设置相应的价值体系,通过该价值体系对预测的各操作进行评估,确定其相应的操作价值标签,如可以为百分制的90分,80分等。
[0076] 步骤S212,基于对战状态特征和操作价值标签训练对战操作价值模型。
[0077] 获得对战状态特征和相应预测的操作的操作价值标签后,基于该对战状态特征和操作价值标签训练对战操作价值模型,具体可以固定对战策略模型,以对战状态特征为模型输入,以操作价值标签为模型输出进行学习训练,在满足训练结束条件时,如训练次数达到次数阈值或模型的输出精度达到精度阈值时结束训练,得到训练完成的对战操作价值模型。对战操作价值模型可以根据输入的对战状态特征,对对战策略模型预测的操作进行评估,输出该操作对应的操作价值标签。
[0078] 步骤S214,根据对战策略模型和对战操作价值模型构建自对弈模型并训练。
[0079] 得到对战策略模型和对战操作价值模型后,根据该对战策略模型和对战操作价值模型构建自对弈模型,并训练构建的自对弈模型,得到训练完成的自对弈模型。自对弈模型可以根据输入当前对战状态特征预测操作,并控制对战单元执行预测的操作后,对操作进行评估,并调整模型参数对更新后对战状态特征进行预测操作,循环执行实现高智能化的对战,能够适应于复杂的对战环境。本实施例中,对战策略模型基于训练对战状态特征和操作标签训练得到,对战操作价值模型以训练对战策略模型在对战中的对战状态特征和相应预测的操作的操作价值标签训练得到,根据对战策略模型和对战操作价值模型得到的自对弈模型可以有效适应于复杂的对战环境,减少自对弈模型训练时的前期的无效探索,从而提高了自对弈模型的训练效率。
[0080] 上述多人对战游戏的自对弈模型训练方法中,从获得的历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签,根据得到的训练对战状态特征和操作标签训练对战策略模型,通过训练得到的对战策略模型基于对战中的对战状态特征预测操作以进行对战,基于对战中的对战状态特征和相应预测的操作的操作价值标签训练对战操作价值模型,根据对战策略模型和对战操作价值模型构建自对弈模型并训练,得到训练完成的自对弈模型。在自对弈模型训练的过程中,基于从历史对战视频数据得到的训练对战状态特征和操作标签训练对战策略模型,又以训练对战策略模型在对战中的对战状态特征和相应预测的操作的操作价值标签训练对战操作价值模型,根据对战策略模型和对战操作价值模型得到的自对弈模型可以有效适应于复杂的对战环境,减少自对弈模型训练时的前期的无效探索,从而提高了自对弈模型的训练效率。
[0081] 在一个实施例中,从历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签包括:从历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征;从对战视频帧的各对战操作区域中提取历史对战状态特征对应的历史操作标签;根据历史对战状态特征和历史操作标签得到训练对战状态特征和相应的操作标签。
[0082] 本实施例中,根据获得的历史对战视频数据中提取的历史对战状态特征和历史操作标签得到训练对战状态特征和相应的操作标签。具体地,得到历史对战视频数据后,历史对战视频数据为人类进行对战的录像数据,例如MOBA类游戏中,历史对战视频数据可以为人类玩家在游戏服务器中进行对战时实时录制的录像,如英雄联盟中录制的游戏录像,历史对战视频数据中记录了整局对战游戏中的对抗信息,具体包括双方状态和操作、游戏局面信息等等。对历史对战视频数据的对战视频帧中各状态特征区域进行特征提取,获得历史对战状态特征,并对对战视频帧的各对战操作区域进行特征提取,获得历史对战状态特征对应的历史操作标签,历史对战状态特征可以反映在历史对战过程中的对战状态,历史操作标签与历史对战状态特征对应,为人类玩家在面对不同的对战状态时所采取的对应操作。例如,在王者荣耀中,面对对方多个游戏单元的包围靠近,玩家控制对应的对战单元,如控制游戏操作的英雄向大本营移动,或者使用技能进行后退等。一般地,在不同的对战状态下,需要玩家进行分析并控制游戏中的对战单元执行相应操作,以实现赢得对战的胜利。
[0083] 获得历史对战状态特征及历史对战状态特征对应的历史操作标签后,根据历史对战状态特征和历史操作标签得到训练对战状态特征和相应的操作标签。具体地,可以对历史对战状态特征和历史操作标签进行筛选,从中选取中关键的数据作为模型训练使用的训练对战状态特征和相应的操作标签。此外,也可以直接将从历史对战视频数据中获得的历史对战状态特征作为训练对战状态特征,将历史对战状态特征对应的历史操作标签作为训练对战状态特征相应的操作标签。
[0084] 在一个实施例中,从历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征包括:从历史对战视频数据中抽取对战视频帧;确定对战视频帧中的各状态特征区域;对各状态特征区域进行状态特征提取,获得历史对战状态特征。
[0085] 本实施例中,从历史对战视频数据中对战视频帧的各状态特征区域提取对应的历史对战状态特征。具体地,获得历史对战视频数据后,从历史对战视频数据中抽取对战视频帧。历史对战视频数据是历史对战录制的录像视频,由一帧帧的图像帧按照时间序列组成,对战视频帧可以为历史对战视频数据中抽取的图像帧,具体可以为历史对战视频数据中与对战状态和操作相关的图像帧,例如在MOBA类游戏中,对战视频帧可以为对战过程中发生对抗事件如团战、资源争夺等事件的相关图像帧。获得对战视频帧后,确定对战视频帧中的各状态特征区域,状态特征区域可以为对战视频帧中根据对战需要划分的用于显示状态的各显示区域。例如,在MOBA类游戏中,如图3所示,在王者荣耀中,实线框内即为对战视频帧中的各状态特征区域,其中,左上角为小地图,用于显示王者荣耀在对战过程中,所有对战单元和主要资源的位置状态;右上角为对战的整体局面信息,如可以包括对战击杀数、死亡数、经济数和对战时间等;面积最大的实线框内为王者荣耀中对战的主要显示区域,一般以玩家当前控制的对战单元为中心,用于显示该对战单元周围的环境,以便玩家根据对战局势和对战环境做出决策,执行对应的操作进行对抗。对战视频帧中的各状态特征区域根据各对战环境类型进行划分,不同对战环境类型对应的对战状态特征区域的划分也不同,如王者荣耀中小地图显示于对战界面的左上方,而英雄联盟中小地图显示于对战界面的右下角。
[0086] 确定对战视频帧中的各状态特征区域后,对各状态特征区域进行状态特征提取,获得历史对战状态特征。具体地,可以对各状态特征区域进行图像化特征提取或向量化特征提取,以分别获得图像化形式的状态特征和向量化形式的状态特征,历史对战状态特征可以包括图像化形式的状态特征和向量化形式的状态特征,具体根据实际对战环境类型进行确定。
[0087] 在一个实施例中,如图4所示,历史对战状态特征的提取处理,即对各状态特征区域进行状态特征提取,获得历史对战状态特征包括:
[0088] 步骤S402,对各状态特征区域中的地图状态区域和对战状态区域进行特征提取,得到对战状态图像特征。
[0089] 本实施例中,对战视频帧中状态特征区域包括地图状态区域、对战状态区域、对战全局属性区域和对战单元属性区域,从各状态特征区域中分别提取相应特征得到历史对战状态特征。通过对对战视频帧中不同的区域分别进行特征区域,可以有效提取各种类型的与对战状态相关的特征,全面反映出当前的对战状态。具体地,确定状态特征区域中的地图状态区域和对战状态区域,其中,地图状态区域用于显示对战中的地图信息,对战中的地图在对战中一般用于显示对战环境的地图、对抗双方的对战单元在地图中的具体位置、对战环境中各主要资源的位置等;对战状态区域为对战中主要的显示区域,一般以玩家当前控制的对战单元为中心,用于显示该对战单元周围的环境,以便玩家根据对战局势和对战环境做出决策,执行对应的操作进行对抗。对地图状态区域进行特征提取,如进行图像化特征提取,可以得到地图状态图像特征,地图状态图像特征反映了当前对战状态下各对战资源、对战单位的所处位置特征;对战状态区域进行特征提取,如进行图像化特征提取,可以得到对战区域图像特征,对战区域图像特征反映了当前对战状态下,玩家所控制的对战单元附件的环境特征,对战状态图像特征包括地图状态图像特征和对战区域图像特征。
[0090] 步骤S404,对各状态特征区域中的对战全局属性区域进行特征提取,得到对战全局属性特征。
[0091] 确定状态特征区域中的对战全局属性区域,对战全局属性区域用于展示对战的整体局面信息,如可以包括对战击杀数、死亡数、经济数和对战时间等。具体可以对对战全局属性区域进行特征提取,如进行向量化特征提取,得到向量化的对战全局属性特征,对战全局属性特征反映了当前对战状态下对战双方整体的优劣局势。
[0092] 步骤S406,对各状态特征区域中的对战单元属性区域进行特征提取,得到对战单元状态特征;历史对战状态特征包括对战状态图像特征、对战全局属性特征和对战单元状态特征。
[0093] 确定状态特征区域中的对战单元属性区域,对战单元为对战中玩家相应控制的虚拟对象,玩家通过控制该虚拟对象执行相应操作进行对抗。对战单元属性区域用于展示对战单元的属性信息,如血量、蓝量、击杀数、死亡数和助攻数等。对对战单元属性区域进行特征提取,如进行向量化特征提取,得到对战单元状态特征,对战单元状态特征反映了对战单元的属性信息。对各状态特征区域进行状态特征提取后,分别获得对战状态图像特征、对战全局属性特征和对战单元状态特征等,历史对战状态特征包括对战状态图像特征、对战全局属性特征和对战单元状态特征,历史对战状态特征反映了在历史对战过程中的对战状态。
[0094] 在一个具体应用中,如图5所示,对于王者荣耀的历史对战视频数据中的对战视频帧进行状态特征提取,得到历史对战状态特征。在王者荣耀中,历史对战状态特征可以包括反映了小地图信息、对抗双方的优劣信息如人头差、经济差、塔数差等与对战局面相关的状态特征,还可以包括反映了游戏中所有对战单位的包括玩家角色、野怪、兵线等NPC角色(Non-Player Character,非玩家角色)信息的特征,以玩家角色为例,对战单元特征包括玩家角色的血量、蓝量、击杀数、死亡数等特征。图5中,对左上角的地图状态区域进行图像化特征提取,得到地图状态图像特征;对主要显示区域的战状态区域进行图像化特征提取,得到对战区域图像特征;对右上方的对战全局属性区域进行向量化特征提取,得到向量化的对战全局属性特征。
[0095] 在一个实施例中,从对战视频帧的各对战操作区域中提取历史对战状态特征对应的历史操作标签包括:确定对战视频帧中的各对战操作区域;从各对战操作区域中确定操作类型;确定操作类型对应的操作参数;历史操作标签包括操作类型和相应的操作参数。
[0096] 获得历史对战状态特征后,进一步从对战视频帧中提取历史对战状态特征对应的历史操作标签。具体可以根据对战视频帧中划分的操作区域中提取得到历史对战状态特征对应的历史操作标签,此外也可以根据先后不同对战视频帧之间的差异,确定历史对战状态特征对应的历史操作标签,例如前一帧中对战单元位于A位置,后一帧中该对战单元位于B位置,则历史操作标签可以为从A位置移动到B位置,或者在A位置释放技能K如闪现技能使对战单元运动到B位置。通过对历史对战视频数据进行分析,可以从历史对战视频数据中获取人类玩家在对战中面对不同的历史对战状态特征时执行对应的历史操作标签,以作为训练数据进行模型训练,可以提高对战AI的智能化程度。
[0097] 本实施例中,从对战视频帧中的各对战操作区域提取玩家在当前的对战状态下对应执行的操作类型和相应的操作参数。具体地,确定对战视频帧中的各对战操作区域,对战操作区域为玩家控制相应的对战单元进行对抗的操作区域,如王者荣耀中,对战操作区域包括对战操作区域和技能操作区域,对战界面的左下角为移动操作区域,右下角为技能操作区域。从各对战操作区域中确定操作类型,操作类型为玩家控制对战单元进行操作的类别,如移动、释放的技能类别、使用的道具类别等。对战操作区域不同的操作区域可以对应于不同类型的操作,在同一对战操作区域中也可以存在实现多种操作类型的操作。确定操作类型对应的操作参数,操作参数与操作类型对应,为操作类型具体对应的操作详细信息,如对于移动的操作类型,对应的操作参数可以包括移动的方向、移动的距离等。历史操作标签包括操作类型和相应的操作参数,其反映了在当前对战状态下,玩家对应执行的操作。
[0098] 在一个具体应用中,如图6所示,对于王者荣耀对战环境的对战操作区域包括位于界面左下方的对战操作区域和位于界面右下方的技能操作区域,操作类型包括移动和释放技能,玩家可以通过推动对战操作区域中的圆圈控制对战单元进行移动,同时通过选取技能操作区域的技能进行技能释放,如一技能、二技能、三技能和普通攻击等。如图7所示,对于王者荣耀对战环境,操作参数包括各操作类型的具体参数,如移动模型、普攻模型、方向型技能释放参数、位置型技能释放参数和目标型模型释放参数等。
[0099] 在一个实施例中,获取对战中的对战状态特征和相应预测的操作的操作价值标签包括:获取对战中的对战状态特征;获取对战策略模型针对对战状态特征所相应预测的操作;确定预测的操作的操作价值标签。
[0100] 本实施例中,通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战,获取对战过程中对战策略模型的输入和输出,即获取对战状态特征和相应预测的操作,确定相应预测的操作的操作价值标签。具体地,通过对战策略模型进行对战时,获取对战中的对战状态特征,对战状态特征根据对战的实时局面进行变化,即各对战单元执行操作后,都会影响对战的对战状态特征,使对战状态发生转变。获取对战策略模型针对对战状态特征所相应预测的操作,对战策略模型预测的操作即为对战策略模型的输出。得到对战过程中对战策略模型的输出后,确定预测的操作的操作价值标签,具体可以各种对战环境设置相应的价值体系,通过该价值体系对预测的各操作进行评估,确定其相应的操作价值标签,如可以为百分制的90分,80分等。
[0101] 在一个实施例中,确定预测的操作的操作价值标签包括:从对战状态特征中确定操作对应的前一对战状态特征;从对战状态特征中确定操作对应的后一对战状态特征;根据前一对战状态特征和后一对战状态特征,确定操作的操作价值标签。
[0102] 本实施例中,对战中的操作会使对战中的对战状态特征发生转变,可以根据前后对战状态特征的变化,来评估对应操作的价值,从而确定该操作的操作价值标签。具体地,确定预测的操作的操作价值标签时,从对战状态特征中确定操作对应的前一对战状态特征,具体为操作执行前的对战状态特征,即为对战策略模型输入的对战状态特征,并根据该对战状态特征进行预测相应的操作,控制对战单元执行该操作后,使得对战局面发生变化,对战状态特征发生转变,由该前一对战状态特征转变至后一对战状态特征。从对战状态特征中确定操作对应的后一对战状态特征,后一对战状态特征为对战策略模型预测的操作执行后的对战状态特征。前一对战状态特征和后一对战状态特征可以根据操作的先后关系从对战状态特征中确定。得到操作前后的对战状态特征后,根据前一对战状态特征和后一对战状态特征,确定操作的操作价值标签。具体地,可以通过操作前后的对战状态特征变化情况,结合设置的价值评估规则对该操作进行评估,得到该操作对应的操作价值标签。例如,MOBA类游戏中,对战单元执行预测的操作后击杀了敌方的对战单元,使得本方经济领先敌方,取得经济优势,则该操作的操作价值较高,从而确定该操作的操作价值标签。
[0103] 在一个实施例中,根据对战策略模型和对战操作价值模型构建自对弈模型并训练包括:根据对战策略模型和对战操作价值模型构建自对弈模型;通过自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战;获取对战中的对战数据,并基于对战数据训练自对弈模型。
[0104] 本实施例中,根据得到的对战策略模型和对战操作价值模型构建自对弈模型,并通过该自对弈模型进行对战得到对战数据,基于该对战数据训练自对弈模型,直至训练结束,得到训练完成的自对弈模型。具体地,得到对战策略模型和对战操作价值模型后,根据对战策略模型和对战操作价值模型构建自对弈模型,如自对弈模型可以为强化学习模型,强化学习和监督学习最大的区别是它是没有监督学习已经准备好的训练数据输出值的,强化学习只有奖励值,但是这个奖励值和监督学习的输出值不一样,它不是事先给出的,而是延后给出的,比如对战操作价值模型对对战状态数据进行预测并执行预测的操作后,由对战操作价值模型对操作进行评估,以确定预测操作对应的操作价值标签。同时,强化学习的每一步与时间顺序前后关系紧密。自对弈模型由对战策略模型和对战操作价值模型构成,由对战策略模型对对战中的对战状态数据进行操作预测,由对战操作价值模型对该操作进行价值评估。
[0105] 得到自对弈模型后,通过该自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战。具体地,可以加载对战系统,通过自对弈模型对对战中的自对弈对战状态特征预测操作以进行对战。自对弈对战状态特征可以为自对弈在进行对战时的对战状态。获取对战中的对战数据,对战数据可以包括对战中的自对弈对战状态特征、自对弈模型针对自对弈对战状态特征所预测的自对弈操作,以及自对弈模型针对自对弈操作所确定的自对弈操作价值标签,即对战数据可以包括自对弈模型中对战策略模型和对战操作价值模型的输入和输出。得到自对弈模型在对战过程中的对战数据后,基于该对战数据训练自对弈模型,如可以根据自对弈模型在对战中的结果,调整自对弈模型,在训练结束时,得到训练完成的自对弈模型。
[0106] 在一个实施例中,通过自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战包括:确定模型版本导出条件;获取满足模型版本导出条件的各版本自对弈模型;通过自对弈模型,基于与各版本自对弈模型在对战中的自对弈对战状态特征预测操作以进行对战。
[0107] 本实施例中,可以通过不同版本的自对弈模型进行对战,进一步提高自对弈模型的智能化程度。其中,不同版本的自对弈模型可以为训练次数不同的自对弈模型。具体地,在通过自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战时,确定模型版本导出条件,模型版本导出条件可以根据模型训练的需求确定,如可以为训练次数达到一定数量,则认为满足模型版本导出条件,获取满足模型版本导出条件的各版本自对弈模型。各版本自对弈模型训练的程度并不同,为确保训练能够持续有效,通过自对弈模型,基于与各版本自对弈模型在对战中的自对弈对战状态特征预测操作以进行对战。即通过使当前最新的自对弈模型与各版本的自对弈模型进行对战,获取对战过程中的对战数据,并根据该对战数据进一步训练自对弈模型,以确保自对弈模型能够比历史版本的自对弈模型更优。
[0108] 在一个实施例中,获取对战中的对战数据,并基于对战数据训练自对弈模型包括:获取对战中的自对弈对战状态特征;获取自对弈模型针对自对弈对战状态特征所预测的自对弈操作;获取自对弈模型针对自对弈操作所确定的自对弈操作价值标签;对战数据包括自对弈对战状态特征、自对弈操作和自对弈操作价值标签;基于自对弈对战状态特征、自对弈操作和自对弈操作价值标签训练自对弈模型,在满足训练结束条件时,得到训练完成的自对弈模型。
[0109] 本实施例中,对战数据包括对战中的自对弈对战状态特征、自对弈模型针对自对弈对战状态特征所预测的自对弈操作,以及自对弈模型针对自对弈操作所确定的自对弈操作价值标签,根据该自对弈对战状态特征、自对弈操作和自对弈操作价值标签训练自对弈模型,得到训练完成的自对弈模型。
[0110] 具体地,在训练自对弈模型时,获取对战中的自对弈对战状态特征,自对弈对战状态特征为自对弈模型在对战过程中进行预测操作时所面对的对战状态。进一步获取自对弈模型针对自对弈对战状态特征所预测的自对弈操作,自对弈模型根据自对弈对战状态特征进行操作预测,得到自对弈操作。获取自对弈模型针对自对弈操作所确定的自对弈操作价值标签,自对弈模型对预测的自对弈操作进行评估,确定其自对弈操作价值标签。自对弈对战状态特征、自对弈操作和自对弈操作价值标签组成对战数据。基于自对弈对战状态特征、自对弈操作和自对弈操作价值标签训练自对弈模型,在满足训练结束条件时,如训练次数达到次数阈值或模型的输出精度达到精度阈值时结束训练,得到训练完成的自对弈模型。
[0111] 在一个实施例中,如图8所示,提供了多人对战游戏的一种自对弈模型训练方法,包括:
[0112] 步骤S802,获取历史对战视频数据,并从历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征;
[0113] 步骤S804,从对战视频帧的各对战操作区域中提取历史对战状态特征对应的历史操作标签;
[0114] 步骤S806,根据历史对战状态特征和历史操作标签得到训练对战状态特征和相应的操作标签;
[0115] 步骤S808,基于训练对战状态特征和操作标签进行训练,得到对战策略模型;
[0116] 步骤S810,通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战;
[0117] 步骤S812,获取对战中的对战状态特征;
[0118] 步骤S814,获取对战策略模型针对对战状态特征所相应预测的操作;
[0119] 步骤S816,确定预测的操作的操作价值标签;
[0120] 步骤S818,基于对战状态特征和操作价值标签训练对战操作价值模型;
[0121] 步骤S820,根据对战策略模型和对战操作价值模型构建自对弈模型;
[0122] 步骤S822,确定模型版本导出条件;
[0123] 步骤S824,获取满足模型版本导出条件的各版本自对弈模型;
[0124] 步骤S826,通过自对弈模型,基于与各版本自对弈模型在对战中的自对弈对战状态特征预测操作以进行对战;
[0125] 步骤S828,获取对战中的对战数据,并基于所述对战数据训练所述自对弈模型。
[0126] 本实施例中,根据获得的历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从对战视频帧中各对战操作区域获得训练对战状态特征相应的操作标签。从历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征包包括:从历史对战视频数据中抽取对战视频帧;确定对战视频帧中的各状态特征区域;对各状态特征区域进行状态特征提取,获得历史对战状态特征。
[0127] 对各状态特征区域进行状态特征提取,获得历史对战状态特征包括:对各状态特征区域中的地图状态区域和对战状态区域进行特征提取,得到对战状态图像特征;对各状态特征区域中的对战全局属性区域进行特征提取,得到对战全局属性特征;对各状态特征区域中的对战单元属性区域进行特征提取,得到对战单元状态特征;历史对战状态特征包括对战状态图像特征、对战全局属性特征和对战单元状态特征。
[0128] 从对战视频帧的各对战操作区域中提取历史对战状态特征对应的历史操作标签包括:确定对战视频帧中的各对战操作区域;从各对战操作区域中确定操作类型;确定操作类型对应的操作参数;历史操作标签包括操作类型和相应的操作参数。
[0129] 确定预测的操作的操作价值标签包括:从对战状态特征中确定操作对应的前一对战状态特征;从对战状态特征中确定操作对应的后一对战状态特征;根据前一对战状态特征和后一对战状态特征,确定操作的操作价值标签。
[0130] 获取对战中的对战数据,并基于对战数据训练自对弈模型包括:获取对战中的自对弈对战状态特征;获取自对弈模型针对自对弈对战状态特征所预测的自对弈操作;获取自对弈模型针对自对弈操作所确定的自对弈操作价值标签;对战数据包括自对弈对战状态特征、自对弈操作和自对弈操作价值标签;基于自对弈对战状态特征、自对弈操作和自对弈操作价值标签训练自对弈模型,在满足训练结束条件时,得到训练完成的自对弈模型。
[0131] 在自对弈模型训练的过程中,基于从历史对战视频数据得到的训练对战状态特征和操作标签训练对战策略模型,又以训练对战策略模型在对战中的对战状态特征和相应预测的操作的操作价值标签训练对战操作价值模型,根据对战策略模型和对战操作价值模型得到的自对弈模型结合人类玩家数据,可以快速获得一个具备人类操作的初始自对弈模型,能够在自对弈的训练初期就产生有价值的对战数据,大大减少训练前期的无效探索时间;同时,通过选取不同策略的训练数据,可以得到展现不同策略打法的模型,能够产生不同策略的自对弈训练数据,有效扩充强化训练数据的打法多样性,使AI见过更多策略打法数据,提升模型的鲁棒性;此外,模仿学习得到的模型不单单是能够作为自对弈的初始模型,也能够作为训练的对手模型,对强化模型进行打法策略的测试。
[0132] 本申请还提供一种MOBA类游戏,如王者荣耀的应用场景,该应用场景应用上述的自对弈模型训练方法。具体地,该自对弈模型训练方法在该应用场景的应用如下:
[0133] 如图9所示,为该自对弈模型训练方法在该应用场景的流程示意图。自对弈模型训练方法分为三大模块。首先是对战策略模型模块,提取王者荣耀的人类玩家的对战数据,从对战数据中提取训练对战状态特征和操作标签,降低游戏的状态空间和动作空间,然后使用模仿学习获得一个模拟人类玩法的对战策略模型。
[0134] 具体地,从人类玩家对战录像中,进行状态特征和操作label数据提取,提取训练对战状态特征和玩家的操作标签,即图9中操作label,得到人类玩家对战数据训练集。训练对战状态特征包含局面特征以及游戏单元特征局面特征包含MOBA类游戏的小地图图像化特征,MOBA对抗双方的优劣信息如人头差、经济差、塔数差等的向量化特征。游戏单元指游戏中所有单位的包括玩家角色、野怪、兵线等NPC角色。对于游戏单元特征,游戏单元以玩家角色为例,特征包括玩家角色的血量、蓝量、击杀数、死亡数等向量化提取。玩家的操作label为提取的玩家的操作信息,可以分为两层:第一层为玩家使用了什么技能如移动、1技能等;第二层为操作的操作参数信息,如移动的方向、技能的释放位置。接下来,以训练对战状态特征作为网络输入,操作label作为输出label进行模仿学习,得到对战策略模型。
[0135] 接着是对战操作价值模型模块,将模仿学习得到的对战策略模型的权重参数复制出来,重载到强化学习的策略网络中,固定强化学习的策略网络,即固定对战策略模型的权重不更新,用重载得到的强化模型自对弈产生样本数据(包括训练对战状态特征和操作价值标签)只进行价值网络的训练,直到价值网络的损失函数loss稳定,得到对战操作价值模型。
[0136] 具体地,将模仿学习得到的对战策略模型重载到强化模型的策略网络中。以重载的强化模型进行自对弈,即加载游戏环境进行对战,根据设计的价值体系来评估并记录自对弈过程中每一个执行操作的value值。固定重载后的强化模型的策略网络权重不更新,用训练对战状态特征作为输入,记录的操作value值为label,进行强化模型的价值网络训练,直到训练的loss收敛,得到对战操作价值模型。
[0137] 最后,合并模仿学习的对战策略模型和稳定的对战操作价值模型得到完整的强化学习模型,即自对弈模型,以该自对弈模型作为起始模型进行自对弈产生训练数据,进行强化学习,得到训练完成的自对弈模型。
[0138] 具体地,以合并模仿学习的对战策略模型和稳定的对战操作价值模型得到的自对弈模型作为初始的自对弈模型,进行模型自我对战产生训练数据,进行自对弈模型训练,包括自对弈模型中对战策略模型和对战操作价值模型的训练产生新的强化模型版本。具体可以根据PPO(Proximal Policy Optimization,近端策略优化)算法、迭代训练,如A3C(Asynchronous advantage actor-critic,异步优势动作评价算法),DDPG(Deep Deterministic Policy Gradient,深层确定性策略梯度)等算法,对自对弈模型中的对战策略模型和对战操作价值模型进行训练。用不同训练时间的模型构建模型版本池,具体可以在模型迭代一定步数后,将更新后的模型加入到对手模型池中,以供后面继续对战对战前最新模型从版本池中选取对战模型。评估自对弈模型的能力,如果达到能力上限或最大迭代时间步,则停止训练保存最终模型;否则,返回继续训练,直至得到训练完成的自对弈模型。
[0139] 应该理解的是,虽然图2、4和8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、4和8中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0140] 在一个实施例中,如图10所示,提供了一种多人对战游戏的自对弈模型训练装置1000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:历史对战数据获取模块1002、训练数据获取模块1004、策略模型训练模块
1006、策略模型对战模块1008、价值模型训练数据模块1010、价值模型训练模块1012和自对弈模型训练模块1014,其中:
[0141] 历史对战数据获取模块1002,用于获取历史对战视频数据;
[0142] 训练数据获取模块1004,用于从所述历史对战视频数据的对战视频帧中各状态特征区域获得训练对战状态特征,并从所述对战视频帧中各对战操作区域获得所述训练对战状态特征相应的操作标签;
[0143] 策略模型训练模块1006,用于基于训练对战状态特征和操作标签进行训练,得到对战策略模型;
[0144] 策略模型对战模块1008,用于通过对战策略模型,基于对战中的对战状态特征预测操作以进行对战;
[0145] 价值模型训练数据模块1010,用于获取对战中的对战状态特征和相应预测的操作的操作价值标签;
[0146] 价值模型训练模块1012,用于基于对战状态特征和操作价值标签训练对战操作价值模型;
[0147] 自对弈模型训练模块1014,用于根据对战策略模型和对战操作价值模型构建自对弈模型并训练。
[0148] 在一个实施例中,训练数据获取模块1004包括:历史状态特征提取模块、历史操作标签提取模块和历史数据处理模块;其中:历史状态特征提取模块,用于从历史对战视频数据的对战视频帧中各状态特征区域提取历史对战状态特征;历史操作标签提取模块,用于从对战视频帧的各对战操作区域中提取历史对战状态特征对应的历史操作标签;历史数据处理模块,用于根据历史对战状态特征和历史操作标签得到训练对战状态特征和相应的操作标签。
[0149] 在一个实施例中,历史状态特征提取包括视频帧提取模块、状态区域确定模块和状态特征提取模块;其中:视频帧提取模块,用于从历史对战视频数据中抽取对战视频帧;状态区域确定模块,用于确定对战视频帧中的各状态特征区域;状态特征提取模块,用于对各状态特征区域进行状态特征提取,获得历史对战状态特征。
[0150] 在一个实施例中,状态特征提取模块包括图像特征提取模块、属性特征提取模块和单元特征提取模块;其中:图像特征提取模块,用于对各状态特征区域中的地图状态区域和对战状态区域进行特征提取,得到对战状态图像特征;属性特征提取模块,用于对各状态特征区域中的对战全局属性区域进行特征提取,得到对战全局属性特征;单元特征提取模块,用于对各状态特征区域中的对战单元属性区域进行特征提取,得到对战单元状态特征;历史对战状态特征包括对战状态图像特征、对战全局属性特征和对战单元状态特征。
[0151] 在一个实施例中,历史操作标签提取模块包括操作区域确定模块、操作类型确定模块和操作参数确定模块;其中:操作区域确定模块,用于确定对战视频帧中的各对战操作区域;操作类型确定模块,用于从各对战操作区域中确定操作类型;操作参数确定模块,用于确定操作类型对应的操作参数;历史操作标签包括操作类型和相应的操作参数。
[0152] 在一个实施例中,价值模型训练数据模块1010包括对战状态获取模块、预测操作模块模块和预测操作价值标签确定模块;其中:对战状态获取模块,用于获取对战中的对战状态特征;预测操作模块模块,用于获取对战策略模型针对对战状态特征所相应预测的操作;预测操作价值标签确定模块,用于确定预测的操作的操作价值标签。
[0153] 在一个实施例中,预测操作价值标签确定模块包括前一状态确定模块、后一状态确定模块和前后状态分析模块;其中:前一状态确定模块,用于从对战状态特征中确定操作对应的前一对战状态特征;后一状态确定模块,用于从对战状态特征中确定操作对应的后一对战状态特征;前后状态分析模块,用于根据前一对战状态特征和后一对战状态特征,确定操作的操作价值标签。
[0154] 在一个实施例中,自对弈模型训练模块1014包括:自对弈模块构建模块、自对弈对战模块和自对弈训练模块;其中:自对弈模块构建模块,用于根据对战策略模型和对战操作价值模型构建自对弈模型;自对弈对战模块,用于通过自对弈模型,基于对战中的自对弈对战状态特征预测操作以进行对战;自对弈训练模块,用于获取对战中的对战数据,并基于对战数据训练自对弈模型。
[0155] 在一个实施例中,自对弈对战模块包括版本条件确定模块、版本模型获取模块和版本模型对战模块;其中:版本条件确定模块,用于确定模型版本导出条件;版本模型获取模块,用于获取满足模型版本导出条件的各版本自对弈模型;版本模型对战模块,用于通过自对弈模型,基于与各版本自对弈模型在对战中的自对弈对战状态特征预测操作以进行对战。
[0156] 在一个实施例中,自对弈训练模块包括自对弈状态获取模块、自对弈操作获取模块、自对弈价值获取模块和自对弈数据训练模块;其中:自对弈状态获取模块,用于获取对战中的自对弈对战状态特征;自对弈操作获取模块,用于获取自对弈模型针对自对弈对战状态特征所预测的自对弈操作;自对弈价值获取模块,用于获取自对弈模型针对自对弈操作所确定的自对弈操作价值标签;对战数据包括自对弈对战状态特征、自对弈操作和自对弈操作价值标签;自对弈数据训练模块,用于基于自对弈对战状态特征、自对弈操作和自对弈操作价值标签训练自对弈模型,在满足训练结束条件时,得到训练完成的自对弈模型。
[0157] 关于自对弈模型训练装置的具体限定可以参见上文中对于自对弈模型训练方法的限定,在此不再赘述。上述自对弈模型训练装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0158] 在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。
该计算机程序被处理器执行时以实现一种自对弈模型训练方法。
[0159] 本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0160] 在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0161] 在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0162] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
[0163] 以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0164] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。