一种兵棋推演的策略生成方法、电子设备、存储介质
文献发布时间:2024-04-18 20:02:40
技术领域
本发明涉及多智能体强化学习技术领域,特别是涉及一种兵棋推演的策略生成方法、电子设备、存储介质
背景技术
兵棋推演是一种可以用于模拟军事部署、推演战斗过程、预测战斗结果,从而评估战术可行性、战斗的胜负、人员以及装备损害程度的重要手段,随着信息技术和军事技术的高速发展,兵棋推演逐渐演变成海、陆、空、天、网络空间和电磁空间的多主体联合作战的过程,如何规划和协调多个作战主体的作战能力,成为兵棋推演中的重要研究问题,通过人工智能模型进行兵棋推演,利用计算机资源为指挥者提供决策支持具有深远意义。
但是由于兵棋推演以多主体联合作战为主,而各个主体的决策是相对独立的,且每个主体能观测到的信息都是有限的,这导致通过人工智能模型进行兵棋推演的过程具有策略的不可传递性、不完美信息、多主体同时决策等特性,不完美信息是指每个决策主体无法获取完整的博弈环境的信息,难以做出最优决策,奖赏稀疏会导致智能体无法确定所执行的动作是否有利于完成任务,难以学习到有效的策略且模型学习缓慢难以收敛,多主体之间的策略不可传递性会导致每个决策主体在决策时容易陷入局部最优,同时多主体决策会导致每个决策主体之间的行为相互影响,决策复杂度大幅提高,这导致模型难以得到整体最优解。此外,由于其他主体的动作影响,决策主体在面临同一观测状态作出相同决策时,决策主体的观测状态的改变是不唯一的,这导致了多主体协作过程不平稳的问题。
发明内容
本发明实施例的主要目的在于提出一种兵棋推演的策略生成方法、电子设备、计算机可读存储介质,可以解决通过人工智能模型进行兵棋推演的过程中难以得到最优解以及多智能体协作不平稳的问题。
为实现上述目的,本发明实施例的第一方面提出一种兵棋推演的策略生成方法,所述方法包括:
获取战场仿真环境;
将至少两个对战方的对战实体分别进行编队,得到每个所述对战方的多个编组,其中,每个所述对战方包括多个智能体,每个所述智能体分别控制一个编组,其中,属于不同的所述对战方的智能体互为对手智能体;
构建每个所述智能体在所述战场仿真环境中的状态空间和动作空间;
根据每个所述对战方的所有所述智能体的所述状态空间和所述动作空间构建所述对战方的联合观测空间、联合动作空间、联合奖励函数和状态转移函数;
根据所述联合观测空间确定所述对战方在每个时间步下的观测序列;
根据所述观测序列确定观测表征序列;
根据所述观测表征序列确定动作序列,其中,所述动作序列包括每个所述智能体的动作,第i个所述智能体的动作根据前i-1个所述智能体的动作和所述观测表征序列确定;
通过所述联合动作空间将所述动作序列转换为每个所述对战实体的动作指令并控制每个所述对战实体对所述战场仿真环境执行动作指令;
根据所述状态转移函数确定所述智能体执行所述动作序列前后的所述联合观测空间的变化值,并根据所述联合奖励函数确定每个所述智能体执行所述动作序列的奖赏值;
根据所述观测序列,所述动作序列和所述奖赏值构成回放经验并存储到经验回放池中;
在所述经验回放池中的所述回放经验的数量大于第一经验阈值的情况下,采样所述回放经验训练所述智能体的策略网络和评价网络;
在采样所述回放经验的次数大于训练局数阈值,且所述智能体在所述回放经验的对局中的胜率大于第一胜率阈值的情况下,根据对手策略选择机制控制所述智能体和所述对手智能体进行对抗训练以生成策略以构建所述智能体的策略池;
在所述智能体与所述对手智能体对抗的局数大于对抗局数阈值且所述智能体在与所述对手智能体对抗的过程中胜率大于第二胜率阈值的情况下,确定完成对所述智能体的训练;
通过完成训练的所述智能体从所述策略池中输出策略。
在一些实施例中,所述根据每个所述对战方的所有所述智能体的所述状态空间和所述动作空间构建所述对战方的联合观测空间、联合动作空间、联合奖励函数和状态转移函数,包括:
根据第一对战方的所有所述智能体的状态空间确定所述第一对战方的联合观测空间;其中,所述第一对战方是所述对战方中的一个;
根据所述第一对战方的所有所述智能体的动作空间确定所述第一对战方的联合动作空间;
根据所述第一对战方的所述联合观测空间和所述联合动作空间构建所述第一对战方的联合奖励函数和状态转移函数,其中,所述联合奖励函数用于计算所述对战方在所述联合观测空间下采取执行策略的期望奖励值,所述状态转移函数用于表征所述对战方执行策略前后所述联合观测空间的变化关系。。
在一些实施例中,所述方法还包括:
构建所述评价网络的值函数,其中,所述评价网络的值函数为:
其中,π表示所述对战方的所有所述智能体的动作构成的团队策略,a
在一些实施例中,所述采样所述回放经验训练所述智能体的策略网络和评价网络,包括:
获取所述回放经验中每个智能体在每个时间步下的所述观测表征序列、所述动作序列和所述奖赏值;
根据所述观测表征序列确定每个所述智能体在每个时间步下的值函数估计值,其中,所述值函数估计值是所述观测值函数和所述观测-动作对值函数中的一个;
根据每个所述智能体在每个时间步下的值函数估计值和所述对战方在每个时间步的所述奖赏值优化所述评价网络的参数;
根据所述观测表征序列和所述动作序列确定每个所述智能体在每个时间步下的策略;
根据每个所述智能体在每个时间步下的所述值函数估计值、每个所述智能体在每个时间步下的策略优化所述策略网络的参数。
在一些实施例中,所述根据所述观测表征序列确定动作序列,包括:
对所述对战方的每个所述智能体执行如下操作:
将所述智能体作为第i个智能体;
获取所述第i个智能体的观测表征,其中,所述第i个智能体的观测表征根据所述观测表征序列确定
获取前i-1个智能体的动作;
根据所述第i个智能体的观测表征和所述前i-1个智能体的动作确定所述第i个智能体的动作;
将所述第i个智能体的动作添加到所述对战方的所述动作序列中。
在一些实施例中,所述根据所述对手策略选择机制控制所述智能体和所述对手智能体对抗并生成策略以构建所述智能体的策略池,包括:
将至少两个所述对战方分别确定为主练方和陪练方,其中,所述主练方的智能体为第一智能体,所述陪练方的所述智能体包括主陪练智能体和副陪练智能体;
将所述主陪练智能体的策略池和所述副陪练智能体的策略池中的策略周期性初始化为专家规则;
所述第一智能体根据所述对手策略选择机制从所述主陪练智能体的策略池和所述副陪练智能体的策略池中选取对手策略进行训练,以生成新的策略并添加到所述第一智能体的策略池中以构建所述智能体的策略池;
所述主陪练智能体以所第一智能体在当前周期选择的策略为对手进行训练,以生成新的策略并添加到所述主陪练智能体的策略池中作为所述第一智能体的对手策略;
所述副陪练智能体以所述第一智能体的策略池中的历史策略为对手进行训练,以生成新的策略并添加到所述副陪练智能体的策略池中作为所述第一智能体的对手策略。
在一些实施例中,所述方法还包括:
获取所述智能体以第一策略击败所述对手智能体的每个策略的统计概率,其中,所述第一策略是所述智能体当前选择的策略;
根据所述智能体以第一策略击败所述对手智能体的第二策略的统计概率以及所述智能体以所述第一策略击败所述对手智能体每个策略的统计概率的总和确定所述对手智能体选择所述第二策略的概率,其中,所述第二策略是所述对手智能体的策略中的一个
根据所述对手智能体选择每个所述第二策略的概率构建所述对手策略选择机制。
在一些实施例中,所述根据所述智能体以第一策略击败所述对手智能体的第二策略的统计概率以及所述智能体以所述第一策略击败所述对手智能体除所述第二策略外的所有策略的统计概率的总和确定所述对手智能体选择所述第二策略的概率,包括:
对所述智能体的训练进行难度划分,得到所述智能体的多个训练难度;
确定所述智能体在每个所述训练难度下的第一映射函数,其中,所述第一映射函数用于将所述智能体以所述第一策略击败所述对手智能体的每个策略的统计概率映射至相应的所述训练难度;
根据所述智能体当前选择的所述训练难度和所述第一映射函数更新所述智能体以所述第一策略击败所述对手智能体的每个策略的统计概率;
根据更新后的所述统计概率确定所述对手智能体选择所述第二策略的概率。
在一些实施例中,所述方法还包括:
确定所述智能体执行任务的初始达成率和所述智能体执行任务的目标达成率;
根据训练局数阈值、所述初始达成率和所述目标达成率确定所述智能体的至少一个阶段达成率,所述阶段达成率用于表征所述智能体在训练过程中的每个阶段的任务达成率;
根据所述初始达成率、所述阶段达成率和所述目标达成率构建所述智能体的奖赏函数;
在所述智能体和所述对手智能体进行对抗训练的过程中,根据所述奖赏函数给予所述智能体奖赏值。
在一些实施例中,所述方法还包括:
在所述智能体消灭所述对手智能体控制的所述对战实体时,向所述智能体的奖赏函数中增加第一奖赏值;
在所述智能体控制的所述对战实体被所述对手智能体消灭时,从所述智能体的奖赏函数中扣除所述第一奖赏值。
本申请实施例的第二方面提出一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面实施例中任意一项所述的方法。
本申请实施例的第三方面提出一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器运行,以实现如第一方面实施例中任一项所述的方法。
本申请实施例提出一种战场仿真的策略生成方法、电子设备和存储介质,方法包括:获取战场仿真环境;将至少两个对战方的对战实体分别进行编队,得到每个所述对战方的多个编组,其中,每个所述对战方包括多个智能体,每个所述智能体分别控制一个编组,其中,属于不同的所述对战方的智能体互为对手智能体;构建每个所述智能体在所述战场仿真环境中的状态空间和动作空间;根据每个所述对战方的所有所述智能体的所述状态空间和所述动作空间构建所述对战方的联合观测空间、联合动作空间、联合奖励函数和状态转移函数;根据所述联合观测空间确定所述对战方在每个时间步下的观测序列;根据所述观测序列确定观测表征序列;根据所述观测表征序列确定动作序列,其中,所述动作序列包括每个所述智能体的动作,第i个所述智能体的动作根据前i-1个所述智能体的动作和所述观测表征序列确定;通过所述联合动作空间将所述动作序列转换为每个所述对战实体的动作指令并控制每个所述对战实体对所述战场仿真环境执行动作指令;根据所述状态转移函数确定所述智能体执行所述动作序列前后的所述联合观测空间的变化值,并根据所述联合奖励函数确定每个所述智能体执行所述动作序列的奖赏值;根据所述观测序列,所述动作序列和所述奖赏值构成回放经验并存储到经验回放池中;在所述经验回放池中的所述回放经验的数量大于第一经验阈值的情况下,采样所述回放经验训练所述智能体的策略网络和评价网络;在采样所述回放经验的次数大于训练局数阈值,且所述智能体在所述回放经验的对局中的胜率大于第一胜率阈值的情况下,根据对手策略选择机制控制所述智能体和所述对手智能体进行对抗训练以生成策略以构建所述智能体的策略池;在所述智能体与所述对手智能体对抗的局数大于对抗局数阈值且所述智能体在与所述对手智能体对抗的过程中胜率大于第二胜率阈值的情况下,确定完成对所述智能体的训练;通过完成训练的所述智能体从所述策略池中输出策略。本申请实施例通过基于每个智能体的状态空间和动作空间构建多智能体的联合状态空间、联合动作空间、联合奖励函数和状态转移函数,使多智能体可以在团队层面进行学习和决策,避免每个智能体在决策时陷入局部最优,同时将多智能体决策问题转化为生成动作序列的策略生成问题,大幅降低了多智能体决策的复杂度,同时,控制每个智能体在决策时除了基于智能体的观测信息外还需要考虑其它智能体的动作序列,一方面,由于智能体在决策时会考虑其它智能体的动作,智能体在面临同一观测状态时也会由于其它智能体的动作而选择不同的动作,从而避免智能体在面临同一观测状态时采取相同动作,却由于其它智能体的影响使得观测状态空间的变化不唯一,导致多智能体协作不平稳的问题,另一方面可以避免由于多智能体之间的策略不可传递导致每个智能体决策时容易陷入局部最优的问题,有效提高了兵棋推演场景下智能体决策的平稳性,同时使得多智能体的决策可以更好的逼近全局最优解,基于此,提供一种可以有效地利用人工智能模型进行兵棋推演,为指挥者提供决策支持的方法。
附图说明
图1是本申请实施例提出的一种兵棋推演的策略生成方法的流程图;
图2是本申请实施例提出的策略网络和评价网络的架构示意图;
图3是图1中步骤S111的子流程图;
图4是图1中步骤S104的子流程图;
图5是图1中步骤S112的子流程图;
图6是本申请实施例提出的另一种兵棋推演的策略生成方法的流程图;
图7是图6中步骤S602的子流程图;
图8是本申请实施例提出的另一种兵棋推演的策略生成方法的流程图;
图9是应用本申请实施例提出的兵棋推演的策略生成方法训练智能体过程中智能体的胜率变化图;
图10是本申请实施例提出的一种电子设备的结构示意图;
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序运行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序运行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际运行的顺序有可能根据实际情况改变。
参照图1,本发明实施例第一方面提出一种方法,包括但不限于如下步骤:
步骤S101,获取战场仿真环境;
步骤S102,将至少两个对战方的对战实体分别进行编队,得到每个对战方的多个编组,其中,每个对战方包括多个智能体,每个智能体分别控制一个编组,其中,属于不同的对战方的智能体互为对手智能体;
步骤S103,构建每个智能体在战场仿真环境中的状态空间和动作空间;
步骤S104,根据每个对战方的所有智能体的状态空间和动作空间构建对战方的联合观测空间、联合动作空间、联合奖励函数和状态转移函数;
步骤S105,根据联合观测空间确定对战方在每个时间步下的观测序列;
步骤S106,根据观测序列确定观测表征序列;
步骤S107,根据观测表征序列确定动作序列,其中,动作序列包括每个智能体的动作,第i个智能体的动作根据前i-1个智能体的动作和观测表征序列确定;
步骤S108,通过联合动作空间将动作序列转换为每个对战实体的动作指令并控制每个对战实体对战场仿真环境执行动作指令;
步骤S109,根据状态转移函数确定智能体执行所述动作序列前后的联合观测空间的变化值,并根据联合奖励函数确定每个智能体执行动作序列的奖赏值;
步骤S110,根据观测序列,动作序列和奖赏值构成回放经验并存储到经验回放池中;
步骤S111,在经验回放池中的回放经验的数量大于第一经验阈值的情况下,采样回放经验训练智能体的策略网络和评价网络;
步骤S112,在采样回放经验的次数大于训练局数阈值,且智能体在回放经验的对局中的胜率大于第一胜率阈值的情况下,根据对手策略选择机制控制智能体和对手智能体进行对抗训练以生成策略以构建智能体的策略池;
步骤S113,在智能体与对手智能体对抗的局数大于对抗局数阈值且智能体在与对手智能体对抗的过程中胜率大于第二胜率阈值的情况下,确定完成对智能体的训练;
步骤S114,通过完成训练的智能体从策略池中输出策略。
在一些实施例中,战场仿真环境可以包括兵棋推演环境的场地信息,比如海洋、陆地、航天、太空、网络空间、电磁空间等战场仿真的场地的环境信息,进一步,还可以是上述场地叠加构成的复杂对战环境。
在一些实施例中,对战实体可以包括装备有各种不同类型装备的对战实体,比如舰船、飞机、导弹等,通过将两个对战方下属的多个对战实体进行编队,形成多个编组,具体的,每个编组中可以包括同一类型的多个对战实体,或者不同类型的的多个对战实体,编组的数量基于每个对战方的智能体的数量确定,具体的,编组和智能体之间可以是一一对应的,每个智能体分别控制一个编组,同一编组的所有对战实体共同执行智能体输出的策略。属于不同对战方的智能体之间互为对手智能体,智能体和对手智能体所控制的编组可以在战场仿真环境中进行对抗博弈。
在一些实施例中,在战场仿真环境中构建每个智能体的状态空间和动作空间,具体的,状态空间用于表征每个智能体在战场仿真环境中可以观测的信息,可以理解的是,在战场仿真环境中,由于场地的地形、天气、对手的欺骗和伪装等,会导致对战实体无法观测到完整的环境信息,每个对战实体能从战场仿真环境中观测到的信息是有限的,基于此,需要构建每个智能体的状态空间来存储智能体所控制的所有对战实体在战场仿真环境中观测到的信息,以使智能体在后续根据对应编组中的对战实体所观测到的环境信息进行决策,生成策略。动作空间则用于建立智能体输出的策略与动作指令之间的映射关系,将智能体的输出转化为相应的对战实体的动作。
在一些实施例中,在战场仿真环境中,由于场地的地形、天气、对手的欺骗和伪装等,这会导致每个智能体能观测到的环境信息十分有限,这种不完美信息的场景下,智能体无法作出最优决策,同时,每个智能体独立决策会导致智能体在决策时忽视了对团队的作用而陷入局部最优的情况,此外由于每个智能体的决策之间会相互影响,这会进一步导致智能体决策的不稳定性,基于此,在本实施例中,根据属于同一对战方的所有智能体的状态空间和动作空间构建该对战方的联合观测空间、联合动作空间、联合奖励函数和状态转移函数、在联合观测空间下,每个智能体能观测到信息是互通的,在联合动作空间下,智能体在进行决策时会考虑其决策对团队中其它智能体的影响,而基于联合奖励函数,智能体在与对手智能体对抗博弈的过程中会探索对团队有利的策略,从而获得更大的联合奖励值,而基于状态转移函数可以确定智能体每次采取动作前后,联合观测空间的变化。在本实施例中,通过将同一对战方下属的所有智能体的状态空间和动作空间构建出该对战方的联合观测空间、联合动作空间、联合奖励函数以及状态转移函数,可以使得多智能体在进行决策更关注于探索对团队有利的策略。
在一些实施例中,开始对智能体进行训练后,首先对智能体的对局进行采样,在采样阶段,首先收集每个决策时间步下每个智能体的状态空间中存储的观测信息,基于对战方的所有智能体的观测信息构建出对战方的观测序列,基于观测序列输出观测表征序列,通过自回归的方式基于观测表征序列依次生成每个智能体的动作,构成一个动作序列,该动作序列即可作为该对战方的一条策略存储到策略池中,需要指出的是,在本实施例中,第i个智能体的动作是基于所输入的观测表征序列以及前i-1个智能体的动作确定的,由此每个智能体进行决策时会充分考虑前i-1个智能体的决策而不仅仅基于智能体的观测状态,从而避免智能体之间的决策产生冲突,同时消除多智能体协作过程中由于智能体的动作之间相互影响导致的不平稳问题,最终将动作序列作用于战场环境,得到该动作序列相应的奖赏值,完成一次对局。之后,将该对局过程中,智能体的观测序列、动作序列以及奖赏值构成一条回放经验,存放到经验回放池中直到经验回放池中存储的回放经验的数量大于第一数量阈值。具体的,首先基于联合观测空间确定对战方团队在每个时间步下的观测序列,具体的,该观测序列可以表征为
在一些实施例中,通过编码器得到观测表征序列后,将该观测表征序列输入到解码器中得到相应的动作序列,具体的,步骤S107可以通过对对战方的每个智能体执行包括但不限于如下步骤:将智能体作为第i个智能体;获取第i个智能体的观测表征,其中,第i个智能体的观测表征根据观测表征序列确定;获取前i-1个智能体的动作;根据第i个智能体的观测表征和前i-1个智能体的动作确定第i个智能体的动作;将第i个智能体的动作添加到对战方的动作序列中。具体的,该过程可以通过解码器实现,解码器即是用于根据观测表征输出动作表征的策略网络,其利用嵌入式联合动作
在一些实施例中,得到动作序列之后,基于该动作序列确定每个智能体的动作,之后,在联合动作空间中,将动作序列映射为相应的动作指令,该指令表征了智能体所控制的每个对战实体在战场仿真环境中要执行的动作,比如打击指定的区域,通过该动作指令智能体可以控制每个对战实体在战场仿真环境中执行相应的动作。
在一些实施例中,当每个对战实体执行相应的动作后,每个智能体的观测空间会发生变化,比如,当智能体控制的对战实体成功打击战场仿真环境中的指定区域,消灭对手智能体所控制的对战实体后,智能体即可获得该区域的观测信息,使得对战方的联合观测空间发生变化,基于状态转移函数可以确定智能体在当前的观测序列下执行动作序列后,联合状态空间变化为各种状态的概率分布,具体的,状态转移函数的表达式为P(o
在一些实施例中,得到奖赏值后,基于观测序列、动作序列和奖赏值可以构建智能体每次对局的回放经验并存储到经验回放池中,以在后续通过经验回放机制对智能体进行训练。
在一些实施例中,当经验回放池中存储的回放经验数量大于第一经验阈值时,即可通过从经验回放池中抽取回放经验对智能体进行训练,具体的,当经验回放池中的回放经验的数量大于第一经验阈值,即认为回放经验的数量足够多时,即完成对智能体训练过程中的采样阶段,之后,从经验回放池中抽取回放经验对智能体的策略网络和评价网络进行训练,可以理解的是,策略网络和评价网络是预先构建的,策略网络是指第一对战方的所有智能构建各种动作序列形成策略时所使用的神经网络模型,评价网络则是用于评估智能体在给定的状态下执行某一策略所能获得的累积奖赏的期望值的网络。在一些实施例中,方法还可以包括:构建评价网络的值函数,其中,构建评价网络的值函数:
其中,π表示对战方的所有智能体的动作构成的团队策略,a
参照图3,在一些实施例中,步骤S111可以包括但不限于如下步骤S301至S305
步骤S301,获取回放经验中每个智能体在每个时间步下的观测表征序列、动作序列和奖赏值;
步骤S302,根据观测表征序列确定每个智能体在每个时间步下的值函数估计值,其中,值函数估计值是观测值函数和观测-动作对值函数中的一个;
步骤S303,根据每个智能体在每个时间步下的值函数估计值和对战方在每个时间步的奖赏值优化评价网络的参数;
步骤S304,根据观测表征序列和动作序列确定每个智能体在每个时间步下的策略;
步骤S305,根据每个智能体在每个时间步下的值函数估计值、每个智能体在每个时间步下的策略优化策略网络的参数。
每条回放经验包括了在训练的对局中,对战方的每个智能体相应的观测序列下执行某一动作序列的奖赏值,通过对其采样,使用评价网络可以基于观测表征序列计算每个智能体在每个时间步下的观测值函数的估计值,具体的,即将回放经验中每个时间步的观测序列作为初始的联合观测空间,将每个时间步的动作序列作为初始的动作序列,结合状态转移函数和累积折扣奖励代入到评价网络的观测值函数,即可确定每个智能体在每个时间步下的值函数估计值,具体的,评价网络的观测值函数参照上述实施例,此处不再赘述。之后,再基于该观测值函数的估计值和回放经验中的奖赏值可以计算评价网络的损失函数,具体的,评价网络的损失函数可以表达为:
其中,φ表示评价网络的学习参数,
其中,
其中,
当完成策略网络和评价网络的参数优化后,即可控制两个对战方的智能体之间开始对抗训练,具体的,首先通过自博弈的方式使两个对战方分别以对方当前选取的策略为对手进行对抗,可以理解的是,在训练初期,每个对战方的智能体的策略池中存储的策略较少,以对手当前的策略进行对抗,可以使双方的智能体分别针对对手的当前选取的策略探索新的策略,以丰富自身的策略池;具体的,在对智能体训练时,首先初始化每个对战方智能体的策略网络和评价网络的参数,通过自博弈的方法对智能体进行训练,即交替地控制每个对战方分别以另一对战方的智能体当前所选择的策略作为对手策略进行博弈,可以理解的是,在对抗训练初期,若某一对战方的策略池中预设有专家规则,则优先训练另一对战方,使得被训练的对战方以这些专家规则为对手策略进行对抗,从而使智能体在对抗过程中生成的第一代策略具有实际意义,通过这种自博弈的训练过程不断丰富每个对战方的策略池中的策略。
在得到完成训练的智能体后,即可将智能体应用于兵棋推演环境中,通过智能体输出策略,为指挥者提供决策支持。
参照图4,在一些实施例中,步骤S104包括但不限于如下步骤S401至步骤S403。
步骤S401,根据第一对战方的所有智能体的状态空间确定第一对战方的联合观测空间;其中,第一对战方是对战方中的一个;
步骤S402,根据第一对战方的所有智能体的动作空间确定第一对战方的联合动作空间;
步骤S403,根据第一对战方的联合观测空间和联合动作空间构建第一对战方的联合奖励函数和状态转移函数,其中,联合奖励函数用于计算对战方在联合观测空间下采取执行策略的期望奖励值,状态转移函数用于表征对战方执行策略前后联合观测空间的变化关系。
在一些实施例的步骤S401中,由于每个对战方均包括多个智能体,而每个智能体的决策是独立的,每个智能体的观测信息之间不互通,这不利于智能体探索对团队有利的策略,基于此,在本实施例中,基于每个对战方的所有智能体的状态空间构建对战方的联合观测空间,具体的,对战方的联合观测空间可以是所有智能体的状态空间中存储的局部状态信息的乘积,通过将多智能体的状态空间构建为联合观测空间,使得每个智能体之前的观测信息互通,降低不完美信息对智能体决策造成的影响,具体的,可以基于第一对战方所有智能体的状态空间构建对战方的联合观测空间,具体的,联合观测空间可以是第一对战方的所有智能体的状态空间的乘积,具体的,联合观测空间可以表示为
在一些实施例的步骤S402中,基于第一对战方的所有智能体的动作空间构建第一对战方的联合动作空间,具体的,将联合动作空间记为
在一些实施例的步骤S403中,基于第一对战方的联合观测空间和联合动作空间构建第一对战方的联合奖励函数,具体的,将联合奖励函数记为R,则有
在本实施例中,通过构建第一对战方的联合观测空间、联合动作空间、联合奖励函数以及状态转移函数,将多智能体决策问题转化为序列问题,降低了多智能体同时决策的复杂度,使每个智能体可以在联合层面进行学习和决策,更好地探索对团队有利的策略。
参照图5,在一些实施例中,步骤S112包括但不限于如下步骤S501至步骤S505。
步骤S501,将至少两个对战方分别确定为主练方和陪练方,其中,主练方的智能体为第一智能体,陪练方的智能体包括主陪练智能体和副陪练智能体;
步骤S502,将主陪练智能体的策略池和副陪练智能体的策略池中的策略周期性初始化为专家规则;
步骤S503,第一智能体根据对手策略选择机制从主陪练智能体的策略池和副陪练智能体的策略池中选取对手策略进行训练,以生成新的策略并添加到第一智能体的策略池中以构建智能体的策略池;
步骤S504,主陪练智能体以所第一智能体在当前周期选择的策略为对手进行训练,以生成新的策略并添加到主陪练智能体的策略池中作为第一智能体的对手策略;
步骤S505,副陪练智能体以第一智能体的策略池中的历史策略为对手进行训练,以生成新的策略并添加到副陪练智能体的策略池中作为第一智能体的对手策略。
在一些实施例中,将两个对战方中的一个作为主练方,另一作为陪练方,作为主练方的对战方,其智能体记为第一智能体,即主智能体,陪练方的智能体划分为主陪练智能体和副陪练智能体。可以理解的是,两个对战方可以交替作为主练方和陪练方,在智能体作为第一智能体和智能体作为主陪练智能体以及副陪练智能体时所产生的策略可以分别存储在不同的策略集合中,比如,作为主练方的第一智能体时所产生的策略存储在第一策略集合中,作为主陪练智能体时产生的策略存储在第二策略集合中,作为副陪练智能体时产生的策略存储在第三策略集合中,如此,可以避免智能体在不同情况下所产生的策略相互产生影响。
在一些实施例中,专家规则是指基于专家的经验知识预先定义的策略,通过将主陪练智能体和副陪练智能体的策略池中的策略周期性初始化为专家规则,一方面可以使第一智能体在与对手智能体进行对抗训练的过程中所学习到的策略具备实际意义,另一方面,可以避免智能体在对抗训练过程中学习到的策略过于偏离专家策略,保证智能体在一定的范围内探索有效策略。
在一些实施例中,第一智能体,即主练方的智能体,其训练时可以选择主陪练智能体或副陪练智能体当前选择的策略或历史策略作为对手策略,具体的,是从主陪练智能体和副陪练智能体作为陪练方时的策略集合中选择对手策略。可以理解的是,由于主陪练智能体和副陪练智能体的策略池中的策略会被周期性初始化为专家规则,即第一智能体相当于以专家规则作为对手策略进行对抗训练,由此,第一智能体可以探索击败专家规则的策略。
在一些实施例中,主陪练智能体以第一智能体当前选择的策略作为对手策略进行对抗训练,此时,主陪练智能体在对抗过程中会针对第一智能体当前选择的策略寻找弱点并生成相应的策略加入到相应的策略集合中作为第一智能体对手策略,当第一智能体与主陪练智能体进行对抗训练时,即可针对其当前所采用的策略中的弱点进行学习,从而不断探索更为有效的策略。
在一些实施例中,副陪练智能体以第一智能体的历史策略作为对手策略进行对抗训练,在训练过程中,副陪练智能体为击败第一智能体,会不断探索第一智能体的历史策略中的系统性弱点,从而探索针对该系统性弱点的策略并将该策略加入到相应的策略集合中,当第一智能体以从副陪练智能体的策略集合中选择对手策略时,会探索可以有效克服该系统性弱点的策略,从而不断优化所生成的策略。
在本申请实施例中,通过将对战方划分为主练方和陪练方,使用主陪练智能体和副陪练智能体分别以主练方的智能体当前策略和历史策略为对手策略进行训练,从而发现第一智能体当前使用的策略的弱点以及第一智能体历史策略中的系统性弱点,并生成相应的策略作为第一智能体的对手策略,使第一智能体在与陪练方的智能体进行对抗训练时可以不断针对其本身的策略集合中的弱点探索更为有效的策略。
参照图6,在一些实施例中,方法还包括步骤S601至步骤S603:
步骤S601,获取智能体以第一策略击败对手智能体的每个策略的统计概率,其中,第一策略是智能体当前选择的策略;
步骤S602,根据智能体以第一策略击败对手智能体的第二策略的统计概率以及智能体以第一策略击败对手智能体每个策略的统计概率的总和确定对手智能体选择第二策略的概率,其中,第二策略是对手智能体的策略中的一个;
步骤S603,根据对手智能体选择每个第二策略的概率构建对手策略选择机制。
在一些实施例中,统计概率可以是在训练过程中收集智能体以第一策略与对手智能体博弈的经验数据来统计得到的,可以理解的是,多智能体强化学习的过程中,智能体会从策略池中选择策略与对手智能体进行博弈,通过记录智能体每次与对手智能体博弈所使用的策略、对手智能体所使用的策略,以及双方博弈的胜负情况,可以得到该统计概率,该统计概率反映了智能体以第一策略与对手智能体的每条策略进行博弈时的成功率,可以理解的是,对于对手智能体的某一条策略,其统计概率越高,则说明智能体以第一策略击败对手智能体的该策略的几率越高。
在一些实施例中,基于智能体以第一策略击败对手智能体的第二策略的统计概率以及智能体以第一策略击败对手智能体的每条策略的统计概率的总和可以确定对手智能体选择第二策略的概率,具体的,参照下式:
其中,P(B)是选择以对手智能体的第二策略B为对手的概率密度函数,p(A
在本实施例中,在确定智能体当前选择的第一策略的前提下,基于智能体以当前选择的第一策略击败对手智能体的每条策略的统计概率来确定对手智能体选择每条策略的概率,从而构建对手策略选择机制,基于这种对手策略选择机制,使智能体在训练地过程可以定向地选择难度低、难度适中或者高难度的策略作为对手智能体的策略,以调整智能体在训练的不同阶段选择对手智能体的策略的机制,使得对手智能体选择的策略更能满足智能体在不同训练阶段的需求。
参照图7,在一些实施例中,步骤S602包括但不限于如下步骤S701至步骤S704,
步骤S701,对智能体的训练进行难度划分,得到智能体的多个训练难度;
步骤S702,确定智能体在每个训练难度下的第一映射函数,其中,第一映射函数用于将智能体以第一策略击败对手智能体的每个策略的统计概率映射至相应的训练难度;
步骤S703,根据智能体当前选择的训练难度和第一映射函数更新智能体以第一策略击败对手智能体的每个策略的统计概率;
步骤S704,根据更新后的统计概率确定对手智能体选择第二策略的概率。
在一些实施例中,对智能体的训练进行难度划分,得到智能体的多个训练难度,可以理解的是,这里的训练难度是指智能体与对手智能体博弈中取胜的难度,比如,智能体执行第一策略后在对手的进攻下成功防守,保证保护目标存活的难度,或者,智能体以第一策略进攻,成功击败对手智能体,摧毁对手智能体的保护目标的难度。具体的,智能体训练过程的难度至少包括:第一难度、第二难度和第三难度,具体的,在第一难度下,智能体倾向于从对手智能体的所有策略中选择统计概率高的第二策略作为对手策略,在适中难度下,智能体倾向于从对手智能体的策略池中选择统计概率适中的第二策略,以与智能体自身的水平相对接近的对手智能体作为训练对手,而在高难度下,智能体则倾向于从对手智能体的策略中选择统计概率低的第二策略作为对手智能体的策略,从而使智能体在难度较大的对手策略下探索新的策略。可以理解的是,在智能体训练的初期,为避免智能体取得的奖赏值过少,奖励稀疏,导致无法激励智能体探索到有利于对战方取胜的策略,此时,应当倾向于从对手智能体的策略池中选择低难度,即被智能体以第一策略击败的统计概率更高的策略作为对手智能体的策略,而当智能体训练到一定程度后,继续从对手智能体的策略池中选择低难度的策略作为对手智能体的策略,会导致智能体的泛化能力较差,在对手智能体选择统计概率低,取胜难度相对较高的第二策略时,智能体无法探索到有效的对抗策略,同时可能会导致智能体缺乏探索策略的积极性,智能体所学习到策略也缺乏复杂度,相应的,若智能体在训练初期即选择难度较高的策略作为对手智能体的策略,即在智能体训练的初期就为智能体选择较强的对手,这会导致智能体无法探索到可以有效击败对手智能体的策略,这导致智能体所获得的奖赏稀疏,难以激励智能体学习到有效的策略,基于此,在对智能体进行训练时,应当设置不同的训练难度以匹配智能体的训练程度,在不同阶段使智能体以不同的策略选择机制选择对手智能体的策略进行训练。
在一些实施例中,可以通过对不同的训练难度建立相应的映射函数,将智能体以第一策略击败对手智能体的每条策略的统计概率映射到不同的训练难度中,具体的,本实施例中,智能体的训练难度至少可以包括:第一难度、第二难度和第三难度,在第一难度下,智能体倾向于选择统计概率高,即难度相对较低的第二策略作为对手智能体的策略,此时,在第一难度下的映射函数可以是f(x)=x,此时,将第一映射函数代入到对手智能体的每条策略被选择的概率密度函数中,可得:
由上式可知,对手智能体的策略中统计概率越高的策略被选择的概率也越高,此时智能体倾向于以低难度的第二策略作为对手智能体策略进行训练。
而在智能体选择在第二难度下进行训练的情况下,第一映射函数是f(x)=x(1-x),将第一映射函数代入到对手智能体的每条策略被选择的概率密度函数中,可得:
由上式可得,在第二难度下,对手智能体的策略中被智能体以第一策略击败的统计概率越接近0.5,该策略相应的概率密度函数值越大,即该策略被选择的概率越高,即智能体在第二难度下倾向于将与第一策略的水平相近的第二策略作为对手智能体的策略进行训练。
而在智能体在第三难度下进行训练的情况下,与第三难度相应的第一映射函数可以表达为f(x)=(1-x)
由上式可知,在第三难度下,对手智能体的策略中被智能体以第一策略击败的统计概率越低,则其相应的概率密度函数值越大,即该策略被选择的概率越高,即智能体在第三难度下倾向于选择难度高的第二策略作为对手智能体的策略进行训练。
在本实施例中,通过对智能体训练过程中击败对手智能体的难度进行划分,为每种训练难度设置相应的映射函数,使得智能体在训练的不同阶段使用不同的机制选择对手智能体的策略,一方面避免智能体一直选择低难度的策略作为对手智能体的策略,导致智能体的泛化能力差,智能体缺乏探索策略的积极性,智能体所学习到策略缺乏复杂度,另一方面避免在训练初期即选择难度较高的策略作为对手智能体的策略,导致智能体无法探索到可以有效击败对手智能体的策略,所获得的奖赏稀疏,无法激励智能体学习到有效的策略。由此,为智能体在训练的不同阶段设置相应的对手策略机制,使智能体可以逐步学习到有效的策略。
同时,兵棋推演是一项长时间决策的过程,在这种长时间决策的过程下,智能体的在某一时间步下采取的动作往往需要一段时间之后才能取得成果,甚至,智能体需要进行多次迭代训练才能完成任务得到奖赏值,这就导致兵棋推演过程中存在奖赏稀疏的问题,基于此,参照图8,在一些实施例中,方法还包括步骤S801至步骤S804:
步骤S801,确定所述智能体执行任务的初始达成率和所述智能体执行任务的目标达成率;
步骤S802,根据训练局数阈值、所述初始达成率和所述目标达成率确定所述智能体的至少一个阶段达成率,所述阶段达成率用于表征所述智能体在训练过程中的每个阶段的任务达成率;
步骤S803,根据所述初始达成率、所述阶段达成率和所述目标达成率构建所述智能体的奖赏函数;
步骤S804,在所述智能体和所述对手智能体进行对抗训练的过程中,根据所述奖赏函数给予所述智能体奖赏值。
在一些实施例中,初始达成率是指智能体在训练前与对手智能体对抗的过程中的任务达成率,目标达成率是指智能体在训练后与对手智能体对抗的过程中获胜情况下的任务达成率,具体的,在兵棋推演中,任务主要可以分为进攻任务和防守任务,进攻任务即是智能体控制对战实体向对手智能体所控制的对战实体进行打击,防守任务即是智能体控制对战实体在对手智能体的打击指令中保护防守目标存活,而防守任务中防守目标的存活率或者进攻任务中进攻目标的存活率可以用来作为智能体的任务达成率,在本实施例中,初始达成率可以根据智能体的初始模型执行防守任务时防守目标的存活率或者智能体的初始模型在进攻任务中进攻目标的存活率来确定,具体的,可以通过使用智能体的初始模型在兵棋推演中执行防守任务或进攻任务从而测试并统计智能体的初始模型在相应任务中防守目标或进攻目标的存活率来确定智能体的初始达成率;目标达成率则可以是根据给定的获胜条件确定的,具体的,在本实施例中,智能体执行防守任务时的初始达成率可以时防守目标的初始存活率,记为
可以理解的是,奖赏函数用于确定智能体执行每条策略所能获得的奖赏值,通过奖赏函数可以激励智能体探索有效的策略,但是奖赏函数一般是当智能体完成某项任务后即给予智能体奖赏值,而兵棋推演是一项长时间决策的过程,在这种长时间决策的过程下,智能体的在某一时间步下采取的动作往往需要一段时间之后才能取得成果,甚至,智能体需要进行多次迭代训练才能完成任务得到奖赏值,这就导致兵棋推演过程中存在奖赏稀疏的问题,而稀疏的奖赏值难以激励智能体探索有效的策略,导致智能体无法探索到在长时决策的推演的有效进攻策略,特别是在智能体训练初期,由于智能体当前探索有效策略的能力较低,很难以在与对手智能体的博弈中取胜,这进一步导致智能体难以获得奖赏值,难以激励智能体探索有效的策略。由此,在本实施例中,基于智能体执行任务的初始达成率、目标达成率以及训练局数阈值确定智能体在训练过程中的至少一个阶段达成率,阶段达成率用于表征智能体在训练到特定阶段时,比如,训练局数达到设定的局数时应当取得的任务达成率,阶段达成率的个数根据对智能体训练过程所划分的阶段的数量确定,比如,训练局数阈值记为E,将智能体的训练过程分为L个阶段,则有第一阶段包括前E
在确定智能体训练过程中每个阶段的阶段达成率后,即可基于阶段达成率和目标达成率构建智能体训练过程中的奖赏函数,具体的,所构建的奖赏函数用于在智能体在训练对局中实际任务达成率不小于当前训练对局所处的训练阶段的阶段达成率以及智能体在达到训练局数阈值时的实际任务达成率不小于目标达成率的情况下给予智能体奖赏值。比如,在智能体执行防守任务的情况下,奖赏函数如下:
式中,e表示智能体当前的训练局数,
而在智能体执行进攻任务的情况下,奖赏函数可以设置为:
式中,e表示智能体当前的训练局数,
在一些实施例中,确定奖赏函数后,在智能体和对手智能体进行对抗训练的过程中,基于上述奖赏函数给予智能体奖赏值,具体的,当智能体在和对手智能体进行对抗训练过程中的实际任务达成率大于智能体在当前训练阶段的阶段达成率时,即给予智能体一个正的奖赏值,如+10,相应的,当智能体在和对手智能体进行对抗训练过程中的实际任务达成率小于智能体在当前训练阶段的阶段达成率时,给予智能体一个负的奖赏值,如-10,以此解决多智能体博弈过程中奖励稀疏的问题,通过该奖赏函数激励智能体探索有效提高任务达成率,即提高防守目标存活率或者降低进攻目标存活率的策略。
在本申请实施例中,根据智能体的初始达成率、目标达成率和智能体训练的最大局数设定智能体在训练过程中每个阶段的阶段达成率,基于阶段达成率判断是否给予智能体奖赏值,由此避免智能体训练过程中的奖赏值过于稀疏,无法激励智能体探索完成相应任务的有效策略的情况,以此使智能体在奖赏函数的激励下探索有效的策略。
参照图9,图9给出了一种根据本实施例提出的方法按照对手策略选择变更对手智能体选择的策略并按照阶段达成率设计奖赏函数给予智能体奖赏值后,智能体在与对手智能体对抗训练过程中胜率以及双方对战实体的存活率的变化曲线图,智能体与对手智能体的对抗训练过程分为多个阶段,如图9中,智能体的对抗训练过程包括第一阶段、第二阶段、第三阶段、第四阶段和第五阶段,其中,在不同的训练阶段,智能体会基于上述实施例提出的对手策略选择机制更换对手智能体的所选择的策略,从图9中可知,在每次基于对手策略选择机制变更对手智能体所选择的策略后,智能体的胜率变化趋势均会发生转折,如此可以有效避免智能体选择到难度过高的对手智能体策略进行对抗,导致所获得的奖励稀疏,无法探索有效策略,以及避免智能体持续以低难度的策略作为对手智能体的策略进行对抗,缺乏探索策略的积极性,导致模型的泛化能力较差;同时通过本实施例所提出的方法,按照阶段达成率设计奖赏函数给予智能体奖赏值后,智能体在与对手智能体进行对抗训练的过程中,胜率和对战实体存活率均有明显提高,本实施例提出的根据阶段达成率设计奖赏函数的方法可以有效解决多智能体对抗训练过程中由于奖赏稀疏导致无法激励智能体探索有效策略的问题。综上,基于本实施例提出的策略生成方法,可以有效提高智能体学习策略过程中的泛化能力,同时可以有效解决奖赏稀疏导致智能体无法探索到有效策略的问题。
在一些实施例中,还可以在智能体的训练过程中,根据智能体是否消灭对手智能体控制的兵棋对战实体来给予智能体奖赏值,具体的,当智能体控制对战实体消灭对手智能体控制的对战实体时,给予智能体一个第一奖赏值,如+0.1,相应的,当智能体控制的对战实体被对手智能体消灭时,即从智能体的奖赏值中扣除第一奖赏值,即给予智能体一个负的奖赏值,如-0.1,基于此,可以激励智能体探索能更有效地消灭对手智能体的对战实体或保护所控制的对战实体不被对手智能体消灭的策略。
参照图10,本申请实施例还提出一种电子设备100,用于执行上述实施例提出的方法。
下面结合附图对电子设备的硬件结构进行详细说明。该电子设备包括:处理器110、存储器120、输入/输出接口130、通信接口140和总线150。
处理器110,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器120,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器120可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器120中,并由处理器110来调用执行本申请实施例的兵棋推演的策略生成方法;
输入/输出接口130,用于实现信息输入及输出;
通信接口140,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线150,在设备的各个组件(例如处理器110、存储器120、输入/输出接口130和通信接口140)之间传输信息;
其中处理器110、存储器120、输入/输出接口130和通信接口140通过总线150实现彼此之间在设备内部的通信连接。
本发明实施例还提供一种计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序,如上述本发明实施例中的方法。处理器通过运行存储在存储器中的非暂态软件程序以及程序,从而实现上述本发明实施例中的方法。
本发明实施例描述的实施例是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
以上参照附图说明了本发明实施例的优选实施例,并非因此局限本发明实施例的权利范围。本领域技术人员不脱离本发明实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本发明实施例的权利范围之内。
- 一种区块链ID生成及使用方法、装置、电子设备以及存储介质
- 一种数据血缘的生成方法、系统、电子设备和存储介质
- 一种视频集锦的生成方法、装置、电子设备及存储介质
- 类文件生成方法、装置、电子设备及存储介质
- 无人机迁移轨迹生成方法、装置、电子设备和存储介质
- 兵棋博弈策略的生成方法、装置及存储介质
- 一种兵棋推演场景回放方法、装置、设备及存储介质