基于自动推理机制的接管巡航方法及系统与流程

文档序号:16858926发布日期:2019-02-12 23:50阅读:301来源:国知局
基于自动推理机制的接管巡航方法及系统与流程

本发明涉及自动驾驶技术领域,特别是涉及基于自动推理机制的接管巡航方法及系统。



背景技术:

目前来说,自动驾驶包含有三个问题:第一个是我在哪里?第二个是我要去哪里?第三个是怎么去?真正的自动驾驶需要完美的解决这三个问题。第一个与第二个问题指的是定位以及路径规划问题,在现实中,驾驶的路况通常会非常的复杂,所以我们需要厘米级的定位以及合理的路线选择。第三个问题指的是车辆在面对当前环境时所执行的行为策略,即为自动驾驶策略问题,主要执行的操作包括线控制动、转向以及油门,即根据自动驾驶策略来操控车辆。本发明专利所要解决的即为第三个问题。

在目前的无人驾驶领域中,常用的决策模型为pomdp(partiallyobservablemarkovdecisionprocess,部分可观察马尔可夫决策过程)。pomdp将驾驶过程看作是一个决策过程,将驾驶过程中可能出现的情况视为一个状态,即驾驶环境状态。在驾驶过程中,我们假设驾驶环境状态是无法完全获取的,即状态是部分可观察的。在每个状态下,我们需要对其后可能出现的状态进行奖赏设定,并通过特定的动作选择策略来选择一个动作,再使用值更新或策略更新等强化学习方法来寻找一个能够获取最大累积奖赏的驾驶策略。然而在实际情况中,针对复杂的驾驶环境设计一个具体的奖赏函数是非常困难的,这就导致我们很难使用强化学习方法来学习自动驾驶策略。

模仿学习方法是一种不需要奖赏函数的学习方法,并且相对于奖赏函数来说,模仿学习所需要的专家示范更加容易获得,于是就有人提出了使用模仿学习方法从专家的示范中去学习自动驾驶策略,而生成对抗模仿学习就是其中一种最具代表性的方法。生成对抗模仿学习描述的是一个判别器与一个生成器之间互相博弈改进的过程,生成器的目的是尽可能地生成与给定专家样本相似的生成样本,使得判别器无法正确的区分生成样本与专家样本,而判别器则是想要尽可能地区分生成样本与专家样本,并且根据判别结果,生成器与判别器会采取不同的方法进行参数更新。经过不断地博弈改进,二者最终达到纳什均衡,此时生成器所产生的样本能够以假乱真,判别器无法对样本进行正确的区分。二者博弈过程如下:

其中d为判别器,πe为用于生成专家样本的专家策略,πθ为生成器即目标策略。本发明专利适用于部分可观察的自动驾驶环境,而在部分可观察的环境中,驾驶环境状态s无法完全获取的。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种基于自动推理机制的接管巡航方法及系统,解决了驾驶风格单一,手动驾驶模式到自动驾驶模式的切换比较生硬的问题,提升了用户体验。该方法具有驾驶风格丰富,可靠性高,驾驶模式切换流畅等优点,在自动驾驶领域具有广泛的应用场景。

一种基于自动推理机制的接管巡航方法,包括:

输入专家驾驶示范轨迹{τi}i,然后从中随机抽取轨迹τj,使用编码器对其进行编码,得到该轨迹对应的隐变量其中,编码器使用了一个双向lstm;

将隐变量zj输入到解码器即自动驾驶策略πθ(·|zj)中,输出轨迹即策略生成驾驶轨迹;

将专家驾驶示范轨迹与策略生成驾驶轨迹输入到判别器d中,判别器为一个二分类的神经网络,由1个输入层,2个隐藏层,1个输出层构成,其中输入为来自专家或生成策略的轨迹,即观察动作对(oj,aj);自动驾驶策略πθ将判别器d的输出作为近似奖赏,即并使用acktr方法更新策略网络参数,其中为轨迹τj中的一个观察动作对;

根据判别结果使用策略梯度方法更新判别器参数ψi,梯度为:

重复上述步骤直至判别器无法区分专家驾驶轨迹与策略生成轨迹,此时驾驶策略生成器能够成功的模仿专家驾驶策略;

当用户开始使用本自动接管巡航系统时,如果一开始就选用自动驾驶模式,那么驾驶策略生成模型会使用默认的隐变量作为输入,生成一个默认风格的自动驾驶策略;

如果用户选择手动驾驶一段,然后在切换到自动驾驶模式,那么系统会从用户的手动驾驶轨迹中推断其驾驶风格,即并将其作为隐变量输入到策略生成模型πθ中,从而得到一个具有用户驾驶风格的自动驾驶策略;

从手动驾驶模式切换到自动驾驶模式时,其初始动作为a~πθ(·|o,z′),其中,z′为自动推理模型推理得到的驾驶风格;o为处于手动驾驶模式时最后采取的驾驶行为所导致的观察。

在另外的一个实施例中,所述双向lstm有1个输入层,2个隐藏层和1个输出层;输出的隐变量即为第二个隐藏层的所有输出值的平均值。

在另外的一个实施例中,“将隐变量zj输入到解码器即自动驾驶策略πθ(·|zj)中,输出轨迹即策略生成驾驶轨迹;”中,解码器为一个多层感知器(mlp),它由1个输入层,2个隐藏层,1个输出层构成;输出的轨迹由观察动作对(oj,aj)构成。

在另外的一个实施例中,“将专家驾驶示范轨迹与策略生成驾驶轨迹输入到判别器d中,判别器为一个二分类的神经网络,由1个输入层,2个隐藏层,1个输出层构成,其中输入为来自专家或生成策略的轨迹,即观察动作对(oj,aj);自动驾驶策略πθ将判别器d的输出作为近似奖赏,即并使用acktr方法更新策略网络参数,其中为轨迹τj中的一个观察动作对;”中,更新目标为最大化策略的累积奖赏,即最大化判别器将策略生成轨迹判别为专家驾驶示范轨迹的概率使之尽可能的产生与专家示范轨迹相似的驾驶轨迹。

在另外的一个实施例中,“根据判别结果使用策略梯度方法更新判别器参数ψi,梯度为:

中,其中,使用wasserstein距离作为衡量专家驾驶轨迹与策略生成轨迹之间差异的标准,并将dψ定义为一个1-lipschitz函数,更新方式为ψ=ψ+α·rmsprop(ψ,gψ),其中,α为学习率,在本模型中,所有网络的学习率均设置为4×10-3

在另外的一个实施例中,“根据判别结果使用策略梯度方法更新判别器参数ψi,梯度为:

中,当梯度超出一个阈值时,需要对其进行梯度裁剪,将过大的梯度投影到一个较小的尺度上,使其不会超过阈值,即θ即为阈值。

一种基于自动推理机制的接管巡航系统,包括:

驾驶环境观察模块,用于接收车辆感知模块所获取的实时驾驶环境,并由感知模块进行过滤以及预处理,输出变分自动编码器模块与判别器模块所需要的环境观察;

离线专家驾驶轨迹数据模块,用于多模态的自动驾驶策略的训练,包含有来自于多个不同专家的驾驶轨迹数据;

判别器模块,用于变分自动编码器的训练;判别器的目的是尽可能区分生成器所产生的生成样本与专家策略所产生的专家样本;对于输入的每一个样本,判别器都会返回一个将其判别为真的概率,将这种反馈信息近似为给予样本的奖赏,所以判别器需要尽可能的给予专家样本较大的奖赏,并反馈给生成样本一个较小的奖赏;而生成器的目的是尽可能的产生能够以假乱真地生成样本,使得判别器无法将其与专家样本区分开来,即尽可能的最大化判别器给予生成样本的奖赏,并根据该奖赏使用强化学习方法(acktr)更新其网络参数;在经过不断地迭代博弈之后,判别器与生成器最终会达到纳什均衡,表现为判别器将每一个生成样本或是专家样本判别为真的概率都为1/2,即无法再区分生成样本与专家样本;所述生成器为变分自动编码器;

变分自动编码器模块,用于驾驶风格自动推理与驾驶策略生成,由一个编码器与一个解码器组成;编码器的作用是对驾驶轨迹进行编码,从而得到一个关于驾驶风格的隐变量;解码器的作用是根据输入的隐变量生成相应的驾驶策略,解码器可以进一步的细分为观察解码器与动作解码器,其输入均为隐变量z以及前一时刻的观察o;

其中,所述判别器模块的输入是生成驾驶轨迹的一个观察动作对(o,a)和专家驾驶轨迹的一个观察动作对(oe,ae)以及隐变量z,然后一起输入到判别器中对其进行判别;所述判别器会使用wasserstein距离作为衡量二者差异性的标准,并给予每个样本一个反馈信息作为其奖赏;

所述变分自动编码器模块的输入是专家驾驶轨迹τe或者用户自身手动驾驶轨迹τ;编码器首先将输入的轨迹进行编码输出得到代表该轨迹风格的隐变量z,并将该隐变量作为解码器即策略生成网络πθ的输入,最终输出一个具有特定驾驶风格的自动驾驶策略πθ(·|z);

专家驾驶轨迹τe是从离线专家驾驶轨迹集中随机抽样得到的,用户自身手动驾驶轨迹τ为切换到自动驾驶模式前的用户手动驾驶轨迹,该自动巡航接管系统能够从中提取出用户的手动驾驶风格,并将其应用到自动驾驶模式中。

上述基于自动推理机制的接管巡航方法及系统,能够根据给定的离线专家样本进行模仿学习,从中学习到专家的驾驶策略,而不需要根据大量的环境交互进行训练,去除了对于试错学习的依赖,大大降低了学习成本;能够从具有多样性的专家驾驶轨迹中进行模仿学习,并进而获得一个具有多模态的驾驶策略生成器,能够根据不同的隐变量输入产生具有不同风格的驾驶策略,极具多样性;能够实现从手动驾驶模式到自动驾驶模式的平滑切换,使得自动驾驶模式具有与手动驾驶模式相同的驾驶风格,包括但不限于激进的,消极的,快速的,节能的等;不仅仅能够从给定专家示范轨迹中模仿学习,还能够从用户个人驾驶轨迹中进行学习,从而能够不断的调整改进驾驶策略,增强了系统的灵活性与可靠性;对于判别器参数、策略网即解码器参数、自动推理模型即编码器参数分别采用了不同的梯度更新方法,具有极高的计算效率与样本效率。综上所述,此发明具有非常大的使用价值和实际意义。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。

一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。

附图说明

图1为本发明基于自动推理机制的接管巡航系统的实施例框架图。

图2为本发明基于自动推理机制的接管巡航系统的驾驶模式切换流程图。

图3为本发明基于自动推理机制的接管巡航系统模型训练结构图。

图4为本发明基于自动推理机制的接管巡航系统自动推理模块即编码器结构图。

图5为本发明基于自动推理机制的接管巡航系统策略生成模块即解码器结构图。

图6为本发明基于自动推理机制的接管巡航系统判别器模块结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

s1、输入专家驾驶示范轨迹{τi}i,然后从中随机抽取轨迹τj,使用编码器对其进行编码,得到该轨迹对应的隐变量其中,编码器使用了一个双向lstm(longshort-termmemory,长短时记忆),它有1个输入层,2个隐藏层和1个输出层,其网络结构如图4所示。输出的隐变量即为第二个隐藏层的所有输出值的平均值。

s2、将隐变量zj输入到解码器即自动驾驶策略πθ(·|zj)中,输出轨迹即策略生成驾驶轨迹。其中,解码器为一个多层感知器(mlp),它由1个输入层,2个隐藏层,1个输出层构成,其网络结构如图5所示,输出的轨迹由观察动作对(oj,aj)构成。

s3、将专家驾驶示范轨迹与策略生成驾驶轨迹输入到判别器d中,判别器为一个二分类的神经网络,由1个输入层,2个隐藏层,1个输出层构成,如图6所示,其中输入为来自专家或生成策略的轨迹,即观察动作对(oj,aj)。自动驾驶策略πθ将判别器d的输出作为近似奖赏,即并使用acktr方法更新策略网络参数,其中为轨迹τj中的一个观察动作对。更新目标为最大化策略的累积奖赏,即最大化判别器将策略生成轨迹判别为专家驾驶示范轨迹的概率使之尽可能的产生与专家示范轨迹相似的驾驶轨迹。

s4、根据判别结果使用策略梯度方法更新判别器参数ψi,梯度为:

其中,我们使用wasserstein距离作为衡量专家驾驶轨迹与策略生成轨迹之间差异的标准,并将dψ定义为一个1-lipschitz函数,更新方式为ψ=ψ+α·rmsprop(ψ,gψ),其中,α为学习率,在本模型中,所有网络的学习率均设置为4×10-3。同时,为了防止梯度爆炸,当梯度超出一个阈值时,我们需要对其进行梯度裁剪,将过大的梯度投影到一个较小的尺度上,使其不会超过阈值,即θ即为阈值。

s5、重复上述步骤直至判别器无法区分专家驾驶轨迹与策略生成轨迹,此时驾驶策略生成器能够成功的模仿专家驾驶策略。

s6、当用户开始使用本自动接管巡航系统时,如果一开始就选用自动驾驶模式,那么驾驶策略生成模型会使用默认的隐变量作为输入,生成一个默认风格的自动驾驶策略。

s7、如果用户选择手动驾驶一段,然后在切换到自动驾驶模式,那么系统会从用户的手动驾驶轨迹中推断其驾驶风格,即并将其作为隐变量输入到策略生成模型πθ中,从而得到一个具有用户驾驶风格的自动驾驶策略,实现从自动驾驶模式到手动驾驶模式的平缓转换。

s8、从手动驾驶模式切换到自动驾驶模式时,其初始动作为a~πθ(·|o,z′),其中,z′为自动推理模型推理得到的驾驶风格。o为处于手动驾驶模式时最后采取的驾驶行为所导致的观察。

下面是本实施例的具体结构,包括:驾驶环境观察、离线专家驾驶轨迹数据、判别器模块、变分自动编码器模块。

驾驶环境观察,用于接收车辆感知模块所获取的实时驾驶环境,并由感知模块进行过滤以及预处理,输出变分自动编码器模块与判别器模块所需要的环境观察。

离线专家驾驶轨迹数据,用于多模态的自动驾驶策略的训练,包含有来自于多个不同专家的驾驶轨迹数据,由于各个专家的个人习惯与其主观意识的不同,使得离线专家驾驶轨迹数据具有着多样性,而本发明专利能够从这些具有多样性的驾驶数据中学习到多模态的驾驶策略,即学习到的驾驶策略能够具有多种不同的风格。

判别器模块,主要用于变分自动编码器的训练。在生成对抗模仿学习中,判别器与生成器之间是一种零和博弈关系。判别器的目的是尽可能区分生成器所产生的生成样本与专家策略所产生的专家样本。对于输入的每一个样本,判别器都会返回一个将其判别为真的概率,我们将这种反馈信息近似为给予样本的奖赏,所以判别器需要尽可能的给予专家样本较大的奖赏,并反馈给生成样本一个较小的奖赏。而生成器的目的是尽可能的产生能够以假乱真地生成样本,使得判别器无法将其与专家样本区分开来,即尽可能的最大化判别器给予生成样本的奖赏,并根据该奖赏使用强化学习方法(acktr)更新其网络参数。在经过不断地迭代博弈之后,判别器与生成器最终会达到纳什均衡,表现为判别器将每一个生成样本或是专家样本判别为真的概率都为1/2,即无法再区分生成样本与专家样本。在本发明专利中,生成器为变分自动编码器。

变分自动编码器模块,主要用于驾驶风格自动推理与驾驶策略生成,由一个编码器与一个解码器组成。编码器的主要作用是对驾驶轨迹进行编码,从而得到一个关于驾驶风格的隐变量。解码器的主要作用是根据输入的隐变量生成相应的驾驶策略,解码器可以进一步的细分为观察解码器与动作解码器,其输入均为隐变量z以及前一时刻的观察o。

所述判别器模块的输入是生成驾驶轨迹的一个观察动作对(o,a)和专家驾驶轨迹的一个观察动作对(oe,ae)以及隐变量z,然后一起输入到判别器中对其进行判别。所述判别器会使用wasserstein距离作为衡量二者差异性的标准,并给予每个样本一个反馈信息作为其奖赏。

所述变分自动编码器模块的输入是专家驾驶轨迹τe或者用户自身手动驾驶轨迹τ。编码器首先将输入的轨迹进行编码输出得到代表该轨迹风格的隐变量z,并将该隐变量作为解码器即策略生成网络πθ的输入,最终输出一个具有特定驾驶风格的自动驾驶策略πθ(·|z)。

其中,专家驾驶轨迹τe是从离线专家驾驶轨迹集中随机抽样得到的,用户自身手动驾驶轨迹τ为切换到自动驾驶模式前的用户手动驾驶轨迹,该自动巡航接管系统能够从中提取出用户的手动驾驶风格,并将其应用到自动驾驶模式中。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1