基于深度强化学习的路口交通信号自适应控制方法与流程

文档序号:31165143发布日期:2022-08-17 08:33阅读:54来源:国知局
基于深度强化学习的路口交通信号自适应控制方法与流程

1.本发明涉及交通信号控制技术领域,具体涉及一种基于深度强化学习的路口交通信号自适应控制方法。


背景技术:

2.随着汽车保有量的增加,交通拥堵已经成为困扰我国经济发展的一个难题。解决交通拥堵有主动和被动两种方法,主动方法以改善交通基础设施和发展先进的交通控制系统为主,而被动方法则是采用单双限号、鼓励绿色出行等。目前看来,发展先进的交通控制系统是操作性最佳,对人们生活影响最小的方式。
3.深度学习是通过多层的网络结构和非线性变换,组合低层特征,形成抽象的、易于区分的高层表示,以发现数据的分布式特征表示,近年来,已经在图像分类、语音识别、自然语言处理、视频分类等领域取得了令人瞩目的成功。所以,深度学习在交通控制系统中也理应大有可为。
4.专利文献cn106910351b公开了一种基于深度强化学习的交通信号自适应控制方法,通过对交通数据进行预处理,获取包含车辆位置信息的交通状态的低层表示;在此基础上利用强化学习的决策能力选择合适的配时方案,实现交通信号自适应控制,以减少车辆旅行时间,确保交通安全、畅通、有序和高效地运行。上述专利中,对停车线外的车道进行离散化处理,得到若干个元胞,元胞内有车,则值为1,元胞内无车,则值为0;再将连续4个时刻获取的当前交通信息作为当前交通状态,以包含了交通动态变化的信息。该方式虽然能准确深刻的刻画出当前交通状态,但通过矩阵的方式来描述整个路网的信息,数据多、计算量大,成本较高,因此难以推广。


技术实现要素:

5.为了提高实现高速、低成本的实现路口交通信号的自适应控制,发明提供了一种基于深度强化学习的路口交通信号自适应控制方法。
6.本发明采用的技术方案如下:一种基于深度强化学习的路口交通信号自适应控制方法,包括如下步骤:
7.步骤1.定义基于深度强化学习与卷积神经网络的算法控制器,定义状态空间s、动作空间a和回报函数r;
8.步骤2.使用深度强化学习方法对卷积神经网络进行训练;
9.步骤3.依据训练好的算法控制器进行路口交通信号控制;
10.步骤1具体如下:
11.步骤1.1.使用深度强化学习方法构建卷积神经网络q;
12.具有用于存储样本《s,a,r,s'》的样本池d,其中s表示当前交通状态,a表示选取的执行动作,r为回报值,s'为执行动作a后转移到的下一交通状态;卷积神经网络依次设输入层、卷积层、全连接层及输出层,输入层为当前交通状态s,输出层为当前交通状态s下所有
执行动作a的值估计q(s,a);
13.步骤1.2.定义当前交通状态s;
14.将路口停车线以外的车道进行离散化处理,分成j个道段,每各道段为一元胞,元胞内最大容纳车辆数为cmax-j,元胞内实际车辆数为cr-j,元胞的第一个特征值饱和率表示为cr-j/cmax-j;元胞内车辆最高速度为smax-n,元胞内车辆实际平均速度为savg-j,最元胞的第二个特征值车速比表示为savg-j/smax-j;
15.即j
×
2维矩阵用来表示当前交通状态s;
16.步骤1.3.定义动作空间a;
17.路口交通信号采用四相位按固定相序周期循环,相位一为x向直行及右转,相位二为x向左转,相位三为y向直行及右转,相位四为y向左转,四元组《t1,t2,t3,t4》表示当前周期下四个相位的绿灯持续时间;执行动作a=《t
’1,t
’2,t
’3,t
’4》,其中t
’1、t
’2、t
’3、t
’4分别表示下一周期下四个相位的绿灯持续时间;动作空间a为执行动作a的集合;
18.步骤1.4.定义回报函数r;
19.将车道内车辆的速度、延迟时间及最靠近停车线的若干道段内车辆的数量变化综合作为回报值r,回报函数为
[0020][0021]
其中,c1、c1及c3为权重,v为车辆当前速度,d为车辆延迟时间,k为当前车道内车辆总数,l为单一道段内车辆的数量,m为最靠近停车线的道段数量;r>0,表示回报为奖励,r<0,表示回报为惩罚。优选的,步骤1.2中,从路口停车线向远处的n个道段,各道段的长度逐渐增加。
[0022]
优选的,步骤1.3中,满足
[0023]
t1+t2+t3+t4=t
’1+t
’2+t
’3+t
’4,即四相位的当前周期与下一周期的时间总长相等。
[0024]
优选的,步骤1.3中,执行动作a为对t1、t3与t2、t4中的一组作一增一减的调整或保持不变,调整量为δt1,执行动作a具有5种情形
[0025][0026]
即为动作空间a。
[0027]
优选的,步骤1.3中,执行动作a为对t1、t2、t3、t4中任一个值增减一个固定调整量δt2或保持不变,执行动作a具有9种情形
[0028][0029]
即为动作空间a。
[0030]
优选的,执行动作a中t
’1、t
’2、t
’3、t
’4具有上限与下限。
[0031]
优选的,步骤2具体如下:
[0032]
步骤2.1.用q(s,a,ω)表示卷积神经网络q的q(s,a)的近似值,ω为神经网络权重,构造两个参数一致的当前网络qm和目标网络q
t
,当前网络qm用于实时更新神经网络的权重ω,目标网络q
t
保持权重ω不变,当前网络qm按设定步数t将权重ω赋值给目标网络q
t

[0033]
步骤2.2.初始化当前网络qm的权重ω,ω随机分布在[-1,1]间,并把权重ω赋值给目标网络q
t
;初始化样本池d,使其容量达到设置值;
[0034]
步骤2.3.检测各元胞即道段内车辆的饱和率和车速比,合并成系统的当前交通状态s;
[0035]
步骤2.4.采用ε贪心法选取执行动作a,即以ε的概率随机选取执行动作a,以(1-ε)的概率以maxq(s,a,ω)作为标准选取执行动作a,的概率以maxq(s,a,ω)作为标准选取执行动作a,其中,ε为搜索利用率,maxq(s,a,ω)表示q(s,a,ω)的最大值,n为当前训练步数,n为初始设置的总步数;
[0036]
步骤2.5.得到回报值r与更新后的下一交通状态s',将《s,a,r,s'》存储至样本池d,更新样本池d;
[0037]
步骤2.6.按设定步数t根据最小梯度法更新目标网络q
t
的权重ω;步骤2.7.重复步骤2.3~2.6,直至初始设置的总步数n。
[0038]
优选的,步骤2.6具体为,
[0039]
从样本池d中随机选取样本《s,a,r,s'》,根据最小梯度法更新目标网络q
t
的权重ω,损失函数为l
[0040][0041]
其中,γ表示折扣率。
[0042]
优选的,步骤3具体为,
[0043]
步骤3.1.取ε贪心法中的ε=0,使算法控制器利用已学习到的经验;
[0044]
步骤3.2.定时获取各元胞内车辆的饱和率和车速比,合并成系统的当前交通状态s,并送入算法控制器中,以maxq(s,a,ω)作为标准选取执行动作a,重复此步骤。
[0045]
本发明具有如下有益效果:
[0046]
1.将车道划分成多个元胞,每元胞可容纳多辆车辆,通过车辆饱和率cr-j/cmax-j来表达状态信息,与现有的一元胞一车辆相比,降低了数据量和后续的计算量,降低了系统成本,从而提高了可行性;
[0047]
2.将元胞内车辆的速度比savg-j/smax-j作为车辆饱和率cr-j/cmax-j的信息补充,使得当前交通状态的描述更全面与准确;
[0048]
3.将车道内车辆的速度、延迟时间及最靠近停车线的若干道段内车辆的数量变化
综合作为回报值,判断更准确也更及时。
附图说明
[0049]
图1是本发明实施例中路口的四相位示意图。
[0050]
图2是本发明实施例中元胞的划分示意图。
[0051]
图3是本发明实施例中交通信号自适应控制框架图。
[0052]
图4是本发明实施例中深度学习算法的结构图。
具体实施方式
[0053]
下面结合实施例与附图,对本发明作进一步说明。
[0054]
如图1所示,为目前较为成熟的单交叉路口的四相位表达方式。在单交叉路口,车辆的行驶方向可以分为直行、左转和右转,受限于行驶空间,不同方向的车辆不能同时行驶,否则就会发生堵塞。为了使交通能正常运行,把交通流分成互补冲突的几组状态,称之为相位,而且,在一个周期内,每个相位有且只出现一次。图1中,相位一为x向直行及右转,相位二为x向左转,相位三为y向直行及右转,相位四为y向左转。在一个控制周期内,按照相位一、二、三及四的顺序依次出现,相序固定,一般不发生变动。另外,周期的总市场,通常来说不会有大的变动。四元组《t1,t2,t3,t4》表示当前周期下四个相位的绿灯持续时间。
[0055]
如图3所示,为本实施例交通信号自适应控制的原理,通过车载或路口的各种检测器实现对路口环境状态进行检测,通过基于深度学习及卷积神经网络的强化学习系统选择使回本值最大的动作行为,基于这一动作进而控制路口的交通信号。
[0056]
如图2所示,为本实施例卷积神经网络q中元胞的设计思路。具体的,是将路口停车线以外的车道进行离散化处理,分成j个道段,每各道段为一元胞,元胞内最大容纳车辆数为cmax-j,元胞内实际车辆数为cr-j,元胞的第一个特征值饱和率表示为cr-j/cmax-j;元胞内车辆最高速度为smax-n,元胞内车辆实际平均速度为savg-j,最元胞的第二个特征值车速比表示为savg-j/smax-j;
[0057]
即j
×
2维矩阵用来表示当前交通状态s。
[0058]
具体的,本实施例将路口停车线以外的480m车道作为关注对象,依次划分为30m、50m、70m、90m、110m及130m共6个元胞,每辆车的长度(含间距)占5m,即个元胞的第一个特征值饱和率依次为c
r-1
/6、c
r-2
/10、c
r-3
/14、c
r-4
/18、c
r-5
/22、c
r-6
/26。需要说明的是,图2中数据仅为示意,与上述具体数据不一致。
[0059]
本实施例,将车道划分成多个元胞,每元胞可容纳多辆车辆,通过车辆饱和率cr-j/cmax-j来表达状态信息,与现有的一元胞一车辆相比,降低了数据量和后续的计算量,降低了系统成本,从而提高了可行性。特别的,基于车道内车辆分布的性质,越远离路口,车辆分布越稀疏,因此本实施例的各元胞并非等分设置,而是从路口停车线向远处长度逐渐增加,这种设置能进一步减少元胞的数量,最大化的降低系统成本。此外,本实施例将元胞内车辆的速度比savg-j/smax-j作为车辆饱和率cr-j/cmax-j的信息补充,使得当前交通状态的描述更全面与准确。
[0060]
如图4所示,为本实施例的算法结构图。深度强化学习为了弱化样本之间的联系,具有样本池d,用于存储样本《s,a,r,s'》。样本数量达到设定值之后开始学习,为进一步减少样本之间的联系,并减少神经网络参数更新过于频繁带来的影响,构造两个参数一致的当前网络qm和目标网络q
t
,当前网络qm用于实时更新神经网络的权重ω,目标网络q
t
保持权重ω不变,当前网络qm按设定步数t将权重ω赋值给目标网络q
t
,从而有效避免了权重ω频繁更新带来的问题。
[0061]
本实施例中,执行动作a=《t
′1,t
’2,t
′3,t
’4》,其中t
’1、t
′2、t
’3、t
’4分别表示下一周期下四个相位的绿灯持续时间,本实施例的执行动作a的选择具有两个策略。
[0062]
策略一为:执行动作a为对t1、t3与t2、t4中的一组作一增一减的调整或保持不变,调整量为δt1执行动作a具有5种情形
[0063][0064]
即为动作空间a。
[0065]
策略二为:执行动作a为对t1、t2、t3、t4中任一个值增减一个固定调整量δt2或保持不变,执行动作a具有9种情形
[0066][0067]
即为动作空间a。
[0068]
策略一相对来说比较简单,适应性好,特别是对其他路口的干扰小,方便区域交通信号的协调。策略二较为复杂,但比较灵活,能很好的改善单个路口的交通状况。
[0069]
本实施例中,将车道内车辆的速度、延迟时间及最靠近停车线的若干道段内车辆的数量变化综合作为回报值r,回报函数为
[0070][0071]
其中,c1、c2及c3为权重,v为车辆当前速度,d为车辆延迟时间,k为当前车道内车辆总数,l为单一道段内车辆的数量,m为最靠近停车线的道段数量;r>0,表示回报为奖励,r<0,表示回报为惩罚。本实施例的汇报函数将车道内车辆的速度、延迟时间及最靠近停车线的若干道段内车辆的数量变化综合作为回报值,判断更准确也更及时。
[0072]
本实施例为一种基于深度强化学习的路口交通信号自适应控制方法,包括如下步骤:
[0073]
步骤1.定义基于深度强化学习与卷积神经网络的算法控制器,定义状态空间s、动作空间a和回报函数r。
[0074]
步骤1.1.使用深度强化学习方法构建卷积神经网络q。
[0075]
具有用于存储样本《s,a,r,s'》的样本池d,其中s表示当前交通状态,a表示选取的
执行动作,r为回报值,s'为执行动作a后转移到的下一交通状态;卷积神经网络依次设输入层、卷积层、全连接层及输出层,输入层为当前交通状态s,输出层为当前交通状态s下所有执行动作a的值估计q(s,a)。具体的,本实施例设置一个输入层、两个卷积层、一个全连接层及一个输出层。
[0076]
步骤1.2.定义当前交通状态s。
[0077]
将路口停车线以外的车道进行离散化处理,分成j个道段,每各道段为一元胞,元胞内最大容纳车辆数为cmax-j,元胞内实际车辆数为cr-j,元胞的第一个特征值饱和率表示为cr-j/cmax-j;元胞内车辆最高速度为smax-n,元胞内车辆实际平均速度为savg-j,最元胞的第二个特征值车速比表示为savg-j/smax-j;
[0078]
即j
×
2维矩阵用来表示当前交通状态s。
[0079]
特别的,从路口停车线向远处的n个道段,各道段的长度逐渐增加。
[0080]
步骤1.3.定义动作空间a。
[0081]
路口交通信号采用四相位按固定相序周期循环,相位一为x向直行及右转,相位二为x向左转,相位三为y向直行及右转,相位四为y向左转,四元组《t1,t2,t3,t4》表示当前周期下四个相位的绿灯持续时间;执行动作a=《t
’1,t
’2,t
’3,t
’4》,其中t
’1、t
’2、t
’3、t
′4分别表示下一周期下四个相位的绿灯持续时间;动作空间a为执行动作a的集合。其中执行动作a中t
’1、t
’2、t
’3、t
’4具有上限与下限,根据路口的宽度设置下限,根据路口的车流量设定上限。
[0082]
策略一为:执行动作a为对t1、t3与t2、t4中的一组作一增一减的调整或保持不变,调整量为δt1,执行动作a具有5种情形
[0083][0084]
即为动作空间a。δt1可以选择3~5秒之间的数值,此策略下,满足t1+t2+t3+t4=t
’1+t
’2+t
’3+t
’4,即四相位的当前周期与下一周期的时间总长相等。
[0085]
策略二为:执行动作a为对t1、t2、t3、t4中任一个值增减一个固定调整量δt2保持不变,执行动作a具有9种情形
[0086][0087]
即为动作空间a。δt2以选择3~5秒之间的数值,此策略下,四相位的当前周期与下一周期的时间不相等。
[0088]
步骤1.4.定义回报函数r。
[0089]
将车道内车辆的速度、延迟时间及最靠近停车线的若干道段内车辆的数量变化综
合作为回报值r,回报函数为
[0090][0091]
其中,c1、c1及c3为权重,v为车辆当前速度,d为车辆延迟时间,k为当前车道内车辆总数,l为单一道段内车辆的数量,m为最靠近停车线的道段数量;r>0,表示回报为奖励,r<0,表示回报为惩罚。
[0092]
步骤2.使用深度强化学习方法对卷积神经网络进行训练。
[0093]
步骤2.1.用q(s,a,ω)表示卷积神经网络q的q(s,a)的近似值,ω为神经网络权重,构造两个参数一致的当前网络qm和目标网络q
t
,当前网络qm用于实时更新神经网络的权重ω,目标网络qm保持权重ω不变,当前网络qm按设定步数t将权重ω赋值给目标网络q
t

[0094]
步骤2.2.初始化当前网络qm的权重ω,ω随机分布在[-1,1]间,并把权重ω赋值给目标网络q
t
;初始化样本池d,使其容量达到设置值。
[0095]
步骤2.3.检测各元胞即道段内车辆的饱和率和车速比,合并成系统的当前交通状态s。
[0096]
步骤2.4.采用ε贪心法选取执行动作a,即以ε的概率随机选取执行动作a,以(1-ε)的概率以maxq(s,a,ω)作为标准选取执行动作a,的概率以maxq(s,a,ω)作为标准选取执行动作a,其中,ε为搜索利用率,maxq(s,a,ω)表示q(s,a,ω)的最大值,n为当前训练步数,n为初始设置的总步数。
[0097]
步骤2.5.得到回报值r与更新后的下一交通状态s',将《s,a,r,s'》存储至样本池d,更新样本池d。
[0098]
步骤2.6.按设定步数t根据最小梯度法更新目标网络q
t
的权重ω。从样本池d中随机选取样本《s,a,r,s'》,根据最小梯度法更新目标网络q
t
的权重ω,损失函数为l
[0099][0100]
其中,γ表示折扣率。
[0101]
步骤2.7.重复步骤2.3~2.6,直至初始设置的总步数n。
[0102]
步骤3.依据训练好的算法控制器进行路口交通信号控制。
[0103]
步骤3.1.取ε贪心法中的ε=0,使算法控制器利用已学习到的经验。
[0104]
步骤3.2.定时获取各元胞内车辆的饱和率和车速比,合并成系统的当前交通状态s,并送入算法控制器中,以maxq(s,a,ω)作为标准选取执行动作a,重复此步骤。
[0105]
显然,本发明的上述实施例仅仅是为了说明本发明所作的举例,而并非对本发明的实施方式的限定。其他由本发明的实质精神所引申出的显而易见的变化或变动仍属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1