一种基于时空联合递归神经网络的智能车端到端决策方法与流程

文档序号:17471367发布日期:2019-04-20 05:50阅读:387来源:国知局
一种基于时空联合递归神经网络的智能车端到端决策方法与流程

本发明涉及无人驾驶汽车决策领域,特别涉及一种基于时空联合递归神经网络的智能车端到端决策方法。



背景技术:

智能车决策模块根据系统的输入量计算决策值,保证智能车辆安全稳定地行驶,传统的智能车决策方法利用车辆感知模块计算的车道线信息、车辆信息计算决策值,其决策好坏很大程度上依赖于输入信息,而将智能车决策过程分解为车道线检测、车辆检测、根据检测的可行驶区域做决策等部分并不能保证整个系统获得最优解,已有的端到端决策算法只考虑了当前时刻的场景图像对最终决策值的影响,忽视了场景中物体的动态信息,也即时间上下文特征,智能车决策的目的一方面是行驶到目的地,另一方面要避免与场景中的障碍物发生碰撞,其决策过程必然受到场景中空间位置关系的约束,另外智能车决策过程在时间维度上连续,这使得车辆会以一定的运动趋势行驶,也就是说智能车在行驶过程中还会受到场景时间上下文的约束,在这个背景下提出时空联合递归神经网络的智能车端到端决策方法,不仅可以简化系统结构,还能做到更好地预测方向盘转角值。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种基于时空联合递归神经网络的智能车端到端决策方法,基于空间位置约束和时间上下文约束的角度出发,构建了一种基于时空联合递归神经网络,能更准确地预测智能车方向盘转角值,帮助智能车在行驶场景中准确安全地决策。

本发明的目的是通过以下技术方案来实现的:

一种基于时空联合递归神经网络的智能车端到端决策方法,包括以下步骤:

s1、建立时空约束神经网络,所述时空约束神经网络包括空间约束网络和和时间约束网络,所述空间约束网络采用卷积神经网络提取若干单帧图像中的空间位置关系,所述时间约束网络采用递归神经网络提取连续的所述空间位置关系中的长期依赖关系;

s2、建立时空联合递归神经网络训练模型,输入数据建立预处理数据集,剔除预处理数据集中的无效场景图像样本,将剩余数据集样本分为训练样本集和验证样本集,使用交叉验证法依次选择所述训练样本集和验证样本集中的图像样本作为所述时空联合递归神经网络训练模型的测试样本集,再选择损失函数值和验证损失函数值的最小值作为最终模型的输出与样本标签值,然后用所述测试样本集测试所述训练模型来预测车辆方向盘转角能力;

s3、时空联合递归神经网络模型测试,利用所述时空联合递归神经网络训练模型预测所述测试集中的图像输出,计算其输出与样本标签值的均方误差根,根据模型的均方误差根评估模型预测方向盘转角的能力。

进一步地,所述时空约束神经网络包括卷积层、递归神经网络层、激活层、归一化层、池化层、dropout层和全连接层,所述卷积层提取空间位置关系的特征向量通过两个分支输出,一个分支通过全连接层降维后与所述样本标签传递给第一损失函数产生损失函数值进行空间约束,另一个分支连接递归神经网络层通过全连接层降维后与所述样本标签传递给第二损失函数产生损失函数值进行时间约束。

进一步地,所述递归神经网络层为由两层lstm堆叠连接形成lstms层,所述lstms层采用门结构和记忆细胞结构,所述记忆细胞结构用来保存长期的状态,所述门结构用来控制信息流进和流出记忆细胞的比例。

进一步地,所述门结构包括输入门、遗忘门和输出门,所述输入门控制流进记忆单元的信息数量,所述遗忘门控制上一时刻的记忆单元中可积累到当前时刻的记忆单元的信息数量,所述输出门控制当前时刻的记忆单元中流出当前时刻的细胞单元的信息数量,在t时刻有:

it=σ(wixt+riyt-1+pi⊙ct-1+bi)

ft=σ(wfxt+rfyt-1+pf⊙ct-1+bf)

ot=σ(woxt+royt-1+po⊙ct+bo)

zt=g(wzxt+rzyt-1+bz)

ct=ft⊙ct-1+it⊙zt

yt=ot⊙g(ct)

其中σ和g分别是激活函数sigmoid和tanh,⊙是点乘运算,it是输入门,ft是遗忘门ot是输出门,zt是当前时刻的输入块,ct是当前时刻的记忆单元的状态,ct-1是上一时刻的记忆单元状态,yt是当前时刻隐藏层的状态。

进一步地,所述第一损失函数和第二损失函数均采用平方误差损失函数:其中θ代表网络权重,x和y分别指输入样本和对应标签,所述输入样本和对应标签一起作为输入传给损失函数,计算损失函数。

进一步地,所述步骤s2还包括以下分步骤:

s21、输入网络的预处理数据集经过归一化层,将像素归一化到(0,1),加快网络收敛;

s22、卷积核采用keras内置的he_normal正态分布初始化方法,参数由均值为零,标准差为sqrt(2/fin_in)的正态分布产生,其中fin_in为待初始化矩阵的行;

s23、反向传播优化方法选择adam方法,初始参数β_1设为0.9,β_2设为0.999,∈设为1e-8,学习率设为0.001。

进一步地,所述时空约束神经网络的优化方式采用自适应时刻估计方法,计算每个参数的自适应学习率,具体为:

其中,mt为梯度的第一时刻平均值,vt梯度的第二时刻非中心方差值,β1、β1和ε为三个初始化参数,η为学习率。

本发明的有益效果是:

1)本发明分析了传统的智能车决策算法在特征提取上的不足和已有的端到端决策算法没有考虑场景动态信息的缺点,采用卷积神经网络提取场景空间位置关系,然后利用长短时记忆网络捕捉场景时间上下文特征,根据输入图像直接计算决策量,将感知认知过程统一到决策过程中,这种同步优化所有过程的方法可以获得更好的表现并且简化了系统结构,能够准确预测方向盘转角值。

2)本发明提出的时空约束网络的均方误差根只有12.83,而英伟达公司提出的卷积决策网络的均方误差根是15.07,比时空约束网络的高将近三个点,证明了本发明设计的时空约束网络应用于智能车决策过程的可行性。

3)卷积层网络提取的特征信息直接输出形成的第一个损失函数值,在反向传播过程中会更快地更新,这能够促进后面时间约束网络的收敛,短时记忆网络又能对输入序列和输出序列的长度没有限制,方便我们设置网络模型输入输出值的长度,又增大了实验的操作空间。

附图说明

图1为本发明时空联合递归神经网络的智能车端到端决策方法的流程图;

图2为时空约束网络结构图;

图3为长短时记忆网络lstm结构图。

具体实施方式

下面将结合实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

参阅图1-3,本发明提供一种技术方案:

本发明提供一种基于时空联合递归神经网络的智能车端到端决策方法,流程图如图1所示,具体包括以下步骤:

步骤一:建立时空约束神经网络,所述时空约束神经网络包括空间约束网络和和时间约束网络,所述空间约束网络采用卷积神经网络提取若干单帧图像中的空间位置关系,所述时间约束网络采用递归神经网络提取连续的所述空间位置关系中的长期依赖关系。

本发明设计的时空约束神经网络主要是考虑到以下几点因素:一是智能车决策场景是一个动态场景,最终的决策值不仅受场景中物体的空间位置关系制约,还受场景中物体的动态运动关系制约;二是卷积网络提取的特征信息直接输出形成的第一个损失函数值,在反向传播过程中会更快地更新。这能够促进后面时间约束网络的收敛。也就是说,空间位置关系的制约能够促进时间上下文关系的学习;三是使用神经网络来表达空间约束关系可以避免人工设置参数,因为人工设置的参数只能反映某一特定方面的约束,无法协调时间约束和空间约束的作用比例。所以时空约束神经网络在理论上更容易学到准确预测决策值的有用特征;四是长短时记忆网络对输入序列和输出序列的长度没有限制,方便我们设置网络模型输入输出值的长度,这增大了实验的操作空间;五是级卷积神经网络随着层数加深会感受更大范围的像素区域,不仅可以提取局部场景的特征还能兼顾全局特征。这有利于其提取决策场景中的空间位置特征。

所述卷积神经网络提取若干单帧图像,是通过一个小的滑动窗与图像帧从左到右从上到下进行卷积运算,完成所有的滑动操作和卷积运算后得到一个特征图。特征图中的每一个元素都是通过卷积核与图像对应位置相乘相加的结果,所述递归神经网络长处理序列数据,前一个时刻的隐藏层结果会被传给下一个时刻的隐藏层,当前时刻的输入数据和上一个时刻的隐藏层结果共同计算出当前时刻的隐藏层结果。由于递归神经网络并不适合于直接计算图像数据,需要卷积神经网络将图像降维。

优选地,所述时空约束神经网络包括卷积层、递归神经网络层、激活层、归一化层、池化层、dropout层和全连接层,所述卷积层提取空间位置关系的特征向量通过两个分支输出,一个分支通过全连接层降维后与所述样本标签传递给第一损失函数产生损失函数值进行空间约束,另一个分支连接递归神经网络层通过全连接层降维后与所述样本标签传递给第二损失函数产生损失函数值进行时间约束。

所述递归神经网络层为由两层lstm堆叠连接形成lstms层,lstms全称叫长短时记忆网络(longshorttermmemorynetwork),是一种特殊的递归神经网络结构,具有强大的处理序列长时间依赖关系的能力,为了解决递归神经网络中的梯度消失和梯度爆炸的问题,所述lstms层采用门结构和记忆细胞结构,所述记忆细胞结构用来保存长期的状态,如图3所示,长短时记忆网络的门结构,所述门结构用来控制信息流进和流出记忆细胞cell的比例,通过门结构的调控,允许线性自连接的权重在每一步都可以自我变化调节。

所述门结构包括输入门inputgate、遗忘门forgetgate和输出门outputgate,所述输入门控制流进记忆单元的信息数量,所述遗忘门控制上一时刻的记忆单元cell中可积累到当前时刻的记忆单元的信息数量,所述输出门控制当前时刻的记忆单元中流出当前时刻的细胞单元的信息数量,长短时记忆网络主要有如下六个公式,在t时刻有:

it=σ(wixt+riyt-1+pi⊙ct-1+bi)(1)

ft=σ(wfxt+rfyt-1+pf⊙ct-1+bf)(2)

ot=σ(woxt+royt-1+xo⊙ct+bo)(3)

zt=g(wzxt+rzyt-1+bz)(4)

ct=ft⊙ct-1+it⊙zt(5)

yt=ot⊙g(ct)(6)

其中σ和g是激活函数sigmoid和tanh,⊙是点乘运算,it是输入门,ft是遗忘门ot是输出门,zt是当前时刻的输入块,ct是当前时刻的记忆单元的状态,ct-1是上一时刻的记忆单元状态,yt是当前时刻隐藏层的状态,公式(1)(2)(3)分别是输入门、遗忘门和输出门,为了调节其他数据流动的比例,门结构使用sigmoid函数,使其输出的值域为(0,1)。公式(1)中wi为从输入到输入门的权重,ri为从上一个时刻隐藏层状态到输入门的权重,pi为从上一个时刻的记忆单元状态到输入门的权重,bi为输入门偏置。公式(2)中wf为从输入到遗忘门的权重,rf为从上一个时刻隐藏层状态到遗忘门的权重,pf为从上一个时刻的记忆单元状态到遗忘门的权重,bf为遗忘门偏置。公式(3)中wo为从输入到输出门的权重,ro为从上一个时刻隐藏层状态到输出门的权重,po为从当前时刻的记忆单元状态到输出门的权重,公式(4)中wz为从输入到输入块的权重,rz为从上一个时刻隐藏层状态到输入块的权重,bz为输入块权重。公式(5)是细胞单元的状态更新公式,可以看到当前时刻的记忆单元状态ct受上一时刻的记忆单元状态,ct-1、当前时刻的遗忘门ft、当前时刻的输入门it和当前时刻的输入块zt共同制约,公式(6)是当前时刻隐藏层的状态更新公式,yt受当前时刻的输出门ot和当前时刻的细胞状态ct制约。

长短时记忆网络中三个门结构的设计使得信息可以在记忆块中自适应地流动,从细胞状态更新公式可以看出忘记门决定累积多少上一个时刻的记忆单元状态信息,输入门控制有多少信息流进记忆单元,在网络模型的训练过程中,为了逼近监督学习中的标签值,网络主动学习应该积累多少历史时刻的记忆单元信息,应该控制多少输入信息流进记忆单元。这些门参数和网络中的其他参数一起学习,使得学习到的参数相互协调,能够促进网络训练。

从信息流动的角度看,网络中的信息来源有三处:当前时刻的输入xt、当前时刻的记忆细胞状态ct和上一时刻的隐藏层状态yt-1,因为记忆细胞状态可以通过当前时刻输入和上一个时刻隐藏层状态得到,所以真正的信息来源只有xt和yt-1两处,长短时记忆网络中的输入门、遗忘门和输出门控制这两处信息在记忆单元中的流动量。对历史信息的积累并不是通过隐藏层自身积累,而是通过记忆单元这个自连接结构来积累。遗忘门控制保留多少量级的历史信息,而遗忘门的输出受当前时刻输入和上一时刻隐藏层状态的制约,所以真正决定保留多少历史信息的是信息源xt和yt-1,从公式(5)也可以看出记忆单元c是网络中联系历史与现在的纽带,在每一个时间步,记忆单元积累一部分上一个时刻的信息,历史信息就通过这种在前后两个时刻之间传递的方式将长时间步前的历史信息传给当前时刻的记忆细胞。

所述sigmoid和tanh均是激活函数,公式分别如下:

激活函数在深度神经网络中主要用做非线性变换,让网络获得更大的搜索空间,增强网络的表达能力。在感知机学习模型中,因为网络中的每一层都是进行线性变换,表达能力十分有限,只能进行线性分类,一旦遇到非线性分类的问题会显得十分无力,为了解决这一问题,往往在深度神经网络的线性变换层后面加一个激活函数将输入神经元进行非线性变换,激活函数sigmoid将输入特征映射到(0,1)区间内,压缩输入特征向量的取值范围,进行输入归一化。当输入x的取值超过2时,函数输出非常接近1,当输入x的取值小于-2时,函数输出非常接近0。也就是说该激活函数十分容易饱和,训练过程中的输入流数据只有在一个很小的区间内才能够激活,其他区间的取值都将被抑制。tanh激活函数的取值范围为(-1,1),相比sigmoid激活函数,它的输出均值是0,不存在偏移发散问题,它的收敛速度相对较快,训练的迭代次数较少。但是也存在容易饱和的问题。当输入取值超过2时,tanh输出非常接近1;当输入取值小于-2时,tanh输出非常接近-1。relu激活函数是当前应用最广泛的激活函数。当输入大于等于零时,输出等于输入;当输入小于零时,输出为零。实现简单,操作方便。另外它的导数为1,能够极大地缓解在深度神经网络反向求导过程中出现的梯度消失或者爆炸问题。但是其函数值域大于零,输出均值不为零,仍然存在输出偏移现象。

步骤二:建立时空联合递归神经网络训练模型,输入数据建立预处理数据集,剔除预处理数据集中的无效场景图像样本,将剩余数据集样本分为训练样本集和验证样本集,使用交叉验证法依次选择所述训练样本集和验证样本集中的图像样本作为所述时空联合递归神经网络训练模型的测试样本集,再选择损失函数值和验证损失函数值的最小值作为最终模型的输出与样本标签值,然后用所述测试样本集测试所述训练模型来预测车辆方向盘转角能力。

mariusz等人为了探索使用深度神经网络进行智能车决策的可能性时,他们训练的模型在预测方向盘转角时需要加上滤波操作,因为网络输出的放向盘转角值抖动很大,直接输入给智能车时会使车辆震动严重,完整的决策过程需要历史场景信息来做依据,历史场景信息提供了一个动态的场景信息,反映了智能车与周围环境交互的过程,每一时刻的决策行为都是这种交互运动的结果。

如图2所示,时空约束网络结构图,输入图像数据map首先通过归一化层,让图像像素值归一化到(0,1),这可以加速网络的收敛,让网络收敛时需要的迭代次数减少。第一个卷积层使用8*8的卷积核,卷积步长为4。因为输入图像长宽相对较大,为了不丢失图像中的信息,避免产生过多的冗余信息,采用大尺寸卷积核并将卷积步长设为4。经过第一个卷积层之后,图像的尺寸大大减小,所以第二个和第三个卷积层的卷积核设置得相对小一些,使用5*5的卷积核所述卷积核采用keras内置的“he_normal”正态分布初始化方法,参数由均值为零,标准差为sqrt(2/fin_in)的正态分布产生,其中fin_in为待初始化矩阵的行;反向传播优化方法选择adam方法,初始参数β_1设为0.9,β_2设为0.999,∈设为1e-8,学习率设为0.001。

损失函数度量模型预测值与真实值之间的距离,是衡量训练出的模型好坏的一种方法。在神经网络训练过程中,模型输出值与样本标签一起作为输入传给损失函数,计算损失函数值。然后根据这个损失函数值反向传播对每层的参数求导,从后向前逐层更新每层的网络权重。深度神经网络的目标是求出使损失函数值最小的网络权重值。本发明采用的第一损失函数和第二损失函数是平方误差损失函数mse(meansquarederror),其公式如下:

其中θ代表网络权重,χ和y分别指输入样本和对应标签,mse实质是一种欧几里德距离度量方式。这种度量方式计算比较方便,在不同的表示域变换后性质不变,也是一种较好的相似性度量。

步骤三:时空联合递归神经网络模型测试,利用所述时空联合递归神经网络训练模型预测所述测试集中的图像输出,计算其输出与样本标签值的均方误差根,根据模型的均方误差根评估模型预测方向盘转角的能力。

所述时空约束神经网络的优化方式采用自适应时刻估计方法,计算每个参数的自适应学习率,具体为:

其中,mt为梯度的第一时刻平均值,vt梯度的第二时刻非中心方差值,β1、β2和ε为三个初始化参数,η为学习率。

本发明的方法实验的硬件环境是:超微sys-7048gr-tr服务器,x10drg-q主板,4块titanx显卡和1块内置显卡,本实验的软件环境是:ubuntu16.04操作系统,keras2.1.1深度学习平台和tensorflow-gpu1.4.0深度学习平台,本发明的时空约束网络能够捕捉智能车决策场景中的空间位置关系和时间上下文关系,帮助智能车在行驶场景中准确安全地决策。相比于只进行空间约束,本发明提出的时空约束网络能够更加准确地预测方向盘转角值,在comma.ai公共数据集上测试的均方误差根只有12.83,低于其余三种算法。这说明了智能车决策过程中进行时间约束和空间约束的必要性,证明了本发明设计的时空约束网络应用于智能车决策过程的可行性。

以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

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