一种面向连续控制问题的安全强化学习方法
未命名
09-29
阅读:79
评论:0
1.本发明属于安全关键智能软件领域,具体涉及一种面向连续控制问题的安全强化学习方法。
背景技术:
2.近年来,传统工业控制系统逐渐自主化、智能化以及无人化,强化学习作为一类智能控制算法,在机器人、自动驾驶、生物医疗等复杂领域积累了众多研究成果。强化学习是智能体在与环境交互的过程中获得奖励信号并学习最优的行动策略,使得智能体在环境中获得的累计奖励最大。强化学习算法可以分为两大类:无模型与基于模型。无模型的强化学习算法在不依赖于环境模型的情况下,直接与环境交互获得经验数据,利用采集得到的数据进行策略优化。基于模型的强化学习算法在环境中学习的同时利用经验数据生成环境模型,并使用环境模型进行规划。强化学习算法尽管得到了广泛而深刻的研究,但是从实验室走向工业界的过程是谨慎而缓慢的。强化学习算法在与环境进行大规模交互的过程中包含大量试错与危险动作,在实际环境中应用该类算法可能导致设备损坏甚至人员受伤,例如机械臂的不当操作等。此外,对于一些安全性存在严苛要求的应用场景,如自动驾驶、化工生产等,一般的强化学习算法未考虑风险控制,可能导致智能体进入危险状态,如自动驾驶汽车冲出道路。因此,研究安全强化学习算法、保证智能决策的安全性,对推进强化学习在实际环境中的应用,特别是在安全关键领域的应用,具有重要意义。
3.安全强化学习是在学习或者部署策略的过程中,在满足安全约束、降低危险风险或者保证系统性能的条件下,最大限度地提高期望回报。现有的安全强化学习方法主要分为两类,第一类是修改最优准则的安全强化学习方法,其通过修改目标函数实现安全性,此时最优策略的目标不只是追求最大化累计奖励的期望,还要考虑最坏情况或者环境风险。主要的最优准则包括最坏情况准则、风险敏感准则和受限优化准则等。第二类是修改探索过程的安全强化学习方法,其在探索过程中利用先验知识、人工干扰或者通过模仿学习以修改可能的危险动作。以上方法通常属于无模型策略优化的安全强化学习,然而无模型算法由于缺少先验知识使得智能体在真正学会避免危险之前会经历大量不安全的交互。
4.基于模型的安全强化学习方法利用采集的数据近似环境动态,之后使用模型进行安全的控制规划和策略优化。相比于无模型的方法,基于模型的安全强化学习具有许多优点。首先,其数据采样效率更高,智能体能够利用模型产生的虚拟经验进行策略提升,减少与真实环境的交互,从而减少训练时发生危险的情况。其次,智能体能够在做出决策之前利用模型“想象”未来的轨迹,从而规避可能的危险动作。另外,学习得到的模型由于不依赖于具体任务,所以可以重复用于相同环境下的不同任务。由上述讨论可知,基于模型的安全强化学习的关键工作在于:在模型学习阶段,学习一个拟合能力与预测能力良好的环境模型;在策略优化阶段,利用模型使策略向更安全的方向优化;在交互阶段,使用模型预测未来轨迹以尽可能地规避危险动作。
5.现有的无模型安全强化学习方法由于采样效率低,在学习得到最优策略之前仍需
经历大量的不安全交互。已有的基于模型的安全强化学习方法或者需要手工构造环境模型,仅仅适用于简单低维的连续控制任务;或者只能适用于确定性环境下的控制任务,无法适应随机环境。
技术实现要素:
6.发明目的:为解决随机环境下的连续控制问题,本发明提出了一种面向连续控制问题的安全强化学习方法,能够解决随机环境下的复杂高维的连续控制问题。
7.技术方案:一种面向连续控制问题的安全强化学习方法,包括以下步骤:
8.步骤1:采用概率集成模型近似动态环境,构建得到虚拟环境;
9.步骤2:将基于模型的强化学习算法与危险惩罚机制进行结合,通过智能体与实际环境和虚拟环境进行交互,学习得到最优策略函数;
10.步骤3:当智能体与实际环境进行交互时,使用步骤2得到的最优策略函数获得若干预选动作,并利用概率集成模型为每个预选动作生成n条长为m的预测轨迹,并统计n条预测轨迹违反安全规约的频率以及平均折扣累积奖励;仅当预选动作对应的违反安全规约的频率不大于安全阈值时,该预选动作作为可选的安全动作;
11.步骤4:从可选的安全动作中选取平均折扣累积奖励最大的预选动作来执行,实现连续控制。
12.进一步的,步骤1中的概率集成模型由多个集成概率神经网络构成,每个所述集成概率神经网络的输出为一个高斯分布,表示为:
[0013][0014]
式中,s表示状态,a表示动作,θi表示第i个神经网络的参数,表示高斯分布,表示高斯分布的均值表示高斯分布的方差;
[0015]
随机选取一个集成概率神经网络的输出作为概率集成模型的输出;所述集成概率神经网络的输出为高斯分布的均值。
[0016]
进一步的,所述概率集成模型为按照以下训练步骤得到的模型:
[0017]
从经验池获取训练样本;
[0018]
使用极大似然估计更新各集成概率神经网络的参数:
[0019][0020]
式中,表示损失函数,表示概率期望,(s
′
,r|s,a)表示从经验池d获取的训练样本,s
′
表示智能体在状态s执行动作a到达的下一状态,r表示智能体在状态s执行动作a获得的奖励。
[0021]
进一步的,所述将基于模型的强化学习算法与危险惩罚机制进行结合,具体包括以下步骤:
[0022]
确定危险惩罚机制,所述危险惩罚机制具体包括:
[0023]
智能体与环境交互的框架为马尔可夫决策过程,表示为其中,s表示状态集,a表示动作集,表示状态转移函数,表示奖励函数,γ表示折扣因子;
[0024]
状态转移函数和奖励函数满足:
[0025][0026]
式中,表示给予智能体进入不安全状态的代价值;
[0027]
按照下式更新给予智能体进入不安全状态的代价值c:
[0028][0029]
式中,r
max
表示智能体在环境中获得的奖励最大值,r
min
表示智能体在环境中获得的奖励最小值,p表示智能体在执行任意安全动作后进入不安全状态的概率,h
*
表示智能体在执行任意动作之后能够保持安全的最长步骤,h表示智能体在执行任意动作之前能够观测的最长步骤;
[0030]
定义贝尔曼算子;
[0031]
采用基于模型的强化学习算法,在智能体与环境的交互过程中,使用危险惩罚机制更新给予智能体进入不安全状态的代价值c,并赋予不安全状态的状态价值;
[0032]
利用贝尔曼算子学习最优状态价值函数,得到最优策略函数。
[0033]
进一步的,所述基于模型的强化学习算法为sac算法;
[0034]
所述sac算法,具体包括:
[0035]
定义四个函数,分别使用神经网络表示:策略函数π
θ
(a|s)、状态价值函数v
ψ
(s)、两个状态动作价值函数和
[0036]
策略函数π
θ
(a|s)的目标函数表示为:
[0037][0038]
状态动作价值函数的目标函数表示为:
[0039][0040]
状态价值函数的目标函数为:
[0041][0042][0043]
进一步的,所述贝尔曼算子,表示为:
[0044][0045]
式中,b
*
表示贝尔曼算子,q(s,a)表示状态动作价值函数表示概率神经网络的输出。
[0046]
进一步的,所述赋予不安全状态的状态价值,具体包括:
[0047]
当智能体进入不安全状态s
unsafe
时,直接赋予不安全状态s
unsafe
的状态价值:
[0048]vψ
(s
unsafe
)=-c/(1-γ)。
[0049]
有益效果:本发明具有以下优点:
[0050]
(1)本发明使用基于模型的安全强化学习方法解决连续随机控制问题,模型能够有效地表征环境的随机性,且学习得到的模型由于不依赖于具体任务,可以重复用于相同环境下的不同任务;相比于无模型的安全强化学习方法,本发明方法具有更高的数据采样效率,智能体能够利用模型产生的虚拟经验进行策略提升,减少与真实环境的交互,从而减少训练时发生危险的情况;
[0051]
(2)本发明方法无需手工构造环境模型,能够自动学习环境模型以近似动态环境;
[0052]
(3)本发明方法能够解决随机环境下的连续控制问题,具有较强的抗干扰能力,并且适用于复杂高维的控制任务;
[0053]
(4)本发明方法在解决随机环境下的连续控制问题的过程中保证了极高的安全性。
附图说明
[0054]
图1为本发明提出的一种面向连续控制问题的安全强化学习方法的整体框架示意图;
[0055]
图2为一种具体实施本发明方法的四类仿生机器人控制任务示意图;
[0056]
图3为具体实施本发明方法的实验结果示意图。
具体实施方式
[0057]
下面结合附图和实施例进一步阐述本发明方法。
[0058]
本实施例以mujuco仿真器上的连续控制任务为例,结合图2和图3对本实施例方法做进一步说明。
[0059]
图2示出了四类仿生机器人控制任务:ant、cheetah-no-flip、hopper和humanoid。现利用本实施例方法学习最优策略,实现控制仿生机器人连续运动,并使机器人在环境中获得的回报最大。
[0060]
设置机器人运动的单个片段最大长度为1000个时间步,安全约束为机器人不能“跌倒”使得当前片段终止。若机器人在1000个时间步内违反安全约束,则该片段失效,否则成功。为了考虑环境的随机性,为每个执行动作增加一定的扰动,扰动后的动作取值服从均值为原取值、标准差为1.0的正态分布。
[0061]
如图1所示,具体实施步骤如下:
[0062]
步骤1:使用概率集成模型近似动态环境,通过概率集成模型表征环境的认知不确定性和偶然不确定性;在本实施例中,概率集成模型由5个全连接神经网络组成,记为其中,每个全连接神经网络的输出为一个高斯分布,表示为式中,s表示状态,a表示动作,θi表示第i个神经网络的参数,表示高斯分布,表示高斯分布的均值表示高斯分布的方差。
[0063]
假设训练样本采样自经验池则每个全连接神经网络使用极大似
然估计更新参数:
[0064][0065]
式中,表示损失函数,表示概率期望,(s
′
,r|s,a)表示从经验池d获取的训练样本,s
′
表示智能体在状态s执行动作a到达的下一状态,r表示智能体在状态s执行动作a获得的奖励。
[0066]
本实施例采用的全连接神经网络包括3层宽度为200的隐藏层,非线性激活函数为:relu(x)=max{0,x}。使用adam优化器进行优化,批处理样本数量为256,学习率为1e-3。
[0067]
在使用模型阶段,每个全连接神经网络输出高斯分布的均值与方差,在本实施例中,采用均值作为输出结果,并且随机选取一个全连接神经网络的输出作为概率集成模型的输出。
[0068]
步骤2:设计一种以危险惩罚机制为核心的安全策略优化方法,通过增大执行不安全动作的代价使得安全动作的价值高于不安全动作的价值,并将该安全策略优化方法与基于模型的强化学习相结合,得到智能体与环境进行交互的最优策略函数。具体操作包括:
[0069]
本实施例的以危险惩罚机制为核心的安全策略优化方法为:
[0070]
设智能体与环境交互的原始框架为马尔可夫决策过程m=《s,a,t,r,γ》,构造新的马尔可夫决策过程其中,s表示状态集,a表示动作集,γ表示折扣因子;状态转移函数与奖励函数满足:
[0071][0072]
其中,表示给予智能体进入不安全状态的代价;
[0073]
设智能体在执行任意安全动作后进入不安全状态的概率为p,智能体在环境中获得的奖励最大值为r
max
,奖励最小值为r
min
。假设超参数h=10和p=0.5,观察智能体在环境中获得的奖励最大值r
max
,奖励最小值r
min
,根据下式持续更新c:
[0074][0075]
式中,h
*
表示智能体在执行任意动作之后能够保持安全的最长步骤,h表示智能体在执行任意动作之前能够观测的最长步骤。
[0076]
本实施例使用sac算法学习策略作为基于模型的强化学习,定义四个函数,分别使用全连接神经网络表示:策略函数π
θ
(a|s)、状态价值函数v
ψ
(s)、以及两个状态动作价值函数和
[0077]
从经验池d中抽取训练样本,策略函数对应的全连接神经网络的目标函数为:
[0078][0079]
两个状态价值函数对应的全连接神经网络的目标函数为:
[0080][0081]
状态价值函数对应的全连接神经网络的目标函数为:
[0082][0083]
式中,
[0084][0085]
此处使用的全连接神经网络,包含2层宽度为256的隐藏层,非线性激活函数为relu;使用adam优化器进行优化,初始熵权重为1.0,批处理样本数量为256,网络的学习率为3e-4。
[0086]
上述提及的将该安全策略优化方法与基于模型的强化学习相结合的步骤为:
[0087]
设真实的状态转移函数为t,概率集成模型为定义新的贝尔曼算子:
[0088][0089]
基于sac算法,在智能体采样过程中,使用危险惩罚机制不断更新c值,若采样到达危险状态s
unsafe
,则直接赋予危险状态s
unsafe
的状态价值:
[0090]vψ
(s
unsafe
)=-c/(1-γ)
[0091]
并利用新的贝尔曼算子b
*
学习最优状态价值函数。
[0092]
现对安全策略优化方法与基于模型的强化学习相结合的算法的收敛性与安全性进行理论证明。
[0093]
收敛性证明为:
[0094]
对于任意q,q
′
:
[0095][0096]
因此,贝尔曼算子b
*
是度量空间(q(s,a),∞)上的γ-压缩映射。根据banach不动点定理,贝尔曼算子b
*
迭代收敛到唯一的最优状态价值函数。
[0097]
安全性证明为:
[0098]
记贝尔曼算子b
*
的最优状态价值函数为q
*
,最优策略π
*
(s)=argmaxaq
*
(s,a),对于任意q,q
′
:如果q≤q
′
,则:
[0099][0100]
于是,b
*
q<b
*q′
。设q0为初始的q函数,对于任意经过k次迭代后,qk=(b
*
)kq0,qk=(b
*
)kq0,则qk≤qk。对k值取极限,即经过足够次数的迭代后,q
*
=limk→
∞
qk,q
*
=
limk→
∞
qk,可得q
*
≤q
*
。对于任意不安全动作a
′
,满足:
[0101][0102]
如果存在动作a使得q
*
(s,a)≥(-pc+(1-p)r
min
)/(1-γ),则:
[0103][0104]
于是,q
*
(s,a
′
)≤q
*
(s,a),动作a即为安全动作。因此,最优策略π
*
将执行安全动作。
[0105]
步骤3:每当智能体在环境中采取动作时,使用最优策略函数获得若干预选动作,利用概率集成模型为每个预选动作生成n条长为m的预测轨迹,并统计n条轨迹违反安全规约的频率以及平均折扣累积奖励;在本实施例中,为每个预选动作生成5条长为10的预测轨迹,并统计10条轨迹违反安全规约的频率以及平均折扣累积奖励;
[0106]
若预选动作违反安全规约的频率大于安全阈值∈=0.6,则该动作被视为不安全动作,否则该动作为可选的安全动作;
[0107]
最后从可选的安全动作中选取获得平均折扣累积奖励最大的动作来执行。
[0108]
为了兼顾准确性与效率,预选动作数量较大地设置,从而生成更多的动作序列,预测轨迹数量和预测水平则较小地设置。
[0109]
本实施例通过设计模型预测屏蔽算法,在智能体与环境交互的过程中使用模型预测控制作为潜在的屏蔽层,过滤高风险动作,选择高价值动作。
[0110]
图3示出了仿真实验结果,曲线描述了在训练过程中所学策略获得的回报随累计失效次数变化的情况。结果表明,本发明提出面向连续控制问题的安全强化学习方法在保持安全性的同时实现了较好的性能。
[0111]
为了验证模型预测屏蔽算法的有效性,实验对比了本发明方法在有无屏蔽情况下的性能。如下表所示,模型预测屏蔽算法能够有效减少训练过程中智能体与环境交互发生的危险情况。
[0112]
[0113]
技术特征:
1.一种面向连续控制问题的安全强化学习方法,其特征在于:包括以下步骤:步骤1:采用概率集成模型近似动态环境,构建得到虚拟环境;步骤2:将基于模型的强化学习算法与危险惩罚机制进行结合,通过智能体与实际环境和虚拟环境进行交互,学习得到最优策略函数;步骤3:当智能体与实际环境进行交互时,使用步骤2得到的最优策略函数获得若干预选动作,并利用概率集成模型为每个预选动作生成n条长为m的预测轨迹,并统计n条预测轨迹违反安全规约的频率以及平均折扣累积奖励;仅当预选动作对应的违反安全规约的频率不大于安全阈值时,该预选动作作为可选的安全动作;步骤4:从可选的安全动作中选取平均折扣累积奖励最大的预选动作来执行,实现连续控制。2.根据权利要求1所述的一种面向连续控制问题的安全强化学习方法,其特征在于:步骤1中的概率集成模型由多个集成概率神经网络构成,每个所述集成概率神经网络的输出为一个高斯分布,表示为:式中,s表示状态,a表示动作,θ
i
表示第i个神经网络的参数,表示高斯分布,表示高斯分布的均值表示高斯分布的方差;随机选取一个集成概率神经网络的输出作为概率集成模型的输出;所述集成概率神经网络的输出为高斯分布的均值。3.根据权利要求2所述的一种面向连续控制问题的安全强化学习方法,其特征在于:所述概率集成模型为按照以下训练步骤得到的模型:从经验池获取训练样本;使用极大似然估计更新各集成概率神经网络的参数:式中,表示损失函数,表示概率期望,(s
′
,r|s,a)表示从经验池d获取的训练样本,s
′
表示智能体在状态s执行动作a到达的下一状态,r表示智能体在状态s执行动作a获得的奖励。4.根据权利要求3所述的一种面向连续控制问题的安全强化学习方法,其特征在于:所述将基于模型的强化学习算法与危险惩罚机制进行结合,具体包括以下步骤:确定危险惩罚机制,所述危险惩罚机制具体包括:智能体与环境交互的框架为马尔可夫决策过程,表示为其中,s表示状态集,a表示动作集,表示状态转移函数,表示奖励函数,γ表示折扣因子;状态转移函数和奖励函数满足:式中,表示给予智能体进入不安全状态的代价值;
按照下式更新给予智能体进入不安全状态的代价值c:式中,r
max
表示智能体在环境中获得的奖励最大值,r
min
表示智能体在环境中获得的奖励最小值,p表示智能体在执行任意安全动作后进入不安全状态的概率,h
*
表示智能体在执行任意动作之后能够保持安全的最长步骤,h表示智能体在执行任意动作之前能够观测的最长步骤;定义贝尔曼算子;采用基于模型的强化学习算法,在智能体与环境的交互过程中,使用危险惩罚机制更新给予智能体进入不安全状态的代价值c,并赋予不安全状态的状态价值;利用贝尔曼算子学习最优状态价值函数,得到最优策略函数。5.根据权利要求4所述的一种面向连续控制问题的安全强化学习方法,其特征在于:所述基于模型的强化学习算法为sac算法;所述sac算法,具体包括:定义四个函数,分别使用神经网络表示:策略函数π
θ
(a|s)、状态价值函数v
ψ
(s)、两个状态动作价值函数和策略函数π
θ
(a|s)的目标函数表示为:状态动作价值函数的目标函数表示为:状态价值函数的目标函数为:状态价值函数的目标函数为:6.根据权利要求5所述的一种面向连续控制问题的安全强化学习方法,其特征在于:所述贝尔曼算子,表示为:式中,b
*
表示贝尔曼算子,q(s,a)表示状态动作价值函数表示概率神经网络的输出。7.根据权利要求6所述的一种面向连续控制问题的安全强化学习方法,其特征在于:所述赋予不安全状态的状态价值,具体包括:当智能体进入不安全状态s
unsafe
时,直接赋予不安全状态s
unsafe
的状态价值:v
ψ
(s
unsafe
)=-c/(1-γ)。
技术总结
本发明公开了一种面向连续控制问题的安全强化学习方法。使用概率集成模型近似动态环境,表征环境的认知不确定性和偶然不确定性;设计一种以危险惩罚机制为核心的安全策略优化方法,通过增大执行不安全动作的代价使得安全动作的价值高于不安全动作的价值,并将该安全策略优化方法与基于模型的强化学习相结合,理论证明算法的收敛性与安全性;设计模型预测屏蔽算法,在智能体与环境交互的过程中使用模型预测控制作为潜在的屏蔽层,过滤高风险动作,选择高价值动作。通过仿真实验表明,本发明提出面向连续控制问题的安全强化学习方法在保持安全性的同时实现了较好的性能。保持安全性的同时实现了较好的性能。保持安全性的同时实现了较好的性能。
技术研发人员:杨志斌 肖应民 周勇
受保护的技术使用者:南京航空航天大学
技术研发日:2023.07.05
技术公布日:2023/9/23
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:安全网一体化加工系统的制作方法 下一篇:检测装置的制作方法