首页> 中国专利> 基于深度强化学习的智能体自适应决策生成方法及系统

基于深度强化学习的智能体自适应决策生成方法及系统

摘要

本公开提供了一种基于深度强化学习的智能体自适应决策生成方法及系统,基于深度强化学习SoftActor‑Cr it ic(SAC)算法对智能体自适应决策问题展开研究,并针对训练过程中出现的问题对SAC算法进行改进,提出了SAC+PER、SAC+ERE和SAC+PER+ERE算法,利用深度学习的强大感知能力和强化学习的高效决策能力解决智能体自适应决策问题,通过深度强化学习算法训练智能体,使其在与环境进行交互的过程中总结经验,从而形成自身对具体行为应用的认识;同时,以仿真环境下无人机反拦截任务为载体,验证了算法的有效性。

著录项

  • 公开/公告号CN113487039B

    专利类型发明专利

  • 公开/公告日2023.08.22

    原文格式PDF

  • 申请/专利权人 山东大学;

    申请/专利号CN202110729857.7

  • 申请日2021.06.29

  • 分类号G06N20/00(2019.01);G06N3/092(2023.01);G06N3/045(2023.01);G06N3/084(2023.01);

  • 代理机构济南圣达知识产权代理有限公司 37221;

  • 代理人黄海丽

  • 地址 264209 山东省威海市文化西路180号

  • 入库时间 2023-09-15 19:05:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-08-22

    授权

    发明专利权授予

说明书

技术领域

本公开属于智能优化技术领域,尤其涉及一种基于深度强化学习的智能体自适应决策生成方法及系统。

背景技术

本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。

强化学习在机器学习领域中尤为重要,主要研究如何根据环境的实时变动以取得最大化的预期利益;对于一般的强化学习算法,智能体学习的目标是学习一个使得累加的回报期望值最大的策略;其中,智能体是执行强化学习的主体。

由于智能体实际所处的环境往往是动态、不确定的,很难对环境变化进行提前预测,所以,针对环境变化采取的自适应行为也就难以确定;而现有的智能体学习训练过程中,训练过程稳定性较差,鲁棒性不高。

发明内容

本公开为了解决上述问题,提出了一种基于深度强化学习的智能体自适应决策生成方法及系统,本公开基于深度强化学习Soft Actor-Critic(SAC)算法对智能体自适应决策问题展开研究,并针对训练过程中出现的问题对SAC算法进行改进,提出了SAC+PER(优先经验回放:Priority Experience Replay,PER)、SAC+ERE和SAC+PER+ERE(强调近期经验回放:Emphasizing Recent Experience,ERE)算法,利用深度学习的强大感知能力和强化学习的高效决策能力解决智能体自适应决策问题,通过深度强化学习算法训练智能体,使其在与环境进行交互的过程中总结经验,从而形成自身对具体行为应用的认识;同时,以仿真环境下无人机反拦截任务为载体,验证了算法的有效性。

为了实现上述目的,本发明是通过如下的技术方案来实现:

第一方面,本公开提供了一种基于深度强化学习的智能体自适应决策生成方法,包括:

获取历史和当前时刻的环境状态信息、环境奖励信息和智能体的决策动作信息;获取下一时刻的环境状态信息;

将获取的所有信息作为经验存放到回放缓冲区;

训练智能体深度强化学习模型;智能体深度强化学习算法中的经验回放采用优先经验回放策略,即对经验回放缓冲区中不同经验的重要性进行区分;智能体深度强化学习模型训练过程中使用普通梯度下降优化器寻找模型的最优解;

以仿真环境下无人机反拦截任务为载体,验证智能体深度强化学习模型。

第二方面,本公开还提供了一种基于深度强化学习的智能体自适应决策生成系统,包括:经验获取模块、模型训练模块和验证模块;

所述经验获取模块,被配置为:获取历史和当前时刻的环境状态信息、环境奖励信息和智能体的决策动作信息;获取下一时刻的环境状态信息;将获取的所有信息作为经验存放到回放缓冲区;

所述模型训练模块,被配置为:训练智能体深度强化学习模型;智能体深度强化学习算法中的经验回放采用优先经验回放策略,即对经验回放缓冲区中不同经验的重要性进行区分;智能体深度强化学习模型训练过程中使用普通梯度下降优化器寻找模型的最优解;

所述验证模块,被配置为:以仿真环境下无人机反拦截任务为载体,验证智能体深度强化学习模型。

与现有技术相比,本公开的有益效果为:

1.本公开基于深度强化学习Soft Actor-Critic(SAC)算法对智能体自适应决策问题展开研究,并针对训练过程中出现的问题对SAC算法进行改进,提出了SAC+PER(优先经验回放:Priority Experience Replay,PER)、SAC+ERE和SAC+PER+ERE(强调近期经验回放:Emphasizing Recent Experience,ERE)算法,利用深度学习的强大感知能力和强化学习的高效决策能力解决智能体自适应决策问题,通过深度强化学习算法训练智能体,使其在与环境进行交互的过程中总结经验,从而形成自身对具体行为应用的认识;既能够在连续状态和动作空间下有效采样,又能保持稳定性,该算法具有较强的探索能力和鲁棒性;

2.本公开采用普通的梯度下降优化器,将学习率设定为3e-4,提高了算法较稳定和训练成功率;

3.本公开以仿真环境下无人机反拦截任务为载体,验证了算法的有效性,解决了验证模型时,通过深度强化学习算法在现实环境中做实体训练存在困难的问题。

附图说明

构成本实施例的一部分的说明书附图用来提供对本实施例的进一步理解,本实施例的示意性实施例及其说明用于解释本实施例,并不构成对本实施例的不当限定。

图1为本公开实施例1的经验回放机制;

图2为本公开实施例1的一对一场景验证中采用Adam优化器的效果图;

图3为本公开实施例1的一对一场景验证中采用梯度下降优化器效果图;

图4为本公开实施例1的一对二场景验证中采用Adam优化器的效果图;

图5为本公开实施例1的一对二场景验证中采用梯度下降优化器效果图;

图6为本公开实施例2的一对一场景验证中采用Adam优化器的效果图;

图7为本公开实施例2的一对一场景验证中采用梯度下降优化器效果图;

图8为本公开实施例2的一对二场景验证中采用Adam优化器的效果图;

图9为本公开实施例2的一对二场景验证中采用梯度下降优化器效果图;

图10为本公开实施例3的一对一场景验证中采用Adam优化器的效果图;

图11为本公开实施例3的一对一场景验证中采用梯度下降优化器效果图;

图12为本公开实施例3的一对二场景验证中采用Adam优化器的效果图;

图13为本公开实施例3的一对二场景验证中采用梯度下降优化器效果图;

图14为本公开实施例4的一对一场景验证中采用Adam优化器的效果图;

图15为本公开实施例4的一对一场景验证中采用梯度下降优化器效果图;

图16为本公开实施例4的一对二场景验证中采用Adam优化器的效果图;

图17为本公开实施例4的一对二场景验证中采用梯度下降优化器效果图;

图18为本公开的一对一场景示意图;

图19为本公开的一对二场景示意图。

具体实施方式:

下面结合附图与实施例对本公开作进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,实施例使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

实施例1:

本实施例提供了一种基于深度强化学习的智能体自适应决策生成方法,包括:获取历史和当前时刻的环境状态信息、环境奖励信息和智能体的决策动作信息;获取下一时刻的环境状态信息;将获取的所有信息作为经验存放到回放缓冲区;训练智能体深度强化学习模型;智能体深度强化学习模型训练过程中使用普通梯度下降优化器寻找模型的最优解;以仿真环境下无人机反拦截任务为载体,验证智能体深度强化学习模型。

本实施例中采用的Soft Actor-Critic(SAC)算法是基于DDPG算法发展而来的,是一种全新的深度强化学习算法,解决了目前无模型深度强化学习所面临的高样本复杂度和脆弱收敛性的问题;SAC算法是一种基于最大熵强化学习框架的无模型离线策略深度强化学习算法,通过将Off-Policy更新与Actor-Critic公式相结合,在一系列连续动作基准任务上实现了最先进的性能,优于先前的在线策略(On-Policy)和离线策略(Off-Policy)方法,既能够在连续状态和动作空间下有效采样,又能保持稳定性,该算法具有较强的探索能力和鲁棒性。

SAC是一种最大熵深度强化学习算法,其中,Actor的目标是最大化期望的奖励,并且最大化熵,这样做的目的是在完成任务的同时使得策略尽量随机化;对于一般的强化学习算法,智能体学习的目标是学习一个使得累加的回报期望值最大的策略,如公式(1)所示:

最大熵强化学习目标如公式(2)所示,与标准的强化学习目标相比,最大熵强化学习通过增加一个熵项来表示学习目标,即最大熵强化学习的目标不仅要使累积的回报期望最大化,而且要使策略输出动作的熵最大化。

其中,

其中,温度参数α决定了熵项对奖励的相对重要性,从而控制了最优策略的随机性;这样做的基本目的是让策略随机化,即输出的每一个动作的概率尽可能分散,而不是集中在一个动作上;最大熵目标与传统强化学习中使用的标准最大期望奖励目标不同,但当参数α→0时,最大熵目标可以转化为传统的强化学习目标。

SAC算法包含五个神经网络:两个Q网络、两个值网络和一个策略网络;其中,两个Q网络Q

其中,D是回放缓冲区。对公式(4)求梯度可得公式(5):

根据当前策略(而不是回放缓冲区)对动作进行采样;通过对软Q函数进行训练最小化Bellman残差,如公式(6)所示:

其中,

对公式(6)进行随机梯度优化,可得到公式(8):

其中,梯度更新引入了一个目标值网络

最后,可以通过直接最小化KL散度的期望学习策略网络的参数,如公式(9)所示:

策略梯度方法使用了重参数化技巧,从而导致一个较低的方差估计。在动作的选择中加入噪声ε

a

其中,ε

对公式(11)求梯度,可得到:

SAC算法利用两个Q网络减少策略改进中的偏差,选取两个Q函数的最小值作为公式(5)中的值梯度和公式(12)中的策略梯度;此外,两个Q函数能够显著加快训练速度,特别是在难度较大的任务上。

SAC算法流程图如表1所示:

表1 Soft Actor-Critic算法流程

为了研究智能体的自适应决策问题,本实施例搭建了无人机反拦截仿真实验环境,对深度强化学习Soft Actor-Critic(SAC)算法在智能体自适应决策问题中的应用进行了研究;具体的,将无人机反拦截问题抽象为一个游戏场景,基于Pygame、Tensorflow、Python等软件平台完成仿真环境的搭建,以Pycharm为开发工具进行测试,将Soft Actor-Critic算法与仿真环境进行对接,可以实现模型的训练;SAC算法的参数设置如表2所示。

表2 SAC参数

1.一对一场景

搭建一对一场景,如图18所示,我方无人机从起点飞机场出发,沿途侦查的过程中需要突破对方一枚导弹的拦截并顺利降落在目标飞机场。

在训练过程中,使用了不同的优化方法寻找模型的最优解。其中,梯度下降法(Gradient Descent,GD)是最原始的一类优化器,其常见的变形有三种:随机梯度下降法(Stochastic Gradient Descent,SGD),批量梯度下降法(Batch Gradient Descent,BGD)和小批量梯度下降法(Mini-Batch Gradient Descent,MBGD)。梯度下降法在机器学习领域应用广泛,是最小化损失函数的一类常用方法。由于求解过程比较简单,只需对损失函数求一阶导数即可,所以适用于许多大规模数据集,是求解无约束优化问题最典型的一种方法。本实施例中,研究的原始SAC算法中所使用的优化器为Adam优化器,Adam算法来源于适应性矩估计(adaptive moment estimation),它不同于传统的梯度下降法。普通的梯度下降法在更新权重时,学习率是始终保持不变的;而Adam算法则是通过计算梯度的一阶矩估计和二阶矩估计来为每个参数设置独立的自适应性学习率,Adam优化器可以说是目前使用最广泛、收敛速度最快的优化器。

本实施例中,在仿真实验过程中首先使用的是Adam优化器,将初始学习率设定为3e-4,训练的效果图如图2所示,可以发现模型的表现严重依赖于参数初始化,算法很容易震荡,并且训练成功的概率较低;但是将Adam优化器改为普通的梯度下降优化器后,将学习率设定为3e-4,训练的效果图如图3所示,可以看出,算法表现比较稳定,并且训练成功率有所提高;由此可见,虽然普通的梯度下降法存在训练速度慢、容易陷入局部最优解等问题,但是在此仿真实验中却表现良好,并且能够很快收敛;因此在实际应用中,选择哪种优化器应结合具体问题,同时,优化器的选择也取决于使用者对优化器的熟悉程度(比如参数的调节等等)。

在图2和图3中,target dist代表一局结束后我方无人侦察机与目标飞机场的距离,target baseline代表距离的基准线(12m),如果target baseline低于targetbaseline,则代表我方无人机成功降落到目标飞机场;anti dist红色曲线代表我方无人机飞行过程中与对方拦截弹的最短距离,其数值是原始数值的20倍,方便可视化。

2.一对二场景

搭建一对二的场景,如图19所示,一对二场景是我方无人机从起点飞机场出发,沿途侦查的过程中需要突破对方两枚拦截弹的拦截并顺利降落在目标飞机场。

在训练过程中,如果total_steps%10=0,则测试一次,测试情况下,如果我方无人机与目标基地的距离小于12m,飞行过程中与对方拦截弹的最短距离大于6m,则表示训练成功。

由于一对二场景要完成的任务是躲避对方两枚导弹的拦截,比一对一场景要完成的任务更加困难,所以训练难度会增加,训练时间会有所增长,训练成功率也会较低;图4为使用Adam优化器训练的效果图,同样将学习率设置为3e-4,可以看出模型表现不够稳定,算法容易震荡,且训练成功的概率较低;图5为使用普通的梯度下降优化器训练的效果图,同样将学习率设置为3e-4,可以看出模型表现更加稳定,且训练速度有所提高;但是相比一对一场景,训练时间有所增加。

在图4和图5中,targetdist代表一局结束后我方无人侦察机与目标飞机场的距离,target baseline代表距离的基准线(12m),如果target baseline低于targetbaseline,则代表我方无人机成功降落到目标飞机场;anti dist红色曲线代表我方无人机飞行过程中与对方拦截弹的最短距离,其数值是原始数值的20倍,方便可视化。

实施例2:

本实施例提供了一种基于深度强化学习的智能体自适应决策生成方法,与实施例1不同的是,在本实施例中,智能体深度强化学习算法中的经验回放采用优先经验回放策略。

执行参数更新时,SAC采用的Off-Policy方法能够重复使用过去的经验,一致地从过去的经验中采样数据,即经验回放(Experience Replay);经验回放机制使得在线强化学习智能体记住并重用过去的经验,在以往的研究工作中,经验回放是从回放缓冲器中均匀采样的,然而,这种方法只是简单地以它们最初经验的相同概率回放经验,而不考虑它们的重要性;本实施例中,考虑将SAC和优先经验回放(Priority Experience Replay,PER)策略相结合,PER是一个经验优先回放的框架,可以更频繁地回放那些重要的经验,从而更有效地学习。

经验回放是深度强化学习算法中不可或缺的一部分;经验回放机制是将过去采集到的经验存储到一个经验回放缓冲器中,在学习中从经验回放缓冲器中随机反复采样用于策略的优化,如图1所示。

经验回放机制中,过去的经验会被多次调用来训练神经网络,从而对策略进行优化,经验回放不仅提高了深度强化学习算法的采样效率,而且提高了算法的稳定性,使得训练过程更加稳定;但是,最初的经验回放机制是认为经验回放缓冲器中的所有经验都同样重要,所以它是均匀地从回放缓冲器中等概率采样,显然,这样是不合理的;比如,人们在学习中,对于一些高收益、高回报的经历,一些特别成功的尝试或特别痛苦的教训会不断地在大脑里进行回放,从而帮助人们快速有效地进行学习;因此,那些不断被回放的经验比一般经验更有价值,即经验回放缓冲器中不同经验对策略优化的重要性是不同的;单纯的等概率采样会忽略样本之间重要性的差别,如果能够频繁地对重要的样本进行采样,就能够加速策略的优化,从而提高算法的采样效率;所以,基于提高样本利用率这一想法,本实施例对经验回放缓冲器中不同经验的重要性进行区分,即将SAC算法中以往的随机经验回放变换为优先级经验回放。

优先经验回放机制的工作原理如下:首先,通过每个经验的时间差分偏差(TD-errors)评估经验的价值,这些误差已经在许多经典的强化学习算法中得到计算,如SARSA和Q-learning;然后,根据TD-errors绝对值对回放缓冲区中的经验排序,从而对具有高TD-errors的经验进行更频繁地回放;但是,这样做会改变状态访问的频率,进而引入偏差,可以通过重要性抽样权重来纠正偏差。

优先经验回放的主要思想是更频繁地回放那些比较重要的经验,因此,定义经验价值的标准是一个核心问题;在大多数强化学习算法中,TD-error经常被用来更新动作值函数Q(s,a)的估计,TD-error的值可以用来修正估计值,并且能够反映出智能体从经验中学习的程度,TD-error绝对值的幅度越大,预期动作值的修正力度越大,在这种情况下,具有高TD-errors的经验更有可能具有更高的价值,并与非常成功的尝试相关联。此外,具有较大负值TD-errors的经验是智能体的行为最坏的情况,这些情况下智能体不能很好地进行学习,更频繁地重放这些经历,可以帮助智能体逐渐认识到错误行为在相应状态下的真实后果,避免在这些情况下再次做出错误行为,从而提高整体性能,因此,这些学习不好的经验也被认为是高价值的;本实施例中选取经验的TD-error绝对值|δ|作为评估经验价值的指标,本来可以用TD-error(Q现实值-Q估计值)定义优先级的程度,即TD-error越大,表示预测精度还需要继续提升,则该样本越需要被学习,也就是优先级越高;由于SAC算法有两个Q网络,所以重新定义了经验的TD-error绝对值|δ|为两个Q网络的TD-error绝对值的平均值,即:

其中,前两项r+γV

为了避免使用贪婪TD-error优先级造成采样多样性缺失,从而使系统陷入过拟合状态,引入了一种随机采样方法,定义采样经验i的概率为:

其中,优先级p

然而,由于倾向于更频繁地回放带有高TD-error的经验,这将会改变状态的访问频率,从而导致神经网络的训练过程容易振荡甚至发散;为了解决这一问题,在权重变化的计算中采用了重要性抽样权重:

其中,其中N是回放缓冲区的大小,P(i)是采样经验i的概率。参数β控制校正使用的程度,当β=0时,完全不用重要性采样;β=1时,为常规重要性采样,在训练接近尾声时,应使β→1。

基于上述介绍的经验优先回放方法,SAC算法与经验优先回放的集成算法流程如表3所示。

表3 基于优先经验回放的SAC算法流程

为了验证算法的有效性,以仿真环境下无人机反拦截任务为载体进行实验。其中,实验环境设置如表4所示。

表4 SAC+PER参数

1.一对一场景

搭建一对一场景,如图18所示,我方无人机从起点飞机场出发,沿途侦查的过程中如何进行变轨躲避对方一枚导弹的拦截,然后再调整轨迹顺利降落在目标飞机场。

在自己搭建的仿真平台上采用无人机反拦截任务对具有优先经验回放的SAC算法进行测试,给出了几组实验结果,并与原始的SAC方法进行了比较;在训练过程中,使用了不同的优化方法寻找模型的最优解;本实施例在仿真实验过程中首先使用的是Adam优化器,将初始学习率设定为3e-4,训练的效果图如图6所示,可以发现模型的表现严重依赖于参数初始化,算法很容易震荡,并且训练成功的概率较低;但是相对于原始的SAC算法,训练速度有所提高。

针对训练过程中出现的问题,对优化器做了一些改进;由于训练过程中模型的表现严重依赖于参数初始化,算法稳定性较差,并且训练成功的概率较低;所以,将Adam优化器换成了普通的梯度下降优化器,并将学习率设定为3e-4,训练的效果图如图7所示,可以看出,虽然算法一开始也容易震荡,但是后期模型表现趋于稳定,并且训练成功率有所提高,收敛速度更快。

2.一对二场景

搭建一对二场景,如图19所示,一对二场景是我方无人机从起点飞机场出发,沿途侦查的过程中如何进行变轨躲避对方两枚导弹的拦截,然后再调整轨迹平安降落在目标飞机场。测试情况下我方无人机与目标基地的距离小于12m,飞行过程中与对方拦截弹的最短距离大于6m,则表示训练成功。

由于一对二场景要完成的任务是躲避对方两枚导弹的拦截,比一对一场景要完成的任务更加困难,所以训练难度会增加,训练时间会有所增长;同样,在训练过程中,使用了Adam优化器和梯度下降优化器来寻找模型的最优解;首先使用Adam优化器进行训练,将初始学习率设定为3e-4,训练的效果图如图8所示,从图中可以发现,算法很容易震荡,并且训练成功的概率也比较低,说明模型的比较依赖于参数初始化,算法不够稳定。但是训练效果相对于原始的SAC算法来说,训练速度有所提高。

由图8可以发现算法比较容易震荡,并且训练成功的概率较低。所以,将Adam优化器换成了普通的梯度下降优化器,并将学习率设定为3e-4,训练的效果图如图9所示,可以看出,虽然算法一开始也容易震荡,但是后期模型表现趋于稳定,并且训练成功率较高。

表5是在一对一和一对二场景下,经过多次反复实验,对其求平均值得出的基于均匀采样的SAC算法和优先经验回放的SAC算法,完成无人机反拦截任务需要训练的总步(steps)数,实验结果表明,具有优先经验回放的SAC算法明显优于原始的SAC算法。此外,优先体验重放的奖励曲线中出现的峰值数量更少,表明具有优先体验重放机制的DDPG在训练过程中表现出更稳定的性能。与原始的SAC算法相比,实验结果表明具有优先经验回放的SAC算法不仅在较短的训练时间内获得了相当的性能,而且训练过程更加稳定,对一些超参数的变化不太敏感,具有更强的鲁棒性。

表5 SAC与SAC+PER算法比较

实施例3:

本实施例提供了一种基于深度强化学习的智能体自适应决策生成方法,与实施例1和实施例2不同的是,在本实施例中,智能体深度强化学习算法中的经验回放采用强调近期经验回放策略。

实施例2中,通过更频繁地回放重要的经验,进一步提高了SAC算法中经验回放机制的采样效率,从而加快了学习效率和收敛速度,并且利用无人机反拦截任务对所提出的具有优先经验回放的SAC算法进行了测试,证明其算法是有效的。本实施例则采用了另一种改进经验回放机制的方法—强调近期经验回放(Emphasizing Recent Experience,ERE)策略,提出了SAC+ERE算法。

强调近期经验(ERE)回放策略是一种简单但强大的离线策略抽样方法,它强调最近观测到的数据,同时不忘记过去学到的知识。在执行更新时,ERE算法更加积极地从最近经验中抽取样本,并进行参数更新,以确保来自旧数据的更新不会覆盖来自新数据的更新。其核心思想是,在参数更新阶段,第一次更新时,从回放缓冲区的所有数据中采样第一个mini-batch数据,对于随后的每个mini-batch数据,逐渐缩小采样范围,以便增加近期经验被采样的概率。这种采样方法包括两个关键部分:一是以更高的频率对近期的数据进行采样;二是设置更新方式,以便使用旧数据的更新不会覆盖使用新数据的更新。

具体来说,假设在当前的更新阶段我们要连续更新K次,即需要从回放缓冲区循环取K个mini-batch的数据。令N为回放缓冲区的最大容量,对于第k(其中,1≤k≤K)次更新,从最近的c

其中,η∈(0,1]是一个超参数,决定了对近期数据的重视程度。当η=1时,等价于均匀采样;当η<1时,c

这种采样方法具有双重效果;第一个效果是,第一个mini-batch数据将从整个缓冲区进行均匀采样,第二个mini-batch数据将从排除了缓冲区中几个最老的数据点的整个缓冲区中均匀采样,随着k的增加,更多的旧数据会被排除;很明显,数据点越近,被采样的概率越大;第二个效果是,采样是按顺序进行的:首先对缓冲区中的所有数据进行采样,然后逐渐缩小采样范围,只对最近的数据进行采样,该方案减少了新数据参数变化被旧数据参数变化覆盖的可能性。假设这个过程允许更好地近似最近访问过的状态附近的值函数,同时仍然保持一个可接受的近似值接近更遥远的过去访问过的状态。

不同的η值取决于智能体学习的速度和过去的经验过时的速度。当智能体学得很快时,应该让η的值降低,以便把更多的重点放在最近的数据上;当智能体学习缓慢时,应该让η的值更高,令其更接近均匀采样,使智能体可以利用更多过去的经验数据。一个简单的解决办法是在训练期间使用模拟退火算法优化η,设T为训练的总时间步长,令η

基于上述介绍的强调近期经验回放方法,SAC与强调近期经验的集成算法如表6所示。

表6 强调近期经验的SAC算法流程

为了使实验结果具有可比性和可重复性,对于每个变体,本实施例都使用了相同的SAC代码实现,并且使用的神经网络结构、激活函数、优化器、回放缓冲区大小、学习速率和其他超参数都与SAC算法中的相同,如表7所示。实验中,首先使用一个低维的神经网络和Adam优化器对神经网络进行训练,将初始学习率设定为3e-4,为了保证神经网络的权值不会变得太大,在损失函数中加入L2正则化项,对动作值网络进行更新。将折扣率γ设置为0.99,目标网络的更新率设置为0.01,重放缓冲区的大小设置为2e5。重放缓冲区的存储结构是一个循环队列,而优先队列的数据结构是一个二进制堆,以最小化优先抽样的额外时间成本。智能体在与环境交互的过程中,会接收一些低维向量作为观察数据(即状态),这些低维向量包括速度、位置和坐标信息等。在自己搭建的仿真平台上采用无人机反拦截任务对强调近期经验的SAC算法进行测试,给出了几组实验结果,并与原始的SAC算法和具有优先经验回放的SAC算法进行了比较。

表7 SAC+ERE参数

1.一对一场景

搭建一对一场景,如图17所示,主要任务是我方无人机从起点飞机场出发,沿途侦查的过程中如何进行变轨躲避对方一枚导弹的拦截,然后再调整轨迹顺利降落在目标飞机场。测试情况下我方无人机与目标基地的距离小于12m,飞行过程中与对方拦截弹的最短距离大于6m,则表示训练成功。

在仿真实验过程中首先使用的是Adam优化器,将初始学习率设定为3e-4,训练的效果图如图10所示,可以发现模型的表现严重依赖于参数初始化,算法很容易震荡,并且训练成功的概率较低。但是相对于原始的SAC算法和SAC+PER算法,训练速度有所提高。

将Adam优化器换成普通的梯度下降优化器,并将学习率设定为3e-4,训练的效果图如图11所示,可以看出,虽然算法一开始也容易震荡,但是后期模型表现趋于稳定,并且训练成功率较高。由此可见,将优化器改为普通的梯度下降法以后,算法稳定性得到了提高,并且收敛速度也加快了。

2.一对二场景

搭建一对二场景,如图19所示,一对二场景是我方无人机从起点飞机场出发,沿途侦查的过程中如何进行变轨躲避对方两枚导弹的拦截,然后再调整轨迹平安降落在目标飞机场。

测试情况下我方无人机与目标基地的距离小于12m,飞行过程中与对方拦截弹的最短距离大于6m,则表示训练成功。实施例在仿真实验过程中首先使用的是Adam优化器,将初始学习率设定为3e-4,训练的效果图如图12所示。将Adam优化器换成普通的梯度下降优化器,并将学习率设定为3e-4,训练的效果图如图13所示,可以看出,虽然算法一开始也容易震荡,但是后期模型表现趋于稳定,并且训练成功率较高,但是相比一对一场景,训练时间有所增加。

表8是在一对一和一对二场景下,经过多次反复实验,对其求平均值得出的基于均匀采样的SAC算法、优先经验回放的SAC算法和强调近期经验的SAC算法,完成无人机反拦截任务需要训练的总步(steps)数,实验结果表明,具有优先经验回放的SAC算法明显优于原始的SAC算法和具有优先经验回放的SAC算法,强调近期经验回放的SAC算法不仅在较短的训练时间内获得了较好的性能,而且训练过程更加稳定,对一些超参数的变化不太敏感,具有更强的鲁棒性。

表8 SAC与SAC+PER和SAC+ERE算法比较

实施例4:

本实施例提供了一种基于深度强化学习的智能体自适应决策生成方法,与实施例1、实施例2和实施例3不同的是,在本实施例中,智能体深度强化学习算法中的经验回放采用强调近期经验回放与优先经验回放结合策略。

虽然实施例2和实施例3提出的SAC+PER和SAC+ERE算法,在无人机反拦截任务中都取得了良好的效果,证明其比SAC算法更有优势,算法性能更佳,不仅提高了智能体的学习效率,提高了训练的成功率,还加快了算法的收敛速度,使得算法更加稳定,为智能体自适应决策问题提供了一个比较好的工程实现途径。但是,考虑到二者各自的优势,实施例在SAC+PER和SAC+ERE的基础上,还提出了一种结合上述两种方法的SAC+ERE+PER算法。这一方法主要做了两方面的改进:首先,在一系列小批量更新期间,采样范围逐渐缩小。第二,采用的是优先级抽样,而不是均匀抽样,抽样概率正比于数据点的TD-error绝对值。通过将ERE和PER经验回放策略与SAC算法相结合,即首先决定采样范围,再根据区间范围内不同经验的优先级选择mini-batch数据进行更新。

假设在收集了一定数量的数据后,进行K次小批量更新。设N为回放缓冲区的最大容量,令Dc

其中,Dc

基于上述介绍的强调近期经验回放方法,SAC与优先级经验回放和强调近期经验的集成算法如表9所示。

表9 强调近期经验并优先级回放的SAC算法流程

对于混合算法SAC+PER+ERE,为了保证其可比性,没有对其超参数进行调整,而是使用了与SAC+PER和SAC+ERE算法相同的参数值,如表10所示。然后,在自己搭建的仿真平台上采用无人机反拦截任务对强调近期经验并优先级回放的SAC算法进行测试,给出了几组实验结果,本实施例以学习速度、学习稳定性和收敛速度作为评价算法性能的三个指标,将SAC+PER+ERE算法与原始的SAC算法、SAC+PER算法和SAC+ERE算法进行了比较。

表10 SAC+PER+ERE参数

1.一对一场景

搭建一对一场景,如图18所示,我方无人机从起点飞机场出发,沿途侦查的过程中如何进行变轨躲避对方一枚导弹的拦截,然后再调整轨迹顺利降落在目标飞机场。

在训练过程中,使用了不同的优化方法来寻找模型的最优解。本实施例在仿真实验过程中首先使用的是Adam优化器,将初始学习率设定为3e-4,训练的效果图如图14所示,可以发现模型的表现严重依赖于参数初始化,算法比较容易震荡,但是相比SAC、SAC+PER和SAC+ERE算法,训练效率有所提高。

将Adam优化器换成普通的梯度下降优化器,并将学习率设定为3e-4,训练的效果图如图15所示,可以看出,算法表现趋于稳定,并且训练成功率有所提高。

2.一对二场景

搭建一对二场景,如图19所示,一对二场景是我方无人机从起点飞机场出发,沿途侦查的过程中如何进行变轨躲避对方两枚导弹的拦截,然后再调整轨迹平安降落在目标飞机场。

实施例在仿真实验过程中首先使用的是Adam优化器,将初始学习率设定为3e-4,训练的效果图如图16所示。很明显,相对于原始的SAC算法、SAC+PER算法和SAC+ERE算法,智能体的学习效率有所提高,在更快更短的时间内完成了训练任务。

可以发现算法很容易震荡,并且训练成功的概率较低。将Adam优化器换成普通的梯度下降优化器,并将学习率设定为3e-4,训练的效果图如图17所示,可以看出,虽然算法表现趋于稳定,并且训练成功率较高,收敛速度也有所提高。但是相比一对一场景,任务难度增大,训练时间有所增加。

表11是在一对一和一对二场景下,经过多次反复实验,对其求平均值得出的基于均匀采样的SAC算法、优先经验回放的SAC算法、强调近期经验的SAC算法和强调近期经验并优先级回放的SAC算法,完成无人机反拦截任务需要训练的总步(steps)数,与原始的SAC算法、SAC+PER算法和SAC+ERE算法相比,实验结果表明强调近期经验并优先回放的SAC算法不仅在较短的训练时间内获得了良好的性能,而且训练速度更快,算法更稳定,收敛速度也更快,具有更强的鲁棒性。

表11 SAC与SAC+PER、SAC+ERE和SAC+ERE+PER算法比较

实施例5:

本实施例提供了一种基于深度强化学习的智能体自适应决策生成系统,包括:经验获取模块、模型训练模块和验证模块;

所述经验获取模块,被配置为:获取历史和当前时刻的环境状态信息、环境奖励信息和智能体的决策动作信息;获取下一时刻的环境状态信息;将获取的所有信息作为经验存放到回放缓冲区;

所述模型训练模块,被配置为:训练智能体深度强化学习模型;智能体深度强化学习算法中的经验回放采用优先经验回放策略,即对经验回放缓冲区中不同经验的重要性进行区分;智能体深度强化学习模型训练过程中使用普通梯度下降优化器寻找模型的最优解;

所述验证模块,被配置为:以仿真环境下无人机反拦截任务为载体,验证智能体深度强化学习模型。

在本实施例,对经验回放缓冲区中不同经验的重要性进行区分包括:

通过每个经验的时间差分偏差评估经验的价值;选取经验的时间差分偏差绝对值作为评估经验价值的指标,经验的时间差分偏差绝对值为深度强化学习算法中的两个Q网络的时间差分偏差绝对值的平均值;

根据时间差分偏差绝对值对回放缓冲区中的经验排序,对具有高时间差分偏差的经验进行频繁回放;

使用随机采样方法,定义采样经验的概率;在权重变化的计算中采用重要性抽样权重。

在本实施例,智能体深度强化学习算法中的经验回放采用强调近期经验回放策略,在参数更新阶段,第一次更新时,从回放缓冲区的所有数据中采样第一个mini-batch数据,对于随后的每个mini-batch数据,逐渐缩小采样范围,增加近期经验被采样的概率;包括:

假设在当前的更新阶段我们要连续更新K次,即需要从回放缓冲区循环取K个mini-batch的数据;令N为回放缓冲区的最大容量,对于第k次更新,从最近的c

其中,η∈(0,1]是一个超参数,决定了对近期数据的重视程度;η值取决于智能体学习的速度和过去的经验过时的速度,令c

在本实施例,智能体深度强化学习算法中的经验回放采用强调近期经验回放与优先经验回放结合策略,即首先决定采样范围,再根据区间范围内不同经验的优先级选择mini-batch数据进行更新。

在本实施例,所述普通梯度下降优化器采用随机梯度下降法、批量梯度下降法或小批量梯度下降法。

实施例6:

本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1、实施例2、实施例3或实施例4所述的一种基于深度强化学习的智能体自适应决策生成方法。

实施例四:

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例1、实施例2、实施例3或实施例4所述的一种基于深度强化学习的智能体自适应决策生成方法。

本公开基于优先经验回放(PER)和强调近期经验回放(ERE)算法来改进SAC算法的经验回放机制,PER是一种按优先级进行采样的方法,考虑不同经验之间的重要性,使得重要的经验被回放的概率更大,从而加快学习效率,使得算法收敛更快;ERE是一种强调近期经验的、简单但功能强大的经验回放方法;通过实验证明了PER和ERE都可以显著提高SAC算法的学习速度,能够取得更好的结果。将SAC+ERE与SAC+PER进行比较,发现ERE算法更容易实现,因为它不需要特殊的数据结构,而PER算法为了提高采样复杂度,需要采用一种sum-tree的数据结构;而且SAC+ERE的性能要优于SAC+PER,但是,更复杂的SAC+PER结构可能会得到更好的效果;实际上,这两种方法各有其独特的优势;例如,当奖励比较稀疏时,更倾向于使用PER算法,因为PER在处理稀疏奖励情况方面更有优势,而ERE则侧重于强调最近的数据;最后提出的SAC+ERE+PER算法,是ERE和PER的组合,可以达到更好的性能;但是,这种变体失去了SAC+ERE算法的简单性,并且由于PER部分会增加一些额外的计算成本;但总体来说,无论是SAC+PER,SAC+ERE还是SAC+PER+ERE算法,在无人机反拦截任务中都取得了良好的效果,比SAC算法更有优势,训练效果更佳,不仅提高了学习效率,还加快了算法的收敛速度,使得算法更加稳定,为智能体自适应决策问题提供了一个比较好的工程实现途径。

以上所述仅为本实施例的优选实施例而已,并不用于限制本实施例,对于本领域的技术人员来说,本实施例可以有各种更改和变化。凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号