基于神经网络的网联车辆决策控制模型建立及评估方法与流程

文档序号:23004471发布日期:2020-11-20 11:54阅读:126来源:国知局
基于神经网络的网联车辆决策控制模型建立及评估方法与流程

本发明涉及车联网决策控制领域,特别涉及一种基于神经网络的网联车辆决策控制模型建立及评估方法。



背景技术:

目前网联车的概念逐渐被人们认同。网联车的概念来源于物联网,即车辆物联网,是以行驶中的车辆为信息感知对象,借助新一代信息通信技术,提升车辆整体的智能驾驶水平,为用户提供安全、舒适、智能、高效的驾驶感受与交通服务,同时提高交通运行效率,提高社会交通服务的智能化水平,要实现未来的无人驾驶,网联车技术是关键。

决策控制是网联车的关键技术,通过各种传感设备对环境感知后通过决策控制实现车辆的自动驾驶是网联车的最终目标,但是现有的网联车决策控制模型仍然存在着诸多问题,如面对复杂的环境,决策结果与人工驾驶实际操作差距较大,不能给出合理精准的决策;在一些陌生的环境下,车辆受到环境干扰,输入的数据不准确,在一定程度上限制了模型的实际应用。



技术实现要素:

为解决上述技术问题,本发明提出一种基于神经网络的网联车辆决策控制模型建立及评估方法,

本发明方法主要包括以下步骤:

s1:数据信息获取;

获取的数据类别分别为:车辆状态数据和对应的环境信息数据。

s2:根据采集到的数据信息建立对应的数据集合,得到训练集;

构建以车辆目标状态数据为输出层决策变量,以当前车辆行驶状态数据和环境信息数据为影响因子,以车辆执行动作概率为最终输出结果的数据集。车辆目标状态数据是在某一特定环境下,车辆理想的状态数据。

s3:确定预测模型的拓扑结构;

决策控制模型的拓扑结构包括输入层、隐藏层、输出层和softmax层,所述输入层的各个节点对应环境信息数据和当前车辆状态信息,输出层输出车辆目标状态信息,输出层数据经过softmax层后输出为可执行动作概率。

输出层节点数根据车辆目标状态信息分类确定,例如:速度信息、位置信息等,每类信息对应一个输出层节点,具体的信息归类方法并不影响本方法的实现。具体地,每一种信息分类下也可包含多种子信息,例如当车辆进行避障的过程中,其为了避障选择的行进位置并不是唯一的。

softmax层输出的是车辆可执行动作概率,softmax层将矩阵运算得到的回归结果转化为动作执行概率。在某些环境下,车辆可执行动作一般包含多个动作,如车辆前进位置方向、车辆速度、转向角度等,因此softmax层最终输出的是可执行动作组的执行概率,假设输出层输出的车辆前进位置方向信息为m,且m包含多个不同的位置方向,则得到数据集合m={m1,m2,m3,……mn},类似的,假设输出层输出的车辆最优前进速度信息为l,则得到数据集合l={l1,l2,l3,……li},假设输出层输出的车辆最优转向角度信息为θ,则得到数据集合θ={θ1,θ2,θ3,……θg}。

s4:将所述训练集数据输入拓扑预测模型进行训练,得到最终的模型参数,完成预测模型的建立;

其训练过程为:

s401:初始化模型参数,随机生成节点权重和偏置,确定神经网络输入量与输出量;

s402:确定神经网络输入、输出层的神经元数量,确定隐含层神经元数量:

上式中,e表示隐含层神经元数量,x表示输入层神经元数量,n表示输出层神经元数量,k表示修正常数。

s403:选取神经网络内部传输函数,本模型选择非线性映射sigmoid函数,建立函数表达式:

上式中,ξ表示神经网络各层的输入变量。上式采用对数型s函数,输出数值限制在0~1之间。

s5:利用所述测试样本对所述车辆决策模型进行精度测试,计算不同组合的迭代次数和隐层节点数对所述车辆决策模型计算精度的影响,判断所述车辆决策模型是否达到设定的精度值

s501:首先对训练数据进行归一化处理,处理后计算隐藏层各神经元的输入和输出值:

上式中,uk表示隐层第k个神经元输入,xk表示输入层第k个量测值,wk表示输入层第k个神经元与隐层神经元之间的连接权值,β表示隐藏层神经元阙值。

其中,隐藏层各神经元的输出为:

hk=f(uk)

上式中,hk是神经网络隐藏层第k个神经元输出量,f(uk)表示传输函数。

s502:计算输出层各神经元的输入和输出;

输出层神经元的输入量计算公式为:

上式中,yk表示第k个输出层的输出量,vk表示隐藏层第k个神经元与输出层神经元之间的连接权值,γ为输出层阙值。

输出层输出值计算方法为:

zk=f(yk)

计算样本的精度ω:

上式中,zki表示目标状态值,zk表示训练出的决策值。比较样本精度ω与期望精度值的大小,当时,结束训练。

本发明方法通过矩阵运算,将训练数据和参数进行矩阵相乘相加,得到回归结果后经过softmax层转化为执行概率,选取执行概率最大的决策进行执行,将迭代训练结果与实际人工应该执行的结果进行对比,得到决策误差,将误差对模型参数求偏导数并沿着偏导数的负梯度方向更新参数,通过不断的迭代进行参数修正,使模型的决策结果不断接近真实的人工决策,当最终的误差小于一定的阙值或者迭代到一定次数时,得到最终的模型参数,完成模型的修正。在实验中,随着迭代次数的增加,决策模型的模拟精度提高,当迭代次数大于40时,决策模型更容易取得高精度的模拟结果。

有益效果:本发明提供的基于神经网络的网联车辆决策控制模型建立及评估方法增加softmax层,将输出结果转化为可执行动作概率,帮助车辆选择最优执行动作,模型通过精度测试,通过不断的迭代进行参数修正,使模型的决策结果不断接近真实的人工决策,面对复杂多变的驾驶环境,能够有效的提高网联车辆决策的准确性。

附图说明

图1为本发明的逻辑示意图。

具体实施方式

以下将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,基于本发明中的方法,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有变化,都属于本发明保护的范围。

本发明方法主要包括以下步骤:

s1:数据信息获取;

获取的数据类别分别为:车辆状态数据和对应的环境信息数据;

车辆状态数据包括:车辆位置数据,车辆行驶方向数据,车辆速度数据、车辆加速度数据等;

环境信息数据包括:障碍物位置信息、区域内车辆或行人移动方向信息、路面信息(包括坡度、起伏等信息)等。

数据的获取可通过驾驶员在不同环境下驾驶车辆,根据路况、环境信息执行不同的动作,通过车辆安装的各种传感器获得车辆对应的行驶状态数据和环境信息数据。

s2:根据采集到的数据信息建立对应的数据集合,得到训练集;

构建以车辆目标状态数据为输出层决策变量,以当前车辆行驶状态数据和环境信息数据为影响因子,以车辆执行动作概率为最终输出结果的数据集。车辆目标状态数据是在某一特定环境下,车辆理想的状态数据。

s3:确定预测模型的拓扑结构;

具体地,决策控制模型的拓扑结构包括输入层、隐藏层、输出层和softmax层,所述输入层的各个节点对应环境信息数据和当前车辆状态信息,输出层输出车辆目标状态信息,输出层数据经过softmax层后输出为可执行动作概率。

进一步的,输入层节点数量可根据获取的数据信息种类进行确定,如交通灯信息为一类,行人移动信息为一类,路况信息为一类,根据采集到的信息种类确定节点数量,进一步地,每一类信息中可能包含多种子信息,具体的信息归类方法并不影响本方法的实现,因此不做具体归类方法的限制。

一般地,隐藏层节点数小于输入层节点数。

具体地,输出层节点数根据车辆目标状态信息分类确定,例如:速度信息、位置信息等,每类信息对应一个输出层节点,具体的信息归类方法并不影响本方法的实现。具体地,每一种信息分类下也可包含多种子信息,例如当车辆进行避障的过程中,其为了避障选择的行进位置并不是唯一的。

softmax层输出的是车辆可执行动作概率,softmax层将矩阵运算得到的回归结果转化为动作执行概率。在某些环境下,车辆可执行动作一般包含多个动作,如车辆前进位置方向、车辆速度、转向角度等,因此softmax层最终输出的是可执行动作组的执行概率,假设输出层输出的车辆前进位置方向信息为m,且m包含多个不同的位置方向,则得到数据集合m={m1,m2,m3,……mn},类似的,假设输出层输出的车辆最优前进速度信息为l,则得到数据集合l={l1,l2,l3,……li},假设输出层输出的车辆最优转向角度信息为θ,则得到数据集合θ={θ1,θ2,θ3,……θg}。

假设车辆可执行动作组仅包含车辆前进位置方向、车辆速度、转向角度三种数据,那么softmax层节点可设置为:n、i、g三者的乘积。

s4:将所述训练集数据输入拓扑预测模型进行训练,得到最终的模型参数,完成预测模型的建立;

具体地,其训练过程为:

s401:初始化模型参数,随机生成节点权重和偏置,确定神经网络输入量与输出量;

具体地,输入量为车辆当前状态数据和环境信息数据,输出层输出量为车辆目标状态数据,softmax层输出量为动作执行概率。

s402:确定神经网络输入、输出层的神经元数量,确定隐藏层神经元数量:

上式中,e表示隐藏层神经元数量,x表示输入层神经元数量,n表示输出层神经元数量,k表示修正常数,一般地,在初期选取修正常数时可根据专家经验进行确定。神经网络输入、输出层的神经元数量是根据前述的对应的输入层节点数量和输出层节点数量确定的。

s403:选取神经网络内部传输函数,本模型选择非线性映射sigmoid函数,建立函数表达式:

上式中,ξ表示神经网络各层的输入变量。上式采用对数型s函数,输出数值限制在0~1之间。

s5:利用所述测试样本对所述车辆决策模型进行精度测试,判断所述车辆决策模型是否达到设定的精度值

s501:首先对训练数据进行归一化处理,处理后计算隐藏层各神经元的输入和输出值:

上式中,uk表示隐层第k个神经元输入,xk表示输入层第k个量测值,wk表示输入层第k个神经元与隐层神经元之间的连接权值,β表示隐藏层神经元阙值。

其中,隐藏层各神经元的输出为:

hk=f(uk)

上式中,hk是神经网络隐藏层第k个神经元输出量,f(uk)表示传输函数。

s502:计算输出层各神经元的输入和输出;

输出层神经元的输入量计算公式为:

上式中,yk表示第k个输出层的输出量,vk表示隐藏层第k个神经元与输出层神经元之间的连接权值,γ为输出层阙值。

输出层输出值计算方法为:

zk=f(yk)

s503:计算样本的精度ω;

上式中,zki表示目标状态值,zk表示训练出的决策值。比较样本精度ω与期望精度值的大小,当时,结束训练,否则需要继续训练。

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