CN111841018A - 模型训练方法、模型使用方法、计算机设备及存储介质 - Google Patents
模型训练方法、模型使用方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111841018A CN111841018A CN202010496299.XA CN202010496299A CN111841018A CN 111841018 A CN111841018 A CN 111841018A CN 202010496299 A CN202010496299 A CN 202010496299A CN 111841018 A CN111841018 A CN 111841018A
- Authority
- CN
- China
- Prior art keywords
- model
- coding
- action
- trained
- target
- 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.)
- Granted
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/6027—Methods for processing data by generating or executing the game program using adaptive systems learning from user actions, e.g. for skill level adjustment
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种模型训练方法、模型使用方法、计算机设备及存储介质,本申请实施例可以获取训练样本数据,从所述训练样本数据中提取观察变量;获取所述观察变量的真实编码类型,以及获取智能体的真实动作;通过编码模型对所述观察变量进行编码,得到预测编码类型;根据所述真实编码类型与所述预测编码类型对所述编码模型的参数进行调整,得到训练后的编码模型;通过训练后的编码模型将所述观察变量映射为高维特征;通过所述分类模型基于所述高维特征确定智能体的预测动作;根据所述真实动作与所述预测动作对所述分类模型的参数进行调整,得到训练后的分类模型。提高了对模型训练的可靠性和准确性。
Description
技术领域
本申请涉及数据处理技术领域,具体涉及一种模型训练方法、模型使用方法、计算机设备及存储介质。
背景技术
随着人工智能(Artificial Intelligence,AI)技术的快速发展,人工智能技术被广泛的应用于各个领域,例如,在游戏娱乐领域,通过人工智能技术可以实现各类游戏中虚拟用户与真人之间的对局。现有技术中,人工智能在游戏的应用中,通常会用监督学习(supervised learning)或者强化学习(reinforcement learning)直接学习智能体对应的的动作(action),现有技术方式是一种端到端的学习方式,使得模型处于一种完全黑盒的状态,学到的东西不具有意义,对内部结构无法理解,降低了模型训练的准确性。以及对于双方对抗的游戏,随着对抗方数量的增加导致信息量剧增,以及针对固定的地图设计,不能灵活的应对对抗方数量增加及地图变化需求等,使得模型计算结果的准确性较低。
发明内容
本申请实施例提供一种模型训练方法、模型使用方法、计算机设备及存储介质,可以提高对模型训练的可靠性和准确性。
第一方面,本申请实施例提供了一种模型训练方法,包括:
获取训练样本数据;
从所述训练样本数据中提取观察变量;
获取所述观察变量的真实编码类型,以及获取智能体的真实动作;
通过编码模型对所述观察变量进行编码,得到预测编码类型;
根据所述真实编码类型与所述预测编码类型对所述编码模型的参数进行调整,得到训练后的编码模型;
通过训练后的编码模型将所述观察变量映射为高维特征;
通过所述分类模型基于所述高维特征确定智能体的预测动作;
根据所述真实动作与所述预测动作对所述分类模型的参数进行调整,得到训练后的分类模型。
第二方面,本申请实施例还提供了一种模型训练方法,包括:
获取训练样本数据,从所述训练样本数据中提取观察变量;
获取所述观察变量的真实编码类型,以及获取智能体的真实动作;
通过编码模型将所述观察变量映射为高维特征,将所述高维特征传输至分类模型;
通过所述编码模型基于所述高维特征对所述观察变量进行编码,得到预测编码类型;
通过所述分类模型基于所述高维特征确定智能体的预测动作;
根据所述真实编码类型与所述预测编码类型对所述编码模型的参数进行调整,得到训练后的编码模型;
根据所述真实动作与所述预测动作对所述分类模型的参数进行调整,得到训练后的分类模型。
第三方面,本申请实施例还提供了一种模型使用方法,应用于服务器,所述模型为采用本申请实施例提供的任一种模型训练方法进行训练得到的模型,并部署在所述服务器中;所述方法包括:
获取运行环境中的当前帧数据;
从所述当前帧数据中提取目标观察变量;
通过训练后的编码模型将所述目标观察变量映射为目标高维特征;
通过所述训练后的分类模型基于所述目标高维特征确定所述当前帧数据中目标智能体的动作;
控制所述目标智能体执行所述动作。
第四方面,本申请实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行本申请实施例提供的任一种模型训练方法。
第五方面,本申请实施例还提供了一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序被处理器加载,以执行本申请实施例提供的任一种模型训练方法。
本申请实施例可以获取训练样本数据,从训练样本数据中提取观察变量;获取观察变量的真实编码类型,以及获取智能体的真实动作;通过编码模型对观察变量进行编码,得到预测编码类型,然后根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型;其次,可以通过训练后的编码模型将观察变量映射为高维特征,通过分类模型基于高维特征确定智能体的预测动作;此时可以根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。该方案可以对观察变量进行有效编码,从而让编码模型的训练学习具有意义,以及通过无监督的学习,对编码模型学习到的特征更具有表达性,能更好的表示智能体的观察变量,并通过编码模型输出的高维特征用于分类模型对智能体动作的预测训练,提高了对模型训练的可靠性和准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的模型训练方法的流程示意图;
图2是本申请实施例提供的模型训练的结构示意图;
图3是本申请实施例提供的模型训练方法的另一流程示意图;
图4是本申请实施例提供的模型训练的另一结构示意图;
图5是本申请实施例提供的模型使用方法的流程示意图;
图6是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本申请的实施例提供了一种模型训练方法、模型使用方法、计算机设备及存储介质。其中,该模型训练方法可以应用于计算机设备中,该计算机设备可以包括智能手机、平板电脑、掌上电脑、笔记本电脑或者台式电脑等终端,该计算机设备还可以是服务器。
本申请实施例提供的模型训练方法涉及人工智能中的机器学习技术等技术,下面先对人工智能技术和机器学习技术进行说明。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、以及机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、以及算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、以及式教学习等技术。
请参阅图1,图1是本申请一实施例提供的模型训练方法的流程示意图。该模型训练方法可以包括步骤S101至步骤S107等,具体可以如下:
S101、获取训练样本数据,从训练样本数据中提取观察变量。
其中,训练样本数据可以根据实际应用场景进行灵活设置,例如,在球球大作战的游戏的应用场景,该训练样本数据可以包括多组,每组为一局完整的球球大作战游戏录制的视频,对于王者荣耀的游戏应用场景,该训练样本数据可以包括多组,每组为一局完整的王者荣耀游戏录制的视频。该训练样本数据可以是由人工收集得到,或者是由计算机设备自动生成。
例如,可以通过预设的人工智能模型自动生成训练样本数据,该预设的人工智能模型可以是神经网络模型或其他模型等,具体内容在此处不作限定。在需要训练预存的人工智能模型时,可以调用本局游戏中每个参与方各自对应的人工智能模型,控制每个参与方执行相应的样本生成操作,能够在样本生成操作结束后收集到训练样本数据。或者,可以从预设的服务器上下载训练样本数据,或者可以从计算机设备的本端数据库中获取预先存储的训练样本数据,等等,训练样本数据可以由多帧数据组成。
在得到训练样本数据后,可以从训练样本数据中提取观察变量,例如,可以每一帧数据中提取观察变量。在一些实施方式中,观察变量可以包括智能体的位置、对抗方的位置、以及合作方的位置等。其中,智能体可以是计算机设备控制的游戏角色,智能体的位置可以是智能体在当前帧数据对应的游戏地图中的当前位置;对抗方可以是智能体的敌人,对抗方的位置可以是敌人在当前帧数据对应的游戏地图中的当前位置;合作方可以是智能体的队友,合作方的位置可以是队友在当前帧数据对应的游戏地图中的当前位置。
其中,可以将观察变量定义为高阶数据(也可以称为高阶抽象数据),例如,动作游戏中一般有击杀敌人以及团队合作等高级技能,将高级技能所对应的智能体的观察(observation)定义为高阶数据,即高阶数据可以包括智能体的位置、敌人的位置、以及队友的位置等信息。
需要说明的是,为了提高模型训练的可靠性,可以从训练样本视频中筛选出有效帧数据,有效帧数据的筛选可以是自动筛选或人工筛选等,例如,为了提高有效帧数据筛选的便捷性,可以基于分析指标自动筛选有效帧数据,其中,分析指标可以根据实际需要进行灵活设置,例如,分析指标可以包括参团率以及不合作率等,参团率是指智能体与队友协作的概率,不合作率是指智能体与队友不合作的概率。具体地,可以对训练样本视频中的各项分析指标进行统计,然后根据统计得到的分析指标从训练样本视频中筛选出有效帧数据,例如,可以筛选出参团率较高的数据帧作为有效帧数据,将不合作率较高的数据帧剔除。在得到有效帧数据后,可以从每帧有效帧数据中分别提取观察变量。
S102、获取观察变量的真实编码类型,以及获取智能体的真实动作。
在得到观察变量后,可以获取观察变量的真实编码类型,在一些实施方式中,观察变量的真实编码类型可以包括合作方的个数、对抗方的个数、打击对抗方的次数、以及团队合作的次数。其中,合作方的个数可以是队友的个数,对抗方的个数可以是敌人的个数,打击对抗方的次数可以是击杀敌人的次数,团队合作的次数可以是智能体与队友之间的团队合作的次数。该真实编码类型可以由计算机设备自动统计得到,或者由人工统计得到。
以及,获取智能体的真实动作,该真实动作可以包括运行方向和动作类型等,运行方向可以包括向前、向后、向左或向右等方向运行,以球球大作战游戏为例,动作类型可以包括吃孢子、吃粮食、***(例如将一个球***为两个球)、吐孢子或移动等动作,以王者荣耀为例,动作类型可以包括击杀敌人、发射A技能、发射B技能或移动等动作。该真实动作可以由计算机设备自动统计得到,或者由人工统计得到。
S103、通过编码模型对观察变量进行编码,得到预测编码类型。
其中,编码模型的类型的可以根据实际需要进行灵活设置,例如,该编码模型可以是深度神经网络(Deep Neural Network,DNN)或卷积神经网络(Convolutional NeuralNetworks,CNN)等,该编码模型可以是无监督的编码模型。
编码模型可以对高阶数据(即观察变量)进行分类学习,来对高阶数据编码,例如对智能体击杀敌人的观察(observation)学习其分类击杀敌人的次数,来达到对高阶数据的编码学习的目标。具体地,可以将击杀敌人技能分类为:击杀一个敌人、击杀二个敌人、以及击杀三个敌人等多类,按照击杀敌人的次数分类:击杀敌人一次、击杀敌人两次、以及击杀敌人三次等多类,对团队合作技能可以按照交互次数分类(即按照团队合作的次数来分类)为:一次交互、两次交互、以及三次交互等多类,也可以按照团队和敌人的个数进行分类等,还可以对智能体的位置进行分类:分为左边、右边、以及中间等。
在得到观察变量后,可以通过编码模型对观察变量进行编码,得到预测编码类型,由此便可以对所有的观察变量生成的对应的标注。例如,可以通过编码模型将观察变量映射为高维特征,将高维特征映射为对应的高阶数据的标注,如队友个数或敌人个数等,去优化编码模型的学习。
在一些实施方式中,观察变量的预测编码类型可以包括合作方的个数、对抗方的个数、打击对抗方的次数、以及团队合作的次数。其中,合作方的个数可以是队友的个数,对抗方的个数可以是敌人的个数,打击对抗方的次数可以是击杀敌人的次数,团队合作的次数可以是智能体与队友之间的团队合作的次数。
S104、根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型。
其中,通过无监督学习,编码模型对观察变量生成的特征具有很好的表达性,例如对智能体的形态、数量或队友的形态等具有很好的表达;对场景的认知也具有很好的表达击,例如杀场景或合作场景等,以便用良好的特征便可以去学习观察变量对应的动作,实现了高阶抽象数据的无监督处理,使得编码模型的学习更有意义。
在一些实施方式中,根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型可以包括:通过第一损失函数对真实编码类型和预测编码类型进行收敛,以调整编码模型的参数至合适值,得到训练后的编码模型。
在得到真实编码类型与预测编码类型后,可以根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型。为了提高模型训练的准确性,可以通过第一损失函数对真实编码类型和预测编码类型进行收敛,以调整编码模型的参数至合适值,得到训练后的编码模型。其中,第一损失函数可以根据实际需要进行灵活设置。例如,如图2所示,第一损失函数可以是辅助损失函数,在通过编码模型基于训练样本数据中的观察变量得到预测编码类型后,可以通过辅助损失函数对无监督标注的真实编码类型和预测编码类型进行收敛,以调整编码模型的参数至合适值,得到训练后的编码模型,完成阶段1的无监督学习,通过无监督的处理,对编码模型学习到的特征,更具有表达性,能更好的表示智能体的观察变量。实现了将击杀敌人的次数、团队合作的次数、敌人的个数以及队友的个数等高阶数据抽象出来,作为观察变量的监督学习信号,单独对编码模型进行学习。这样可以让编码模型更有意义,如对队友的个数以及敌人的个数的学习,可以让编码模型对观察变量中的单个个体进行有效的编码;对击杀敌人的个数学习,可以让编码模型对个体有效编码,以及击杀场景有效的编码;对团队的合作的学习,可以让编码模型对团队合作场景有效的编码,从而让编码模型学习具有意义。
S105、通过训练后的编码模型将观察变量映射为高维特征。
在得到训练后的编码模型后,进入阶段2的智能体的动作学习,此时可以通过训练后的编码模型将观察变量映射为高维特征,其中,高维特征可以是观察变量的特性信息,以便使用阶段1训练后的编码模型的输出特征来训练分类模型。
S106、通过分类模型基于高维特征确定智能体的预测动作。
其中,分类模型的类型的可以根据实际需要进行灵活设置,例如,该分类模型可以是DNN或CNN等,该编码模型可以是无监督的编码模型。根据高阶数据的抽象结构,如队友的个数以及敌人的个数等作为标注去学习编码模型,让编码模型可以学习到更好的抽象特征,具有更好的表达能力,以便使用学习好的编码特征,让分类模型去学习,以便分类模型用良好的特征便可以去学习观察变量对应的动作。具体地,在得到高维特征后,可以通过分类模型基于高维特征确定智能体的预测动作。该预测动作可以包括运行方向和动作类型等,运行方向可以包括向前、向后、向左或向右等方向运行,以球球大作战游戏为例,动作类型可以包括吃孢子、吃粮食、***(例如将一个球***为两个球)、吐孢子或移动等动作,以王者荣耀为例,动作类型可以包括击杀敌人、发射A技能、发射B技能或移动等动作。
S107、根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。
在一些实施方式中,根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型可以包括:通过第二损失函数对真实动作与预测动作进行收敛,以调整分类模型的参数至合适值,得到训练后的分类模型。
在得到真实动作与预测动作后,可以根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。为了提高模型训练的准确性,可以通过第二损失函数对真实动作与预测动作进行收敛,以调整分类模型的参数至合适值,得到训练后的分类模型,其中,第二损失函数可以根据实际需要进行灵活设置。例如,如图2所示,第二损失函数可以是分类损失函数,在通过分类模型基于训练后的编码模型输出的高维特征得到预测动作后,可以通过分类损失函数对预测动作和真实动作进行收敛,以调整分类模型的参数至合适值,得到训练后的分类模型,完成阶段2的训练。
在一些实施方式中,模型训练方法还可以包括:获取运行环境中的当前帧数据;从当前帧数据中提取目标观察变量;通过训练后的编码模型将目标观察变量映射为目标高维特征;通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作;控制目标智能体执行动作。
在得到训练后的编码模型和训练后的分类模型后,可以使用训练后的编码模型和训练后的分类模型进行对局。具体地,可以获取运行环境中的当前帧数据,其中,运行环境及其对应的当前帧数据可以根据实际应用场景进行灵活设置,具体内容在此处不作限定。例如,在球球大作战游戏、王者荣耀游戏或Agar.io游戏中,可以获取游戏运行环境中的当前帧数据,由于游戏运行的过程中,可以录制形成视频数据,因此,可以每间隔预设时间获取视频数据的当前帧数据,该预设时间可以根据实际需要进行灵活设置,例如,该预设时间可以设置为1秒或0.1秒等。以球球大作战游戏为例,该当前帧数据可以包括环境地图、智能体的位置、智能体移动的速度、队友的位置、队友移动的速度、敌人的位置、敌人移动的速度、孢子的位置、孢子的重量、粮食的位置、粮食的重量、以及游戏时间等。
以下将以IO类游戏中的Agar.io游戏为例,玩家可以自由控制自己的球,类似大鱼吃小鱼,可以控制自己的大球吞并比自己小的球、粮食或者刺球等。同时,玩家还可以采用***和吐孢子等操作,和队友配合,将多个小球合并成大球;或者通过***操作,吃掉比自己的球小的敌人的球,游戏目的是尽可能的通过吃资源和吞噬敌人的球让自己队伍的球的面积变大。其游戏场景可以包括:玩家可以通过摇杆控制多个球,例如玩家1可以控制标号为1的3个球,标号为1的3个球即为玩家1的控制单位;玩家的视野不固定,可以随玩家球的大小、数目和位置变化而改变;每个玩家只能看到自己视野内的游戏场景,例如玩家4的视野小于玩家1的视野,且玩家4看不到玩家1、玩家2、玩家5和6;不同玩家可以组成多个队伍,每局游戏至少有2个队伍,例如玩家1和玩家2组成队伍A,玩家3和玩家4组成队B,玩家5和玩家6组成队伍C;游戏有不同类型的资源,如粮食、以及刺球等,玩家可以控制自己的球吃资源从而会获得面积的增长;游戏时长固定在10分钟或12分钟,最终总面积最大的队伍获得胜利。其中,IO游戏有如下特点:多人即时对战,需要跟其他玩家产生竞技关系以获取乐趣;即开即玩,没有永久的成长***,每局都是重新开始;越成长越受限,等级越高,则在某一方面越会存在缺陷,比如体积越大移动速度越缓慢;简单的成长***:获取资源以及击杀对手。
在得到当前帧数据后,可以从当前帧数据中提取目标观察变量,目标观察变量可以包括智能体的位置、对抗方的位置、以及合作方的位置等,其中,目标智能体可以是计算机设备控制的游戏角色,目标智能体的位置可以是智能体在当前帧数据对应的游戏地图中的当前位置;对抗方可以是智能体的敌人,对抗方的位置可以是敌人在当前帧数据对应的游戏地图中的当前位置;合作方可以是智能体的队友,合作方的位置可以是队友在当前帧数据对应的游戏地图中的当前位置。
然后,可以通过训练后的编码模型将目标观察变量映射为目标高维特征,其中,目标高维特征可以是观察变量的特性信息。此时,可以通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作,目标智能体的动作可以包括运行方向和动作类型等,运行方向可以包括向前、向后、向左或向右等方向运行,以球球大作战游戏为例,动作类型可以包括吃孢子、吃粮食、***、吐孢子或移动等动作,以王者荣耀为例,动作类型可以包括击杀敌人、发射A技能、发射B技能或移动等动作。最后可以控制目标智能体执行该动作。
需要说明的是,为了提高模型的可靠性,在部署训练后的编码模型和训练后的分类模型(为了方便描述,以下将训练后的编码模型和训练后的分类模型称为训练后的模型)之前,可以对训练得到的模型进行测评,例如,可以从两方面进行评测:一方面,拟人水平:可以利用训练后的模型与人类对战,然后可以在测评数据集中统计得到训练后的模型预测的准确率,用于描述该训练后的模型的拟人水平。当准确率大于或等于第一预设阈值时,说明训练后的模型的性能比较可靠,该第一预设阈值可以根据实际需要进行灵活设置,当准确率小于第一预设阈值时,说明训练后的模型的性能较差,需要重新对训练后的模型进行训练,直至训练后的模型预测的准确率大于或等于第一预设阈值。另一方面,难度水平:可以利用训练后的模型与人类对战,然后可以在测评结果中统计训练后的模型对战的胜率,当胜率大于或等于第二预设阈值时,说明训练后的模型的性能较好,该第二预设阈值可以根据实际需要进行灵活设置,当胜率小于第二预设阈值时,说明训练后的模型的性能较差,需要重新对训练后的模型进行训练,直至训练后的模型的胜率大于或等于第二预设阈值。
在得到训练后的模型后,可以根据策略部署训练后的模型到合适玩家的对局中,其应用场景可以包括:1.新手教学:指导新手玩家如何将自己控制的单位发挥到最大的价值,以赢取收益。2.掉线托管:在玩家掉线的情况下帮助玩家执行合理动作以最大化本局对弈的收益或最小化本局对弈的损失,并且避免影响其他玩家的体验。3.人机挑战:对于高水平的玩家,接入高水平训练后的模型让玩家挑战得分,增加活跃度。
需要说明的是,可以每完成一次动作就获取下一帧数据作为当前帧数据,例如,当游戏开始时,可以获取游戏运行环境中的第一帧数据作为当前帧数据,从第一帧数据中提取目标观察变量等,通过训练后的编码模型将目标观察变量映射为目标高维特征,通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作,控制目标智能体执行动作等。然后在动作执行完成后,获取游戏运行环境中的第二帧数据作为当前帧数据,从第二帧数据中提取目标观察变量,以便控制目标智能体执行动作;依次类推,直至游戏结束。
或者,可以每间隔1秒钟获取下一帧数据作为当前帧数据,例如,当游戏计时开始时,可以获取游戏运行环境中的第一帧数据作为当前帧数据,从第一帧数据集中提取目标观察变量等,通过训练后的编码模型将目标观察变量映射为目标高维特征,通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作,控制目标智能体执行动作等。然后在游戏开始1秒钟时,获取游戏运行环境中的第二帧数据作为当前帧数据,从第二帧数据中提取目标观察变量,以便控制目标智能体执行动作;在游戏开始2秒钟时,获取游戏运行环境中的第三帧数据作为当前帧数据,从第三帧数据中提取目标观察变量,以便控制目标智能体执行动作;依次类推,直至游戏结束。
需要说明的是,可以实现对训练后的模型进行在线部署,例如,可以将训练后的模型部署在AI玩家接入服务,在线上环境中,无论是玩家客户端还是AI智能体(即玩家),均以一样的协议接入游戏服务器。游戏服务器往往以帧同步的方式,发送场景信息到客户端和玩家接入服务集群,各端得到动作指令后,反传回游戏服务器。游戏服务器最终以固定方式去合并客户端玩家和AI玩家发到服务器的动作指令,并进行游戏进程迭代。本实施中训练后的模型,可以对IO游戏的单智能体感知和动作建模,采用基于图像和单位的建模方式,决策粒度细,适用场景丰富;以及适合IO类游戏多人组队场景,实际体验对队伍数不敏感;并且适合玩家视野变化的情况,对游戏视野变化场景可以灵活处理,适用于不同地图大小,具有可迁移性;此外在线接入方案,在线与玩家以相同协议接入的方式,使得接入灵活,可以有效应用于各种IO类游戏的掉线托管、人机对战、以及人机混合等应用场景。
本申请实施例可以获取训练样本数据,从训练样本数据中提取观察变量;获取观察变量的真实编码类型,以及获取智能体的真实动作;通过编码模型对观察变量进行编码,得到预测编码类型,然后根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型;其次,可以通过训练后的编码模型将观察变量映射为高维特征,通过分类模型基于高维特征确定智能体的预测动作;此时可以根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。该方案可以对观察变量进行有效编码,从而让编码模型的训练学习具有意义,以及通过无监督的学习,对编码模型学习到的特征更具有表达性,能更好的表示智能体的观察变量,并通过编码模型输出的高维特征用于分类模型对智能体动作的预测训练,提高了对模型训练的可靠性和准确性。
请参阅图3,图3是本申请一实施例提供的模型训练方法的流程示意图。该模型训练方法可以包括步骤S201至步骤S207等,具体可以如下:
S201、获取训练样本数据,从训练样本数据中提取观察变量。
S202、获取观察变量的真实编码类型,以及获取智能体的真实动作。
其中,步骤S201与上述步骤S101类似,步骤S202与上述步骤S102类似,可以参见上述步骤S101和步骤S102的详细描述,此处不再赘述。
S203、通过编码模型将观察变量映射为高维特征,将高维特征传输至分类模型。
其中,编码模型的类型的可以根据实际需要进行灵活设置,例如,该编码模型可以是DNN或CNN等,该编码模型可以是无监督的编码模型。在得到观察变量后,可以通过编码模型将观察变量映射为高维特征,将高维特征传输至分类模型,高维特征可以是观察变量的特性信息。
S204、通过编码模型基于高维特征对观察变量进行编码,得到预测编码类型。
编码模型可以对高阶数据(即观察变量)进行分类学习,来对高阶数据编码,例如对智能体击杀敌人的观察(observation)学习其分类击杀敌人的次数,来达到对高阶数据的编码学习的目标。具体地,可以将击杀敌人技能分类为:击杀一个敌人、击杀二个敌人、以及击杀三个敌人等多类,按照击杀敌人的次数分类:击杀敌人一次、击杀敌人两次、以及击杀敌人三次等多类,对团队合作技能可以按照交互次数分类(即按照团队合作的次数来分类)为:一次交互、两次交互、以及三次交互等多类,也可以按照团队和敌人的个数进行分类等,还可以对智能体的位置进行分类:分为左边、右边、以及中间等。
在得到高维特征后,可以通过编码模型基于高维特征对观察变量进行编码,得到预测编码类型,由此便可以对所有的观察变量生成的对应的标注。例如,可以通过编码模型将观察变量映射为高维特征,将高维特征映射为对应的高阶数据的标注,如队友个数或敌人个数等,去优化编码模型的学习。
在一些实施方式中,观察变量的预测编码类型可以包括合作方的个数、对抗方的个数、打击对抗方的次数、以及团队合作的次数。其中,合作方的个数可以是队友的个数,对抗方的个数可以是敌人的个数,打击对抗方的次数可以是击杀敌人的次数,团队合作的次数可以是智能体与队友之间的团队合作的次数。
S205、通过分类模型基于高维特征确定智能体的预测动作。
其中,分类模型的类型的可以根据实际需要进行灵活设置,例如,该分类模型可以是DNN或CNN等,该编码模型可以是无监督的编码模型。根据高阶数据的抽象结构,如队友的个数以及敌人的个数等作为标注去学习编码模型,让编码模型可以学习到更好的抽象特征,具有更好的表达能力,以便使用学习好的编码特征,让分类模型去学习,以便分类模型用良好的特征便可以去学习观察变量对应的动作。具体地,在得到高维特征后,可以通过分类模型基于高维特征确定智能体的预测动作。该预测动作可以包括运行方向和动作类型等,运行方向可以包括向前、向后、向左或向右等方向运行,以球球大作战游戏为例,动作类型可以包括吃孢子、吃粮食、***(例如将一个球***为两个球)、吐孢子或移动等动作,以王者荣耀为例,动作类型可以包括击杀敌人、发射A技能、发射B技能或移动等动作。
S206、根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型。
其中,通过无监督学习,编码模型对观察变量生成的特征具有很好的表达性,例如对智能体的形态、数量或队友的形态等具有很好的表达;对场景的认知也具有很好的表达击,例如杀场景或合作场景等,以便用良好的特征便可以去学习观察变量对应的动作,实现了高阶抽象数据的无监督处理,使得编码模型的学习更有意义。
在一些实施方式中,根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型可以包括:通过第一损失函数对真实编码类型和预测编码类型进行收敛,以调整编码模型的参数至合适值,得到训练后的编码模型。
在得到真实编码类型与预测编码类型后,可以根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型。为了提高模型训练的准确性,可以通过第一损失函数对真实编码类型和预测编码类型进行收敛,以调整编码模型的参数至合适值,得到训练后的编码模型。其中,第一损失函数可以根据实际需要进行灵活设置。例如,如图4所示,第一损失函数可以是辅助损失函数,图4中可以构建一个多任务学习(Multi-taskLearning)的网络模型,将无监督标注的学习,作为辅助损失函数,监督编码模型的学习,让编码模型的学习具有抽象的特征表示。观察变量作为输入,送给编码模型,编码模型的输出分别送给分类模型和辅助损失函数学习。此时总损失函数L=La(θ)+Lc(θ),其中La(θ)为辅助损失函数,Lc(θ)为分类损失函数。在通过编码模型基于训练样本数据中的观察变量得到预测编码类型后,可以通过辅助损失函数对无监督标注的真实编码类型和预测编码类型进行收敛,以调整编码模型的参数至合适值,得到训练后的编码模型,完无监督学习,通过无监督的处理,对编码模型学习到的特征,更具有表达性,能更好的表示智能体的观察变量。实现了将击杀敌人的次数、团队合作的次数、敌人的个数以及队友的个数等高阶数据抽象出来,作为观察变量的监督学习信号,单独对编码模型进行学习。这样可以让编码模型更有意义,如对队友的个数以及敌人的个数的学习,可以让编码模型对观察变量中的单个个体进行有效的编码;对击杀敌人的个数学习,可以让编码模型对个体有效编码,以及击杀场景有效的编码;对团队的合作的学习,可以让编码模型对团队合作场景有效的编码,从而让编码模型学习具有意义。
S207、根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。
在一些实施方式中,根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型可以包括:通过第二损失函数对真实动作与预测动作进行收敛,以调整分类模型的参数至合适值,得到训练后的分类模型。
在得到真实动作与预测动作后,可以根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。为了提高模型训练的准确性,可以通过第二损失函数对真实动作与预测动作进行收敛,以调整分类模型的参数至合适值,得到训练后的分类模型,其中,第二损失函数可以根据实际需要进行灵活设置。例如,如图4所示,第二损失函数可以是分类损失函数,在通过分类模型基于编码模型输出的高维特征得到预测动作后,可以通过分类损失函数对预测动作和真实动作进行收敛,以调整分类模型的参数至合适值,得到训练后的分类模型。
在一些实施方式中,模型训练方法还可以包括:获取运行环境中的当前帧数据;从当前帧数据中提取目标观察变量;通过训练后的编码模型将目标观察变量映射为目标高维特征;通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作;控制目标智能体执行动作。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本申请实施例可以获取训练样本数据,从训练样本数据中提取观察变量;获取观察变量的真实编码类型,以及获取智能体的真实动作;通过编码模型将观察变量映射为高维特征,将高维特征传输至分类模型;通过编码模型基于高维特征对观察变量进行编码,得到预测编码类型;通过分类模型基于高维特征确定智能体的预测动作;根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型;根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。该方案可以对观察变量进行有效编码,从而让编码模型的训练学习具有意义,以及通过无监督的学习,对编码模型学习到的特征更具有表达性,能更好的表示智能体的观察变量,并通过编码模型输出的高维特征用于分类模型对智能体动作的预测训练,提高了对模型训练的可靠性和准确性。
请参阅图5,图5是本申请一实施例提供的模型使用方法的流程示意图。该模型应用方法可以应用于服务器,该模型可以包括编码模型和分类模型等模型,编码模型和分类模型等模型为采用上述模型训练方法进行训练得到的模型,并部署在所述服务器中,该模型训练方法可以包括步骤S301至步骤S305等,具体可以如下:
S301、获取运行环境中的当前帧数据。
S302、从当前帧数据中提取目标观察变量。
S303、通过训练后的编码模型将目标观察变量映射为目标高维特征。
S304、通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作。
S305、控制目标智能体执行动作。
在得到训练后的编码模型和训练后的分类模型后,可以使用训练后的编码模型和训练后的分类模型进行对局。具体地,可以获取运行环境中的当前帧数据,其中,运行环境及其对应的当前帧数据可以根据实际应用场景进行灵活设置,具体内容在此处不作限定。例如,在球球大作战游戏、王者荣耀游戏或Agar.io游戏中,可以获取游戏运行环境中的当前帧数据,由于游戏运行的过程中,可以录制形成视频数据,因此,可以每间隔预设时间获取视频数据的当前帧数据,该预设时间可以根据实际需要进行灵活设置,例如,该预设时间可以设置为1秒或0.1秒等。以球球大作战游戏为例,该当前帧数据可以包括环境地图、智能体的位置、智能体移动的速度、队友的位置、队友移动的速度、敌人的位置、敌人移动的速度、孢子的位置、孢子的重量、粮食的位置、粮食的重量、以及游戏时间等。
在得到当前帧数据后,可以从当前帧数据中提取目标观察变量,目标观察变量可以包括智能体的位置、对抗方的位置、以及合作方的位置等,其中,目标智能体可以是计算机设备控制的游戏角色,目标智能体的位置可以是智能体在当前帧数据对应的游戏地图中的当前位置;对抗方可以是智能体的敌人,对抗方的位置可以是敌人在当前帧数据对应的游戏地图中的当前位置;合作方可以是智能体的队友,合作方的位置可以是队友在当前帧数据对应的游戏地图中的当前位置。
然后,可以通过训练后的编码模型将目标观察变量映射为目标高维特征,其中,目标高维特征可以是观察变量的特性信息。此时,可以通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作,目标智能体的动作可以包括运行方向和动作类型等,运行方向可以包括向前、向后、向左或向右等方向运行,以球球大作战游戏为例,动作类型可以包括吃孢子、吃粮食、***、吐孢子或移动等动作,以王者荣耀为例,动作类型可以包括击杀敌人、发射A技能、发射B技能或移动等动作。最后可以控制目标智能体执行该动作。
需要说明的是,为了提高模型的可靠性,在部署训练后的编码模型和训练后的分类模型(为了方便描述,以下将训练后的编码模型和训练后的分类模型称为训练后的模型)之前,可以对训练得到的模型进行测评,例如,可以从两方面进行评测:一方面,拟人水平:可以利用训练后的模型与人类对战,然后可以在测评数据集中统计得到训练后的模型预测的准确率,用于描述该训练后的模型的拟人水平。当准确率大于或等于第一预设阈值时,说明训练后的模型的性能比较可靠,该第一预设阈值可以根据实际需要进行灵活设置,当准确率小于第一预设阈值时,说明训练后的模型的性能较差,需要重新对训练后的模型进行训练,直至训练后的模型预测的准确率大于或等于第一预设阈值。另一方面,难度水平:可以利用训练后的模型与人类对战,然后可以在测评结果中统计训练后的模型对战的胜率,当胜率大于或等于第二预设阈值时,说明训练后的模型的性能较好,该第二预设阈值可以根据实际需要进行灵活设置,当胜率小于第二预设阈值时,说明训练后的模型的性能较差,需要重新对训练后的模型进行训练,直至训练后的模型的胜率大于或等于第二预设阈值。
在得到训练后的模型后,可以根据策略部署训练后的模型到合适玩家的对局中,其应用场景可以包括:1.新手教学:指导新手玩家如何将自己控制的单位发挥到最大的价值,以赢取收益。2.掉线托管:在玩家掉线的情况下帮助玩家执行合理动作以最大化本局对弈的收益或最小化本局对弈的损失,并且避免影响其他玩家的体验。3.人机挑战:对于高水平的玩家,接入高水平训练后的模型让玩家挑战得分,增加活跃度。
需要说明的是,可以每完成一次动作就获取下一帧数据作为当前帧数据,例如,当游戏开始时,可以获取游戏运行环境中的第一帧数据作为当前帧数据,从第一帧数据中提取目标观察变量等,通过训练后的编码模型将目标观察变量映射为目标高维特征,通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作,控制目标智能体执行动作等。然后在动作执行完成后,获取游戏运行环境中的第二帧数据作为当前帧数据,从第二帧数据中提取目标观察变量,以便控制目标智能体执行动作;依次类推,直至游戏结束。
或者,可以每间隔1秒钟获取下一帧数据作为当前帧数据,例如,当游戏计时开始时,可以获取游戏运行环境中的第一帧数据作为当前帧数据,从第一帧数据集中提取目标观察变量等,通过训练后的编码模型将目标观察变量映射为目标高维特征,通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作,控制目标智能体执行动作等。然后在游戏开始1秒钟时,获取游戏运行环境中的第二帧数据作为当前帧数据,从第二帧数据中提取目标观察变量,以便控制目标智能体执行动作;在游戏开始2秒钟时,获取游戏运行环境中的第三帧数据作为当前帧数据,从第三帧数据中提取目标观察变量,以便控制目标智能体执行动作;依次类推,直至游戏结束。
需要说明的是,可以实现对训练后的模型进行在线部署,例如,可以将训练后的模型部署在AI玩家接入服务,在线上环境中,无论是玩家客户端还是AI智能体(即玩家),均以一样的协议接入游戏服务器。游戏服务器往往以帧同步的方式,发送场景信息到客户端和玩家接入服务集群,各端得到动作指令后,反传回游戏服务器。游戏服务器最终以固定方式去合并客户端玩家和AI玩家发到服务器的动作指令,并进行游戏进程迭代。本实施中训练后的模型,可以对IO游戏的单智能体感知和动作建模,采用基于图像和单位的建模方式,决策粒度细,适用场景丰富;以及适合IO类游戏多人组队场景,实际体验对队伍数不敏感;并且适合玩家视野变化的情况,对游戏视野变化场景可以灵活处理,适用于不同地图大小,具有可迁移性;此外在线接入方案,在线与玩家以相同协议接入的方式,使得接入灵活,可以有效应用于各种IO类游戏的掉线托管、人机对战、以及人机混合等应用场景。
本申请实施例可以获取运行环境中的当前帧数据,从当前帧数据中提取目标观察变量,然后通过训练后的编码模型将目标观察变量映射为目标高维特征,以及通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作,此时可以控制目标智能体执行动作。该方案可以基于训练后的编码模型和分类模型基于观察变量准确地确定目标智能体的动作,以便准确控制目标智能体执行对应的动作,提高了对目标智能体控制的准确性和可靠性。
请参阅图6,图6是本申请实施例提供的一种计算机设备的结构示意性框图。
如图6所示,该计算机设备300可以包括通过***总线301连接的处理器302、存储器303和通信接口304,其中,存储器303可以包括非易失性计算机可读存储介质和内存储器。
非易失性计算机可读存储介质可存储计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种模型训练方法。
处理器302用于提供计算和控制能力,支撑整个计算机设备的运行。
存储器303为非易失性计算机可读存储介质中的计算机程序的运行提供环境,该计算机程序被处理器302执行时,可使得处理器302执行任意一种模型训练方法。
该通信接口304用于通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备300的限定,具体的计算机设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,该总线301比如为I2C(Inter-integrated Circuit)总线,存储器303可以是Flash芯片、只读存储器(ROM,Read-Only Memory)磁盘、光盘、U盘或移动硬盘等,处理器302可以是中央处理单元(Central Processing Unit,CPU),该处理器302还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一些实施例中,处理器302用于运行存储在存储器303中的计算机程序,以执行如下步骤:
获取训练样本数据,从训练样本数据中提取观察变量;获取观察变量的真实编码类型,以及获取智能体的真实动作;通过编码模型对观察变量进行编码,得到预测编码类型;根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型;通过训练后的编码模型将观察变量映射为高维特征;通过分类模型基于高维特征确定智能体的预测动作;根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。
在一实施例中,观察变量包括智能体的位置、对抗方的位置、以及合作方的位置。
在一实施例中,观察变量的预测编码类型或真实编码类型包括合作方的个数、对抗方的个数、打击对抗方的次数、以及团队合作的次数。
在一实施例中,在根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型时,处理器302还执行:通过第一损失函数对真实编码类型和预测编码类型进行收敛,以调整编码模型的参数至合适值,得到训练后的编码模型。
在一实施例中,在根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型时,处理器302还执行:通过第二损失函数对真实动作与预测动作进行收敛,以调整分类模型的参数至合适值,得到训练后的分类模型。
在一实施例中,处理器302还执行:获取运行环境中的当前帧数据;从当前帧数据中提取目标观察变量;通过训练后的编码模型将目标观察变量映射为目标高维特征;通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作;控制目标智能体执行动作。
其中,在一些实施例中,处理器302用于运行存储在存储器303中的计算机程序,以执行如下步骤:
获取训练样本数据,从训练样本数据中提取观察变量;获取观察变量的真实编码类型,以及获取智能体的真实动作;通过编码模型将观察变量映射为高维特征,将高维特征传输至分类模型;通过编码模型基于高维特征对观察变量进行编码,得到预测编码类型;通过分类模型基于高维特征确定智能体的预测动作;根据真实编码类型与预测编码类型对编码模型的参数进行调整,得到训练后的编码模型;根据真实动作与预测动作对分类模型的参数进行调整,得到训练后的分类模型。
其中,在一些实施例中,处理器302用于运行存储在存储器303中的计算机程序,以执行如下步骤:
获取运行环境中的当前帧数据;从当前帧数据中提取目标观察变量;通过训练后的编码模型将目标观察变量映射为目标高维特征;通过训练后的分类模型基于目标高维特征确定当前帧数据中目标智能体的动作;控制目标智能体执行动作。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对模型训练方法的详细描述,此处不再赘述。
本申请的实施例中还提供一种存储介质,存储介质为计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序中包括程序指令,处理器执行程序指令,实现本申请实施例提供的任一项模型训练方法。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,计算机可读存储介质可以是前述实施例的计算机设备的内部存储单元,例如计算机设备的硬盘或内存。计算机可读存储介质也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
由于该计算机可读存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种模型训练方法,因此,可以实现本申请实施例所提供的任一种模型训练方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅是本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种模型训练方法,其特征在于,包括:
获取训练样本数据,从所述训练样本数据中提取观察变量;
获取所述观察变量的真实编码类型,以及获取智能体的真实动作;
通过编码模型对所述观察变量进行编码,得到预测编码类型;
根据所述真实编码类型与所述预测编码类型对所述编码模型的参数进行调整,得到训练后的编码模型;
通过训练后的编码模型将所述观察变量映射为高维特征;
通过所述分类模型基于所述高维特征确定智能体的预测动作;
根据所述真实动作与所述预测动作对所述分类模型的参数进行调整,得到训练后的分类模型。
2.根据权利要求1所述的模型训练方法,其特征在于,所述观察变量包括所述智能体的位置、对抗方的位置、以及合作方的位置。
3.根据权利要求1所述的模型训练方法,其特征在于,所述观察变量的预测编码类型或真实编码类型包括合作方的个数、对抗方的个数、打击对抗方的次数、以及团队合作的次数。
4.根据权利要求1所述的模型训练方法,其特征在于,所述根据所述真实编码类型与所述预测编码类型对所述编码模型的参数进行调整,得到训练后的编码模型包括:
通过第一损失函数对所述真实编码类型和所述预测编码类型进行收敛,以调整所述编码模型的参数至合适值,得到训练后的编码模型;
根据所述真实动作与所述预测动作对所述分类模型的参数进行调整,得到训练后的分类模型包括:
通过第二损失函数对所述真实动作与所述预测动作进行收敛,以调整所述分类模型的参数至合适值,得到训练后的分类模型。
5.根据权利要求1至4任一项所述的模型训练方法,其特征在于,所述模型训练方法还包括:
获取运行环境中的当前帧数据;
从所述当前帧数据中提取目标观察变量;
通过训练后的编码模型将所述目标观察变量映射为目标高维特征;
通过所述训练后的分类模型基于所述目标高维特征确定所述当前帧数据中目标智能体的动作;
控制所述目标智能体执行所述动作。
6.一种模型训练方法,其特征在于,包括:
获取训练样本数据,从所述训练样本数据中提取观察变量;
获取所述观察变量的真实编码类型,以及获取智能体的真实动作;
通过编码模型将所述观察变量映射为高维特征,将所述高维特征传输至分类模型;
通过所述编码模型基于所述高维特征对所述观察变量进行编码,得到预测编码类型;
通过所述分类模型基于所述高维特征确定智能体的预测动作;
根据所述真实编码类型与所述预测编码类型对所述编码模型的参数进行调整,得到训练后的编码模型;
根据所述真实动作与所述预测动作对所述分类模型的参数进行调整,得到训练后的分类模型。
7.根据权利要求6所述的模型训练方法,其特征在于,所述观察变量包括所述智能体的位置、对抗方的位置、以及合作方的位置。
8.根据权利要求6所述的模型训练方法,其特征在于,所述观察变量的预测编码类型或真实编码类型包括合作方的个数、对抗方的个数、打击对抗方的次数、以及团队合作的次数。
9.根据权利要求6至8任一项所述的模型训练方法,其特征在于,所述模型训练方法还包括:
获取运行环境中的当前帧数据;
从所述当前帧数据中提取目标观察变量;
通过训练后的编码模型将所述目标观察变量映射为目标高维特征;
通过所述训练后的分类模型基于所述目标高维特征确定所述当前帧数据中目标智能体的动作;
控制所述目标智能体执行所述动作。
10.一种模型使用方法,其特征在于,应用于服务器,所述模型为采用权利要求1至5任一项所述的模型训练方法进行训练得到的模型,或者所述模型为采用权利要求6至9任一项所述的模型训练方法进行训练得到的模型,并部署在所述服务器中;所述方法包括:
获取运行环境中的当前帧数据;
从所述当前帧数据中提取目标观察变量;
通过训练后的编码模型将所述目标观察变量映射为目标高维特征;
通过所述训练后的分类模型基于所述目标高维特征确定所述当前帧数据中目标智能体的动作;
控制所述目标智能体执行所述动作。
11.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时执行如权利要求1至5任一项所述的模型训练方法,或者,所述处理器调用所述存储器中的计算机程序时执行如权利要求6至9任一项所述的模型训练方法。
12.一种存储介质,其特征在于,所述存储介质用于存储计算机程序,所述计算机程序被处理器加载以执行权利要求1至5任一项所述的模型训练方法,或者,所述计算机程序被处理器加载以执行权利要求6至9任一项所述的模型训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010496299.XA CN111841018B (zh) | 2020-06-03 | 2020-06-03 | 模型训练方法、模型使用方法、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010496299.XA CN111841018B (zh) | 2020-06-03 | 2020-06-03 | 模型训练方法、模型使用方法、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111841018A true CN111841018A (zh) | 2020-10-30 |
CN111841018B CN111841018B (zh) | 2023-09-19 |
Family
ID=72985362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010496299.XA Active CN111841018B (zh) | 2020-06-03 | 2020-06-03 | 模型训练方法、模型使用方法、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111841018B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112933605A (zh) * | 2021-03-08 | 2021-06-11 | 超参数科技(深圳)有限公司 | 虚拟对象控制、模型训练方法、装置和计算机设备 |
CN113384875A (zh) * | 2021-06-22 | 2021-09-14 | 吉林大学 | 模型训练方法、装置、存储介质及电子设备 |
CN113559500A (zh) * | 2021-01-18 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 动作数据的生成方法、装置、电子设备及存储介质 |
CN114492059A (zh) * | 2022-02-07 | 2022-05-13 | 清华大学 | 基于场能的多智能体对抗场景态势评估方法及装置 |
CN116747521A (zh) * | 2023-08-17 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 控制智能体进行对局的方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077597A (zh) * | 2014-06-25 | 2014-10-01 | 小米科技有限责任公司 | 图像分类方法及装置 |
CN110046712A (zh) * | 2019-04-04 | 2019-07-23 | 天津科技大学 | 基于生成模型的隐空间模型化策略搜索学习方法 |
WO2019155065A1 (en) * | 2018-02-09 | 2019-08-15 | Deepmind Technologies Limited | Neural network systems implementing conditional neural processes for efficient learning |
CN110141867A (zh) * | 2019-04-23 | 2019-08-20 | 广州多益网络股份有限公司 | 一种游戏智能体训练方法及装置 |
-
2020
- 2020-06-03 CN CN202010496299.XA patent/CN111841018B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104077597A (zh) * | 2014-06-25 | 2014-10-01 | 小米科技有限责任公司 | 图像分类方法及装置 |
WO2019155065A1 (en) * | 2018-02-09 | 2019-08-15 | Deepmind Technologies Limited | Neural network systems implementing conditional neural processes for efficient learning |
CN110046712A (zh) * | 2019-04-04 | 2019-07-23 | 天津科技大学 | 基于生成模型的隐空间模型化策略搜索学习方法 |
CN110141867A (zh) * | 2019-04-23 | 2019-08-20 | 广州多益网络股份有限公司 | 一种游戏智能体训练方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113559500A (zh) * | 2021-01-18 | 2021-10-29 | 腾讯科技(深圳)有限公司 | 动作数据的生成方法、装置、电子设备及存储介质 |
CN113559500B (zh) * | 2021-01-18 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 动作数据的生成方法、装置、电子设备及存储介质 |
CN112933605A (zh) * | 2021-03-08 | 2021-06-11 | 超参数科技(深圳)有限公司 | 虚拟对象控制、模型训练方法、装置和计算机设备 |
CN113384875A (zh) * | 2021-06-22 | 2021-09-14 | 吉林大学 | 模型训练方法、装置、存储介质及电子设备 |
CN114492059A (zh) * | 2022-02-07 | 2022-05-13 | 清华大学 | 基于场能的多智能体对抗场景态势评估方法及装置 |
CN116747521A (zh) * | 2023-08-17 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 控制智能体进行对局的方法、装置、设备及存储介质 |
CN116747521B (zh) * | 2023-08-17 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 控制智能体进行对局的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111841018B (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109499068B (zh) | 对象的控制方法和装置、存储介质、电子装置 | |
CN111841018A (zh) | 模型训练方法、模型使用方法、计算机设备及存储介质 | |
WO2021218440A1 (zh) | 游戏角色行为控制方法、装置、存储介质及电子设备 | |
Lee et al. | The computational intelligence of MoGo revealed in Taiwan's computer Go tournaments | |
CN108629422A (zh) | 一种基于知识指导-战术感知的智能体学习方法 | |
KR20060025154A (ko) | 가상 현실 환경에서 컴퓨터 제어되는 아바타의 개인화된동작을 위한 시스템 및 방법 | |
CN111111204A (zh) | 交互模型训练方法、装置、计算机设备和存储介质 | |
US20200324206A1 (en) | Method and system for assisting game-play of a user using artificial intelligence (ai) | |
CN111274151B (zh) | 一种游戏测试的方法、相关装置以及存储介质 | |
CN112843725A (zh) | 智能体处理方法及装置 | |
CN111589120A (zh) | 目标物控制方法、计算机设备及计算机可读存储介质 | |
CN112791394A (zh) | 游戏模型训练方法、装置、电子设备及存储介质 | |
Bosc et al. | Strategic Patterns Discovery in RTS-games for E-Sport with Sequential Pattern Mining. | |
CN115888119A (zh) | 一种游戏ai训练方法、装置、电子设备及存储介质 | |
CN113209640B (zh) | 解说的生成方法、装置、设备及计算机可读存储介质 | |
Nam et al. | Generation of diverse stages in turn-based role-playing game using reinforcement learning | |
CN113393063A (zh) | 比赛结果预测方法、***、程序产品及存储介质 | |
CN112138409A (zh) | 游戏结果的预测方法、装置及存储介质 | |
CN116943204A (zh) | 虚拟对象的控制方法、装置和存储介质及电子设备 | |
CN112870727B (zh) | 一种游戏中智能体的训练及控制方法 | |
CN111437605B (zh) | 确定虚拟对象行为及托管虚拟对象行为的方法 | |
CN114681924A (zh) | 虚拟对象的推荐方法、装置和电子设备 | |
CN114344889A (zh) | 游戏策略模型生成方法和游戏中智能体的控制方法 | |
Kahng et al. | Clear the fog: Combat value assessment in incomplete information games with convolutional encoder-decoders | |
Li et al. | Study on the play strategy of dou dizhu poker based on convolution neural network |
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 |