游戏中的人工智能训练方法及装置、存储介质及电子装置与流程

文档序号:17633403发布日期:2019-05-11 00:15阅读:292来源:国知局
游戏中的人工智能训练方法及装置、存储介质及电子装置与流程

本发明涉及人工智能领域,具体而言,涉及一种游戏中的人工智能训练方法及装置、存储介质及电子装置。



背景技术:

目前强化学习被广泛应用于各类游戏之中,这些游戏按输入动作大致可分为两类:第一类为输入动作可被完全离散的游戏(如围棋、atari等);第二类则为输入动作不可被完全离散的游戏(如moba类、mmorpg类游戏)。其中,第二类游戏的输入往往比较复杂,通常既包括离散的动作选择(例如技能),又包括连续的动作输出(如技能的方向、力度等参数)。这类游戏经过一定的转换,都可以将输入抽象成参数化动作的形式,即选择某一个动作后还需指定对应的参数才可完成该动作。例如,逆水寒的动作模式下,通过离散的动作键(前、后、左、右、技能等)和鼠标控制的方向即可完成游戏角色的控制。

相关技术中,处理参数化动作主要有以下三个思路:

方案1.首先通过共用的特征提取网络提取特征,然后再用两个独立的网络分别输出所有的离散动作概率分布和对应的参数。随后再根据选取的动作定位到对应的参数,完成行为控制。

上述技术方案1中将离散动作和对应的参数视为平行的两个部分,二者互相不会产生任何影响,同时底层共用网络同时学习所有技能的释放方法,会大幅加大学习的难度。例如,某些参数化动作(例如游戏中的虚拟人物技能)需要对目标的方向释放,某些技能需要向目标相反的方向释放,一个网络同时学习两个完全相反的处理逻辑将变得非常困难。

2.将动作空间和对应的参数空间进行排列组合,生成全量的动作空间。

上述技术方案2产生的动作空间通常很大,且无法处理连续的输入,实用性较差。

3.采用分层的思路,将离散动作选择和参数输出视为需要顺序解决的问题。既首先输出离散动作,然后根据选择的动作输出对应的参数。

上述技术方案3的一个难点是如何将这两种非连续的网络整合在一起进行训练。

由相关技术中的技术方案可以知晓,在参数化动作为输入的游戏中,如何有效的进行强化学习人工智能训练,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种游戏中的人工智能训练方法及装置、存储介质及电子装置,以至少解决相关技术中以参数化动作为输入的游戏中缺乏有效地人工智能训练方法的技术问题。

根据本发明实施例的一个方面,提供了一种游戏中的人工智能训练方法,所述人工智能以参数化动作作为游戏操作输入,包括:根据游戏中的参数化动作构建策略网络以及参数网络集合,其中,所述参数网络集合中包括至少一个参数网络,所述策略网络用于确定所述游戏中的参数化动作的动作标识,所述参数网络用于确定所述参数化动作的动作参数;根据待训练的人工智能的状态参数、所述策略网络以及所述参数网络集合对所进行人工智能训练,以更新所述策略网络和所述参数网络集合。

进一步地,根据游戏中的参数化动作构建策略网络以及参数网络集合包括:根据所述参数化动作的参数确定所述至少一个参数网络。

进一步地,根据待训练的人工智能的状态参数、所述策略网络以及所述参数网络对所进行人工智能训练,以更新所述策略网络和所述参数网络集合包括:将待训练的人工智能的状态参数输入策略网络,得到所述状态参数对应的第一参数化动作的动作标识;将所述状态参数输入至所述动作标识对应的参数网络,得到与所述第一参数化动作对应的输出参数;根据样本集合进行人工智能训练,以更新所述策略网络和所述参数网络集合,其中,所述样本集合中至少包括由所述动作标识、所述输出参数以及动作反馈所构成的训练样本,所述动作反馈是控制所述目标执行所述第一参数化动作产生的。

进一步地,所述样本集合还包括监督样本,其中:所述监督样本是对所述训练样本进行预定调整得到,所述监督样本与所述训练样本的比例为预设第一比例。

进一步地,根据样本集合进行人工智能训练,以更新所述策略网络和所述参数网络集合包括:根据所述样本集合对当前策略网络进行更新,得到更新后的策略网络;根据所述状态参数、所述更新后的策略网络以及当前参数网络获取更新后的样本集合;根据所述更新后的样本集合对所述当前参数网络进行更新,得到更新后的参数网络。

进一步地,根据所述样本集合对当前策略网络进行更新,得到更新后的策略网络包括:对所述训练样本进行预定调整得到所述监督样本;根据所述训练样本以及所述监督样本构建所述样本集合;根据所述样本集合对所述当前策略网络进行更新,得到所述更新后的策略网络。

进一步地,根据所述状态参数、所述更新后的策略网络以及当前参数网络获取更新后的样本集合包括:根据所述更新后的策略网络以及所述当前参数网络确定所述状态参数对应的更新后的训练样本;对所述更新后的训练样本进行预定调整得到更新后的监督样本;根据所述更新后的训练样本以及所述更新后的监督样本构建更新后的样本集合,其中,所述更新后的监督样本与所述更新后的训练样本的比例为所述预设第一比例;根据所述更新后的训练样本集合对所述当前参数网络进行更新,得到所述更新后的参数网络。

根据本发明实施例的另一方面,还提供了一种游戏中的人工智能训练装置,所述人工智能以参数化动作作为游戏操作输入,包括:构建单元,用于根据游戏中的参数化动作构建策略网络以及参数网络集合,其中,所述参数网络集合中包括至少一个参数网络,所述策略网络用于确定所述游戏中的参数化动作的动作标识,所述参数网络用于确定所述参数化动作的动作参数;训练单元,用于根据待训练的人工智能的状态参数、所述策略网络以及所述参数网络集合对所进行人工智能训练,以更新所述策略网络和所述参数网络集合

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如上所述的游戏中的人工智能训练方法。

根据本发明实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行如上所述的游戏中的人工智能训练方法。

在本发明实施例中,采用根据游戏中的参数化动作构建策略网络以及参数网络集合,其中,参数网络集合以及策略网络用于确定游戏中的参数化动作的动作标识,参数网络用于确定参数化动作的动作参数;根据待训练的人工智能的状态参数、策略网络以及参数网络集合对所进行人工智能训练,以更新策略网络和参数网络集合。达到了降低参数网络的学习难度的目的,从而实现了提高输出准确性的技术效果,进而解决了相关技术中以参数化动作为输入的游戏中缺乏有效地人工智能训练方法的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种可选的游戏中的人工智能训练方法的流程示意图;

图2是根据本发明实施例的一种可选的具体动作输出生成流程示意图;

图3是根据本发明实施例的一种可选的人工智能训练流程图;

图4是根据本发明实施例的一种可选的游戏中的人工智能训练装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

在对本实施例的技术方案进行介绍之前,首先对以下名词进行解释:

参数化动作,参数化动作常见于游戏应用中,包括动作标识以及相应的动作参数。例如游戏应用中虚拟人物的技能输入即为参数化动作输入,一个游戏技能其对应相应的技能标识以及技能参数。

策略网络,实质上为一个计算网络,用于基于现有的状态参数来确定是否输出对应的参数化动作。例如在游戏应用中,通过策略网络能够基于目标虚拟人物当前的状态参数来确定目标虚拟人物当前最适合执行的技能,即确定目标虚拟任务的参数化动作。

参数网络,同样也是一个计算网络,通常与策略网络相对应,用于基于策略网络选定的参数化动作,确定参数化动作执行所需要的具体参数。例如在游戏应用中,在策略网络确定了目标虚拟人物执行的人物技能时,参数网络确定目标人物释放该人物技能所需的参数,例如技能释放距离、技能释放蓄力程度、技能释放方向、技能释放目标等。

在相关技术中,对于以参数化动作作为输入的游戏应用的强化学习人工智能训练方法,如何有效的进行强化学习人工智能训练,目前尚未提出有效的解决方案。

而本发明实施例基于该问题,提供了一种游戏中的人工智能训练方法,人工智能以参数化动作作为游戏操作输入,如图1所示,该方法包括:

s102,根据游戏中的参数化动作构建策略网络以及参数网络集合,其中,参数网络中包括至少一个参数网络,策略网络用于确定游戏中的参数化动作的动作标识,参数网络用于确定参数化动作的动作参数;

s104,根据待训练的人工智能的状态参数、策略网络以及参数网络集合对所进行人工智能训练,以更新策略网络和参数网络集合。

在本实施例中,策略网络是根据游戏中的预设策略所构建的,其中,预设策略主要基于游戏中的运行机制决定的,例如以游戏应用为例,其中,游戏应用中的参数化动作主要为虚拟人物的技能释放,则预设策略就可以为技能释放距离、技能释放时机、释放目标等,通过策略网络在相应的距离、时机或目标状态等来确定待释放技能的技能id,在游戏应用中策略网络用于执行技能选择,即策略网络用于输出参数化动作的动作标识。另一方面,参数网络集合则是多个参数网络的统称,每个参数化动作分别对应不同的参数网络,参数网络用于输出策略网络选定的参数化动作对应的输出参数,例如游戏应用中虚拟人物技能的参数:技能释放距离、技能释放蓄力程度等等。

在本实施例中,待训练的人工智能可以为不同状态的虚拟对象,常见于游戏应用中的虚拟对象,参数化动作为虚拟对象的技能,对虚拟对象进行ai训练,可以实现虚拟对象释放技能更精确,虚拟对象更加智能化。

本实施例中,通过根据游戏中的参数化动作构建策略网络以及参数网络集合,将参数化动作的执行分成参数化动作的选择以及参数化动作对应的参数输出两个步骤,参数化动作的动作标识以及参数化动作的输出参数分别对应策略网络和参数网络集合的输出。

而在初步构建了游戏的策略网络以及参数网络集合之后,需要对策略网络以及参数网络集合进行训练更新,即进行ai训练,通过输入目标的状态参数输入至策略网络,得到状态参数对应的参数化动作的动作标识。然后根据参数化动作确定动作标识对应的参数网络,将状态参数输入至对应的参数网络得到参数化动作对应的输出参数,然后通过参数化动作的动作标识以及输出参数控制目标执行对应的参数化动作,获取对应的环境反馈,通过参数化动作的动作标识、输出参数以及对应的环境反馈对策略网络和参数网络集合进行更新,直至策略网络以及参数网络集合达到预设的评价状态,获得一个用于选取参数化动作的策略网络和参数网络集合。

需要说明的是,在本实施例中,将游戏的参数化动作进行分解,利用策略网络和参数网络集合输出组合的方式完成对游戏的控制,据训练目标的状态参数、策略网络以及参数网络集合对所进行人工智能训练,以更新策略网络和参数网络集合。达到了降低参数网络的学习难度的目的,从而实现了提高输出准确性的技术效果。

可选地,在本实施例中,根据游戏中的参数化动作构建策略网络以及参数网络集合包括但不限于:根据参数化动作的参数确定至少一个参数网络。

在实际的应用场景中,以游戏为例进行说明,在游戏中参数化动作为虚拟人物的技能,其中,技能的释放参数往往存在多个,例如技能的释放方向、释放蓄力力度、释放时机、释放目标等。在技能的释放过程中,会需要确定上述技能释放参数中的一个或多个,因此也就存在与上述技能参数对应的多个参数网络构成的参数网络集合。

具体的,游戏中策略网络只有一个,用于在全局选取当前需要执行的参数化动作;参数网络集合中包含的参数网络则有多个,每个参数化动作可以对应多个参数网络。例如在多人对抗moba类的游戏中,成功释放某些需要蓄力的技能,不仅需要选定该技能,还需要指明技能的释放方向和力度。此时策略网络用于选取该技能,对应的方向和力度两个参数则分别由两个不同的参数网络输出。

可选地,在本实施例中,根据待训练的人工智能的状态参数、所述策略网络以及所述参数网络集合对所进行人工智能训练,以更新所述策略网络和所述参数网络集合包括但不限于以下步骤:

s1,将待训练的人工智能的状态参数输入策略网络,得到状态参数对应的第一参数化动作的动作标识;

s2,将状态参数输入至动作标识对应的参数网络,得到与第一参数化动作对应的输出参数;

s3,根据样本集合进行ai训练,以更新策略网络和参数网络集合,其中,其中,样本集合中至少包括由动作标识、输出参数以及动作反馈所构成的训练样本,动作反馈是控制待训练的人工智能执行第一参数化动作产生的。

具体的,以图2所示的具体动作输出训练样本流程图为例进行说明,对虚拟人物进行ai训练,虚拟人物进行动作输出时,首先根据输入的状态参数s(描述虚拟人物所处环境的信息组合,是对虚拟人物所处环境的抽象,如虚拟人物所处位置、虚拟人物血量信息、技能冷却情况、敌对单位位置和血量等)选择参数化动作的动作标识a。然后再根据动作标识a确定到该参数化动作对应的参数网络,并以状态参数s作为输入,输出该动作标识对应的输出参数p。最后,虚拟人物根据(a,p)完成对应的参数化动作对应的行为,而产生不同的环境反馈,例如虚拟人物释放对应的技能(参数化动作)而产生释放技能的目标的血量变化、状态变化、位置变化以及对应的环境等变化均为环境反馈。

在本实施例中,样本集合中至少包括由动作标识、输出参数以及动作反馈所构成的训练样本。通过训练样本能够获知当前待训练的人工智能基于参数网络集合以及策略网络来输出参数化动作的环境反馈来对策略网络以及参数网络集合进行更新。

可选地,在本实施例中,样本集合还包括监督样本,其中:监督样本是对训练样本进行预定调整得到,监督样本与训练样本的比例为预设第一比例。

具体的,以在大型游戏为例进行说明,ai训练并不是所有行为都可以得到环境的奖励反馈。例如,假设让虚拟人物学习释放一个单体的指向性伤害技能(只能对技能释放方向上的目标造成伤害),来对存在于固定位置的木桩造成伤害。此时,只有技能释放方向和木桩相对于虚拟人物的方向完全相同,虚拟人物才会获得游戏环境反馈的有效造成伤害(奖励),才能进一步指导虚拟人物如何释放技能。然而,由于方向限制比较严格,处于学习初期的虚拟人物很难产生这种对木桩造成了伤害的场景。这种很难获取到环境给予的反馈奖励的现象即为奖励稀疏。考虑到大部分大型游戏中都存在奖励稀疏问题,本实施例中提出一种监督样本衰减的训练方法:将训练样本分为监督样本和正常环境交互样本,训练过程中采样的样本集合将由这两部分样本组成。以α表示监督样本占所有样本的比例,随着训练的不断进行,逐步衰减α。其中,监督样本是通过对正常训练样本的动作或目标进行修改得到的。

可选地,在本实施例中,根据样本集合进行人工智能训练,以更新策略网络和参数网络集合包括以下步骤:

s31,根据样本集合对当前策略网络进行更新,得到更新后的策略网络;

s32,根据状态参数、更新后的策略网络以及当前参数网络获取更新后的样本集合;

s33,根据更新后的样本集合对当前参数网络进行更新,得到更新后的参数网络。

需要说明的是,在本实施例中,每个参数化网络所对应的参数网络可能是不同的,且其对应的参数网络的数量也可能存在不同。由于参数网络是包含于参数网络集合中的,因此在上述实施例中对参数网络更新,实质上,对参数网络进行更新即表示对参数网络集合进行更新。

可选地,在本实施例中,根据样本集合对当前策略网络进行更新,得到更新后的策略网络包括但不限于:对训练样本进行预定调整得到监督样本;根据训练样本以及监督样本构建样本集合;根据样本集合对当前策略网络进行更新,得到更新后的策略网络。

可选地,在本实施例中,根据状态参数、更新后的策略网络以及当前参数网络获取更新后的样本集合包括但不限于:根据更新后的策略网络以及当前参数网络确定状态参数对应的更新后的训练样本;对更新后的训练样本进行预定调整得到更新后的监督样本;根据更新后的训练样本以及更新后的监督样本构建更新后的样本集合,其中,更新后的监督样本与更新后的训练样本的比例为预设第一比例;根据更新后的训练样本集合对当前参数网络进行更新,得到更新后的参数网络。

具体的,如图3所示的人工智能训练流程图,在ai训练的过程中,可以分为以下三个步骤:

步骤(1)策略网络训练:在获取到训练样本后,根据训练样本生成一定量的监督样本,按一定比例采样监督样本和正常样本,生成样本集合,固定参数网络,用样本集合更新策略网络,重复该步骤预设次数,对策略网络进行更新。

步骤(2)参数网络训练:在在对策略网络重复训练了预设次数后,根据更新后的策略网络以及未更新的当前参数网络获取更新后的训练样本,然后基于与上述相同的方式生成更新后的样本集合,固定策略网络,根据更新后的样本集合更新参数网络,重复预设次数。

步骤(3)策略网络初始化,随机初始化策略网络,对样本集合中监督样本所占的比例进行衰减,然后执行上述步骤(1)进行重新训练。

直至收敛(即直至达到预设的评价目标),可获得一个用于选取离散动作的策略网络和参数网络集合,参数网络集合中包含m个专用的参数网络,其中,m为正整数。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

根据本发明实施例,还提供了一种用于实施上述游戏中的人工智能训练方法的游戏中的人工智能训练装置,如图4所示,该装置包括:

1)构建单元40,用于根据游戏中的参数化动作构建策略网络以及参数网络集合,其中,所述参数网络集合中包括至少一个参数网络,所述策略网络用于确定所述游戏中的参数化动作的动作标识,所述参数网络用于确定所述参数化动作的动作参数;

2)训练单元42,用于根据待训练的人工智能的状态参数、所述策略网络以及所述参数网络集合对所进行人工智能训练,以更新所述策略网络和所述参数网络集合。

可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。

实施例3

本发明的实施例还提供了一种存储介质。所述存储介质包括存储的程序,其中,所述程序运行时执行如上所述的游戏中的人工智能训练方法。

可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

s1,根据游戏中的参数化动作构建策略网络以及参数网络集合,其中,所述参数网络集合中包括至少一个参数网络,所述策略网络用于确定所述游戏中的参数化动作的动作标识,所述参数网络用于确定所述参数化动作的动作参数;

s2,根据待训练的人工智能的状态参数、所述策略网络以及所述参数网络集合对所进行人工智能训练,以更新所述策略网络和所述参数网络集合。

可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

实施例4

本发明的实施例还提供了一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行如上所述的游戏中的人工智能训练方法。

可选地,在本实施例中,电子装置被设置为用于执行以下步骤的程序代码:

s1,根据游戏中的参数化动作构建策略网络以及参数网络集合,其中,所述参数网络集合中包括至少一个参数网络,所述策略网络用于确定所述游戏中的参数化动作的动作标识,所述参数网络用于确定所述参数化动作的动作参数;

s2,根据待训练的人工智能的状态参数、所述策略网络以及所述参数网络集合对所进行人工智能训练,以更新所述策略网络和所述参数网络集合。

可选地,本实施例中的具体示例可以参考上述实施例1中所描述的示例,本实施例在此不再赘述。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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