1.本发明实施例涉及自动驾驶技术,尤其涉及一种自动驾驶决策方法、装置、设备和存储介质。
背景技术:2.自动驾驶过程是包含环境感知、动作决策和动作执行的智能系统执行过程。动作决策作为连接环境感知和动作执行的中枢位置,成为自动驾驶技术中的研究重点。
3.目前,可以利用深度强化学习的模型进行自动驾驶决策,获得待执行的最优动作信息。
4.然而,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
5.由于自动驾驶环境的复杂性和多样性,强化学习模型的决策效果往往需要依赖于大量的样本状态信息,并且容易受到状态信息的干扰,导致驾驶决策的鲁棒性和准确性较低。
技术实现要素:6.本发明实施例提供了一种自动驾驶决策方法、装置、设备和存储介质,以提高驾驶决策的鲁棒性和准确性。
7.第一方面,本发明实施例提供了一种自动驾驶决策方法,包括:
8.获取自动驾驶的目标车辆的当前状态信息;
9.将所述当前状态信息输入至预设强化学习模型中进行动作决策,根据所述预设强化学习模型的输出,获得所述当前状态信息对应的当前学习动作信息,其中,所述预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的;
10.基于目标驾驶规则策略确定所述当前状态信息对应的当前策略动作信息,其中,所述目标驾驶规则策略是基于驾驶员经验获得的车辆驾驶策略;
11.基于所述当前学习动作信息和所述当前策略动作信息进行混合决策,确定所述目标车辆的待执行动作信息。
12.第二方面,本发明实施例还提供了一种自动驾驶决策装置,其特征在于,包括:
13.当前状态信息获取模块,用于获取自动驾驶的目标车辆的当前状态信息;
14.当前学习动作信息确定模块,用于将所述当前状态信息输入至预设强化学习模型中进行动作决策,根据所述预设强化学习模型的输出,获得所述当前状态信息对应的当前学习动作信息,其中,所述预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的;
15.当前策略动作信息确定模块,用于基于目标驾驶规则策略确定所述当前状态信息对应的当前策略动作信息,其中,所述目标驾驶规则策略是基于驾驶员经验获得的车辆驾驶策略;
16.待执行动作信息确定模块,用于基于所述当前学习动作信息和所述当前策略动作信息进行混合决策,确定所述目标车辆的待执行动作信息。
17.第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
18.一个或多个处理器;
19.存储器,用于存储一个或多个程序;
20.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的自动驾驶决策方法。
21.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明任意实施例所提供的自动驾驶决策方法。
22.上述发明中的实施例具有如下优点或有益效果:
23.通过将目标车辆的当前状态信息输入至预设强化学习模型中进行动作决策,根据所述预设强化学习模型的输出,获得当前学习动作信息,预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的,从而通过估计状态转移概率可以实现对状态空间的充分采样,提高预设强化学习模型决策出的当前学习动作信息的准确性,并且通过基于驾驶员经验获得的目标驾驶规则策略确定当前策略动作信息,并基于当前学习动作信息和当前策略动作信息进行混合决策,获得目标车辆的待执行动作信息,从而通过混合决策方式可以提高驾驶决策的鲁棒性,保证自动驾驶决策的准确性。
附图说明
24.图1是本发明实施例提供的一种自动驾驶决策方法的流程图;
25.图2是本发明实施例提供的一种自动驾驶决策方法的流程图;
26.图3是本发明实施例提供的一种自动驾驶决策装置的结构示意图;
27.图4是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
28.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
29.图1为本发明实施例提供的一种自动驾驶决策方法的流程图,本实施例可适用于对自动驾驶的车辆进行动作决策的情况。该方法可以由自动驾驶决策装置来执行,该装置可以由软件和/或硬件的方式来实现,集成于电子设备中,比如自动驾驶车辆中。如图1所示,该方法具体包括以下步骤:
30.s110、获取自动驾驶的目标车辆的当前状态信息。
31.其中,当前状态信息可以包括目标车辆周围的当前环境信息和当前行驶信息。当前环境信息可以包括但不限于目标车辆周围的障碍物信息、障碍物与目标车辆的距离信息、车道线信息以及车道线与目标车辆的距离信息。当前行驶信息可以包括但不限于:目标车辆的当前行驶速度、加速度和转向信息。
32.具体地,可以利用安装在目标车辆上的摄像头和激光雷达等信息采集设备采集获得目标车辆的当前状态信息。本实施例可以基于具体的自动驾驶场景和需求获得自动驾驶所需要的当前状态信息。
33.s120、将当前状态信息输入至预设强化学习模型中进行动作决策,根据预设强化学习模型的输出,获得当前状态信息对应的当前学习动作信息,其中,预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的。
34.其中,预设强化学习模型可以是指通过强化学习,获知在任意一种状态信息下应该采取哪种动作信息可以获得最大回报值的模型。强化学习是一种通过交互的目标导向学习的方式,其目标是通过不断调整回报参数,学习出最优的决策。当前学习动作信息可以是指利用预设强化学习模型学习出的动作决策。状态转移概率可以是指车辆的一种状态信息转移到另一种状态信息的概率。状态空间可以是指车辆可能处于的每个状态信息的集合。
35.具体地,本实施例中的策略搜索方式需要依赖对状态空间的充分采样,从而通过估计状态转移概率对状态空间中的各个状态信息进行采样,可以实现状态空间的充分采样,进而可以保证预设强化学习模型的决策准确性。
36.示例性地,在预设强化学习模型训练结束后,将当前状态信息输入至预设强化学习模型中进行动作决策,预设强化学习模型可以在所有动作信息a中,选择在当前状态信息sm使得价值函数q(sm,a)取最大值的动作信息,作为当前学习动作信息a
ri
进行输出,即
37.s130、基于目标驾驶规则策略确定当前状态信息对应的当前策略动作信息,其中,目标驾驶规则策略是基于驾驶员经验获得的车辆驾驶策略。
38.其中,当前策略动作信息可以是指利用目标驾驶规则策略所获得的动作决策。
39.具体地,可以基于驾驶员的驾驶经验,确定在不同状态信息下选择的最优动作信息,创建状态信息与动作信息之间的对应关系,从而获得目标驾驶规则策略。示例性地,可以基于驾驶员经验创建的状态信息与动作信息之间的对应关系,确定出目标车辆的当前状态信息所对应的动作信息,作为当前策略动作信息。例如,基于目标驾驶规则策略πb获得的当前策略动作信息ab可以表示为:ab=πb(sm)。
40.s140、基于当前学习动作信息和当前策略动作信息进行混合决策,确定目标车辆的待执行动作信息。
41.其中,本实施例中的每个动作信息可以利用向量方式进行表征。当前学习动作信息和当前策略动作信息均对应一个向量信息。
42.具体地,可以将当前学习动作信息和当前策略动作信息进行加权求和,获得的相加结果作为混合决策后的待执行动作信息。通过混合决策方式可以提高驾驶决策的鲁棒性,保证自动驾驶决策的准确性。
43.示例性地,s140可以包括:基于预设强化学习模型中的价值函数,根据当前状态信息和当前学习动作信息,确定第四回报值;基于预设强化学习模型中的价值函数,根据当前状态信息和当前策略动作信息,确定第五回报值;基于当前学习动作信息、当前策略动作信息、第四回报值和第五回报值确定目标车辆的待执行动作信息。
44.具体地,基于预设强化学习模型中的价值函数q,获得在当前状态信息sm下选择当前学习动作信息a
ri
的第四回报值,即q4=q(sm,a
ri
)。同理,基于预设强化学习模型中的价值函数q,获得在当前状态信息sm下选择当前策略动作信息ab的第五回报值,即q5=q(sm,ab)。通过利用第四回报值和第五回报值进行混合决策,可以进一步提高混合决策的准确性和鲁棒性。
45.示例性地,可以通过如下公式,确定目标车辆的待执行动作信息:
[0046][0047]
其中,ah是目标车辆的待执行动作信息;a
ri
是当前学习动作信息;ab是当前策略动作信息;q4是第四回报值;q5是第五回报值;c是预设激活阈值;w是权重值。
[0048]
本实施例的技术方案,通过将目标车辆的当前状态信息输入至预设强化学习模型中进行动作决策,根据预设强化学习模型的输出,获得当前学习动作信息,预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的,从而通过估计状态转移概率可以实现对状态空间的充分采样,提高预设强化学习模型决策出的当前学习动作信息的准确性,并且通过基于驾驶员经验获得的目标驾驶规则策略确定当前策略动作信息,并基于当前学习动作信息和当前策略动作信息进行混合决策,获得目标车辆的待执行动作信息,从而通过混合决策方式可以提高驾驶决策的鲁棒性,保证自动驾驶决策的准确性。
[0049]
在上述技术方案的基础上,预设强化学习模型的训练过程可以包括:通过估计状态转移概率对状态空间中的各个状态信息进行采样,获得当前采样的目标状态信息和当前用于确定状态转移函数的隐变量参数值;将目标状态信息和隐变量参数值输入至待训练的预设强化学习模型中,基于预设迭代次数和隐变量参数值对目标状态信息进行迭代处理,并在每次迭代过程中,利用策略搜索方式调整在目标状态信息下选择每个动作信息对应的回报值;当采样的每个状态信息均迭代预设迭代次数时,待训练的预设强化学习模型训练结束,得到预设强化学习模型。
[0050]
具体地,在已知状态转移概率的情况下,可以利用策略搜索方式对预设强化学习模型进行强化训练。例如,当前时刻t采样的目标状态信息为s
t
,当前用于确定状态转移函数的隐变量参数值为φ(t),即当前时刻t估计的隐变量集合,此时状态转移函数可以为将目标状态信息s
t
和隐变量参数值φ(t)输入至待训练的预设强化学习模型中,预设强化学习模型可以基于预设迭代次数nm,对目标状态信息s
t
进行迭代训练nm次。在每次迭代过程中,可以利用策略搜索方式调整在目标状态信息s
t
下选择每个动作信息a的回报值,从而可以优化预设强化学习模型中的价值函数q。当采样的每个状态信息均迭代nm次时,可以确定达到收敛条件,确定待训练的预设强化学习模型训练结束,获得预设强化学习模型。通过对状态空间的充分采样,可以保证对价值函数估计的准确性,进而保证学习决策效果。
[0051]
示例性地,利用策略搜索方式调整在目标状态信息下选择每个动作信息的回报值,可以包括:若检测到目标状态信息被访问过,则基于价值函数,从各个动作信息中选择回报值最大的第一动作信息,并基于第一动作信息和隐变量参数值拓展目标状态信息的下
一状态信息,并将下一状态信息对应的回报值进行反向传播,更新目标状态信息对应的价值函数的回报值;若检测到目标状态信息未被访问过,则随机选择一个动作信息作为第二动作信息,并基于第二动作信息和隐变量参数值拓展目标状态信息的下一状态信息,通过随机模拟方式确定下一状态信息对应的回报值,并将下一状态信息对应的回报值进行反向传播,更新目标状态信息对应的价值函数的回报值。
[0052]
具体地,在每次迭代过程中,可以首先检测当前访问深度dm是否等于或者大于搜索目标深度h,以确定是否继续进行策略搜索。若当前访问深度小于搜索目标深度,则可以进一步检测目标状态信息是否被访问过。若被访问过,则进行结点选择,即从各个动作信息中选择回报值最大的第一动作信息,并基于该第一动作信息扩展当前结点。示例性地,在选择动作时,可以直接选择使得价值函数q(s
t
,a)取最大值的动作,也可以基于结合价值函数和上置信度区间的方式选取动作,以提高动作选择的准确性。例如,第一动作信息的选择方式可以如下所示:
[0053][0054]
其中,n(s
t
,a)表示在目标状态信息s
t
下访问动作信息a的次数,也就是在目标状态信息s
t
下采用动作信息a的次数,n(s
t
)是指总访问次数,也就是在目标状态信息s
t
下访问每个动作信息a的次数之和,即n(s)=∑an(s
t
,a)>0,c为探索动机常数。通常,预设强化学习模型可以基于q(s
t
,a)采样使得q值尽可能大的动作信息,通过可以在探索动机常数越大时,存在更大的可能性采用其他没有被充分采样的动作信息,从而结合上述两个部分可以选择出更为准确的第一动作信息a1。基于状态转移函数和第一动作信息a1可以进行状态转移,确定出下一状态信息s
′
,即从而完成结点的拓展。在拓展结点后,可以确定下一状态信息对应的回报值,并从后向前更新价格函数的回报值,即q值。反向传播的q值更新过程如下所示:
[0055]q←
r(s
′
,a)+γfq(s
′
,dm+1)
[0056]n′
(s
t
,a1)=n(s
t
,a1)+1
[0057][0058]
其中,r(s
′
,a)+γfq(s
′
,dm+1)表示下一状态信息s
′
对应的回报值,fq(s
′
,d+1)是指下一状态信息获得的轨迹q值,γ为折扣系数;q(s
t
,a1)是更新前的在目标状态信息s
t
下采用第一动作信息a1的原有回报值;q
′
(s
t
,a1)是更新后的在目标状态信息s
t
下采用第一动作信息a1的当前回报值。
[0059]
若检测到目标状态信息s
t
未被访问过,则表明该状态不存在一个q值,此时需要对该状态s
t
建立初始的q价值函数,如下所示:
[0060][0061]
[0062]
其中,表示的是动作空间。当前所有的q价值函数均为初始值,接下来需要利用随机模拟过程对q价值函数进行赋值更新。随机模拟过程可以是在初始访问某一状态信息时,通过随机策略生成动作的方式。例如,车辆从目标状态信息s
t
出发,在由所有动作信息组成的动作空间中随机选择一个动作信息作为第二动作信息a2,并基于状态转移函数和第二动作信息a2进行状态转移,获得下一状态信息s
′
,即持续这个过程直到到达最终状态或者最远采样状态,再通过反向传播获得目标状态信息s
t
对应的价值函数的回报值,即q值。例如,反向传播的q值更新过程如下所示:
[0063]q←
r(s
′
,a)+γf
rq
(s
′
,dm+1)
[0064]n′
(s
t
,a2)=n(s
t
,a2)+1
[0065][0066]
其中,r(s
′
,a)+γf
rq
(s
′
,dm+1)表示下一状态信息s
′
对应的价值函数的回报值,f
rq
(s
′
,dm+1)是指通过随机模拟获得的下一状态信息对应的轨迹q值,γ为折扣系数;q(s
t
,a2)是更新前的在目标状态信息s
t
下采用第二动作信息a2的原有回报值,即当前初始值0;q
′
(s
t
,a2)是更新后的在目标状态信息s
t
下采用第二动作信息a2对应的价值函数的当前回报值。
[0067]
示例性地,通过估计状态转移概率对状态空间中的各个状态信息进行采样,获得当前采样的目标状态信息和当前用于确定状态转移函数的隐变量参数值,可以包括:通过粒子滤波方式,估计预先构建的状态转移模型的模板中的各个参数的参数值;基于状态转移概率分布函数和各个参数值,获得目标状态转移概率分布,并在目标状态转移概率分布中进行状态采样,获得当前采样的目标状态信息和当前用于确定状态转移函数的隐变量参数值。
[0068]
具体地,策略搜索需要对未来状态进行充分采样。当目标车辆需要考虑周围多个车辆或者需要进行多次换道与速度调整以完成驾驶任务时,状态空间的维度较高。例如,车辆在高速行驶时,需要同时考虑自车和周围多台环境车辆,此时状态空间的维度可能达到几十维,此时在强不确定性环境中进行状态空间的充分采样变得十分困难,从而本实施例可以通过对状态转移概率进行估计实现状态空间的充分采样。通过观测数据在线估计未来环境状态转移概率,并通过该概率实现状态空间的采样。本实施例可以构建状态转移模型的模板估计转移概率分布函数,并通过粒子滤波方式估计模板中各个参数的参数值,进而获得目标状态转移概率分布,并在目标状态转移概率分布中采样状态,实现对状态空间的充分采样。
[0069]
其中,状态转移模型的模板可以是指状态转移概率的随机分布参数模板。通过利用环境观测状态,对模板中的各个参数进行估计,从而可以在估计出的目标状态转移概率分布中采样状态,实现对状态空间的充分采样。对于自动驾驶车辆行驶场景而言,这种随机分布的模板可以看作是对环境车辆的驾驶策略的估计。状态转移模型的模板可以根据验证场景进行构建。可以基于具体驾驶环境构建相应的状态转移模型的模板。
[0070]
示例性地,通过粒子滤波方式,估计预先构建的状态转移模型的模板中的各个参数的参数值,可以包括:对每个环境车辆对应的粒子集合中的各个粒子进行初始化,其中,
每个粒子包含一组隐变量参数;基于每个粒子对应的当前时刻状态和状态转移模型,预测每个粒子对应的下一时刻预测状态;基于下一时刻预测状态和真实状态之间的差值,更新每个粒子对应的权重值;对粒子集合进行重新采样,并基于重新采样结果返回执行基于每个粒子对应的当前时刻状态和状态转移模板,预测每个粒子对应的下一时刻预测状态的操作。
[0071]
具体地,基于预先构建的状态转移模型的模板,可以利用粒子滤波方式估计模板中的各个参数的参数值。粒子滤波是一种以贝叶斯推理和重要性采样为基本框架,通过观测估计参数的方式。粒子滤波可以在蒙特卡洛树搜索过程中不断获得后验概率,进而更新迭代粒子空间采样点以提升估计的准确性。本实施例中的粒子滤波过程可以包括以下几个步骤:1)粒子初始化;2)预测阶段;3)矫正阶段;4)重采样;5)重复2-4过程。
[0072]
粒子初始化的过程可以定义如下:每当有一个新的环境元素(如环境车辆))进入观测范围,则开始对该环境元素定义编号为i,并进行独立观测。本实施例可以为每一个环境元素(即每个环境车辆)构建一个粒子集合,其中每一个粒子包含一组隐变量参数。初始时,这些粒子在隐变量空间中均匀分布,构建的初始化粒子集合如下:
[0073][0074]
其中,n
p
是指空间中随机采样的粒子个数,为编号为i的环境车辆的第j个粒子;w
ij
表示编号为i的环境车辆的第j个粒子的置信度,w
ij
在初始化时设置为并根据后续的校验与重采样结果进行更新。
[0075]
在预测阶段,当前时刻tk的状态可以根据每个粒子对应的状态转移模型向下一时刻t
k+1
的状态进行转移,可以表示如下:
[0076][0077]
其中,为基于粒子预测的环境车辆i的下一刻t
k+1
的状态。表示以粒子为参数的状态转移函数。
[0078]
通过n
p
个粒子(即隐变量)构成的集合可以获得下一时刻的预测状态的集合,即在获得下一时刻环境车辆i的运动状态后,可以基于真实状态与预测状态之间的差值,更新每个粒子对应的权重值w
ij
。利用φi表示对环境车辆i的隐变量参数估计,从所有环境车辆对应的粒子集合中取一个隐变量参数可构成一个隐变量参数集合φk。由于每个环境车辆的状态转移概率是独立的,从而φk的权重wk可以是其包含的所有粒子的置信度的乘积,即可以表示如下:
[0079][0080]
wk=πi(w
ij
)
[0081]
最后,根据粒子的空间分布情况和粒子的权重进行重新采样,获得新的粒子集合,并基于新的粒子集合重复执行上述的预测、矫正和重采样过程。随着观测时间的不断累积,
观测量逐渐逼近真实值,在线求解估计的隐变量参数结果也更加准确。
[0082]
在上述技术方案的基础上,预设强化学习模型中的价值函数可以是基于当前用于确定状态转移函数的隐变量参数值和相应的隐变量权重值进行构建获得的。
[0083]
具体地,可以通过基于隐变量参数值和相应的隐变量权重值确定价值函数,以提高直接利用粒子滤波对状态转移概率估计的准确性,进而提高决策的准确性。例如,利用隐变量参数值φj所求得的价值函数定义为:qj(s
t
,a),根据上述的和wk=πi(w
ij
),隐变量权重值为wj,且所有隐变量的权重和为1。由于该权重值是根据估计值与真实值之间的差值计算的,差值越小权重越大,从而权重值的大小可以表示真实的隐变量状态在不同粒子处的取值概率,进而利用部分可检测的搜索求解策略。例如,目标状态信息对应的价值函数q
π
(s
t
,a)可以由多个以不同隐变量参数值为状态转移概率估计的值函数qj(s
t
,a)构建获得,其可以表示如下:
[0084][0085]
通过上述方式可以构建出考虑隐变量估计不确定性的蒙特卡洛树搜索策略方式,最终获得的增强学习策略π
ri
(sm)可以如下表示:
[0086][0087]
通过基于隐变量参数值和相应的隐变量权重值确定的价值函数,可以进一步提高自学习决策的准确性。
[0088]
图2为本发明实施例提供的一种自动驾驶决策方法的流程图,本实施例在上述各实施例的基础上,预设强化学习模型中的策略搜索方式进行了进一步优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。
[0089]
参见图2,本实施例提供的自动驾驶决策方法具体包括以下步骤:
[0090]
s210、获取自动驾驶的目标车辆的当前状态信息。
[0091]
s220、将当前状态信息输入至预设强化学习模型中进行动作决策,根据预设强化学习模型的输出,获得当前状态信息对应的当前学习动作信息,其中,预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用目标驾驶规则策略诱导的增强学习策略搜索方式对采样的每个状态信息进行训练获得的。
[0092]
其中,目标驾驶规则策略诱导的增强学习策略搜索方式可以是指通过调整策略搜索方向和随机推演过程,以便优先对规则策略进行采样,并在规则策略不足的情况下进行策略搜索,从而使得预设强化学习模型可以准确地估计目标驾驶规则策略的价值函数,并基于目标驾驶规则策略进行高效的策略搜索。
[0093]
示例性地,预设强化学习模型的训练过程可以包括以下步骤s221-s223:
[0094]
s221、通过估计状态转移概率对状态空间中的各个状态信息进行采样,获得当前采样的目标状态信息和当前用于确定状态转移函数的隐变量参数值。
[0095]
具体地,状态转移概率的估计和采样可以参见上述实施例的相关描述,此处不再
赘述。
[0096]
s222、将目标状态信息和隐变量参数值输入至待训练的预设强化学习模型中,基于预设迭代次数和隐变量参数值对目标状态信息进行迭代处理,并在每次迭代过程中,基于目标驾驶规则策略诱导的增强学习策略搜索方式调整在目标状态信息下选择每个动作信息的回报值。
[0097]
具体地,在已知状态转移概率的情况下,可以利用目标驾驶规则策略诱导的增强学习策略搜索方式对预设强化学习模型进行强化训练。例如,当前时刻t采样的目标状态信息为s
t
,当前用于确定状态转移函数的隐变量参数值为φ(t),即当前时刻t估计的隐变量集合,此时状态转移函数可以为将目标状态信息s
t
和隐变量参数值φ(t)输入至待训练的预设强化学习模型中,预设强化学习模型可以基于预设迭代次数nm,对目标状态信息s
t
进行迭代训练nm次。在每次迭代过程中,可以利用目标驾驶规则策略诱导的增强学习策略搜索方式调整在目标状态信息s
t
下选择每个动作信息a的回报值,从而使得预设强化学习模型可以准确地估计目标驾驶规则策略的价值函数,并基于目标驾驶规则策略进行高效的策略搜索。
[0098]
示例性地,基于目标驾驶规则策略诱导的增强学习策略搜索方式调整在目标状态信息下选择每个动作信息的回报值,可以包括:若检测到目标状态信息被访问过,则基于目标驾驶规则策略和价值函数,从各个动作信息中选择回报值最大的第一动作信息,并基于第一动作信息和隐变量参数值拓展目标状态信息的下一状态信息,并将下一状态信息对应的回报值进行反向传播,更新目标状态信息对应的价值函数的回报值;若检测到目标状态信息未被访问过,则基于目标驾驶规则策略,确定在目标状态信息下所选择的策略动作信息,并将策略动作信息确定为选择的第二动作信息,基于第二动作信息和隐变量参数值拓展目标状态信息的下一状态信息,通过随机模拟方式确定下一状态信息对应的回报值,并将下一状态信息对应的回报值进行反向传播,更新目标状态信息对应的价值函数的回报值。
[0099]
具体地,在每次迭代过程中,可以首先检测当前访问深度dm是否等于或者大于搜索目标深度h,以确定是否继续进行策略搜索。若当前访问深度小于搜索目标深度,则可以进一步检测目标状态信息是否被访问过。若被访问过,则进行结点选择,即基于目标驾驶规则策略和价值函数,从各个动作信息中选择回报值最大的第一动作信息,从而基于目标驾驶规则策略来选择第一动作信息,以调整搜索方向,并基于该第一动作信息扩展当前结点。
[0100]
示例性地,基于目标驾驶规则策略和价值函数,从各个动作信息中选择回报值最大的第一动作信息,可以包括:基于价值函数确定在目标状态信息下选择每个动作信息的第一回报值;基于在目标状态信息下访问每个动作的次数和总访问次数,确定在目标状态信息下选择每个动作信息的第二回报值;基于目标驾驶规则策略,确定在目标状态信息下选择每个动作信息的第三回报值;基于第一回报值、第二回报值和第三回报值,确定每个动作信息对应的总回报值,并将总回报值最大的动作信息确定为第一动作信息。
[0101]
具体地,基于价值函数获得的在目标状态信息s
t
下选择每个动作信息的第一回报值为:q1(s
t
,a)=q(s
t
,a)。可以基于如下公式,获得在目标状态信息s
t
下选择每个动作信息的第二回报值:
[0102][0103]
其中,q2(s
t
,a)是在目标状态信息s
t
下选择动作信息a的第二回报值;n(s
t
,a)是在目标状态信息s下访问动作信息a的次数;n(s)是目标状态信息s
t
对应的总访问次数,即n(s)=∑an(s
t
,a)>0;c是探索动机常数。
[0104]
示例性地,基于目标驾驶规则策略,确定在目标状态信息下选择每个动作信息的第三回报值,可以包括:基于目标驾驶规则策略πb,确定在目标状态信息s
t
下所选择的策略动作信息πb(s
t
);在目标状态信息下选择的当前动作信息a为策略动作信息πb(s
t
)时,确定当前动作信息对应的第三回报值为预设激活阈值c
thres
;在目标状态信息s
t
下选择的当前动作信息a不是策略动作信息πb(s
t
)时,确定当前动作信息对应的第三回报值为零。例如,可以基于如下公式,确定第三回报值:
[0105][0106]
在获得第一回报值q1(s
t
,a)、第二回报值q2(s
t
,a)和第三回报值q3(s
t
,a)后,可以将三个回报值进行相加,获得每个动作信息对应的总回报值,并将总回报值最大的动作信息确定为第一动作信息a1,即通过目标驾驶规则策略诱导,搜索可以优先选择探索目标驾驶规则策略的动作信息,预设强化学习模型仅在q1(s
t
,a)超过q2(s
t
,a)与q3(s
t
,a)的和时,才可以调整目标驾驶规则策略,从而这种搜索方式可以避免大量无意义的探索,提高了搜索效率。其中,预设激活阈值可以看作为目标驾驶规则策略的诱导奖励,也就是在使用基于目标驾驶规则策略确定的策略动作信息时,预设强化学习模型会有一定奖励回报,并且当目标驾驶规则策略表现不佳时,仍可以探索其他动作。而且,通过上述动作选择方式最终获得的价值函数q值也不会受到诱导奖励的影响。在确定出第一动作信息a1后,可以按照上述实施例描述的方式进行反向传播,更新目标状态信息对应的价值函数的回报值,即q值,此处不再赘述。
[0107]
若检测到目标状态信息s
t
未被访问过,则表明该状态不存在一个q值,此时需要对该状态s
t
建立初始的q价值函数,如下所示:
[0108][0109][0110]
其中,表示的是动作空间。当前所有的q价值函数均为初始值,接下来需要利用随机模拟过程对q价值函数进行赋值更新。本实施例中的随机模拟过程可以利用目标驾驶规则策略进行价值函数初始值的估计。例如,基于目标驾驶规则策略πb,确定在目标状态信息s
t
下所选择的策略动作信息πb(s
t
),并将策略动作信息πb(s
t
)确定为选择的第二动作信息a2,即a2=πb(s
t
),从而价值函数q值的初始值可以通过目标驾驶规则策略估计的未来回报进行初始化。这种方式可以对搜索探索提供初始值和初始方向,避免了由于初始化的随机性而导致的学习动作与最优动作偏差较大的情况,并且基于探索动机的存在,仍然可以找到优于规则策略的动作。在确定出第二动作信息a2后,可以按照上述实施例描述的方式进
行反向传播,更新目标状态信息对应的价值函数的回报值,即q值,此处不再赘述。
[0111]
s223、当采样的每个状态信息均迭代预设迭代次数时,待训练的预设强化学习模型训练结束,得到预设强化学习模型。
[0112]
具体地,当采样的每个状态信息均迭代nm次时,可以确定达到收敛条件,预设强化学习模型的训练结束。通过对状态空间的充分采样,可以保证对价值函数估计的准确性,进而保证学习决策效果。
[0113]
s230、基于目标驾驶规则策略确定当前状态信息对应的当前策略动作信息,其中,目标驾驶规则策略是基于驾驶员经验获得的车辆驾驶策略。
[0114]
s240、基于当前学习动作信息和当前策略动作信息进行混合决策,确定目标车辆的待执行动作信息。
[0115]
本实施例的技术方案,通过利用目标驾驶规则策略诱导的增强学习策略搜索方式,可以优先对规则策略进行采样,并在规则策略不足的情况下进行策略搜索,从而使得预设强化学习模型可以准确地估计目标驾驶规则策略的价值函数,并基于目标驾驶规则策略进行高效的策略搜索。
[0116]
以下是本发明实施例提供的自动驾驶决策装置的实施例,该装置与上述各实施例的自动驾驶决策方法属于同一个发明构思,在自动驾驶决策装置的实施例中未详尽描述的细节内容,可以参考上述自动驾驶决策方法的实施例。
[0117]
图3为本发明实施例提供的一种自动驾驶决策装置的结构示意图,本实施例可适用于对自动驾驶的车辆进行动作决策的情况,该装置具体包括:当前状态信息获取模块310、当前学习动作信息确定模块320、当前策略动作信息确定模块330和待执行动作信息确定模块340。
[0118]
其中,当前状态信息获取模块310,用于获取自动驾驶的目标车辆的当前状态信息;当前学习动作信息确定模块320,用于将当前状态信息输入至预设强化学习模型中进行动作决策,根据预设强化学习模型的输出,获得当前状态信息对应的当前学习动作信息,其中,预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的;当前策略动作信息确定模块330,用于基于目标驾驶规则策略确定当前状态信息对应的当前策略动作信息,其中,目标驾驶规则策略是基于驾驶员经验获得的车辆驾驶策略;待执行动作信息确定模块340,用于基于当前学习动作信息和当前策略动作信息进行混合决策,确定目标车辆的待执行动作信息。
[0119]
示例性地,该装置还包括:预设强化学习模型训练模块,包括:
[0120]
采样单元,用于通过估计状态转移概率对状态空间中的各个状态信息进行采样,获得当前采样的目标状态信息和当前用于确定状态转移函数的隐变量参数值;
[0121]
训练单元,用于将目标状态信息和隐变量参数值输入至待训练的预设强化学习模型中,基于预设迭代次数和隐变量参数值对目标状态信息进行迭代处理,并在每次迭代过程中,利用策略搜索方式调整在目标状态信息下选择每个动作信息对应的回报值;
[0122]
训练结束单元,用于当采样的每个状态信息均迭代预设迭代次数时,待训练的预设强化学习模型训练结束,得到预设强化学习模型。
[0123]
可选地,训练单元,还用于:基于目标驾驶规则策略诱导的增强学习策略搜索方式
调整在目标状态信息下选择每个动作信息的回报值。
[0124]
可选地,训练单元,还具体用于:
[0125]
若检测到目标状态信息被访问过,则基于目标驾驶规则策略和价值函数,从各个动作信息中选择回报值最大的第一动作信息,并基于第一动作信息和隐变量参数值拓展目标状态信息的下一状态信息,并将下一状态信息对应的回报值进行反向传播,更新目标状态信息对应的价值函数的回报值;
[0126]
若检测到目标状态信息未被访问过,则基于目标驾驶规则策略,确定在目标状态信息下所选择的策略动作信息,并将策略动作信息确定为选择的第二动作信息,基于第二动作信息和隐变量参数值拓展目标状态信息的下一状态信息,通过随机模拟方式确定下一状态信息对应的回报值,并将下一状态信息对应的回报值进行反向传播,更新目标状态信息对应的价值函数的回报值。
[0127]
可选地,基于目标驾驶规则策略和价值函数,从各个动作信息中选择回报值最大的第一动作信息,包括:
[0128]
基于价值函数确定在目标状态信息下选择每个动作信息的第一回报值;基于在目标状态信息下访问每个动作的次数和总访问次数,确定在目标状态信息下选择每个动作信息的第二回报值;基于目标驾驶规则策略,确定在目标状态信息下选择每个动作信息的第三回报值;基于第一回报值、第二回报值和第三回报值,确定每个动作信息对应的总回报值,并将总回报值最大的动作信息确定为第一动作信息。
[0129]
可选地,基于目标驾驶规则策略,确定在目标状态信息下选择每个动作信息的第三回报值,包括:
[0130]
基于目标驾驶规则策略,确定在目标状态信息下所选择的策略动作信息;
[0131]
在目标状态信息下选择的当前动作信息为策略动作信息时,确定当前动作信息对应的第三回报值为预设激活阈值;
[0132]
在目标状态信息下选择的当前动作信息不是策略动作信息时,确定当前动作信息对应的第三回报值为零。
[0133]
可选地,采样单元,具体用于:通过粒子滤波方式,估计预先构建的状态转移模型的模板中的各个参数的参数值;基于状态转移概率分布函数和各个参数值,获得目标状态转移概率分布,并在目标状态转移概率分布中进行状态采样,获得当前采样的目标状态信息和当前用于确定状态转移函数的隐变量参数值。
[0134]
可选地,预设强化学习模型中的价值函数是基于当前用于确定状态转移函数的隐变量参数值和相应的隐变量权重值进行构建获得的。
[0135]
可选地,待执行动作信息确定模块340,具体用于:
[0136]
基于预设强化学习模型中的价值函数,根据当前状态信息和当前学习动作信息,确定第四回报值;基于预设强化学习模型中的价值函数,根据当前状态信息和当前策略动作信息,确定第五回报值;基于当前学习动作信息、当前策略动作信息、第四回报值和第五回报值确定目标车辆的待执行动作信息。
[0137]
可选地,通过如下公式,确定目标车辆的待执行动作信息:
[0138]
[0139]
其中,ah是目标车辆的待执行动作信息;a
ri
是当前学习动作信息;ab是当前策略动作信息;q4是第四回报值;q5是第五回报值;c是预设激活阈值;w是权重值。
[0140]
本发明实施例所提供的自动驾驶决策装置可执行本发明任意实施例所提供的自动驾驶决策方法,具备执行自动驾驶决策方法相应的功能模块和有益效果。
[0141]
值得注意的是,上述自动驾驶决策装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
[0142]
图4为本发明实施例提供的一种电子设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图4显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0143]
如图4所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0144]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0145]
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0146]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0147]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0148]
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设
备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0149]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发实施例所提供的一种自动驾驶决策方法步骤,该方法包括:
[0150]
获取自动驾驶的目标车辆的当前状态信息;
[0151]
将当前状态信息输入至预设强化学习模型中进行动作决策,根据预设强化学习模型的输出,获得当前状态信息对应的当前学习动作信息,其中,预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的;
[0152]
基于目标驾驶规则策略确定当前状态信息对应的当前策略动作信息,其中,目标驾驶规则策略是基于驾驶员经验获得的车辆驾驶策略;
[0153]
基于当前学习动作信息和当前策略动作信息进行混合决策,确定目标车辆的待执行动作信息。
[0154]
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的自动驾驶决策方法的技术方案。
[0155]
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的自动驾驶决策方法步骤,该方法包括:
[0156]
获取自动驾驶的目标车辆的当前状态信息;
[0157]
将当前状态信息输入至预设强化学习模型中进行动作决策,根据预设强化学习模型的输出,获得当前状态信息对应的当前学习动作信息,其中,预设强化学习模型是通过估计状态转移概率对状态空间中的各个状态信息进行采样,并利用策略搜索方式对采样的每个状态信息进行训练获得的;
[0158]
基于目标驾驶规则策略确定当前状态信息对应的当前策略动作信息,其中,目标驾驶规则策略是基于驾驶员经验获得的车辆驾驶策略;
[0159]
基于当前学习动作信息和当前策略动作信息进行混合决策,确定目标车辆的待执行动作信息。
[0160]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0161]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于
由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0162]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0163]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0164]
本领域普通技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个计算装置上,或者分布在多个计算装置所组成的网络上,可选地,他们可以用计算机装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件的结合。
[0165]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。