发明内容
有鉴于此,有必要提供一种交通信号灯控制方法、装置及计算机可读存储介质,用以解决现有交通信号控制的有效性和高效性较差的问题。
本发明提供一种交通信号灯控制方法,包括以下步骤:
获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述车辆位置、车辆速度、车辆转向灯色及信号灯色确定状态矩阵;
确定动作要素及奖励要素,构建深度神经网络,根据所述状态矩阵、动作要素及奖励要素对所述深度神经网络进行训练,得到基于信号灯动作的深度神经网络模型;
重新获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述基于信号灯动作的深度神经网络模型,获取当前信号灯最优动作,根据所述信号灯最优动作控制信号灯。
进一步地,所述状态矩阵包括可变道区中车辆位置、车辆速度和信号灯色三个矩阵以及不可变道区中车辆位置、车辆速度和车辆转向灯色三个矩阵的堆叠。
进一步地,所述动作要素为信号灯下一相位是否改变,所述奖励要素为所有进口道上排队车辆的总和与所有出口道上排队车辆总和之差的负值。
进一步地,所述构建深度神经网络具体包括,根据值分布强化学习算法构建深度神经网络,所述深度神经网络的输入为状态矩阵,将所述状态矩阵输入至深度神经网络后,经过两层卷积神经网络提取状态特征,通过激活函数激活,经过全连接层,再次经过激活函数后,经回归输出与动作对应的原子概率。
进一步地,所述根据所述状态矩阵、动作要素及奖励要素对所述深度神经网络进行训练,具体包括:
根据所述状态矩阵、动作要素及奖励要素建立经验池,利用均匀随机采样,从所述经验池中抽取样本数据;设置两个结构相同、参数不同的神经网络,分别形成训练网络和目标网络,根据抽取的样本数据、训练网络和目标网络,对深度神经网络的参数进行更新,完成对深度神经网络的训练。
进一步地,所述根据抽取的样本数据、训练网络和目标网络,对深度神经网络的参数进行更新,具体包括:
将抽取的样本数据输入至训练网络和目标网络中,训练网络拟合当前状态和动作分布,同时目标网络计算出下一状态最佳动作相位分布,将下一状态最佳动作相位分布进行收缩和移位,获取当前目标分布,通过投影操作获取与当前目标分布处在相同支撑向量的目标分布,并将其作为最终目标分布,以当前目标分布与最终目标分布之间的误差最小化为优化目标,对深度神经网络的参数进行更新。
进一步地,所述交通信号灯控制方法还包括,以KL散度表示当前目标分布与最终目标分布之间的误差,所述KL散度为
其中,DKL(qθ||p)为KL散度,q(i)为第i个支点当前分布的概率,p(i)为第i个支点目标分布的概率。
进一步地,所述当前目标分布与最终目标分布之间的误差最小化为优化目标,对深度神经网络的参数进行更新,具体包括:以KL散度最小化为优化目标,通过梯度下降法对深度神经网络的参数进行更新,目标函数的梯度为
其中,qθ为当前当前状态和动作分布。
本发明还提供了一种交通信号灯控制装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如上述任一技术方案所述的交通信号灯控制方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机该程序被处理器执行时,实现如上述任一技术方案所述的交通信号灯控制方法。
与现有技术相比,本发明的有益效果包括:通过获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述车辆位置、车辆速度、车辆转向灯色及信号灯色确定状态矩阵;确定动作要素及奖励要素,构建深度神经网络,根据所述状态矩阵、动作要素及奖励要素对所述深度神经网络进行训练,得到基于信号灯动作的深度神经网络模型;重新获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述基于信号灯动作的深度神经网络模型,获取当前信号灯最优动作,根据所述信号灯最优动作控制信号灯;提高了交通信号灯控制的有效性和效率。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
实施例1
本发明实施例提供了一种交通信号灯控制方法,其流程示意图,如图1所示,所述方法包括以下步骤:
S1、获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述车辆位置、车辆速度、车辆转向灯色及信号灯色确定状态矩阵;
S2、确定动作要素及奖励要素,构建深度神经网络,根据所述状态矩阵、动作要素及奖励要素对所述深度神经网络进行训练,得到基于信号灯动作的深度神经网络模型;
S3、重新获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述基于信号灯动作的深度神经网络模型,获取当前信号灯最优动作,根据所述信号灯最优动作控制信号灯。
一个具体实施例中,对十字路口进行建模,分别定义强化学习三要素,即状态、动作及奖励;状态要素的定义包含车辆位置、车辆速度和车辆转向灯色或信号灯色,把四条进口道划分成网格,同时划分可变道区和不可变道区,不可变道区长度取为可变道区长度的若干倍(例如4倍),可变道区分为左转、直行和右转;
优选的,所述状态矩阵包括可变道区中车辆位置、车辆速度和信号灯色三个矩阵以及不可变道区中车辆位置、车辆速度和车辆转向灯色三个矩阵的堆叠。
具体实施时,状态矩阵为可变道区中车辆位置、车辆速度和信号灯色三个矩阵以及不可变道区中车辆位置、车辆速度和车辆转向灯色三个矩阵的堆叠,进口道划区及矩阵设置示意图,如图2所示,最后构成[矩阵一、矩阵二、矩阵三];图2中,单个网格长度为8m,车辆长度为5m,车辆之间保持最小间距2.5m;图2中的状态矩阵为
矩阵一中信号灯色为绿灯的车道网格设为1,红灯车道网格设为0;矩阵二中,在可变道区有车的网格记为1,没有车的网格记为0;在不可变道区考虑车辆转向灯而不考虑信号灯色,同时车辆只可变换到相邻车道;车辆转向灯亮,该位置记为1,否则记为0;将记为1的值堆叠到该车相邻车道可变道区的位置矩阵中;矩阵三中,将车辆转向灯亮的车归一化处理的速度,堆叠到该车相邻车道可变道区的归一化速度矩阵中;
优选的,所述动作要素为信号灯下一相位是否改变,所述奖励要素为所有进口道上排队车辆的总和与所有出口道上排队车辆总和之差的负值。
具体实施时,动作要素的定义是下一相位是否改变,动作要素A=[1,0],其中1表示改变信号灯下一相位,0表示维持当前相位;考虑到人们的驾驶习惯,信号灯以一定顺序循环变化,NSG→NSLG→EWG→EWLG,依次代表南北向路段绿灯、南北向左转绿灯、东西向路段绿灯、东西向左转绿灯;相位不允许维持超过3轮,当相位发生改变时,增加3秒的黄灯;奖励要素的定义为,Reward=-P,P为所有进口道上排队车辆的总和与所有出口道上排队车辆的总和之差,
n和m分别表示车流i的进车道和出车道,x
n和x
m表示进口道和出口道的车辆数;
优选的,所述构建深度神经网络具体包括,根据值分布强化学习算法构建深度神经网络,所述深度神经网络的输入为状态矩阵,将所述状态矩阵输入至深度神经网络后,经过两层卷积神经网络提取状态特征,通过激活函数激活,经过全连接层,再次经过激活函数后,经回归输出与动作对应的原子概率。
一个具体实施例中,根据值分布强化学习算法构建深度神经网络;所述深度神经网络的输入是状态矩阵,经过两层卷积神经网络提取状态特征,应用ReLU激活函数,经过全连接层,应用ReLU激活函数,最后经softmax回归输出与动作对应的原子概率pi(x,a);
优选的,根据所述状态矩阵、动作要素及奖励要素对所述深度神经网络进行训练,具体包括:
根据所述状态矩阵、动作要素及奖励要素建立经验池,利用均匀随机采样,从所述经验池中抽取样本数据;设置两个结构相同、参数不同的神经网络,分别形成训练网络和目标网络,根据抽取的样本数据、训练网络和目标网络,对深度神经网络的参数进行更新,完成对深度神经网络的训练。
一个具体实施例中,训练过程中采用经验回放和目标网络,强化学习过程中,所有的经验(st,at,rt,st+1)都存储在一个可回顾记忆模块(经验池),当记忆模块被填满,旧的经验会被新的经验替代;神经网络样本训练过程采用均匀随机采样,从经验池中抽取一组样本数据,用抽取的数据对网络进行训练;设置两个结构相同、参数不同的网络,即训练网络和目标网络,训练网络用于预测当前交叉口状态下相位动作at的价值分布Z(st,at),每一个训练时间步结束后更新一次网络参数;目标网络用于拟合下一时刻交叉口状态分布Z(st+1,at+1),每执行一定训练步长的迭代,将训练网络参数赋值给目标网络。
优选的,根据抽取的样本数据、训练网络和目标网络,对深度神经网络的参数进行更新,具体包括:
将抽取的样本数据输入至训练网络和目标网络中,训练网络拟合当前状态和动作分布,同时目标网络计算出下一状态最佳动作相位分布,将下一状态最佳动作相位分布进行收缩和移位,获取当前目标分布,通过投影操作获取与当前目标分布处在相同支撑向量的目标分布,并将其作为最终目标分布,以当前目标分布与最终目标分布之间的误差最小化为优化目标,对深度神经网络的参数进行更新。
优选的,所述交通信号灯控制方法还包括,以KL散度表示当前目标分布与最终目标分布之间的误差,所述KL散度为
其中,DKL(qθ||p)为KL散度,q(i)为第i个支点当前分布的概率,p(i)为第i个支点目标分布的概率。
一个具体实施例中,训练网络拟合当前分布qθ=Z(st,at),同时目标网络计算出下一状态最佳动作相位分布Z(st+1,at+1),将下一状态最佳动作相位分布Z(st+1,at+1)经过折扣因子γ收缩和rt+1移位,得当前目标分布rt+1+γZ(st+1,at+1),通过投影操作得到与当前目标分布处在相同支撑向量下的目标分布p=φTπZ′(st+1,at+1),两个分布之间的误差用KL散度来表示;
其中,DKL(qθ||p)为KL散度,用来衡量当前分布和目标分布之间的误差,Natoms为原子数量。
优选的,当前目标分布与最终目标分布之间的误差最小化为优化目标,对深度神经网络的参数进行更新,具体包括:以KL散度最小化为优化目标,通过梯度下降法对深度神经网络的参数进行更新,目标函数的梯度为
其中,qθ为当前当前状态和动作分布。
需要说明的是,深度神经网络模块训练及优化的最终目的是找出一组最优的神经网络参数,使KL散度最小;
其中,
表示使得KL散度最小时,对应的动作;以最小化KL散度为优化目标,通过梯度下降法对参数进行更新,目标函数的梯度为
该模型输出为经softmax计算后得到的2个动作(下一相位是否改变)对应的离散支撑分布,其中期望值最大的动作为当前最优动作
a*表示最优动作。动作选择遵循∈-greedy策略,随机概率大于∈时执行最优动作,其他情况选择随机动作;动作选择策略遵循ε-greedy策略,是为了避免模型陷入局优并保证学习率,每次迭代选择过程中产生一个随机数,若随机数小于ε,从动作空间中随机选择动作,若随机数大于ε,执行当前最拟合真实分布的动作。随机数ε由以下公式确定
其中,N为训练总回合数,n为当前训练回合数,训练起始,ε较大,动作选择策略偏向对环境的随机探索以积累经验,随着训练次数增加,ε的值随之衰减,动作选择策略偏向Q值最大的动作。
实施例2
本发明实施例提供了一种交通信号灯控制装置,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如实施例1所述的交通信号灯控制方法。
实施例3
本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机该程序被处理器执行时,实现如实施例1所述的交通信号灯控制方法。
本发明公开了一种交通信号灯控制方法、装置及计算机可读存储介质;通过获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述车辆位置、车辆速度、车辆转向灯色及信号灯色确定状态矩阵;确定动作要素及奖励要素,构建深度神经网络,根据所述状态矩阵、动作要素及奖励要素对所述深度神经网络进行训练,得到基于信号灯动作的深度神经网络模型;重新获取车辆位置、车辆速度、车辆转向灯色及信号灯色,根据所述基于信号灯动作的深度神经网络模型,获取当前信号灯最优动作,根据所述信号灯最优动作控制信号灯;提高了交通信号控制中强化学习过程的学习效率,保证了动作选择的准确性,从而提高了交通信号灯控制的有效性和效率。
本发明技术方案针对实际信号交叉口交通特征及深度强化学习特性,设计了信号控制与交叉口环境的交互方式,并建立基于价值分布的强化学习交通信号决策优化控制模型,可以根据当前状态决定当下交通信号灯控制最优策略;将状态空间划分为可变道区和不可变道区,分别取不同的状态指标,考虑了实际交叉口进口道的变道问题,同时取合适大小的状态矩阵提高了模型训练效率;能够通过与环境交互,连续地感知交通环境的实时状态并自动提取交叉口状态信息;将动作空间设置为信号灯色是否改变,这考虑了实际中信号灯色是按相序变化的规律,同时司机也能提前为下一相位提前做出准备,训练结果更符合实际情况,同时也提高道路交叉口的安全性。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。