动作确定方法、装置、设备及计算机可读存储介质与流程

文档序号:24883325发布日期:2021-04-30 13:03阅读:102来源:国知局
动作确定方法、装置、设备及计算机可读存储介质与流程

本申请涉及人工智能领域,尤其涉及一种动作确定方法、装置、设备及计算机可读存储介质。



背景技术:

随着信息技术的发展,计算机游戏受到越来越多用户的喜爱。当前计算机游戏的种类丰富,针对游戏角色的操作也难易不一。相关技术中,可以通过计算机自动确定游戏角色的待执行动作,从而可以由计算机或玩家控制游戏角色执行该待执行动,进而实现游戏自动化测试、游戏指导、角色托管或非玩家角色(non-playercharacter,npc)控制等目的。

相关技术中,可以通过游戏ai或深度网络确定游戏角色的待执行动作。而采用的游戏ai或深度网络通常通过以下方法进行训练:

1)基于dqn算法训练游戏ai的方法:该方法首先需要人工构建游戏的奖励函数,通过不断与游戏环境进行交互,收集游戏角色的状态、动作和奖励的样本集合,随后采用dqn算法优化模型参数,目标函数为最大化游戏的奖励,最后经过不断的迭代更新,得到优化的深度网络。该方案需要多次与环境进行交互,耗时过大,同时,人工构建奖励依赖研究者对游戏较高的先验知识,成本过高,而且人工构建的奖励不适用多种游戏场景。

2)基于imagenet数据库预训练模型的模仿学习方案:该方案首先通过基于imagenet数据库预训练的深度网络提取图像特征,随后微调模型参数,训练模仿学习模型,通过轻量化深度模型输出动作的打分,目标是预测的动作与玩家的动作尽量一致。但imagenet数据库中的图像来自真实场景,和游戏图像的风格差异过大,基于imagenet数据库预训练的深度网络模型难以提取到游戏场景相关的重要特征,不能提高模型的学习效果。

可见,上述相关技术中训练游戏ai或深度网络的方案,在训练的游戏ai或深度网络在确定游戏角色的待执行动作时,耗时过大,且难以提取到游戏场景相关的重要特征,针对不同游戏场景的泛化能力也较差,从而影响确定待执行动作的效果。



技术实现要素:

本申请实施例提供一种动作确定方法、装置、设备及计算机可读存储介质,能够有效提升确定待执行动作的准确性,并且具有较强的泛化能力,可以适用于多种不同类型游戏中游戏角色的待执行动作的确定。

本申请实施例的技术方案是这样实现的:

本申请实施例提供一种动作确定方法,包括:

获取当前游戏场景的游戏图像;

基于动作确定模型的特征提取网络,对所述游戏图像进行特征提取,得到表征所述当前游戏场景中游戏角色所处情景的时序特征和空间特征;

基于所述动作确定模型的类别输出网络,对所述时序特征和所述空间特征进行动作分类,得到所述游戏角色的待执行动作。

在一些实施例中,在所述基于动作确定模型的特征提取网络,对所述游戏图像进行特征提取,得到表征所述当前游戏场景中游戏角色所处情景的时序特征和空间特征之前,所述方法还包括:基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,得到更新后的预训练模型;所述第一图像样本库中的每一样本具有一时序标签,所述第二图像样本库中的每一样本具有一空间标签;将所述更新后的预训练模型的特征提取网络,确定为所述动作确定模型的特征提取网络;基于第三图像样本库,对所述动作确定模型的模型参数进行更新,得到更新后的所述动作确定模型;所述第三图像样本库中每一样本具有一动作标签。

在一些实施例中,所述基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,得到更新后的预训练模型,包括:利用所述预训练模型,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本的时序类别概率向量;利用所述预训练模型,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本的空间类别概率向量;基于所述第一图像样本库中每一样本的时序类别概率向量及所述每一样本的时序标签、所述第二图像样本库中的每一样本的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定第一损失值;在根据所述第一损失值确定所述第一损失函数收敛或对所述模型参数进行更新的次数达到次数阈值的情况下,将当前的预训练模型确定为更新后的预训练模型。

在一些实施例中,所述基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,得到更新后的预训练模型,还包括:在根据所述第一损失值确定所述第一损失函数未收敛的情况下,基于所述第一损失函数,采用第一参数优化算法对所述预训练模型的模型参数进行更新;利用所述预训练模型,基于更新后的所述模型参数,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本更新后的时序类别概率向量;利用所述预训练模型,基于更新后的所述模型参数,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本更新后的空间类别概率向量;基于所述第一图像样本库中每一样本更新后的时序类别概率向量及所述每一样本的时序标签、所述第一图像样本库中每一样本更新后的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定更新后的第一损失值。

在一些实施例中,所述预训练模型的类别输出网络包括时序类别输出网络,所述利用所述预训练模型,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本的时序类别概率向量,包括:利用所述预训练模型的特征提取网络,对所述第一图像样本库中的每一样本进行特征提取,得到所述每一样本的特征向量;利用所述时序类别输出网络,对所述每一样本的特征向量进行处理,得到所述每一样本的时序类别概率向量。

在一些实施例中,所述第一图像样本库中的每一样本为一图像组,所述利用所述预训练模型的特征提取网络,对所述第一图像样本库中的每一样本进行特征提取,得到所述每一样本的特征向量,包括:针对所述第一图像样本库中的每一图像组,利用所述预训练模型的特征提取网络,分别对所述图像组中的每一图像进行特征提取,得到每一所述图像的特征向量;对每一所述图像组中各图像的特征向量进行级联,得到每一所述图像组的特征向量。

在一些实施例中,所述预训练模型的类别输出网络包括空间类别输出网络,所述利用所述预训练模型,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本的空间类别概率向量,包括:利用所述预训练模型的特征提取网络,对所述第二图像样本库中的每一样本进行特征提取,得到所述每一样本的特征向量;利用所述空间类别输出网络,对所述每一样本的特征向量进行处理,得到所述每一样本的空间类别概率向量。

在一些实施例中,在所述基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,得到更新后的预训练模型之前,所述方法还包括:获取第四图像样本库,所述第四图像样本库中包括至少一种类型游戏的游戏图像样本;基于所述第四图像样本库,生成所述第一图像样本库;基于所述第四图像样本库,生成所述第二图像样本库。

在一些实施例中,所述第一图像样本库中的每一样本为一图像组,所述基于所述第四图像样本库,生成所述第一图像样本库,包括:从所述第四图像样本库中选取第一图像组集,所述第一图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序排序后得到,其中n为大于2的整数;从所述第四图像样本库中选取第二图像组集,所述第二图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序乱序调整后得到;分别为所述第一图像组集和所述第二图像组集中的每一图像组确定时序标签,其中,每一图像组的时序标签用于表征所述图像组中的n帧游戏图像是否按照时序排序;将所述第一图像组集和第二图像组集进行合并,得到所述第一图像样本库。

在一些实施例中,所述第二图像样本库中的每一样本为一游戏图像,所述基于所述第四图像样本库,生成所述第二图像样本库,包括:从所述第四图像样本库中选取目标数量的游戏图像;针对每一所述游戏图像,将所述游戏图像按照目标角度集中的任一角度进行旋转,得到旋转后的游戏图像;为每一所述旋转后的游戏图像确定空间标签,其中,每一所述旋转后的游戏图像的空间标签用于表征所述游戏图像的旋转角度;将每一具有所述空间标签的游戏图像添加至所述第二图像样本库。

在一些实施例中,所述第三图像样本库中的每一样本为一游戏图像,在所述基于第三图像样本库,对所述动作确定模型的模型参数进行更新,得到更新后的所述动作确定模型之前,所述方法还包括:获取玩家操作的游戏局内视频;按照特定的采样频率,对所述游戏局内视频进行游戏图像采样,得到所述第三图像样本库;确定所述第三图像样本库中每一游戏图像对应的玩家动作;基于所述每一游戏图像对应的玩家动作,为所述每一游戏图像设置动作标签。

在一些实施例中,所述方法还包括:控制所述游戏角色在所述当前游戏场景中执行所述待执行动作;和/或,在所述当前游戏场景中,基于所述待执行动作进行操作提示,以使玩家基于所述操作提示对所述游戏角色进行操作。

本申请实施例提供一种动作确定装置,包括:

第一获取模块,用于获取当前游戏场景的游戏图像;

第一提取模块,用于基于动作确定模型的特征提取网络,对所述游戏图像进行特征提取,得到所述当前游戏场景中游戏角色所处情景的时序特征和空间特征;

第一分类模块,用于基于所述动作确定模型的类别输出网络,对所述时序特征和所述空间特征进行动作分类,得到所述游戏角色的待执行动作;

操作模块,用于基于所述待执行动作,进行以下至少之一操作:控制所述游戏角色在所述当前游戏场景中执行所述待执行动作;在所述当前游戏场景中,基于所述待执行动作进行操作提示,以使玩家基于所述操作提示对所述游戏角色进行操作。

在一些实施例中,所述在一些实施例中,所述装置还包括:第一更新模块,用于:基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,得到更新后的预训练模型;所述第一图像样本库中的每一样本具有一时序标签,所述第二图像样本库中的每一样本具有一空间标签;第一确定模块,用于:将所述更新后的预训练模型的特征提取网络,确定为所述动作确定模型的特征提取网络;第二更新模块,用于:基于第三图像样本库,对所述动作确定模型的模型参数进行更新,得到更新后的所述动作确定模型;所述第三图像样本库中每一样本具有一动作标签。

在一些实施例中,所述第一更新模块还用于:利用所述预训练模型,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本的时序类别概率向量;利用所述预训练模型,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本的空间类别概率向量;基于所述第一图像样本库中每一样本的时序类别概率向量及所述每一样本的时序标签、所述第二图像样本库中的每一样本的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定第一损失值;在根据所述第一损失值确定所述第一损失函数收敛或对所述模型参数进行更新的次数达到次数阈值的情况下,将当前的预训练模型确定为更新后的预训练模型。

在一些实施例中,所述第一更新模块还用于:在根据所述第一损失值确定所述第一损失函数未收敛的情况下,基于所述第一损失函数,采用第一参数优化算法对所述预训练模型的模型参数进行更新;利用所述预训练模型,基于更新后的所述模型参数,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本更新后的时序类别概率向量;利用所述预训练模型,基于更新后的所述模型参数,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本更新后的空间类别概率向量;基于所述第一图像样本库中每一样本更新后的时序类别概率向量及所述每一样本的时序标签、所述第一图像样本库中每一样本更新后的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定更新后的第一损失值。

在一些实施例中,所述预训练模型的类别输出网络包括时序类别输出网络,所述第一更新模块还用于:利用所述预训练模型的特征提取网络,对所述第一图像样本库中的每一样本进行特征提取,得到所述每一样本的特征向量;利用所述时序类别输出网络,对所述每一样本的特征向量进行处理,得到所述每一样本的时序类别概率向量。

在一些实施例中,所述第一图像样本库中的每一样本为一图像组,所述第一更新模块还用于:针对所述第一图像样本库中的每一图像组,利用所述预训练模型的特征提取网络,分别对所述图像组中的每一图像进行特征提取,得到每一所述图像的特征向量;对每一所述图像组中各图像的特征向量进行级联,得到每一所述图像组的特征向量。

在一些实施例中,所述预训练模型的类别输出网络包括空间类别输出网络,所述第一更新模块还用于:利用所述预训练模型的特征提取网络,对所述第二图像样本库中的每一样本进行特征提取,得到所述每一样本的特征向量;利用所述空间类别输出网络,对所述每一样本的特征向量进行处理,得到所述每一样本的空间类别概率向量。

在一些实施例中,所述装置还包括:第二获取模块,用于获取第四图像样本库,所述第四图像样本库中包括至少一种类型游戏的游戏图像样本;第一生成模块,用于基于所述第四图像样本库,生成所述第一图像样本库;第二生成模块,用于基于所述第四图像样本库,生成所述第二图像样本库。

在一些实施例中,所述第一图像样本库中的每一样本为一图像组,所述第一生成模块还用于:从所述第四图像样本库中选取第一图像组集,所述第一图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序排序后得到,其中n为大于2的整数;从所述第四图像样本库中选取第二图像组集,所述第二图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序乱序调整后得到;分别为所述第一图像组集和所述第二图像组集中的每一图像组确定时序标签,其中,每一图像组的时序标签用于表征所述图像组中的n帧游戏图像是否按照时序排序;将所述第一图像组集和第二图像组集进行合并,得到所述第一图像样本库。

在一些实施例中,所述第二图像样本库中的每一样本为一游戏图像,所述第二生成模块还用于:从所述第四图像样本库中选取目标数量的游戏图像;针对每一所述游戏图像,将所述游戏图像按照目标角度集中的任一角度进行旋转,得到旋转后的游戏图像;为每一所述旋转后的游戏图像确定空间标签,其中,每一所述旋转后的游戏图像的空间标签用于表征所述游戏图像的旋转角度;将每一具有所述空间标签的游戏图像添加至所述第二图像样本库。

在一些实施例中,所述第三图像样本库中的每一样本为一游戏图像,所述装置还包括:第三获取模块,用于获取玩家操作的游戏局内视频;采样模块,用于按照特定的采样频率,对所述游戏局内视频进行游戏图像采样,得到所述第三图像样本库;第二确定模块,用于确定所述第三图像样本库中每一游戏图像对应的玩家动作;设置模块,用于基于所述每一游戏图像对应的玩家动作,为所述每一游戏图像设置动作标签。

本申请实施例提供一种动作确定设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。

本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。

本申请实施例具有以下有益效果:

通过动作确定模型提取游戏图像中表征当前游戏场景中游戏角色所处情景的时序特征和空间特征,并对提取到的时序特征和空间特征进行动作分类,得到游戏角色的待执行动作。这样,由于综合考虑游戏图像中时序和空间相关的特征来确定游戏角色的待执行动作,可以有效提升确定待执行动作的准确性。并且,由于在不同类型的游戏中,游戏角色所处情景的时序和空间信息均为影响玩家决策游戏角色动作的重要因素,因此,本申请实施例具有较强的泛化能力,可以适用于多种不同类型游戏中游戏角色的待执行动作的确定。

附图说明

图1是本申请实施例提供的动作确定系统的一个可选的架构示意图;

图2是本申请实施例提供的动作确定设备的一个可选的结构示意图;

图3a是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图3b是本申请实施例提供的当前游戏场景的一个可选的示意图;

图3c是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图4是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图5是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图6是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图7a是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图7b是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图8是本申请实施例提供的动作确定方法的一个可选的流程示意图;

图9a是本申请实施例提供的一种动作克隆模型训练方法的实现流程示意图;

图9b是不同类型游戏的游戏图像示意图;

图9c是本申请实施例提供的一种时序辅助任务生成的三元组数据的示意图;

图9d是本申请实施例提供的一种空间辅助任务生成的游戏图像示意图;

图9e是本申请实施例提供的一种时序辅助任务的网络架构示意图;

图9f是本申请实施例提供的一种空间辅助任务的网络架构示意图;

图9g是本申请实施例提供的一种游戏图像录制的按键画面示意图;

图9h是本申请实施例提供的一种动作克隆模型的网络结构示意图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。

1)卷积神经网络(convolutionalneuralnetwork,cnn),是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。

2)人工智能(artificialintelligence,ai),是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

3)轻量级深度网络,指参数量小、适用于中央处理器(centralprocessingunit,cpu)和嵌入式设备的小型深度网络。

4)深度特征,指图像通过深度网络最终提取到的特征,包含了图像的抽象信息。

5)动作标签,指游戏图像对应的人工或自动标注的动作。

6)无监督方法,指不需要人工标注标签的方法。

7)辅助任务,指为了学习图像特征而设计的任务。

8)深度q网络(deepqnetwork,dqn)算法,是一种深度强化学习算法,由deepmind首次提出。

9)imagenet库,是一个用于视觉对象识别软件研究的大型可视化数据库,包含1000个类,该图像数据库中包含来自现实场景的图像和图像对应的类别标签。

10)动作克隆,一种有监督的模仿学习训练算法,通过构建深度网络,将游戏图像作为算法的输入,需要输出与玩家动作尽量一致的动作。

本申请实施例提供一种动作确定方法、装置、设备和计算机可读存储介质,能够有效提升确定待执行动作的准确性,并且具有较强的泛化能力,可以适用于多种不同类型游戏中游戏角色的待执行动作的确定。下面说明本申请实施例提供的动作确定设备的示例性应用,本申请实施例提供的动作确定设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明动作确定设备实施为服务器时的示例性应用。

参见图1,图1是本申请实施例提供的动作确定系统100的一个可选的架构示意图,可以实现自动确定游戏角色的待执行动作,终端(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。

终端用于:在图形界面(示例性示出了图形界面410-1和图形界面410-2)显示游戏交互界面,将当前游戏场景的游戏图像发送至服务器200,并从服务器200获取当前游戏场景中游戏角色的待执行动作,控制游戏角色执行该待执行动作。

服务器200用于:获取当前游戏场景的游戏图像;基于动作确定模型的特征提取网络,对所述游戏图像进行特征提取,得到表征所述当前游戏场景中游戏角色所处情景的时序特征和空间特征;基于所述动作确定模型的类别输出网络,对所述时序特征和所述空间特征进行动作分类,得到所述游戏角色的待执行动作。

在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不做限制。

参见图2,图2是本申请实施例提供的动作确定设备200的结构示意图,图2所示的动作确定设备200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。动作确定设备200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统240。

处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。

用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。

存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。

存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,readonlymemory),易失性存储器可以是随机存取存储器(ram,randomaccessmemory)。本申请实施例描述的存储器250旨在包括任意适合类型的存储器。

在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。

操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;

网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universalserialbus)等;

呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);

输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。

在一些实施例中,本申请实施例提供的动作确定装置可以采用软件方式实现,图2示出了存储在存储器250中的动作确定装置255,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块2551、第一提取模块2552、第一分类模块2553和操作模块2554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。

将在下文中说明各个模块的功能。

在另一些实施例中,本申请实施例提供的动作确定装置可以采用硬件方式实现,作为示例,本申请实施例提供的动作确定装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的动作确定方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,progra-mmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammab-lelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearr-ay)或其他电子元件。

下面将结合本申请实施例提供的终端或服务器的示例性应用和实施,说明本申请实施例提供的动作确定方法。

参见图3a,图3a是本申请实施例提供的动作确定方法的一个可选的流程示意图,下面将结合图3a示出的步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤s101中,获取当前游戏场景的游戏图像。

这里,当前游戏场景为游戏设备上运行的游戏局内的场景。当前游戏可以是任意合适的计算机游戏。在实施时,当前游戏可以为移动端的游戏,也可以是个人计算机(personalcomputer,pc)端的游戏;可以是横版游戏,即把画面固定在水平面上、一般带有从左到右移动的卷轴地图设定的游戏,也可以是竖版游戏,即把画面固定在垂直面上的游戏;可以是竞技动作类游戏,也可以是关卡类游戏;可以是单人游戏,也可以是对局游戏。例如,当前游戏场景可以如图3b所示,游戏角色310在游戏场景中可以根据用户对移动控制按钮320、技能使用按钮330的操作,在游戏中执行移动、跳跃、攻击等动作,从而完成游戏关卡。

运行当前游戏场景的游戏设备可以是作为动作确定设备的终端或服务器,也可以是动作确定设备以外的其他设备。游戏图像可以是当前游戏场景中全局视角下的游戏画面,也可以是当前游戏场景中游戏角色视角下的游戏画面,这里并不限定。当前游戏场景的游戏图像可以通过截屏、拍摄等方式采集得到,也可以基于后台数据自动生成。在实施时,作为动作确定设备的终端或服务器可以直接通过采集或生成等方式得到游戏图像,也可以由游戏设备通过采集或生成等方式得到游戏图像后发送给动作确定设备。

在步骤s102中,基于动作确定模型的特征提取网络,对所述游戏图像进行特征提取,得到表征所述当前游戏场景中游戏角色所处情景的时序特征和空间特征。

这里,动作确定模型是预先训练好的机器学习分类模型,可以基于深度学习、人工神经网络、置信网络、模仿学习、强化学习、迁移学习、归纳学习等技术中的一种或多种。动作确定模型可以包括特征提取网络和类别输出网络。动作确定模型的特征提取网络为进行特征提取部分。在实施时,本领域技术人员可以根据实际情况选择合适的特征提取网络结构,这里并不限定。例如,特征提取网络可以包括但不限于图卷积神经网络、长短期记忆网络(longshort-termmemory,lstm)或者时间卷积网络(temporalconvolutionalnetwork,tcn)模型等。在一些实施方式中,特征提取网络结构可以包括至少一个卷积层和至少一个全连接层。

时序特征为用于表征当前游戏场景中游戏角色所处情景的时序相关信息的特征。这里的时序相关信息可以为游戏角色所处情景中与上一帧和/或下一帧游戏图像在时序上相关联的信息,可以包括但不限于游戏角色本身、对手或非玩家角色、环境、障碍物、路况等一种或多种虚拟对象的时序相关的信息。例如,在游戏场景中可以需要游戏角色执行跳跃的动作,游戏角色所处情景的时序相关信息可以包括描述游戏角色在跳跃过程中所处的阶段的信息,比如下蹲起跳、上升、回落、恢复站立等阶段中的一种。在一次跳跃过程中下蹲起跳、上升、回落、恢复站立等阶段之间是具有特定的时间顺序的。因此,根据当前游戏场景中游戏角色所处的阶段可以预判下一帧游戏图像中游戏角色将处于的阶段,而在操作游戏角色的过程中,处于不同阶段时可能决策游戏角色需要执行不同的动作。再如,在游戏场景中可能存在随着时间动态变化的障碍物,游戏角色所处情景的时序相关信息可以包括描述障碍物所处状态的信息。

在一些实施例中,时序特征可以包括用于表征当前游戏场景中随时间动态变化的虚拟对象的时序状态的特征。虚拟对象可以包括但不限于障碍物、非玩具角色、生长的果实等中的一种或多种,时序状态可以是虚拟对象在游戏角色当前情景中所处的状态。例如若虚拟对象为按照一定时间间隔从高处滚落的石头,则时序状态可以是石头在滚动过程中所处的状态,如开始滚落、停止滚动、即将消失等;若虚拟对象为摆动的大锤,则时序状态可以是大锤在摆动过程中所处的状态,如向上摆动、向下摆动、达到最高处、处于最低处等;若虚拟对象为游戏场景中具有一定生长周期的回血包,则时序状态可以是回血包的生长状态,如发芽、开花、结果、成熟等。这样,由于通常玩家在控制游戏角色执行动作时会受游戏场景中随时间动态变化的虚拟对象的时序状态的影响,因此,在时序特征中包括表征当前游戏场景中随时间动态变化的虚拟对象的时序状态的特征,可以进一步提升确定待执行动作的准确性。

空间特征为用于表征当前游戏场景中游戏角色所处情景的空间相关信息的特征。这里的空间相关信息可以为游戏角色所处情景中游戏角色本身、对手或非玩家角色、环境、障碍物、路况等一种或多种虚拟对象所处空间状态的信息,例如,地面的倾斜状态、武器的攻击方向、道路的曲直状态或弯曲角度等。

在实施时,本领域技术人员可以采用任意合适的模型训练方法对动作确定模型的特征提取网络进行预训练,使得该特征提取网络可以从游戏图像中提取到当前游戏场景中游戏角色所处情景的时序和空间相关的特性。

在步骤s103中,基于所述动作确定模型的类别输出网络,对所述时序特征和所述空间特征进行动作分类,得到所述游戏角色的待执行动作。

这里,动作确定模型的类别输出网络为对特征进行分类分析后输出分类结果的部分。在实施时,本领域技术人员可以根据实际情况选择合适的类别输出网络的结构,这里并不限定。例如,类别输出网络可以采用全连接层或其他任意合适的分类器,例如决策树、贝叶斯分类器、支持向量机等。在一些实施方式中,类别输出网络的结构可以包括至少一个全连接层。

游戏角色的待执行动作可以是游戏角色在当前游戏场景中可执行的动作中的一种或多种,也可以是不做出动作。例如,待执行动作可以是上、下、左、右等方向的移动、跳跃、攻击、躲闪等动作中的一种或多种,这里并不限定。

在实施时,可以采用至少一个全连接层对表征当前游戏场景中游戏角色所处情景的时序特征和空间特征进行分类分析,得到游戏角色的待执行动作。在一些实施方式中,可以基于动作确定模型的类别输出网络对所述时序特征和所述空间特征进行分类分析,得到游戏角色在当前游戏场景中可执行的动作中各动作的概率分布,将概率最大的一个或多个动作确定为游戏角色的待执行动作,其中,类别输出网络的结构包括至少一个全连接层,游戏角色在当前游戏场景中可执行的动作包括以下至少之一:移动、跳跃、攻击、躲闪。

在一些实施例中,参见图3c,在上述步骤s103之后,基于所述待执行动作,还可以执行如下步骤s104a、s104b中的至少之一:

在步骤s104a中,控制所述游戏角色在所述当前游戏场景中执行所述待执行动作。这里,在得到游戏角色的待执行动作后,可以由计算机控制游戏角色执行该待执行动作,进而实现游戏自动化测试、角色托管或非玩家角色控制等目的。

在步骤s104b中,在所述当前游戏场景中,基于所述待执行动作进行操作提示,以使玩家基于所述操作提示对所述游戏角色进行操作。这里,可以采用任意合适的方式进行操作提示,包括但不限于文字提示、语音提示、操作按钮高亮提示等方式中的一种或多种。玩家可以参考该操作提示对游戏角色进行操作,从而可以实现游戏教学、游戏指导等,提升玩家的游戏体验。

本申请实施例中,通过动作确定模型提取游戏图像中表征当前游戏场景中游戏角色所处情景的时序特征和空间特征,并对提取到的时序特征和空间特征进行动作分类,得到游戏角色的待执行动作。这样,由于综合考虑游戏图像中时序和空间相关的特征来确定游戏角色的待执行动作,可以有效提升确定待执行动作的准确性。并且,由于在不同类型的游戏中,游戏角色所处情景的时序和空间信息均为影响玩家决策游戏角色动作的重要因素,因此,本申请实施例具有较强的泛化能力,可以适用于多种不同类型游戏中游戏角色的待执行动作的确定。

在一些实施例中,参见图4,图4是本申请实施例提供的动作确定方法的一个可选的流程示意图,基于图3c,在上述步骤s102之前还可以执行步骤s401至步骤s403,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

步骤s401中,基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,得到更新后的预训练模型;所述第一图像样本库中的每一样本具有一时序标签,所述第二图像样本库中的每一样本具有一空间标签。

这里,第一图像样本库和第二图像样本库可以是预先生成的,也可以是在进行模型训练时根据实际需要生成的。

第一图像样本库中每一样本的时序标签为表征样本中游戏角色所处情景的时序特性的标签,可以人工标注的,也可以是计算机自动标注的。在实施时,本领域技术人员可以根据实际情况选择合适的标签作为时序标签,并采用合适的方式为第一图像样本库中的每一样本标注时序标签。例如,当第一图像样本库中各个样本为单帧的游戏图像时,每一游戏图像的时序标签可以是游戏角色所处情景中游戏角色本身、对手或非玩家角色、环境、障碍物、路况等一种或多种虚拟对象的在特定时序状态变化过程中所处的状态,如处于跳跃过程中的起跳状态、落地状态等,或者,当第一图像样本库中各个样本为一游戏图像组时,每一游戏图像的时序标签可以是该游戏图像组中各游戏图像的排列顺序,如正常时序、乱序等。

第二图像样本库中每一样本的空间标签为表征样本中游戏角色所处情景的空间特性的标签,可以人工标注的,也可以是计算机自动标注的。在实施时,本领域技术人员可以根据实际情况选择合适的标签作为空间标签,并采用合适的方式为第二图像样本库中的每一样本标注空间标签。例如,当第二图像样本库中各个样本为单帧的游戏图像时,每一游戏图像的空间标签可以是游戏角色所处情景中游戏角色本身、对手或非玩家角色、环境、障碍物、路况等一种或多种虚拟对象或游戏图像本身的在特定空间状态变化过程中所处的状态,可以包括但不限于游戏角色所处情景中地面的倾斜角度、武器的攻击方向、道路的曲直状态或弯曲角度、游戏图像的旋转角度等中的一种或多种。

预训练模型为用于对游戏图像中游戏角色所处情景中时序和空间相关信息进行识别的多任务机器学习模型。预训练模型的输入为第一图像样本库和第二图像样本库中的每一样本,输出为每一样本对应的时序分类或空间分类。在实施时,预训练模型可以是任意合适的多任务分类模型,可以实现对第一图像样本库中各样本的时序分类和第二图像样本库中各样本的空间分类。本领域技术人员可以根据实际情况确定合适的预训练模型,这里并不限定。预训练模型的模型参数可以包括模型中各层的参数,包括但不限于各层的权重矩阵、偏置向量等中的一种或多种。在实施时,可以根据预训练模型的具体网络结构确定模型参数,并采用任意合适的算法更新该模型参数。对预训练模型的模型参数进行更新时可以采用任意合适的算法最小化损失函数,例如梯度下降法、共轭梯度法、牛顿算法等。损失函数可以根据实际情况进行自由选择,例如交叉熵损失函数、指数损失函数等。

步骤s402中,将所述更新后的预训练模型的特征提取网络,确定为所述动作确定模型的特征提取网络。

这里,更新后的预训练模型的特征提取网络可以更好地提取游戏图像中游戏角色所处情景的时序和空间特征,在动作确定模型中可以使用该特征提取网络对游戏图像进行特征提取。

步骤s403中,基于第三图像样本库,对所述动作确定模型的模型参数进行更新,得到更新后的所述动作确定模型;所述第三图像样本库中每一样本具有一动作标签。

这里,第三图像样本库可以是预先生成的,也可以是在进行模型训练时根据实际需要生成的。

第三图像样本库中每一样本的动作标签为样本中游戏角色在所处情景下执行的动作,每一样本的动作标签可以包括但不限于上、下、左、右等方向的移动、跳跃、攻击、躲闪等动作中的一种或多种,还可以包括不做动作。可以人工标注的,也可以是计算机自动标注的。在实施时,本领域技术人员可以采用合适的方式为第三图像样本库中的每一样本标注动作标签。

需要说明的是,步骤s401至步骤s403在执行时并不限于图4所示的执行顺序,例如,还可以在步骤s101之前执行步骤s401至步骤s403。

本申请实施例中,基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,将更新后的预训练模型的特征提取网络作为动作确定模型的特征提取网络,并基于第三图像样本库,对动作确定模型的模型参数进行更新。这样,由于第一图像样本库中的每一样本均具有时序标签,第二图像样本库中的每一样本均具有空间标签,因此,更新后的预训练模型的特征提取网络可以更好地提取游戏图像中游戏角色所处情景的时序和空间特征,而在动作确定模型中使用该特征提取网络对游戏图像进行特征提取,从而可以使得最终更新后的动作确定模型可以更好地提取游戏图像中的时序特征和空间特征,进而基于该动作确定模型进行游戏角色的动作确定时,可以进一步提升动作确定的准确性。

在一些实施例中,参见图5,图5是本申请实施例提供的动作确定方法的一个可选的流程示意图,基于图4,图4中示出的步骤s401可以通过如下步骤s501至步骤s504实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

步骤s501中,利用所述预训练模型,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本的时序类别概率向量;

这里,时序类别概率向量可以表征第一图像样本库中的每一样本在各个时序类别上可能属于该类别的概率或置信度。在实施时,时序类别概率向量的维度可以与时序类别的数量相同。时序类别可以是时序标签包括的类别。

步骤s502中,利用所述预训练模型,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本的空间类别概率向量;

这里,空间类别概率向量可以表征第二图像样本库中的每一样本在各个空间类别上可能属于该类别的概率或置信度。在实施时,空间类别概率向量的维度可以与空间类别的数量相同。

步骤s503中,基于所述第一图像样本库中每一样本的时序类别概率向量及所述每一样本的时序标签、所述第二图像样本库中的每一样本的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定第一损失值;

这里,第一损失函数可以是任意合适的损失函数,例如交叉熵损失函数、指数损失函数等。

步骤s504中,在根据所述第一损失值确定所述第一损失函数收敛或对所述模型参数进行更新的次数达到次数阈值的情况下,将当前的预训练模型确定为更新后的预训练模型。

这里,次数阈值可以是默认值也可以是用户设置的值,在实施时,本领域技术人员可以根据实际情况选择合适的次数阈值。

在一些实施例中,上述步骤s504中,还可以执行如下步骤s505至s508。

步骤s505中,在根据所述第一损失值确定所述第一损失函数未收敛的情况下,基于所述第一损失函数,采用第一参数优化算法对所述预训练模型的模型参数进行更新;

这里,第一参数优化算法可以为任意合适的算法,例如梯度下降法、共轭梯度法、牛顿算法等。

步骤s506中,利用所述预训练模型,基于更新后的所述模型参数,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本更新后的时序类别概率向量;

步骤s507中,利用所述预训练模型,基于更新后的所述模型参数,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本更新后的空间类别概率向量;

步骤s508中,基于所述第一图像样本库中每一样本更新后的时序类别概率向量及所述每一样本的时序标签、所述第一图像样本库中每一样本更新后的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定更新后的第一损失值。

这里,上述步骤s506至步骤s507分别对应前述步骤s501至步骤s503,在实施时可以参照前述步骤s501至步骤s503的实施方式。

在一些实施例中,所述预训练模型的类别输出网络包括时序类别输出网络,上述步骤s501可以通过如下步骤s511至步骤s512实现:步骤s511中,利用所述预训练模型的特征提取网络,对所述第一图像样本库中的每一样本进行特征提取,得到所述每一样本的特征向量;步骤s512中,利用所述时序类别输出网络,对所述每一样本的特征向量进行处理,得到所述每一样本的时序类别概率向量。

在一些实施例中,所述第一图像样本库中的每一样本为一图像组,上述步骤s511可以通过如下步骤s511a至步骤s511b实现:步骤s511a,针对所述第一图像样本库中的每一图像组,利用所述预训练模型的特征提取网络,分别对所述图像组中的每一图像进行特征提取,得到每一所述图像的特征向量;步骤s511b,对每一所述图像组中各图像的特征向量进行级联,得到每一所述图像组的特征向量。这里,对每一图像组中各图像的特征向量进行级联可以包括将每一图像组中各图像的特征向量按照特定的组合规则进行组合,例如串联拼接等。

在一些实施例中,所述预训练模型的类别输出网络包括空间类别输出网络,上述步骤s502可以通过如下步骤s521至步骤s522实现:步骤s521中,利用所述预训练模型的特征提取网络,对所述第二图像样本库中的每一样本进行特征提取,得到所述每一样本的特征向量;步骤s522中,利用所述空间类别输出网络,对所述每一样本的特征向量进行处理,得到所述每一样本的空间类别概率向量。

在一些实施例中,所述第一损失函数由第二损失函数和第三损失函数组成,上述步骤s503可以通过如下步骤s531至步骤s533实现:步骤s531,基于所述第一图像样本库中每一样本的时序类别概率向量及所述每一样本的时序标签,利用第二损失函数,确定第二损失值;步骤s532,基于所述第二图像样本库中的每一样本的空间类别概率向量及所述每一样本的空间标签,利用第三损失函数,确定第三损失值;步骤s533,对所述第二损失值和所述第三损失值进行加权求和,得到第一损失值。这里,在进行加权求和时第二损失值和第三损失值分别对应的权重可以根据实际情况而定,这里并不限定。

本申请实施例中,预训练模型的参数更新过程中包括时序分类任务的学习和空间分类任务的学习。这样,由于时序分类任务和空间分类任务共享模型参数,从而在进行预训练模型学习时可以取得更好的泛化效果,使得更新后的预训练模型的特征提取网络提取的特征泛化能力更强,进而可以提升动作确定模型的泛化能力,以及进一步提升游戏角色的动作确定的准确性。此外,通过多任务学习对预训练模型进行训练,在样本数量较少的情况下也能获得较好的学习效果。

在一些实施例中,参见图6,图6是本申请实施例提供的动作确定方法的一个可选的流程示意图,基于图4,在步骤s401之前,还可以执行如下步骤s601至步骤s603,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤s601中,获取第四图像样本库,所述第四图像样本库中包括至少一种类型游戏的游戏图像样本;

这里,第四样本库可以为预先获取的包括不同类型游戏的游戏图像样本的数据库。在实施时,第四样本库中的游戏图像样本可以包括但不限于从互联网下载的游戏图像、玩家手动录制的游戏图像等中的一种获多种。

在步骤s602中,基于所述第四图像样本库,生成所述第一图像样本库;

这里,可以根据实际需要,从第四样本库中任意选取特定数量的游戏图像作为第一图像样本库中的样本,并为每一样本设置时序标签。在实施时,可以选取单帧游戏图像作为第一图像样本库中的样本,也可以将多帧游戏图像组成的图像组作为第一图像样本库中的样本;每一样本的时序标签可以是计算机根据对应游戏图像的特征自动设置的,也可以是人工标注的。

在步骤s603中,基于所述第四图像样本库,生成所述第二图像样本库。

这里,可以根据实际需要,从第四样本库中任意选取特定数量的游戏图像作为第二图像样本库中的样本,并为每一样本设置空间标签。在实施时,可以选取单帧游戏图像作为第二图像样本库中的样本,也可以将多帧游戏图像组成的图像组作为第二图像样本库中的样本;每一样本的空间标签可以是计算机根据对应游戏图像的特征自动设置的,也可以是人工标注的。

本申请实施例中,第一图像样本库和第二图像样本库是基于第四图像样本库生成的。由于第四图像样本库中包括至少一种类型游戏的游戏图像样本,因此样本较为丰富,从而基于第一图像样本库和第二图像样本库训练的特征提取网络不容易过拟合,泛化能力较强,进而可以进一步提升动作确定模型的训练效果,提升动作确定的准确性。

在一些实施例中,参见图7a,图7a是本申请实施例提供的动作确定方法的一个可选的流程示意图,基于图6,所述第一图像样本库中的每一样本为一图像组,图6中示出的步骤s602可以通过如下步骤s701至步骤s704实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤s701中,从所述第四图像样本库中选取第一图像组集,所述第一图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序排序后得到,其中n为大于2的整数。

这里,特定帧间隔可以是本领域技术人员在实施时根据实际情况确定的,例如5帧、10帧、20帧等。

在步骤s702中,从所述第四图像样本库中选取第二图像组集,所述第二图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序乱序调整后得到。

这里,第二图像组集中图像组的数量可以根据实际需要确定。在一些实施方式中,第二图像组集中图像组的数量可以与第一图像组集中图像组的数量相同。

按时序乱序调整是同一游戏中具有特定帧间隔的n帧游戏图像的时序打乱,例如,可以将第1帧游戏图像与第2帧游戏图像进行顺序调换,也可以将第2帧游戏图像与第n帧游戏图像进行顺序调换。

在步骤s703中,分别为所述第一图像组集和所述第二图像组集中的每一图像组确定时序标签,其中,每一图像组的时序标签用于表征所述图像组中的n帧游戏图像是否按照时序排序。

这里,由于第一图像组集中的每一图像组中的n帧游戏图像均是按照时序排序的,而第二图像组集中的每一图像组中的n帧游戏图像均是按照时序乱序调整后的,因此,可以为第一图像组集中的每一图像组设置表征时序正常的标签,为第二图像组集中的每一图像组设置表征时序异常的标签。在实施时,时序标签可以采用字母、数字、特殊字符等任意合适的方式表示,例如,可以将1作为表征时序正常的标签,将0作为表征时序异常的标签;也可以将“y”作为表征时序正常的标签,将“n”作为表征时序异常的标签。

在步骤s704中,将所述第一图像组集和第二图像组集进行合并,得到所述第一图像样本库。

本申请实施例中,基于第四样本库分别构建时序正常的图像组和时序异常的图像组,并根据图像组中各帧游戏图像是否按照时序排序来确定图像组的时序标签,从而得到第一图像样本库。这样,基于第一图像样本库训练得到的特征提取网络可以很好地学习到游戏图像中的时序特征,从而可以提高特征提取网络从游戏图像中提取时序特征的能力,从而提升动作确定模型的训练效果。此外,由于可以自动确定第一图像样本库中每一样本的标签,不需要进行人工标签标注,从而可以节省人力成本,并能更容易地获得大量的样本,进而可以进一步提升动作确定模型的训练效果,提升动作确定的准确性。

在一些实施例中,参见图7b,图7b是本申请实施例提供的动作确定方法的一个可选的流程示意图,基于图6,所述第二图像样本库中的每一样本为一游戏图像,图6中示出的步骤s603可以通过如下步骤s711至步骤s714实现,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤s711中,从所述第四图像样本库中选取目标数量的游戏图像。

这里,目标数量可以根据实际需要确定。

在一些实施方式中,选取的游戏图像可以为正方形图像,或者可以将选取的图像通过缩放或截取等方式调整为正方形图像,以使得旋转后的游戏图像尺寸与旋转前保证一致,从而可以减少模型训练中数据处理的复杂度。

在步骤s712中,针对每一所述游戏图像,将所述游戏图像按照目标角度集中的任一角度进行旋转,得到旋转后的游戏图像。

这里,目标角度集为设定的游戏图像可以旋转的角度的集合。目标角度集内包括的角度可以在实施时根据实际情况确定,例如可以包括0度、90度、180度、270度等。

在步骤s713中,为每一所述旋转后的游戏图像确定空间标签,其中,每一所述旋转后的游戏图像的空间标签用于表征所述游戏图像的旋转角度。

这里,空间标签可以采用字母、数字、特殊字符等任意合适的方式表示,例如,可以将0作为表征游戏图像旋转0度的标签,将1作为表征游戏图像旋转90度的标签,将2作为表征游戏图像旋转180度的标签,将3作为表征游戏图像旋转270度的标签;也可以将“a”作为表征游戏图像旋转0度的标签,将“b”作为表征游戏图像旋转90度的标签,将“c”作为表征游戏图像旋转180度的标签,将“d”作为表征游戏图像旋转270度的标签。

在步骤s714中,将每一具有所述空间标签的游戏图像添加至所述第二图像样本库。

本申请实施例中,通过对从第四样本库中选取的游戏图像进行旋转处理,得到旋转角度不同的各游戏图像,并根据游戏图像的旋转角度为每一游戏图像设置空间标签,从而得到第二图像样本库。这样,基于第二图像样本库训练得到的特征提取网络可以很好地学习到游戏图像中的空间特征,从而可以提高特征提取网络从游戏图像中提取空间特征的能力,进而提升动作确定模型的训练效果。此外,由于可以自动确定第二图像样本库中的样本,不需要进行人工标签标注,从而可以节省人力成本,并能更容易地获得大量的样本,进而可以进一步提升动作确定模型的训练效果,提升动作确定的准确性。

在一些实施例中,参见图8,图8是本申请实施例提供的动作确定方法的一个可选的流程示意图,基于图4,所述第三图像样本库中的每一样本为一游戏图像,在步骤s403之前,还可以执行如下步骤s801至步骤s804,下面将结合各步骤进行说明,下述步骤的执行主体可以是前文的终端或服务器。

在步骤s801中,获取玩家操作的游戏局内视频。

这里,游戏局内视频为玩家操作游戏角色进入游戏局内是的游戏画面对应的视频,可以是在玩家操作时通过自动录屏获人工方式录制的。

在步骤s802中,按照特定的采样频率,对所述游戏局内视频进行游戏图像采样,得到所述第三图像样本库。

这里,采样频率可以是系统默认值也可以是用户设定的值。在实施时,采样频率可以是根据实际情况确定的,例如,采样频率可以是每秒10帧或者每秒15帧等。

在步骤s803中,确定所述第三图像样本库中每一游戏图像对应的玩家动作;

这里,每一游戏图像对应的玩家动作可以根据该游戏图像对应的时间查询后台数据来确定,也可以通过图像识别技术识别游戏图像中被触发的操作按钮来确定,还可以是人工标注的,本申请实施例并不做限定。

在步骤s804中,基于所述每一游戏图像对应的玩家动作,为所述每一游戏图像设置动作标签。

需要说明的是,步骤s801至步骤s804在执行时并不限于图8所示的执行顺序,例如,还可以在步骤s401之前执行步骤s801至步骤s804。

本申请实施例中,通过对玩家操作的游戏局内视频进行采样得到第三图像样本库,并基于每一游戏图像对应的玩家动作为第三图像样本库中的每一样本设置动作标签。这样,可以快速生成第三图像样本库。进一步地,每一游戏图像对应的玩家动作可以是计算机自动确定的,这样,可以减少人工标注,降低生成第三图像样本库的成本,并进一步提升第三图像样本库的生成效率。

下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。本申请实施例提供的方法可以应用于计算机游戏的自动化测试、游戏指导、角色托管或非玩家角色控制等场景。

以游戏自动化测试为例,游戏ai是游戏自动化测试的重要组成部分,由于强化学习的方案需要耗费大量时间训练特定关卡,在自动化测试中成本较高,无法快速训练横版动作类游戏的ai,同时,训练鲁棒性强的动作克隆算法需要录制较多的游戏对局,否则容易出现过拟合问题。为了减少人力投入,同时提升动作克隆模型的泛化能力,本申请实施例首先提供了一种基于无监督辅助任务的横版游戏动作克隆方法,能够基于无标签的样本数据集训练泛化能力强的特征提取模型,并能将训练得到的特征提取模型快速用于动作克隆任务。该方法可以从没有人工标签的数据集中学习模型来提取鲁棒性和泛化能力强的深度特征,然后通过录制少量横版游戏的数据集,在该模型上进行微调,实现辅助训练动作克隆模型,提升动作克隆模型的泛化能力。此外,由于该方法不需要人工进行大量的样本标注,而无标签的游戏图像容易获取,数量也很多,从而可以降低人工录制对局和人力标注样本的成本。

本申请实施例提供的动作克隆方法中,首先,收集横版动作类游戏的游戏视频,可以从网络上直接下载,获取大量不同游戏场景的视频数据,从视频中截取游戏图像;其次,从时序和空间的角度设计两种辅助任务,时序相关的辅助任务主要考虑视频帧之间的时序关系,空间相关的辅助任务主要考虑单帧图像内容之间的关系;随后,构建轻量化深度模型来完成辅助任务,该模型收敛后,用该模型提取游戏图像的特征,由于样本集很充分,包含了多种游戏场景,所以模型提取的特征泛化能力较强,这里将该模型称为特征模型;最后,针对特定场景录制游戏视频样本,从游戏视频样本中获取游戏图像样本和对应的动作标签,将图像输入特征模型来获取图像的特征,基于该特征训练深度模型来预测动作,目标是预测的动作与图像对应的玩家动作一致。通过特征模型能提取泛化能力更强的特征,有效避免模型过拟合,同时能减少一个游戏场景下录制的游戏局数,降低人力消耗。

图9a为本申请实施例提供的动作克隆模型训练方法的实现流程示意图,如图9a所示。该方法包括如下子流程:收集游戏数据库910、设计辅助任务920、训练特征模型930、录制游戏对局样本940、训练动作克隆模型950。下面分别对每个子流程进行详细说明。

1)收集游戏数据库

这里,可以从网上下载不同游戏的对局样本用于训练对局内的游戏ai,可以包含多种类型的游戏,比如枪战类游戏、动作即时战略游戏、横版动作类游戏,选取多种游戏的目的是丰富样本数据库,如图9b所示,(a)、(b)、(c)、(d)分别为不同类型游戏的游戏图像,由于不同类型游戏的风格差异较大,这样基于该游戏样本数据库训练的动作克隆模型不容易过拟合,泛化能力更强。

2)设计辅助任务

辅助任务的目的是通过规则基于收集的游戏样本数据库自动生成数据标签,辅助动作克隆模型学习图像的特征。本申请实施例提供的动作克隆方法从时序和空间的角度考虑,设计了两个辅助任务:时序辅助任务和空间辅助任务。

针对时序辅助任务,首先需要构建特定数量的三元组数据,可以从游戏样本数据库中选取相邻的三帧游戏图像作为一个三元组数据,该三帧图像中相邻帧与帧之间的间隔为10帧,这样可以加大各帧图像之间的差异。随后,从所有的三元组数据中随机挑选一半的三元组数据,将挑选的三元组数据的中间帧与最后一帧图像进行调换,也可以将中间帧与第一帧调换顺序。如果三元组数据中各帧之间的顺序是没有调换过的,则将该三元组数据的时序标签设置为1,表示该三元组数据中的三帧图像满足时序的相对关系;如果三元组数据中各帧之间的顺序是调换过的,则将该三元组数据的时序标签设置为0,表示这该三元组数据中的三帧图像不满足时序相对关系。这里选择三元组数据的原因是基于前面和后面的图像帧,才能更好的推断中间的图像帧,如果只采用两帧,会丢失一部分的时序信息,从而不能很好地确定时序标签。参见图9c,时序标签设置为1的三元组数据921中各帧游戏图像t、t+1、t+2是按照正常时序排序的,时序标签设置为0的三元组数据922中各帧游戏图像t、t+1、t+2是按照打乱的时序排序的。

针对空间辅助任务,从收集的游戏样本数据库中获取特定数量的游戏图像,将游戏图像缩放至640x360大小,从中随机截取或缩放得到一个360x360大小的正方形区域,将该区域从0度、90度、180度、270度中随机挑选一个角度进行旋转,旋转0度、90度、180度、270度分别对应空间标签0、1、2、3。采用正方形的图像进行旋转的目的是保证旋转之后的图像大小与旋转之前的图像大小一致。参见图9d,游戏图像(e)、(f)、(g)、(h)的空间标签分别为0、1、2、3,对应的游戏图像分别旋转了0度、90度、180度和270度。

3)训练特征模型

基于设计辅助任务子流程中提出的两个辅助任务自动生成样本和对应的标签,得到数据集后,通过一个轻量化深度网络来实现两个辅助任务。

图9e为本申请实施例提供的一种时序辅助任务的网络架构图,如图9e所示,该网络将三元组数据中的三帧游戏图像作为输入,各游戏图像统一缩放至640x360的大小,通过特征提取网络10中的6个卷积层和2个全连接层提取图像的特征,不同图像对应的特征提取网络共享权重,即三张图像分别通过同一个特征提取网络提取特征,通过这样的方式降低模型的复杂度,随后,将三张图像的特征通过特征级联20串联起来,组成一个1536维的特征后,通过两个全连接层31和32得到输出的二维向量,第一维代表正常时序的概率,第二维代表异常时序的概率,两者相加等于1。如果三帧图像的时序关系是正常的,则期望时序辅助任务网络输出的第一维向量尽量的倾向于1,否则倾向于0。网络优化的损失函数可以采用如公式(1-1)所示的类别交叉熵损失函数:

其中,n为样本的序号,n是总的样本个数,c是类别序号,yn,c代表第n个样本是不是第c个类别,0代表不是,1代表是。tc(xn)是时序辅助任务模型输入第n组三元组数据后得到的第c个类别的概率。

针对空间辅助任务,该任务模型的输入是大小为360x360的单帧游戏图像,输出为4维向量,分别对应0度、90度、180度、270度旋转的概率。通过6个卷积层提取卷积特征,随后用4个全连接层输出所有类别的概率,目标是预测图像旋转的角度标签。图9f为本申请实施例提供的一种空间辅助任务的网络架构图,如图9f所示,基于时序辅助任务的特征提取部分10获取图像的全连接特征。得到图像全连接特征后,通过另外两个全连接层41和42获得不同空间类别的概率,空间类别可以是空间标签包括的类别,例如空间类别包括空间标签0、1、2、3,分别对应旋转0度、90度、180度、270度。该空间辅助任务网络优化采用的损失函数可以采用如公式(1-2)所示的类别交叉熵损失函数:

其中,n为样本的序号,n是总的样本个数,c是类别序号,yn,c代表第n个样本是不是第c个类别,0代表不是,1代表是。sc(xn)是空间辅助任务模型输入第n张图像后得到的第c个类别的概率。

在训练模型时,可以将上述时序辅助任务的损失l1和空间辅助任务的损失l2的和作为总的损失,同时考虑时序和空间信息,能提升模型提取特征的判别力,对应的损失函数如下公式(1-3)所示:

l=l1+αl2(1-3);

其中,α是空间辅助任务的损失对应的权重,可以通过实验后,根据实验效果进行设置。通过最小化该总的损失优化辅助任务的模型参数。可以采用梯度后向传递的方式更新模型参数,当达到训练次数或损失不再减小时,停止辅助任务模型训练。完成训练后,可以用该模型的特征提取网络提取游戏图像的特征,基于提取的特征训练的动作克隆模型。

4)录制游戏对局样本

通过人工录制游戏的方式收集10局特定场景的横版动作游戏样本,其中,游戏的采样频率为一秒10帧,游戏中采用的游戏按钮为摇杆、跳跃和攻击按键,录制7个游戏动作,即上下左右4个方向的移动、跳跃、攻击和不做动作。保存游戏过程中的游戏图像和对应的游戏动作,游戏图像的大小为640x360像素。游戏图像中录制的按键可以参见图9g所示,可以将摇杆941的动作量化为上下左右四个方向的移动动作,跳跃按钮942的动作对应跳跃动作,攻击按钮943对应攻击动作。

5)训练动作克隆模型

动作克隆模型的网络结构如图9h所示,其中预训练模型10的网络结构采用如图9e所示的辅助任务模型训练的深度特征提取网络10,得到人工录制的横板动作游戏的样本数据库后,我们首先用辅助任务模型训练的深度特征提取网络提取图像的全连接层特征,随后,通过三个全连接层51、52、53输出游戏动作的概率。训练动作克隆模型所用的损失为交叉熵损失,可以通过梯度后向传递的方式优化模型参数,直至模型收敛。

基于上述本申请实施例提供的动作克隆模型训练方法训练得到的动作克隆模型进行游戏自动化测试时,可以首先提取当前游戏场景的游戏图像,随后,将图像缩放至640x360像素,输入动作克隆模型得到每一类动作的概率,挑选概率最大的动作类别标签作为输出动作,输出动作的频率为每秒10个动作。

需要说明的是,在实施时,动作克隆模型可以作为前述实施例中的动作确定模型,针对时序辅助任务构建的特定数量的三元组数据可以作为前述实施例中的第一图像样本库,针对空间辅助任务收集的特定数量的游戏图像可以作为前述实施例中的第二图像样本库,人工录制的横板动作游戏的样本数据库可以作为前述实施例中的第三图像样本库。

本申请实施例中,从时序和空间的角度设计了两个辅助任务,能基于无监督的方式从大规模的训练样本中学习泛化能力强的深度特征,基于该深度特征训练动作克隆对应的模型,能通过较少的人工录制的游戏样本模仿玩家的游戏行为,加快模型的收敛速度,提升模型的鲁棒性,避免模型过拟合。同时,通过无监督的方式生成标签,用于训练特征提取模型,通过这种方式能极大降低人工标注的时间消耗和样本的数量。基于该特征能快速完成动作克隆模型的训练。

下面继续说明本申请实施例提供的动作确定装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的动作确定装置255中的软件模块可以包括:

第一获取模块2551,用于获取当前游戏场景的游戏图像;

第一提取模块2552,用于基于动作确定模型的特征提取网络,对所述游戏图像进行特征提取,得到所述当前游戏场景中游戏角色所处情景的时序特征和空间特征;

第一分类模块2553,用于基于所述动作确定模型的类别输出网络,对所述时序特征和所述空间特征进行动作分类,得到所述游戏角色的待执行动作;

操作模块2554,用于基于所述待执行动作,进行以下至少之一操作:控制所述游戏角色在所述当前游戏场景中执行所述待执行动作;在所述当前游戏场景中,基于所述待执行动作进行操作提示,以使玩家基于所述操作提示对所述游戏角色进行操作。

在一些实施例中,所述装置还包括:第一更新模块,用于:基于第一图像样本库和第二图像样本库,对预训练模型的模型参数进行更新,得到更新后的预训练模型;所述第一图像样本库中的每一样本具有一时序标签,所述第二图像样本库中的每一样本具有一空间标签;第一确定模块,用于:将所述更新后的预训练模型的特征提取网络,确定为所述动作确定模型的特征提取网络;第二更新模块,用于:基于第三图像样本库,对所述动作确定模型的模型参数进行更新,得到更新后的所述动作确定模型;所述第三图像样本库中每一样本具有一动作标签。

在一些实施例中,所述第一更新模块还用于:利用所述预训练模型,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本的时序类别概率向量;利用所述预训练模型,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本的空间类别概率向量;基于所述第一图像样本库中每一样本的时序类别概率向量及所述每一样本的时序标签、所述第二图像样本库中的每一样本的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定第一损失值;在根据所述第一损失值确定所述第一损失函数收敛或对所述模型参数进行更新的次数达到次数阈值的情况下,将当前的预训练模型确定为更新后的预训练模型。

在一些实施例中,所述第一更新模块还用于:在根据所述第一损失值确定所述第一损失函数未收敛的情况下,基于所述第一损失函数,采用第一参数优化算法对所述预训练模型的模型参数进行更新;利用所述预训练模型,基于更新后的所述模型参数,对所述第一图像样本库中的每一样本进行分类,得到所述每一样本更新后的时序类别概率向量;利用所述预训练模型,基于更新后的所述模型参数,对所述第二图像样本库中的每一样本进行分类,得到所述每一样本更新后的空间类别概率向量;基于所述第一图像样本库中每一样本更新后的时序类别概率向量及所述每一样本的时序标签、所述第一图像样本库中每一样本更新后的空间类别概率向量及所述每一样本的空间标签,利用第一损失函数确定更新后的第一损失值。

在一些实施例中,所述装置还包括:第二获取模块,用于获取第四图像样本库,所述第四图像样本库中包括至少一种类型游戏的游戏图像样本;第一生成模块,用于基于所述第四图像样本库,生成所述第一图像样本库;第二生成模块,用于基于所述第四图像样本库,生成所述第二图像样本库。

在一些实施例中,所述第一图像样本库中的每一样本为一图像组,所述第一生成模块还用于:从所述第四图像样本库中选取第一图像组集,所述第一图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序排序后得到,其中n为大于2的整数;从所述第四图像样本库中选取第二图像组集,所述第二图像组集中的每一图像组由同一游戏中具有特定帧间隔的n帧游戏图像按照时序乱序调整后得到;分别为所述第一图像组集和所述第二图像组集中的每一图像组确定时序标签,其中,每一图像组的时序标签用于表征所述图像组中的n帧游戏图像是否按照时序排序;将所述第一图像组集和第二图像组集进行合并,得到所述第一图像样本库。

在一些实施例中,所述第二图像样本库中的每一样本为一游戏图像,所述第二生成模块还用于:从所述第四图像样本库中选取目标数量的游戏图像;针对每一所述游戏图像,将所述游戏图像按照目标角度集中的任一角度进行旋转,得到旋转后的游戏图像;为每一所述旋转后的游戏图像确定空间标签,其中,每一所述旋转后的游戏图像的空间标签用于表征所述游戏图像的旋转角度;将每一具有所述空间标签的游戏图像添加至所述第二图像样本库。

在一些实施例中,所述第三图像样本库中的每一样本为一游戏图像,所述装置还包括:第三获取模块,用于获取玩家操作的游戏局内视频;采样模块,用于按照特定的采样频率,对所述游戏局内视频进行游戏图像采样,得到所述第三图像样本库;第二确定模块,用于确定所述第三图像样本库中每一游戏图像对应的玩家动作;设置模块,用于基于所述每一游戏图像对应的玩家动作,为所述每一游戏图像设置动作标签。

本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的动作确定方法。

本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的动作确定方法,例如,如图3a示出的方法。

在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。

在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。

作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hypertextmarkuplanguage)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。

作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。

综上所述,通过本申请实施例能够有效提升确定待执行动作的准确性,并且具有较强的泛化能力,可以适用于多种不同类型游戏中游戏角色的待执行动作的确定。

以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1