一种基于累积迹强化学习的多机器人协同搜索方法技术

技术编号:33510035 阅读:12 留言:0更新日期:2022-05-19 01:18
本发明专利技术提出了一种基于累积迹强化学习的多机器人协同搜索方法,对智能体访问过的状态动作对进行记录,累积每个动作状态对的访问次数,引入玻尔兹曼分布方法,设计基于累积迹的探索方式,另外本发明专利技术通过加入基于累积迹的额外奖励的方式,来引导智能体进行探索。本发明专利技术通过加入基于累积迹的额外奖励的方式,来引导智能体进行探索,是以强化学习算法作为主体算法,在强化学习算法基础上进行改进,能够和任意强化学习算法进行结合,提高了强化学习的学习效率,实现多机器人在复杂环境下高效地协同探索。探索。探索。

【技术实现步骤摘要】
一种基于累积迹强化学习的多机器人协同搜索方法


[0001]本专利技术涉及一种基于累积迹强化学习的协同搜索方法,具体涉及一种将基于累积迹的奖励与探索方法引入强化学习中的多机器人协同搜索方法,属于军事信息系统智能决策、智能任务规划和智能指挥与控制


技术介绍

[0002]随着军事科技的迅猛发展,无人化作战逐渐成为未来战争的主要作战样式之一。对于陆地无人化作战而言,以机器人士兵取代真人作战是未来战斗系统发展的趋势。随着军事系统中越来越多的无人驾驶机、无人驾驶车等设备的使用,传统的集中式解决方式已经无法满足现代战争的要求。越来越多的军事系统要求采用分布式的,具有定位和通信功能的多机器人系统。多个机器人之间的协作,往往可以比单个机器人更加高效和快速地完成各种复杂的任务,主要包括定位、任务分配、避障、路径规划任务等。其中多机器人搜寻问题是目前主要研究问题之一。
[0003]多机器人搜寻问题又可以分为单目标搜索和多目标搜索,前者是后者的特殊情况,对于单目标搜寻方法而言,有明确规划机器人行为的意图合作式方法。例如梯度下降法和博弈论法等。有通过智能行为涌现来完成规定任务的涌现合作式方法,例如扩展微粒群算法和萤火虫算法等。其中,涌现合作式方法的效率较高。单目标协同搜索仅在个体层面发生,本质是细粒度协同,目前已进行了较为充分的研究。而多目标搜索涉及任务分解、分配、规划、决策及执行过程中对系统运行机制、各机器人的功能与角色,以及机器人之间的相互关系都有不同的要求,是面向动态环境、具有自主性和自适应性的复杂环境。
[0004]多机器人多目标协作搜寻的主要任务是在最短的时间内找到所有的目标,对于这一优化问题,可以使用微粒群算法、萤火虫算法、遗传算法等优化算法。譬如,Pugh等将微粒群算法扩展后用于群机器人协同,Tang和Eberhard用微粒群算法进行目标搜索研究,着重关注算法参数优化,冯艳红针对萤火虫算法在全局寻优搜索中收敛速度慢,求解精度低,易陷入局部极值区域等缺陷,提出一种基于混沌理论的动态种群萤火虫算法。张毅针对传统遗传算法存在的搜索效率低,易于陷入局部最优解的问题,提出了一种改进的遗传算法:采用简单的一维编码替代复杂的二维编码,节约了存储空间。在遗传算子的设计中,重新定义了交叉算子和变异算子,避免了陷入局部最优,最后将最短路径和免碰撞相结合作为适应度函数进行遗传优化。但是这些启发式算法主要关注的问题中目标的全局位置信息是未知的,所以仅仅使用启发式算法很难获取较优解,要求利用所有可以利用的信息和知识来指导机器人的搜寻行动。
[0005]强化学习作为解决序贯决策问题的机器学习方法,通过与任务环境的“交互试错”直接学得策略,不需要人为的构建推理模型和大量的样本数据,具有很强的适用性和通用性,但存在的显著问题是学习效率较低,甚至在复杂的任务环境中无法学得有效的策略。如何在有限的计算资源下,提高强化学习的学习效率,实现多机器人在复杂环境下高效地协同探索,即是本专利技术要解决的主要问题。

技术实现思路

[0006]本专利技术旨在提出一种基于累积迹的奖励与探索方法,用于解决强化学习方法训练过程中存在的探索与利用的矛盾,提高强化学习的学习效率。
[0007]本专利技术采用以下技术方案。
[0008]本专利技术提供一种基于累积迹强化学习的多机器人协同搜索方法,包括以下步骤:步骤1:根据任务确定多目标各时刻对应的状态和动作;
[0009]步骤2:初始化神经网络和目标神经网络,将神经网络与目标神经网络的神经元参数设为相同;设定奖励因子、折扣系数以及各动作对应的奖惩量;
[0010]步骤3:根据当前时刻的状态s
t
选择动作a
t
;执行动作a
t
,确定对应的奖惩量r
t
以及下一时刻的状态s
t+1
,获得包括当前状态s
t
、选择的动作a
t
、奖惩量r
t
以及下一时刻状态的状态s
t+1
的状态动作对数据(s
t
,a
t
,r
t
,s
t+1
),并将状态动作对(s
t
,a
t
)的访问次数count(s
t
,a
t
)加1;重复执行步骤3直至获得特定数量的状态动作对数据,状态动作对(s
t
,a
t
)的访问次数count(s
t
,a
t
)也就是状态s
t
下选择动作a
t
的次数;
[0011]步骤4:从获得的特定数量的状态动作对数据中选择设定个数N的状态动作对数据;针对选定的每个动作状态对数据,基于预设的奖励因子以及各状态动作对的访问次数计算该状态动作对的额外奖励;基于获得的额外奖励、所述折扣系数以及状态动作对数据中的奖惩量计算目标神经网络的输出量;计算目标神经网络的输出量与神经网络的输出量之间的误差,并根据随机梯度下降更新神经网络的神经元参数;设定步数后将神经网络与目标神经网络的神经元参数设为相同;
[0012]步骤5:返回步骤3直至神经网络收敛,结束训练得到神经网络策略模型;
[0013]步骤6:根据神经网络策略模型得到多机器人协同搜索策略,生成多机器人目标协同搜索方法。
[0014]进一步地,根据当前时刻的状态选择动作的具体方法如下:
[0015]产生随机数(可选地,产生的随机数范围为0到1,所述预设阈值为0.5),将产生的随机数与预设阈值比较;
[0016]若随机数小于预设阈值,则计算动作集中除去当前时刻的状态下使神经网络值最大时选择的动作以外的其它动作的选择概率,确定选择概率最大的动作并选择该动作;
[0017]若所述随机数大于等于预设阈值,则选择当前时刻的状态下使神经网络值最大时选择的动作,表达式下:
[0018]其中表示当前时刻的状态s
t
下使神经网络值最大时选择的动作a,θ为目标神经网络的神经元参数,A为动作集。
[0019]再进一步地,动作a
i
的选择概率的计算方法如下:
[0020][0021]其中prob(a
j
)表示选择动作a
j
的选择概率;T表示温度大小,count(s,a
i
)表示状态
动作对(s,a
j
)的访问次数,也就是在状态s下选择动作a
i
的次数,count(s,a
k
)表示状态动作对(s,a
k
)的访问次数,也就是在状态s下选择动作a
k
的次数,k为动作的索引,其取值范围为动作空间(动作空间也就是动作集A)中所有的动作数目。
[0022]进一步地,针对每个动作状态对,基于预设的奖励因子计算该状态动作对的额外奖励的具体方法包括:
...

【技术保护点】

【技术特征摘要】
1.基于累积迹强化学习的多机器人协同搜索方法,其特征在于,包括以下步骤:步骤1:根据任务确定多目标各时刻对应的状态和动作;步骤2:初始化神经网络和目标神经网络,将神经网络与目标神经网络的神经元参数设为相同;设定奖励因子、折扣系数以及各动作对应的奖惩量;步骤3:根据当前时刻的状态s
t
选择动作a
t
;执行动作a
t
,确定对应的奖惩量r
t
以及下一时刻的状态s
t+1
,获得包括当前状态s
t
、选择的动作a
t
、奖惩量r
t
以及下一时刻状态的状态s
t+1
的状态动作对数据(s
t
,a
t
,r
t
,s
t+1
),并将状态动作对(s
t
,a
t
)的访问次数加1;重复执行步骤3直至获得特定数量的状态动作对数据;步骤4:从获得的特定数量的状态动作对数据中选择设定个数N的状态动作对数据;针对选定的每个动作状态对数据,基于预设的奖励因子以及各状态动作对的访问次数计算该状态动作对的额外奖励;基于获得的额外奖励、所述折扣系数以及状态动作对数据中的奖惩量计算目标神经网络的输出量;计算目标神经网络的输出量与神经网络的输出量之间的误差,并根据随机梯度下降更新神经网络的神经元参数;设定步数后将神经网络与目标神经网络的神经元参数设为相同;步骤5:返回步骤3直至神经网络收敛,结束训练得到神经网络策略模型;步骤6:根据神经网络策略模型得到多机器人协同搜索策略,生成多机器人目标协同搜索方法。2.根据权利要求1所述的基于累积迹强化学习的多机器人协同搜索方法,其特征在于,根据当前时刻的状态选择动作的具体方法如下:产生随机数,将产生的随机数与预设阈值比较;若随机数小于预设阈值,则计算动作集中除去当前时刻的状态下使神经网络值最大时选择的动作以外的其它动作的选择概率,确定选择概率最大的动作并选择该动作;若所述随机数大于等于预设阈值,则选择当前时刻的状态下使神经网络值最大时选择的动作,表达式如下:其中表示当前时刻的状态s
t
下使神经网络值最大时选择的动作a,θ为目标神经网络的神经元参数,A为动作集。3.根据权利要求2所述的基于累积迹强化学习的多机器人协同搜索方法,其特征在于,动作a
j
的选择概率的计算方法如下:其中prob(a
j
)表示选择动作a
j
的选择概率;T表示温度大小,count(s,a
j
)表示状态动作对...

【专利技术属性】
技术研发人员:徐志雄陈希亮洪志理
申请(专利权)人:中国人民解放军陆军工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1