一种基于目标Q值修正的合作多智能体深度Q学习方法
未命名
07-26
阅读:144
评论:0
一种基于目标q值修正的合作多智能体深度q学习方法
技术领域
1.本发明涉及人工智能及多智能体领域,具体是一种基于目标q值修正的合作多智能体深度q学习方法。
背景技术:
2.基于深度q学习的合作多智能体技术经过近几年的快速发展,已被广泛应用于游戏、无人机、计算卸载、推荐系统等众多领域。在过去,合作多智能体主要应用于一些简单的场景,如简单的网格环境,但随着合作多智能体应用的场景越来越复杂,如大型即时战略游戏《星际争霸ii》,合作多智能体对q值的精准度要求越来越高。因为多智能体系统中,每个智能体都依据q网络输出q值选择动作,若q值的精准度不够,则会导致合作多智能体无法完成复杂的合作任务。
3.基于深度q学习的合作多智能体主要可分为分散训练的方法和集中训练分散执行的方法。分散训练的方法简单地为合作多智能体系统中的每个智能体采用单智能体的方法,即每个智能体只考虑自己的局部观察和个体动作,而忽视其它智能体的信息,如iql方法。分散训练的方法具有实现简单,复杂度低的特点,并在一些简单的合作任务有不错的表现。虽然分散训练的方法能完成一些简单的合作任务,但其算法无法收敛、智能体之间的合作程度低下等问题,限制了其在实际应用中的发展。集中训练分散执行的方法,通过在训练中考虑其它智能体的信息以促进智能体学习合作的行为,并采用分散执行的方式以满足实际应用的要求。相较于分散训练的方法,集中训练分散执行的方法具有更高的计算复杂度,但同时算法的收敛性更好,训练的合作多智能体系统的合作程度更高,如vdn、qmix、qtran、wqmix等方法。
4.然而,在基于深度q学习的合作多智能体中,无论是简单的分散训练的方法还是复杂的集中训练分散执行的方法,都无法避免训练中目标q值的估计偏差问题。因为这些方法都使用取最大值的方式计算目标q值,且使用深度神经网络来近似q函数。即时采用双q学习也无法解决目标q值的估计偏差问题,而且可能会导致目标q值出现严重低估偏差。训练中目标q值的估计偏差问题会导致智能体学习到的q网络无法输出准确的q值,进而影响合作多智能体系统的性能。
技术实现要素:
5.本发明的目的是针对目前基于深度q学习的合作多智能体训练中的目标q值的估计偏差问题,而提出一种基于目标q值修正的合作多智能体深度q学习方法,该方法训练了两个额外的偏差q网络来为原始目标q值构建上界和下界,依据原始目标q值与上下界的大小关系识别出具有偏差的原始目标q值,设计了一种修正量计算公式,能为具有不同偏差程度的原始目标q值计算出相应的修正量。该方法通过逐个识别并修正原始目标q值,能有效解决目标q值的估计偏差问题,并提升合作多智能体系统的性能。
6.实现本发明目的的技术方案是:
7.一种基于目标q值修正的合作多智能体深度q学习方法,包括如下步骤:
8.步骤1、q网络和混合网络的构建与初始化:高估q网络、低估q网络和原始q网络采用同样的网络结构(三个q网络均包含n个个体q网络,n为多智能体系统中智能体的数量,每个智能体都有一个个体q网络),高估q网络和低估q网络用于构建原始q网络的上界和下界,原始q网络用于输出个体q值供智能体参考以选择动作,高估q网络、低估q网络和原始q网络各对应一个混合网络,分别称为高估混合网络、低估混合网络和原始混合网络,混合网络用于将n个个体q网络输出的个体q值混合为全局q值或者目标q值,三个混合网络具有相同的网络结构,随机初始化高估q网络、低估q网络、原始q网络和相应的三个混合网络的参数;
9.步骤2、智能体在环境中探索并收集转移样本:(1)所有智能体首先根据当前环境的状态获得局部观察;(2)智能体将局部观察和历史信息输入到原始q网络中,原始q网络输出各个动作的q值;(3)智能体依据q值选择动作,并将当前观察和选择的动作加入到历史信息中,以更新历史信息;(4)环境转移到下个状态,合作智能体系统获得奖励,重复(1)(2)(2)(4)直到本回合结束,然后将收集的转移样本存入经验缓冲区;
10.步骤3、抽取转移样本:从经验缓冲区分别为高估q网络、低估q网络和原始q网络随机抽取一批转移样本用于后续的训练;
11.步骤4、重置高估q网络、低估q网络、高估混合网络和低估混合网络的参数:每间隔固定的训练次数t2,将原始q网络的参数复制给高估q网络和低估q网络,并将原始混合网络的参数复制给高估混合网络和低估混合网络,以阶段性消除两个偏差q网络的偏差,防止上下界失效;
12.步骤5、训练高估q网络:根据高估q网络和高估混合网络计算出高估全局q值和高估目标q值;依据高估偏差系数为高估目标q值添加正向偏差;计算高估全局q值与高估目标值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:
13.若
[0014][0015]
否则
[0016][0017]
其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
(τ,u,s)表示高估全局q值,表示高估目标q值,α是学习率,γ是折扣系数,β是偏差系数,0《β《1,β越大,高估q网络累积偏差的速率就越大;
[0018]
步骤6、训练低估q网络:根据低估q网络和低估混合网络计算低估全局q值和低估目标q值;依据低估偏差系数为低估目标q值添加负向偏差;计算低估全局q值与低估目标值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:
[0019]
若
[0020][0021]
否则
[0022][0023]
其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
(τ,u,s)表示低估全局q值,表示低估目标q值,α是学习率,γ是折扣系数,β是偏差系数,0《β《1,β越大,低估q网络累积偏差的速率就越大;
[0024]
步骤7、训练原始q网络:根据原始q网络和原始混合网络计算原始全局q值和原始目标q值;根据高估q网络和高估混合网络计算高估目标q值;根据低估q网络和低估混合网络计算低估目标q值;根据原始目标q值、高估目标q值和低估目标q值之间的大小关系判断原始目标q值是否存在偏差;若原始目标q值存在偏差,则依据修正量计算公式计算修正量并对原始目标q值进行修正,否则不做修正处理;计算原始全局q值与原始目标q值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:
[0025]
原始目标q值存在高估偏差
[0026]
原始目标q值存在低估偏差
[0027]
原始目标q值无估计偏差,
[0028][0029]
若
[0030][0031]
若
[0032][0033]
否则
[0034]
,
[0035][0036][0037]
其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
表示原始全局q值,表示原始目标q值,表示高估目标q值,表示低估目标q值,α是学习率,γ是折扣系数,q
adj
表示修正量,t3是两个偏差q网络从上次复制参数开始到当前间隔的训练步数,t2表示两个偏差q网络的两次复制参数之间间隔的训练步数,ρ为基础调整系数,β为两个偏差q网络的偏差系数,η为权重系数,用于平衡ρ和β之间的比例关系;
[0038]
步骤8、调整高估偏差系数和低估偏差系数:每间隔固定的训练次数,依据训练中原始目标q值的偏差情况调整高估偏差系数和低估偏差系数,以调整两个偏差q网络的偏差
积累速率;
[0039]
步骤9、重复步骤2-步骤8,直至训练结束。
[0040]
与现有技术相比,本技术方案具有如下特点:
[0041]
1、本技术方案通过目标q值修正机制解决了现有方法中存在的目标q值存在偏差的问题。
[0042]
2、本技术方案提出了一种识别目标q值偏差的方法,能在训练中依据构建的上下界逐个识别出具有偏差的目标q值。
[0043]
3、本技术方案提出了一种修正量计算公式,可以为具有不同程度偏差的目标q值计算出相应的修正量,用于修正目标q值。
[0044]
4、本技术方案提出了两种控制上下界的方法,通过调整偏差系数和重置神经网络的参数,使得上下界始终处在合适的范围。
[0045]
5、同时,本技术方案具有广泛的适用性,在所有基于深度q学习的合作多智能体中都能适用。
附图说明
[0046]
图1为实施例的流程图;
[0047]
图2为实施例中单个q网络的内部结构;
[0048]
图3为实施例中上下界与原始目标q值的对比示意图;
[0049]
图4为实施例中智能体的视野范围和射击范围示意图;
[0050]
图5为实施例中5m_vs_6m任务场景图;
[0051]
图6为实施例中2c_vs_64zg任务场景图;
[0052]
图7为实施例中捕食者-猎物任务场景图;
[0053]
图8为实施例中合作导航场任务场景图;
[0054]
图9为实施例中保持距离任务场景图。
具体实施方式
[0055]
下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。
[0056]
实施例:
[0057]
参照图1,一种基于目标q值修正的合作多智能体深度q学习方法,包括如下步骤:
[0058]
步骤1、q网络和混合网络的构建与初始化:高估q网络、低估q网络和原始q网络采用同样的网络结构(三个q网络均包含n个个体q网络,n为多智能体系统中智能体的数量,每个智能体都有一个个体q网络),高估q网络和低估q网络用于构建原始q网络的上界和下界,原始q网络用于输出个体q值供智能体参考以选择动作,高估q网络、低估q网络和原始q网络各对应一个混合网络,分别称为高估混合网络、低估混合网络和原始混合网络,混合网络用于将n个个体q网络输出的个体q值混合为全局q值或者目标q值,三个混合网络具有相同的网络结构,随机初始化高估q网络、低估q网络、原始q网络和相应的三个混合网络的参数;
[0059]
步骤2、智能体在环境中探索并收集转移样本:(1)所有智能体首先根据当前环境的状态获得局部观察;(2)智能体将局部观察和历史信息输入到原始q网络中,原始q网络输
出各个动作的q值;(3)智能体依据q值选择动作,并将当前观察和选择的动作加入到历史信息中,以更新历史信息;(4)环境转移到下个状态,合作智能体系统获得奖励,重复(1)(2)(2)(4)直到本回合结束,然后将收集的转移样本存入经验缓冲区;
[0060]
步骤3、抽取转移样本:从经验缓冲区分别为高估q网络、低估q网络和原始q网络随机抽取一批转移样本用于后续的训练;
[0061]
步骤4、重置高估q网络、低估q网络、高估混合网络和低估混合网络的参数:每间隔固定的训练次数t2,将原始q网络的参数复制给高估q网络和低估q网络,并将原始混合网络的参数复制给高估混合网络和低估混合网络,以阶段性消除两个偏差q网络的偏差,防止上下界失效;
[0062]
如图2所示,步骤5、训练高估q网络:根据高估q网络和高估混合网络计算出高估全局q值和高估目标q值;依据高估偏差系数为高估目标q值添加正向偏差;计算高估全局q值与高估目标值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:
[0063]
若
[0064][0065]
否则
[0066][0067]
其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
(τ,u,s)表示高估全局q值,表示高估目标q值,α是学习率,γ是折扣系数,β是偏差系数,0《β《1,β越大,高估q网络累积偏差的速率就越大;
[0068]
步骤6、训练低估q网络:根据低估q网络和低估混合网络计算低估全局q值和低估目标q值;依据低估偏差系数为低估目标q值添加负向偏差;计算低估全局q值与低估目标值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:
[0069]
若
[0070][0071]
否则
[0072][0073]
其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
(τ,u,s)表示低估全局q值,表示低估目标q值,α是学习率,γ是折扣系数,β是偏差系数,0《β《1,β越大,低估q网络累积偏差的速率就越大;
[0074]
如图3所示,步骤7、训练原始q网络:根据原始q网络和原始混合网络计算原始全局q值和原始目标q值;根据高估q网络和高估混合网络计算高估目标q值;根据低估q网络和低估混合网络计算低估目标q值;根据原始目标q值、高估目标q值和低估目标q值之间的大小关系判断原始目标q值是否存在偏差;若原始目标q值存在偏差,则依据修正量计算公式计
算修正量并对原始目标q值进行修正,否则不做修正处理;计算原始全局q值与原始目标q值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:
[0075]
原始目标q值存在高估偏差
[0076]
原始目标q值存在低估偏差
[0077]
原始目标q值无估计偏差,
[0078]
若
[0079][0080]
若
[0081][0082]
否则
[0083]
,
[0084][0085][0086]
其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
表示原始全局q值,表示原始目标q值,表示高估目标q值,表示低估目标q值,α是学习率,γ是折扣系数,q
adj
表示修正量,t3是两个偏差q网络从上次复制参数开始到当前间隔的训练步数,t2表示两个偏差q网络的两次复制参数之间间隔的训练步数,ρ为基础调整系数,β为两个偏差q网络的偏差系数,η为权重系数,用于平衡ρ和β之间的比例关系;
[0087]
步骤8、调整高估偏差系数和低估偏差系数:每间隔固定的训练次数,依据训练中原始目标q值的偏差情况调整高估偏差系数和低估偏差系数,以调整两个偏差q网络的偏差积累速率;
[0088]
步骤9、重复步骤2-步骤8,直至训练结束。
[0089]
本例以5种合作多智能体任务中的实例进行对比,qadj-qmix表示本例提出的方法。这5种任务分别为5m_vs_6m、2c_vs_64zg、捕食者-猎物(predator-prey)、合作导航(cooperative navigation)和保持距离(keep-away)。它们属于两大类任务,其中5m_vs_6m和2c_vs_64zg属于星际争霸多智能体挑战任务(starcraft multi-agent challenge,简称smac),捕食者-猎物、合作导航和保持距离属于多智能体粒子环境任务(multi-agent particle environment,简称mpe)。为了验证本例的性能,qadj-qmix与目前基于深度q学习的合作多智能体领域内5种先进的方法进行了性能对比,对比的方法包括vdn、qmix、qtran、wqmix和qplex。
[0090]
星际争霸多智能体挑战(smac)基于流行的即时战略游戏《星际争霸ii》。在《星际
争霸ii》的常规完整游戏中,一个玩家与多个玩家相互竞争,或者与内置的游戏ai竞争,以收集资源,建造建筑物,并组建部队来击败对手。与大多数即时战略游戏类似,《星际争霸ii》有两个主要玩法组件:宏观管理和微观管理。宏观管理是指高层次的战略考虑,如经济和资源管理。微观管理则是指对单个单元的细粒度控制。为了构建一个丰富的多智能体强化学习测试平台,smac只关注微观管理,即每个单位都由一个智能体独立地控制,该智能体必须根据局部观察采取动作。局部观察是以该单位为中心的有限视野(见图4)。合作多智能体系统的目标是通过训练来提升智能体的微操和合作行为,以在具有挑战性的战斗场景中,与游戏内置脚本ai集中控制的敌方军队作战并取得胜利。微操是《星际争霸ii》游戏玩法中非常重要的一个方面,具有很高的技能上限,业余和专业玩家都可以单独练习。smac提供了一组不同的实验场景,用于测试算法处理高维输入的能力以及算法在部分可观察性和分散执行的限制下合作多智能体系统学习合作行为的能力。
[0091]
如图5所示,在5m_vs_6m任务中,我方合作多智能体系统中一共有5个智能体,每个智能体都独立控制一个海军陆战队单位(marine)。敌方是由游戏内置脚本ai集中控制的6个海军陆战队单位。每个海军陆战队单位可以采取的动作有:移动(需要选取一个移动方向)、攻击(需要选择将要攻击的敌方单位的id)和停止。敌我海军陆战队单位均使用枪械进行攻击,可以实现远距离攻击。5m_vs_6m是一个不对称的场景,智能体需要学会精确的控制才能持续获胜。
[0092]
如图6所示,在2c_vs_64zg任务中,我方合作多智能体系统中的2个智能体,各自独立控制一个巨像单位(colossi)。敌方单位由游戏内置脚本ai集中控制的64个跳虫单位(zergling)。相较于跳虫单位,巨像单位具有更大的体型和生命值。跳虫单位和巨像可以采取的动作有:移动(需要选取一个移动方向)、攻击(需要选择将要攻击的敌方单位的id)和停止。跳虫单位和巨像单位的攻击方式有所不同,跳虫单位使用自己的爪牙进行近战攻击,而巨像单位可以使用激光进行远距离范围攻击。2c_vs_64zg是smac中敌方数量最多的任务,也是smac中智能体的动作空间最大的场景(因为巨像单位每次攻击时可选的敌方单位id最多)。
[0093]
多智能体粒子任务是一类将智能体以及环境中的一些物体简化为粒子的模拟任务。在这类任务中,智能体具有连续的观察和离散的动作空间,并具有一些基本的物理特性,如体积、速度等。通过设置不同的智能体属性以及目标等方式,衍生出了多种不同的任务。
[0094]
如图7所示,捕食者-猎物任务。在这个任务中,有n个移动速度较慢的合作智能体需要在环境中追逐m个移动速度较快的猎物,环境中有l个大型路障挡着路。每当合作智能体与猎物发生碰撞时,智能体将获得奖励,而猎物将受到惩罚。智能体能观察其他智能体以及猎物的相对位置和速度以及路障的位置。每个回合智能体、猎物和路障的初始位置都是随机初始化的。
[0095]
如图8所示,合作导航任务。在这个任务中,n智能体必须通过合作,以分别占领n个的地标。智能体能观察其他智能体和地标的相对位置,智能体在每一步都会获得根据所有智能体与每个地标的接近程度的集体奖励。此外,智能体会占用一定的物理空间,当智能体相互碰撞时会受到惩罚。在该任务中,智能体需要学习推断其需要覆盖的地标,并在移动时避免与其他智能体发生碰撞。
[0096]
如图9所示,保持距离。该环境中有l个地标,其中包含一个目标地标,有n个知道目标路标并根据与目标的距离获得奖励的合作智能体,以及m个必须阻止合作智能体到达目标的对手。对手可以将合作智能体从地标中推开,并暂时占据地标。虽然对手也会根据与目标地标的距离获得奖励,但他们并不知道正确的目标,这只能从智能体的运动中推断出来。
[0097]
任务相关参数的设置:5m_vs_6m和2c_vs_64zg任务的难度等级设置为7。捕食者-猎物任务中,合作智能体数量为3,路障数量为2,猎物数量为1。合作导航任务中,合作智能体数量为3,地标数量为3。保持距离任务中,合作智能体数量为2,目标地标数量为1,普通地标数量为1,对手数量为1。
[0098]
通用参数的设置:智能体在环境中探索时,使用ε-greedy探索策略,即智能体以ε的概率随机选择动作,以1-ε的概率选择具有最大动作值的动作。ε的初始值为1,且随着训练步数的增加不断衰减,训练到50000步时停止衰减,而后保持ε=0.05直到训练结束。采用经验回放机制保存和抽取转移样本,经验缓存池的大小为5000,每次随机抽取的转移样本数为32。基线方法的目标网络为200个回合更新一次。用于平衡即时奖励和未来奖励的折扣系数γ设置为0.99。网络参数更新时,学习率α设置为0.0005。在多智能体粒子任务中,最大训练步数为2050000,在星际争霸多智能体挑战任务中,最大训练步数为2000050。每隔10000个训练步数测试一次,每次测试时,取100个重复测试回合的平均值。每个算法在不同任务下的实验,均采用不同的随机种子进行3次重复实验,使用3次重复实验的平均值进行绘图。
[0099]
本例的超参数设置:两个偏差q网络训练时使用到的偏置系数β的初始值为0.2,偏置系数β的调整频率为20个回合调整一次。两个偏差q网络的参数复制频率为400个回合复制一次。计算调整量的公式中,基准调整系数ρ=0.3,权重系数η=1。
[0100]
表1列出了实验中的一些基础参数设置:表1实验参数设置
[0101]
。
[0102]
表2捕食者-猎物中的实验结果
[0103]
。
[0104]
表3合作导航中的实验结果
[0105]
。
[0106]
表4保持距离中的实验结果
[0107][0108]
。
[0109]
表2、表3和表4分别显示了捕食者-猎物、合作导航和保持距离任务中的多智能体系统获得的累积奖励的对比结果,在多智能体深度强化学习中,多智能体系统获得的累积奖励越大,说明其性能越好。在这三种实验任务中,本例均能达到最大的奖励值,并不同程度的优于所有对比的基线方法,表现出了所有对比方法中最好的性能,这说明本例的目标q值调整机制能有效提升多智能体系统的性能。
[0110]
表5 5m_vs_6m中的实验结果
[0111]
。
[0112]
表6 2c_vs_64zg中的实验结果
[0113][0114]
。
[0115]
表5和表6显示了星际争霸多智能体挑战中,在地图5m_vs_6m和2c_vs_64zg中不同方法的合作多智能体训练过程中的团队胜率对比结果。在这个两个实验任务中,本例训练的多智能体系统取得了最高的对战胜率。本例通过对目标q值进行适当地调整,使得本例在5m_vs_6m和2c_vs_64zg环境中展现出了所有对比方法中最好的实验效果。
技术特征:
1.一种基于目标q值修正的合作多智能体深度q学习方法,其特征在于:包括如下步骤:步骤1、q网络和混合网络的构建与初始化:高估q网络、低估q网络和原始q网络采用同样的网络结构,其中三个q网络均包含n个个体q网络,n为多智能体系统中智能体的数量,每个智能体都有一个个体q网络;高估q网络和低估q网络用于构建原始q网络的上界和下界,原始q网络用于输出个体q值供智能体参考以选择动作,高估q网络、低估q网络和原始q网络各对应一个混合网络,分别称为高估混合网络、低估混合网络和原始混合网络,3个混合网络用于将n个个体q网络输出的个体q值混合为全局q值或者目标q值,三个混合网络具有相同的网络结构,随机初始化高估q网络、低估q网络、原始q网络和相应的三个混合网络的参数;步骤2、智能体在环境中探索并收集转移样本:(1)所有智能体首先根据当前环境的状态获得局部观察;(2)智能体将局部观察和历史信息输入到原始q网络中,原始q网络输出各个动作的q值;(3)智能体依据q值选择动作,并将当前观察和选择的动作加入到历史信息中,以更新历史信息;(4)环境转移到下个状态,合作智能体系统获得奖励,重复(1)(2)(2)(4)直到本回合结束,然后将收集的转移样本存入经验缓冲区;步骤3、抽取转移样本:从经验缓冲区分别为高估q网络、低估q网络和原始q网络随机抽取一批转移样本用于后续的训练;步骤4、重置高估q网络、低估q网络、高估混合网络和低估混合网络的参数:每间隔固定的训练次数t2,将原始q网络的参数复制给高估q网络和低估q网络,并将原始混合网络的参数复制给高估混合网络和低估混合网络,以阶段性消除两个偏差q网络的偏差,防止上下界失效;步骤5、训练高估q网络:根据高估q网络和高估混合网络计算出高估全局q值和高估目标q值;依据高估偏差系数为高估目标q值添加正向偏差;计算高估全局q值与高估目标值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:若若否则其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
(τ,u,s)表示高估全局q值,表示高估目标q值,α是学习率,γ是折扣系数,β是偏差系数,0<β<1,β越大,高估q网络累积偏差的速率就越大;步骤6、训练低估q网络:根据低估q网络和低估混合网络计算低估全局q值和低估目标q值;依据低估偏差系数为低估目标q值添加负向偏差;计算低估全局q值与低估目标值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:若若
否则其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
(τ,u,s)表示低估全局q值,表示低估目标q值,α是学习率,γ是折扣系数,β是偏差系数,0<β<1,β越大,低估q网络累积偏差的速率就越大;步骤7、训练原始q网络:根据原始q网络和原始混合网络计算原始全局q值和原始目标q值;根据高估q网络和高估混合网络计算高估目标q值;根据低估q网络和低估混合网络计算低估目标q值;根据原始目标q值、高估目标q值和低估目标q值之间的大小关系判断原始目标q值是否存在偏差;若原始目标q值存在偏差,则依据修正量计算公式计算修正量并对原始目标q值进行修正,否则不做修正处理;计算原始全局q值与原始目标q值之间的时序误差;依据时序误差进行反向更新,具体的计算公式如下:具体的计算公式如下:具体的计算公式如下:,若若若若否则q
tot
(τ,u,s)
←
(1-α)q
tot
(τ,u,s)+α(r+γmax
u'∈u
q
tot
(τ',u',s')),其中,τ和τ'分别表示当前时刻和下一时刻的联合观察和历史信息,u和u'分别表示当前时刻和下一时刻的联合动作,s和s'分别表示当前时刻和下一时刻的环境的状态,q
tot
表示原始全局q值,表示原始目标q值,表示高估目标q值,表示低估目标q值,α是学习率,γ是折扣系数,q
adj
表示修正量,t3是两个偏差q网络从上次复制参数开始到当前间隔的训练步数,t2表示两个偏差q网络的两次复制参数之间间隔的训练步数,ρ为基础调整系数,β为两个偏差q网络的偏差系数,η为权重系数,用于平衡ρ和β之间的比例关系;步骤8、调整高估偏差系数和低估偏差系数:每间隔固定的训练次数,依据训练中原始目标q值的偏差情况调整高估偏差系数和低估偏差系数,以调整两个偏差q网络的偏差积累速率;步骤9、重复步骤2-步骤8,直至训练结束。
技术总结
本发明公开了一种基于目标Q值修正的合作多智能体深度Q学习方法,包括如下步骤:步骤1、Q网络和混合网络的构建与初始化;步骤2、智能体在环境中探索并收集转移样本;步骤3、抽取转移样本;步骤4、重置高估Q网络、低估Q网络、高估混合网络和低估混合网络的参数;步骤5、训练高估Q网络;步骤6、训练低估Q网络;步骤7、训练原始Q网络;步骤8、调整高估偏差系数和低估偏差系数;步骤9、重复步骤2-步骤8,直至训练结束。这种方法为具有不同偏差程度的原始目标Q值计算出相应的修正量,有效解决目标Q值的估计偏差问题,并提升合作多智能体系统的性能。并提升合作多智能体系统的性能。并提升合作多智能体系统的性能。
技术研发人员:徐鼎 赵岭忠
受保护的技术使用者:桂林电子科技大学
技术研发日:2023.04.25
技术公布日:2023/7/25
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:散热器主片的制作方法 下一篇:一种主缸活塞的冷挤压装置及其控制方法与流程
