一种软双评估器梯度融合的多智能体强化学习方法与流程

文档序号:31227394发布日期:2022-08-23 20:03阅读:142来源:国知局
一种软双评估器梯度融合的多智能体强化学习方法与流程

1.本发明属于人工智能领域,特别是涉及合作型多智能体强化学习领域。


背景技术:

2.近年来,人工智能领域飞速发展,各界对于智能决策的需求不断涌现,希望智能体能够像人一样自主地从环境的反馈中试错学习,从而获得突破人类知识限制的决策能力。完全合作型多智能体任务由于和现实问题更加契合,获得了较多的关注。在合作型的多智能体任务中,多个智能体需要通过合作实现团队目标,最大化获得的累积团队奖励。但是,由于多智能体问题的复杂性,团队任务的目标往往很难学习,甚至由于团队奖励过于稀疏而使得现有算法无法从中学习到有效的合作策略。
3.目前在现实应用中,解决这一问题的一种常用方法,是根据领域先验知识设计一些辅助智能体学习合作任务的个体奖励。通过对个体奖励的学习,智能体能够学习一些有利于合作的行为或技能。通常有两种直接的方式来利用个体奖励:第一种方法是将所有智能体的个体奖励和团队奖励相加,并将其平均分配给各个智能体。第二种方法是每个智能体将自己的个体奖励和团队奖励相加,作为自己的总奖励。然而目前这种常用的简单的将两个奖励结合作为奖励信号的奖励塑形的方法,又面临着三个问题:(1)两个奖励信号的结合会改变原本学习的目标,导致学到的策略出现一些偏离我们想要目标的行为。(2)两个奖励信号的混合又涉及到混合权重的确定,而权重需要根据任务以及具体的奖励利用先验知识进行调整,实际应用中会导致陷入繁琐的调权重的工作中。(3)在合作型多智能体中任务中,奖励的混合又涉及到信度分配的问题,每个智能体的学习很容易被其他智能体的行为造成的奖励或惩罚干扰。
4.本发明从新的角度对该问题进行建模,提出将个体奖励和团队奖励分开考虑,提出了基于软双评估器梯度融合的多智能体强化学习方法。在该方法中,每个智能体使用两个评估器分别学习个体奖励和团队奖励,共同指导智能体策略的学习。在两个评估器之间,使用软目标迁移的方式,在前期使用个体奖励评估器指导策略关注于学习个体奖励,然后逐步用团队奖励引导策略转向团队目标的学习。同时使用投影冲突梯度的方法处理两个学习目标在学习过程中产生的梯度冲突。该方法能有效解决团队奖励稀疏难以学习的多智能体合作问题,并且在一般问题上也能利用个体奖励知识促进团队奖励目标的学习。


技术实现要素:

5.发明目的:一种软双评估器梯度融合的多智能体强化学习方法,以解决团队奖励稀疏,难以从中学习有效策略的多智能体合作问题。
6.技术方案:一种软双评估器梯度融合的多智能体强化学习方法,包括如下步骤:步骤1、建立多智能体合作问题模型,设计问题中的个体奖励函数以及团队奖励函数,创建并初始化环境对象;步骤2、将环境中每个决策单位都视为一个智能体,并为每个智能体都初始化它的
神经网络;步骤3、算法控制所有的智能体与环境进行交互,并存储交互得到的序列数据;步骤4、利用存储的序列数据对所有智能体的神经网络进行训练;步骤5、智能体利用训练好的神经网络与环境进行交互,完成对问题的求解。
7.根据本发明的一个方面,所述步骤1中:待解决的多智能体合作问题需要有两个奖励函数:个体奖励函数和团队奖励函数。个体奖励函数从单个智能体的角度出发,为每个智能体提供了其执行某个动作后所能获得的个体奖励,鼓励智能体学习各自的技能;而团队奖励函数则从团队的角度出发,提供了表示多智能体合作问题目标的团队奖励,帮助智能体解决该合作问题。
8.根据本发明的一个方面,所述步骤2中:多智能体合作问题中存在着个需要控制的决策单位,将每个决策单位都视为一个智能体,并利用算法进行控制。选择一个actor-critic结构的多智能体强化学习算法作为本发明实现的基准算法,这些算法包括但不限于ippo、mappo、maddgp等;依据选择的基准算法,为每个智能体构建并初始化一个用于决策的actor神经网络和两个用于评估的critic神经网络。actor神经网络用于对智能体的策略进行学习,帮助智能体选择动作进行决策;两个critic神经网络分别代表了学习个体奖励和学习团队奖励的两个评估器,用于指导actor神经网络的训练更新。同时依据选择的基准算法,为这些神经网络构建对应的目标网络,这些目标网络的参数通过复制对应的原本神经网络的参数来进行初始化。
9.根据本发明的一个方面,所述步骤3中,智能体按照如下步骤完成与环境的一次交互:步骤3-1、当前时刻,环境处于状态,每个智能体从环境中获得自己的局部观察,智能体的局部观察记为;步骤3-2、依据选择的基准算法,每个智能体利用自己的actor神经网络选择采样时所执行的动作,并作用于环境,智能体的动作记为;步骤3-3、环境在接收到所有智能体的动作后,会依据其状态转移函数得到下一时刻的状态并进行转移;步骤3-4、环境依据其个体奖励函数为每个智能体提供个体奖励,智能体的个体奖励记为,同时环境依据其团队奖励函数为所有智能体反馈一个团队奖励;不断重复地进行步骤3-1到步骤3-4,直到环境到达终止状态或设定的每局最大步长,即完成一条序列数据的采样;重置环境对象后,即可进行新的序列数据的采样。依据选择的基准算法和设定的参数,总共进行次采样,得到条序列数据。
10.根据本发明的一个方面,所述步骤4中:依据所选的基准算法中对critic神经网络的训练,利用采样得到的序列数据对每
个智能体的两个critic神经网络进行训练;将基准算法中对critic神经网络更新的损失函数记为,这个损失函数通过critic神经网络的输出、critic目标网络的输出以及序列数据中的奖励计算得到;将这个损失函数中的奖励分别使用采样得到的序列数据中的个体奖励和团队奖励进行替代,可以得到两个critic神经网络训练时所使用的损失函数,分别记为和;基于这两个损失函数,利用优化器对两个critic神经网络的参数进行更新;两个critic目标网络参数则依据基准算法中critic目标网络参数的更新方式分别进行更新;将所选的基准算法中对actor神经网络训练时所使用的的损失函数记为,这个损失函数通过actor神经网络的输出和critic神经网络的输出计算得到;基于损失函数,利用评估累积个体奖励的critic神经网络的输出计算可以得到actor神经网络训练时所使用的个体奖励指导的损失函数,同样利用评估累积团队奖励的critic神经网络的输出计算可以得到actor神经网络训练时所使用的团队奖励指导的损失函数;引入参数用于实现对actor神经网络更新时目标的软变换;具体的,利用参数先将个体奖励指导的损失函数缩放为,同时将团队奖励指导的损失函数缩放为;参数由人为设定从1开始随着训练过程的进行而逐步递减,从而实现了从个体奖励目标逐步向团队奖励目标的软目标迁移;然后利用缩放后的损失函数和分别对actor神经网络进行梯度反向传播,分别得到两个actor神经网络参数更新的梯度向量和;计算这两个梯度向量之间的余弦距离;当两个梯度向量之间的夹角是锐角或直角,即时,直接将两个梯度向量进行加和得到actor神经网络更新时总的梯度:而当两个梯度向量之间的夹角是钝角,即时,分别将两个梯度向量投影到另一个梯度向量的法向量,得到两个投影后的梯度向量:到另一个梯度向量的法向量,得到两个投影后的梯度向量:这时,将两个投影后的梯度向量进行加和得到actor神经网络更新时总的梯度:基于actor神经网络更新时总的梯度,利用优化器完成对actor神经网络参数的更新。
11.根据本发明的一个方面,所述步骤5中:重复步骤3和4,直到达到人为设定的最大步长,完成对神经网络的训练;重
置环境对象,智能体利用训练好的actor神经网络选择学到的最优策略,与环境对象进行交互,对多智能体合作问题进行求解。
附图说明
12.图1是本发明方法的流程示意图。
13.图2是actor神经网络的网络结构以及数据前向传播的可视化图。
14.图3是critic神经网络的网络结构、输入数据前向传播以及损失函数梯度反向传播的可视化图。
15.图4是actor神经网络的损失函数计算以及梯度反向传播的可视化图。
16.图5是actor神经网络的梯度融合的可视化图。
具体实施方式
17.下面结合附图对本发明的具体实施方式做进一步说明。一种软双评估器梯度融合的多智能体强化学习方法,包括以下步骤:步骤1、建立多智能体合作问题模型,设计问题中的个体奖励函数以及团队奖励函数,创建并初始化环境对象;步骤2、将环境中每个决策单位都视为一个智能体,并为每个智能体都初始化它的神经网络;步骤3、算法控制所有的智能体与环境进行交互,并存储交互得到的序列数据;步骤4、利用存储的序列数据对所有智能体的神经网络进行训练;步骤5、智能体利用训练好的神经网络与环境进行交互,完成对问题的求解。
18.实施例1本实施例以多智能体粒子环境mpe中的捕食者-猎物环境作为待解决的多智能体合作问题,并选用actor-critic架构的多智能体强化学习算法mappo作为基准算法,具体的步骤如下:在进一步实施例中,所述步骤1中,在mpe中的捕食者-猎物环境中,5个速度较慢的合作的捕食者合作去抓捕2个速度较快的猎物,同时还有2个障碍物挡路。捕食者由本发明提出的方法进行控制,猎物由随机算法进行控制。每个捕食者的个体奖励函数包含两部分:一部分为距离该捕食者最近的猎物到该捕食者距离的负数,以激励该捕食者向最近的猎物靠近,另一部分为捕食者单独捕捉到猎物时,会得到一个+5的奖励值。团队奖励函数设置为:当两个及以上的捕食者同时捕捉到同一个猎物时,所有的捕食者都会获得一个+20的团队奖励。该多智能体合作问题最终需要实现的团队目标为两个及以上的捕食者合作来完成猎物的追捕。该环境可以为每个捕食者提供24维的局部观察,并在接收到捕食者执行的动作后,反馈给每个捕食者各自的个体奖励以及相同的团队奖励。同时每个捕食者都有2维的连续动作空间,并利用算法对其进行学习和控制。
19.在进一步实施例中,所述步骤2中,追捕者-猎物问题中存在着个需要控制的决策单位,将每个决策单位都视为一个智能体,并利用算法进行控制。选择mappo作为本发明实现的基准算法。依据mappo算法,为每个智能体构建并初始化一个用于决策的actor神
经网络和两个用于评估的critic神经网络。
20.actor神经网络用于对智能体的策略进行学习,帮助智能体选择动作进行决策。由于捕食者的动作空间是连续的,因此将其每一维连续动作选择的概率分布都建模为高斯分布,并利用actor神经网络输出每一维动作选择概率分布的均值和方差,用于帮助捕食者进行决策。具体的,如附图中图2所示,捕食者的actor神经网络以24维局部观察作为输入。该输入依次经过一层输入维度是24输出维度是64的全连接神经网络、tanh激活层、layernorm层、输入维度和输出维度都是64维的全连接神经网络、tanh激活层以及layernorm层,转变为处理后的观察信息。然后将该处理后的观察信息与上一时刻gru层的隐藏状态信息一同输入到一层单向的gru神经网络层,再经过一层的layernorm层,得到处理后的特征信息以及当前时刻gru层的隐藏状态信息,该gru层的输入输出维度都是64维。将处理后的特征信息输入到一个输入维度是64输出维度是2的全连接层中,可以得到捕食者的2维动作空间上概率分布的均值,同时将处理后的特征信息输入到另一个输入维度是64输出维度是2的全连接层中,得到捕食者的2维动作空间上概率分布的标准差。在得到均值和标准差后,可以构建捕食者动作选择的高斯分布,即它的策略可以表示为,利用该策略即可帮助捕食者进行决策,与环境进行交互。捕食者的actor神经网络参数使用表示,并利用正交初始化对所有actor神经网络进行初始化。
21.两个critic神经网络分别代表了学习个体奖励和学习团队奖励的两个评估器,用于指导actor神经网络的训练更新。两个critic神经网络的结构相同,分别用于评估当前策略下基于个体奖励的状态值函数和基于团队奖励的状态值函数。具体的,如附图中图3所示,捕食者用于学习个体奖励状态值函数的critic神经网络以所有捕食者局部观察拼接得到的120维联合观察作为输入,该输入依次经过一层输入维度是120输出维度是64的全连接神经网络、tanh激活层、layernorm层、输入维度和输出维度都是64维的全连接神经网络、tanh激活层以及layernorm层,转变为处理后的观察信息。然后将该处理后的观察信息与上一时刻gru层的隐藏状态信息一同输入到一层单向的gru神
经网络层,再经过一层的layernorm层,得到处理后的特征信息以及当前时刻gru层的隐藏状态信息,该gru层的输入输出维度都是64维。最后将处理后的特征信息输入到一层输入维度是64输出维度是1的全连接神经网络中,得到当前策略联合观察下基于个体奖励的状态值函数的值。同样,捕食者用于学习团队奖励状态值函数的critic神经网络将所有捕食者局部观察拼接得到的120维联合观察输入到与用于学习个体奖励状态值函数的critic神经网络结构相同的神经网络中,得到当前策略在联合观察下基于团队奖励的状态值函数的值。利用正交初始化分别对所有捕食者的两个critic神经网络进行初始化。
22.同时依据mappo算法,为所有智能体的两个critic神经网络构建相应的目标网络,这些目标网络的参数通过复制对应的原本神经网络的参数来进行初始化。捕食者用于学习个体奖励状态值函数的critic神经网络参数用表示,对应的目标网络的参数用来表示。捕食者用于学习团队奖励状态值函数的critic神经网络参数用表示,对应的目标网络的参数用来表示。
23.在进一步实施例中,所述步骤3中,捕食者-猎物环境中捕食者按照如下步骤完成与环境的一次交互:步骤3-1、当前时刻,环境处于状态,每个捕食者从环境中获得自己的局部观察,捕食者的局部观察记为;步骤3-2、对于每个捕食者,它将自己的局部观察输入到自己的actor神经网络中,得到动作选择的概率分布之后,它依据该概率分布,从动作空间中随机选择一个采样时执行的动作。
24.步骤3-3、环境在接收到所有捕食者的动作后,会依据其状态转移函数得到下一时刻的状态并进行转移;步骤3-4、环境依据其个体奖励函数为每个捕食者提供个体奖励,智能体的个体奖励记为,同时环境依据其团队奖励函数为所有捕食者反馈一个团队奖励。
25.不断重复地进行步骤3-1到步骤3-4,直到环境到达终止状态或设定的每局最大步长,即完成一条序列数据的采样。重置环境对象后,即可进行新的序列数据的采样。
依据选择的基准算法和设定的参数,总共进行次采样,得到16条序列数据。
26.在进一步实施例中,所述步骤4中,依据mappo算法中对critic神经网络的训练,利用采样得到的序列数据对每个捕食者的两个critic神经网络进行训练。对于捕食者,它用于学习个体奖励状态值函数的critic神经网络在训练时使用如下的损失函数进行更新:其中,是所有捕食者的局部观察拼接得到的联合观察,是捕食者在联合观察下执行动作所获得的个体奖励,为捕食者将联合观察输入到学习个体奖励状态值函数的critic神经网络中得到的输出,则为捕食者将下一时刻的联合观察输入到学习个体奖励状态值函数的critic神经网络对应的目标网络中得到的输出。基于上述的损失函数,利用adam优化器对捕食者学习个体奖励状态值函数的critic神经网络参数进行更新。附图中图3展示了critic神经网络的梯度反向传播的过程。同时每间隔5000步,将该网络的参数复制给它对应的目标网络的参数,用于对目标网络进行更新。
27.对于捕食者用于学习团队奖励状态值函数的critic神经网络,在训练时使用如下的损失函数对其进行更新:其中是所有捕食者的局部观察拼接得到的联合观察,是捕食者在联合观察下执行动作所获得的团队奖励,为捕食者将联合观察输入到学习团队奖励状态值函数的critic神经网络中得到的输出,则为捕食者将下一时刻的联合观察输入到学习团队奖励状态值函数的critic神经网络对应的目标网络中得到的输出。基于上述的损失函数,利用adam优化器对捕食者学习团队奖励状态值函数的critic神经网络参数进行更新,同时每间隔5000步,将该网络的参数复制给它对应的目标网络的参数,用于对目标网络进行更新。
28.基于mappo算法对actor神经网络的训练和更新,对于捕食者,首先利
用学习个体奖励状态值函数的critic神经网络计算得到actor神经网络表示的策略在联合状态下的动作对应的个体奖励优势函数的值:基于计算的个体奖励优势函数的值,可以得到捕食者用于对actor神经网络更新的个体奖励指导的损失函数:其中,为捕食者将它的局部观察输入到待更新的actor神经网络中输出的动作选择概率分布中选择动作的概率,则为采样时actor神经网络输出的选择动作的概率,不进行梯度传播。则将的值裁剪到至的区间内,参数设置为0.2。
29.同理,对于捕食者,利用学习团队奖励状态值函数的critic神经网络可以计算得到actor神经网络表示的策略在联合状态下的动作对应的团队奖励优势函数的值:基于计算的团队奖励优势函数的值,可以得到捕食者用于对actor神经网络更新的团队奖励指导的损失函数:引入参数用于实现对actor神经网络更新时目标的软变换。具体的,利用参数先将个体奖励指导的损失函数缩放为,同时将团队奖励指导的损失函数缩放为。参数从1开始经过2000000步逐步线性衰减为0,从而实现了从个体奖励目标逐步向团队奖励目标的软目标迁移。附图中图4展示了actor神经网络的损失函数计算的过程。
30.然后利用缩放后的损失函数和分别对actor神经网络进行梯
度反向传播,分别得到actor神经网络参数更新的两个梯度向量和。计算这两个梯度向量之间的余弦距离。当两个梯度向量之间的夹角是锐角或直角,即时,直接将两个梯度向量进行加和得到actor神经网络更新时总的梯度:而当两个梯度向量之间的夹角是钝角,即时,分别将两个梯度向量投影到另一个梯度向量的法向量,得到两个投影后的梯度向量:到另一个梯度向量的法向量,得到两个投影后的梯度向量:这时,将两个投影后的梯度向量进行加和得到actor神经网络更新时总的梯度:附图中图5展示了actor神经网络梯度融合得到总的梯度的过程。在得到actor神经网络更新时总的梯度之后,利用adam优化器完成对actor神经网络参数的更新。
31.在进一步实施例中,所述步骤5中,重复步骤3和4,直到达到人为设定的最大步长,完成对神经网络的训练。重置环境对象,每个捕食者利用训练好的actor神经网络与该环境对象进行交互。在每次交互中,每个捕食者将自己从环境中获得的局部观察输入到actor神经网络中,得到局部观察下动作选择的概率分布,由于是连续动作空间,该概率分布使用高斯分布进行建模,因此actor神经网络输出的是动作选择概率分布的均值和标准差,此时捕食者选择该概率分布的均值作为最优策略,并作用于环境,环境依据所有捕食者选择的动作转移到下一个状态。通过学到的最优策略,捕食者与环境不断进行交互,从而完成对捕食者-猎物问题进行求解。
32.以上对本发明所提供的一种软双评估器梯度融合的多智能体强化学习方法进行了详细介绍。值得注意的是,具体实现该技术方案的方法和途径有很多,以上所述仅是本发明的优选实施方式,只用于帮助理解本发明的方法及核心思想;同时,对于本领域的一般技术人员,在本发明核心思想的基础上,做出的修改和调整都将视为本发明的保护范围。综上所述,本说明书内容不应理解为对本发明的限制,本发明的保护范围应由所附的权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1