CN109464803B - 虚拟对象控制、模型训练方法、装置、存储介质和设备 - Google Patents

虚拟对象控制、模型训练方法、装置、存储介质和设备 Download PDF

Info

Publication number
CN109464803B
CN109464803B CN201811308994.8A CN201811308994A CN109464803B CN 109464803 B CN109464803 B CN 109464803B CN 201811308994 A CN201811308994 A CN 201811308994A CN 109464803 B CN109464803 B CN 109464803B
Authority
CN
China
Prior art keywords
data
action
virtual object
prediction
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811308994.8A
Other languages
English (en)
Other versions
CN109464803A (zh
Inventor
李思琴
李宏亮
杨木
邱福浩
袁博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811308994.8A priority Critical patent/CN109464803B/zh
Publication of CN109464803A publication Critical patent/CN109464803A/zh
Application granted granted Critical
Publication of CN109464803B publication Critical patent/CN109464803B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories

Abstract

本申请涉及一种虚拟对象控制、模型训练方法、装置、存储介质和设备,虚拟对象控制方法包括:获取与待控制虚拟对象对应的交互场景数据;对所述交互场景数据进行特征提取得到特征数据;将所述特征数据输入虚拟对象控制预测模型,得到由所述虚拟对象控制预测模型的动作预测层输出的目标动作;在所述虚拟对象控制预测模型包括的多个动作参数预测层中,选取与所述目标动作对应的动作参数预测层所输出的动作参数;按照选取的所述动作参数,控制所述待控制虚拟对象执行所述目标动作。本申请提供的方案可以提供虚拟对象的控制效率。

Description

虚拟对象控制、模型训练方法、装置、存储介质和设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种虚拟对象控制、模型训练方法、装置、存储介质和设备。
背景技术
随着互联网技术的不断发展,包括虚拟对象的场景越来越多,通过控制虚拟对象进行交互变得越来越普遍。例如,用户可以通过多人在线战术竞技游戏(MultiplayerOnline Battle Arena,MOBA)控制虚拟对象与其他用户进行竞技。再例如,人们可以通过在虚拟场景中控制虚拟对象,使得该虚拟对象进行跑动或者跳跃等动作,来模拟现实中人的动作。然而,传统的虚拟对象控制依赖于人工操作,需要人工参与进行大量操作,导致虚拟对象的控制效率低下。
发明内容
基于此,有必要针对目前虚拟对象的控制效率低下的技术问题,提供一种虚拟对象控制、模型训练方法、装置、存储介质和设备。
一种虚拟对象控制方法,包括:
获取与待控制虚拟对象对应的交互场景数据;
对所述交互场景数据进行特征提取得到特征数据;
将所述特征数据输入虚拟对象控制预测模型,得到由所述虚拟对象控制预测模型的动作预测层输出的目标动作;
在所述虚拟对象控制预测模型包括的多个动作参数预测层中,选取与所述目标动作对应的动作参数预测层所输出的动作参数;
按照选取的所述动作参数,控制所述待控制虚拟对象执行所述目标动作。
一种虚拟对象控制装置,包括:
获取模块,用于获取与待控制虚拟对象对应的交互场景数据;
提取模块,用于对所述交互场景数据进行特征提取得到特征数据;
预测模块,用于将所述特征数据输入虚拟对象控制预测模型,得到由所述虚拟对象控制预测模型的动作预测层输出的目标动作;在所述虚拟对象控制预测模型包括的多个动作参数预测层中,选取与所述目标动作对应的动作参数预测层所输出的动作参数;
控制模块,用于按照选取的所述动作参数,控制所述待控制虚拟对象执行所述目标动作。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述虚拟对象控制方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述虚拟对象控制方法的步骤。
上述虚拟对象控制方法、装置、计算机可读存储介质和计算机设备,通过虚拟对象控制预测模型根据特征数据进行动作与动作参数的预测,实现虚拟对象的自动控制。该虚拟对象控制预测模型包括两个层级的预测层:用于预测动作的动作预测层和用于预测动作参数的动作参数预测层,且动作预测层预测出的每种动作都分别对应有一个动作参数预测层,该动作参数预测层输出的动作参数可以认为是与预测的动作对应的动作参数。这样,在获取与待控制虚拟对象对应的交互场景数据后,即可自动对交互场景数据进行特征提取得到特征数据,再将特征数据输入虚拟对象控制预测模型,以获得动作预测层预测的目标动作,继而在多个动作参数预测层分别输出的动作参数中,选择与目标动作对应的动作参数预测层所输出的动作参数,得到正确预测的动作和动作参数来控制虚拟对象,极大地提高了虚拟对象的控制效率。
一种模型训练方法,包括:
获取模型训练数据和相对应的动作标签与动作参数标签;所述模型训练数据通过对与虚拟对象样本对应的交互场景样本数据进行特征提取得到;
将所述模型训练数据输入虚拟对象控制预测模型,得到由所述虚拟对象控制预测模型的动作预测层输出的预测动作;
在所述虚拟对象控制预测模型包括的多个动作参数预测层中,选取与所述动作标签对应的动作参数预测层所输出的预测动作参数;
根据所述预测动作与所述动作标签、及所述预测动作参数和所述动作参数标签的差异确定损失函数;
按照优化所述损失函数的方向,局部调整所述虚拟对象控制预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练。
一种模型训练装置,包括:
获取模块,用于获取模型训练数据和相对应的动作标签与动作参数标签;所述模型训练数据通过对与虚拟对象样本对应的交互场景数据样本进行特征提取得到;
确定模块,用于将所述模型训练数据输入虚拟对象控制预测模型,得到由所述虚拟对象控制预测模型的动作预测层输出的预测动作;在所述虚拟对象控制预测模型包括的多个动作参数预测层中,选取与所述动作标签对应的动作参数预测层所输出的预测动作参数;根据所述预测动作与所述动作标签、及所述预测动作参数和所述动作参数标签的差异确定损失函数;
调整模块,用于按照优化所述损失函数的方向,局部调整所述虚拟对象控制预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述模型训练方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述模型训练方法的步骤。
上述模型训练方法、装置、计算机可读存储介质和计算机设备,通过训练出可进行动作和动作参数预测的虚拟对象控制预测模型,以实现虚拟对象的自动控制。具体对模型训练数据分别设置属于不同层级的动作标签和动作参数标签,并对虚拟对象控制预测模型设计两个层级的预测层:用于预测动作的动作预测层和用于预测动作参数的动作参数预测层,且为动作预测层可预测出的每种动作都分别设置动作参数预测层。这样,在获取模型训练数据和相应的动作标签与动作参数标签后,获得动作预测层预测的动作和与动作标签对应的动作参数预测层所输出的动作参数,根据预测的动作和动作参数与动作标签与动作参数标签的差异反向局部调整模型参数。这样将训练得到的虚拟对象控制预测模型用于虚拟对象控制中,可极大地提高虚拟对象的控制效率。
附图说明
图1为一个实施例中虚拟对象控制方法的流程示意图;
图2为一个实施例中虚拟对象控制预测模型的模型示意图;
图3为一个实施例中模型训练方法的流程示意图;
图4为一个实施例中训练标签的分层示意图;
图5为一个实施例中模型训练与使用过程的流程示意图;
图6为一个实施例中虚拟对象控制方法的应用环境图;
图7为一个实施例中虚拟对象控制装置的结构框图;
图8为一个实施例中模型训练装置的结构框图;
图9为一个实施例中计算机设备的结构框图;
图10为另一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,在一个实施例中,提供了一种虚拟对象控制方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是服务器,也可以是终端。参照图1,该虚拟对象控制方法具体包括如下步骤:
S102,获取与待控制虚拟对象对应的交互场景数据。
其中,待控制虚拟对象是等待被控制去执行某种动作的虚拟对象。虚拟对象是计算机设备可操作的数字化对象。虚拟对象可以是三维对象或者二维对象等。虚拟对象可以是虚拟人物对象或者虚拟动物对象等。虚拟对象具体可以是游戏角色,如王者荣耀中的英雄角色安其拉等。虚拟对象也可以是会话角色,如模拟会话中的虚拟会话成员等。待控制虚拟对象的数量可以为一个或多个。
交互场景数据是通过虚拟对象进行交互的场景中的数据。交互场景数据可以是图像数据也可以是文本数据等。交互场景具体可以是游戏场景,交互场景数据比如游戏数据,游戏数据可以是游戏画面数据,或者由游戏画面数据转化得到的文本数据等。交互场景也可以是模拟会话场景,交互场景数据比如会话数据,会话数据可以是会话界面数据或者会话消息等。
具体地,计算机设备可获从交互场景提供方设备获取交互场景的画面数据,将该画面数据作为交互场景数据。计算机设备也可事先与交互场景提供方预定交互场景数据的格式,交互场景提供方设备将交互场景的画面数据按照预定的格式转化为文本数据并存储,计算机设备则可直接从交互场景提供方设备拉取转化完成的文本数据。交互场景提供方设备与用于执行虚拟对象控制方法的计算机设备可以是同一设备,也可以是不同的设备。
其中,交互场景的画面数据可以是图像数据,也可以是视频数据。在游戏场景下,可以是录制的游戏对局过程得到的视频。文本数据的格式可以是便于从文本数据中提取特征数据的格式,这样可以减少数据处理时间,提高特征数据的提取效率。
S104,对交互场景数据进行特征提取得到特征数据。
其中,特征数据是能够反映交互场景特征的数据。具体地,计算机设备可按照预先设置的特征数据提取策略,对交互场景数据进行特征提取得到特征数据。预先设置的特征数据提取策略,可以是按照特征数据的内容设置的。
在一个实施例中,特征数据包括位置特征数据、属性特征数据和地图特征数据;S104包括:从交互场景数据包括的与位置相关的数据中提取位置特征数据;从交互场景数据包括的虚拟对象属性数据中,提取属性特征数据;从交互场景数据包括的交互场景地图数据中提取地图特征数据。
其中,位置特征数据是反映位置特征的数据。位置特征数据可包括反映交互场景中虚拟对象的位置的特征数据,或者反映交互场景中其他虚拟目标的位置的特征数据。比如游戏场景中敌我双方英雄的位置以及防御塔的位置等。位置特征数据具体可以是二维数据格式,类似于图像特征,但并非原始的图像特征,可以将之命名为Img_like特征。
属性特征数据是反映属性特征的数据。属性特征数据可包括反映交互场景中虚拟对象的属性的特征数据。反映交互场景中虚拟对象的属性的特征数据比如反映虚拟对象生命值属性的数据或者反映虚拟对象技能属性的数据等。比如游戏场景中英雄角色的血量、英雄角色拥有的技能以及技能是否可用的数据中的一种或多种。属性特征数据具体可以是N维数据格式。例如,可用one-hot的形式表示英雄是否存活以及技能是否可用等。属性特征数据具体可以是Vector特征。
地图特征数据是反映地图特征的数据。地图特征数据可包括反映交互场景中地图的特征数据。比如游戏场景中的小地图信息,将小地图采用类似图像处理的方式,使用二维特征的形式表达小地图上英雄的位置、防御塔的位置以及野怪的位置等。地图特征数据具体可以是Mini-map特征。
具体地,计算机设备可从交互场景数据包括的与位置相关的数据中提取位置特征数据;从交互场景数据包括的虚拟对象属性数据中,提取属性特征数据;从交互场景数据包括的交互场景地图数据中提取地图特征数据;从而得到用于进行虚拟对象控制预测的模型输入数据。
在本实施例中,从交互场景数据中提取反映位置、属性以及地图多个方面特征的数据作为模型预测的输入数据,以进行虚拟对象控制预测,多方面的特征数据可以更好地反映输入数据的特征,进而可以提高预测的准确性。
S106,将特征数据输入虚拟对象控制预测模型,得到由虚拟对象控制预测模型的动作预测层输出的目标动作。
其中,虚拟对象控制预测模型是经过训练后具有虚拟对象控制预测能力的机器学习模型。机器学习英文全称为Machine Learning,简称ML。机器学习模型可通过样本学习具备虚拟对象控制预测能力。机器学习模型可采用神经网络模型、支持向量机或者逻辑回归模型等。神经网络模型比如卷积神经网络、反向传播神经网络、反馈神经网络、径向基神经网络或者自组织神经网络等。虚拟对象控制预测模型的训练过程具体可参考后续实施例中的描述。
动作预测层,是虚拟对象控制预测模型中用于进行动作预测的模型结构。动作预测层通过对输入该动作预测层的数据进行特征变换处理输出预测的动作。在一个实施例中,动作预测层可以理解为多分类层,也就是将输入该动作预测层的数据进行分类,每一类对应一种动作。
在一个实施例中,虚拟对象控制预测模型可以是由多层互相连接而形成的复杂网络模型。虚拟对象控制预测模型可包括多层特征转换层,每层特征转换层都有对应的模型参数,每层的模型参数可以是多个,每层特征转换层中一个模型参数对输入的图像进行线性或非线性变化,得到特征图(Feature Map)作为运算结果。每个特征转换层接收前一层的运算结果,经过自身的运算,对下一层输出本层的运算结果。其中,模型参数是模型结构中的各个参数,能反应模型输出和输入的对应关系。特征转换层比如卷积层或者全连接层等。
具体地,计算机设备可将特征数据输入虚拟对象控制预测模型,通过虚拟对象控制预测模型中的隐层对特征数据进行处理,得到由虚拟对象控制预测模型的动作预测层输出的目标动作。也就是由虚拟对象控制预测模型预测的动作。
在游戏场景中,目标动作比如移动、普通攻击或者技能攻击等。
S108,在虚拟对象控制预测模型包括的多个动作参数预测层中,选取与目标动作对应的动作参数预测层所输出的动作参数。
其中,动作参数预测层,是虚拟对象控制预测模型中用于进行动作参数预测的模型结构。动作参数预测层通过对输入该动作参数预测层的数据进行特征变换处理输出动作参数。
动作参数是动作执行所依赖的数据。可以理解,在控制虚拟对象执行某种动作时,不仅需要知道执行哪种动作,还需要知道该动作的参数,才能真实地执行该动作。比如,“移动”这个动作,还需要知道“移动”的方向。那么,这里的目标动作即为“移动”,动作参数即为“移动方向”。再比如,“攻击”这个动作,还需要知道“攻击”的目标等。那么,这里的目标动作即为“攻击”,动作参数即为“攻击目标”。当然,不需要动作参数的动作除外。
那么,在通过虚拟对象控制预测模型进行动作预测后,还需要进行动作参数预测。由于预测的动作的种类有多个,虚拟对象控制预测模型则包括多个动作参数预测层,每个动作参数预测层各自对应虚拟对象控制预测模型的动作预测层输出的一种动作。这样,即可在动作预测层输出的目标动作后,选取该目标动作对应的动作参数预测层所输出的动作参数,作为该目标动作所对应的动作参数。
可以理解,在每次将特征数据输入虚拟对象控制预测模型进行处理时,虚拟对象控制预测模型的每个动作参数预测层均会输出动作参数。但有且仅有与动作预测层输出的目标动作对应的动作参数预测层所输出的动作参数,才是与目标动作对应的、正确的动作参数。当然,虚拟对象控制预测模型也可通过训练过程中输出单元的输出控制训练,实现每次仅与动作预测层输出的目标动作对应的动作参数预测层会输出动作参数。
举例说明,图2示出了一个实施例中虚拟对象控制预测模型的模型示意图。参考图2,虚拟对象控制预测模型包括公用编码层和任务相关层两部分。任务相关层包括多个分支,也就是一个动作预测层分支和多个动作参数预测层分支。特征数据经过公用编码层的处理后,会传输至任务相关层的每个分支作为输入,任务相关层的每个分支在对输入的数据进行处理后,得到相应的输出,即预测的动作或者动作参数。其中,任务相关层的每个分支均可以经过N层全连接层图2中所示的一层全连接层仅为示例。当然,任务相关层的每个分支均可以使用DNN(Deep Neural Network,深层神经网络)实现,或者BN、Dense、GoogLenet、ResNet、Attention、时序LSTM以及RNN等网络结构。
S110,按照选取的动作参数,控制待控制虚拟对象执行目标动作。
具体地,计算机设备在获取到预测的目标动作,以及预测的与目标动作对应的动作参数会后,即可按照该动作参数控制待控制虚拟对象执行目标动作。比如,目标动作为“移动”,动作参数为“前方”,则控制虚拟对象向前方移动。再比如游戏场景中,目标动作为“普通攻击”,动作参数为“英雄h”,则控制虚拟对象使用普通攻击来攻击英雄h。
上述虚拟对象控制方法,通过虚拟对象控制预测模型根据特征数据进行动作与动作参数的预测,实现虚拟对象的自动控制。该虚拟对象控制预测模型包括两个层级的预测层:用于预测动作的动作预测层和用于预测动作参数的动作参数预测层,且动作预测层预测出的每种动作都分别对应有一个动作参数预测层,该动作参数预测层输出的动作参数可以认为是与预测的动作对应的动作参数。这样,在获取与待控制虚拟对象对应的交互场景数据后,即可自动对交互场景数据进行特征提取得到特征数据,再将特征数据输入虚拟对象控制预测模型,以获得动作预测层预测的目标动作,继而在多个动作参数预测层分别输出的动作参数中,选择与目标动作对应的动作参数预测层所输出的动作参数,得到正确预测的动作和动作参数来控制虚拟对象,极大地提高了虚拟对象的控制效率。
在一个实施例中,S106包括:将特征数据输入虚拟对象控制预测模型,通过虚拟对象控制预测模型的公用编码层将特征数据编码为中间数据;通过虚拟对象控制预测模型的动作预测层,输出由中间数据映射得到的目标动作。
其中,公用编码层是动作预测层与多个动作参数预测层共用的编码层。公用编码层的输出为动作预测层与多个动作参数预测层的输入。编码层(Encoder)用于对输入数据进行特征提取并降维得到低维的数据。中间数据是公用编码层对输入的特征数据进行处理后输出的数据,是动作预测层的输入数据。
具体地,计算机设备在获取特征数据后,即将特征数据输入虚拟对象控制预测模型,虚拟对象控制预测模型的公用编码层即将特征数据编码为中间数据,并传递至虚拟对象控制预测模型的动作预测层,虚拟对象控制预测模型的动作预测层则继续对该中间数据进行特征变换处理输出预测的目标动作。
在一个实施例中,将特征数据输入虚拟对象控制预测模型,通过虚拟对象控制预测模型的公用编码层将特征数据编码为中间数据,包括:将位置特征数据、属性特征数据和地图特征数据共同输入虚拟对象控制预测模型;通过虚拟对象控制预测模型中公用编码层的位置特征编码层,将位置特征数据编码为第一中间数据;通过虚拟对象控制预测模型中公用编码层的属性特征编码层,将属性特征数据编码为第二中间数据;通过虚拟对象控制预测模型中公用编码层的地图特征编码层,将地图特征数据编码为第三中间数据;通过虚拟对象控制预测模型中公用编码层的拼接层,将第一中间数据、第二中间数据和第三中间数据,拼接得到中间数据。
其中,特征数据包括位置特征数据、属性特征数据和地图特征数据三种特征数据。由于这三种特征数据所反映的特征不同,在公用编码层分别采用不同的编码层对这些数据分别进行处理后,再拼接为中间数据。
继续参考图2,虚拟对象控制预测模型的公用编码层包括三个部分的编码层:对位置特征数据进行编码的位置特征编码层,对属性特征数据进行编码的属性特征编码层,对地图特征数据进行编码的地图特征编码层。具体地,位置特征编码层与地图特征编码层可通过CNN(Convolutional Neural Network,卷积神经网络)实现,属性特征编码层可通过DNN(Deep Neural Network,深度神经网络)实现。这里的DNN具体可以是深度多层全连接(Fully connected,Fc)网络。当然本实施例使用的是CNN网络结构和DNN网络结构,但仅仅是作为示范,在实际应用中,使用其他的结构也可达到类似的效果,如其它常用的网络结构:BN、Dense、GoogLenet、ResNet、Attention、时序LSTM以及RNN等。
其中,位置特征数据(Img_like特征)和地图特征数据(Mini-map特征)均为二维(矩阵)形式的特征数据,经过公用编码层的编码后仍为二维(矩阵)形式的特征数据;属性特征数据(Vector特征)为一维形式的特征数据,经过公用编码层的编码后仍为一维形式的特征数据;那么在虚拟对象控制预测模型的网络层中对二维特征进行扁平化(Flat)处理,将二维的Img_like特征和Mini-map特征转化为一维的特征,然后与Vector特征拼接,得到一维的中间数据。
在本实施例中,对于反映不同特征的特征数据采用不同的网络结构进行编码处理,使得对特征数据的编码更加准确,从而提高模型预测的准确性。
上述实施例中,统一采用公用编码层对特征数据进行编码,然后再传递至后面的任务相关层,也就是动作预测层或者动作参数预测层进行处理,每个任务相关层共用同样的公共编码层,又拥有自己独有的网络,因此每个任务相关层既能通过公共编码层相互作用,又依赖自有网络而不被其他任务相关层带来过多干扰,有利于模型的学习与预测。
在一个实施例中,S108包括:通过虚拟对象控制预测模型包括的多个动作参数预测层,分别输出由中间数据映射得到的动作参数;从虚拟对象控制预测模型输出的多个动作参数中,选取与目标动作对应的动作参数预测层所输出的动作参数。
具体地,虚拟对象控制预测模型的公用编码层将特征数据编码为中间数据后,将中间数据传递至虚拟对象控制预测模型的各动作参数预测层,虚拟对象控制预测模型的各动作参数预测层继续对该中间数据进行特征变换处理输出预测的动作参数。可以理解,虽然每个动作参数预测层均会输出动作参数,但有且仅由与目标动作对应的动作参数预测层输出的动作参数,才是与目标动作对应的动作参数。
在本实施例中,对不同动作的动作参数,在模型结构上为其建立自己独立的动作参数预测层,每个动作参数预测层共用同样的公共编码层,又拥有自己独有的网络,因此每个动作参数预测层既能通过公共编码层相互作用,又依赖自有网络而不被其他动作参数预测层带来过多干扰,有利于模型的学习与预测。
如图3所示,在一个实施例中,提供了一种模型训练方法。本实施例主要以该方法应用于计算机设备来举例说明。该计算机设备具体可以是服务器,也可以是终端。参照图3,该模型训练方法具体包括如下步骤:
S302,获取模型训练数据和相对应的动作标签与动作参数标签;模型训练数据通过对与虚拟对象样本对应的交互场景样本数据进行特征提取得到。
其中,模型训练数据是用于训练模型的样本的特征数据,是模型训练时输入模型的数据。动作标签和动作参数标签均是模型训练数据相对应的标签,是模型训练时模型的期望输出。不同的模型由于学习的能力或者用途不同,训练所需要的样本、样本的特征数据以及模型的输出也不同。比如,用于识别人脸图像的模型训练所需的样本为人脸图像,样本的特征数据为人脸特征数据,模型的输出为人脸识别结果。再比如,用于识别声音的模型所需的样本为音频数据,样本的特征数据为声学特征数据,模型的输出为声音识别结果。
在本实施例中,计算机设备意图训练出能够预测控制虚拟对象执行的动作和动作参数的机器学习模型。那么,样本为与虚拟对象样本对应的交互场景样本数据;模型训练数据,也就是样本的特征数据,为对与虚拟对象样本对应的交互场景样本数据进行特征提取得到的特征数据。这样,计算机设备即可训练模型学习与虚拟对象样本对应的交互场景样本数据进行特征提取得到的特征数据,来预测控制虚拟对象执行的动作和动作参数。
既然期望模型学习的是预测动作和动作参数的能力,也就是模仿自然人控制虚拟模型的操作。在建模过程中则对模型训练数据相对应的标签进行分层设计,包括动作标签与动作参数标签。之所以分层设计标签,是因为在自然人在真实操作虚拟对象的过程中,操作的决策是先选择使用哪种操作,才会再选择相应操作下的参数,因此分层的思想更贴近自然人在真实操作虚拟对象的过程中的操作思路,能更真实的表达自然人的操作决策,利于模型的学习。比如,游戏场景中,用户控制游戏角色,往往是先选择移动、普通攻击还是技能攻击,再选择移动的方向或者攻击的目标。
S304,将模型训练数据输入虚拟对象控制预测模型,得到由虚拟对象控制预测模型的动作预测层输出的预测动作。
S306,在虚拟对象控制预测模型包括的多个动作参数预测层中,选取与动作标签对应的动作参数预测层所输出的预测动作参数。
具体地,虚拟对象控制预测模型包括多个动作参数预测层,每个动作参数预测层对应于一种动作标签。可以理解,由于标签是期望的模型输出,那么动作标签的数量,也是期望训练虚拟对象控制预测模型的动作预测层对输入数据进行分类的类别数,也是训练完成的虚拟对象控制预测模型在使用时动作预测层可能输出的目标动作的类别数。
那么,每个动作参数预测层对应于一种动作标签,与前述实施例中,每个动作参数预测层对应于一种目标动作所表达是相同的意思。只是在模型训练过程中,模型还未能按照期望进行输出的情况下,在选取动作参数时,不同于模型使用过程中,也就是虚拟对象控制方法的实施例中,选取与动作预测层输出的预测动作相对应的动作参数预测层所输出的预测动作参数;而是选取与动作标签对应的动作参数预测层所输出的预测动作参数。这是由于动作预测层输出的预测动作可能存在误差,而本实施例中的模型训练为有监督的模型训练,标签数据即为真实控制虚拟对象时的正确数据。
S308,根据预测动作与动作标签、及预测动作参数和动作参数标签的差异确定损失函数。
其中,损失函数是用于衡量模型好坏的函数。损失函数通常是以模型的实际输出与模型的期望输出之间差异为自变量的函数。
在一个具体的实施例中,损失函数如下式所示:
Figure BDA0001854480110000131
其中,wighti∈{0,1},i∈[1,n]。
当i=1时,loss1表示动作预测层的损失函数,也就是以预测动作与动作标签的差异为自变量的函数;此时wight1为动作预测层的损失函数的权重,取值为1。
当i∈[2,n]时,lossi表示动作预测层的损失函数,也就是以预测动作参数和动作参数标签的差异为自变量的函数;此时,wighti为动作参数预测层的损失函数的权重,与动作标签对应的动作参数预测层的损失函数的权重取值为1,其他动作参数预测层的损失函数的权重取值为0。
也就是说,每次迭代训练过程中,有且仅有动作预测层和其中一个动作参数预测层的输出误差会反向传播影响模型的参数调整。
S310,按照优化损失函数的方向,局部调整虚拟对象控制预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练。
其中,训练停止条件是结束模型训练的条件。训练停止条件可以是达到预设的迭代次数,或局部调整模型参数后的模型的预测性能指标达到预设指标。
局部调整虚拟对象控制预测模型的模型参数,是对虚拟对象控制预测模型的部分模型参数进行调整。在本实施例中,由于每次迭代训练过程中,有且仅有动作预测层和其中一个动作参数预测层的实际输出与期望输出的误差会反向传播影响模型的参数调整。故仅由模型训练数据转化为动作预测层的输出数据时、所经过的模型结构的模型参数,及由模型训练数据转化为与动作标签对应的动作参数预测层的输出数据时、所经过的模型结构的模型参数在该次迭代训练过程中会被调整,其他动作参数预测层的模型参数则不会被影响。
举例说明,继续参考图2,每个任务相关层之间是独立且并列的,这样每个任务相关层在训练时拥有属于自己独立的网络结构,而不受其他任务相关层的误差反传影响。
上述模型训练方法,通过训练出可进行动作和动作参数预测的虚拟对象控制预测模型,以实现虚拟对象的自动控制。具体对模型训练数据分别设置属于不同层级的动作标签和动作参数标签,并对虚拟对象控制预测模型设计两个层级的预测层:用于预测动作的动作预测层和用于预测动作参数的动作参数预测层,且为动作预测层可预测出的每种动作都分别设置动作参数预测层。这样,在获取模型训练数据和相应的动作标签与动作参数标签后,获得动作预测层预测的动作和与动作标签对应的动作参数预测层所输出的动作参数,根据预测的动作和动作参数与动作标签与动作参数标签的差异反向局部调整模型参数。这样将训练得到的虚拟对象控制预测模型用于虚拟对象控制中,可极大地提高虚拟对象的控制效率。
在一个实施例中,模型训练数据包括位置特征训练数据、属性特征训练数据和地图特征训练数据;获取模型训练数据和相对应的动作标签与动作参数标签,包括:获取与虚拟对象样本对应的交互场景样本数据;从交互场景样本数据包括的与位置相关的数据、虚拟对象属性数据和交互场景地图数据中,分别提取位置特征训练数据、属性特征训练数据和地图特征训练数据,得到模型训练数据;从交互场景样本数据包括的用户操作数据中,提取与模型训练数据相对应的动作标签与动作参数标签。
可以理解,与前述虚拟对象控制方法的实施例中交互场景数据相比较,模型训练方法的实施例中交互场景样本数据还包括对虚拟对象样本的用户操作数据。这样,即可从交互场景样本数据中提取特征训练数据作为模型训练数据,从交互场景样本数据包括的用户操作数据中,提取与模型训练数据相对应的标签数据,以学习用户控制虚拟对象样本的操作。
模型训练方法的实施例中的特征训练数据,也就是位置特征训练数据、属性特征训练数据和地图特征训练数据,与前述虚拟对象控制方法的实施例中特征数据,也就是位置特征数据、属性特征数据和地图特征数据的定义与提取方式相同,可参考前述实施例中的相关描述。
在一个实施例中,与虚拟对象样本对应的交互场景样本数据,可是从录制的与虚拟对象样本对应的交互场景的视频中一帧视频画面帧,也就是说,每一帧交互场景样本画面数据可以提取出一组模型训练数据和相对应的标签。在游戏场景中,计算机设备可通过每一帧游戏画面数据记录到玩家真实的操作,得到模型训练数据和相对应的标签。当然,交互场景样本数据,也可是由该视频画面帧转化得到的文本数据,这样便于从中提取模型训练数据和相对应的标签。
在一个实施例中,从交互场景样本数据包括的用户操作数据中,提取与模型训练数据相对应的动作标签与动作参数标签,包括:根据交互场景样本数据包括的用户操作数据,定位操控区域;确定与定位的操控区域匹配的预设动作;从用户操作数据,提取与预设动作对应的动作参数;根据预设动作与动作参数,得到与模型训练数据相对应的动作标签与动作参数标签。
其中,操控区域是虚拟对象操控界面中存在的对虚拟对象进行操控的操作区域。比如王者荣耀中的移动操作区域或者普通攻击操作区域等。不同的操作区域对应配置有不同的预设动作。比如与移动操作区域匹配的预设动作是“移动”,与普通攻击操作区域匹配的预设动作是“普通攻击”等。
具体地,计算机设备可根据交互场景样本数据包括的用户操作数据,定位用户所的操控区域,继而确定与定位的操控区域匹配的预设动作,这样即可得到模型训练数据的动作标签。在确定动作标签后,即可提取与预设动作对应的动作参数,继而得到模型训练数据的动作参数标签。
举例说明,在游戏场景中,计算机设备可根据游戏数据,提取在当前帧玩家使用的是哪个按键,是左手的移动按键,还是右手的攻击按键;若为左手按键,则提取移动的方向;若为右手按键,则判断是普攻按键,还是技能按键;若为普攻按键,则提取普攻的目标;若为技能按键,则判断是方向型技能、位置型技能还是目标型技能:若为方向型技能,提取技能释放的方向;若为位置型技能,提取技能释放选择的位置;若为目标型技能,提取技能释放时选择的攻击目标。根据以上流程,计算机设备可以在给定的游戏数据上,提取到每一帧玩家的真实操作按键以及操作该按键时的参数,也就是动作与动作参数。
举例说明,图4示出了一个实施例中训练标签的分层示意图。参考图4,通过定位操控区域即可确定动作,继而确定动作参数。在具体的游戏场景中,根据玩家在手机端的左手和右手操作行为,建立分层的标签设计,即先预测用哪个按键,再预测按键的释放参数。对方向型按键预测方向,对位置型按键预测位置,对目标型按键预测目标,实现玩家操作的完整表达。
在本实施例中,模型是模仿自然人控制虚拟对象的操作,由于自然人在真实操作虚拟对象的过程中,操作的决策是先选择使用哪种操作,才会再选择相应操作下的参数,这样在建模过程中对模型训练数据相对应的标签进行分层设计,包括动作标签与动作参数标签,通过分层的思想更贴近自然人在真实操作虚拟对象的过程中的操作思路,能更真实的表达自然人的操作决策,利于模型的学习。
上述实施例中,在提取模型训练数据时,从交互场景样本数据中提取反映位置、属性以及地图多个方面特征的数据作为模型训练的输入数据,以进行虚拟对象控制训练,多方面的特征数据可以更好地反映输入数据的特征,进而可以提高模型预测的准确性。
在一个实施例中,S304包括:将模型训练数据输入虚拟对象控制预测模型,通过虚拟对象控制预测模型的公用编码层将模型训练数据编码为中间训练数据;通过虚拟对象控制预测模型的动作预测层,输出由中间训练数据映射得到的预测动作。
具体地,计算机设备在获取模型训练数据后,即将模型训练数据输入虚拟对象控制预测模型,虚拟对象控制预测模型的公用编码层即将特征数据编码为中间数据,并传递至虚拟对象控制预测模型的动作预测层,虚拟对象控制预测模型的动作预测层则继续对该中间数据进行特征变换处理输出预测动作。
在一个实施例中,将模型训练数据输入虚拟对象控制预测模型,通过虚拟对象控制预测模型的公用编码层将模型训练数据编码为中间数据,包括:将位置特征训练数据、属性特征训练数据和地图特征训练数据共同输入虚拟对象控制预测模型;通过虚拟对象控制预测模型中公用编码层的位置特征编码层,将位置特征训练数据编码为第一中间数据;通过虚拟对象控制预测模型中公用编码层的属性特征编码层,将属性特征训练数据编码为第二中间数据;通过虚拟对象控制预测模型中公用编码层的地图特征编码层,将地图特征训练数据编码为第三中间数据;通过虚拟对象控制预测模型中公用编码层的拼接层,将第一中间数据、第二中间数据和第三中间数据,拼接得到中间数据。
上述实施例中,统一采用公用编码层对模型训练数据进行编码,然后再传递至后面的任务相关层,也就是动作预测层或者动作参数预测层进行处理,每个任务相关层共用同样的公共编码层,又拥有自己独有的网络,因此每个任务相关层既能通过公共编码层相互作用,又依赖自有网络而不被其他任务相关层带来过多干扰,有利于模型的学习。
在一个实施例中,S306包括:通过虚拟对象控制预测模型包括的多个动作参数预测层,分别输出由中间训练数据映射得到的预测动作参数;从虚拟对象控制预测模型输出的多个预测动作参数中,选取与动作标签对应的动作参数预测层所输出的预测动作参数。
具体地,虚拟对象控制预测模型的公用编码层将模型训练数据编码为中间数据后,将中间数据传递至虚拟对象控制预测模型的各动作参数预测层,虚拟对象控制预测模型的各动作参数预测层继续对该中间数据进行特征变换处理输出预测动作参数。可以理解,虽然每个动作参数预测层均会输出动作参数,但有且仅由与动作标签对应的动作参数预测层输出的预测动作参数,才是模型实际输出的与动作标签对应的实际动作参数。
在本实施例中,对不同动作的动作参数,在模型结构上为其建立自己独立的动作参数预测层,每个动作参数预测层共用同样的公共编码层,又拥有自己独有的网络,因此每个动作参数预测层既能通过公共编码层相互作用,又依赖自有网络而不被其他动作参数预测层带来过多干扰,有利于模型的学习。
在一个实施例中,S310包括:按照最小化损失函数的方向,调整虚拟对象控制预测模型中公用编码层、动作预测层以及与动作标签对应的动作参数预测层的模型参数并继续训练,直至满足训练停止条件时结束训练。
可以理解,本发明实施例中,不同的动作参数预测层可以认为是相互独立的不同的任务分支,那么不同的动作参数预测层之间误差反传不会相互影响。
具体地,计算机设备可保持虚拟对象控制预测模型中未与动作标签对应的动作参数预测层的模型参数不变,按照最小化损失函数的方向,调整虚拟对象控制预测模型中公用编码层、动作预测层以及与动作标签对应的动作参数预测层的模型参数,并继续训练,直至满足训练停止条件时结束训练。
本实施例中,在对虚拟对象控制预测模型的训练过程中,保持虚拟对象控制预测模型中部分模型参数不变,调整虚拟对象控制预测模型中损失函数相关的模型参数,可提模型训练的效率。
图5为一个实施例中模型训练与使用过程的流程示意图。计算机设备可先进行模型的训练,获取与虚拟对象样本对应的交互场景样本数据,并对其进行特征数据提取得到模型训练数据和相应的分层标签(动作标签与动作参数标签),通过分层多任务模仿学习得到训练完成的虚拟对象控制预测模型。
举例说明,在游戏场景中,计算机设备可获取离线的游戏数据,对游戏数据进行特征提取,得到Img_like、Vector和Minimap三类特征数据作为模型训练数据。计算机设备可再从游戏数据中提取模型训练数据的标签,在标签的提取过程中,计算机设备根据玩家在终端的左手和右手操作行为,建立分层的标签设计,即先提取用哪个按键,再提取按键的释放参数。对方向型按键提取方向,对位置型按键提取位置,对目标型按键提取释放目标,实现玩家操作的完整表达。在训练时,前向传播过程中只用到了模型训练数据,模型训练数据经过模型处理后会输出一个预测结果,根据这个预测结果与模型训练数据的真实标签计算误差,误差通过反向传播调整模型的模型参数。当误差低于一定阈值,模型收敛后,停止训练,保存此时的模型结构及其参数,得到训练好的模型文件。
计算机设备可再使用训练好的虚拟对象控制预测模型,进行虚拟对象控制预测。具体地,计算机设备可获取与待控制虚拟对象对应的交互场景数据;对交互场景数据进行特征提取得到特征数据;将特征数据输入训练好的虚拟对象控制预测模型,得到由虚拟对象控制预测模型的动作预测层输出的目标动作和与目标动作对应的动作参数预测层所输出的动作参数;按照选取的动作参数,控制待控制虚拟对象执行目标动作,即可实现对虚拟对象的自动控制。
举例说明,在游戏场景中,计算机设备可获取实时的游戏数据,对游戏数据进行特征提取,得到Img_like、Vector和Minimap三类特征数据作为预测输入数据,将预测输入数据输入训练好的虚拟对象控制预测模型,即可得到输出的目标动作和动作参数,控制游戏角色按照该动作参数执行该动作。在具体的应用场景中,计算机设备可根据大量的玩家的用户操作数据训练一个模型作为游戏中的虚拟玩家,虚拟玩家会以游戏中的角色参与游戏对战,根据对局中的实时数据,做出一系列的操作,与玩家一起协同完成游戏对局。
图6为一个实施例中虚拟对象控制方法的应用环境图。该应用环境图可包括终端110和服务器120。其中,终端110与服务器120通过网络连接。终端110上可运行有游戏应用。服务器120可包括游戏服务器121和模型服务器122。游戏服务器121为终端110运行游戏应用提供支持。
具体地,模型服务器122从游戏服务器121获取离线的游戏数据,从离线的游戏数据中提取模型训练数据和相应的分层标签进行模型训练。用户在通过终端110运行游戏应用进行游戏对局时,可将实时的游戏数据传递至模型服务器122,模型服务器122根据训练好的模型控制游戏角色,做出一系列的操作,与玩家一起协同完成游戏对局。当然,模型服务器122在训练完模型后,可将训练好的模型文件下发至终端110,由终端110执行根据训练好的模型控制游戏角色,做出一系列的操作,与玩家一起协同完成游戏对局。终端110上也可进行模型训练。
应该理解的是,虽然上述各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,在一个实施例中,提供了一种虚拟对象控制装置700。参照图7,该虚拟对象控制装置700包括:获取模块701、提取模块702、预测模块703和控制模块704。
获取模块701,用于获取与待控制虚拟对象对应的交互场景数据。
提取模块702,用于对交互场景数据进行特征提取得到特征数据。
预测模块703,用于将特征数据输入虚拟对象控制预测模型,得到由虚拟对象控制预测模型的动作预测层输出的目标动作;在虚拟对象控制预测模型包括的多个动作参数预测层中,选取与目标动作对应的动作参数预测层所输出的动作参数。
控制模块704,用于按照选取的动作参数,控制待控制虚拟对象执行目标动作。
在一个实施例中,预测模块703还用于将特征数据输入虚拟对象控制预测模型,通过虚拟对象控制预测模型的公用编码层将特征数据编码为中间数据;通过虚拟对象控制预测模型的动作预测层,输出由中间数据映射得到的目标动作。
在一个实施例中,预测模块703还用于通过虚拟对象控制预测模型包括的多个动作参数预测层,分别输出由中间数据映射得到的动作参数;从虚拟对象控制预测模型输出的多个动作参数中,选取与目标动作对应的动作参数预测层所输出的动作参数。
在一个实施例中,特征数据包括位置特征数据、属性特征数据和地图特征数据。提取模块702还用于从交互场景数据包括的与位置相关的数据中提取位置特征数据;从交互场景数据包括的虚拟对象属性数据中,提取属性特征数据;从交互场景数据包括的交互场景地图数据中提取地图特征数据。
在一个实施例中,预测模块703还用于将位置特征数据、属性特征数据和地图特征数据共同输入虚拟对象控制预测模型;通过虚拟对象控制预测模型中公用编码层的位置特征编码层,将位置特征数据编码为第一中间数据;通过虚拟对象控制预测模型中公用编码层的属性特征编码层,将属性特征数据编码为第二中间数据;通过虚拟对象控制预测模型中公用编码层的地图特征编码层,将地图特征数据编码为第三中间数据;通过虚拟对象控制预测模型中公用编码层的拼接层,将第一中间数据、第二中间数据和第三中间数据,拼接得到中间数据。
如图8所示,在一个实施例中,提供了一种模型训练装置800。参照图8,该模型训练装置800包括:获取模块801、确定模块802和调整模块803。
获取模块801,用于获取模型训练数据和相对应的动作标签与动作参数标签;模型训练数据通过对与虚拟对象样本对应的交互场景数据样本进行特征提取得到。
确定模块802,用于将模型训练数据输入虚拟对象控制预测模型,得到由虚拟对象控制预测模型的动作预测层输出的预测动作;在虚拟对象控制预测模型包括的多个动作参数预测层中,选取与动作标签对应的动作参数预测层所输出的预测动作参数;根据预测动作与动作标签、及预测动作参数和动作参数标签的差异确定损失函数。
调整模块803,用于按照优化损失函数的方向,局部调整虚拟对象控制预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练。
在一个实施例中,模型训练数据包括位置特征训练数据、属性特征训练数据和地图特征训练数据。获取模块801还用于获取与虚拟对象样本对应的交互场景样本数据;从交互场景样本数据包括的与位置相关的数据、虚拟对象属性数据和交互场景地图数据中,分别提取位置特征训练数据、属性特征训练数据和地图特征训练数据,得到模型训练数据;从交互场景样本数据包括的用户操作数据中,提取与模型训练数据相对应的动作标签与动作参数标签。
在一个实施例中,获取模块801还用于根据交互场景样本数据包括的用户操作数据,定位操控区域;确定与定位的操控区域匹配的预设动作;从用户操作数据,提取与预设动作对应的动作参数;根据预设动作与动作参数,得到与模型训练数据相对应的动作标签与动作参数标签。
在一个实施例中,确定模块802还用于将模型训练数据输入虚拟对象控制预测模型,通过虚拟对象控制预测模型的公用编码层将模型训练数据编码为中间训练数据;通过虚拟对象控制预测模型的动作预测层,输出由中间训练数据映射得到的预测动作。
在一个实施例中,确定模块802还用于通过虚拟对象控制预测模型包括的多个动作参数预测层,分别输出由中间训练数据映射得到的预测动作参数;从虚拟对象控制预测模型输出的多个预测动作参数中,选取与动作标签对应的动作参数预测层所输出的预测动作参数。
在一个实施例中,调整模块803还用于按照最小化损失函数的方向,调整虚拟对象控制预测模型中公用编码层、动作预测层以及与动作标签对应的动作参数预测层的模型参数并继续训练,直至满足训练停止条件时结束训练。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图6中的终端110。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟对象控制方法和/或模型训练方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟对象控制方法和/或模型训练方法。计算机设备的显示屏可以是液晶显示屏或电子墨水显示屏,计算机设备的输入装置可是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图6中的服务器120。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现虚拟对象控制方法和/或模型训练方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行虚拟对象控制方法和/或模型训练方法。
本领域技术人员可以理解,图9或10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的虚拟对象控制装置和模型训练装置均可以实现为一种计算机程序的形式,计算机程序可在如图9或10所示的计算机设备上运行。计算机设备的存储器中可存储组成该虚拟对象控制装置或模型训练装置的各个程序模块,比如,图7所示的获取模块701、提取模块702、预测模块703和控制模块704。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的虚拟对象控制方法或模型训练方法中的步骤。
例如,图9或10所示的计算机设备可以通过如图7所示的虚拟对象控制装置中的获取模块701获取与待控制虚拟对象对应的交互场景数据。通过提取模块702对交互场景数据进行特征提取得到特征数据。通过预测模块703将特征数据输入虚拟对象控制预测模型,得到由虚拟对象控制预测模型的动作预测层输出的目标动作;在虚拟对象控制预测模型包括的多个动作参数预测层中,选取与目标动作对应的动作参数预测层所输出的动作参数。通过控制模块704按照选取的动作参数,控制待控制虚拟对象执行目标动作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法和/或模型训练方法的步骤。此处虚拟对象控制方法和/或模型训练方法的步骤可以是上述各个实施例的虚拟对象控制方法和/或模型训练方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述虚拟对象控制方法和/或模型训练方法的步骤。此处虚拟对象控制方法和/或模型训练方法的步骤可以是上述各个实施例的虚拟对象控制方法和/或模型训练方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种虚拟对象控制方法,包括:
获取与待控制虚拟对象对应的交互场景数据;
对所述交互场景数据进行特征提取得到特征数据;
将所述特征数据输入虚拟对象控制预测模型,所述虚拟对象控制预测模型包括公用编码层、与所述公用编码层连接的一个动作预测层以及分别与所述公用编码层连接的多个动作参数预测层,所述动作参数预测层的数量与动作种类的数量相同,每个动作参数预测层与一种动作对应;
通过所述公用编码层将所述特征数据编码为中间数据;
通过所述动作预测层输出由所述中间数据映射得到的目标动作,以及通过所述多个动作参数预测层,分别输出由所述中间数据映射得到的动作参数;
在所述多个动作参数预测层分别输出的动作参数中,选取与所述目标动作对应的动作参数预测层所输出的动作参数;
按照选取的所述动作参数,控制所述待控制虚拟对象执行所述目标动作。
2.根据权利要求1所述的方法,其特征在于,所述特征数据包括位置特征数据、属性特征数据和地图特征数据;
所述对所述交互场景数据进行特征提取得到特征数据,包括:
从所述交互场景数据包括的与位置相关的数据中提取位置特征数据;
从所述交互场景数据包括的虚拟对象属性数据中,提取属性特征数据;
从所述交互场景数据包括的交互场景地图数据中提取地图特征数据。
3.根据权利要求2所述的方法,其特征在于,所述通过所述公用编码层将所述特征数据编码为中间数据,包括:
将所述位置特征数据、所述属性特征数据和所述地图特征数据共同输入虚拟对象控制预测模型;
通过所述虚拟对象控制预测模型中公用编码层的位置特征编码层,将所述位置特征数据编码为第一中间数据;
通过所述虚拟对象控制预测模型中公用编码层的属性特征编码层,将所述属性特征数据编码为第二中间数据;
通过所述虚拟对象控制预测模型中公用编码层的地图特征编码层,将所述地图特征数据编码为第三中间数据;
通过所述虚拟对象控制预测模型中公用编码层的拼接层,将所述第一中间数据、所述第二中间数据和所述第三中间数据,拼接得到中间数据。
4.一种模型训练方法,包括:
获取模型训练数据和相对应的动作标签与动作参数标签;所述模型训练数据通过对与虚拟对象样本对应的交互场景样本数据进行特征提取得到;
将所述模型训练数据输入虚拟对象控制预测模型,所述虚拟对象控制预测模型包括公用编码层、与所述公用编码层连接的一个动作预测层以及分别与所述公用编码层连接的多个动作参数预测层,所述动作参数预测层的数量与动作种类的数量相同,每个动作参数预测层与一个动作种类对应;
通过所述公用编码层将所述模型训练数据编码为中间训练数据;
通过所述动作预测层输出由所述中间训练数据映射得到的预测动作,以及通过所述多个动作参数预测层,分别输出由所述中间训练数据映射得到的预测动作参数;
在所述多个动作参数预测层分别输出的预测动作参数中,选取与所述动作标签对应的动作参数预测层所输出的预测动作参数;
根据所述预测动作与所述动作标签、及所述预测动作参数和所述动作参数标签的差异确定损失函数;
按照优化所述损失函数的方向,局部调整所述虚拟对象控制预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练。
5.根据权利要求4所述的方法,其特征在于,所述模型训练数据包括位置特征训练数据、属性特征训练数据和地图特征训练数据;
所述获取模型训练数据和相对应的动作标签与动作参数标签,包括:
获取与虚拟对象样本对应的交互场景样本数据;
从所述交互场景样本数据包括的与位置相关的数据、虚拟对象属性数据和交互场景地图数据中,分别提取位置特征训练数据、属性特征训练数据和地图特征训练数据,得到模型训练数据;
从所述交互场景样本数据包括的用户操作数据中,提取与所述模型训练数据相对应的动作标签与动作参数标签。
6.根据权利要求5所述的方法,其特征在于,所述从所述交互场景样本数据包括的用户操作数据中,提取与所述模型训练数据相对应的动作标签与动作参数标签,包括:
根据所述交互场景样本数据包括的用户操作数据,定位操控区域;
确定与定位的所述操控区域匹配的预设动作;
从所述用户操作数据,提取与所述预设动作对应的动作参数;
根据所述预设动作与所述动作参数,得到与所述模型训练数据相对应的动作标签与动作参数标签。
7.根据权利要求4所述的方法,其特征在于,所述按照优化所述损失函数的方向,局部调整所述虚拟对象控制预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练,包括:
按照最小化所述损失函数的方向,调整所述虚拟对象控制预测模型中公用编码层、动作预测层以及与所述动作标签对应的动作参数预测层的模型参数并继续训练,直至满足训练停止条件时结束训练。
8.一种虚拟对象控制装置,包括:
获取模块,用于获取与待控制虚拟对象对应的交互场景数据;
提取模块,用于对所述交互场景数据进行特征提取得到特征数据;
预测模块,用于将所述特征数据输入虚拟对象控制预测模型,所述虚拟对象控制预测模型包括公用编码层、与所述公用编码层连接的一个动作预测层以及分别与所述公用编码层连接的多个动作参数预测层,所述动作参数预测层的数量与动作种类的数量相同,每个动作参数预测层与一种动作对应;
所述预测模块还用于通过所述公用编码层将所述特征数据编码为中间数据;通过所述动作预测层输出由所述中间数据映射得到的目标动作,以及通过所述多个动作参数预测层,分别输出由所述中间数据映射得到的动作参数;在所述多个动作参数预测层分别输出的动作参数中,选取与所述目标动作对应的动作参数预测层所输出的动作参数;
控制模块,用于按照选取的所述动作参数,控制所述待控制虚拟对象执行所述目标动作。
9.根据权利要求8所述的装置,其特征在于,所述特征数据包括位置特征数据、属性特征数据和地图特征数据;所述提取模块还用于从所述交互场景数据包括的与位置相关的数据中提取位置特征数据;从所述交互场景数据包括的虚拟对象属性数据中,提取属性特征数据;从所述交互场景数据包括的交互场景地图数据中提取地图特征数据。
10.根据权利要求9所述的装置,其特征在于,所述预测模块还用于将所述位置特征数据、所述属性特征数据和所述地图特征数据共同输入虚拟对象控制预测模型;通过所述虚拟对象控制预测模型中公用编码层的位置特征编码层,将所述位置特征数据编码为第一中间数据;通过所述虚拟对象控制预测模型中公用编码层的属性特征编码层,将所述属性特征数据编码为第二中间数据;通过所述虚拟对象控制预测模型中公用编码层的地图特征编码层,将所述地图特征数据编码为第三中间数据;通过所述虚拟对象控制预测模型中公用编码层的拼接层,将所述第一中间数据、所述第二中间数据和所述第三中间数据,拼接得到中间数据。
11.一种模型训练装置,包括:
获取模块,用于获取模型训练数据和相对应的动作标签与动作参数标签;所述模型训练数据通过对与虚拟对象样本对应的交互场景数据样本进行特征提取得到;
确定模块,用于将所述模型训练数据输入虚拟对象控制预测模型,所述虚拟对象控制预测模型包括公用编码层、与所述公用编码层连接的一个动作预测层以及分别与所述公用编码层连接的多个动作参数预测层,所述动作参数预测层的数量与动作种类的数量相同,每个动作参数预测层与一个动作种类对应;通过所述公用编码层将所述模型训练数据编码为中间训练数据;通过所述动作预测层输出由所述中间训练数据映射得到的预测动作,以及通过所述多个动作参数预测层,分别输出由所述中间训练数据映射得到的预测动作参数;在所述多个动作参数预测层分别输出的预测动作参数中,选取与所述动作标签对应的动作参数预测层所输出的预测动作参数;根据所述预测动作与所述动作标签、及所述预测动作参数和所述动作参数标签的差异确定损失函数;
调整模块,用于按照优化所述损失函数的方向,局部调整所述虚拟对象控制预测模型的模型参数并继续训练,直至满足训练停止条件时结束训练。
12.根据权利要求11所述的装置,其特征在于,所述模型训练数据包括位置特征训练数据、属性特征训练数据和地图特征训练数据;所述获取模块,还用于获取与虚拟对象样本对应的交互场景样本数据;从所述交互场景样本数据包括的与位置相关的数据、虚拟对象属性数据和交互场景地图数据中,分别提取位置特征训练数据、属性特征训练数据和地图特征训练数据,得到模型训练数据;从所述交互场景样本数据包括的用户操作数据中,提取与所述模型训练数据相对应的动作标签与动作参数标签。
13.根据权利要求12所述的装置,其特征在于,所述获取模块,还用于根据所述交互场景样本数据包括的用户操作数据,定位操控区域;确定与定位的所述操控区域匹配的预设动作;从所述用户操作数据,提取与所述预设动作对应的动作参数;根据所述预设动作与所述动作参数,得到与所述模型训练数据相对应的动作标签与动作参数标签。
14.根据权利要求11所述的装置,其特征在于,所述调整模块,还用于按照最小化所述损失函数的方向,调整所述虚拟对象控制预测模型中公用编码层、动作预测层以及与所述动作标签对应的动作参数预测层的模型参数并继续训练,直至满足训练停止条件时结束训练。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
CN201811308994.8A 2018-11-05 2018-11-05 虚拟对象控制、模型训练方法、装置、存储介质和设备 Active CN109464803B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811308994.8A CN109464803B (zh) 2018-11-05 2018-11-05 虚拟对象控制、模型训练方法、装置、存储介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811308994.8A CN109464803B (zh) 2018-11-05 2018-11-05 虚拟对象控制、模型训练方法、装置、存储介质和设备

Publications (2)

Publication Number Publication Date
CN109464803A CN109464803A (zh) 2019-03-15
CN109464803B true CN109464803B (zh) 2022-03-04

Family

ID=65666918

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811308994.8A Active CN109464803B (zh) 2018-11-05 2018-11-05 虚拟对象控制、模型训练方法、装置、存储介质和设备

Country Status (1)

Country Link
CN (1) CN109464803B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109908591B (zh) * 2019-03-19 2022-08-09 网易(杭州)网络有限公司 一种虚拟对象的决策方法、模型构建方法和装置
CN110119815B (zh) * 2019-05-21 2021-08-13 深圳市腾讯网域计算机网络有限公司 模型训练方法、装置、存储介质及设备
CN110251942B (zh) * 2019-06-04 2022-09-13 腾讯科技(成都)有限公司 控制游戏场景中虚拟角色的方法及装置
CN110339569B (zh) * 2019-07-08 2022-11-08 深圳市腾讯网域计算机网络有限公司 控制游戏场景中虚拟角色的方法及装置
CN112819498B (zh) * 2019-11-18 2023-10-17 百度在线网络技术(北京)有限公司 转化率确定方法、装置、电子设备和存储介质
CN111340240A (zh) * 2020-03-25 2020-06-26 第四范式(北京)技术有限公司 实现自动机器学习的方法及装置
CN111598169B (zh) * 2020-05-18 2023-04-07 腾讯科技(深圳)有限公司 一种模型训练方法、游戏测试方法、模拟操作方法及装置
CN111401557B (zh) * 2020-06-03 2020-09-18 超参数科技(深圳)有限公司 智能体决策制定方法、ai模型训练方法、服务器及介质
CN112560622B (zh) * 2020-12-08 2023-07-21 中国联合网络通信集团有限公司 虚拟对象动作控制方法、装置及电子设备
CN113559500B (zh) * 2021-01-18 2023-07-21 腾讯科技(深圳)有限公司 动作数据的生成方法、装置、电子设备及存储介质
CN113476833A (zh) * 2021-06-10 2021-10-08 深圳市腾讯网域计算机网络有限公司 游戏动作识别方法、装置、电子设备和存储介质
CN115114537B (zh) * 2022-08-29 2022-11-22 成都航空职业技术学院 一种基于文件内容识别的互动虚拟教具实现方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104392174A (zh) * 2014-10-23 2015-03-04 腾讯科技(深圳)有限公司 应用程序动态行为的特征向量的生成方法及装置
CN104866699A (zh) * 2014-02-25 2015-08-26 上海征途信息技术有限公司 一种网络游戏智能化数据分析方法
CN107451854A (zh) * 2017-07-12 2017-12-08 阿里巴巴集团控股有限公司 确定用户类型的方法及装置、电子设备
CN108460366A (zh) * 2018-03-27 2018-08-28 百度在线网络技术(北京)有限公司 身份认证方法和装置
CN108499107A (zh) * 2018-04-16 2018-09-07 网易(杭州)网络有限公司 虚拟现实中虚拟角色的控制方法、装置及存储介质
CN108525305A (zh) * 2018-03-26 2018-09-14 广东欧珀移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN108629422A (zh) * 2018-05-10 2018-10-09 浙江大学 一种基于知识指导-战术感知的智能体学习方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EA014947B1 (ru) * 2008-12-29 2011-04-29 Виктор Никифорович БОРЩОВ Функциональная модель игровой системы как способ осуществления интерактивной sms-игры

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866699A (zh) * 2014-02-25 2015-08-26 上海征途信息技术有限公司 一种网络游戏智能化数据分析方法
CN104392174A (zh) * 2014-10-23 2015-03-04 腾讯科技(深圳)有限公司 应用程序动态行为的特征向量的生成方法及装置
CN107451854A (zh) * 2017-07-12 2017-12-08 阿里巴巴集团控股有限公司 确定用户类型的方法及装置、电子设备
CN108525305A (zh) * 2018-03-26 2018-09-14 广东欧珀移动通信有限公司 图像处理方法、装置、存储介质及电子设备
CN108460366A (zh) * 2018-03-27 2018-08-28 百度在线网络技术(北京)有限公司 身份认证方法和装置
CN108499107A (zh) * 2018-04-16 2018-09-07 网易(杭州)网络有限公司 虚拟现实中虚拟角色的控制方法、装置及存储介质
CN108629422A (zh) * 2018-05-10 2018-10-09 浙江大学 一种基于知识指导-战术感知的智能体学习方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"神经网络在即时战略游戏中的应用;万潭凯;《中国优秀硕士学位论文全文数据库信息科技辑》;20160915(第2016年09期);正文第1-3、26、33-45页 *

Also Published As

Publication number Publication date
CN109464803A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN109464803B (zh) 虚拟对象控制、模型训练方法、装置、存储介质和设备
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
CN110889381B (zh) 换脸方法、装置、电子设备及存储介质
US11741668B2 (en) Template based generation of 3D object meshes from 2D images
US20190279075A1 (en) Multi-modal image translation using neural networks
CN111741330B (zh) 一种视频内容评估方法、装置、存储介质及计算机设备
CN109529338B (zh) 对象控制方法、装置、电子设计及计算机可读介质
CN110234018B (zh) 多媒体内容描述生成方法、训练方法、装置、设备及介质
CN111414946B (zh) 基于人工智能的医疗影像的噪声数据识别方法和相关装置
CN111589157B (zh) Ai模型使用方法、设备及存储介质
CN113704419A (zh) 对话处理方法及装置
CN116392812A (zh) 动作生成方法及虚拟人物动画生成方法
CN111310918B (zh) 一种数据处理方法、装置、计算机设备及存储介质
CN116977457A (zh) 一种数据处理方法、设备以及计算机可读存储介质
CN113052257B (zh) 一种基于视觉转换器的深度强化学习方法及装置
CN117132864A (zh) 多模态输入的数字人物生成方法、装置、设备及存储介质
CN116966574A (zh) 非玩家角色的交互处理方法、装置、电子设备及存储介质
CN114333069B (zh) 对象的姿态处理方法、装置、设备及存储介质
CN116975214A (zh) 文本生成方法、装置、存储介质及计算机设备
WO2022127603A1 (zh) 一种模型处理方法及相关装置
CN112973130B (zh) 虚拟场景的回放模型构建方法、装置、设备及存储介质
JP2024511103A (ja) 近似値に基づいて画像又はビデオの品質を評価する方法及び装置、第1のモデルの訓練方法及び装置、電子機器、記憶媒体、並びにコンピュータプログラム
CN116414951A (zh) 智能对话方法、模型训练方法、装置、存储介质及设备
CN117540221B (zh) 图像处理方法和装置、存储介质及电子设备
CN115564803B (zh) 一种动画处理方法、装置、设备、存储介质及产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant