训练智能体的方法和装置与流程

专利2022-05-09  178


本申请涉及人工智能领域,具体涉及一种训练智能体的方法和装置。



背景技术:

多智能体(agent)协作是人工智能领域的一个应用场景。例如,在包含多个路由器的通信网络中,每个路由器都可以看作一个智能体,每个路由器有自己的流量调度策略,多个路由器的流量调度策略需要彼此协调,以便于用较少的资源完成流量调度任务。

一种解决上述问题的方法是多智能体强化学习,该方法将特定任务的目标描述成奖励函数,通过智能体直接与环境和其它智能体进行交互,自动学习能够获得最大长期累积奖励的策略,进而协调多个智能体解决特定任务。

当前,多智能体强化学习方法通常采用全局协调机制。当智能体的数量较少时,全局协调机制的效果尚可接受;当智能体的数量较多时,智能体之间的交互关系极其复杂,全局协调机制的效果难以满足需求。如何协调多智能体的策略是当前需要解决的问题。



技术实现要素:

本申请提供了一种训练智能体的方法和装置,能够取得较好的多智能体协作效果。

第一方面,提供了一种训练智能体的方法,包括:获取第一智能体的环境信息和第二智能体的环境信息;根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息;利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,其中,所述第一智能体的邻域认知信息与所述第二智能体的邻域认知信息具有一致性。

由于第一智能体的邻域认知信息与第二智能体的邻域认知信息相同或相近,因此,基于第一智能体的邻域认知信息训练得到的第一智能体提高了第一智能体对邻域环境的正确认知程度,最终得到的第一智能体生成的动作能够提高多个智能体之间的协作效果。此外,个体认知信息反映了第一智能体的特定环境,基于个体认知信息和邻域认知信息训练第一智能体,能够使得第一智能体生成的动作能够满足第一智能体的个体需求以及邻域智能体的需求。

可选地,所述根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息,包括:

根据所述第一智能体的环境信息生成所述第一智能体的第二信息hi;

根据所述第二智能体的环境信息生成所述第二智能体的第二信息hj;

根据hi和hj生成所述第一信息。

可以通过深度神经网络将第一智能体的环境信息oi和第二智能体的环境信息oj转变为第二信息,第二信息包括oi和oj抽象化后的内容,比原始环境信息(oi和oj)包含更丰富的内容,有利于做决策的神经网络做出更加准确的决策。

可选地,所述根据hi和hj生成所述第一信息,包括:根据hi和第一矩阵的乘积确定第一结果;根据hj和第二矩阵的乘积确定第二结果;根据所述第一结果和所述第二结果生成所述第一信息。

可以对hi和第一矩阵做乘法运算,得到第一结果;对hj和第二矩阵做乘法运算,得到第二结果;然后根据第一结果和第二结果生成hi,例如,对第一结果和第二结果做加权和运算或者拼接处理,得到hi。由于hi和hj是两个规模较小的矩阵,该方法能够减小生成hi所需的计算量。此外,第一矩阵和第二矩阵可以是相同的矩阵,也可以是不同的矩阵。当第一矩阵和第二矩阵相同时,hi和hj共享了同一套参数,有利于gcn学习到更多的内容。

可选地,所述方法还包括:获取所述第二智能体的邻域认知信息根据所述第二智能体的邻域认知信息训练生成所述第一智能体的邻域认知信息的神经网络,以使具有一致性。

具有一致性指的是相同或相近。根据包含的损失函数训练生成的神经网络的目的在于:使得位于一个邻域内的多个智能体对于邻域环境的认知是相同或近似相同的。若各个智能体的邻域认知信息的预测值均与真实值相同或近似相同,则位于一个邻域内的多个智能体对于邻域环境的认知必然是相同或近似相同的。该方案能够提高第一智能体对邻域环境的正确认知程度。

可选地,所述根据所述第二智能体的邻域认知信息训练生成所述第一智能体的邻域认知信息的神经网络,包括:根据包含的损失函数训练生成的神经网络。

可选地,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的环境信息,wj表示基于oj生成的神经网络的权重。

可选地,所述利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,包括:根据所述第一信息和变分自编码器确定所述第一智能体的邻域认知信息

可选地,所述根据所述第一信息和变分自编码器确定所述第一智能体的邻域认知信息包括:根据所述第一信息确定所述第一智能体的邻域认知信息的分布均值和分布方差从一个单位高斯分布中采样得到一个随机值ε;根据和ε确定其中,

由于是基于随机值ε生成的,因此,这种生成的方法能够使得的取值多样化,基于该训练得到的神经网络具有更好的鲁棒性。

可选地,所述方法还包括:根据所述第一智能体的邻域认知信息确定所述第一智能体的环境信息的估计值根据包含oi和的损失函数训练生成的神经网络。

基于包含oi和的损失函数训练生成的神经网络,能够使得oi和相同或近似相同。当oi和相同或近似相同时,说明环境信息oi可以从邻域认知信息的预测值中恢复,即,是对邻域环境的正确认知。

可选地,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

可选地,所述方法还包括:根据所述第一智能体的个体认知信息和邻域认知信息确定所述第一智能体的q值;根据所述第一智能体的q值训练所述第一智能体。

q值反映了第一智能体生成的动作的质量,基于q值训练第一智能体能够提高第一智能体生成的动作的质量。

可选地,所述根据所述第一智能体的q值训练所述第一智能体,包括:根据所述第一智能体的q值和所述第二智能体的q值确定多个智能体的q值qtotal;根据qtotal训练所述第一智能体。

qtotal能够更好的反映单个智能体承担的任务在多个智能体承担的任务中的比例,基于qtotal产生的动作能够增强全局协调性。

第二方面,提供了一种基于智能体生成指令的方法,包括:获取第一智能体的目标环境信息和第二智能体的目标环境信息;根据所述第一智能体的目标环境信息和所述第二智能体的目标环境信息生成目标第一信息;根据所述目标第一信息输出所述第一智能体的目标个体认知信息和目标邻域认知信息,其中,所述第一智能体的目标邻域认知信息与所述第二智能体的目标邻域认知信息具有一致性;根据所述第一智能体的目标个体认知信息和目标邻域认知信息生成指令。

由于第一智能体的目标邻域认知信息与第二智能体的目标邻域认知信息相同或相近,因此,基于第一智能体的目标邻域认知信息生成的动作能够提高多个智能体之间的协作效果。此外,目标个体认知信息反映了第一智能体的特定环境,基于目标个体认知信息和目标邻域认知信息生成的动作能够满足第一智能体的个体需求以及邻域智能体的需求。

可选地,所述根据所述第一智能体的目标环境信息和所述第二智能体的目标环境信息生成目标第一信息,包括:根据所述第一智能体的目标环境信息生成所述第一智能体的目标第二信息;根据所述第二智能体的目标环境信息生成所述第二智能体的目标第二信息;根据所述第一智能体的目标第二信息和所述第二智能体的目标第二信息生成所述目标第一信息。

可以通过深度神经网络将第一智能体的目标环境信息和第二智能体的目标环境信息转变为目标第二信息,目标第二信息包括目标环境信息抽象化后的内容,比原始环境信息(目标环境信息)包含更丰富的内容,有利于做决策的神经网络做出更加准确的决策。

可选地,所述根据所述第一智能体的目标个体认知信息和目标邻域认知信息生成指令,包括:根据所述第一智能体的目标个体认知信息和所述目标智能体的目标邻域信息生成目标q值;根据所述目标q值生成所述指令。

q值反映了第一智能体生成的动作的质量,基于q值生成指令可以生成质量较高的指令。

可选地,所述第一智能体是通过以下方法训练得到的:获取第一智能体的训练环境信息和第二智能体的训练环境信息;根据所述第一智能体的训练环境信息和所述第二智能体的训练环境信息生成训练第一信息;利用所述训练第一信息训练所述第一智能体,使得所述第一智能体输出训练个体认知信息和训练邻域认知信息,其中,所述第一智能体的训练邻域认知信息与所述第二智能体的训练邻域认知信息具有一致性。

由于第一智能体的训练邻域认知信息与第二智能体的训练邻域认知信息相同或相近,因此,基于第一智能体的训练邻域认知信息训练得到的第一智能体提高了第一智能体对邻域环境的正确认知程度,最终得到的第一智能体生成的动作能够提高多个智能体之间的协作效果。此外,训练个体认知信息反映了第一智能体的特定环境,基于训练个体认知信息和训练邻域认知信息训练第一智能体,能够使得第一智能体生成的动作能够满足第一智能体的个体需求以及邻域智能体的需求。

可选地,所述根据所述第一智能体的训练环境信息和所述第二智能体的训练环境信息生成训练第一信息,包括:根据所述第一智能体的训练环境信息生成所述第一智能体的训练第二信息hi;根据所述第二智能体的训练环境信息生成所述第二智能体的训练第二信息hj;根据hi和hj生成所述训练第一信息。

可以通过深度神经网络将第一智能体的训练环境信息oi和第二智能体的训练环境信息oj转变为训练第二信息,训练第二信息包括oi和oj抽象化后的内容,比训练环境信息(oi和oj)包含更丰富的内容,有利于做决策的神经网络做出更加准确的决策。

可选地,所述根据hi和hj生成所述训练第一信息,包括:根据hi和第一矩阵的乘积确定第一结果;根据hj和第二矩阵的乘积确定第二结果;根据所述第一结果和所述第二结果生成所述训练第一信息。

可以对hi和第一矩阵做乘法运算,得到第一结果;对hj和第二矩阵做乘法运算,得到第二结果;然后根据第一结果和第二结果生成hi,例如,对第一结果和第二结果做加权和运算或者拼接处理,得到hi。由于hi和hj是两个规模较小的矩阵,该方法能够减小生成hi所需的计算量。此外,第一矩阵和第二矩阵可以是相同的矩阵,也可以是不同的矩阵。当第一矩阵和第二矩阵相同时,hi和hj共享了同一套参数,有利于gcn学习到更多的内容。

可选地,所述方法还包括:获取所述第二智能体的训练邻域认知信息根据所述第二智能体的训练邻域认知信息训练生成所述第一智能体的训练邻域认知信息的神经网络,以使具有一致性。

具有一致性指的是相同或相近。根据包含的损失函数训练生成的神经网络的目的在于:使得位于一个邻域内的多个智能体对于邻域环境的认知是相同或近似相同的。若各个智能体的邻域认知信息的预测值均与真实值相同或近似相同,则位于一个邻域内的多个智能体对于邻域环境的认知必然是相同或近似相同的。该方案能够提高第一智能体对邻域环境的正确认知程度。

可选地,所述根据所述第二智能体的训练邻域认知信息训练生成所述第一智能体的训练邻域认知信息的神经网络,包括:根据包含的损失函数训练生成的神经网络。

可选地,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的训练环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的训练环境信息,wj表示基于oj生成的神经网络的权重。

可选地,所述利用所述训练第一信息训练所述第一智能体,使得所述第一智能体输出训练个体认知信息和训练邻域认知信息,包括:根据所述训练第一信息和变分自编码器确定所述第一智能体的训练邻域认知信息

可选地,所述根据所述训练第一信息和变分自编码器确定所述第一智能体的训练邻域认知信息包括:根据所述训练第一信息确定所述第一智能体的训练邻域认知信息的分布均值和分布方差从一个单位高斯分布中采样得到一个随机值ε;根据和ε确定其中,

由于是基于随机值ε生成的,因此,这种生成的方法能够使得的取值多样化,基于该训练得到的神经网络具有更好的鲁棒性。

可选地,所述方法还包括:根据所述第一智能体的训练邻域认知信息确定所述第一智能体的训练环境信息的估计值根据包含oi和的损失函数训练生成的神经网络。

基于包含oi和的损失函数训练生成的神经网络,能够使得oi和相同或近似相同。当oi和相同或近似相同时,说明oi可以从中恢复,即,是对邻域环境的正确认知。

可选地,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

可选地,所述方法还包括:根据所述第一智能体的训练个体认知信息和训练邻域认知信息确定所述第一智能体的训练q值;根据所述第一智能体的训练q值训练所述第一智能体。

q值反映了第一智能体生成的动作的质量,基于q值训练第一智能体能够提高第一智能体生成的动作的质量。

可选地,所述根据所述第一智能体的训练q值训练所述第一智能体,包括:根据所述第一智能体的训练q值和所述第二智能体的训练q值确定多个智能体的q值qtotal;根据qtotal训练所述第一智能体。

qtotal能够更好的反映单个智能体承担的任务在多个智能体承担的任务中的比例,基于qtotal产生的动作能够增强全局协调性。

可选地,第一智能体的目标环境信息为通信设备的环境信息或者机械设备的环境信息。

基于第一方面中的方法训练得到的智能体对邻域环境的正确认知程度较高,并且,该智能体对邻域环境的认知与邻域内其它智能体对邻域环境的认知保持一致,因此,基于第一方面中的方法训练得到的智能体生成的流量调度指令能够提高多个通信设备之间的协作效果。基于第一方面中的方法训练得到的智能体生成的机械设备调度指令能够提高多个机械设备之间的协作效果。

第三方面,提供了一种训练智能体的装置,包括用于执行第一方面中任一种方法的单元。

第四方面,提供了一种基于智能体生成指令的装置,包括用于执行第二方面中任一种方法的单元。

第五方面,提供了一种训练智能体的设备,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该设备执行第一方面中任一种方法。

第六方面,提供了一种基于智能体生成指令的设备,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该设备执行第二方面中任一种方法。

第七方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被训练智能体的装置运行时,使得该装置执行第一方面中任一种方法。

第八方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被基于智能体生成指令的装置运行时,使得该装置执行第二方面中任一种方法。

第九方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,所述程序代码包括用于执行第一方面中任一种方法的指令。

第十方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,所述程序代码包括用于执行第二方面中任一种方法的指令。

附图说明

图1是一种适用于本申请的多智能体系统的示意图;

图2是本申请提供的一种训练智能体的方法的示意图;

图3是本申请提供的一种通过变分自编码器生成邻域认知信息的方法的示意图;

图4是本申请提供的另一种训练智能体的方法的示意图;

图5是本申请提供的一种使用多个q值训练智能体的方法的示意图;

图6是本申请提供的一种基于智能体生成动作的方法的示意图;

图7是本申请提供的一种训练智能体的装置的示意图;

图8是本申请提供的一种基于智能体生成动作的装置的示意图;

图9是本申请提供的一种电子设备的示意图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

图1是适用于本申请的一种多智能体系统。

图1中,a~f表示6个路由器,每个路由器上部署有神经网络,因此,一个路由器等价于一个智能体,训练智能体即训练智能体上部署的神经网络。路由器之间的连线表示通信线路。a~d为4个边缘路由器,边缘路由器之间的流量称为聚合流,例如,从a到c的流量为一个聚合流,从c到a流量为另一个聚合流。

多个路由器之间的聚合流可以由nb(nb-1)确定,nb为该多个路由器中边缘路由器的数量。在图1所示的系统中,存在4个边缘路由器,因此,该系统共存在12个聚合流。

对于每个聚合流,多路径路由算法已经给出了可用的路径。路由器可以基于路由表项(s,d,nexthop1,rate1%,nexthop2,rate2%,nexthop3,rate3%,…)确定可用的路径,其中,s表示起点路由器,d表示目标路由器,nexthop1、nexthop2和nexthop3表示不同的下一跳,rate1%、rate2%和rate3%表示不同的下一跳对应的转发的流量占总转发流量的比例,各个rate的总和等于100%。

上述系统的一个特定任务为:确定a~f中任意一个路由器的流量转发策略。

一种完成上述特定任务的方法是将a~f中任意一个路由器看作一个智能体,通过训练该智能体,使得该智能体能够做出合适的流量转发策略。

下面,将详细描述本申请提供的训练智能体的方法。

图2示出了本申请提供的一种训练智能体的方法。方法200可以由智能体执行,也可以由专用的神经网络加速器、通用的处理器或其它装置执行,下文以智能体为执行主体对方法200进行描述是示例性的描述,不应被理解为对方法200的执行主体的限定。方法200包括:

s210,获取第一智能体的环境信息和第二智能体的环境信息。

第一智能体可以是a~f中的任意一个路由器,第二智能体可以是a~f中除第一智能体之外的任意一个智能体。以下,将第一智能体称为目标智能体,将第二智能体称为邻域智能体。目标智能体的邻域智能体可以是与目标智能体之间存在直接的通信连接的路由器。

例如,目标智能体为路由器e,与路由器e之间存在直接的通信连接的路由器为路由器a、路由器b和路由器f,因此,该3个路由器可以作为目标智能体的邻域智能体。

可选地,还可以根据智能体之间的距离远近确定目标智能体的邻域智能体。本申请对确定目标智能体的邻域智能体的方法不做限定。

为了便于描述,以智能体i表示目标智能体,以oi表示目标智能体的环境信息,以智能体j表示目标智能体的邻域智能体,以oj表示目标智能体的邻域智能体的环境信息。

oi或oj例如是路由器的缓存大小、缓存中的流量多少、不同统计周期内直连链路的负载、上个决策周期内直连链路的平均负载、路由器历史决策等信息。本申请对环境信息的具体内容不作限定。

获取oi和oj后,智能体i可以执行下列步骤。

s220,根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息。

智能体i可以通过深度神经网络将oi转变为第一信息,第一信息包括oi和oj抽象化后的内容,比原始环境信息(oi和oj)包含更丰富的内容,有利于做决策的神经网络做出更加准确的决策。

在本申请中,“第一”、“第二”等词语用于描述同一类对象中的不同个体,例如,“第一信息”和下文所述的“第二信息”表示两个不同的信息,除此之外不存在其它限定。

第一信息可以是智能体i生成的,也可以是智能体i从其它设备接收的。例如,智能体i感知到oi后,可以基于oi自己生成第一信息,也可以将oi发送给其它设备,待其它设备基于oi生成第一信息后,从其它设备接收第一信息。

智能体i获取第一信息后,可以执行下列步骤。

s230,利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,其中,所述第一智能体的邻域认知信息与所述第二智能体的邻域认知信息具有一致性。

目标智能体的个体认知信息可以用ai表示,目标智能体的邻域认知信息可以用表示。ai反映了智能体i对自身情况的认知,反映了智能体i对周围的环境的认知。假设智能体i收集到的环境信息oi是完整的,则oi中与邻域智能体的环境信息相同或相近的信息为邻域认知信息(因为),oi中与邻域智能体的环境信息不同的信息则为个体认知信息;原因是:通常情况下,处于一个邻域内的智能体的环境相同或相近,而不同的智能体的个体自身情况不同。

智能体i可以将第一信息输入认知(cognition)神经网络得到ai和下文会详细描述如何得到与(邻域智能体的邻域认知信息)相同或相近的

可选地,还可以采用其它方法生成

图3示出了一种通过变分自编码器(variationalautoencoder)生成的方法。

首先,将oi输入变分自编码器的全连接网络,通过全连接网络将oi转变为hi,并进一步将hi和hj转变为第一信息hi,其中,hj为邻域智能体的环境信息oj经过抽象化后的结果。

随后,根据第一信息确定智能体i的邻域认知信息的分布均值和分布方差接下来从一个单位高斯分布中采样得到一个随机值ε;然后根据和ε确定其中,

由于是基于随机值ε生成的,因此,这种生成的方法能够使得的取值多样化,基于该训练得到的神经网络具有更好的鲁棒性。

图3中的表示根据确定的hi的预测值,表示根据确定的hi的预测值,表示根据确定的oi的预测值。通过最小化oi和的损失函数(如l2)可以训练基于oi生成的神经网络,以期望是对邻域环境的正确认知。下文会详细描述产生该有益效果的原因。

此外,图3中的c表示智能体i的邻域认知信息的真实值,通过最小化c和的损失函数(如kl)可以训练基于oi生成的神经网络,以使得与邻域智能体的邻域认知信息(如)保持一致,该过程如c与oi之间的虚线箭头所示。下文会详细描述产生该有益效果的原因。

上文详细介绍了根据第一信息hi确定目标智能体的个体认知信息ai和邻域认知信息的方法。通常情况下,位于一个邻域内的多个智能体具有相同或近似相同的环境,因此,位于一个邻域内的多个智能体对于邻域环境的认知应该是相同或近似相同的。基于该原理,可以利用邻域智能体的邻域认知信息训练生成目标智能体的邻域认知信息的神经网络,以使相同或近似相同。

可选地,可以根据包含的损失函数训练生成的神经网络。该损失函数例如是其中,kl表示kl散度(kullback-leiblerdivergence),q表示概率分布,wi表示基于oi生成的神经网络的权重,wj表示基于oj生成的神经网络的权重。kl散度也称为相对熵(relativeentropy),用于描述两个概率分布之间的差异,因此,可以作为的损失函数。

除了通过kl散度衡量之间的差异之外,还可以通过其它方法衡量之间的差异。例如,本质上是两个向量,可以通过l1-distance、l2-distance等数学上表示距离的方法来衡量之间的差异,并通过更新生成的神经网络来缩小之间的差异。上述l1-distance可以称为曼哈顿距离或l1范数(l1-norm),上述l2-distance可以称为欧几里得距离或l2范数(l2-norm)。在机器学习领域,l1-distance又可以称为l1正则化,l2-distance又可以称为l2正则化。

如上所述,根据包含的损失函数训练生成的神经网络的目的在于:使得位于一个邻域内的多个智能体对于邻域环境的认知是相同或近似相同的。若各个智能体的邻域认知信息的预测值均与真实值相同或近似相同,则位于一个邻域内的多个智能体对于邻域环境的认知必然是相同或近似相同的。

因此,还可以根据智能体i的邻域认知信息的真实值c训练生成预测值的神经网络,以使与c相同或近似相同。

例如,可以假设c是一个标准正态分布,其均值是μ=0,方差为σ=1,通过最小化训练生成的神经网络,以使与c相同或近似相同,其中,p表示先验概率,q表示后验概率。

当邻域智能体(如智能体j)也基于上述例子所示的方法训练生成的神经网络后,得到的神经网络所生成的与c相同或近似相同,从而使得相同或近似相同,即,增强了与邻域智能体的邻域认知信息(如)的一致性。这也是图3所示的通过最小化c和的损失函数训练神经网络的有益效果的原理。

图3还提到了通过最小化oi和的损失函数(如l2)训练基于oi生成的神经网络。包含oi和的损失函数例如是其中,oi是环境信息的真实值,是环境信息的预测值,本申请对包含oi和的损失函数的具体形式不做限定。基于包含oi和的损失函数训练生成的神经网络,能够使得oi和相同或近似相同。当oi和相同或近似相同时,说明环境信息oi可以从邻域认知信息的预测值中恢复,即,是对邻域环境的正确认知。

目标智能体生成个体认知信息ai和邻域认知信息后,可以根据所述目标智能体的邻域认知信息训练所述目标智能体。

可选地,目标智能体可以通过q值训练方法训练目标智能体。本领域技术人员能够认识到,随着技术的发展,其它能够利用邻域认知信息训练目标智能体的方法均适用于本申请。

目标智能体可以首先对ai和执行按位加法操作。按位加法操作指的是对不同向量的对应位置的元素执行加法操作,例如,ai是3维向量[0.25,0.1,0.3],是3维向量[0.1,0.2,0.15],对ai和执行按位加法操作的结果是[0.35,0.3,0.45]。

对ai和执行按位加法操作后得到的结果可以通过q值神经网络生成目标智能体的q值qi。例如,qi=f(x*w),其中,x为对ai和执行按位加法操作后得到的结果,如三维向量[0.35,0.3,0.45],w是q值神经网络的权重矩阵,如3*k维的权重矩阵,k是qi的维度(即,智能体i的动作集合中元素个数),f(*)是对*做非线性操作的函数,相比于线性操作函数,非线性操作函数能够增强神经网络的表达能力。常见的f有sigmoid函数、relu函数等。

可选地,也可以直接拼接ai和生成qi,本申请对生成qi的具体方式不做限定。

随后,目标智能体可以根据q值训练目标智能体。

q值用于评价动作的质量,目标智能体可以根据不同的动作对应的q值确定最终输出的动作。在目标智能体实施最终输出的动作之后,从环境中获取该动作的反馈,根据该反馈训练生成动作的神经网络,即目标智能体。

例如,智能体i的q值为qi,智能体i可以基于qi生成动作,该动作例如是流量调度指令例如是经过路由器i的一条聚合流在出端口集合上的流量比例(rate1%,rate2%,rate3%,…),表示向(nexthop1,nexthop2,nexthop3,…)中的各个节点发送的流量的多少;ai表示一个特定动作,例如,当前存在上下左右四个动作(即,存在四个ai),每个动作对应一个q值,分别为q(o,↑)、q(o,↓)、q(o,←)、q(o,→),智能体i可以从中选择q值最大的动作(即,)执行。随后,智能体i可以根据的反馈最小化时间差分(temporaldifference,td)损失函数以训练生成动作的神经网络。

由于目标智能体的q值是基于ai和生成的,目标智能体能够通过训练生成的神经网络来增强与邻域智能体的邻域认知信息(如)的一致性,并且,目标智能体能够通过训练生成的神经网络来提高目标智能体对邻域环境的正确认知程度,从而提高了q值的准确度。相比于直接根据第一信息生成q的神经网络训练方法,基于方法200训练得到的神经网络生成的动作能够提高多个智能体之间的协作效果。

下面,结合图4进一步介绍本申请提供的训练智能体的方法。图4所示的方法可以由路由器i执行,路由器i即上文所述的智能体i的一个示例,可以是图1所示的6个路由器中的任意一个。路由器j是路由器i的一个邻域路由器。路由器i可以执行以下步骤。

步骤1:路由器i感知环境信息oi。

步骤2:路由器i通过全连接(fullyconnected,fc)网络将oi加工为hi。hi可以称为路由器i的第二信息,表示基于oi抽象得到的信息。

步骤3:路由器i获取所有邻域路由器的第二信息。路由器i的邻域路由器可以表示为j∈n(i),其中,n(i)为路由器i的所有邻域路由器的集合,j为该集合中的一个,即,路由器j。路由器j的环境信息为oj,路由器j可以通过自己的fc网络将oj加工为hj,hj即路由器j的第二信息。

路由器i可以通过图卷积网络(graphconvolutionalnetwork,gcn)将hi和邻域路由器的第二信息加工为自己的第一信息hi,可以对hi和路由器i的所有邻域路由器的第二信息做加权和运算,得到hi。例如,路由器i的所有邻域路由器可以表示为n(i),则路由器i的第一信息可以由下列公式确定,

其中,σ表示非线性函数,用于提高神经网络的表达能力,w表示gcn的权重,∪为并集符号,{i}表示路由器i,|n(j)|表示路由器j的所有邻域路由器的数量,|n(i)|表示路由器i的所有邻域路由器的数量。

在基于hi和hj生成hi的过程中有两种可选的方法。

第一种方法是:首先对hi和hj进行处理(如拼接或加权和)得到一个规模较大的矩阵,然后对该矩阵执行矩阵乘法运算得到hi。

第二种方法是:对hi和第一矩阵做乘法运算,得到第一结果;对hj和第二矩阵做乘法运算,得到第二结果;然后根据第一结果和第二结果生成hi,例如,对第一结果和第二结果做加权和运算或者拼接处理,得到hi。

由于hi和hj是两个规模较小的矩阵,第二种方法相比于第一种方法能够减小生成hi所需的计算量。此外,第一矩阵和第二矩阵可以是相同的矩阵,也可以是不同的矩阵。当第一矩阵和第二矩阵相同时,hi和hj共享了同一套参数,有利于gcn学习到更多的内容。

步骤4:路由器i通过认知(cognition)网络将hi加工为ai和

步骤5:路由器i基于生成其中,表示根据确定的hi的预测值,表示根据确定的hi的预测值,表示根据确定的oi的预测值。通过最小化oi和的损失函数(如l2)可以训练基于oi生成的神经网络,以期望是对邻域环境的正确认知。基于oi生成的神经网络例如是图4所示的fc网络、gcn和认知网络中的一个或多个。

步骤6:路由器i获取所有邻域路由器的邻域认知信息,并最小化包含和所有邻域路由器的邻域认知信息的损失函数,以使得和所有邻域路由器的邻域认知信息是一致的。

例如,路由器i获取路由器j的邻域认知信息后,可以通过最小化使得一致(相同或近似相同),其中,wi表示基于oi生成的神经网络的权重,wj表示基于oj生成的神经网络的权重。基于oi生成的神经网络例如是图4所示的fc网络、gcn和认知网络中的一个或多个。

需要说明的是,图4为了简洁,未区分路由器i的神经网络和路由器j的神经网络,实际上,路由器i和路由器j各自部署有fc网络、gcn、认识网络和q值网络,并且,由于路由器i和路由器j的环境信息通常不会完全相同,因此,路由器i和路由器j各自部署的神经网络经过训练后的结果通常也不相同。

步骤7:路由器i通过q值网络对ai和执行按位加法操作,得到q值qi。

步骤8:路由器i根据qi生成动作,该动作例如是流量调度指令例如是经过路由器i的一条聚合流在出端口集合上的流量比例(rate1%,rate2%,rate3%,…),表示向(nexthop1,nexthop2,nexthop3,…)中的各个节点发送的流量的多少。

步骤9:路由器i可以从环境中获取的反馈ri,并根据ri最小化td损失函数,将最小化td损失函数产生的梯度回传训练智能体i,以期望得到准确的qi或生成动作的神经网络例如是图4所示的fc网络、gcn、认知网络和q值网络中的一个或多个。

可以基于公式(2)训练每个智能体i。

其中,ltotal(w)为td损失函数ltd(w)和认知失调(cognitive-dissonance,cd)损失函数的加权和,其中,用于使认识失调损失变小,即,使多个智能体的认知变得一致;α是一个实数,表示的权重系数;w表示所有智能体的参数的集合(智能体i的参数wi是该集合中的一部分);n表示多智能体系统中总共有n个智能体,其中,该n个智能体共享一个td损失函数,并且,该n个智能体中每个智能体拥有自己的cd损失函数。

ltd(w)可以通过公式(3)确定。

其中,表示对做采样操作,然后基于所有的样本求expression的期望;表示所有智能体的联合观测,即表示所有智能体的联合动作,即r表示所有智能体在联合观测执行联合动作后,环境反馈给所有智能体的奖励值;表示所有智能体在联合观测执行联合动作后,环境反馈给所有智能体的新的联合观测;qtotal表示多个智能体的q值;ytotal可以由公式(4)确定。

其中,γ表示一个实数;表示在新的联合观测下,所有智能体执行的联合动作;w-表示目标神经网络的参数,开始训练前和w完全一样,训练过程中有两种更新方式:(1)在s个训练步骤中不做更新,s个训练步骤结束后,将w的值赋给w-;(2)每个训练步骤中做更新,更新方式为w-=βw- (1-β)w,其中β是一个实数,用来控制w-的更新速率(注意,不管w-的哪种更新方式,w会在每个训练步骤中做更新,更新方法就是基于公式(2)定义的总的损失函数l-total)。

公式(2)中的可以由公式(5)确定。

需要说明的是,公式(5)中的w表示所有智能体的参数的集合,因此,未进一步区分智能体i的参数wi是该集合中的一部分)

公式(2)至公式(5)为同步训练生成的神经网络和智能体i时所使用的公式的示例。可选地,路由器i也可以先将生成的神经网络训练完成后,再基于该神经网络生成的生成qi,并基于qi训练智能体i。

路由器i除了可以使用qi训练智能体之外,也可以使用qi和其它q值共同训练智能体。

图5示出了一种使用多个q值训练智能体的方法。

相比于图4,图5中的路由器i多部署了一个q值混合网络,该网络用于将多个路由器的q值加工为qtotal,该多个路由器可以是属于一个邻域的路由器,也可以是属于多个邻域的路由器。例如,q值混合网络可以将qi和qj(路由器j的q值)做加权和运算,这样,qtotal能够更好的反映单个路由器承担的任务在多个路由器承担的任务中的比例,基于qtotal产生的动作能够增强全局协调性。

上文详细描述了本申请提供的训练智能体的方法,待智能体训练收敛后,智能体可以按照图6所示的方法生成动作。方法600包括:

s610,智能体i感知环境信息。

s620,智能体i通过fc网络将环境信息加工为第二信息。

s630,智能体i获取所有邻域智能体的第二信息,并通过gcn将所有的第二信息加工为第一信息。

s640,智能体i通过认知网络处理第一信息,生成个体认知信息和邻域认知信息。

s650,智能体i通过q值网络对个体认知信息和邻域认知信息做按位加法操作,并基于该操作的结果生成q值。

s660,智能体i根据q值生成动作(例如,流程调度指令),并将该动作施加到环境中。

与方法200相比,方法600无需再更新智能体的参数。此外,由于方法600中智能体i所处的环境与方法200中智能体i所处的环境相比可能发生了变换,因此,方法600中的所有信息与方法200中的所有信息可能不同,可以将方法600中的信息称为目标信息,可以将方法200中的信息成为训练信息。例如,方法600中的环境信息、第一信息、第二信息、个体认知信息和邻域认知信息可以分别称为:目标环境信息、目标第一信息、目标第二信息、目标个体认知信息和目标邻域认知信息;方法200中的环境信息、第一信息、第二信息、个体认知信息和邻域认知信息可以分别称为:训练环境信息、训练第一信息、训练第二信息、训练个体认知信息和训练邻域认知信息。

基于方法200训练得到的智能体对邻域环境的正确认知程度较高,并且,基于方法200训练得到的智能体对邻域环境的认知与邻域内其它智能体对邻域环境的认知保持一致,因此,方法600中智能体生成的动作能够提高多个智能体之间的协作效果。

上文详细介绍了本申请提供的训练智能体的方法以及基于智能体生成动作的方法的示例。可以理解的是,相应的装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请可以根据上述方法示例对训练智能体的装置以及基于智能体生成动作的装置进行功能单元的划分,例如,可以将各个功能划分为各个功能单元,也可以将两个或两个以上的功能集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

图7是本申请提供的一种训练智能体的装置的结构示意图。该装置700包括处理单元710和通信单元720,通信单元720能够在处理单元710的控制下执行发送步骤和/或接收步骤。

通信单元720用于:获取第一智能体的环境信息和第二智能体的环境信息;

处理单元710用于:根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息;利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,其中,所述第一智能体的邻域认知信息与所述第二智能体的邻域认知信息具有一致性。

可选地,所述处理单元710具体用于:根据所述第一智能体的环境信息生成所述第一智能体的第二信息hi;根据所述第二智能体的环境信息生成所述第二智能体的第二信息hj;根据hi和hj生成所述第一信息。

可选地,所述处理单元710具体用于:根据hi和第一矩阵的乘积确定第一结果;根据hj和第二矩阵的乘积确定第二结果;根据所述第一结果和所述第二结果生成所述第一信息。

可选地,所述通信单元720还用于:获取所述第二智能体的邻域认知信息所述处理单元710还用于:根据所述第二智能体的邻域认知信息训练生成所述第一智能体的邻域认知信息的神经网络,以使具有一致性。

可选地,所述处理单元710具体用于:根据包含的损失函数训练生成的神经网络。

可选地,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的环境信息,wj表示基于oj生成的神经网络的权重。

可选地,所述处理单元710具体用于:根据所述第一信息和变分自编码器确定所述第一智能体的邻域认知信息

可选地,所述处理单元710具体用于:根据所述第一信息确定所述第一智能体的邻域认知信息的分布均值和分布方差从一个单位高斯分布中采样得到一个随机值ε;根据和ε确定其中,

可选地,所述通信单元720还用于:根据所述第一智能体的邻域认知信息确定所述第一智能体的环境信息的估计值所述处理单元710还用于:根据包含oi和的损失函数训练生成的神经网络。

可选地,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

可选地,所述处理单元710还用于:根据所述第一智能体的个体认知信息和邻域认知信息确定所述第一智能体的q值;根据所述第一智能体的q值训练所述第一智能体。

可选地,所述处理单元710具体用于:根据所述第一智能体的q值和所述第二智能体的q值确定多个智能体的q值qtotal;根据qtotal训练所述第一智能体。

装置700执行训练智能体的方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述。

图8是本申请提供的一种基于智能体生成指令的装置的结构示意图。该装置800包括处理单元810和通信单元820,通信单元820能够在处理单元810的控制下执行发送步骤和/或接收步骤。

所述通信单元820用于:获取第一智能体的目标环境信息和第二智能体的目标环境信息;

所述处理单元810用于:根据所述第一智能体的目标环境信息和所述第二智能体的目标环境信息生成目标第一信息;根据所述目标第一信息输出所述第一智能体的目标个体认知信息和目标邻域认知信息,其中,所述第一智能体的目标邻域认知信息与所述第二智能体的目标邻域认知信息具有一致性;根据所述第一智能体的目标个体认知信息和目标邻域认知信息生成指令。

可选地,所述处理单元810具体用于:根据所述第一智能体的目标环境信息生成所述第一智能体的目标第二信息;根据所述第二智能体的目标环境信息生成所述第二智能体的目标第二信息;根据所述第一智能体的目标第二信息和所述第二智能体的目标第二信息生成所述目标第一信息。

可选地,所述处理单元810具体用于:根据所述第一智能体的目标个体认知信息和所述目标智能体的目标邻域信息生成目标q值;根据所述目标q值生成所述指令。

可选地,所述通信单元820还用于:获取第一智能体的训练环境信息和第二智能体的训练环境信息;所述处理单元810还用于:根据所述第一智能体的训练环境信息和所述第二智能体的训练环境信息生成训练第一信息;利用所述训练第一信息训练所述第一智能体,使得所述第一智能体输出训练个体认知信息和训练邻域认知信息,其中,所述第一智能体的训练邻域认知信息与所述第二智能体的训练邻域认知信息具有一致性。

可选地,所述处理单元810具体用于:根据所述第一智能体的训练环境信息生成所述第一智能体的训练第二信息hi;根据所述第二智能体的训练环境信息生成所述第二智能体的训练第二信息hj;根据hi和hj生成所述训练第一信息。

可选地,所述处理单元810具体用于:根据hi和第一矩阵的乘积确定第一结果;根据hj和第二矩阵的乘积确定第二结果;根据所述第一结果和所述第二结果生成所述训练第一信息。

可选地,所述通信单元820还用于:获取所述第二智能体的训练邻域认知信息所述处理单元810还用于:根据所述第二智能体的训练邻域认知信息训练生成所述第一智能体的训练邻域认知信息的神经网络,以使具有一致性。

可选地,所述处理单元810具体用于:根据包含的损失函数训练生成的神经网络。

可选地,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的训练环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的训练环境信息,wj表示基于oj生成的神经网络的权重。

可选地,所述处理单元810具体用于:根据所述训练第一信息和变分自编码器确定所述第一智能体的训练邻域认知信息

可选地,所述处理单元810具体用于:根据所述训练第一信息确定所述第一智能体的训练邻域认知信息的分布均值和分布方差从一个单位高斯分布中采样得到一个随机值ε;根据和ε确定其中,

可选地,所述处理单元810还用于:根据所述第一智能体的训练邻域认知信息确定所述第一智能体的训练环境信息的估计值根据包含oi和的损失函数训练生成的神经网络。

可选地,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

可选地,所述处理单元810还用于:根据所述第一智能体的训练个体认知信息和训练邻域认知信息确定所述第一智能体的训练q值;根据所述第一智能体的训练q值训练所述第一智能体。

可选地,所述处理单元810具体用于:根据所述第一智能体的训练q值和所述第二智能体的训练q值确定多个智能体的q值qtotal;根据qtotal训练所述第一智能体。

装置800执行训练智能体的方法的具体方式以及产生的有益效果可以参见方法实施例中的相关描述。

可选地,装置800和装置700为相同的装置。

图9示出了本申请提供的一种电子设备的结构示意图。图9中的虚线表示该单元或该模块为可选的。设备900可用于实现上述方法实施例中描述的方法。设备900可以是终端设备或服务器或芯片。

设备900包括一个或多个处理器901,该一个或多个处理器901可支持设备900实现图2至图6所对应方法实施例中的方法。处理器901可以是通用处理器或者专用处理器。例如,处理器901可以是中央处理器(centralprocessingunit,cpu)。cpu可以用于对设备900进行控制,执行软件程序,处理软件程序的数据。设备900还可以包括通信单元905,用以实现信号的输入(接收)和输出(发送)。

例如,设备900可以是芯片,通信单元905可以是该芯片的输入和/或输出电路,或者,通信单元905可以是该芯片的通信接口,该芯片可以作为终端设备或网络设备或其它电子设备的组成部分。

又例如,设备900可以是终端设备或服务器,通信单元905可以是该终端设备或该服务器的收发器,或者,通信单元905可以是该终端设备或该服务器的收发电路。

设备900中可以包括一个或多个存储器902,其上存有程序904,程序904可被处理器901运行,生成指令903,使得处理器901根据指令903执行上述方法实施例中描述的方法。可选地,存储器902中还可以存储有数据。可选地,处理器901还可以读取存储器902中存储的数据,该数据可以与程序904存储在相同的存储地址,该数据也可以与程序904存储在不同的存储地址。

处理器901和存储器902可以单独设置,也可以集成在一起,例如,集成在终端设备的系统级芯片(systemonchip,soc)上。

设备900还可以包括天线906。通信单元905用于通过天线906实现设备900的收发功能。

处理器901执行与用户进行信息交互的方法的具体方式可以参见方法实施例中的相关描述。

应理解,上述方法实施例的各步骤可以通过处理器901中的硬件形式的逻辑电路或者软件形式的指令完成。处理器901可以是cpu、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其它可编程逻辑器件,例如,分立门、晶体管逻辑器件或分立硬件组件。

本申请还提供了一种计算机程序产品,该计算机程序产品被处理器901执行时实现本申请中任一方法实施例所述的方法。

该计算机程序产品可以存储在存储器902中,例如是程序904,程序904经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器901执行的可执行目标文件。

本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。

该计算机可读存储介质例如是存储器902。存储器902可以是易失性存储器或非易失性存储器,或者,存储器902可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。

本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和设备的具体工作过程以及产生的技术效果,可以参考前述方法实施例中对应的过程和技术效果,在此不再赘述。

在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。

应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。

另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。


技术特征:

1.一种训练智能体的方法,其特征在于,包括:

获取第一智能体的环境信息和第二智能体的环境信息;

根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息;

利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,其中,所述第一智能体的邻域认知信息与所述第二智能体的邻域认知信息具有一致性。

2.根据权利要求1所述的方法,其特征在于,所述根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息,包括:

根据所述第一智能体的环境信息生成所述第一智能体的第二信息hi;

根据所述第二智能体的环境信息生成所述第二智能体的第二信息hj;

根据hi和hj生成所述第一信息。

3.根据权利要求2所述的方法,其特征在于,所述根据hi和hj生成所述第一信息,包括:

根据hi和第一矩阵的乘积确定第一结果;

根据hj和第二矩阵的乘积确定第二结果;

根据所述第一结果和所述第二结果生成所述第一信息。

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:

获取所述第二智能体的邻域认知信息

根据所述第二智能体的邻域认知信息训练生成所述第一智能体的邻域认知信息的神经网络,以使具有一致性。

5.根据权利要求4所述的方法,其特征在于,所述根据所述第二智能体的邻域认知信息训练生成所述第一智能体的邻域认知信息的神经网络,包括:

根据包含的损失函数训练生成的神经网络。

6.根据权利要求5所述的方法,其特征在于,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的环境信息,wj表示基于oj生成的神经网络的权重。

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,包括:

根据所述第一信息和变分自编码器确定所述第一智能体的邻域认知信息

8.根据权利要求7所述的方法,其特征在于,所述根据所述第一信息和变分自编码器确定所述第一智能体的邻域认知信息包括:

根据所述第一信息确定所述第一智能体的邻域认知信息的分布均值和分布方差

从一个单位高斯分布中采样得到一个随机值ε;

根据和ε确定其中,

9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:

根据所述第一智能体的邻域认知信息确定所述第一智能体的环境信息的估计值

根据包含oi和的损失函数训练生成的神经网络。

10.根据权利要求9所述的方法,其特征在于,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

11.根据权利要求1至10中任一项所述的方法,其特征在于,所述方法还包括:

根据所述第一智能体的个体认知信息和邻域认知信息确定所述第一智能体的q值;

根据所述第一智能体的q值训练所述第一智能体。

12.根据权利要求11所述的方法,其特征在于,所述根据所述第一智能体的q值训练所述第一智能体,包括:

根据所述第一智能体的q值和所述第二智能体的q值确定多个智能体的q值qtotal;

根据qtotal训练所述第一智能体。

13.一种基于智能体生成指令的方法,其特征在于,包括:

获取第一智能体的目标环境信息和第二智能体的目标环境信息;

根据所述第一智能体的目标环境信息和所述第二智能体的目标环境信息生成目标第一信息;

根据所述目标第一信息输出所述第一智能体的目标个体认知信息和目标邻域认知信息,其中,所述第一智能体的目标邻域认知信息与所述第二智能体的目标邻域认知信息具有一致性;

根据所述第一智能体的目标个体认知信息和目标邻域认知信息生成指令。

14.根据权利要求13所述的方法,其特征在于,所述根据所述第一智能体的目标环境信息和所述第二智能体的目标环境信息生成目标第一信息,包括:

根据所述第一智能体的目标环境信息生成所述第一智能体的目标第二信息;

根据所述第二智能体的目标环境信息生成所述第二智能体的目标第二信息;

根据所述第一智能体的目标第二信息和所述第二智能体的目标第二信息生成所述目标第一信息。

15.根据权利要求13或14所述的方法,其特征在于,所述根据所述第一智能体的目标个体认知信息和目标邻域认知信息生成指令,包括:

根据所述第一智能体的目标个体认知信息和所述目标智能体的目标邻域信息生成目标q值;

根据所述目标q值生成所述指令。

16.根据权利要求13至15中任一项所述的方法,其特征在于,所述第一智能体是通过以下方法训练得到的:

获取第一智能体的训练环境信息和第二智能体的训练环境信息;

根据所述第一智能体的训练环境信息和所述第二智能体的训练环境信息生成训练第一信息;

利用所述训练第一信息训练所述第一智能体,使得所述第一智能体输出训练个体认知信息和训练邻域认知信息,其中,所述第一智能体的训练邻域认知信息与所述第二智能体的训练邻域认知信息具有一致性。

17.根据权利要求16所述的方法,其特征在于,所述根据所述第一智能体的训练环境信息和所述第二智能体的训练环境信息生成训练第一信息,包括:

根据所述第一智能体的训练环境信息生成所述第一智能体的训练第二信息hi;

根据所述第二智能体的训练环境信息生成所述第二智能体的训练第二信息hj;

根据hi和hj生成所述训练第一信息。

18.根据权利要求17所述的方法,其特征在于,所述根据hi和hj生成所述训练第一信息,包括:

根据hi和第一矩阵的乘积确定第一结果;

根据hj和第二矩阵的乘积确定第二结果;

根据所述第一结果和所述第二结果生成所述训练第一信息。

19.根据权利要求16至18中任一项所述的方法,其特征在于,所述方法还包括:

获取所述第二智能体的训练邻域认知信息

根据所述第二智能体的训练邻域认知信息训练生成所述第一智能体的训练邻域认知信息的神经网络,以使具有一致性。

20.根据权利要求19所述的方法,其特征在于,所述根据所述第二智能体的训练邻域认知信息训练生成所述第一智能体的训练邻域认知信息的神经网络,包括:

根据包含的损失函数训练生成的神经网络。

21.根据权利要求20所述的方法,其特征在于,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的训练环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的训练环境信息,wj表示基于oj生成的神经网络的权重。

22.根据权利要求16至21中任一项所述的方法,其特征在于,所述利用所述训练第一信息训练所述第一智能体,使得所述第一智能体输出训练个体认知信息和训练邻域认知信息,包括:

根据所述训练第一信息和变分自编码器确定所述第一智能体的训练邻域认知信息

23.根据权利要求22所述的方法,其特征在于,所述根据所述训练第一信息和变分自编码器确定所述第一智能体的训练邻域认知信息包括:

根据所述训练第一信息确定所述第一智能体的训练邻域认知信息的分布均值和分布方差

从一个单位高斯分布中采样得到一个随机值ε;

根据和ε确定其中,

24.根据权利要求16至23中任一项所述的方法,其特征在于,所述方法还包括:

根据所述第一智能体的训练邻域认知信息确定所述第一智能体的训练环境信息的估计值

根据包含oi和的损失函数训练生成的神经网络。

25.根据权利要求24所述的方法,其特征在于,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

26.根据权利要求16至25中任一项所述的方法,其特征在于,所述方法还包括:

根据所述第一智能体的训练个体认知信息和训练邻域认知信息确定所述第一智能体的训练q值;

根据所述第一智能体的训练q值训练所述第一智能体。

27.根据权利要求26所述的方法,其特征在于,所述根据所述第一智能体的训练q值训练所述第一智能体,包括:

根据所述第一智能体的训练q值和所述第二智能体的训练q值确定多个智能体的q值qtotal;

根据qtotal训练所述第一智能体。

28.一种训练智能体的装置,其特征在于,包括通信单元和处理单元,

所述通信单元用于:获取第一智能体的环境信息和第二智能体的环境信息;

所述处理单元用于:根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息;利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,其中,所述第一智能体的邻域认知信息与所述第二智能体的邻域认知信息具有一致性。

29.根据权利要求28所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一智能体的环境信息生成所述第一智能体的第二信息hi;

根据所述第二智能体的环境信息生成所述第二智能体的第二信息hj;

根据hi和hj生成所述第一信息。

30.根据权利要求29所述的装置,其特征在于,所述处理单元具体用于:

根据hi和第一矩阵的乘积确定第一结果;

根据hj和第二矩阵的乘积确定第二结果;

根据所述第一结果和所述第二结果生成所述第一信息。

31.根据权利要求28至30中任一项所述的装置,其特征在于,

所述通信单元还用于:获取所述第二智能体的邻域认知信息

所述处理单元还用于:根据所述第二智能体的邻域认知信息训练生成所述第一智能体的邻域认知信息的神经网络,以使具有一致性。

32.根据权利要求31所述的装置,其特征在于,所述处理单元具体用于:

根据包含的损失函数训练生成的神经网络。

33.根据权利要求32所述的装置,其特征在于,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的环境信息,wj表示基于oj生成的神经网络的权重。

34.根据权利要求28至33中任一项所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一信息和变分自编码器确定所述第一智能体的邻域认知信息

35.根据权利要求34所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一信息确定所述第一智能体的邻域认知信息的分布均值和分布方差

从一个单位高斯分布中采样得到一个随机值ε;

根据和ε确定其中,

36.根据权利要求28至35中任一项所述的装置,其特征在于,

所述通信单元还用于:根据所述第一智能体的邻域认知信息确定所述第一智能体的环境信息的估计值

所述处理单元还用于:根据包含oi和的损失函数训练生成的神经网络。

37.根据权利要求36所述的装置,其特征在于,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

38.根据权利要求28至37中任一项所述的装置,其特征在于,所述处理单元还用于:

根据所述第一智能体的个体认知信息和邻域认知信息确定所述第一智能体的q值;

根据所述第一智能体的q值训练所述第一智能体。

39.根据权利要求38所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一智能体的q值和所述第二智能体的q值确定多个智能体的q值qtotal;

根据qtotal训练所述第一智能体。

40.一种基于智能体生成指令的装置,其特征在于,包括通信单元和处理单元,

所述通信单元用于:获取第一智能体的目标环境信息和第二智能体的目标环境信息;

所述处理单元用于:根据所述第一智能体的目标环境信息和所述第二智能体的目标环境信息生成目标第一信息;根据所述目标第一信息输出所述第一智能体的目标个体认知信息和目标邻域认知信息,其中,所述第一智能体的目标邻域认知信息与所述第二智能体的目标邻域认知信息具有一致性;根据所述第一智能体的目标个体认知信息和目标邻域认知信息生成指令。

41.根据权利要求40所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一智能体的目标环境信息生成所述第一智能体的目标第二信息;

根据所述第二智能体的目标环境信息生成所述第二智能体的目标第二信息;

根据所述第一智能体的目标第二信息和所述第二智能体的目标第二信息生成所述目标第一信息。

42.根据权利要求40或41所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一智能体的目标个体认知信息和所述目标智能体的目标邻域信息生成目标q值;

根据所述目标q值生成所述指令。

43.根据权利要求40至42中任一项所述的装置,其特征在于,

所述通信单元还用于:获取第一智能体的训练环境信息和第二智能体的训练环境信息;

所述处理单元还用于:根据所述第一智能体的训练环境信息和所述第二智能体的训练环境信息生成训练第一信息;利用所述训练第一信息训练所述第一智能体,使得所述第一智能体输出训练个体认知信息和训练邻域认知信息,其中,所述第一智能体的训练邻域认知信息与所述第二智能体的训练邻域认知信息具有一致性。

44.根据权利要求43所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一智能体的训练环境信息生成所述第一智能体的训练第二信息hi;

根据所述第二智能体的训练环境信息生成所述第二智能体的训练第二信息hj;

根据hi和hj生成所述训练第一信息。

45.根据权利要求44所述的装置,其特征在于,所述处理单元具体用于:

根据hi和第一矩阵的乘积确定第一结果;

根据hj和第二矩阵的乘积确定第二结果;

根据所述第一结果和所述第二结果生成所述训练第一信息。

46.根据权利要求43至45中任一项所述的装置,其特征在于,

所述通信单元还用于:获取所述第二智能体的训练邻域认知信息

所述处理单元还用于:根据所述第二智能体的训练邻域认知信息训练生成所述第一智能体的训练邻域认知信息的神经网络,以使具有一致性。

47.根据权利要求46所述的装置,其特征在于,所述处理单元具体用于:

根据包含的损失函数训练生成的神经网络。

48.根据权利要求47所述的装置,其特征在于,所述包含的损失函数为其中,kl表示kl散度,q表示概率分布,oi表示所述第一智能体的训练环境信息,wi表示基于oi生成的神经网络的权重,oj表示所述第二智能体的训练环境信息,wj表示基于oj生成的神经网络的权重。

49.根据权利要求43至48中任一项所述的装置,其特征在于,所述处理单元具体用于:

根据所述训练第一信息和变分自编码器确定所述第一智能体的训练邻域认知信息

50.根据权利要求49所述的装置,其特征在于,所述处理单元具体用于:

根据所述训练第一信息确定所述第一智能体的训练邻域认知信息的分布均值和分布方差

从一个单位高斯分布中采样得到一个随机值ε;

根据和ε确定其中,

51.根据权利要求43至50中任一项所述的装置,其特征在于,所述处理单元还用于:

根据所述第一智能体的训练邻域认知信息确定所述第一智能体的训练环境信息的估计值

根据包含oi和的损失函数训练生成的神经网络。

52.根据权利要求51所述的装置,其特征在于,所述包含oi和的损失函数为其中,l2表示l2正则化,wi表示基于oi生成的神经网络的权重。

53.根据权利要求43至52中任一项所述的装置,其特征在于,所述处理单元还用于:

根据所述第一智能体的训练个体认知信息和训练邻域认知信息确定所述第一智能体的训练q值;

根据所述第一智能体的训练q值训练所述第一智能体。

54.根据权利要求53所述的装置,其特征在于,所述处理单元具体用于:

根据所述第一智能体的训练q值和所述第二智能体的训练q值确定多个智能体的q值qtotal;

根据qtotal训练所述第一智能体。

55.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至12中任一项所述的方法。

56.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求13至27中任一项所述的方法。

技术总结
本申请提供了一种训练智能体的方法,包括:获取第一智能体的环境信息和第二智能体的环境信息;根据所述第一智能体的环境信息和所述第二智能体的环境信息生成第一信息;利用所述第一信息训练所述第一智能体,使得所述第一智能体输出个体认知信息和邻域认知信息,其中,所述第一智能体的邻域认知信息与所述第二智能体的邻域认知信息具有一致性。由于目标智能体的邻域认知信息与邻域智能体的邻域认知信息相同或相近,因此,基于目标智能体的邻域认知信息训练得到的目标智能体提高了目标智能体对邻域环境的正确认知程度,最终得到的目标智能体生成的动作能够提高多个智能体之间的协作效果。

技术研发人员:毛航宇;刘武龙;郝建业
受保护的技术使用者:华为技术有限公司
技术研发日:2020.01.31
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2444.html

最新回复(0)