一种强化学习追击问题智能体奖赏函数设计方法
文献发布时间:2023-06-19 18:30:43
技术领域
本发明强化学习领域,特别涉及一种强化学习追击问题智能体奖赏函数设计方法。
背景技术
强化学习是机器学习的一种重要方法,它是一种以环境反馈作为输入目标,用试错方法发现最优行为策略的学习方法。目前,结合深度神经网络和强化学习方法形成的深度强化学习正逐渐成为强化学习领域的研究热点之一,并在机器人控制、优化与调度、仿真模拟、游戏博弈等领域得到广泛应用。深度强化学习目前的研究主要分为单智能体强化学习和多智能体强化学习两个领域。20世纪90年代,Littman提出了以马尔可夫决策过程(Markov Decision Process,MDP)为环境框架的MARL,为解决大部分强化学习问题提供了一个简单明确的数学框架,后来研究者们大多在这个模型的基础上进行了更进一步的研究。最近随着深度学习的成功,单智能体强化学习的研究和应用得到迅速发展。比如,Deep-Mind公司研制出的围棋博弈系统AlphaGo已经在围棋领域战胜了人类顶级选手,并以较大优势取得了胜利,这极大地震撼了社会各界,也促使研究人员在多智能体强化学习领域投入更多的精力。以Deep-Mind,OpenAI公司为代表的企业和众多高校纷纷开发MARL的新算法,并将其应用到实际生活中。多智能体强化学习面临着许多传统强化学习没有的困难,其中之一便是由于观测的信息不完整而不严格满足马尔科夫性的部分马尔科夫过程的情况。目前处理多智能体强化学习的算法主要有MAPPO与MADDPG算法以及他们的变体等。
但不论是单智能体强化学习还是多智能体强化学习,这些强化学习算法的收敛性和模型效果很大程度上取决于奖赏函数的构造和深度神经网络的设计。例如,在奖赏函数设计不得当的情况下,很容易会导致训练神经网络的算法难以收敛、效果很差的问题,因此一个良好的奖赏函数设计方法或深度神经网络设计方法对强化学习来说尤为重要。
发明内容
针对上述现有技术中存在的训练神经网络的强化学习算法难以收敛和模型效果较差的问题,本发明提出了一种基于速度方向角和视线角靠近的以余切函数为基础的追击问题智能体奖赏函数设计方法。该方法利用基于追击者速度方向角和视线角靠近的思想,通过基于奖励来引导追击者朝向相对于逃逸者的视线角方向进行追击。同时针对于角度跳变的问题本发明设计了引导角保证了基于角度的奖赏函数的连续性,设计引入了余切函数优化提升了在0°附近奖赏函数的敏感度,使得追击者在训练过程中能够更好的学到追击策略。
为了达到上述发明目的,解决其技术问题所采用的技术方案如下:
一种强化学习追击问题智能体奖赏函数设计方法,包括以下步骤:
步骤S1:通过智能体的传感器模块获得当前智能体的速度方向角和与其他单位的相对位置,计算得到当前视线角,形成初始参数;
步骤S2:使用步骤S1中的初始参数,计算得到引导角参数;
步骤S3:添加余切函数作用于步骤S2获得的引导角参数;
步骤S4:引入常数控制步骤S3获得函数的正负值;
步骤S5:针对步骤S4的函数,乘以智能体速度值使奖赏函数对速度值敏感;
步骤S6:针对步骤S5的函数,乘以常数调整奖赏函数数量级;
步骤S7:针对步骤S6的函数,加入击中奖励和单步奖励。
进一步的,所述步骤S1中,传感器模块分别给定智能体速度方向角θ
进一步的,所述步骤S2中,引入引导角θ
进一步的,所述步骤S3使用余切函数作用于步骤S2得到的引导角θ
f
进一步的,所述步骤S4引入常数控制步骤S3获得函数的正负值,可以参考其转向范围,计算公式如下:
f
进一步的,对所述步骤S4的函数乘以智能体速度值,使奖赏函数对速度值敏感,计算公式如下:
f
进一步的,对所述步骤S5的函数乘以常数,调整奖赏函数数量级,计算公式如下:
f
进一步的,对所述步骤S6的函数加入击中奖励和单步奖励,得到最终奖常函数如下:
其中,r
本发明由于采用以上技术方案,使之与现有技术相比,具有以下的优点和积极效果:
本发明提出了一种强化学习的奖赏函数设计方法,可以有效提高深度强化学习追击问题模型训练的收敛效果和模型表现。该方法计算奖赏值简单有效、易于实施,特别适用于当追击问题追逃双方距离较远、步数较多的应用场景,可以被应用于强化学习追击问题单智能体模型、多智能体模型训练等领域。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:
图1为本发明一种强化学习追击问题智能体奖赏函数设计方法的流程图;
图2为本发明一种强化学习追击问题智能体奖赏函数设计方法的三维函数示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本实施例公开了一种强化学习追击问题智能体奖赏函数设计方法,具体涉及一种基于速度方向角和视线角靠近的以余切函数为基础的追击问题智能体奖赏函数设计方法,该方法可以被应用于强化学习追击问题单智能体模型、多智能体模型训练等领域,包括以下步骤:
步骤S1:通过智能体的传感器模块获得当前智能体的速度方向角和与其他单位的相对位置,计算得到当前视线角,形成初始参数;
步骤S2:使用步骤S1中的初始参数,计算得到引导角参数;
步骤S3:添加余切函数作用于步骤S2获得的引导角参数;
步骤S4:引入常数控制步骤S3获得函数的正负值;
步骤S5:针对步骤S4的函数,乘以智能体速度值使奖赏函数对速度值敏感;
步骤S6:针对步骤S5的函数,乘以常数调整奖赏函数数量级;
步骤S7:针对步骤S6的函数,加入击中奖励和单步奖励。
进一步的,所述步骤S1中,传感器模块分别给定智能体速度方向角θ
进一步的,所述步骤S2中,引入引导角θ
进一步的,所述步骤S3使用余切函数作用于步骤S2得到的引导角θ
f
进一步的,所述步骤S4引入常数控制步骤S3获得函数的正负值,可以参考其转向范围等参数如k=cot(60°)等,计算公式如下:
f
进一步的,对所述步骤S4的函数乘以智能体速度值,使奖常函数对速度值敏感,计算公式如下:
f
进一步的,对所述步骤S5的函数乘以常数,调整奖赏函数数量级,计算公式如下:
f
进一步的,对所述步骤S6的函数加入击中奖励和单步奖励,得到最终奖赏函数如下:
其中,r
下面结合附图对本实施例的技术方案进一步详细描述:
考虑一个二维平面的单智能体强化学习追击问题,场景依托于传统二维追击问题的背景进行展开,模型大小和运动学参数已知。智能体被分为两类:追击者和逃逸者,其数量均为1。追击者的获胜条件是在规定时间内击中逃逸者,当追击者与逃逸者间的距离小于阈值δ时,判定为成功抓捕。逃逸者的获胜条件是采取一定的策略在规定时间内不被追击者击中。对于单智能体强化学习的模型训练,追击者需要采用强化学习的方式给出模型,逃逸者则采用给定策略的模式。在进行强化学习模型训练的过程中需要完成多种相关任务设计:智能体运动环境的搭建、智能体强化学习算法的编写、奖赏函数的设计、模型训练参数和超参数的调整等。最后应得到训练后的强化学习策略模型。考虑控制除奖赏函数设计以外的强化学习训练过程全部保持一致。
具体的,考虑智能体在二维平面上移动,智能体在各个维度的运动范围均为(-100,100)。所有的智能体都是直径为D的圆。智能体具有二维极坐标系的速度和速度角v,θ,速度大小上限为v
(1)运动学模型
dt=0.0025s
T4U=K*dt=0.02s
(2)状态量约束
制导周期:t
控制周期:t
一阶惯性环节时间常数:T=20ms
距离范围:100m×100m
(3)控制量约束
最大速度:v
最大角速度:ω
在判断追捕者成功抓住逃逸者时,两者中心的最小距离为dis
观测模型0
动作模型A
模型环境的参数范围如下:
网络架构设计如下:
神经网络部分根据DDPG算法本身特性,一共包含了四个网络,2个Actor网络2个Critic网络,在本次设计中2个Actor网络结构相同,2个Critic网络结构相同。Actor网络每层的神经元个数分别为[50,50,50,50],Critic网络由状态网络和动作网络组合,每层的神经元个数为[50,50,50,50]。其中Actor网络的隐藏层采用relu激活函数,输出层采用sigmoid激活函数,Critic网络的隐藏层、输出层均采用relu激活函数。
考虑具体实施例强化学习训练的主要环境和网络参数如上述所示,智能体学习算法采用DDPG算法(DeepMind,Silver D,Lever G,et al,ICML 2014)进行训练,奖赏函数的设计采用本发明实施例进行设计,具体设计步骤如下所示:
步骤S1,传感器模块分别给定智能体速度方向角θ
步骤S2,引入引导角θ
θ
Δθ=θ
步骤S3,使用余切函数作用于步骤S2得到的引导角θ
f
步骤S4,引入常数控制步骤S3获得函数的正负值,取k=cot(60°),计算公式如下:
k=cot(60°)
f
步骤S5,对所述步骤S4的函数乘以智能体速度值,使奖赏函数对速度值敏感,计算公式如下:
f
步骤S6,对所述步骤S5的函数乘以常数,t取1,计算公式如下:
t=1.0
f
步骤S7,对所述步骤S6的函数加入击中奖励和单步奖励,取r
r
r
θ
Δθ=θ
本实施例使用Python语言对所提出的算法进行了测试并与基于距离的奖赏函数、基于角度变化率的奖赏函数以及比例导引法三种情况进行对比。仿真在在前述4种不同奖赏函数情形下分别进行100次蒙特卡洛追击仿真。表1给出了在逃逸者采取直线、圆周和随机策略情况下的追击成功率和追击步数。
从表1中可以看出,所提出的算法在追击问题使用强化学习进行智能体模型训练时,能够较好提升对模型收敛效果和追击成功率。
表1算法对比
综上,本实施例提出的算方法能够有效提升追击问题强化学习训练智能体策略时的收敛效果和模型表现。
本发明提供了一种强化学习追击问题智能体奖赏函数设计方法,该方法利用基于追击者速度方向角和视线角靠近的思想,通过基于奖励来引导追击者朝向相对于逃逸者的视线角方向进行追击。同时针对于角度跳变的问题本发明设计了引导角保证了基于角度的奖赏函数的连续性,设计引入了余切函数优化提升了在0°附近奖赏函数的敏感度,使得追击者在训练过程中能够更好的学到追击策略。如图2所示,仿真结果表明,本发明能够在强化学习追击问题的智能体模型训练过程中有效的帮助模型收敛、提升模型训练效果。本发明可以被应用于强化学习追击问题单智能体模型、多智能体模型训练等领域。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
- 基于值函数可信度的多智能体强化学习方法及相关装置
- 基于改进Q函数的多智能体一致性强化学习方法及系统