一种基于深度循环Q学习的单点交叉口信号控制方法与流程

专利2022-06-29  99


本发明涉及深度强化学习和交通信号控制技术领域,具体涉及一种基于深度循环q学习的单点交叉口信号控制方法。



背景技术:

随着经济的快速发展,城市交通拥堵问题变得非常严重,造成了巨大的经济损失,尤其是在中国。道路交叉口的短时交通需求具有时变性、非线性、复杂性等特征,很难建立起精确的数学模型,简单的定时控制、感应控制方法难以适应交通流量的动态、复杂、快速变化,控制效果不好。智能交通的发展,利用人工智能知识,加强对城市交通信号的有效控制,可以有效缓解城市拥堵。

近年来,随着深度学习的快速发展,深度强化学习作为一种新兴的技术应用于交通控制中,可以对简单的交通信号配时进行控制优化,但是对于传统的深度q学习算法来说,虽然它可以利用神经网络去感知和学习其中有用特征,不需要人工提取特征,提升了状态表示的准确度,也解决了传统强化学习算法输入维度爆炸的问题,但是由于现实情况中传感器不准确,或者数据传输过程中丢失,都会导致实时状态值和真实值不一样,从而导致深度q学习感知到的状态输入精度降低,从而影响算法性能。



技术实现要素:

为了克服上述背景技术介绍中存在的不足,本发明的目的在于提供一种基于深度循环q学习的交叉口信号控制方法,其能够结合交叉口前几个时刻状态,解决因时间轴导致的部分可观测,并且可以减少数据缺失带来的影响,本发明能够降低交叉口部分可观测马尔可夫性对深度q学习算法性能的影响,很好适用于实际交叉口的信号控制。

本发明公开了一种基于深度循环q学习的单点交叉口信号控制方法,包括步骤如下:

步骤一:确定需要优化控制的交叉口,并获取交叉口一段时间内的真实交通流数据;

步骤二:根据实际交叉口道路信息,利用sumo仿真软件建立微观交通仿真环境,输入实际道路中采集的流量数据并生成交通需求文件用于智能体(agent)训练;

步骤三:定义深度强化学习agent的状态集、动作集和奖励函数,同时设定神经网络框架结构和定义神经网络参数,其中,状态集包括车辆位置和车速等信息,动作集四种信号灯相位和持续时间的选择;

步骤四:初始化神经网络参数和交叉口状态,通过深度强化学习agent的不断训练,得到最优信号配时策略。

进一步地,所述步骤一中的交通流数据为某特定时间段每隔2分钟的车流量数据,数据格式为视频数据。

进一步地,所述步骤二中的交叉口微观交通仿真环境包括:交叉口车道数、进口道长度、渠化、相位组成、交叉口车流量、车流组成、车流转向。

进一步地,所述步骤三中状态集包含车辆位置和车速信息,动作集包含四种信号灯相位和持续时间的选择。

进一步地,所述步骤三具体包括:将仿真时的车辆位置、速度和加速度的信息转换为矩阵图,在已知车道长度为d的情况下,从停车线起划分单元网格;此时若有车占据某一网格,在平面矩阵中将此位置标为1,若某网格中没有车,则标为0,即可得到位置矩阵,从而得到速度矩阵和加速度矩阵:

a={nsa,nsla,ewa,ewla}

其中,a为动作集,nsa是指南北方向的直线绿相,ewa是指东西方向的直线绿相,l表示左转相位;

rt=0.9twtt-1-twtt

其中,rt为奖励函数,twtt为时刻t所有车辆的总等待时间。

进一步地,所述步骤三中神经网络结构利用了一个深度循环q网络(drqn)来表示q(s,a|θ)的值,其中θ表示神经网络的权重,s和a分别是状态和动作。但是实际交叉口具有部分可观测马尔可夫性(pomdp),将pomdp中的观察状态定义为o,则o与实际状态s不同,即q(s,a|θ)!=q(o,a|θ),drqn是长短期记忆网络(lstm)和深度q网络的组合。lstm可以记住前一时刻的输入状态,而不仅仅是当前时刻,从而记住时间轴信息,可以尽可能完整地表示当前交点的输入状态,从而减小q(s,a|θ)和q(o,a|θ)的误差。

进一步地,所述步骤四中深度强化学习智能体的训练具体过程如下:

41)初始化drqn基本参数和交叉口状态;

42)根据当前交叉口状态选择一个动作;

43)执行选择的动作,计算执行该动作获得的奖励并获取交叉口下一个状态;

44)将上述动作记录存放在记忆回放池中;若记忆回放池中样本数大于batch,则从记忆回放池中拿出batch大小的样本,根据目标网络得到训练样本,用梯度下降法更新网络参数,达到一定步数后更新目标网络,否则,直接进入步骤45);

45)新状态赋值给当前状态,重复步骤42)、43)、44),此过程一直重复,直到算法收敛,得到最优信号配时策略。

进一步地,为了避免算法陷入局部最用,采用ε贪婪策略,每次迭代选择的时候,产生一个随机数,当随机数小于ε的时候,从动作空间中随机选择一个动作,大于ε的时候,选择q值最大的动作,ε会随着训练次数衰减。

进一步地,在神经网络训练过程中采用目标网络和经验池回放技术,从而使得深度神经网络能够更快的收敛。

进一步地,所述步骤四中神经网络训练过程中利用梯度下降算法为adam算法,本质上是带有动量项的rmsprop算法,其利用梯度信息动态调整每个参数的学习率,这种调整方式使得参数在每次迭代的时候都被动态地校正到一个确定的范围,使得参数能够非常的平稳,易于收敛。

有益效果:在单个路口使用深度循环q学习算法学习最优信号控制策略,其中drqn算法在dqn的基础上引入lstm神经网络,利用lstm能够记忆时间轴信息的特性,通过结合交叉口前几个时刻的状态而非仅仅通过当前时刻的状态来全面地表示当前交叉口输入状态,从而减小交叉口部分可观察马尔可夫决策过程(pomdp)特性对深度q学习性能的影响;本发明改进后的drqn算法性能优于dqn算法,也优于传统的交叉口控制方法定时控制;当交通流接近饱和和过饱和时,drqn算法可以观察交叉口在各个时刻的状态,做出最佳的时机选择,从而提高交叉口通行效率。

附图说明:

图1为本发明方法的流程图。

图2为高湖路与利源南路交叉口视频线圈位置图。

图3为sumo仿真环境中交叉口平面图。

图4为交叉口西方向路段单元格的划分图。

图5为选择动作的模拟过程图。

图6为drqn网络结构图。

图7为训练过程中每一步平均车辆排队长度。

图8为drqn与固定配时和dqn在四种交通场景下的平均累积等待时间对比图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

一种基深度循环q学习的单点交叉口信号控制方法,主要流程图如图1,包括如下步骤:

步骤一,确定需要优化控制的交叉口,并获取交叉口一段时间内的交通视频采集数据。本实施例中使用的数据源为利源南路和高湖路交叉口的视频数据,视频线圈位置如图2所示,视频数据的格式解析如下:

统计数据

2019/05/0207:45:46,192.168.1.6,88,8,2,2019/05/0207:36:38,300,1,24,0,2,5,0,49,496,0.072,0.077

创建时间(服务器时间),设备ip,设备id,命令号,有效车道总数,统计开始时间,统计周期(单位:秒),车道号,车道过车平均速度,车辆排队长度,小型车数量,中型车数量,重型车数量,车头时距(单位:秒),车头间距(单位:米),空间占有率(百分比),时间占有率(百分比)

本实施例取了其中四个具有代表性的时间段的数据,分别对应过饱和流量、低饱和流量、南北流量和东西流量四种场景。

步骤二,根据实际交叉口道路信息,利用sumo仿真软件建立如图3所示的微观交通仿真环境,输入实际道路中采集的流量数据并生成交通需求文件用于智能体训练。通过sumo建立的单点交叉口如图2所示。建立交叉口之后,为进入交叉口的四条道路输入每个车道的车流量,生成格式为rou.xml的交通需求文件。

步骤三,定义深度强化学习智能体(agent)的状态集、动作集和奖励函数,同时设定神经网络框架结构和定义神经网络参数,本发明中状态集包含车辆位置和车速等信息,动作集包含四种信号灯相位和持续时间的选择;本步骤中“定义深度强化学习agent的状态集、动作集和奖励函数”具体方法如下:

状态集:将仿真时的车辆位置、速度和加速度等信息转换为矩阵图,在已知车道长度为d的情况下,从停车线起划分单元网格,并不是每个单元格都具有相同的大小:单元格距离停止线越远,它就越长,因此覆盖的车道长度也就越多。一个特定的单元格并不一定描述单行道上的情况。如图3所示,事实上,这3条分别用于直行和右转的车道共享相同的单元格,因为它们共享相同的交通灯,而用于左转的车道则有一组单独的单元格。每个单元格的长度的选择并不是一件小事:如果小区太长,一些接近交叉线的车辆可能被检测不到;如果单元太短,覆盖车道长度所需的状态数就会增加,从而带来更高的计算复杂度。在本发明中,最短的单元格的长度,也就是最接近停止线的单元格的长度,正好比一辆汽车的长度长2米。此时若有车占据某一网格,在平面矩阵中将此位置标为1,若某网格中没有车,则标为0,即可得到位置矩阵,速度与加速度取单元格内所有车辆的平均值,即可得到速度矩阵与加速度矩阵。

动作集:交通灯系统中行一个动作就是将一组车道上的一些交通灯变为绿色,并将其保持绿色一段固定的时间。绿色时间设置为10秒,黄色时间设置为4秒。动作集的定义如下式所示:

a={nsa,nsla,ewa,ewla}

其中,nsa为南北方向直行是绿灯,nsla为南北方向左转为绿灯。四种动作的直观表示如图4所示。

如果在时间步t中选择的动作与在最后一个时间步t-1中采取的动作相同(即交通灯组合相同),则没有黄相,因此当前的绿相持续存在。相反,如果在时间步t中选择的动作不等于先前动作,则在两个动作之间启动4秒黄色阶段。这意味着两个相同动作之间的模拟步长数为10,因为在sumo模拟器中1个模拟步长等于1秒。当两个连续动作不同时,黄色阶段计为4个模拟步长,然后所选动作计为10个模拟步长,总共14个模拟步长。图5显示了此过程的简要概述。

奖励函数:奖励函数如下式所示:

rt=0.9twtt-1-twtt

其中,rt为奖励函数,twtt为时刻t所有车辆的总等待时间。

本步骤中“设定神经网络框架结构和定义神经网络参数”具体过程如下:

本发明中使用的drqn网络结构使用卷积神经网络和循环神经网络结合来表示q函数。网络结构如图6所示,将状态矩阵连接具有两层卷积层的卷积神经网络,激活函数采用relu函数,利用卷积神经网络的特性提取多维特征,后面是用relu激活的lstm层,lstm层使得网络且有时间轴上的记忆能力,最后的输出层是全连接层,用于将前面网络提取的高维特征空间映射到低维的动作空间,输出的是所有动作的q值。两个卷积层的卷积核数分别为32和64,卷积核的大小为3*3。实验确定lstm层的层数为2,每层神经元数为256个。

步骤四,初始化神经网络参数和交叉口状态,通过深度强化学习agent的不断训练,得到最优信号灯配时策略。训练过程如下:

步骤41):初始化drqn基本参数和交叉口状态。

步骤42):根据当前交叉口状态选择一个动作。采用ε-贪婪策略,每次迭代选择的时候,产生一个随机数,当随机数小于ε的时候,从动作空间中随机选择一个动作,大于ε的时候,选择q值最大的动作,ε会随着训练次数衰减。

步骤43):执行选择的动作,计算执行该动作获得的奖励并获取交叉口下一个状态。

步骤44):将该记录存放在记忆回放池中。如果记忆回放池中样本数大于batch,则从记忆回放池中拿出batch大小的样本,根据目标网络得到训练样本,用梯度下降法更新网络参数,达到一定步数后更新目标网络,否则,直接进入步骤五。本发明中使用adam算法对网络进行训练,学习率为0.00025;回放记忆池内存大小50000,目标网络更新间隔250;采样间隔设为15,采样批次大小设为100。

步骤45):新状态赋值给当前状态,重复步骤二、三、四,此过程一直重复,直到算法收敛,得到最优配时策略。

训练过程如图7所示,运行了原始的dqn算法。最终测量结果如图8所示。在四种流量情况下,drqn每步的平均累积等待时间都低于原始的dqn。与传统的dqn和stl相比,drqn在低流量情况下分别减少了4.9%和53.5%的平均累积时间。特别地,在高流量情况下,drqn减少了18.3%和36.1%的平均累积时间。结果表明,递归神经网络记录的历史信息使观测状态更符合真实的交点状态,从而使算法在各个时间点上做出更好的动作选择。将结果与固定配时和dqn算法作对比,我们发现,在不同的饱和交通场景下,改进的drqn算法优于dqn算法,且优于传统的定时控制(stl)。

尽管以上本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下,在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。


技术特征:

1.一种基于深度循环q学习的单点交叉口信号控制方法,其特征在于,所述控制方法包括以下步骤:

步骤一:确定需要优化控制的交叉口,并获取交叉口一段时间内的真实交通流数据;

步骤二:根据实际交叉口道路信息,利用sumo仿真软件建立微观交通仿真环境,输入实际道路中采集的流量数据并生成交通需求文件用于智能体agent训练;

步骤三:定义深度强化学习智能体agent的状态集、动作集和奖励函数,同时设定神经网络框架结构和定义神经网络参数;

步骤四:初始化神经网络参数和交叉口状态,通过深度强化学习智能体agent的不断训练,得到最优信号配时策略。

2.根据权利要求1所述的单点交叉口信号控制方法,其特征在于,所述步骤一中的交通流数据为某特定时间段每隔2分钟的车流量数据,数据格式为视频数据。

3.根据权利要求1所述的单点交叉口信号控制方法,其特征在于,所述步骤二中的交叉口微观交通仿真环境包括:交叉口车道数、进口道长度、渠化、相位组成、交叉口车流量、车流组成、车流转向。

4.根据权利要求1所述的单点交叉口信号控制方法,其特征在于,所述步骤三中状态集包含车辆位置和车速信息,动作集包含四种信号灯相位和持续时间的选择。

5.根据权利要求1-4之一所述的单点交叉口信号控制方法,其特征在于,所述步骤三具体包括:将仿真时的车辆位置、速度和加速度的信息转换为矩阵图,在已知车道长度为d的情况下,从停车线起划分单元网格;此时若有车占据某一网格,在平面矩阵中将此位置标为1,若某网格中没有车,则标为0,即可得到位置矩阵,从而得到速度矩阵和加速度矩阵:

a={nsa,nsla,ewa,ewla}

其中,a为动作集,nsa是指南北方向的直线绿相,ewa是指东西方向的直线绿相,l表示左转相位;

rt=0.9twtt-1-twtt

其中,rt为奖励,twtt为时刻t所有车辆的总等待时间。

6.根据权利要求1-4之一所述的单点交叉口信号控制方法,其特征在于,所述步骤三中神经网络框架结构利用了一个深度循环q网络来表示q(s,a|θ)的值,其中θ表示神经网络的权重,s和a分别是状态和动作长短期记忆网络。

7.根据权利要求1-4之一所述的单点交叉口信号控制方法,其特征在于,所述步骤四中深度强化学习智能体的训练具体过程如下:

41)初始化drqn基本参数和交叉口状态;

42)根据当前交叉口状态选择一个动作;

43)执行选择的动作,计算执行该动作获得的奖励并获取交叉口下一个状态;

44)将上述动作记录存放在记忆回放池中;若记忆回放池中样本数大于batch,则从记忆回放池中拿出batch大小的样本,根据目标网络得到训练样本,用梯度下降法更新网络参数,达到一定步数后更新目标网络,否则,直接进入步骤45);

45)新状态赋值给当前状态,重复步骤42)、43)、44)直到算法收敛,得到最优信号配时策略。

8.根据权利要求7所述的单点交叉口信号控制方法,其特征在于,采用ε贪婪策略,每次迭代选择的时候,产生一个随机数,当随机数小于ε的时候,从动作空间中随机选择一个动作,大于ε的时,选择q值最大的动作,ε随着训练次数衰减。

9.根据权利要求1-4之一所述的单点交叉口信号控制方法,其特征在于,在步骤四中所述神经网络训练过程中采用目标网络和经验池回放技术。

10.根据权利要求1-4之一所述的单点交叉口信号控制方法,其特征在于,步骤四中所述神经网络训练过程中利用梯度下降算法为adam算法,利用梯度信息动态调整每个参数的学习率。

技术总结
本发明公开了一种基于深度循环Q学习的单点交叉口信号控制方法,该方法在单个路口使用深度循环Q学习(DRQN)算法学习最优信号控制策略,其中DRQN算法在DQN的基础上引入LSTM神经网络,利用LSTM能够记忆时间轴信息的特性,通过结合交叉口前几个时刻的状态而非仅仅通过当前时刻的状态来全面地表示当前交叉口输入状态,从而减小交叉口POMDP特性对深度Q学习性能的影响,本发明改进后的DRQN算法性能优于DQN算法,也优于传统的交叉口定时控制方法;当交通流接近饱和和过饱和时,DRQN算法可以观察交叉口在各个时刻的状态,做出最佳的时机选择,从而提高交叉口通行效率。

技术研发人员:张伟斌;方亮亮;郑培余;陶刚;陈波;杨光;陈冰
受保护的技术使用者:多伦科技股份有限公司;南京理工大学
技术研发日:2020.01.11
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-47556.html

最新回复(0)