安全强化学习和安全控制方法和装置、智能体和存储介质与流程

未命名 07-14 阅读:105 评论:0


1.本公开涉及计算机领域,尤其涉及人工智能领域,特别涉及一种安全强化学习方法和装置、安全控制方法和装置、智能体和存储介质。


背景技术:

2.强化学习(reinforcement learning,rl)是一种机器学习,其中智能体通过执行动作和查看反馈来学习在环境中采取最佳动作的策略。
3.安全强化学习(safe reinforcement learning,srl)将安全约束纳入风险感知策略优化中。一些安全强化学习方法将端到端的策略网络作为大规模约束优化问题的近似求解器。


技术实现要素:

4.经研究发现,由于安全强化学习的内在问题,例如建模中的逼近、基于样本的学习、分布转移等,使得端到端的策略网络作为动作决策模型仍然可能输出不安全的动作。
5.本公开实施例在策略网络之后设置安全层,策略网络在每个决策时刻根据当前状态输出参考动作,安全层以参考动作作为初始迭代动作,对用于估计累计代价的安全动作价值网络在动作的方向迭代地执行基于梯度的校正,在参考动作的基础上获得更加安全的目标动作。
6.本公开一些实施例提出一种安全强化学习方法,包括:
7.利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作;
8.利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作;
9.在环境中执行所述目标动作并转入下一状态,获取环境反馈的奖励、代价和是否结束的信息;
10.利用每个决策时刻相应的当前状态、目标动作、下一状态、奖励、代价和是否结束的信息构建训练数据;
11.利用所述训练数据,训练奖励动作价值网络和安全动作价值网络,其中,所述奖励动作价值网络用于估计累计奖励,所述安全动作价值网络用于估计累计代价;
12.利用设置的优化目标训练所述策略网络,所述优化目标基于所述奖励动作价值网络和所述安全动作价值网络构建;
13.将训练后的策略网络和所述安全层确定为动作决策模型。
14.在一些实施例中,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正包括:利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。
15.在一些实施例中,训练奖励动作价值网络和安全动作价值网络包括:利用所述训练数据和贝尔曼方程,训练奖励动作价值网络和安全动作价值网络。
16.在一些实施例中,训练奖励动作价值网络包括:
17.通过最小化第一奖励与第二奖励的处理值之间的差距的数学期望,训练奖励动作价值网络,其中:
18.所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
19.所述第二奖励是奖励动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二动作是所述策略网络基于下一状态输出的动作,
20.所述第二奖励的处理值是利用每条训练数据中的奖励和是否结束的信息对所述第二奖励进行处理得到的。
21.在一些实施例中,训练安全动作价值网络包括:
22.通过最小化第一代价与第二代价的处理值之间的差距的数学期望,训练代价动作价值网络,其中:
23.所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
24.所述第二代价是安全动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二动作是所述策略网络基于下一状态输出的动作,
25.所述第二代价的处理值是利用每条训练数据中的代价和是否结束的信息对所述第二代价进行处理得到的。
26.在一些实施例中,基于所述奖励动作价值网络和所述安全动作价值网络构建所述优化目标包括:
27.所述优化目标为最小化第一奖励的相反值与第一代价的处理值之和的数学期望,
28.所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
29.所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
30.所述第一代价的处理值根据所述第一代价与安全阈值的差值确定。
31.在一些实施例中,在所述安全强化学习方法用于智能体的情况下,所述当前状态和所述下一状态是智能体所处环境的当前状态和下一状态,所述目标动作是智能体的目标动作。
32.本公开一些实施例提出一种安全控制方法,包括:
33.利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作;
34.利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作,其中,所述安全动作价值网络用于估计累计代价;
35.在环境中执行所述目标动作。
36.在一些实施例中,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正包括:利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。
37.在一些实施例中,在所述安全控制方法用于智能体的情况下,所述当前状态是智
能体所处环境的当前状态,所述目标动作是智能体的目标动作。
38.本公开一些实施例提出一种动作决策模型,包括:
39.策略网络,被配置为在每个决策时刻根据输入的当前状态输出相应的参考动作;
40.安全层,被配置为以所述策略网络输出的参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作,其中,所述安全动作价值网络用于估计累计代价。
41.在一些实施例中,所述安全层,被配置为以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。
42.在一些实施例中,还包括:学习单元,被配置为在环境中执行所述目标动作并转入下一状态,获取环境反馈的奖励、代价和是否结束的信息;
43.利用每个决策时刻相应的当前状态、目标动作、下一状态、奖励、代价和是否结束的信息构建训练数据;
44.利用所述训练数据,训练奖励动作价值网络和安全动作价值网络,其中,所述奖励动作价值网络用于估计累计奖励,所述安全动作价值网络用于估计累计代价;
45.利用设置的优化目标训练所述策略网络,所述优化目标基于所述奖励动作价值网络和所述安全动作价值网络构建;
46.将训练后的策略网络和所述安全层确定为动作决策模型。
47.在一些实施例中,所述学习单元使用的所述优化目标为最小化第一奖励的相反值与第一代价的处理值之和的数学期望,
48.所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
49.所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
50.所述第一代价的处理值根据所述第一代价与安全阈值的差值确定。
51.本公开一些实施例提出一种安全强化学习装置,包括:执行安全强化学习方法的模块。
52.本公开一些实施例提出一种安全控制装置,包括:执行安全控制方法的模块。
53.本公开一些实施例提出一种安全强化学习装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行安全强化学习方法。
54.本公开一些实施例提出一种安全控制装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行安全控制方法。
55.本公开一些实施例提出一种智能体,包括:安全强化学习装置;和/或,安全控制装置。
56.本公开一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现各实施例方法的步骤。
附图说明
57.下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开。
58.显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
59.图1示出本公开一些实施例的动作决策模型的示意图。
60.图2示出本公开一些实施例的安全强化学习方法的示意图。
61.图3示出t时间步的交互数据(s
t
,a
t
,s
t+1
,r
t
,c
t
,d
t
)的生成方法的流程示意图。
62.图4示出安全层在连续动作空间内展开迭代校正的过程的示意图。
63.图5示出本公开一些实施例的安全控制方法的流程示意图。
64.图6示出本公开一些实施例的安全强化学习装置的示意图。
65.图7示出本公开一些实施例的安全控制装置的示意图。
66.图8示出本公开一些实施例的安全强化学习装置的示意图。
67.图9示出本公开一些实施例的安全控制装置的示意图。
68.图10示出本公开一些实施例的智能体的示意图。
具体实施方式
69.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
70.除非特别说明,否则,本公开中的“第一”“第二”等描述用来区分不同的对象,并不用来表示大小或时序等含义。
71.下面对安全强化学习所涉及到的一些术语进行描述。
72.智能体(agent)是指驻留在某一环境下,能持续自主地发挥作用,具备驻留性、反应性、社会性、主动性等特征的计算实体。智能体是人工智能领域中一个很重要的概念。任何独立的能够思考并可以同环境交互的实体都可以抽象为智能体。智能体例如包括但不限于机器人、自动驾驶汽车等。
73.环境(environment)是指除智能体以外的一切,可以用状态集描述。状态(state)表示环境的数据,状态空间(或者说状态集)包括环境中所有可能的状态。
74.动作(action)是智能体可以做出的动作,动作空间(或者说动作集)则是智能体可以做出的所有动作。
75.奖励(reward)是智能体在执行一个动作后,从环境获得的负面或正面的反馈信息,奖励集则是智能体可以获得的所有反馈信息。
76.代价(cost)是智能体动作后因违反安全要求所付出的成本。
77.强化学习是从环境的状态到智能体的动作的映射学习,该映射关系称为策略。策略例如可以是深度神经网络等神经网络,因此,策略也称为策略网络。
78.智能体在与环境的交互过程中,学习最佳决策序列。智能体与环境的交互过程例如包括但不限于:智能体根据环境的当前状态按照一定的策略执行某个动作后,环境会由当前状态转换到一个新状态,并反馈奖励(正奖励或者负奖励)、代价、是否结束等信息给智能体;随后,智能体根据环境的新状态按照一定的策略执行新的动作。其中,在各个动作选
择执行过程中,希望在累计代价不超过安全阈值的情况下最大化累计奖励。
79.关于安全强化学习任务,考虑约束马尔可夫决策过程(constrained markov decision process,cmdp)中的风险感知策略优化。在cmdp中,智能体不仅要实施策略和获得回报,还要确保环境状态的一些指标不超出安全限制。其中,回报可以是随时间步的积累奖励,在引入行为轨迹的概念后,回报也是行为轨迹上所有奖励的总和。
80.约束马尔可夫决策过程可以由元组表示。其中,和分别表示环境的状态空间和智能体的动作空间,s和a分别表示状态空间中的某个状态和动作空间中的某个动作。是奖励函数,其中,表示从t时间步的状态s
t
基于t时间步的动作a
t
转换到t+1时间步的状态s
t+1
,表示在情况下获得奖励r的奖励函数,表示奖励的范围。是描述环境动力学的转移概率函数,即从t时间步的状态s
t
基于t时间步的动作a
t
转换到t+1时间步的状态s
t+1
的转移概率函数。是代价函数(或称成本函数),表征因违反安全要求所付出的代价,即从t时间步的状态s
t
基于t时间步的动作a
t
转换到t+1时间步的状态s
t+1
所需要付出代价的成本函数。
81.策略/策略网络π(s;θ)是将给定状态s映射到动作空间上的概率分布,θ表示策略网络的参数,策略网络例如可以是深度神经网络等神经网络,策略/策略网络可以简记为π。
82.累计奖励例如可以是累计折扣奖励jr(v)。
[0083][0084]
其中,对智能体基于π的行为进行采样得到行为轨迹τ,其中,对智能体基于π的行为进行采样得到行为轨迹τ,其中,s
t
,a
t
,s
t+1
,r
t
,c
t
,d
t
分别表示t时间步的状态、t时间步执行的动作、t+1时间步的状态,t时间步的奖励,t时间步的代价,t时间步的是否结束的信息,t∈[1,t],奖励的折扣因子γr∈(0,1]保证几何级数在时间范围t趋向无穷大时收敛,例如设为0.99,表示数学期望,简称期望。
[0085]
jr(π)的状态与动作的值函数定义为:
[0086][0087]
其中,表示jr(π)在状态s和动作a下的值函数。也称为奖励动作价值网络,其网络参数记为φ,因此,也记为qr(s,a;φ)或者qr(s,a)或者qr。奖励动作价值网络用于估计累计奖励。
[0088]
类似的,累计代价例如可以是累计折扣代价jc(π)。
[0089][0090]
其中,对智能体基于π的行为进行采样得到行为轨迹τ,其中,对智能体基于π的行为进行采样得到行为轨迹τ,其中,s
t
,a
t
,s
t+1
,r
t
,c
t
,d
t
分别表示t时间步的状态、t时间步执行的动作、t+1时间步的状态,t时间步的奖励,t时间步的代价,t时间步的是否结束的信息,t∈[1,t],代价的折扣因子γc∈(0,1]保证几何级数在时间范围t趋向无穷大时收敛,例如设为0.99,表示数学期望,简称期望。γc与γr可以是相同的或不同的。
[0091]
jc(π)的状态与动作的值函数定义为:
[0092][0093]
其中,表示jc(π)在状态s和动作a下的值函数。也称为安全动作价值网络,其网络参数记为因此,也记为或者qc(s,a)或者qc。安全动作价值网络用于估计累计代价。
[0094]
图1示出本公开一些实施例的动作决策模型的示意图。
[0095]
如图1所示,该实施例的动作决策模型100包括前置的策略网络110和后置的安全层120。
[0096]
策略网络110在每个决策时刻根据输入的当前状态输出相应的参考动作。
[0097]
安全层120以策略网络输出的参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,在参考动作的基础上获得更加安全的目标动作。例如,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。由于迭代校正,安全层120也称展开安全层。
[0098]
动作决策模型100还包括在学习阶段使用的学习单元130,被配置为执行安全强化学习方法,后续会具体描述。
[0099]
也即,在学习阶段,动作决策模型100包括前置的策略网络110、后置的安全层120和学习单元130;在推理阶段,动作决策模型100包括前置的策略网络110和后置的安全层120。
[0100]
图2示出本公开一些实施例的安全强化学习方法的示意图。该方法例如由学习单元、安全强化学习装置或智能体执行。
[0101]
如图2所示,安全强化学习方法包括以下步骤210-250。
[0102]
在步骤210,初始化。
[0103]
在一些实施例中,初始化奖励动作价值网络qr(s,a;φ),初始化安全动作价值网络初始化策略网络π(s;θ),其中,初始化网络也即初始化网络参数,如φ,θ等;指定策略网络的罚参数κ,指定展开安全层的步长η和最大迭代次数k等。
[0104]
在每个时间步(即决策时刻)t执行一轮训练(即执行步骤220-240),假设t=1,
2,

,t,则训练轮次为t。
[0105]
在步骤220,获取训练数据。
[0106]
每个训练轮次从经验回放池采样n条训练数据作为本训练轮次的训练数据。其中,可以采用随机采样方式,或者,采样最近时间的n条训练数据。n的数量可以设置。
[0107]
经验回放池中存储历史时间步的交互数据,每个历史时间步的交互数据是一条训练数据。例如,将t时间步的交互数据(s
t
,a
t
,s
t+1
,r
t
,c
t
,d
t
)作为一条训练数据存入经验回放池s
t
,a
t
,s
t+1
,r
t
,c
t
,d
t
分别表示t时间步的状态、t时间步执行的动作(目标动作)、t+1时间步的状态,t时间步的奖励,t时间步的代价,t时间步的是否结束的信息。
[0108]
如图3所示,t时间步的交互数据(s
t
,a
t
,s
t+1
,r
t
,c
t
,d
t
)的生成方法包括:220-1~220-4。
[0109]
在步骤220-1,利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作。
[0110]
为了增加训练数据的多样性,还可以将策略网络根据输入的当前状态输出的动作并增加一定的噪声作为参考动作。公式表示如下:
[0111][0112]
其中,表示t时间步的参考动作,π(s
t
;θ)表示参数为θ的策略网络π根据t时间步的状态s
t
输出的动作,ε表示添加的随机噪声,该噪声服从正态分布,例如,即噪声服从数学期望为0,标准差为σ的正态分布。
[0113]
在步骤220-2,利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作。
[0114]
在策略执行阶段的每个决策步骤中引入了以下约束优化,以明确强制执行状态安全约束(硬安全约束):
[0115]a*
=argmaxa[qr(s,a)]s.t.qc(s,a)≤δ,
[0116]
上述公式表示:在满足约束qc(s,a)≤δ的情况下,计算使得qr(s,a)最大的动作a,该动作a也即目标动作。δ是设置的安全阈值。
[0117]
为了求解该问题,利用展开安全层(unrolling safety layer,usl),以所述参考动作作为初始迭代动作,对安全动作价值网络qc(s,a)在动作a的方向迭代地执行梯度下降,直至达到预设的最大迭代次数k,将最后的动作确定为目标动作。
[0118]
该梯度校正可以用如下公式表示:
[0119][0120]
其中,是缩放梯度的归一化因子,超参数η决定了动作变化的最大步长。[f(x)]+表示max{0,f(x)},即取0和f(x)中的较大值。k表示迭代次数,k表示最大迭代次数,ak表示第k次迭代后的动作。
[0121]
在迭代次数k=1,2,

,k的情况下,以t时间步的参考动作作为初始迭代动作,迭代
地执行将最后的动作确定为t时间步的目标动作a
t
,即
[0122]
需要说明的是,上述梯度校正并非收敛到原始约束优化问题的全局最优值,而是在初始迭代点的基础上寻找更优值。因此,如果初始迭代点接近最优解,这种方法在实践中非常有效。通过逐状态安全策略学习,策略网络输出的动作虽然有时可能不可行,但已经接近最优动作。因此,可以预期序在k

+∞时收敛到最优动作。在实际应用中,设置usl的最大迭代次数k,k值越大,迭代确定的目标动作越接近最优动作。
[0123]
图4示出了安全层在连续动作空间内展开迭代校正的过程,经第一次迭代校正得到经第二次迭代校正得到以此类推,经第k次迭代校正最终得到图4中可以看出,安全层也叫展开安全层的原因。
[0124]
在步骤220-3,在环境中执行所述目标动作并转入下一状态,获取环境反馈的奖励、代价和是否结束的信息。
[0125]
在环境中执行动作环境从当前状态s
t
转入下一状态s
t+1
,同时获取环境反馈的奖励r
t
、代价c
t
和是否结束的信息d
t

[0126]
在步骤220-4,利用每个决策时刻相应的当前状态、目标动作、下一状态、奖励、代价和是否结束的信息构建训练数据。
[0127]
时间步(即决策时刻)t的训练数据为(s
t
,a
t
,s
t+1
,r
t
,c
t
,d
t
)。据此可以得到各个时间步的训练数据。
[0128]
在步骤230,利用所述训练数据,训练奖励动作价值网络和安全动作价值网络。
[0129]
利用所述训练数据和贝尔曼方程,训练奖励动作价值网络和安全动作价值网络。
[0130]
其中,利用所述训练数据和贝尔曼方程,训练奖励动作价值网络包括:通过最小化第一奖励与第二奖励的处理值之间的差距的数学期望,训练奖励动作价值网络,其中:所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第二奖励是奖励动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二动作是所述策略网络基于下一状态输出的动作,所述第二奖励的处理值是利用每条训练数据中的奖励和是否结束的信息对所述第二奖励进行处理得到的。
[0131]
例如,通过例如,通过训练qr(s,a;φ),优化其参数φ。
[0132]
其中,s表示训练数据中的当前状态s
t
,s

表示训练数据中的下一状态s
t+1
,a表示训练数据中的目标动作a
t
,r和d表示训练数据中的奖励r
t
和是否结束的信息d
t
,π
θ
(s

)表示第二动作,qr(s,a;φ)表示第一奖励,qr(s


θ
(s

);φ)表示第二奖励,(r+γr(1-d)qr(s


θ
(s

);φ))表示第二奖励的处理值,d表示经验回放池。
[0133]
其中,利用所述训练数据和贝尔曼方程,训练安全动作价值网络包括:通过最小化第一代价与第二代价的处理值之间的差距的数学期望,训练代价动作价值网络,其中:所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第二代价是安全动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二
动作是所述策略网络基于下一状态输出的动作,所述第二代价的处理值是利用每条训练数据中的代价和是否结束的信息对所述第二代价进行处理得到的。
[0134]
例如,通过例如,通过训练优化其参数
[0135]
其中,s表示训练数据中的当前状态s
t
,s

表示训练数据中的下一状态s
t+1
,a表示训练数据中的目标动作a
t
,c和d表示训练数据中的代价c
t
和是否结束的信息d
t
,π
θ
(s

)表示第二动作,表示第一代价,表示第二代价,表示第二代价的处理值,d表示经验回放池。
[0136]
在步骤240,利用设置的优化目标训练训练策略网络,优化目标基于所述奖励动作价值网络和所述安全动作价值网络构建。
[0137]
策略网络的优化问题可以表述为:
[0138][0139]
上述公式表示:在满足约束的情况下,计算使得最大的策略网络π。表示每个时刻t状态s
t
下的代价c
t
的数学期望都小于一个阈值∈(该阈值可以设置)。表基于π的行为轨迹τ下的数学期望。
[0140]
当时,策略网络的优化问题可以转化为价值函数的形式:
[0141][0142]
上述公式表示:在满足约束的情况下,计算使得最大的策略网络π,δ表示安全阈值,可以设置。
[0143]
价值函数形式的策略网络的优化问题是一个大规模的约束序列优化问题,可以用一个基于深度神经网络等神经网络的策略网络作为优化问题的近似求解器。因此,优化目标可设置为最小化第一奖励的相反值与第一代价的处理值之和的数学期望,所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第一代价的处理值根据所述第一代价与安全阈值的差值确定。
[0144]
基于精确罚理论,一个近似等价的优化目标是:
[0145][0146]
其中,d表示经验回放池,策略网络的罚参数κ是一个超参数,理论上要求κ要超过原问题最优拉格朗日乘子向量的最大值,实际上可以设定为一个足够大的常量,表示第一奖励,表示第一代价,δ表示安全阈值,
表示第一代价的处理值。
[0147]
通过逐状态安全策略学习,策略网络输出的动作虽然有时可能不可行,但已经接近最优动作。
[0148]
策略网络仍然可能输出不可行的动作的原因,主要包括:(a)拉格朗日乘数的上界难以估计,罚参数κ只能作为一个固定的、足够大的但是次优的超参数。(b)安全强化学习的内在问题,例如建模中的逼近、基于样本的学习、分布转移等,使得端到端的策略网络决策的动作有违反硬安全约束的可能,即可能输出不安全的动作。
[0149]
为了改善上述问题,在策略网络后设置安全层,强制执行状态安全约束(硬安全约束),输出更安全更可行的动作。
[0150]
在步骤250,将训练后的策略网络和安全层确定为动作决策模型。
[0151]
在所述安全强化学习方法用于智能体的情况下,所述当前状态和所述下一状态是智能体所处环境的当前状态和下一状态,所述目标动作是智能体的目标动作。
[0152]
上述学习方法,利用校正后的动作作为训练数据,并且基于奖励动作价值网络和安全动作价值网络构建受安全约束的优化目标,对策略网络进行训练,使得策略网络能够做出更优的决策,输出更优的动作,该更优的动作通常来说更安全,可行性更好,更接近最优动作;并且,将训练后的策略网络和安全层确定为动作决策模型,安全层对策略网络决策的参考动作进行校正,使得动作决策模型具备获得更加安全的目标动作的能力,增强了对零约束违反任务的安全保证。
[0153]
基于动作决策模型,可以对智能体进行安全控制。下面结合图5描述智能体的安全控制方法。
[0154]
图5示出本公开一些实施例的安全控制方法的流程示意图。
[0155]
如图5所示,安全控制方法包括:步骤510-530。
[0156]
在步骤510,利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作。
[0157]
在步骤520,利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作,其中,所述安全动作价值网络用于估计累计代价。
[0158]
利用展开安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。
[0159]
在步骤530,在环境中执行所述目标动作。
[0160]
在所述安全控制方法用于智能体的情况下,所述当前状态是智能体所处环境的当前状态,所述目标动作是智能体的目标动作。
[0161]
上述实施例,执行策略网络之后还执行安全层,策略网络在每个决策时刻根据当前状态输出参考动作,安全层以参考动作作为初始迭代动作,对用于估计累计代价的安全动作价值网络在动作的方向迭代地执行基于梯度的校正,从而在参考动作的基础上获得更加安全的目标动作。
[0162]
图6示出本公开一些实施例的安全强化学习装置的示意图。
[0163]
如图6所示,安全强化学习装置600包括:单元610-640。
[0164]
训练数据获取单元610,被配置为利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作;利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作;在环境中执行所述目标动作并转入下一状态,获取环境反馈的奖励、代价和是否结束的信息;利用每个决策时刻相应的当前状态、目标动作、下一状态、奖励、代价和是否结束的信息构建训练数据。其中,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正包括:利用展开安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。
[0165]
价值网络训练单元620,被配置为利用所述训练数据,训练奖励动作价值网络和安全动作价值网络,其中,所述奖励动作价值网络用于估计累计奖励,所述安全动作价值网络用于估计累计代价。其中,利用所述训练数据和贝尔曼方程,训练奖励动作价值网络和安全动作价值网络。
[0166]
策略网络训练单元630,被配置为利用设置的优化目标训练所述策略网络,所述优化目标基于所述奖励动作价值网络和所述安全动作价值网络构建。
[0167]
动作决策模型确定单元640,被配置为将训练后的策略网络和所述安全层确定为动作决策模型。
[0168]
价值网络训练单元620,训练奖励动作价值网络,被配置为通过最小化第一奖励与第二奖励的处理值之间的差距的数学期望,训练奖励动作价值网络,其中:
[0169]
所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
[0170]
所述第二奖励是奖励动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二动作是所述策略网络基于下一状态输出的动作,
[0171]
所述第二奖励的处理值是利用每条训练数据中的奖励和是否结束的信息对所述第二奖励进行处理得到的。
[0172]
价值网络训练单元620,训练安全动作价值网络,被配置为通过最小化第一代价与第二代价的处理值之间的差距的数学期望,训练代价动作价值网络,其中:
[0173]
所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
[0174]
所述第二代价是安全动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二动作是所述策略网络基于下一状态输出的动作,
[0175]
所述第二代价的处理值是利用每条训练数据中的代价和是否结束的信息对所述第二代价进行处理得到的。
[0176]
策略网络训练单元630,被配置为基于所述奖励动作价值网络和所述安全动作价值网络构建所述优化目标包括:
[0177]
所述优化目标为最小化第一奖励的相反值与第一代价的处理值之和的数学期望,
[0178]
所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
[0179]
所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,
[0180]
所述第一代价的处理值根据所述第一代价与安全阈值的差值确定。
[0181]
图7示出本公开一些实施例的安全控制装置的示意图。
[0182]
如图7所示,安全控制装置700包括:单元710-730。
[0183]
参考动作决策单元710,被配置为利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作。
[0184]
动作校正单元720,被配置为利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作,其中,所述安全动作价值网络用于估计累计代价。
[0185]
动作校正单元720,被配置为利用展开安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作,其中,所述安全动作价值网络用于估计累计代价。
[0186]
动作执行单元730,被配置为在环境中执行所述目标动作。
[0187]
图8示出本公开一些实施例的安全强化学习装置的示意图。
[0188]
如图8所示,安全强化学习装置800包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行前述任意一些实施例中的安全强化学习方法,这里不再赘述。
[0189]
装置800还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830,840,850以及存储器810和处理器820之间例如可以通过总线860连接。
[0190]
其中,存储器例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
[0191]
其中,处理器可以用通用处理器、数字信号处理器(digital signal processor,dsp)、应用专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或其它可编程逻辑设备、分立门或晶体管等分立硬件组件方式来实现。
[0192]
其中,输入输出接口为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口为各种联网设备提供连接接口。存储接口为sd卡、u盘等外置存储设备提供连接接口。总线可以使用多种总线结构中的任意总线结构。例如,总线结构包括但不限于工业标准体系结构(industry standard architecture,isa)总线、微通道体系结构(micro channel architecture,mca)总线、外围组件互连(peripheral component interconnect,pci)总线。
[0193]
图9示出本公开一些实施例的安全控制装置的示意图。
[0194]
如图9所示,安全控制装置900包括:存储器910以及耦接至该存储器910的处理器920,处理器920被配置为基于存储在存储器910中的指令,执行前述任意一些实施例中的安全控制方法,这里不再赘述。
[0195]
装置900还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930,940,950以及存储器910和处理器920之间例如可以通过总线960连接。
[0196]
图10示出本公开一些实施例的智能体的示意图。
[0197]
如图10所示,智能体1000包括安全强化学习装置600,800和/或,安全控制装置700,900。此外,智能体900例如还可以包括用来支撑智能体本体的支撑元件,用来执行动作
的执行元件,用来基于策略控制动作执行的控制元件等,但不限于所举示例。
[0198]
本公开一些实施例提出一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现各实施例的方法的步骤。
[0199]
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机程序代码的非瞬时性计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0200]
本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0201]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0202]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0203]
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

技术特征:
1.一种安全强化学习方法,包括:利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作;利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作;在环境中执行所述目标动作并转入下一状态,获取环境反馈的奖励、代价和是否结束的信息;利用每个决策时刻相应的当前状态、目标动作、下一状态、奖励、代价和是否结束的信息构建训练数据;利用所述训练数据,训练奖励动作价值网络和安全动作价值网络,其中,所述奖励动作价值网络用于估计累计奖励,所述安全动作价值网络用于估计累计代价;利用设置的优化目标训练所述策略网络,所述优化目标基于所述奖励动作价值网络和所述安全动作价值网络构建;将训练后的策略网络和所述安全层确定为动作决策模型。2.根据权利要求1所述的方法,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正包括:利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。3.根据权利要求1所述的方法,训练奖励动作价值网络和安全动作价值网络包括:利用所述训练数据和贝尔曼方程,训练奖励动作价值网络和安全动作价值网络。4.根据权利要求3所述的方法,训练奖励动作价值网络包括:通过最小化第一奖励与第二奖励的处理值之间的差距的数学期望,训练奖励动作价值网络,其中:所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第二奖励是奖励动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二动作是所述策略网络基于下一状态输出的动作,所述第二奖励的处理值是利用每条训练数据中的奖励和是否结束的信息对所述第二奖励进行处理得到的。5.根据权利要求3所述的方法,训练安全动作价值网络包括:通过最小化第一代价与第二代价的处理值之间的差距的数学期望,训练代价动作价值网络,其中:所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第二代价是安全动作价值网络基于每条训练数据中的下一状态和第二动作输出的,所述第二动作是所述策略网络基于下一状态输出的动作,所述第二代价的处理值是利用每条训练数据中的代价和是否结束的信息对所述第二代价进行处理得到的。6.根据权利要求1所述的方法,基于所述奖励动作价值网络和所述安全动作价值网络构建所述优化目标包括:
所述优化目标为最小化第一奖励的相反值与第一代价的处理值之和的数学期望,所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第一代价的处理值根据所述第一代价与安全阈值的差值确定。7.根据权利要求1-6任一项所述的方法,其特征在于,在所述安全强化学习方法用于智能体的情况下,所述当前状态和所述下一状态是智能体所处环境的当前状态和下一状态,所述目标动作是智能体的目标动作。8.一种安全控制方法,包括:利用策略网络,在每个决策时刻根据输入的当前状态输出相应的参考动作;利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作,其中,所述安全动作价值网络用于估计累计代价;在环境中执行所述目标动作。9.根据权利要求8所述的方法,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正包括:利用安全层,以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。10.根据权利要求8-9任一项所述的方法,其特征在于,在所述安全控制方法用于智能体的情况下,所述当前状态是智能体所处环境的当前状态,所述目标动作是智能体的目标动作。11.一种动作决策模型,包括:策略网络,被配置为在每个决策时刻根据输入的当前状态输出相应的参考动作;安全层,被配置为以所述策略网络输出的参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行基于梯度的校正,以获得目标动作,其中,所述安全动作价值网络用于估计累计代价。12.根据权利要求11所述的动作决策模型,所述安全层,被配置为以所述参考动作作为初始迭代动作,对安全动作价值网络在动作的方向迭代地执行梯度下降,直至达到预设的最大迭代次数,将最后的动作确定为目标动作。13.根据权利要求11所述的动作决策模型,还包括:学习单元,被配置为在环境中执行所述目标动作并转入下一状态,获取环境反馈的奖励、代价和是否结束的信息;利用每个决策时刻相应的当前状态、目标动作、下一状态、奖励、代价和是否结束的信息构建训练数据;利用所述训练数据,训练奖励动作价值网络和安全动作价值网络,其中,所述奖励动作价值网络用于估计累计奖励,所述安全动作价值网络用于估计累计代价;利用设置的优化目标训练所述策略网络,所述优化目标基于所述奖励动作价值网络和所述安全动作价值网络构建;
将训练后的策略网络和所述安全层确定为动作决策模型。14.根据权利要求13所述的动作决策模型,所述学习单元使用的所述优化目标为最小化第一奖励的相反值与第一代价的处理值之和的数学期望,所述第一奖励是奖励动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第一代价是安全动作价值网络基于每条训练数据中的当前状态和目标动作输出的,所述第一代价的处理值根据所述第一代价与安全阈值的差值确定。15.一种安全强化学习装置,包括:执行权利要求1-7任一项所述方法的模块。16.一种安全控制装置,包括:执行权利要求8-10任一项所述方法的模块。17.一种安全强化学习装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-7任一项所述的安全强化学习方法。18.一种安全控制装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求8-10任一项所述的安全控制方法。19.一种智能体,包括:权利要求15或17所述的安全强化学习装置;和/或,权利要求16或18所述的安全控制装置。20.一种非瞬时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-10任一项所述方法的步骤。

技术总结
本公开提出一种安全强化学习和安全控制方法和装置、智能体和存储介质,涉及计算机领域。在策略网络之后设置安全层,策略网络在每个决策时刻根据当前状态输出参考动作,安全层以参考动作作为初始迭代动作,对用于估计累计代价的安全动作价值网络在动作的方向迭代地执行基于梯度的校正,在参考动作的基础上获得更加安全的目标动作。更加安全的目标动作。更加安全的目标动作。


技术研发人员:沈力 张麟睿 陶大程
受保护的技术使用者:京东科技信息技术有限公司
技术研发日:2023.04.24
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐