一种基于3DQN_PSER算法的单交叉口信号控制方法与流程

文档序号:21008902发布日期:2020-06-05 23:23阅读:319来源:国知局
一种基于3DQN_PSER算法的单交叉口信号控制方法与流程

本发明涉及智慧交通技术领域,尤其涉及一种基于3dqn_pser算法的单交叉口信号控制方法。



背景技术:

交通拥堵问题是屡见不鲜的“城市病”,而信号控制一直被认为是治理拥堵的最佳方式。由于交通系统具有较强的非线性、模糊性和不确定性,传统的理论和方法很难对其进行有效的控制,随着近些年机器学习和人工智能技术的火热发展,学者们发现强化学习这种无模型自学习的方法,非常适合序列决策的交通信号控制问题。强化学习核心三要素为状态、动作和奖励,若将其应用在交通信号控制领域,复杂的交通状态空间容易引发“维数灾难”问题,所以通常将深度学习这种能够抽取大样本集数据特征的新技术结合强化学习,也就是深度强化学习。

在深度强化学习处理信号控制领域中,仍然存在一些问题:状态设计主要采用离散交通状态编码(dtse)将进口道从停车线位置开始划分成若干网格,并将网格内的车辆信息组装成三维张量;动作调整主要基于两类,一类是固定相序,通常做法是在满足最小绿灯时间前提下的每一时刻做出选择,保持当前相位还是切换下一相位,另一类是可变相序,在达到最小绿灯时间基础上从若干相序方案中做出选择;奖励主要通过单指标来评价,但实际控制效果无法通过单一指标来衡量;从采用的深度强化学习算法来看,未能结合实际交通流量数据时序特性来进行算法优化。



技术实现要素:

本发明为克服上述的不足之处,目的在于提供一种基于3dqn_pser算法的单交叉口信号控制方法,本发明基于3dqn_pser算法(采用优先序列经验重放、基于双深度网络(doubledqn)和竞争结构网络(duelingdqn)技术的深度强化学习算法),结合典型单交叉路口的特点并遵循信号控制基本原则,在离散交通状态编码的基础上增加信号灯状态;并引入动作奖惩系数来满足最小最大绿灯时间约束;还采用排队长度、累计等待时间、刹车次数和相位是否切换进行多指标系数加权奖励。在此基础上,考虑到交通流数据和信号方案之间存在时序相关性,采用基于优先序列经验重放的方式来更新经验池中的样本数据优先级,并通过双q网络来调整q值的选择,以及使用竞争架构q网络来微调网络结构。本发明克服了原有的单一状态设计的局限性问题,通过信号控制,可以大大缓解交通拥堵问题。

本发明是通过以下技术方案达到上述目的:一种基于3dqn_pser算法的单交叉口信号控制方法,包括如下步骤:

(1)对城市道路交叉口各进口道卡口电警的过车数据进行统计;

(2)对步骤(1)采集到的流量数据进行预处理,根据车牌号匹配的方法消除重复数据,并对缺失数据,按照短期内流量的时序相关性,采取前后流量数据的均值进行修复;

(3)基于步骤(2)得到的各车道流量数据,生成od矩阵,配置对应的路由数据文件,并根据实际交叉口拓扑结构生成路网文件,基于需要探测的车辆运行状态配置车道区域探测器;

(4)通过离散交通状态编码技术设计路口的车辆动态流信息,组装成三维张量输入,并根据不同流向当前的信号状态,设计一维数组表示作为另一输入;

(5)将相位方案库离散化,作为动作集合a,引入动作奖惩系数δ来满足相位最小最大绿灯时间约束,对信号灯状态转变进行设计以实现相位过渡;

(6)对排队长度rqueue、累计等待时间rwaittime、刹车次数rhalting和相位是否切换rphase四个指标进行系数加权,作为信号智能体的奖励函数;(7)基于以线为单位来调整一定范围内样本数据优先级的优先序列经验重放的方法,并结合doubledqn和duelingdqn来优化深度q学习算法,基于adam优化器,并采用均方差作为损失函数,反复更新网络模型参数,寻找得到最优的配时方案。

作为优选,所述步骤(1)具体为:基于城市道路交叉口安装的卡口和电子警察等视频检测系统,收集单交叉口的流量数据记录,按照分钟为单位时间对记录进行处理,根据车辆唯一标识,即车牌号,统计各进口道的过车数量;其中每条记录包含如下信息:device_id、intersection_name、cameraposition、turnid、roadid、time。

作为优选,所述步骤(4)具体为:

(i)采用离散交通状态编码技术,将进口道从停车线位置开始划分成若干网络,并以网格内的车辆位置和速度信息组装成状态s,对于有h个进口道的典型四岔路口,状态空间大小是由该路口各进口道的网格信息确定,记为h×(l/c)×y,其中,y表示刻画交通状态的指标数目,l表示进口道检测器探测的区域长度;将该路口车辆的分布位置和对应未知的速度组装成三维张量;

(ii)针对典型四岔路口的8个流向,设计一维数组作为信号灯状态,若信号灯当前执行某相位方案,其信号灯状态可能是[1,0,0,0,1,0,0,0],其中1表示某流向为绿灯信号,该数组作为算法模型的另一状态输入信息,通过全连接层的处理,再与经过三层卷积处理的交通流状态信息结合,然后进行一系列全连接层处理。

作为优选,所述步骤(5)中,列举出所有无冲突情况下的相位方案库,信号智能体在每个决策点都会从动作方案集合a={0,1,2,3,4,5,6,7}中选择一种相位方案;如果选择的动作和当前相位方案相同,则执行当前绿灯相位τg秒,否则,需要先执行过渡相位(黄灯相位)τy秒,根据在决策点的选择会执行对应的相位方案;其中,根据相位最小绿灯时间和最大绿灯时间,设计了动作奖惩系数,并将其引入最终q值的计算;动作奖惩系数如下所示:

其中,其中,gmin和gmax分别表示最小绿灯时间和最大绿灯时间,φ为奖惩尺度,取值需要结合奖励分布情况来设计;p1和p2表示相位方案中两流向的绿灯时间,且本式前提为p1<p2;

在相位方案切换的过程中,会涉及信号灯灯色状态的转移,若当前信号灯执行方案一,由流向2和流向5组成,下一决策点选择的动作仍是方案一,则会继续执行当前方案τg秒;若下一决策点执行的动作是方案二,则在切换到方案二相位之前,会先执行对应的过渡相位τy秒,根据前后决策点的相位方案不同,执行的过渡相位也有所不同,若下一决策点执行方案五动作,则会保持流向2绿灯,而流向5变成黄灯过渡相位。

作为优选,所述步骤(6)具体如下:

(i)各车道在该决策点的排队长度之和rqueue;

(ii)相邻决策点之间的累计等待时间之差rwaittime,若当前处于决策点k+1,此时的累计等待时间rwaittime=wk+1-wk,如果rwaittime<0,表明这段时间路网比之前畅通,反之则表明路网拥堵加重,此外等待时间是根据车辆的速度是否低于0.1m/s来判定的;

(iii)各车道在该决策点的刹车数量之和rhalting;

(iv)当前决策点选择的动作是否会导致相位切换rphase,如果切换的话rphase=1,没有切换的话rphase=0;

(v)综合以上指标,并结合相应的权重系数k1,k2,k3,k4,加权得到最终的奖励:

r=k1*rqueue+k2*rwaittime+k3*rhalting+k4*rphase。

作为优选,所述步骤(7)中,利用doubledqn和duelingdqn技术来调整q值的选择以及局部网络结构,经过以上调整后,q值的更新函数如下:

式中,q(s,a;θ,α,β,δ)=q(s,a;θ,α,β)+δ

其中,θ和θ-分别表示主网络和目标网络参数,α和β表示经dueling调整后,全连接层两支流的参数,s′表示下一个状态,γ表示折扣系数,指的是即时奖励和累计未来奖励之间的衰减情况,δ为动作奖惩系数;考虑到短期内交通流和信号方案相互依赖,以及数据自身特性,采用优先序列经验重放的方法来更新序列样本的优先级,即以“线”为单位来调整一定范围内的样本优先级,并使用均方差作为损失函数:

通过梯度下降法将误差反向传播,并更新一轮网络模型参数,当奖励值收敛到稳定值,便得到最佳的信号配时方案。

作为优选,所述更新规则如下:

pt-1=max(ρ1pt,pt-1)

pt-2=max(ρ2pt,pt-2)

pt-3=max(ρ3pt,pt-3)

...

pt-(w-1)=max(ρ(w-1)pt,pt-(w-1))

其中,ρ为衰减系数,用来相邻决策点之间优先级影响程度;pt是索引t的样本优先级,指估计q值和实际q值之间差的绝对值,称为td-error,其计算公式如下:

pt=|yt3dqn-q(s,a;θ,α,β,δ)|+ο

其中,o是一个常数,为了避免优先级为零,设为0.0001。

本发明的有益效果在于:本发明克服了原有的单一状态设计的局限性问题,通过信号控制,可以大大缓解交通拥堵问题。

附图说明

图1是本发明的方法流程示意图;

图2是本发明实施例的单交叉口仿真示意图;

图3是本发明实施例的状态设计示意图;

图4是本发明实施例的东进口道拓扑图;

图5是本发明实施例的位置信息示意图;

图6是本发明实施例的速度信息示意图;

图7是本发明实施例的相位方案库示意图;

图8是本发明实施例的动作选择过程示意图;

图9是本发明实施例的pser优先级更新示意图;

图10是本发明实施例的算法框架示意图。

具体实施方式

下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:

实施例:如图1所示,一种基于3dqn_pser算法的单交叉口信号控制方法,整个流程由以下几个阶段组成:交叉口各进口道流量数据统计,异常数据处理、配置仿真路由文件、非单一状态设计、配时约束以及相位过渡调整、多指标系数加权奖励、优先序列经验重放的深度q学习算法改进,具体步骤如下:

(1)基于城市道路交叉口安装的卡口和电子警察等视频检测系统,收集单交叉口的流量数据记录,按照分钟为单位时间对记录进行处理,根据车辆唯一标识,即车牌号,统计各进口道的过车数量;其中每条记录包含如下信息:device_id、intersection_name、cameraposition、turnid、roadid、time。

(2)对步骤(1)采集到的流量数据进行预处理,在实际的交通环境中,由于数据传输、网络瘫痪以及设备故障等原因,采集的数据存在重复或缺失等异常情况:对重复数据,根据短期内同一车牌号不会出现多次的方案进行剔除;对缺失数据,按照短期内流量的时序相关性,采取其前后流量数据的均值进行修复。

(3)基于步骤(2)得到的各车道流量数据,生成od矩阵,配置对应的路由数据文件,并根据实际交叉口拓扑结构生成路网文件,基于需要探测的车辆运行状态配置车道区域探测器。在本实施例中,首先根据实际单交叉口拓扑结构进行建模,如图2所示,生成微观仿真软件sumo(simulationofurbanmobility)所需要的路网文件road.net.xml以及对车辆运行状态信息进行检测的探测器文件road.det.xml;随后根据步骤2得到的流量数据,按照五分钟为单位进行统计,生成路由文件road.rou.xml;最后,将路网文件road.net.xml,探测器文件road.det.xml和路由文件road.rou.xml链接到sumo核心配置文件road.sumocfg中,实现在仿真工具中车辆运行权分配。

(4)通过离散交通状态编码技术设计路口的车辆动态流信息,组装成三维张量输入,并根据不同流向当前的信号状态,设计一维数组表示作为另一输入。

根据典型单交叉口的车道设置,按照“东南西北”的原则将车道依次标注为:l0...l19(以20个车道的路口为例),如图3所示,采用离散交通状态编码(dtse)技术,针对有h个进口道的单交叉口,从停车线位置开始按照指定单位c(一般为标准车当量长度)划分成若干网格,得到状态空间大小为h×(l/c)×y,如图4,5,6所示,其中,y表示刻画交通状态的指标数目,l表示进口道检测器探测的区域长度,将该路口车辆的分布位置和对应未知的速度组装成三维张量,并作为卷积神经网络输入,也就是三维张量状态输入。除此之外,针对某典型四岔路口的8个流向,设计了一维数组作为信号灯状态,若信号灯当前执行某相位方案,其信号灯状态可能是[1,0,0,0,1,0,0,0],其中1表示某流向为绿灯信号,该数组作为算法模型的另一状态输入信息,通过全连接层的处理,再与经过三层卷积处理的交通流状态信息结合,随后进行一系列全连接层处理,这种非线性神经网络模型可以挖掘数据内部的潜在特征。

(5)将相位方案库离散化,作为动作集合a,引入动作奖惩系数δ来满足相位最小最大绿灯时间约束,对信号灯状态转变进行设计以实现相位过渡。

在本实施例中,引入动作奖惩系数δ来满足信号控制中相位最小绿灯时间和最大绿灯时间约束,并对信号灯灯色状态进行分析,实现相位稳定过渡。对于某典型“四岔”单交叉口,遵循工程上划分相位的安全通行原则,列出在无冲突情况下的相位方案库,如图7所示。信号智能体在每个决策点都会从动作方案集合a={0,1,2,3,4,5,6,7}中选择一种相位方案,如果选择的动作和当前相位方案相同,则执行当前绿灯相位τg秒,否则,需要先执行过渡相位(黄灯相位)τy秒,如图8所示,根据在决策点的不同选择会执行对应的相位方案。这里根据相位最小绿灯时间和最大绿灯时间,设计了动作奖惩系数,并将其引入最终q值的计算,以此来引导信号智能体更加合理地选择动作,动作奖惩系数δ的表达式如下:

其中,gmin和gmax分别表示最小绿灯时间和最大绿灯时间,φ为奖惩尺度,取值需要结合奖励分布情况来设计,p1和p2表示相位方案中两流向的绿灯时间,且本式前提为p1<p2。在相位方案切换的过程中,会涉及信号灯灯色状态的转移,若当前信号灯执行方案一,由流向2和流向5组成,下一决策点选择的动作若是方案一,则会继续执行当前方案τg秒;若下一决策点执行的动作是方案二,则在切换到该方案二相位之前,会先执行对应的过渡相位τy秒,根据前后决策点的相位方案不同,执行的过渡相位也有所不同,若下一决策点执行方案五动作,则会保持流向2绿灯,而流向5变成黄灯过渡相位。

(6)对排队长度rqueue、累计等待时间rwaittime、刹车次数rhalting和相位是否切换rphase四个指标进行系数加权,作为信号智能体的奖励函数,具体如下:

1)各车道在该决策点的排队长度之和rqueue。

2)相邻决策点之间的累计等待时间之差rwaittime,若当前处于决策点k+1,此时的累计等待时间rwaittime=wk+1-wk,如果rwaittime<0表明这段时间路网比之前畅通,反之则表明路网拥堵加重,此外等待时间是根据车辆的速度是否低于0.1m/s来判定的。

3)各车道在该决策点的刹车数量之和rhalting。

4)当前决策点选择的动作是否会导致相位切换rphase,如果切换的话rphase=1,没有切换的话rphase=0。

综合以上多指标,并结合相应的权重系数k1,k2,k3,k4,加权得到最终的奖励:

r=k1*rqueue+k2*rwaittime+k3*rhalting+k4*rphase(2)

(7)基于以线为单位来调整一定范围内样本数据优先级的优先序列经验重放的方法,并结合doubledqn和duelingdqn来优化深度q学习算法,基于adam优化器,并采用均方差作为损失函数,反复更新网络模型参数,寻找得到最优的配时方案。

深度q学习算法在处理信号控制问题时,容易造成过拟合问题,另外在某些特殊情况下(如路口交通瘫痪),无论采取何种配时动作,对交通状态都没多大影响。针对以上问题,本说明书利用双深度网络(doubledqn)和竞争结构网络(duelingdqn)技术来调整q值选择以及局部网络结构,经过以上调整,算法的q值更新为:

式中,

q(s,a;θ,α,β,δ)=q(s,a;θ,α,β)+δ(4)

其中,θ和θ-分别表示主网络和目标网络参数,α和β表示经dueling调整后,全连接层两支流的参数,s′表示下一个状态,γ表示折扣系数,指的是即时奖励和累计未来奖励之间的衰减情况,δ为前面提到的动作奖惩系数。

另外,根据交通控制理论和饱和度相关定义,短期内的交通流和信号方案相互依赖,并且强化学习智能体在取样时,随机采样容易忽略数据自身特性,贪婪优先级采样又会导致训练数据高度集中的问题,主流做法是采用优先经验重放(per)的方式进行优先级更新,使用sumtree这种特殊的数据结构存储经验池中的记录,并引入了重要性采样权重w。本说明书在此基础上,采用优先序列经验重放(pser)的方法来更新序列样本的优先级,该方法不再是以“点”为单位改变样本数据的优先级,而是以“线”为单位来调整一定范围内的样本优先级,以一组序列样本数据优先级[3,10,12,4,1,2,8,2]为例,叶子节点存储样本数据优先级的值,索引用来唯一标识序列样本,区间为采样时优先级的范围,根结点是所有叶子节点优先级之和,即42,若需要采取两个样本,需要从[0,21),[21,42)两个区间做均匀采样,这里采样到18和37,具体采样过程如图9所示,采取到的数据对应叶子节点索引分别为3和8,如果采用per技术的话,只会更新叶子节点3和8所对应的数据优先级,而采用pser技术,会更新以这两个节点为起点前向更新窗口(w=2)内的样本数据优先级。另外,叶子节点3优先级最高,其对应的区间为[13,25),采样概率高于其它优先级较低的叶子节点。

在本说明书中,索引t的样本优先级pt是指估计q值和实际q值之间差的绝对值,称为td-error,结合式(3)和主网络的输出,其计算如下:

pt=|yt3dqn-q(s,a;θ,α,β,δ)|+ο(5)

其中,o是一个常数,为了避免优先级为零,一般设成0.0001。在神经网络的每轮训练之后,对mini-batch策略抽取的样本数据进行一轮优先级更新,为了防止“优先级崩溃”,采用参数η来调整优先级更新,使其缓慢降低,首先通过来更新当前选择的样本数据优先级,随后更新以索引t为起始点,回放窗口w范围内连续的前序数据优先级,更新规则如下:

pt-1=max(ρ1pt,pt-1)

pt-2=max(ρ2pt,pt-2)

pt-3=max(ρ3pt,pt-3)

...

pt-(w-1)=max(ρ(w-1)pt,pt-(w-1))(6)

其中,ρ为衰减系数,用来相邻决策点之间优先级影响程度。

利用开源仿真工具sumo,导入步骤3生成的配置文件,采用图10的算法网络框架,进行3dqn_pser算法训练,在训练过程中,使用均方差(mse)作为损失函数,通过梯度下降法将误差反向传播,并更新一轮网络模型参数,当奖励值收敛到稳定值,便得到最佳的信号配时方案,损失函数为:

其中,b表示取样个数,wj为样本j重要性采样权重系数。

以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。

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