CN112843726A - 智能体处理方法及装置 - Google Patents
智能体处理方法及装置 Download PDFInfo
- Publication number
- CN112843726A CN112843726A CN202110277003.XA CN202110277003A CN112843726A CN 112843726 A CN112843726 A CN 112843726A CN 202110277003 A CN202110277003 A CN 202110277003A CN 112843726 A CN112843726 A CN 112843726A
- Authority
- CN
- China
- Prior art keywords
- data
- behavior
- state data
- intelligent agent
- training
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 144
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000009471 action Effects 0.000 claims abstract description 60
- 239000003795 chemical substances by application Substances 0.000 claims description 262
- 230000006399 behavior Effects 0.000 claims description 238
- 238000012545 processing Methods 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 60
- 239000013598 vector Substances 0.000 claims description 17
- 238000010606 normalization Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 6
- 230000002787 reinforcement Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
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/69—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 by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
Abstract
本申请实施例提供一种智能体处理方法及装置,该方法包括:确定智能体模型,以及初始化智能体模型的行为空间。向智能体模型中输入状态数据,得到智能体模型输出的状态数据对应的输出结果。根据状态数据对应的输出结果的熵和行为空间,确定状态数据对应的行为数据。根据状态数据和状态数据对应的行为数据,确定训练数据。根据训练数据对智能体模型进行训练,得到目标智能体。控制目标智能体在游戏内自动做出动作决策。通过智能体模型的输出结果的熵,确定状态数据对应的行为数据,从而保证训练数据的多样化,之后基于多样化的训练数据对智能体模型进行训练,可以有效保证目标智能体所输出的游戏行为的有效性和正确性,以提升游戏操作的准确率。
Description
技术领域
本申请实施例涉及计算机技术,尤其涉及一种智能体处理方法及装置。
背景技术
随着游戏领域的不断发展,在游戏中通常支持用户挂机,也就是说用户无需进行操作,而是由系统帮助用户自动进行操作。
其中,系统对于游戏操作的选择就显得尤为重要,目前在现有技术中,通常是系统获取当前可执行的游戏操作,并在可执行的游戏操作中进行随机选择,以保证游戏的正常进行。
然而,随机选择的操作无法有效保证效果,因此现有技术中的系统自动选择的游戏操作准确率较低。
发明内容
本申请实施例提供一种智能体处理方法及装置,以克服系统自动选择的游戏操作准确率较低的问题。
第一方面,本申请实施例提供一种智能体处理方法,包括:
确定智能体模型,以及初始化所述智能体模型的行为空间;
向所述智能体模型中输入状态数据,得到所述智能体模型输出的所述状态数据对应的输出结果;
根据所述状态数据对应的输出结果的熵和所述行为空间,确定所述状态数据对应的行为数据;
根据所述状态数据和所述状态数据对应的行为数据,确定训练数据;
根据所述训练数据对所述智能体模型进行训练,得到目标智能体;
控制所述目标智能体在游戏内自动做出动作决策。
在一种可能的设计中,所述根据所述状态数据对应的输出结果的熵和所述行为空间,确定所述状态数据对应的行为数据,包括:
根据所述状态数据对应的输出结果的熵,确定第一概率和第二概率;
根据所述第一概率和所述第二概率,在所述状态数据对应的输出结果和所述行为空间中,确定所述状态数据对应的行为数据。
在一种可能的设计中,所述根据所述第一概率和所述第二概率,在所述状态数据对应的输出结果和所述行为空间中,确定所述状态数据对应的行为数据,包括:
根据所述第一概率,将所述状态数据对应的输出结果所指示的行为数据,确定为所述状态数据对应的行为数据;或者
根据所述第二概率,将在所述行为空间中随机选择的行为,确定为所述状态数据对应的行为数据。
在一种可能的设计中,所述根据所述状态数据和所述状态数据对应的行为数据,确定训练数据,包括:
将所述行为数据输入处理引擎,得到所述处理引擎输出的新的状态数据;
重复执行将新的状态数据输入所述智能体模型以及将所述新的状态数据对应的的行为数据输入所述处理引擎的操作,直至得到预设数据量的状态数据和行为数据;
将所述预设数据量的状态数据和行为数据,确定为所述训练数据。
在一种可能的设计中,所述方法还包括:
将所述输出结果进行归一化处理;
根据第一函数对所述归一化后的输出结果进行处理,得到所述输出数据对应的熵。
在一种可能的设计中,所述初始化所述智能体模型的行为空间,包括:
获取所述智能体模型对应的所有初始化状态数据,将所述初始化状态数据转换为各自对应的向量数据,得到状态空间;
将所述状态空间中的向量数据输入至所述智能体模型,得到各所述状态数据对应的初始化行为数据;
根据各所述状态数据对应的初始化行为数据,得到所述行为空间。
在一种可能的设计中,所述方法还包括:
根据奖励函数对所述训练数据中的各个行为数据进行处理,得到各所述行为数据各自对应的奖励函数值。
在一种可能的设计中,所述根据所述训练数据对所述智能体模型进行训练,得到目标智能体,包括:
将各所述训练数据中的状态数据输入至所述智能体模型,进行网络的前向传播,得到所述智能体模型的预估动作数据;
根据损失函数和所述奖励函数值,计算所述预估动作数据的损失函数值;
根据所述损失函数值对所述智能体模型的参数进行调整;
重复执行上述步骤,直至所述智能体模型满足训练结束条件。
在一种可能的设计中,所述训练结束条件包括如下中的至少一种:所述智能体模型的训练轮数达到预设轮数、所述智能体模型的准确率达到预设准确率、所述智能体模型收敛。
在一种可能的设计中,所述控制所述目标智能体在游戏内自动做出动作决策,包括:
将游戏内待处理的状态数据输入至所述目标智能体,得到所述目标智能体输出的行为数据;
根据所述目标智能体输出的行为数据,控制所述目标智能体在游戏内自动做出所述行为数据对应的动作决策。
第二方面,本申请实施例提供一种智能体处理装置,包括:
处理模块,用于确定智能体模型,以及初始化所述智能体模型的行为空间;
输入模块,用于向所述智能体模型中输入状态数据,得到所述智能体模型输出的所述状态数据对应的输出结果;
确定模块,用于根据所述状态数据对应的输出结果的熵和所述行为空间,确定所述状态数据对应的行为数据;
所述确定模块,还用于根据所述状态数据和所述状态数据对应的行为数据,确定训练数据;
训练模块,用于根据所述训练数据对所述智能体模型进行训练,得到目标智能体;
所述处理模块,还用于控制所述目标智能体在游戏内自动做出动作决策。
在一种可能的设计中,所述确定模块具体用于:
根据所述状态数据对应的输出结果的熵,确定第一概率和第二概率;
根据所述第一概率和所述第二概率,在所述状态数据对应的输出结果和所述行为空间中,确定所述状态数据对应的行为数据。
在一种可能的设计中,所述确定模块具体用于:
根据所述第一概率,将所述状态数据对应的输出结果所指示的行为数据,确定为所述状态数据对应的行为数据;或者
根据所述第二概率,将在所述行为空间中随机选择的行为,确定为所述状态数据对应的行为数据。
在一种可能的设计中,所述确定模块具体用于:
将所述行为数据输入处理引擎,得到所述处理引擎输出的新的状态数据;
重复执行将新的状态数据输入所述智能体模型以及将所述新的状态数据对应的的行为数据输入所述处理引擎的操作,直至得到预设数据量的状态数据和行为数据;
将所述预设数据量的状态数据和行为数据,确定为所述训练数据。
在一种可能的设计中,所述处理模块,还用于:
将所述输出结果进行归一化处理;
根据第一函数对所述归一化后的输出结果进行处理,得到所述输出数据对应的熵。
在一种可能的设计中,所述处理模块具体用于:
获取所述智能体模型对应的所有初始化状态数据,将所述初始化状态数据转换为各自对应的向量数据,得到状态空间;
将所述状态空间中的向量数据输入至所述智能体模型,得到各所述状态数据对应的初始化行为数据;
根据各所述状态数据对应的初始化行为数据,得到所述行为空间。
在一种可能的设计中,所述处理模块还用于:
根据奖励函数对所述训练数据中的各个行为数据进行处理,得到各所述行为数据各自对应的奖励函数值。
在一种可能的设计中,所述训练模块具体用于:
将各所述训练数据中的状态数据输入至所述智能体模型,进行网络的前向传播,得到所述智能体模型的预估动作数据;
根据损失函数和所述奖励函数值,计算所述预估动作数据的损失函数值;
根据所述损失函数值对所述智能体模型的参数进行调整;
重复执行上述步骤,直至所述智能体模型满足训练结束条件。
在一种可能的设计中,所述训练结束条件包括如下中的至少一种:所述智能体模型的训练轮数达到预设轮数、所述智能体模型的准确率达到预设准确率、所述智能体模型收敛。
在一种可能的设计中,所述处理模块具体用于:
将游戏内待处理的状态数据输入至所述目标智能体,得到所述目标智能体输出的行为数据;
根据所述目标智能体输出的行为数据,控制所述目标智能体在游戏内自动做出所述行为数据对应的动作决策。
第三方面,本申请实施例提供一种智能体处理设备,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计中任一所述的方法。
本申请实施例提供一种智能体处理方法及装置,该方法包括:确定智能体模型,以及初始化智能体模型的行为空间。向智能体模型中输入状态数据,得到智能体模型输出的状态数据对应的输出结果。根据状态数据对应的输出结果的熵和行为空间,确定状态数据对应的行为数据。根据状态数据和状态数据对应的行为数据,确定训练数据。根据训练数据对智能体模型进行训练,得到目标智能体。控制所述目标智能体在游戏内自动做出动作决策。通过根据智能体模型的输出结果的熵,确定状态数据对应的行为数据,从而可以保证得到的训练数据的多样化,之后基于多样化的训练数据对智能体模型进行训练,可以有效保证得到的目标智能体所输出的游戏行为的有效性和正确性,从而提升选择的游戏操作的准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的智能体的实现示意图;
图2为本申请实施例提供的智能体处理方法的流程图;
图3为本申请实施例提供的智能体处理方法的流程图二;
图4为本申请实施例提供的初始化操作的实现示意图
图5为本申请实施例提供的确定训练数据的实现示意图;
图6为本申请实施例提供的智能体处理方法的流程示意图;
图7为本申请实施例提供的智能体处理装置的结构示意图;
图8为本申请实施例提供的智能体处理设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更好的理解本申请的技术方案,下面对本申请所涉及的背景技术进行进一步的详细介绍:
随着游戏相关技术的快速发展,特别是手机游戏的发展也越来越趋于成熟。其中因为手机操作的特点,相比于其他游戏,回合制游戏在手机游戏中更受欢迎。
所谓回合制游戏,就是用户在每一个回合,可以有充分的时间,思考自己的下一步决策。相比于其他游戏,回合制游戏更加注重决策。
在回合制游戏中一个非常重要的玩法就是副本通关,用户通过自己搭配游戏阵容,和操作阵容来通关副本,从而取得奖励。为了留存游戏用户,目前的回合制游戏通常都支持挂机功能,也就是说用户无需进行任何操作,系统会自动帮助用户选择游戏操作进行通关,其中,游戏操作也可称作游戏行为。
但是系统一般不会提供好的操作,一般都是采取随机的方式进行动作选择,通常随机的方式得到的操作都不是最优的操作,也因此自动操作很难帮助用户通关,也就是说在现有技术的实现方案中,系统选择的方案存在准确性较低的问题。
在其余可能的实现方式中,还例如可以通过行为树的方法,帮助用户自动选择游戏操作,其中由于行为树方法较为简单所以被广泛采纳,但是行为树的实现效果较差,通常无法选择较优的操作。
随着计算机相关技术的不断发展,深度学习作为人工智能领域中的一个重要研究内容,已经在各个方面取得了非常好的效果。其中根据学习方式的不同,深度学习又分为监督学习,无监督学习和强化学习。其中强化学习被广泛应用于仿真模拟,机器控制,调度优化,游戏人工智能(Artificial Intelligence,AI)等领域。
强化学习算法的思想非常简单,智能体通过不断地与环境交互来获得奖励,根据这个奖励,智能体会不断地优化自身策略,从而来获得更多的奖励。
因此本申请提出了如下技术构思:将强化学习算法应用在回合制游戏中,可以构建一个智能体,并且通过强化学习算法对该智能体进行训练,从而得到一个能够选择较优的游戏操作的智能体,以提升系统选择的游戏操作的准确性。
下面结合具体的实施例对本申请提供的智能体处理方法进行介绍,首先结合图1对本申请中提到的智能体的工作过程进行说明,图1为本申请实施例提供的智能体的实现示意图。
如图1所示,智能体可以基于游戏状态选择相应的游戏行为,其中,游戏状态可以理解为当前游戏的局势,例如可以包括敌方状态、我方状态、公共状态等。
智能体在选择游戏行为之后,可以将该游戏行为输入至游戏引擎,游戏引擎基于输入的游戏行为,对当前的游戏状态进行更新。比如说当前游戏定位是对敌方的一次攻击行为,则游戏引擎可以根据该游戏定位,对敌方的生命值进行更新,以及对相应的游戏状态同样进行更新。
之后,游戏引擎可以将更新的游戏状态发送给智能体,智能体根据更新的游戏状态选择下一次游戏操作,游戏引擎再基于新的游戏操作进行游戏状态的更新,重复这样执行下去,直至游戏结束或者游戏通关。
基于上述介绍可以确定的是,智能体可以选择游戏操作,用户的目的是为了游戏通关,则智能体帮助用户进行游戏操作,就应该选择能够使得游戏通关的游戏操作。因此在实际实现过程中,智能体对游戏操作的选择就显得尤为重要,这就需要在对智能体进行训练时,以选择效果较好的操作为目的对智能体进行训练。
下面结合具体的实施例对智能体的训练的实现方式进行说明,图2为本申请实施例提供的智能体处理方法的流程图。
如图2所示,该方法包括:
S201、确定智能体模型,以及初始化智能体模型的行为空间。
在本实施例中,要对智能体进行训练,需要首先构建智能体模型,其中,智能体模型是根据游戏状态确定游戏行为的模型,在智能体模型内部包括一系列的处理逻辑,本实施例对其内部的实现逻辑以及具体的实现方式不做限制,其可以根据实际需求进行选择,只要智能体模型能够根据游戏状态进行处理,输出游戏行为即可。
在一种可能的实现方式中,本申请实施例中的智能体模型可以是基于深度学习的模型,比如说可以是基于深度Q网络(Deep Q Network,DQN)的,其中,
可以理解的是,当前确定的智能体模型是初步的智能体,其准确性和有效性是无法保证的,因此需要对智能体模型进行训练。
以及在本实施例中,还需要初始化智能体模型的行为空间,其中,行为空间中可以包括智能体所能执行的所有游戏行为,本实施例中可以基于行为空间,确定后续智能体选择的游戏行为。
在一种可能的实现方式中,例如可以确定当前游戏的所有游戏状态,之后智能体模型对所有的游戏状态进行处理,从而得到所有的游戏行为,基于所有的游戏行为构建得到行为空间。
或者,还可以基于当前游戏进行分析,确定当前游戏中所有可以执行的游戏行为,从而得到行为空间,本实施例对初始化行为空间的具体实现方式不做限制,其可以根据实际需求进行选择。
以及在实际实现过程中,比如说游戏有多个副本,在每个副本中所能够执行的游戏操作是不同的,因此例如可以针对每个游戏副本确定一个游戏空间。或者,还可以针对整个游戏,确定一个行为空间,在这个行为空间中就包括了当前的游戏所能执行的全部游戏操作,本实施例对行为空间的具体划分不做限定,其可以根据实际需求进行选择。
S202、向智能体模型中输入状态数据,得到智能体模型输出的状态数据对应的输出结果。
可以理解的是,要对智能体模型进行训练,需要训练数据,其中,训练数据对模型的训练是至关重要的,本实施例中的智能体模型是需要根据游戏状态输出游戏行为,因此在训练数据中就应该包括状态数据和行为数据。
其中,游戏行为是需要根据游戏状态进行相应的逻辑处理才能够得到的,因此游戏行为的确定,要么需要用户根据游戏状态进行相应的游戏操作,要么需要系统进行游戏行为的选择,其中,根据用户的操作采集游戏行为,难以保证游戏行为的广泛性和优良性,因此在本实施例中,可以根据智能体模型确定游戏行为。
在一种可能的实现方式中,可以将状态数据输入智能体模型,从而得到智能体模型输出的状态数据对应的输出结果,其中,输出结果可以指示相应的游戏行为。
S203、根据状态数据对应的输出结果的熵和行为空间,确定状态数据对应的行为数据。
基于上述介绍可以确定的是,当前确定了智能体模型对应的行为空间,以及确定了状态数据对应的输出结果,输出结果也可以指示游戏行为,则本实施中可以根据这两部分数据进行状态数据对应的行为数据的选择。
在一种可能的实现方式中,例如可以确定状态数据对应的输出结果的熵,其中,熵就是信息中所包含的信息量,或者可以理解为不确定的程度,不确定的程度越大,熵就越大。
对于模型的输出来说,若输出结果的熵越大,则表明模型的输出越平均,这也就表示当前模型并不确定哪个动作是最优的,则例如可以选择随机的动作,让模型进行探索。
在一种可能的实现方式中,可以基于状态数据对应的输出结果的熵,确定相应的概率,这个概率用于指示将随机选择的游戏行为确定为状态数据对应的行为数据的概率。
比如说当前熵为0.9,则例如可以确定概率为90%,也就意味着当前网络有90%的概率从行为空间中随机选择一个游戏行为,作为状态数据对应的行为数据;否则,就将当前模型的输出数据所对应的游戏行为,认为是最优的行为,确定为状态数据对应的行为数据。
在实际实现过程中,熵的具体确定例如可以有相应的算法,本实施例对此不做限制。
在本实施例中,通过输出数据的熵控制智能体模型在探索过程中的贪婪程度,可以使得模型对没有遇见过的状态,不会盲目的进行探索,而是采取随机的动作进行探索,从而可以有效使得训练数据中的行为数据更加多样化,不会集中在某个游戏行为或者某一类游戏行为。
S204、根据状态数据和状态数据对应的行为数据,确定训练数据。
可以理解的是,上述介绍的是状态数据和状态数据对应的行为数据的一次处理过程,在实际实现过程中,智能体模型可以根据状态数据得到对应的行为数据,之后再获取游戏引擎根据行为数据输出的新的状态数据,根据新的状态数据重复执行上述处理过程,得到新的行为数据,重复执行多次,就可以得到大量的训练数据。
S205、根据训练数据对智能体模型进行训练,得到目标智能体。
在得到训练之后,就可以根据训练数据对智能体模型进行训练了,在一种可能的实现方式中,可以将训练数据都抽取出来,经过网络的前向传播后,计算损失函数,再根据损失函数对智能体模型的信参数进行调整,持续对智能体模型进行训练,当智能体模型训练完成之后,就可以得到目标智能体。
其中,目标智能体就是本实施例中需要的,可以输出较优的行为的智能体,之后目标智能体可以帮助用户选择游戏行为,以达到通关的目的。
可以理解的是,本实施例中在确定训练数据时,通关输出数据的熵控制贪婪程度,从而保证了训练数据中的行为数据的多样化,之后再基于训练数据进行智能体模型的训练,可以有效保证训练得到的目标智能体所输出的游戏行为的准确性和有效性。
S206、控制目标智能体在游戏内自动做出动作决策。
在得到目标智能体之后,本实施例中可以控制目标智能体基于游戏内的状态,自动的做出动作决策,因为本实施例中的目标智能体经过了上述介绍的训练过程,因此可以保证做出的动作决策额准确性。
在一种可能的实现方式中,例如可以将当前游戏内的待处理的状态数据输入至目标智能体,目标智能体就可以基于状态数据进行分析,从而输出待处理的状态数据对应的行为数据,之后可以基于该行为数据,控制目标智能体在游戏内自动的执行该行为数据所对应的动作决策,进而实现了基于目标智能体自动的进行游戏选择和操作。
本申请实施例提供的智能体处理方法,包括:确定智能体模型,以及初始化智能体模型的行为空间。向智能体模型中输入状态数据,得到智能体模型输出的状态数据对应的输出结果。根据状态数据对应的输出结果的熵和行为空间,确定状态数据对应的行为数据。根据状态数据和状态数据对应的行为数据,确定训练数据。根据训练数据对智能体模型进行训练,得到目标智能体。控制目标智能体在游戏内自动做出动作决策。通过根据智能体模型的输出结果的熵,确定状态数据对应的行为数据,从而可以保证得到的训练数据的多样化,之后基于多样化的训练数据对智能体模型进行训练,可以有效保证得到的目标智能体所输出的游戏行为的有效性和正确性,从而提升选择的游戏操作的准确率。
在上述实施例的基础上,下面结合一个具体的实施例对本申请提供的智能体处理方法进行进一步的详细介绍,图3为本申请实施例提供的智能体处理方法的流程图二,图4为本申请实施例提供的初始化操作的实现示意图,图5为本申请实施例提供的确定训练数据的实现示意图。
如图3所示,该方法包括:
S301、确定智能体模型。
其中,S301的实现方式与上述S201介绍的类似,此处不再赘述。
S302、获取智能体模型对应的所有初始化状态数据,将初始化状态数据转换为各自对应的向量数据,得到状态空间。
在本实施例中,要初始化智能体模型的行为空间,可以首先确定当前游戏的状态空间,之后根据状态空间初始化行为空间,在状态空间中包括当前游戏的所有状态。
例如可以首先获取当前游戏中的所有状态数据,作为初始化状态数据,其中,状态数据可以理解为当前游戏中所能呈现出的所有状态,比如说环境状态、敌方状态、我方状态、buff(增益)状态等等,本实施例对状态数据的具体实现方式不做特别限制,其取决于具体的游戏设定,状态数据的实现可以根据实际需求进行选择。
在得到初始化状态数据之后,在一种可能的实现方式中,可以将游戏状态进行抽象,比如说将所有的初始化状态数据转换为模型可以识别的一维向量,从而得到各个初始化状态数据各自对应的向量数据,这些向量数据就构成了状态空间。
S303、将状态空间中的向量数据输入至智能体模型,得到各状态数据对应的初始化行为数据。
在确定状态空间之后,可以基于状态空间确定智能体模型对应的行为空间,因为本实施例中的智能体模型可以根据游戏状态得到游戏行为,因此可以参加图4,例如可以将状态空间中的向量数据输入至智能体模型,从而得到各个状态数据各自对应的初始化行为数据。
在一种可能的实现方式中,例如可以根据回合制游戏的特点,将游戏状态对应的向量分为公共状态、敌方状态和我方状态三部分,之后这三个部分经过智能体模型的处理,比如说分别经过不同的全连接层,最后再通过拼接操作把各全连接层的输出拼成一个一维向量,再把该向量通过若干隐含层,最后一层的网络输出即为各个状态数据对应的初始化行为数据。
可以理解的是,上述介绍的处理过程例如可以为智能体模型内部的网络结构。
S304、根据各状态数据对应的初始化行为数据,得到行为空间。
在得到各个状态数据各自对应的初始化行为数据之后,可以用这些初始化行为数据构成行为空间。
针对回合制游戏来说,行为空间对于回合制游戏中的某一个副本是固定的,比如说行为空间中包括了当前副本中所能够执行的所有游戏操作。
S305、向智能体模型中输入状态数据,得到智能体模型输出的状态数据对应的输出结果。
其中,S305的实现方式与S202的实现方式类似,此处不再赘述。
S306、将输出结果进行归一化处理。
在本实施例中,在得到状态数据对应的输出结果之后,可以确定输出结果对应的熵,从而根据输出结果对应的熵,确定当前状态数据所对应的行为数据。
在一种可能的实现方式中,可以首先将输出结果进行归一化处理,在本实施例中,智能体模型例如可以是基于DQN网络的,其中,DQN网络的输出是离散的值,则例如可以先对值利用SoftMax函数进行归一化,其中,归一化处理例如可以满足如下公式一:
其中,zi表示智能体模型输出结果的第i个离散值,pi表示输出结果的第i个离散值归一化后的值,K为输出结果的离散值的数量。
可以理解的是,归一化处理实际上是为了将输出结果的各个离散值映射在0到1的范围内,所以在实际实现过程中,除了上述公式一介绍的实现方式之外,还例如可以采用其余的归一化处理方式,本实施例对此不做特别限制。
S307、根据第一函数对归一化后的输出结果进行处理,得到输出数据对应的熵。
在得到归一化处理后的输出结果之后,可以根据第一函数对归一化处理后的输出结果进行处理,从而得到输出数据对应的熵,其中,第一函数为用于确定输出数据对应的熵的函数。
在一种可能的实现方式中,第一函数例如可以满足如下公式二:
其中,pi表示输出结果的第i个离散值归一化后的值,n为输出结果的离散值的数量。
在实际实现过程中,第一函数的具体实现不限于上述介绍的公式二,比如说上述公式二介绍的恒等变形,或者在上述公式二的基础上添加相关的系数,均可以作为本实施例中的第一函数,只要第一函数可以确定输出结果对应的熵即可。
S308、根据状态数据对应的输出结果的熵,确定第一概率和第二概率。
在计算出熵之后,可以根据熵确定概率,比如说可以确定第一概率和第二概率,其中,第一概率用于指示随机选择游戏行为的概率,第二概率用于指示根据智能体模型的输出确定游戏行为的概率。
比如说当前熵为0.9,则例如可以确定第一概率为90%,第二概率为10%,在实际实现过程中,熵值、第一概率和第二概率均可以取决于具体的输出数据,本实施例对此不做限定,在一种可能的实现方式中,第一概率和第二概率的和为100%。
S309、根据第一概率和第二概率,在状态数据对应的输出结果和行为空间中,确定每个状态数据对应的行为数据。
之后根据第一概率和第二概率,确定每个状态数据对应的行为数据。
在一种可能的实现方式中,可以根据第一概率,将状态数据对应的输出结果所指示的行为数据,确定为状态数据对应的行为数据;或者
根据第二概率,将在行为空间中随机选择的行为,确定为状态数据对应的行为数据。
此处进行举例说明,假设当前确定输出数据的熵为0.9那么就有90%的概率采取随机的动作,也就是说在行为空间中随机选择一个行为,作为状态数据对应的行为数据。否则就直接采取最优的动作,也就是说有10%的概率将输出结果所指示的行为数据确定为状态数据所对应的行为数据。
基于上述介绍可以确定的是,其中熵用于指示不确定的程度,不确定的程度越大,熵越大,那么对于输出结果来说,输出结果的熵越大,就表明当前这个输出结果所对应的行为的不确定的程度更大,在这种情况下,大概率的随机选择一个行为,可以保证网络采用随机的行为进行探索。
相反的,对于输出结果来说,输出结果的熵越小,就表明当前这个输出结果所对应的行为的不确定的程度更小,在这种情况下,大概率的采用输出结果对应的行为,可以保证网络选择更优的行为。
可以理解的是,随着探索次数的增多,智能体模型不断的进行学习,输出结果所指示的行为就会越来越合理,那么熵值就会降低,因此随着智能体模型的不断探索,模型就会选择最优的动作。
例如可以参照图5理解本申请的流程,将状态数据输入智能体模型之后,可以得到输出结果,之后根据输出结果的熵确定状态数据对应的行为数据,具体的确定方式可以参照上述的介绍,此处不再赘述。
S310、将行为数据输入处理引擎,得到处理引擎输出的新的状态数据。
可以理解的是,上述介绍的是一次根据状态数据处理得到行为数据的实现方式,在实际实现过程中,需要大量的训练数据,因此在得到行为数据之后,还需要新的状态数据。
参见图5,在本实施例中,可以将行为数据输出处理引擎,从而得到新的状态数据。
其中,一般游戏都会有提供对应的处理引擎,处理引擎对于模型训练来说是透明的。本实施例中只需要提供行为数据给处理引擎,处理引擎就会返回这个行为的结果,即新状态。
其中,例如可以采用多进程的方式进行采集训练数据,因此可以初始化多个处理引擎供不同的进程去调用。
S311、判断状态数据和行为数据的数据量是否到达预设数据量,若是,则执行S312,若否,则执行S305。
本实施例中在每次得到状态数据和状态数据对应的行为数据之后,可以判断当前的数据量是否足够,具体的,可以判断状态数据和行为数据的数据量是否达到预设数据量。
在一种可能的实现方式中,参见图5,若当前的数据量未达到预设数据量,则可以将上述步骤中确定的新的状态输入到模型中,让模型获取新的行为,也就是说重复执行上述的步骤S305。
S312、将预设数据量的状态数据和行为数据,确定为训练数据。
在另一种可能的实现方式中,参见图5,若当前的数据量达到了预设数据量,则表明此时采集的训练数据足够了,则可以将预设数据量的状态数据和行为数据,确定为训练数据。
S313、根据奖励函数对训练数据中的各个行为数据进行处理,得到各行为数据各自对应的奖励函数值。
在一种可能的实现方式中,例如可以将训练数据存放到记忆库中,供模型进行训练。
其中,在把数据放到记忆库前,需要利用奖励函数对训练数据中的各个行为数据进行评判,以便后续对模型进行调整。
对于回合制游戏而言,可以按照行为造成的伤害或治疗来进行奖励。但是对于通关副本而言,往往更加关注智能体最后是否通关,并且每个行为a之间会有一定的关联性,因此奖励函数不能简单的进行赋值。
本实施例中采用的方法是提供一个通关奖励,并把该奖励回馈到当前局的所有行动中去,使得所有行为都能预测到未来的奖励,从而能学习到更优的能通关的行为。其中奖励函数的涉及例如可以满足如下公式三:
其中,γ为衰变系数,因为一般而言,越接近通过的策略会更加重要,越久远的策略,对于通关的影响程度就越低。γ这个参数就是用来控制影响程度的,γ的具体设定可以根据实际需求进行选择。以及,rt为通关奖励,rt同样可以根据实际需求进行设定,为单次行动的奖励,可以根据当前的动作进行确定。
S314、根据训练数据对智能体模型进行训练,得到目标智能体。
在得到足够的训练数据之后,就可以对智能体模型进行训练,在训练完成后,即可得到目标智能体。
在一种可能的实现方式中,可以将各训练数据中的状态数据输入至智能体模型,进行网络的前向传播,得到智能体模型的预估动作数据。
根据损失函数和奖励函数值,计算预估动作数据的损失函数值。
根据损失函数值对智能体模型的参数进行调整。
重复执行上述步骤,直至智能体模型满足训练结束条件。
下面结合具体的示例进行说明,其中,网络训练时可以把记忆库中的训练数据都抽取出来,经过网络的前向传播后,利用DQN的损失函数计算损失,具体而言,该损失函数可以看做是Q估计值的与Q实际值之间的最小均方差的最优化问题,Q估计值可以理解为上述介绍的预估动作数据的Q值,Q实际值可以理解为训练数据中状态数据所对应的动作数据的Q值。
在一种可能的实现方式中,Q值的计算例如可以满足如下公式四:
Q(s,a)=Q(s,a)+α[R(a)+λmaxQ(s`,a`)-Q(s,a)] 公式四
其中,Q(s,a)为状态s和行为a对应的Q值,Q(s`,a`)为状态s`和行为a`对应的Q值,状态s和行为a为训练数据中的状态和行为,状态s`和行为a`为智能体模型在当前训练过程中,输出的状态和输出的行为,α为学习率,用于控制学习速度的快慢,R(a)为行为a的奖励函数值,λ为折扣因子,用于控制当前奖励对过去的影响程度。
在确定Q值之后,可以基于Q值确定损失函数值,其中,损失函数值例如可以满足如下的公式五:
Loss=(r+λmaxa`Q(s`,a`,θ`)-Q(s,a,θ))2 公式五
其中,r为当前的奖励值,λ为控制当前奖励对过去的影响程度,Q(s`,a`,θ`)为下一个状态的网络预测值,Q(s,a,θ)为当前状态的网络预测值。
基于上述公式四和公式五,就可以实现根据损失函数和奖励函数值,计算预估动作数据的损失函数值。
之后根据损失函数值对智能体模型的参数进行调整,在训练过程中,例如可以采用梯度下降的方法,根据学习率控制训练模型网络的速度。
在实际训练过程中,例如可以采用上述训练数据对智能体模型进行多轮训练,或者还可以在训练完成之后,继续进行数据的采集,然后基于新采集的数据不断的对智能体模型进行训练,直到模型的达到训练结束条件,则确定模型的训练完成,从而得到目标智能体。
其中,训练结束条件可以包括如下中的至少一种:智能体模型的训练轮数达到预设轮数、智能体模型的准确率达到预设准确率、智能体模型收敛。
S315、控制目标智能体在游戏内自动做出动作决策。
在得到目标智能体之后,可以控制目标智能体在游戏内自动做出动作决策,其实现方式与上述S206介绍的类似,此处不再赘述。
本申请实施例提供的智能体处理方法及装置,通过根据输出数据的熵,选择状态数据对应的行为数据,以得到训练数据,可以有效提升模型的探索效率,对于回合制游戏中新的游戏状态,模型会更加倾向于探索,使得目标智能体的输出更加多样化,不会集中在某个动作中。以及,通过设置上述介绍的奖励函数,会使得目标智能体采取的行为获得的奖励更加准确,使得模型收敛得更快,让训练出来的目标智能体去玩回合制游戏中的特定副本,会更加的智能,有效提升了准确性。并且根据智能体模型进行训练数据的采集,有效提高了智能体与环境交互采集数据的速度,从而使得记忆库更加庞大,训练的样本更多,训练出来的智能体会更加的智能,有效保证了目标智能体选择的行为的准确性和合理性。
在上述实施例的基础上,下面结合一个具体的实施例对本申请提供的智能体处理方法进行一个更加详细和更加系统的说明,图6为本申请实施例提供的智能体处理方法的流程示意图。
如图6所示,可以首先构建智能体模型以及初始化状态空间和行为空间,以及本实施例中是针对回合制游戏进行模型训练,在回合制游戏中可以包括多个副本,根据训练的副本不同,可以初始化不同的副本环境,从而确定初始状态。
之后,可以将初始状态输出网络,以得到网络的输出,此处的网络指的就是智能体模型的网络,在得到网络的输出之后,可以计算网络输出的熵,并且根据熵确定游戏状态对应的游戏行为。
在图6中的示意有判断熵是否满足条件,实际上就是根据熵确定相应的概率,以熵对应的概率在行为空间中选择随机行为,作为游戏状态对应的游戏行为,否则,将当前的最佳行为确定为游戏状态对应的游戏行为,其中,最佳行为就是网络当前的输出数据所指示的行为。
在确定游戏行为之后,可以将游戏行为输入至游戏引擎中,游戏引擎可以返回这个行为的结果,从而可以得到新的状态。
之后可以判断当前采集到的数据是否足够,若足够,则根据采集到的数据进行网络的训练,若不足够,则将新的状态输入至网络中,以重复上述执行过程,直至得到足够的训练数据。
之后根据训练数据对模型进行训练数据,在未达到训练终止条件时,可以持续的执行上述介绍的采集训练数据以及根据训练数据训练模型的操作,直至模型的训练达到训练终止条件,从而结束模型的训练,得到目标智能体。
在实际实现过程中,训练数据的采集例如可以利用多进程的方式,进行多进程采集,得到大批量的真实数据,并保存到记忆库中,可以理解的是,根据真实数据进行训练,可以有效提升智能体的准确率,并且这些真实数据是智能体模型处理得到的,从而可以有效保证训练数据的数量和广泛性,以有效保证模型训练的有效性。
在进行模型训练时,可以从记忆库中抽取部分样本,采用批量更新的方式,利用随机梯度下降的方法并计算损失,利用损失更新神经网络,重复若干次,最终得到一个能自动通关副本的智能体。
综上所述,本申请实施例通过根据智能体模型生成训练数据,再基于训练数据对智能体模型进行训练,可以有效保证训练数据的广泛性和多样性,以保证模型的有效训练,以及在采集训练数据的过程中,根据熵确定行为数据,可以使得网络进行足够的探索,从而保证训练数据的多样性,以提升模型的性能,以及上述介绍的奖励函数的设计,会使得目标智能体采取的行为获得的奖励更加准确,使得模型收敛得更快,让训练出来的目标智能体去玩回合制游戏中的特定副本,会更加的智能,有效提升了准确性。
图7为本申请实施例提供的智能体处理装置的结构示意图。如图7所示,该装置70包括:处理模块701、输入模块702、确定模块703以及训练模块704。
处理模块701,用于确定智能体模型,以及初始化所述智能体模型的行为空间;
输入模块702,用于向所述智能体模型中输入状态数据,得到所述智能体模型输出的所述状态数据对应的输出结果;
确定模块703,用于根据所述状态数据对应的输出结果的熵和所述行为空间,确定所述状态数据对应的行为数据;
所述确定模块703,还用于根据所述状态数据和所述状态数据对应的行为数据,确定训练数据;
训练模块704,用于根据所述训练数据对所述智能体模型进行训练,得到目标智能体;
所述处理模块701,还用于控制所述目标智能体在游戏内自动做出动作决策。
在一种可能的设计中,所述确定模块703具体用于:
根据所述状态数据对应的输出结果的熵,确定第一概率和第二概率,其中,所述第一概率和所述第二概率的和为100%;
根据所述第一概率和所述第二概率,在所述状态数据对应的输出结果和所述行为空间中,确定所述状态数据对应的行为数据。
在一种可能的设计中,所述确定模块703具体用于:
根据所述第一概率,将所述状态数据对应的输出结果所指示的行为数据,确定为所述状态数据对应的行为数据;或者
根据所述第二概率,将在所述行为空间中随机选择的行为,确定为所述状态数据对应的行为数据。
在一种可能的设计中,所述确定模块703具体用于:
将所述行为数据输入处理引擎,得到所述处理引擎输出的新的状态数据;
重复执行将新的状态数据输入所述智能体模型以及将所述新的状态数据对应的的行为数据输入所述处理引擎的操作,直至得到预设数据量的状态数据和行为数据;
将所述预设数据量的状态数据和行为数据,确定为所述训练数据。
在一种可能的设计中,所述处理模块701,还用于:
将所述输出结果进行归一化处理;
根据第一函数对所述归一化后的输出结果进行处理,得到所述输出数据对应的熵。
在一种可能的设计中,所述处理模块701具体用于:
获取所述智能体模型对应的所有初始化状态数据,将所述初始化状态数据转换为各自对应的向量数据,得到状态空间;
将所述状态空间中的向量数据输入至所述智能体模型,得到各所述状态数据对应的初始化行为数据;
根据各所述状态数据对应的初始化行为数据,得到所述行为空间。
在一种可能的设计中,所述处理模块701还用于:
根据奖励函数对所述训练数据中的各个行为数据进行处理,得到各所述行为数据各自对应的奖励函数值。
在一种可能的设计中,所述训练模块704具体用于:
将各所述训练数据中的状态数据输入至所述智能体模型,进行网络的前向传播,得到所述智能体模型的预估动作数据;
根据损失函数和所述奖励函数值,计算所述预估动作数据的损失函数值;
根据所述损失函数值对所述智能体模型的参数进行调整;
重复执行上述步骤,直至所述智能体模型满足训练结束条件。
在一种可能的设计中,所述训练结束条件包括如下中的至少一种:所述智能体模型的训练轮数达到预设轮数、所述智能体模型的准确率达到预设准确率、所述智能体模型收敛。
在一种可能的设计中,所述处理模块701具体用于:
将游戏内待处理的状态数据输入至所述目标智能体,得到所述目标智能体输出的行为数据;
根据所述目标智能体输出的行为数据,控制所述目标智能体在游戏内自动做出所述行为数据对应的动作决策。
本实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本申请实施例提供的智能体处理设备的硬件结构示意图,如图8所示,本实施例的智能体处理设备80包括:处理器801以及存储器802;其中
存储器802,用于存储计算机执行指令;
处理器801,用于执行存储器存储的计算机执行指令,以实现上述实施例中智能体处理方法所执行的各个步骤。具体可以参见前述方法实施例中的相关描述。
可选地,存储器802既可以是独立的,也可以跟处理器801集成在一起。
当存储器802独立设置时,该智能体处理设备还包括总线803,用于连接所述存储器802和处理器801。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上智能体处理设备所执行的智能体处理方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种智能体处理方法,其特征在于,包括:
确定智能体模型,以及初始化所述智能体模型的行为空间;
向所述智能体模型中输入状态数据,得到所述智能体模型输出的所述状态数据对应的输出结果;
根据所述状态数据对应的输出结果的熵和所述行为空间,确定所述状态数据对应的行为数据;
根据所述状态数据和所述状态数据对应的行为数据,确定训练数据;
根据所述训练数据对所述智能体模型进行训练,得到目标智能体;
控制所述目标智能体在游戏内自动做出动作决策。
2.根据权利要求1所述的方法,其特征在于,所述根据所述状态数据对应的输出结果的熵和所述行为空间,确定所述状态数据对应的行为数据,包括:
根据所述状态数据对应的输出结果的熵,确定第一概率和第二概率;
根据所述第一概率和所述第二概率,在所述状态数据对应的输出结果和所述行为空间中,确定所述状态数据对应的行为数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一概率和所述第二概率,在所述状态数据对应的输出结果和所述行为空间中,确定所述状态数据对应的行为数据,包括:
根据所述第一概率,将所述状态数据对应的输出结果所指示的行为数据,确定为所述状态数据对应的行为数据;或者
根据所述第二概率,将在所述行为空间中随机选择的行为,确定为所述状态数据对应的行为数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述状态数据和所述状态数据对应的行为数据,确定训练数据,包括:
将所述行为数据输入处理引擎,得到所述处理引擎输出的新的状态数据;
重复执行将新的状态数据输入所述智能体模型以及将所述新的状态数据对应的的行为数据输入所述处理引擎的操作,直至得到预设数据量的状态数据和行为数据;
将所述预设数据量的状态数据和行为数据,确定为所述训练数据。
5.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
将所述输出结果进行归一化处理;
根据第一函数对所述归一化后的输出结果进行处理,得到所述输出数据对应的熵。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述初始化所述智能体模型的行为空间,包括:
获取所述智能体模型对应的所有初始化状态数据,将所述初始化状态数据转换为各自对应的向量数据,得到状态空间;
将所述状态空间中的向量数据输入至所述智能体模型,得到各所述状态数据对应的初始化行为数据;
根据各所述状态数据对应的初始化行为数据,得到所述行为空间。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据奖励函数对所述训练数据中的各个行为数据进行处理,得到各所述行为数据各自对应的奖励函数值。
8.根据权利要求7所述的方法,其特征在于,所述根据所述训练数据对所述智能体模型进行训练,得到目标智能体,包括:
将各所述训练数据中的状态数据输入至所述智能体模型,进行网络的前向传播,得到所述智能体模型的预估动作数据;
根据损失函数和所述奖励函数值,计算所述预估动作数据的损失函数值;
根据所述损失函数值对所述智能体模型的参数进行调整;
重复执行上述步骤,直至所述智能体模型满足训练结束条件。
9.根据权利要求8所述的方法,其特征在于,所述训练结束条件包括如下中的至少一种:所述智能体模型的训练轮数达到预设轮数、所述智能体模型的准确率达到预设准确率、所述智能体模型收敛。
10.根据权利要求1-9任一项所述的方法,其特征在于,所述控制所述目标智能体在游戏内自动做出动作决策,包括:
将游戏内待处理的状态数据输入至所述目标智能体,得到所述目标智能体输出的行为数据;
根据所述目标智能体输出的行为数据,控制所述目标智能体在游戏内自动做出所述行为数据对应的动作决策。
11.一种智能体处理装置,其特征在于,包括:
处理模块,用于确定智能体模型,以及初始化所述智能体模型的行为空间;
输入模块,用于向所述智能体模型中输入状态数据,得到所述智能体模型输出的所述状态数据对应的输出结果;
确定模块,用于根据所述状态数据对应的输出结果的熵和所述行为空间,确定所述状态数据对应的行为数据;
所述确定模块,还用于根据所述状态数据和所述状态数据对应的行为数据,确定训练数据;
训练模块,用于根据所述训练数据对所述智能体模型进行训练,得到目标智能体;
所述处理模块,还用于控制所述目标智能体在游戏内自动做出动作决策。
12.一种智能体处理设备,其特征在于,包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如权利要求1至10中任一所述的方法。
13.一种计算机可读存储介质,其特征在于,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至10中任一所述的方法。
14.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277003.XA CN112843726A (zh) | 2021-03-15 | 2021-03-15 | 智能体处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277003.XA CN112843726A (zh) | 2021-03-15 | 2021-03-15 | 智能体处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112843726A true CN112843726A (zh) | 2021-05-28 |
Family
ID=75994504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110277003.XA Pending CN112843726A (zh) | 2021-03-15 | 2021-03-15 | 智能体处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112843726A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090150308A1 (en) * | 2007-12-07 | 2009-06-11 | Microsoft Corporation | Maximum entropy model parameterization |
CN109107161A (zh) * | 2018-08-17 | 2019-01-01 | 深圳市腾讯网络信息技术有限公司 | 一种游戏对象的控制方法、装置、介质以及设备 |
CN109621431A (zh) * | 2018-11-30 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种游戏动作的处理方法和装置 |
CN109815631A (zh) * | 2019-02-26 | 2019-05-28 | 网易(杭州)网络有限公司 | 一种游戏数据的处理方法和装置 |
CN110339569A (zh) * | 2019-07-08 | 2019-10-18 | 深圳市腾讯网域计算机网络有限公司 | 控制游戏场景中虚拟角色的方法及装置 |
CN111260039A (zh) * | 2020-05-06 | 2020-06-09 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于辅助任务学习的视频游戏决策方法 |
CN111282267A (zh) * | 2020-02-11 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、介质及电子设备 |
CN111841016A (zh) * | 2019-04-28 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 游戏ai系统、游戏ai的信息处理方法、装置和存储介质 |
WO2020233464A1 (zh) * | 2019-05-21 | 2020-11-26 | 腾讯科技(深圳)有限公司 | 模型训练方法、装置、存储介质及设备 |
CN112052456A (zh) * | 2020-08-31 | 2020-12-08 | 浙江工业大学 | 基于多智能体的深度强化学习策略优化防御方法 |
JP2021018819A (ja) * | 2019-07-17 | 2021-02-15 | エヌエイチエヌ コーポレーション | ディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法 |
-
2021
- 2021-03-15 CN CN202110277003.XA patent/CN112843726A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090150308A1 (en) * | 2007-12-07 | 2009-06-11 | Microsoft Corporation | Maximum entropy model parameterization |
CN109107161A (zh) * | 2018-08-17 | 2019-01-01 | 深圳市腾讯网络信息技术有限公司 | 一种游戏对象的控制方法、装置、介质以及设备 |
CN109621431A (zh) * | 2018-11-30 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种游戏动作的处理方法和装置 |
CN109815631A (zh) * | 2019-02-26 | 2019-05-28 | 网易(杭州)网络有限公司 | 一种游戏数据的处理方法和装置 |
CN111841016A (zh) * | 2019-04-28 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 游戏ai系统、游戏ai的信息处理方法、装置和存储介质 |
WO2020233464A1 (zh) * | 2019-05-21 | 2020-11-26 | 腾讯科技(深圳)有限公司 | 模型训练方法、装置、存储介质及设备 |
CN110339569A (zh) * | 2019-07-08 | 2019-10-18 | 深圳市腾讯网域计算机网络有限公司 | 控制游戏场景中虚拟角色的方法及装置 |
JP2021018819A (ja) * | 2019-07-17 | 2021-02-15 | エヌエイチエヌ コーポレーション | ディープラーニングに基づく囲碁ゲームサービスシステム及びサービス方法 |
CN111282267A (zh) * | 2020-02-11 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 信息处理方法、装置、介质及电子设备 |
CN111260039A (zh) * | 2020-05-06 | 2020-06-09 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 基于辅助任务学习的视频游戏决策方法 |
CN112052456A (zh) * | 2020-08-31 | 2020-12-08 | 浙江工业大学 | 基于多智能体的深度强化学习策略优化防御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210365782A1 (en) | Method and apparatus for generating neural network model, and computer-readable storage medium | |
CN111282267B (zh) | 信息处理方法、装置、介质及电子设备 | |
CN110134375B (zh) | 游戏角色行为的控制方法、装置及可读存储介质 | |
CN109460463A (zh) | 基于数据处理的模型训练方法、装置、终端及存储介质 | |
CN109847366B (zh) | 用于游戏的数据处理方法和装置 | |
CN110287111A (zh) | 一种用户界面的测试用例生成方法及装置 | |
CN112843725A (zh) | 智能体处理方法及装置 | |
CN115033878A (zh) | 快速自博弈强化学习方法、装置、计算机设备和存储介质 | |
CN111310918A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN112990461B (zh) | 构建神经网络模型的方法、装置、计算机设备和存储介质 | |
CN112699046A (zh) | 应用程序测试方法及装置、电子设备和存储介质 | |
CN112843726A (zh) | 智能体处理方法及装置 | |
CN116090549A (zh) | 一种基于知识驱动的多智能体强化学习决策方法、系统及存储介质 | |
CN113946604B (zh) | 分阶段围棋教学方法、装置、电子设备及存储介质 | |
Arunadevi et al. | Comparison of feature selection strategies for classification using rapid miner | |
CN112884066A (zh) | 数据处理方法及装置 | |
CN112560507A (zh) | 用户模拟器构建方法、装置、电子设备及存储介质 | |
CN112765242A (zh) | 基于游戏树搜索算法的决策模型数据处理方法及系统 | |
CN112001071A (zh) | 模拟竞猜数据的确定方法、装置、设备及介质 | |
JP2019079227A (ja) | 状態遷移規則獲得装置、行動選択学習装置、行動選択装置、状態遷移規則獲得方法、行動選択方法、およびプログラム | |
CN117435516B (zh) | 一种测试用例优先级排序方法和系统 | |
CN111178541B (zh) | 游戏人工智能系统及其性能提升系统及方法 | |
CN111481935B (zh) | 不同风格游戏ai模型的配置方法、装置、设备及介质 | |
CN116029370B (zh) | 基于区块链的联邦学习的数据共享激励方法、装置及设备 | |
CN114638363A (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 |