基于启发式深度Q网络的交通灯控制方法与流程

文档序号:22316940发布日期:2020-09-23 01:44阅读:216来源:国知局
基于启发式深度Q网络的交通灯控制方法与流程

本发明属于智能交通控制领域,特别涉及一种交通灯控制方法,可用于城市交通管理,减少城市交通拥堵。



背景技术:

在城市智能交通控制领域,深度学习和强化学习是目前很热门的研究方向,并取得了不错的成效。强化学习是通过与城市道路环境的不断交互获取环境状态来学习最优的交通控制策略,形成城市交通的自适应控制系统。然而由于城市道路环境复杂度的提高会导致其在获取先验知识过程中,状态-动作空间的维度急剧增长。为解决此类问题,强化学习与深度学习结合形成的深度强化学习drl同时利用深度学习的感知能力和强化学习的决策能力,对高维输入进行处理,表现出了良好的效果。深度学习可以从高维数据中提取判别信息,在大数据推理与机器学习研究方向具有良好的表现。将深度学习方法应用于自适应交通信号控制问题已经成为国内外研究的热点,可以进一步优化现有的交通信号控制方法,同时利用多智能体系统,结合实际的复杂路网情况分析多路口之间的协作关系,实现多路口交通信号控制。

强化学习通过状态、动作和奖励与环境进行交互,其主要由智能体和环境组成。强化学习rl的模型如图2所示。rl通过不断的试错,从环境中获取奖励值,根据奖励值来改进智能体的动作选择,以获取最大的奖励。一个强化学习任务在满足马尔可夫性时被称作马尔可夫决策过程mdp,马尔可夫决策过程定义为如下所示五元组:其中i,j∈s,a∈ai。

式中,s表示环境状态空间的集合;i和j分别表示状态集中的一个状态,ai表示agent在状态i的动作集;表示在状态i下采取动作a转移到状态j的转移概率,状态转移函数为t:s×a→π(s);表示采取动作a从状态i转移到状态j的奖励值;γ为折扣因子,它控制着即时奖励和未来奖励的重要程度,γ∈[0,1]。在每个迭代次数t,agent从环境中感知状态st∈s,并选择一个执行动作a,采取行动后根据状态转移概率转移到下一个状态st+1∈s,然后观察获取奖励值rt。马尔科夫性指agent的下一个状态仅与当前状态有关,而与历史状态无关。

深度学习dl通过将机器要学习的事务转换成数据,然后建立一个多层神经网络模型不断地训练这些数据,直到得到的结果满足要求,保留这个模型的各项参数,否则,继续调整网络的参数设置,直到输出满足要求为止,是一种新的机器学习方法。主要用于处理一些大数据问题,包括文字、图像、视频、语音等多种类型数据。

深度学习通过堆叠多个层,将前层特征通过神经网络处理,组合成更加抽象的后层来表示数据中隐藏的类别或特征,即将上一层输出作为下一层的输入,以发现数据的分布式特征表示,与其他的机器学习方法相比,深度学习注重模型结构的深度,通过逐层特征变换,从高维数据中学习特征,获取更多的内在信息,它的主要优点包括可以获取更高的准确率,可以更好的适应不同的领域和应用,不需要复杂的特征工程。

wiering等人使用多智能体强化学习算法来学习交通信号控制,即交通控制tc1方法,以最大程度地减少城市中汽车的总体等待时间,选择的交通信号是通过累计所有汽车的预计等候时间来设置的,但是该算法需要一个中心服务器来控制每个路口的交通信号,由于城市交通的动态性、复杂性和不确定性,服务器并不能做出及时的交通控制。

balajipg等人提出了一种基于多智能体的分布式交通信号控制,所提出的基于自适应强化学习交通信号控制具有完全分布式的体系结构,其中的智能体能够相互交互,以有效地计算最佳的绿灯时间值,从而减少总行驶时间延迟并提高车辆平均速度,并通过智能体之间的即时通信共享交通路网信息,提高了每个智能体的预测能力,但是交通状态信息急剧增多,智能交通控制的难度呈指数级增长。

bakker和kuyer等人在wiering的基础上,提出了两种改进方法。一种是结合邻接路口的交通拥堵情况,计算车辆的全局拥堵因子,得到不同的状态转移概率和值函数。另一种方法通过多个路口控制器之间的不断通信,利用协作图建模来实现多路口协作的交通信号控制。通过这两种方法虽然增加了路口之间的协作,但是由于要不断更新维护全局拥堵因子,降低了深度q学习算法效率,且使得深度q学习算法灵活性、鲁棒性变差。

xiaoyuanliang等人提出了一种深度强化学习drl模型来控制交通信号周期,根据从不同传感器收集的数据来确定交通信号的持续时间。该模型通过收集交通数据并将整个交叉路口划分为小网格,将复杂的交通情景量化为状态;动作是交通信号灯的持续时间变化,这些动作被建模为高维马尔可夫决策过程;奖励是两个周期之间的累积等待时间差。但是该模型中各智能体独立学习,并没有相互合作,这使得深度强化学习算法收敛速度很慢,很难学到一个最优的交通灯控制策略。



技术实现要素:

本发明的目的在于针对上述现有技术的不足,提出基于启发式深度q网络的交通灯控制方法,以在动作选择阶段,通过结合启发式函数和原有的策略指导交通灯控制器的动作选择,促进其对状态动作空间的探索,加快收敛速度,提高路口交通信号控制器的控制性能。

为实现上述目的,本发明的技术方案包括如下步骤:

(1)读取城市交通路网信息,建立各个路口的车辆交通状态集合,并将读取的城市交通路网信息转换为邻接矩阵进行存储;

(2)从(1)建立的各个路口车辆交通状态集合中,获取各个路口信息,即各时刻的状态集、动作集和动作奖励值;

(3)根据(2)获取的信息和(1)中的邻接矩阵,利用启发式深度q网络方法实现对城市路网交通灯进行控制:

3a)初始化第i个路口的评估网络参数θi=1和目标网络参数θi-=1,初始化学习率α=0.05,折扣因子γ=0.99,ε贪心策略中的ε初始为1迭代递减至0.01,采样间隔batch=32,目标网络更新步长c=50,仿真时间t的初始值为0,初始化第i个路口的奖励rti=0,迭代次数上限t=50000;

3b)设置启发式函数

3c)在时刻t,将第i个路口的状态输入到评估网络中,对任意一个动作a,计算评估网络的输出值和启发函数的函数值;

3d)选择并执行信号灯动作获得奖励rti,再进入下一状态令t=t+1;

3e)用状态动作评估网络的输出值奖励rti和下一状态组成一个参考向量并将其存储在第i个路口的参考向量集mi中,当该参考向量个数大于2000时,开始训练评估网络,执行3f),否则,执行3c);当该参考向量个数大于5000,则移除最早生成的参考向量;

3f)从参考向量集mi中采样得到参考向量的样本集,输入到评估网络中得到输出值根据评估网络的输出值和第j个邻接路口t-1时刻的评估网络的输出值更新第i个路口的评估网络的输出值

3g)计算评估网络的损失函数,根据梯度下降方法更新评估网络参数θi,每隔50步,目标网络参数θi-=θi;

3h)将当前迭代次数t与迭代次数上限t进行比较,判断迭代是否停止:

若t>t,完成对城市路网交通灯的控制;否则,返回3c)。

本发明与现有方法相比有如下优点:

第一,本发明采用了先将参考向量存储到参考向量池,再对参考向量池进行采样的方法,避免顺序生成的训练数据的相关性,使得整个训练数据满足独立且同分布的假设,其训练结果更有说服力;

第二,本发明采用结构与评估网络相同、参数不同的目标网络,避免了评估输出值的微小变化都会导致学到的交通灯控制策略不能收敛的问题;

第三,本发明提高了深度q学习方法的学习效率,进一步改善了多路口交通信号控制器的性能,有效地调节了各路口的交通流,单位时间内全局通过各个路口的车辆更多,在最大程度上缓解城市交通的压力,避免交通拥堵情况的发生。

附图说明

图1为本发明的实现总流程图;

图2为本发明中使用的强化学习模型图;

图3为本发明中使用的开源交通仿真软件gld生成的交通路网图;

图4为本发明中路口以及路口的信号灯组合图;

图5为本发明中路口交通状态图;

图6为本发明中进行启发式深度q学习的子流程图;

图7为用本发明与现有的两种交通灯控制方法在交通顺畅的情况下对交通灯控制的性能评价对比图;

图8为用本发明与现有的两种交通灯控制方法在交通拥堵的情况下对交通灯控制的性能评价对比图。

具体实施方式

下面结合附图,对本发明实例和效果作进一步的详细描述。

参照图1,本实例的实现步骤如下:

步骤1,读取城市交通路网信息,建立各个路口的车辆交通状态集合,并将读取的城市交通路网信息转换为邻接矩阵进行存储。

1.1)通过开源交通仿真软件gld生成城市交通路网信息,如图3中所示,建立各个路口的车辆交通状态集合ti:

1.1.1)根据交通路网信息构建路口交通信号控制器的集合i:

i={agent0,···agenti,···agentn},

其中agenti表示第i个路口的交通信号控制器,i∈[0,n],n为路网中的路口数;

1.1.2)根据中国的道路交通规则建立路口信号控制器agenti的动作集ai:

ai={a1,a2,a3,a4},

其中a1表示南北方向的直行或右拐,a2表示东西方向的直行或右拐,a3表示南北方向的左拐,a4表示东西方向的左拐,路口信号控制器agenti在同一时刻只能选择一组信号灯相位方向,图4中标注了一个路口含有的4种信号灯组合,信号灯相位的执行取决于路网的实时交通状态,路网交通动作集与信号灯相位集映射关系如表1所示:

表1动作与路口信号灯相位关系

1.1.3)根据城市交通路网信息构建第i个路口的驶入车道集合li,驶入车道集合li中的一条驶入车道为li,li∈li;

1.1.4)根据中国的道路交通规则构建第i个路口的信号灯集合tli,驶入车道li上的信号灯为tli,tli∈tli,该信号灯仅考虑红灯和绿灯;

1.1.5)根据路网中车辆信息构建第i个路口的车辆状态集其包含车辆所处车道的信号灯tli、所处位置p以及目的地d信息,并用三元组[tli,p,d]表示;

1.1.6)根据交通信号控制器的集合i、路口信号控制器agenti的动作集ai、驶入车道集合li、信号灯集合tli和车辆状态集建立第i个路口的车辆交通状态集合ti:

同理,可以建立路网中所有路口的车辆交通状态集合。

步骤2,从步骤1建立的各个路口车辆交通状态集合中,获取各个路口信息,即各时刻的状态集、动作集和动作奖励值。

2.1)获取各个路口各时刻的状态集:

2.1.1)通过交通仿真软件gld实时获取路网中的交通信息,设置每个路口的所有驶入车道长度为l,将其平均划分为6个车位,设置每个车位长度为b,确保每个车位刚好能够容纳一辆车;

2.1.2)在时刻t,对于驶入车道集合li中的一条驶入车道li,如图5所示,它的状态可用矩阵表示:

其中,0表示该车位上没有车辆,1表示该车位上有车辆,该路口的状态集表示如下:

同理可获得所有路口的状态集;

2.2)获取各个路口各时刻的动作集ai:

ai={a1,a2,a3,a4},

该动作集ai与信号灯相位集映射关系如表1所示;

2.3)根据表1的映射关系选择对应的信号灯相位,对执行动作集ai中的一个动作ak,按如下规则修改交通灯相位的执行时间,k=1,2,3,4:

2.3.1)设置交通信号灯相位执行时间的初始值为40秒;

2.3.2)交通灯控制器每隔10秒选择一次信号灯相位,若下一次将要执行的信号灯相位与上一时刻不同,则执行时间减少10秒,否则,增加10秒;

2.3.3)当信号灯相位的执行时间累计到70秒或者执行时间减至0秒时,直接将该路口交通信号灯相位替换为下一相位执行;

2.4)计算各个路口各时刻的动作奖励值

其中w1、w2、w3为三个不同的比例系数,ni为在动作执行期间通过路口i的车辆数,n0为单位时间内经过的车辆数的平均值,为在t时刻第i个路口的四个不同方向车辆的队列长度,n为路口车道数量,pj表示在第j个车道所有车辆的等待时间,r0表示系统定义的额外奖励。

步骤3,根据步骤2获取的信息和步骤1中的邻接矩阵,利用启发式深度q网络方法实现对城市路网交通灯进行控制。

参照图6,本步骤的具体实现流程如下:

3.1)构建第i个路口的评估网络和目标网络:

3.1.1)将两个卷积层和两个全连接层依次连接组成评估网络,第i个路口的评估网络的参数用θi表示;

3.1.2)设置结构与评估网络相同、参数不同的目标网络,第i个路口的目标网络参数用表示;

3.1.3)定义评估网络的损失函数mse如下:

其中,m为批次大小,rti为动作奖励值,θi为评估网络的参数,表示θi-目标网络参数,为第i个路口t时刻在状态下所有动作的评估网络最大输出值,ωi,j为比例系数,表示第j个邻接路口t-1时刻的评估网络的输出值,为评估网络的输出;

3.2)初始化学习率α=0.05,折扣因子γ=0.99,ε贪心策略中的ε初始为1迭代递减至0.01,采样间隔batch=32,目标网络更新步长c=50,仿真时间t的初始值为0,初始化第i个路口的奖励rti=0,迭代次数上限t=50000;

3.3)设置启发式函数

其中:

式中,表示在t时刻第i个路口的状态,c为比例系数,c∈[0,1],l为第i个路口的任意一个车道,为在状态下采取动作a之后第l个车道的车流量,ai为第i个路口的动作集,a'为ai中的任意一个动作,θi为第i个路口的评估网络的参数,为将输入到第i个路口的评估网络的输出值,η为一个较小的正值,启发函数的值越大,表明状态下动作a越好,即交通路网中车辆的通行量越多。

3.4)在时刻t,将第i个路口的状态输入到评估网络中,对动作集ai中的任意一个动作a,计算评估网络的输出值

其中mlp函数为评估网络函数,它由评估网络的结构决定,mlp函数先将通过两个卷积层卷积来提取特征,再将提取到的特征通过两个全连接层得到输出

3.5)根据评估网络的输出计算启发函数的函数值,进而选择信号灯动作

其中,rand(0,1)表示[0,1]之间的一个随机数,ε初始值为1迭代递减至0.01,为评估网络的输出,为启发式函数的值;

3.6)用状态动作评估网络的输出值奖励rti和下一状态组成一个参考向量并将其存储在第i个路口的参考向量集mi中,当该参考向量个数大于2000时,开始训练评估网络,执行3.7),否则,执行3.4);当该参考向量个数大于5000,则移除最早生成的参考向量;

3.7)从参考向量集mi中采样得到参考向量的样本集,输入到评估网络中得到输出值根据评估网络的输出值和第j个邻接路口t-1时刻的评估网络的输出值更新第i个路口的评估网络的输出值

其中,α(t)为学习率,γ为折扣因子,ai为第i个路口的动作集,a'为ai中的任意一个动作,θi和θi-分别是第i个路口的评估网络和目标网络的参数,n为第i个路口的邻接路口集,ωi,j表示第j个邻接路口t-1时刻的评估网络的输出值的权重,计算公式如下:

式中,c1、c2为两个数值不同的比例系数,di,j表示第i个路口到第j个路口的距离,ti,j表示第i个路口到第j个路口之间的车辆数;

3.8)令t=t+1,计算评估网络的损失函数,根据梯度下降方法更新评估网络参数θi,每隔50步,目标网络参数θi-=θi;

3.9)将当前迭代次数t与迭代次数上限t进行比较,判断迭代是否停止:

若t>t,完成对城市路网交通灯的控制;否则,返回3.4)。

本发明的效果可通过以下实验做进一步说明。

一.仿真条件

用本发明与现有的两种交通灯控制方法在开源的微观交通仿真软件gld中进行实验和仿真。gld是一个基于细胞自动机的仿真环境,可以根据自己的需要创建和编辑交通网络,实现自己的控制方法。本发明在jdk1.8环境下用java语言实现。

通过gld仿真平台创建交通路网,如图3所示,其中包括路口、车道、车辆和车辆产生频率。

该路口包括12个边缘路口和9个交叉路口,车辆从边缘路口产生,每个交叉路口上设有红绿灯,车辆行驶过程中会受到红绿灯以及前方车辆的限制,随机选择一个其他边缘路口作为目的地;

该交通路网共有24条道路,每条道路由4条车道组成,每条车道都划分单元格来容纳车辆,每个单元格同时仅供一辆车占用,当所有车道都被车辆占满时发生堵塞;

该车辆包括汽车和公交车,不同类型的车辆长度不同;不同的车辆产生频率对应不同的交通仿真场景,由于当车辆产生频率值大于等于0.4时则会产生交通拥堵,当小于0.4时则不会造成严重的交通拥堵;

仿真实验的现有方法:协作式深度q学习cdqn方法和基于置信传播的交通信号控制方法maxplusjj。

参数设置:折扣因子γ=0.9,ε策略中的ε=0.01;

性能评价指标:路口车辆平均等待时间ajwt、车辆平均行驶等待时间atwt和到达目的地的总车辆数tav:

路口的车辆平均等待时间ajwt,用于反映路口的交通性能,定义如下:

式中,ni为通过第i个路口的所有车辆数,表示第k辆车在第i个路口的等待时间,ajwt值越小,说明路口越通畅,反之,ajwt越大,说明路口越拥堵;

车辆平均行驶时间atwt,用于反映整个路网的交通性能,定义如下:

式中,n为路网中所有的车辆总数,wk表示第k辆车在路网中的行驶时间,atwt值越小,说明路网性能越好,反之,atwt越大,说明路网性能越差;

到达目的地的总车辆数tav是通过gld仿真软件统计得到,tav值越大,说明路口拥堵时间越少,反之,路口拥堵时间越长。

二.仿真实验内容

仿真实验1:在图3所示的交通网络中,在交通顺畅的情况下,设汽车的生成频率为0.25,公交车的生成频率为0.05,用本发明方法和上述现有两种交通控制方法进行城市路网交通灯控制仿真,从仿真结果中获取三个交通性能评估指标,其中的两个评估指标路口的车辆平均等待时间ajwt和车辆平均行驶时间atwt如图7所示,然后计算三个评估指标的平均值,如表2所示。

表2交通顺畅的情况下三种控制方法交通性能评价指标平均值

仿真实验2:在图3所示的交通网络中,在交通拥堵的情况下,设置汽车的生成频率为0.35,公交车的生成频率为0.05,用本发明方法和上述现有两种交通控制方法进行城市路网交通灯控制仿真,从仿真结果中获取三个交通性能评估指标,其中的两个评估指标路口的车辆平均等待时间ajwt和车辆平均行驶时间atwt如图8所示,然后计算三个评估指标的平均值,如表3所示。

表3交通拥堵的情况下三种控制方法交通性能评价指标平均值

图7、图8和表3、表2均表明:本发明的atwt和ajwt指标明显优于基于置信传播的交通信号控制maxjj方法,其性能与协作式深度q学习cdqn方法相当,能有效减少路口车辆的等待时间,实现对复杂交通路网下交通信号的有效控制;但本发明的atwt和ajwt指标曲线收敛速度要快于协作式深度q学习cdqn方法,表明本发明能够对复杂路网中的交通信号作出更及时的控制。

综上所述,本发明能够实现对多路口交通信号的有效控制,其控制效果优于现有的交通信号控制方法,与现有的两种交通信号控制方法相比,表现出更好的稳定性及更快的收敛速度。

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