多智能体强对抗仿真方法、装置及电子设备与流程

文档序号:24124009发布日期:2021-03-02 12:38阅读:117来源:国知局
多智能体强对抗仿真方法、装置及电子设备与流程

[0001]
本发明涉及系统仿真技术领域,尤其涉及一种多智能体强对抗仿真方法、装置及电子设备。


背景技术:

[0002]
多智能体建模方法,是基于人工智能和组织行为学的一种模型理论,多智能体系统(multi agent system,mas)与具体领域数学模型研究相结合,已经覆盖仿生优化算法、计算经济学、人工社会以及知识传播工程及战争政治复杂系统等多个传统和前沿科学领域。
[0003]
现有的深度强化学习(deep reinforcement learning,dqn)技术框架是建立多智能体强对抗模型的主要方法之一。但是,在多智能体强对抗应用中,连续的时序输出动作空间维数庞大,导致dqn模型的参数数量也极为庞大。如果从初始值开始训练模型参数,需要耗费大量的训练时间,才能取得较为满意的结果,效率较低。


技术实现要素:

[0004]
本发明提供一种多智能体强对抗仿真方法、装置及电子设备,用以解决现有技术运算效率低的缺陷,实现有效提高运算效率的目标。
[0005]
本发明提供一种多智能体强对抗仿真方法,包括:
[0006]
从对抗仿真引擎获取多轮演示对抗回放数据,并基于所述对抗回放数据,采用生成对抗网络技术,训练获取神经网络策略模型;
[0007]
利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,完成多智能体强对抗仿真。
[0008]
根据本发明一个实施例的多智能体强对抗仿真方法,所述神经网络策略模型包括判别网络和策略网络;
[0009]
其中,所述判别网络用于对输入对抗数据进行分类,所述判别网络的输出用于指示所述输入对抗数据是否符合演示对抗策略;
[0010]
所述策略网络用于读取所述强对抗过程的状态数据,并基于所述状态数据,产生在所述状态数据下应采取的对抗策略。
[0011]
根据本发明一个实施例的多智能体强对抗仿真方法,在所述训练获取神经网络策略模型之前,还包括:
[0012]
确定演示样本与模仿样本的判别损失总和,作为所述判别网络的损失,所述判别网络的损失函数表示如下:
[0013]
d
loss
=d
loss-expert
+d
loss-learner

[0014]
式中,d
loss
表示所述判别网络的损失,d
loss-expert
表示所述判别网络对所述演示样本的实际输出与预期输出的交叉熵,d
loss-learner
表示所述判别网络对所述模仿样本的实际输出与预期输出的交叉熵;
[0015]
确定所述判别网络的目标为最小化所述判别损失总和。
[0016]
根据本发明一个实施例的多智能体强对抗仿真方法,在所述确定演示样本与模仿样本的判别损失总和,作为所述判别网络的损失之前,还包括:
[0017]
按如下公式计算所述交叉熵,所述如下公式为:
[0018]
l(x,y)=l={l1,...,l
n
,...,l
n
}
t

[0019]
l
n
=-w
n
[y
n
·
logx
n
+(1-y
n
)
·
log(1-x
n
)];
[0020]
式中,l(x,y)表示向量x与y的交叉熵,定义为向量x与y各个分量的交叉熵组成的向量{l1,...,l
n
,...,l
n
}
t
,l
n
为向量x、y的对应分量x
n
与y
n
的交叉熵,w
n
为分量n的权重,n为向量x、y的维数。
[0021]
根据本发明一个实施例的多智能体强对抗仿真方法,在所述训练获取神经网络策略模型之前,还包括:
[0022]
确定所述策略网络的回报函数如下:
[0023]
reward=-log(d(π
l
));
[0024]
式中,reward表示所述策略网络的回报,π
l
表示所述模仿样本,d(π
l
)表示所述判别网络对所述模仿样本的实际输出与预期输出的交叉熵;
[0025]
确定所述策略网络的目标为最大化所述策略网络的回报;
[0026]
和/或,确定所述策略网络的损失函数如下:
[0027][0028]
式中,pd表示由所述策略网络输出的参数构造的对抗命令参数概率分布,action表示从构造的概率分布取样获得的命令参数取值,log_prob表示概率分布在action取值的样本点的log概率密度,entropy表示概率分布的熵,β表示超参数。
[0029]
根据本发明一个实施例的多智能体强对抗仿真方法,所述利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,包括:
[0030]
基于所述策略网络的输出,构造所述对抗命令参数概率分布,并从所述对抗命令参数概率分布取样获取对抗命令参数;
[0031]
按照所述对抗仿真引擎所需的接口格式,将所述对抗命令参数转换为对抗命令列表,并将所述对抗命令列表输入到所述对抗仿真引擎。
[0032]
根据本发明一个实施例的多智能体强对抗仿真方法,所述判别网络具体为二元分类神经网络,所述二元分类神经网络的输入为联合对抗态状态与对抗命令列表的张量编码,所述二元分类神经网络的输出为[0,1]内的二元分类标量。
[0033]
本发明还提供一种多智能体强对抗仿真装置,包括:
[0034]
训练模块,用于从对抗仿真引擎获取多轮演示对抗回放数据,并基于所述对抗回放数据,采用生成对抗网络技术,训练获取神经网络策略模型;
[0035]
仿真模块,用于利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,完成多智能体强对抗仿真。
[0036]
本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述处理器执行所述程序或指令时,实现如上述任一种所述的多智能体强对抗仿真方法的步骤。
[0037]
本发明还提供一种非暂态计算机可读存储介质,其上存储有程序或指令,所述程序或指令被计算机执行时,实现如上述任一种所述的多智能体强对抗仿真方法的步骤。
[0038]
本发明提供的多智能体强对抗仿真方法、装置及电子设备,通过借助对历史数据的学习,能够加快多智能体强对抗模型的训练速度,从而有效提高运算效率,并有效节约计算资源。
附图说明
[0039]
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0040]
图1为本发明提供的多智能体强对抗仿真方法中系统总体结构示意图;
[0041]
图2为本发明提供的多智能体强对抗仿真方法的流程示意图;
[0042]
图3为本发明提供的多智能体强对抗仿真方法中演示对抗回放数据采集的流程示意图;
[0043]
图4为本发明提供的多智能体强对抗仿真方法中数据的结构示意图;
[0044]
图5为本发明提供的多智能体强对抗仿真方法中强化学习控制回路的示意图;
[0045]
图6为本发明提供的多智能体强对抗仿真方法中dqn行为值函数逼近网络示意图;
[0046]
图7为本发明提供的多智能体强对抗仿真方法中训练神经网络策略模型的流程示意图;
[0047]
图8为本发明提供的多智能体强对抗仿真装置的结构示意图;
[0048]
图9为本发明提供的电子设备的结构示意图。
具体实施方式
[0049]
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050]
本发明针对现有技术在进行多智能体强对抗仿真时运算效率低的问题,通过借助对历史数据的学习,能够加快多智能体强对抗模型的训练速度,从而有效提高运算效率,并有效节约计算资源。以下将具体结合附图,通过多个实施例对本发明进行展开说明和介绍。
[0051]
如图1所示,为本发明提供的多智能体强对抗仿真方法中系统总体结构示意图,为了快速建立具有高度智能的神经网络对抗策略,首先采用生成对抗网络技术,利用已有的高水平对抗回放数据,对神经网络策略模型进行快速优化,使其能够模仿这些回放中采用的对抗策略,达到同等智能水平。训练完成所产生的神经网络策略模型可以直接用于智能对抗仿真,也可以通过强化学习技术进行进一步优化改进达到更高的智能水平。
[0052]
图2为本发明提供的多智能体强对抗仿真方法的流程示意图,如图2所示,该方法包括:
[0053]
s201,从对抗仿真引擎获取多轮演示对抗回放数据,并基于所述对抗回放数据,采
用生成对抗网络技术,训练获取神经网络策略模型。
[0054]
可以理解为,如图3所示,为本发明提供的多智能体强对抗仿真方法中演示对抗回放数据采集的流程示意图,本发明首先需要从仿真引擎获取多轮演示对抗回放数据。可选的,可将该对抗回放数据保存在回放缓存中。
[0055]
其中,如图4所示,为本发明提供的多智能体强对抗仿真方法中数据的结构示意图,回放缓存中的每个样本点为一个对抗步骤数据,包括联合对抗态势s和演示者对抗命令列表a。
[0056]
其中,采集的对抗回放数据可以由高水平人类玩家手动操作产生,或由专业技术人员编写的已经经过高度优化的自动化对抗规则程序产生,只需要通过仿真引擎保存对抗回放记录即可,无需额外的人工标记处理。
[0057]
在采集到对抗回放数据以后,即可采用生成对抗网络技术,对神经网络策略模型进行训练,使神经网络策略模型学习到演示者采用的对抗策略。
[0058]
s202,利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,完成多智能体强对抗仿真。
[0059]
可以理解为,本发明在根据上述步骤完成神经网络策略模型的训练之后,可进行多智能体强对抗仿真试验,并利用该神经网络策略模型模拟多智能体在强对抗过程中的决策过程。如可利用对抗仿真引擎,使图1中的模仿者模仿演示者的决策过程。
[0060]
应理解的是,对于现实中复杂的、大规模的问题,靠单个智能体往往无法描述和解决,因此,一个应用系统中往往包括多个智能体。这些智能体不仅具备自身的问题求解能力和行为目标,而且能够相互协作,来达到共同的整体目标,这样的系统就成为了一个mas。mas具有如下特性:每个都有解决问题的不完全的信息或能力;数据是分散存储和处理的,没有系统级的数据集中处理结构;系统内部的交互性和系统整体的封装性;计算是同步的,因此对于某些共享资源应具备锁定功能。
[0061]
多智能体仿真采用系统理论和多智能体系统建模方法建立系统高层模型,使用基于智能体模型的仿真软硬件支撑技术建立的系统计算模型并实现仿真。
[0062]
本发明提供的多智能体强对抗仿真方法,在有历史经验数据的情况下,通过借助对历史数据的学习,能够加快多智能体强对抗模型的训练速度,从而有效提高运算效率,并有效节约计算资源。在军事领域,如果有假想敌的作战数据,本发明可快速建立假想敌的对抗模型,模拟对方作战模式行为,用于我方指挥战斗人员的模拟仿真训练。
[0063]
应理解的是,在强化学习(reinforcement learning,rl)建模研究中,将研究代理(agent)如何与环境交互以优化目标。然后,将强化学习定义为马尔可夫决策过程,这是强化学习的理论基础。
[0064]
接下来,介绍代理可以学习的三个主要功能:
[0065]
策略

价值功能

模型
[0066]
强化学习与解决顺序决策问题有关,可以通过这种方式来解决许多现实世界中的问题,例如玩视频游戏、运动、驾驶等。
[0067]
在解决这些问题时,有一个目标或目的,例如赢得比赛,安全地到达目的地或使制造产品的成本最小化。通过采取行动,并从世界上获得关于离目标的接近程度(当前得分,到目的地的距离或每单位价格)的反馈。实现目标通常需要依次采取许多行动,每项行动都
会改变周围的世界。在决定采取下一步行动作为回应之前,会观察世界上的这些变化以及收到的反馈。
[0068]
增强学习问题可以表示为由代理和环境组成的系统。环境会生成描述系统状态的信息,可称为状态。代理通过观察状态并使用此信息选择操作来与环境进行交互。环境接受动作并转换为下一个状态。然后,它将下一个状态和奖励返回给代理。当(状态

动作

奖励)的循环完成时,可认为完成了一步。重复该循环直到环境终止(例如,解决问题时)。如图5所示,为本发明提供的多智能体强对抗仿真方法中强化学习控制回路的示意图,其中描述了循环的整个过程。
[0069]
考虑使用称为转移函数的环境如何从一种状态过渡到另一种状态。在增强学习中,过渡函数被公式化为马尔可夫决策过程(mdp),这是一个模拟顺序决策的数学框架。为了理解如何将过渡函数表示为mdp,考虑以下公式:
[0070]
s
t+1
~p(s
t+1
|(s0,a0),(s1,a1),...,(s
t
,a
t
));
[0071]
其中,在时间步t处,从以整个历史为条件的概率分布p中采样下一个状态s
t+1
,环境从状态s
t
过渡到s
t+1
的可能性取决于所有先前的状态s和动作a。
[0072]
为了使环境转换功能更实用,通过添加以下假设将其转换为mdp:到下一个状态s
t+1
的转换仅取决于前一个状态s
t
和操作a
t
,称为markov属性。在此假设下,新的转换函数将变为:
[0073]
st+1~p(s
t+1
|st,at);
[0074]
上式表示从概率分布p(s
t+1
|s
t
,a
t
)中采样下一状态s
t+1
。这是原始转换函数的一种简单形式。马尔可夫性质表明,在时间步长t处的当前状态和动作包含足够的信息,可以完全确定在t+1处下一状态的转移概率。
[0075]
将增强学习的思想与深度神经网络技术结合,产生深度增强学习(dqn)方法,即构造深度神经网络。如图6所示,为本发明提供的多智能体强对抗仿真方法中dqn行为值函数逼近网络示意图。输入为环境变量,输出为动作变量。采用回报值最大化为目标,训练神经网络。
[0076]
其中,根据上述各实施例提供的多智能体强对抗仿真方法可选的,所述神经网络策略模型包括判别网络和策略网络。
[0077]
其中,所述判别网络用于对输入对抗数据进行分类,所述判别网络的输出用于指示所述输入对抗数据是否符合演示对抗策略;所述策略网络用于读取所述强对抗过程的状态数据,并基于所述状态数据,产生在所述状态数据下应采取的对抗策略。
[0078]
可以理解为,如图1所示,本发明的神经网络策略模型由判别网络d和策略网络a组成。其中判别网络d对输入对抗数据进行分类,输出0~1之间的标量值,判定输入数据是否符合演示对抗策略,0为完全符合,1为完全不符合,因此判别网络d的优化目标是尽可能对所有数据进行准确判别。
[0079]
策略网络a读取对抗态势(环境)数据,产生在这种态势下应采取的对抗命令,策略网络a的目标是尽可能准确地模仿演示对抗策略,也意味着尽可能欺骗判别网络d使其无法区分对抗数据是由演示玩家产生还是由策略网络产生。因此判别网络d和策略网络a形成对抗关系,对这两个网络的交替训练,当这两个网络达到平衡时,判别网络d以接近同等概率对演示对抗数据和策略网络产生的对抗数据进行判别(即无法有效分辨二者的差别,理想
情况下期望该值为0.5,意味着判别网络完全无法分辨),此时策略网络a学到了接近于演示玩家的对抗策略。
[0080]
从而可选的,训练神经网络策略模型的处理过程如图7所示,为本发明提供的多智能体强对抗仿真方法中训练神经网络策略模型的流程示意图,包括以下处理步骤:
[0081]
(1)从演示对抗回放缓存随机采样获取批次样本;
[0082]
(2)批次样本包含联合对抗态势和演示者对抗命令列表,可以直接作为批次演示者样本;
[0083]
(3)批次模仿者样本生成,包括:
[0084]
(3.1)从批次样本中获取联合对抗态势样本;
[0085]
(3.2)将联合对抗态势样本输入策略网络a产生输出;
[0086]
(3.3)根据策略网络a输出生成模仿者对抗命令列表;
[0087]
(3.4)将联合对抗态势与对应的模仿者对抗命令列表组合形成模仿者批次样本;
[0088]
(4)将批次演示者样本和批次模仿者样本一起输入判别网络d,计算判别网络d损失函数并对判别网络d进行一个轮次的优化训练;
[0089]
(5)使用判别网络d对模仿者批次样本进行判别,产生输出;
[0090]
(6)根据判别网络d的判别结果计算策略网络a的损失并对策略网络a进行一个轮次的优化训练。
[0091]
其中可选的,所述判别网络具体为二元分类神经网络,所述二元分类神经网络的输入为联合对抗态状态与对抗命令列表的张量编码,所述二元分类神经网络的输出为[0,1]内的二元分类标量。
[0092]
具体而言,本发明的判别网络d可以是典型的二元分类神经网络,该网络的输入为联合对抗态势+对抗命令列表的张量编码,输出为0~1二元分类标量。
[0093]
可选的,二元分类神经网络的网络结构和网络规模可以考虑输入数据特点进行选择,通常可以采用例如卷积网络cnn或多层感知机mlp等,参数维度和网络深度可以根据输入数据属性的数目和关联关系复杂性进行调整选择。
[0094]
进一步的,在上述各实施例提供的多智能体强对抗仿真方法的基础上,在所述训练获取神经网络策略模型之前,还包括:
[0095]
确定演示样本与模仿样本的判别损失总和,作为所述判别网络的损失,所述判别网络的损失函数表示如下:
[0096]
d
loss
=d
loss-expert
+d
loss-learner

[0097]
式中,d
loss
表示所述判别网络的损失,d
loss-expert
表示所述判别网络对所述演示样本的实际输出与预期输出的交叉熵,d
loss-learner
表示所述判别网络对所述模仿样本的实际输出与预期输出的交叉熵;
[0098]
确定所述判别网络的目标为最小化所述判别损失总和。
[0099]
具体而言,本发明中判别网络d的损失为演示样本与模仿样本的判别损失总和:
[0100]
d
loss
=d
loss-expert
+d
loss-learner

[0101]
其中,演示样本判别损失d
loss-expert
和d
loss-learner
分别为判别网络d对演示样本和模仿样本的实际输出与预期输出的交叉熵。演示样本应被判别为完全符合演示对抗策略,因此预期输出应为0;模仿样本应被判别为完全不符合演示对抗策略,因此预期输出应为1。
[0102]
进一步的,在上述各实施例提供的多智能体强对抗仿真方法的基础上,在所述确定演示样本与模仿样本的判别损失总和,作为所述判别网络的损失之前,还包括:
[0103]
按如下公式计算所述交叉熵,所述如下公式为:
[0104]
l(x,y)=l={l1,...,l
n
,...,l
n
}
t

[0105]
l
n
=-w
n
[y
n
·
logx
n
+(1-y
n
)
·
log(1-x
n
)];
[0106]
式中,l(x,y)表示向量x与y的交叉熵,定义为向量x与y各个分量的交叉熵组成的向量{l1,...,l
n
,...,l
n
}
t
,l
n
为向量x、y的对应分量x
n
与y
n
的交叉熵,w
n
为分量n的权重,n为向量x、y的维数。
[0107]
因此,判别网络d的损失计算函数可以表示为:
[0108]
d
loss
=bceloss(d(π
e
),0)+bceloss(d(π
l
),1);
[0109]
其中,bceloss为交叉熵,π
e
为演示样本,π
l
为模仿样本。
[0110]
判别网络d的优化目标是最小化总体判别损失。
[0111]
进一步的,在上述各实施例提供的多智能体强对抗仿真方法的基础上,在所述训练获取神经网络策略模型之前,还包括:
[0112]
确定所述策略网络的回报函数如下:
[0113]
reward=-log(d(π
l
));
[0114]
式中,reward表示所述策略网络的回报,π
l
表示所述模仿样本,d(π
l
)表示所述判别网络对所述模仿样本的实际输出与预期输出的交叉熵;
[0115]
确定所述策略网络的目标为最大化所述策略网络的回报;
[0116]
和/或,确定所述策略网络的损失函数如下:
[0117][0118]
式中,pd表示由所述策略网络输出的参数构造的对抗命令参数概率分布,action表示从构造的概率分布取样获得的命令参数取值,log_prob表示概率分布在action取值的样本点的log概率密度,entropy表示概率分布的熵,β表示超参数。
[0119]
具体而言,策略网络a的结构设计与强化学习中策略网络设计类似,可以根据输入输出特点选择卷积网络cnn或多层感知机mlp等进行构造,输入输出维度以及网络深度等参数需要考虑仿真数据特点进行选择调整。
[0120]
本发明技术框架可适用于不同种类的agent,以下标i表示,同一种类的agent有不同的数量,以下标j表示。
[0121]
则,策略网络a的回报计算公式为:
[0122]
reward=-log(d(π
l
));
[0123]
策略网络a的优化目标是最大化回报。
[0124]
策略网络a的损失计算函数为:
[0125][0126]
其中,pd为由策略网络a输出的参数构造的对抗命令参数概率分布,pd采用的概率分布类型可以根据参数特点进行选择,对离散参数例如命令类型可以采用categorical分布等,对连续参数例如坐标点x,y,可以采用normal分布等;action为从构造的概率分布取
样获得的命令参数取值;log_prob为概率分布在action取值的样本点的log概率密度;entropy为概率分布的熵;β为超参数,控制最大熵目标在策略网络损失中的占比,在训练时根据训练状况进行调整。
[0127]
其中,根据上述各实施例提供的多智能体强对抗仿真方法可选的,所述利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,包括:基于所述策略网络的输出,构造所述对抗命令参数概率分布,并从所述对抗命令参数概率分布取样获取对抗命令参数;按照所述对抗仿真引擎所需的接口格式,将所述对抗命令参数转换为对抗命令列表,并将所述对抗命令列表输入到所述对抗仿真引擎。
[0128]
具体而言,本发明的策略网络a类似强化学习中的策略网络,其输入为联合对抗态势的张量编码,输出为可用于构造对抗命令列表的概率分布参数。自动化对抗程序将根据策略网络a的输出构造对抗命令参数概率分布pd,从pd取样获取对抗命令参数,最后按照对抗仿真引擎所需的接口格式,将对抗命令参数转换为对抗命令列表输入到对抗仿真引擎。
[0129]
基于相同的发明构思,本发明根据上述各实施例提供一种多智能体强对抗仿真装置,该装置用于在上述各实施例中实现多智能体的强对抗仿真。因此,在上述各实施例的多智能体强对抗仿真方法中的描述和定义,可以用于本发明中多智能体强对抗仿真装置的各个执行模块的理解,具体可参考上述实施例,此处不在赘述。
[0130]
根据本发明的一个实施例,多智能体强对抗仿真装置的结构如图8所示,为本发明提供的多智能体强对抗仿真装置的结构示意图,该装置可以用于实多智能体的强对抗仿真,该装置包括:训练模块801和仿真模块802。
[0131]
其中,训练模块801用于从对抗仿真引擎获取多轮演示对抗回放数据,并基于所述对抗回放数据,采用生成对抗网络技术,训练获取神经网络策略模型;仿真模块802用于利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,完成多智能体强对抗仿真。
[0132]
具体而言,训练模块801首先需要从仿真引擎获取多轮演示对抗回放数据。在采集到对抗回放数据以后,训练模块801即可采用生成对抗网络技术,对神经网络策略模型进行训练,使神经网络策略模型学习到演示者采用的对抗策略。
[0133]
之后,仿真模块802可进行多智能体强对抗仿真试验,并利用上述神经网络策略模型模拟多智能体在强对抗过程中的决策过程。如可利用对抗仿真引擎,使图1中的模仿者模仿演示者的决策过程。
[0134]
本发明提供的多智能体强对抗仿真装置,通过借助对历史数据的学习,能够加快多智能体强对抗模型的训练速度,从而有效提高运算效率,并有效节约计算资源。
[0135]
可选的,所述神经网络策略模型包括判别网络和策略网络;
[0136]
其中,所述判别网络用于对输入对抗数据进行分类,所述判别网络的输出用于指示所述输入对抗数据是否符合演示对抗策略;
[0137]
所述策略网络用于读取所述强对抗过程的状态数据,并基于所述状态数据,产生在所述状态数据下应采取的对抗策略。
[0138]
进一步的,所述训练模块,还用于:
[0139]
确定演示样本与模仿样本的判别损失总和,作为所述判别网络的损失,所述判别网络的损失函数表示如下:
[0140]
d
loss
=d
loss-expert
+d
loss-learner

[0141]
式中,d
loss
表示所述判别网络的损失,d
loss-expert
表示所述判别网络对所述演示样本的实际输出与预期输出的交叉熵,d
loss-learner
表示所述判别网络对所述模仿样本的实际输出与预期输出的交叉熵;
[0142]
确定所述判别网络的目标为最小化所述判别损失总和。
[0143]
进一步的,所述训练模块,还用于:
[0144]
按如下公式计算所述交叉熵,所述如下公式为:
[0145]
l(x,y)=l={l1,...,l
n
,...,l
n
}
t

[0146]
l
n
=-w
n
[y
n
·
logx
n
+(1-y
n
)
·
log(1-x
n
)];
[0147]
式中,l(x,y)表示向量x与y的交叉熵,定义为向量x与y各个分量的交叉熵组成的向量{l1,...,l
n
,...,l
n
}
t
,l
n
为向量x、y的对应分量x
n
与y
n
的交叉熵,w
n
为分量n的权重,n为向量x、y的维数。
[0148]
进一步的,所述训练模块,还用于:
[0149]
确定所述策略网络的回报函数如下:
[0150]
reward=-log(d(∏
l
));
[0151]
式中,reward表示所述策略网络的回报,π
l
表示所述模仿样本,d(π
l
)表示所述判别网络对所述模仿样本的实际输出与预期输出的交叉熵;
[0152]
确定所述策略网络的目标为最大化所述策略网络的回报;
[0153]
和/或,确定所述策略网络的损失函数如下:
[0154][0155]
式中,pd表示由所述策略网络输出的参数构造的对抗命令参数概率分布,action表示从构造的概率分布取样获得的命令参数取值,log_prob表示概率分布在action取值的样本点的log概率密度,entropy表示概率分布的熵,β表示超参数。
[0156]
可选的,所述仿真模块,用于:
[0157]
基于所述策略网络的输出,构造所述对抗命令参数概率分布,并从所述对抗命令参数概率分布取样获取对抗命令参数;
[0158]
按照所述对抗仿真引擎所需的接口格式,将所述对抗命令参数转换为对抗命令列表,并将所述对抗命令列表输入到所述对抗仿真引擎。
[0159]
可选的,所述判别网络具体为二元分类神经网络,所述二元分类神经网络的输入为联合对抗态状态与对抗命令列表的张量编码,所述二元分类神经网络的输出为[0,1]内的二元分类标量。
[0160]
可以理解的是,本发明中可以通过硬件处理器(hardware processor)来实现上述各实施例的装置中的各相关程序模块。并且,本发明的多智能体强对抗仿真装置利用上述各程序模块,能够实现上述各方法实施例的多智能体强对抗仿真流程,在用于实现上述各方法实施例中多智能体的强对抗仿真时,本发明的装置产生的有益效果与对应的上述各方法实施例相同,可以参考上述各方法实施例,此处不再赘述。
[0161]
作为本发明的又一个方面,本发明根据上述各实施例提供一种电子设备,该电子设备包括存储器、处理器及存储在该存储器上并可在该处理器上运行的程序或指令,该处
理器执行该程序或指令时,实现如上述各实施例所述的多智能体强对抗仿真方法的步骤。
[0162]
进一步的,本发明的电子设备还可以包括通信接口和总线。参考图9,为本发明提供的电子设备的结构示意图,包括:至少一个存储器901、至少一个处理器902、通信接口903和总线904。
[0163]
其中,存储器901、处理器902和通信接口903通过总线904完成相互间的通信,通信接口903用于该电子设备与对抗数据设备之间的信息传输;存储器901中存储有可在处理器902上运行的程序或指令,处理器902执行该程序或指令时,实现如上述各实施例所述的多智能体强对抗仿真方法的步骤。
[0164]
可以理解为,该电子设备中至少包含存储器901、处理器902、通信接口903和总线904,且存储器901、处理器902和通信接口903通过总线904形成相互间的通信连接,并可完成相互间的通信,如处理器902从存储器901中读取多智能体强对抗仿真方法的程序指令等。另外,通信接口903还可以实现该电子设备与对抗数据设备之间的通信连接,并可完成相互间信息传输,如通过通信接口903实现对抗回放数据的读取等。
[0165]
电子设备运行时,处理器902调用存储器901中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:从对抗仿真引擎获取多轮演示对抗回放数据,并基于所述对抗回放数据,采用生成对抗网络技术,训练获取神经网络策略模型;利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,完成多智能体强对抗仿真等。
[0166]
上述的存储器901中的程序指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。或者,实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0167]
本发明还根据上述各实施例提供一种非暂态计算机可读存储介质,其上存储有程序或指令,该程序或指令被计算机执行时,实现如上述各实施例所述的多智能体强对抗仿真方法的步骤,例如包括:从对抗仿真引擎获取多轮演示对抗回放数据,并基于所述对抗回放数据,采用生成对抗网络技术,训练获取神经网络策略模型;利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,完成多智能体强对抗仿真等。
[0168]
作为本发明的再一个方面,本发明根据上述各实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的多智能体强对抗仿真方法,该方法包括:从对抗仿真引擎获取多轮演示对抗回放数据,并基于所述对抗回放数据,采用生成对抗网络技术,训练获取神经网络策略模型;利用所述神经网络策略模型,模拟所述多智能体在强对抗过程中的决策过程,完成多智能体强对抗仿真。
[0169]
本发明提供的电子设备、非暂态计算机可读存储介质和计算机程序产品,通过执行上述各实施例所述的多智能体强对抗仿真方法的步骤,借助对历史数据的学习,能够加快多智能体强对抗模型的训练速度,从而有效提高运算效率,并有效节约计算资源。
[0170]
可以理解的是,以上所描述的装置、电子设备及存储介质的实施例仅仅是示意性
的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,既可以位于一个地方,或者也可以分布到不同网络单元上。可以根据实际需要选择其中的部分或全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0171]
通过以上实施方式的描述,本领域的技术人员可以清楚地了解,各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如u盘、移动硬盘、rom、ram、磁碟或者光盘等,包括若干指令,用以使得一台计算机设备(如个人计算机,服务器,或者网络设备等)执行上述各方法实施例或者方法实施例的某些部分所述的方法。
[0172]
另外,本领域内的技术人员应当理解的是,在本发明的申请文件中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0173]
本发明的说明书中,说明了大量具体细节。然而应当理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
[0174]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1