一种基于强化学习的交通信号灯控制方法及系统

文档序号:26588264发布日期:2021-09-10 20:01阅读:383来源:国知局
一种基于强化学习的交通信号灯控制方法及系统

1.本发明涉及智能交通控制技术领域,具体是一种基于强化学习的交通信号灯控制方法及系统。


背景技术:

2.随着机动车保有量的快速增长,城市道路交通的承载能力明显不足,交通拥堵问题日益凸显。在城市道路交通系统中,各交叉口处的交通流是相互关联和影响的,任何一个交叉口某相位的交通拥堵都会导致与之相邻的相位也会发生拥堵,接着导致相邻的路口和区域也会发生拥堵。近年来交通拥堵越来越引起人们的关注,现有的缓解交通拥堵的途径主要有两种:一是加强基础设施建设,如提高路网的通行能力、扩建桥梁与道路等外延设施,这种方式成本高且不易实施。二是采用先进、有效的智能决策控制方法,合理使用现有交通设施,充分发挥其能力,该方式主要体现在交通信号灯的自适应控制,这也符合我国提出的数字城市与智慧城市发展理念。
3.传统的交通信号灯,在交叉路口的每个方向,无论车辆数目如何变化,信号时间间隔都是不变的,这就很容易导致交通设施的低效运用。比如,在车流高峰时间段,过短的绿灯会导致车辆拥堵情况的加剧;在车辆较少的时间段,过长的绿灯又会造成行人通行延缓。为了能够让车辆在交叉路口的通行更加通畅,人们利用智能系统将交通信号灯的周期与道路上汽车数量结合起来,设计出可以根据道路实际情况调控交通信号配时方案的自适应交通信号灯控制系统。
4.现有的自适应交通信号灯控制系统大多根据历史交通数据预测道路车流量,根据预测的车流数量,改变信号灯的状态和周期,对历史数据、模型依赖严重并且人为干预因素较大,并非真正的自适应控制。强化学习方法不需要外部环境的数学模型,对环境的先验知识要求低,可在大空间、复杂的非线性系统中取得良好的学习性能。因此,结合道路状态信息,设计基于强化学习的交通信号灯控制方法及系统具有重要研究意义。


技术实现要素:

5.本发明针对现有自适应交通信号灯控制方法及系统对历史数据、模型依赖严重并且人为干预因素大,并非真正的自适应控制问题,提出了一种基于强化学习的自适应交通信号灯控制方法及系统。
6.本发明的技术方案如下:
7.一方面,一种基于强化学习的交通信号灯控制方法,包括以下几个步骤:
8.步骤1:建立信号灯控制agent模型;
9.以道路交叉口车道上的所有车辆等待时间最小作为信号灯控制agent的信念;以道路交叉口上的红绿灯在一个信号控制周期内的有效绿灯时间最长作为信号灯控制agent的愿望;以道路交叉口上的红绿灯信号状态的切换操作作为信号灯控制agent的意图;
10.基于信念

愿望

意图(belief

desire

intention,bdi)理论的混合型信号灯控制
agent模型,能够实时地、动态地、自主地与不断变化着的外部环境进行交互,感知并作用于环境,并且通过自己行为的执行而达到缓解交通拥堵的目的。
11.首先,agent观察交通环境,记录路口每条道路上每个车道的车辆位置、速度以及路口信号灯相位,作为控制算法的输入;然后,利用经验回放机制进行自学习,得出下一时刻的动作,用于指导制定信号灯的信号切换策略,完成信号切换;最后,交通环境进入一个新的状态并给agent行为一个奖励,agent再次观察环境信息,完成学习与决策;
12.步骤2:建立包含道路交叉口、道路、信号灯的路网模型;
13.路网模型使用sumo的附带软件netedit 1.7.0搭建;
14.道路交叉口由东、南、西、北四条路组成,交汇处设有一个交通信号灯;每条路长250米,分三条驶入车道和三条驶出车道(本方案的交通信号灯控制中只关注驶入车道的信息,驶出车道上的车辆已通过路口,对当前路口的信号控制不产生影响),分别为左转、直行、右转;12条驶入车道对应12个控制信号,驶入车道信号灯相位p
i
={l1,l2,l3,l4,l5,l6,l7,l8,l9,l
10
,l
11
,l
12
},{l1,l2,l3}、{l4,l5,l6}、{l7,l8,l9}以及{l
10
,l
11
,l
12
}依次为南向、东向、北向以及西向的左转、直行、右转驶入车道控制信号;左转车道信号灯控制优先级低于直行车道绿灯控制优先级;交通信号灯相位之间的切换按照设定顺序依次切换;
15.为了防止直接切换与实际情况产生冲突,引发交通事故,核心相位间的切换需要包含一系列其他过渡相位的切换。
16.步骤3:构建基于强化学习的交通信号灯控制三要素状态空间state,动作空间action以及奖励函数reward;
17.所述状态空间state包含车辆位置、速度和当前信号灯相位;所述动作空间action表示信号灯控制agent模型执行的信号控制动作集合;所述奖励函数reward表示信号灯控制agent执行信号控制动作,按照设置的信号灯切换策略进行信号灯相位切换后得到的奖励函数值r;
18.设定一辆车的长度加上安全距离为一个单元长度。每条车道划分为n个单元,一共有12条车道,所以共有12
×
n个单元。用两个这样的矩阵来表示路网状态,即位置矩阵d和速度矩阵v。位置矩阵d记录该单元内是否有车,有车就记为1,否则记为0。速度矩阵v用来记录车辆的行驶速度,为了方便记录,此处记录的是当前车辆行驶速度与最大速度的比值,即,当车辆为最大速度时记为1,当车辆在减速状态且车速为最大车速一半时,记为0.5。通过这个矩阵,可以判断出哪些车辆正在等红灯。除了这两个矩阵外,还要包含当前信号灯的相位p,也将其记录为矩阵形式。在实验中,交通环境状态记为一个列表,表示为s=[d,v,p
i
];
[0019]
r=t

t
w
;t和t
w
分别表示信号灯相位切换开始到结束的时间内所有车辆总行驶时间以及总等待时间;
[0020]
步骤4:构建基于dqn的信号灯控制网络模型;
[0021]
输入信息为路网当前状态,输出信息为两种动作的q值;所述q值是指基于q

learning算法对所述agent执行动作得到的奖励值的评估值;
[0022]
步骤5:基于dqn的信号灯控制网络模型;
[0023]
所述基于dqn的信号灯控制模型利用q值的计算值与q值的预估值之间的均方差作为损失函数,利用回放replay机制和目标网络对所述卷积神经网络中的参数进行训练与更新;
[0024]
步骤6:信号灯控制agent选择q值较大的动作,决策信号灯相位,输出交通信号灯的信号控制策略。
[0025]
dqn的重要机制replay,模型中设置有记忆库,大小固定,agent会把每个时间步与环境交互得到的信息(s
t
,a
t
,r
t
,s
t+1
)存入到事先设定好的记忆单元中,要训练时就随机拿出一些来训练。每当有新的内容加入,最早的内容就会被丢弃,这样能够保证每次重新学习到的内容都是较新的内容。在完成重复训练后,神经网络也得到了更新,agent开始准备下一轮的学习。
[0026]
进一步地,基于当前时刻所述agent的状态空间s
t
和执行动作a
t
,以及agent执行完动作a
t
得到的q值,按照以下公式获得下一个时刻的q值的计算值q(s
t+1
,a')和预估值t arg etq;
[0027]
q(s
t+1
,a')=q(s
t
,a
t
)+α[r
t

×
max
a'
{q(s
t+1
,a';θ')}

q(s
t
,a
t
)]
[0028]
targetq=r
t

×
max
a'
{q(s
t+1
,a';θ')}
[0029]
其中,r
t
是t时刻的真实奖励,γ是折扣因子,表示未来动作对当前的状态的影响程度;a'是agent学习中下个时刻执行的某个动作;s
t+1
是agent执行动作a'之后环境进入的新状态;q值的初始值为0,θ和θ'分别是agent基于当前时刻所述agent的状态s
t
和执行动作a
t
进行自我学习前、后,基于dqn的信号灯控制网络模型参数向量。
[0030]
进一步地,所述交通信号灯相位设有8个,分别为:p1仅南北通行,南北向的左转与直行信号灯均为绿灯;p2仅南北通行,南北向的左转信号灯为绿灯,直行信号灯为黄灯;p3仅南北通行,南北向的左转信号灯为绿灯,直行信号灯为红灯;p4仅南北通行,南北向的左转信号灯为黄灯,直行信号灯为绿灯;p5仅东西通行,东西向的左转与直行信号灯均为绿灯;p6仅东西通行,东西向的左转信号灯为绿灯,直行信号灯为黄灯,p7仅东西通行,左转绿灯直行红灯;p8仅东西通行,东西向的左转信号灯为黄灯,直行信号灯为绿灯。
[0031]
进一步地,若当前agent动作为a1南北放行,当前信号灯相位为p1,且agent决策结果是a1南北放行,则信号灯相位保持p1不变,并延续时间10秒,即p1(30s)

p1(10s);若当前agent动作为a1南北放行,当前信号灯相位为p1,且agent决策结果是a2东西放行,则信号灯相位切换(从p1切换到p5),同时经过p2,p3,p4三个过渡相位,整个切换过程为p2(3s)

p3(3s)

p4(3s)

p5(30s);之后等待下次判断等待下次判断。
[0032]
现有的方法持续绿灯是绿灯时长翻倍,造成某个方向上的绿灯时间浪费。比如,现在绿灯持续30秒,经过判断,下一次继续保持绿灯,相应的绿灯就会延长30秒。但是可能20秒的时间这个方向的车已经通行完了,剩下40秒的时间就属于无效的绿灯时间。本方案一次增加10秒绿灯时间,可以增加有效绿灯时间利用率,均衡各方向的车辆通行时间。
[0033]
agent根据q值选择下个周期的动作,指导红绿等信号的切换。例如,若当前agent动作为a1南北放行(对应信号灯相位p1),agent决策结果是a2东西放行(对应信号灯相位p5),信号灯相位要从p1切换到目标相位p5。考虑到实际应用中的安全,这两个相位之间有过渡的切换相位,即从p1切换到相位p5中间有p2,p3,p4三个相位,p2南北通行,左转绿灯直行黄灯右转绿灯,p3南北通行,左转绿灯直行红灯右转绿灯,p4南北通行,左转黄灯直行红灯右转绿灯,持续时间均为3秒,该红绿灯相位转换过程可表述为p2(3s)

p3(3s)

p4(3s)

p5(30s),到p5时,东西方向车辆开始通行,执行周期结束后agent观察记录交通环境状态,继续学习决策下个周期的动作。若当前agent动作为a1南北放行(对应信号灯相位p1),agent决
策结果是a1南北放行(对应信号灯相位p1),信号灯相位要保持p1不变,为了保证有效绿灯的利用率,采用动态延续绿灯时间10秒,即p1(30s)

p1(10s),再次学习决策;
[0034]
agent执行动作后,环境会给予agent奖励。本方案中的奖励定义为切换信号灯状态导致车辆运行时间与车辆等待时间的差。
[0035][0036]
t表示车辆总行驶时间,t
w
表示车辆总等待时间,t
k
表示车辆k通过该路口行驶的时间,t
wk
表示车辆k通过该路口等待的时间。如果r大于0,则表示此次切换是正向调节,行驶车辆花费的时间大于等待车辆花费的时间,数值越大表示调节的效果越明显,因此奖励值也越大,鼓励agent在今后的行为选择中继续寻找最大化奖励值的策略。如果r小于0,表示此次切换是反向调节,反而导致了整个路网总等待时间的增加,数值越小表示路网拥堵程度变得越严重,因此奖励值也变得越小,提示agent这样的调节会起到反作用。
[0037]
进一步地,每个车道被划分为n个单元格,
[0038]
其中,l为道路长度,l
c
为一台车的长度,l
d
为停车时车辆间安全距离。
[0039]
进一步地,车辆位置以矩阵d存储,每个元素计算方法为:
[0040]
其中,d
ij
表示第i车道的第j个单元格上的车辆有无状态,其中1≤i≤12,1≤j≤n。
[0041]
进一步地,车辆速度以矩阵v存储,每个元素计算方法为:
[0042]
其中,v
ij
表示第i车道的第j个单元格上的车辆的行驶速度标记,v
ijc
表示第i车道的第j个单元格上的车辆实际车速,代表第i条车道上的所有车辆实际车速中的最大车速。
[0043]
进一步地,所述基于dqn的信号灯控制网络模型中第一层卷积核数目为16,每个卷积核大小为4
×
4,步长为2;第二层卷积核数目为32,每个卷积核大小为2
×
2,步长为1;卷积层后依次设置有全连接层与输出层;
[0044]
采取的损失函数为均方误差mse(θ):
[0045][0046]
其中,r
t
是t时刻的真实奖励,γ是折扣因子,表示未来动作对当前的状态的影响程度;a'是agent学习中下个时刻执行的某个动作;s
t+1
是agent执行动作a'之后环境进入的新状态;q(s
t+1
,a';θ')是t+1时刻执行动作a'的q值,q(s
t
,a
t
;θ)是t时刻的q值,s
t
是t时刻的状态,a
t
是t时刻正在执行的动作,θ和θ'分别是agent基于当前时刻所述agent的状态s
t
和执行动作a
t
进行自我学习前、后,基于dqn的信号灯控制网络模型参数向量。
[0047]
进一步地,信号灯控制agent模型中的agent利用ε

greedy策略选择q值较大的动作,决策信号灯相位,输出交通信号灯的信号控制策略。
[0048]
另一方面,一种基于强化学习的交通信号灯控制系统,包括:
[0049]
路网信息采集模块,用于实时采集交通状态信息,包括车辆速度、位置以及当前路口信号灯状态;
[0050]
数据预处理模块,用于将agent与环境交互获取实时的路况信息转化成矩阵;
[0051]
强化学习模块,将路网当前状态,基于权利要求1

8任一项所述的方法,通过卷积神经网络,计算当前状态下执行所有可能动作的q值,选择q值最大的动作执行,并在状态

动作空间进行搜索自学习更新;
[0052]
信号灯控制模块,用于根据强化学习决策的agent的动作,进行相应的信号灯相位切换,动态调整信号灯灯的状态和周期,实时按照决策结果调整该路口信号灯的状态及持续时间。
[0053]
有益效果
[0054]
本发明技术方案提供了一种基于强化学习的交通信号灯控制方法及系统,本发明技术方案使得交通信号灯可以根据实时的交通信息动态、自适应的调节状态,缓解交通拥堵。该方法首先对信号灯agent、道路交叉口、道路、信号灯模型,其次设计适用于信号灯控制方法的强化学习三要素,然后建立基于dqn的交通信号灯控制模型,设计卷积神经网络,采用ε

greedy策略选择动作,最后,在sumo平台完成该方法的是验证。
[0055]
本方法在不依赖历史交通数据、不依赖先前交通信号灯控制模型、不需人为干预的情况下,信号灯控制agent实时、动态、自主地与不断变化着的外部环境进行交互,感知并作用于环境。通过agent的动作动态制定信号灯的切换策略,路口交通信号灯直行信号切换策略,最小化路口车辆的等待时间,最大化信号控制周期有效绿灯时间的利用率,从而达到缓解交通拥堵的目的,实现交通信号灯的自适应控制。
附图说明
[0056]
图1基于bdi理论的信号灯控制agent模型;
[0057]
图2本发明所述方法具体实例的流程示意图;
[0058]
图3信号灯控制系统结构框图;
[0059]
图4路网模型图;
[0060]
图5车道的划分及路况信息记录;
[0061]
图6神经网络示意图;
[0062]
图7利用本发明技术方案所述的基于dqn的信号灯控制算法对车辆进行控制示意图,其中,(a)为2230辆车,(b)为742辆车;
[0063]
图8仿真对比效果示意图。
具体实施方式
[0064]
下面将结合附图和实施例对本发明做进一步地说明。
[0065]
一种基于强化学习的交通信号灯控制方法,如图2所示,,包括如下步骤:
[0066]
步骤1:建立信号灯控制agent模型,如图1所示。
[0067]
基于信念

愿望

意图(belief

desire

intention,bdi)理论的混合型信号灯控制agent模型,能够实时地、动态地、自主地与不断变化着的外部环境进行交互,感知并作用于
环境,并且通过自己行为的执行而达到缓解交通拥堵的目的。
[0068]
步骤2:建立道路交叉口、道路、信号灯模型。
[0069]
路网模型使用sumo的附带软件netedit 1.7.0搭建。道路交叉口由东南西北四条路组成,交汇处有一个交通信号灯。每条路长250米,分三条驶入车道和三条驶出车道,分别为左转、直行、右转,如图4所示。
[0070]
12条驶入车道对应12个控制信号,由于右转车道不与其他车道车辆产生冲突,所以右转车道一直为绿灯。为防止交通信号灯切换过程中行驶车辆发生碰撞,交通信号灯设计8种相位,记为p={p1,p2,p3,p4,p5,p6,p7,p8},分别为:p1仅南北通行,南北向的左转与直行信号灯均为绿灯;p2仅南北通行,南北向的左转信号灯为绿灯,直行信号灯为黄灯;p3仅南北通行,南北向的左转信号灯为绿灯,直行信号灯为红灯;p4仅南北通行,南北向的左转信号灯为黄灯,直行信号灯为绿灯;p5仅东西通行,东西向的左转与直行信号灯均为绿灯;p6仅东西通行,东西向的左转信号灯为绿灯,直行信号灯为黄灯,p7仅东西通行,左转绿灯直行红灯;p8仅东西通行,东西向的左转信号灯为黄灯,直行信号灯为绿灯。每个状态持续时间不同,各个信号持续时间如表1所示,其中g和g代表绿灯亮(g优先级高于g),r代表红灯亮,y代表绿灯亮。
[0071]
表1信号灯持续时间
[0072][0073]
p1与p5的持续时间最长。这两个状态分别表示南北方向与东西方向通车的主要状态。在这两个状态时,对应的左转,直行,右转方向都为绿灯,需要注意的是,左转车道的车辆的行驶优先级(用g表示)低于直行车道的车辆(用g表示)。
[0074]
步骤3:定义基于强化学习的交通信号灯控制算法中强化学习的三要素state,action,reward。
[0075]
state空间的定义包含车辆位置、速度和当前信号灯状态。在此设计中,将衡量标准从道路细化到车辆。设定一辆车的长度加上安全距离为一个单元长度。假设每条车道被划分为12个单元,一共有12条车道,所以共有12
×
12个单元。因此用两个矩阵来表示路网状态,即位置矩阵d和速度矩阵v。位置矩阵d记录该单元内是否有车,有车就记为1,否则记为0。速度矩阵v用来记录车辆的行驶速度,为了方便记录,此处记录的是当前车辆行驶速度与最大速度的比值,即,当车辆为最大速度时记为1,当车辆在减速状态且车速为最大车速一半时,记为0.5。通过这个矩阵,可以判断出哪些车辆正在等红灯(当v
ij
≤0.05时,认为该车停车等待红灯)。图5为西边驶入车道的划分情况,矩阵d为记录是否有车的矩阵,矩阵v为记录速度比。
[0076]
除了这两个矩阵外,还要包含当前信号灯的状态p
i
,也将其记录为矩阵形式。在实
验中,状态为一个列表,表示为s=[d,v,p
i
]。这样的状态设计优点在于能更直观具体的表示路网中车辆的状态。
[0077]
action空间的定义表示的是agent执行的动作集合,记为a。该集合一共有两个元素:南北放行a1以及东西放行a2,分别对应交通信号灯核心状态p1与状态p5。为了防止直接切换与实际情况产生冲突,引发交通事故,核心状态间的切换需要包含一系列其他状态的切换。其切换过程如表2所示。当agent判断的行为与信号灯当前状态一致,信号灯相位不需要改变,保持10秒后再次进行判断,从而增加有效绿灯时间的利用率;当agent判断的行为与信号灯当前状态不一致,就需要经过一系列流程完成切换。
[0078]
表2信号灯切换过程
[0079][0080]
当左转车辆遇到直行车辆时,需要礼让直行车辆先行。p2,p3,p4为从p1到p5的切换状态,目的是为了符合实际中交通灯“绿





绿”的切换顺序。在p2时,直行车道变为黄灯,此时左转车道依旧为绿灯(g)。到了p3,直行车道变为红灯,左转车道变为优先绿灯(g)。这两个状态是为了停止直行车道车辆通过十字路口,同时让之前没能完全通过的左转车辆通过十字路口。最后的切换状态为p4,左转车道变为黄灯,提示来车减速,警示即将变为红灯。如此,就完成了p1到p5的切换,在p5时,东西方向的车辆可以开始通行。p6,p7,p8为从p5到p1的切换状态,切换步骤同上。
[0081]
reward空间的设计表示的是agent执行动作后得到的奖励。在本发明方案中,使用动态奖励设计。在agent选择行为后,信号灯开始根据行为进行切换。同时,agent开始记录此时刻开始到整个切换流程结束的时间内所有车辆总行驶时间t以及总等待时间t
w
;最终的奖励值计算方法为:r=t

t
w

[0082]
agent根据q值选择下个周期的动作,指导红绿等信号的切换。例如,若当前agent动作为a1南北放行(对应信号灯相位p1),agent决策结果是a2东西放行(对应信号灯相位p5),信号灯相位要从p1切换到目标相位p5。考虑到实际应用中的安全,这两个相位之间有过渡的切换相位,即从p1切换到相位p5中间有p2,p3,p4三个相位,p2南北通行,左转绿灯直行黄灯右转绿灯,p3南北通行,左转绿灯直行红灯右转绿灯,p4南北通行,左转黄灯直行红灯右转绿灯,持续时间均为3秒,该红绿灯相位转换过程可表述为p1(30s)

p2(3s)

p3(3s)

p4(3s)

p5(30s),到p5时,东西方向车辆开始通行,执行周期结束后agent观察记录交通环境状态,继续学习决策下个周期的动作。若当前agent动作为a1南北放行(对应信号灯相位p1),agent决策结果是a1南北放行(对应信号灯相位p1),信号灯相位要保持p1不变,为了保证有效绿灯的利用率,我们动态延续绿灯时间10秒,即p1(30s)

p1(10s),再次学习决策;p6,p7,p8为从p5到p1的切换状态,切换步骤同上。
[0083]
步骤4:设计基于dqn的信号灯控制模型。
[0084]
所述基于dqn的信号灯控制模型的主干网络是卷积神经网络(convolutional neural networks,cnn),包含两个卷积层,一个全连接层。其输入信息为路网当前状态,输
出信息为两种行为的q值。路网状态是一个列表s=[d,v,p
i
],其中包含三个元素,d表示当前位置是否存在车辆,v表示检测车辆速度比信息,p
i
为检测当前信号灯状态信息的列表。d,v两个列表大小为12
×
n
×
1,p
i
大小为2
×
1。第一层卷积核数目为16,每个卷积核大小为4
×
4,步长为2;第二层卷积核数目为32,每个卷积核大小为2
×
2,步长为1;在卷积层之后有两个是全连接层与输出层。最终输出两个动作分别对应的q值。其结构如图6所示。
[0085]
采取的误差函数为均方误差(mse),计算公式为:
[0086][0087]
步骤5:数据准备。
[0088]
采用宾夕法尼亚大学与上海交通大学控制团队发布的公开数据(https://traffic

signal

control.github.io/)进行仿真。数据内容为中国浙江省杭州市一个十字路口摄像机记录的车辆行驶信息。该数据集主要包括车辆信息、行驶道路、驶入时间,度数据文件进行处理,转化为仿真软件要求的格式。由于车辆基数大、车流随时间变化大,因此挑选涵盖多个时间段的数据集,选择4个数据集,时长均是1小时,其中两个为高峰时段,两个为平峰时段更精确的评估算法性能。
[0089]
步骤6:实验仿真。
[0090]
基于sumo软件模拟车流运行。仿真时,每轮仿真50次,alpha=0.0002,gamma=0.9,epsilon=0.1,记忆库大小为200,batch大小为32。如图3所示agent会首先初始化神经网络。然后获取当前的路网状态s,将状态s作为卷积神经网络的输入,输出两个行为的q值,先进行贪心策略,如果生成的随机数大于事先设定的epsilon值,agent就会挑选q值较大的行为,反之随机选择。之后agent会控制信号灯执行行为a,同时在行为进行中计算奖励值。随着行为结束,奖励值也计算完成。最后是dqn的重要机制replay,agent会将这一次的训练内容存入到事先设定好的记忆库中,记忆库大小是固定的,每当有新的内容加入,最早的内容就会被丢弃,这样能够保证每次重新学习到的内容都是较新的内容。在完成重复训练后,神经网络也得到了更新,agent开始准备下一轮的学习,如图2所示。
[0091]
步骤7:评估设计。
[0092]
评估agent优化效果的依据为总等待时长t
w
;t
w
为整个训练过程中,所有车辆在十字楼口处红灯等待的时间总和。t
w
越大,表示十字路口越拥堵,t
w
越小,表示十字路口越通畅。
[0093]
在实验仿真开始后,agent会首先初始化神经网络。然后获取当前的交通环境状态s,将状态s作为卷积神经网络的输入,输出agent两个动作的q值;接着采用贪心策略ε

greedy决策agent动作,如果生成的随机数大于事先设定的epsilon值,agent选择q值较大的动作执行,反之随机选择动作。再次agent会控制信号灯执行动作a
t
对应的切换策略,同时计算该动作的奖励值。随着动作结束,奖励值也计算完成。最后是dqn的重要机制replay,agent会将这一次的训练内容存入到事先设定好的记忆库中,记忆库大小是固定的,每当有新的内容加入,最早的内容就会被丢弃,这样能够保证每次重新学习到的内容都是较新的内容。在完成重复训练后,神经网络也得到了更新,agent开始准备下一轮的学习。
[0094]
仿真实验表明,基于强化学习的agent在任何情况下,都对路网调控有积极作用。随着数据量与训练次数的增加,优化效果逐渐增加,最后稳定在一个区间内,并且道路越拥
堵,优化效果越明显,如图7所示。
[0095]
从图8可以看出,基于dqn的信号灯控制算法优化效果优于基于固定时长的信号灯控制方法,与ft算法相比优化32.16%,这也证明了基于强化学习的交通灯自适应控制方法是传统交通控制策略的可行替代方案,能够有效减少道路上的交通拥堵。
[0096]
基于上述方法,本发明实施例还提供一种基于强化学习的交通信号灯控制系统,包括:
[0097]
路网信息采集模块,用于实时采集交通状态信息,包括车辆速度、位置以及当前路口信号灯状态;
[0098]
数据预处理模块,用于将agent与环境交互获取实时的路况信息转化成矩阵;
[0099]
强化学习模块,将路网当前状态s,基于所述一种基于强化学习的交通信号灯控制的法,通过卷积神经网络,计算当前状态下执行所有可能动作的q值,选择q值最大的动作执行,并在状态

动作空间进行搜索自学习更新;
[0100]
信号灯控制模块,用于根据强化学习决策的agent的动作,进行相应的信号灯相位切换,动态调整信号灯灯的状态和周期,实时按照决策结果调整该路口信号灯的状态及持续时间。
[0101]
应当理解,本发明各个实施例中的功能单元模块可以集中在一个处理单元中,也可以是各个单元模块单独物理存在,也可以是两个或两个以上的单元模块集成在一个单元模块中,可以采用硬件或软件的形式来实现。
[0102]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
[0103]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0104]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0105]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0106]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然
可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1