一种面向连续动作空间的智能体控制任务求解方法技术

技术编号:37809210 阅读:33 留言:0更新日期:2023-06-09 09:39
本发明专利技术公开了一种面向连续动作空间的智能体控制任务求解方法,该方法包括:使用VAE来嵌入来自外部环境的观测值,并对输入数据进行降维处理;智能体与环境不断进行交互,生成用于训练策略的样本数据;采样虚拟目标,重新计算奖励后加入重放缓冲区,完成样本数据的扩充;通过对智能体已经实现的状态进行核密度估计,同时计算当前状态与期望目标状态的距离作为系数,生成每个时刻的内在奖励;利用内在奖励设置动态比率,选择下一个episode合适的初始状态;通过该训练方法,面向连续动作空间的智能体将自动学会智能体控制方法,实现人为布置的任务。本发明专利技术用于深度强化学习中的稀疏奖励任务,能够提高算法完成任务的性能。能够提高算法完成任务的性能。能够提高算法完成任务的性能。

【技术实现步骤摘要】
一种面向连续动作空间的智能体控制任务求解方法


[0001]本专利技术涉及深度强化学习领域,具体涉及一种面向连续动作空间的智能体控制任务求解方法。

技术介绍

[0002]实际应用场景中,智能体控制任务多面向连续动作空间,实现相对复杂,现阶段主要采用深度强化学习的相关技术来解决这一问题,对其进行训练,学会完成相应的任务。但在这种场景下深度强化学习算法的稀疏奖励问题会愈发严重,严重影响算法的性能。众所周知,奖励信号是强化学习中重要的一环,策略优化全靠奖励引导,尤其对于常用的离线策略算法来说,本身样本利用率较低,缺乏奖励信号的引导会让智能体的速率减慢,复杂任务更是无法学习。因此,稀疏奖励问题是面向连续动作空间的智能体控制任务求解方法中所面临的一大难题。目前来说,解决这一问题的主流方法主要有两大类,一类是通过一些方法来提高面向连续动作空间的智能体的探索效率;另一类则是经典的事后经验重放方法。两种方法虽然可以在一定程度上解决稀疏奖励问题的困扰,但仍然存在各自的缺陷,实际的使用效果不佳。
[0003]第一类方法主要根据不同的标准对面向连续动作空间的智本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向连续动作空间的智能体控制任务求解方法,其特征在于,该方法包括以下步骤:步骤1、首先使用一个机器学习现有数据操作工具变分自编码器VAE嵌入来自外部环境的观测值,即外部环境观测数据,对智能体进行强化学习的建模,将外部环境观测数据与高维的图像或是状态特征值作为输入通过变分自编码器当中的编码器网络q
φ
进行处理,变分自编码器输出多元高斯分布的参数μ和σ,其中φ是编码器网络q
φ
的参数;接着变分自编码器采样潜在向量,然后由解码器网络p
ψ
将潜在向量解码到原始状态空间,其中ψ是解码器网络p
ψ
的参数,对编码器和解码器的参数φ和ψ进行联合优化,使变分自编码器的损失函数最大;步骤2、样本数据收集遵循传统强化学习离线学习方法以及目标引导的强化学习算法的基本框架,训练智能体的动作选择策略模型,该模型表示了面向连续动作空间的智能体在不同环境的状态下如何选取适当的动作;智能体与环境进行多次交互,在每个交互回合episode开始之前,确定目标状态g以及初始状态s0,接着让智能体与环境进行交互,根据交互得到的数据采样一条样本轨迹τ,轨迹的形式形如[s0,a0,r0,s1,a1,r1,...,s
T
,a
T
,r
T
],其中T为时间步长,基于目标状态计算奖励后,将从采样得到的样本轨迹数据结合目标状态g与当前时刻已经达到的状态ag构造出单步转移元组并把每一个单步转移元组(s
t
,a
t
,r
t
,g,s
t+1
,ag)存储到重放经验缓冲区中,作为一条样本数据;其中,s
t
代表当前时刻的状态,a
t
代表当前时刻所采取的动作,r
t
代表当前时刻t采取动作后所获得的延时奖励,数值由奖励函数计算得到,s
t+1
代表下一时刻t+1的状态,ag代表当前时刻已经达到的状态,t=1,2,...,T,所述奖励函数设计如下:奖励函数遵循标准的稀疏奖励二元奖励函数设计,其中为当前t时刻状态的特征表示,||*||代表取绝对值的操作,也就是对两个状态的差距取绝对值,δ为预设阈值,代表当智能体到达的状态与期望的目标状态间差距在阈值之内时,均可以视作任务成功此时奖励函数r
g
(s
t
,a
t
,g)=0;同时,重放经验缓冲区大小固定为N,随智能体任务的不同设定不同的值,设计时利用队列的思想,当重放经验缓冲区满后,新收集的单步转移元组将取代最早进入缓冲区的单步转移元组,遵循先进先出的规则;步骤3、利用事后经验重放思想扩充重放经验缓冲区:通过在当前轨迹τ上重新选取若干个不同于原始目标状态g的人为额外设置的“虚拟目标”g

,在此基础上重新审视这条轨迹τ,利用这些“虚拟目标”以及上述的奖励函数重新给出这条轨迹τ中每个单步转移元组的奖励,并将这些新的元组(s
t
,a
t
,r
t
,g

,s
t+1
,ag)同样存储到重放经验缓冲区中,存放规则与步骤2一致,此时重放经验缓冲区中将包含一部分延时奖励r
t
数值为正数的单步转移元组,对智能体的学习将起到有利的作用;步骤4、利用核密度估计方法估计智能体当前实现状态的密度值,计算相应的内在奖励:通过引入内在奖励来对奖励机制进行扩充,此时,智能体所获得的延时奖励包含两部
分:其中为当前时刻t内在奖励,为当前时刻t外部奖励,也就是环境给与的奖励,智能体的目标是最大化累计到T时刻的总延时奖励的值;在当前时刻t,将重放经验缓冲区中所有的已经实现的状态ag存储到集合G
ag
中,利用传统的核密度估计来衡量状态的新颖性,从单步转移元组中可知,当任务成功完成时,最后一个单步转移元组当中,当前的状态就是任务完成的状态,此时智能体达到的状态ag与g是相同的,因此在集合G
ag
中部分已达到的状态ag是与原始目标状态g一样的,某个已经实现的状态的密度定义为该已经实现的状态的实现次数与集合G
ag
中所有已经实现的状态的实现次数的商,集合G
ag
中的数据为样本数据,然后使用标准的高斯核函数的核密度估计算法来估计集合中每个状态的密度,这一核密度估计模型记做F
ag
,对于在集合G
ag
中的每个已实现目标g
i
,密度ρ
i
计算如下:ρ
i
=F
ag
(g
i
)因此,内在奖励设计应该与当前状态的密度成反比,密度越大的状态代表多次访问过,不再可取,忽略该状态;密度越小的状态对于智能体来说越新颖,后续应该重点探索该状态;同时考虑到训练开始时原始的期望到达的目标状态的存在,因此,越靠近期望目标状态且密度越小的状态是重点关注状态;所以,利用核密度估计算法估计当前时刻的状态s
t
在集合G
ag
中的密度值,同时计算当前状态与期望的目标状态g之间的差距d,内在奖励的设计如下:其中,f
h
(*)是具有高斯核的核密度估计函数,它产生对状态*的平滑密度估计,表示对f
h
(*)取平均值;ag
j
表示第j个已经实现的状态,η是预先定义的超参数,0,η)表示取中的最小值;Clip函数用于保证成功状态和失败状态之间的区别;同时,差距d越小,内在奖励的值越大;随着智能体的动作选择策略模型训练的不断进行,内在奖励将逐渐收敛到0;步骤5、动态初始状态的选择:为了进一步提高对环境进行探索的效率,由于智能体已经获得了一些能力,让智能体从之前所经历过的那些新颖的状态中开始探索;对于重放经验缓冲区中的每一个单步转移元组,首先利用步骤4中所生成的内在奖励将那些内在奖励为正数的单步转移元组挑选出来;其次挑选那些达到目标状态的成功的单步转移元组;最后,在这些挑选出来的元组中选择内在奖励最大的一个,将内在奖励最大的一个元组中的ag作为下个交互回合episode的初始状态;考虑探索与利用的平衡,每个交互回合开始前,将随机选择一个[0,1]之间的数字,当该数字小于α时,选择新颖状态作为该交互回合的初始状态,否则选择固定好的每个交互回合开始的初始状态作为该交互回合的初始状态,比率α的设计如下:α=γe
‑2×
succsss_rate...

【专利技术属性】
技术研发人员:陈爱国罗光春王玉林何中海曾黎李冠举
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1