PRGLight: A novel traffic light control framework with Pressure-based-Reinforcement Learning and Graph Neural Network
文章目录
介绍
本文发现压力机制忽视了驶出车道的剩余容量,进而提出了PRCOL用于计算驶出车道剩余容量的压力机制。
当前方法仅考虑了当前或过去时间的交通情况,而忽略了未来可能存在的交通流变化,因此引入车流预测。
车流预测包括两个方面:
- 建模路网;
- 预测车流的时间序列。
本文将GNN整合进入RL,从而动态调整相位和时间间隔。PRGLight算法分为两个阶段:
- Agent基于当前的交通状态选择相位;
- 预测车流流量,利用预测值和实时观测值用来决定信号灯持续时间。
本文贡献:
- 提出了新的压力指数——PRCOL;
- 设计了一个基于PRCOL的RL算法,从而决定基于当前交通状况的交通相位;
- 使用GNN模块来预测交通状况,利用预测结果来决定间隔时间;
问题建模
路网
四向、双向六车道、四相位,右转常为绿灯。
路网建模为 G = ( V , E , W ) \mathcal{G}=(V,E,W) G=(V,E,W)。
交通预测
路网中的每个结点都被赋予了一些属性特征,用于代表实际的交通状况。这些属性特征可以使用交通流量、行驶速度等进行建模。本文使用
s
t
i
∈
R
D
s_t^i\in \mathbb{R}^D
sti∈RD代表结点
i
i
i在时间
t
t
t是的属性,而
s
t
=
(
s
t
1
,
…
,
s
t
N
)
∈
D
N
×
D
s_t=(s_t^1, \dots,s_t^N)\in \mathbb{D}^{N\times D}
st=(st1,…,stN)∈DN×D作为整个网络在时间步
t
t
t的信息。给出过去
H
H
H步的历史信息,有
s
t
=
(
s
t
−
H
+
1
,
…
,
s
t
)
∈
R
H
×
N
×
D
s_t=(s_{t-H+1},\dots,s_t)\in \mathbb{R}^{H\times N\times D}
st=(st−H+1,…,st)∈RH×N×D,而预测未来
F
F
F步的结果则为:
(
s
^
t
+
1
,
…
,
s
^
t
+
F
)
=
argmax
P
{
s
^
t
+
1
,
…
,
s
^
t
+
F
∣
s
t
−
H
+
1
,
…
,
s
t
}
(\hat{s}_{t+1},\dots,\hat{s}_{t+F})=\text{argmax}\ P\{\hat{s}_{t+1},\dots,\hat{s}_{t+F}|s_{t-H+1},\dots,s_{t}\}
(s^t+1,…,s^t+F)=argmax P{s^t+1,…,s^t+F∣st−H+1,…,st}
其中
P
P
P是预测函数。
因为预测结果应该与真实观测结果相近,故交通预测的目标函数为:
min
∑
τ
=
H
T
∣
∣
s
^
τ
−
s
τ
∣
∣
\text{min}\sum^T_{\tau = H}||\hat{s}_{\tau}-s_{\tau}||
minτ=H∑T∣∣s^τ−sτ∣∣
其中
τ
\tau
τ是所有时间步。
交通信号控制
马尔可夫过程,最大化长时间奖励。
算法设计
交通预测
模型采用STGCN用于预测未来交通流。STGCN由两个时空卷积模块和一个全连接层组成。每个卷积块都包括两个门时间卷积层和一个空间卷积层。
交通信号控制
**状态:**12维向量用于表示12个驶入车道上的车辆数;
动作:交通信号由相位和间隔时间决定。因此本文设置动作 a t a_t at为每个时间步 t t t的相位 a t P a_t^P atP和间隔时间 a t D a_t^D atD。大多数文章仅考虑了相位和间隔时间中的一个,本文来联合考虑了相位和间隔时间。本文提出相位和间隔时间应该分别更加重视当前和未来的交通状况,即相位应该用以缓解最繁忙的交通,而间隔时间应该用以考虑未来交通流。
将动作设置为相位和间隔时间会导致巨大的动作空间和缓慢的收敛速率。因此,本文将使用DQN来决定相位 a t P a_t^P atP,使用简单的公式来决定间隔时间 a t D a_t^D atD。
**奖励:**本文采用了改进的最大压力控制理论——PRCOL,考虑了驶出车道最大承载能力的影响。PRCOL考虑了驶入、驶出车道车辆数以及对动作的评估,定义如下:
P
i
=
N
i
n
×
(
1
−
N
o
u
t
N
m
a
x
)
P_i=N_{in}\times (1-\frac{N_{out}}{N_{max}})
Pi=Nin×(1−NmaxNout)
其中
N
i
n
N_{in}
Nin和
N
o
u
t
N_{out}
Nout是对应驶入驶出车道的车辆数,
N
m
a
x
N_{max}
Nmax是驶出车道的承载能力。对于一个路口,奖励则为:
R
=
−
∑
P
i
R=-\sum P_i
R=−∑Pi
该奖励设计实现了驶入驶出车道间的协调。而不同交叉路口间也要实现协调,本文采用了CoLight中使用的图注意力网络,实现Agent间的协调。
动态时间间隔
假设存在
N
i
n
N_{in}
Nin辆车在驶入车道上,
N
o
u
t
N_{out}
Nout辆车在驶出车道上,驶出车道的承受能力为
N
m
a
x
N_{max}
Nmax。则能够通过的车辆数为:
N
p
a
s
s
=
min
{
N
i
n
,
N
l
e
f
t
}
N_{pass}=\text{min}\{N_{in}, N_{left}\}
Npass=min{Nin,Nleft}
其中
N
l
e
f
t
=
N
m
a
x
−
N
o
u
t
N_{left}=N_{max}-N_{out}
Nleft=Nmax−Nout是驶出车道的剩余空间。
假设
N
p
a
s
s
N_{pass}
Npass辆车在路口等待,车间距为
l
g
l_g
lg,启动加速度为
a
a
a,最大速度为
v
v
v,根据其就可以计算需要的最小通过时间
t
r
e
q
t_{req}
treq。而在考虑了进一步的交通需求后,假设GNN预测结果存在
N
P
N_P
NP辆车,而车辆的的最小通过时间
t
e
x
p
t_{exp}
texp也可以算出。则最终的时间间隔则为:
a
t
D
=
min
{
t
e
x
p
,
t
r
e
q
}
a_t^D=\text{min}\{t_{exp},t_{req}\}
atD=min{texp,treq}
PRGLight框架
PRGLight包括交通流预测和信号灯控制两个部分。首先根据实时交通状况选择相位。GNN模块记录历史状态 ( s t − H + 1 , … , s t ) (s_{t-H+1},\dots,s_t) (st−H+1,…,st)并且预测未来的交通状态 ( s ^ t + 1 , … , s ^ t + F ) (\hat{s}_{t+1},\dots,\hat{s}_{t+F}) (s^t+1,…,s^t+F)。间隔时间将根据实时状态 s t s_t st和预测交通状态 ( s ^ t + 1 , … , s ^ t + F ) (\hat{s}_{t+1},\dots,\hat{s}_{t+F}) (s^t+1,…,s^t+F)。
实验及分析
实验采用CityFlow。
数据集及实验设置
实验采用杭州、济南和纽约数据集。其中GNN模块使用**北京数据集(Deep spatio-temporal residual networks for citywide
crowd flows prediction)**进行预训练。由于GNN在训练和预测时需要相同的拓扑结构,所以本文根据所需路网拓扑结构截取了部分北京数据集。模型采用过去10min的数据预测未来5min的交通流量。
PRCOL PRCOL中的 N i n N_{in} Nin和 N o u t N_{out} Nout都能通过传感器获得,CityFlow中也有API。假设驶出车道长度为 l l l_l ll,车辆平均长度为 l v l_v lv,最小车距为 l g l_g lg,则 N m a x = ⌊ l l / ( l v + l g ) ⌋ N_{max}=\lfloor l_l/(l_v+l_g)\rfloor Nmax=⌊ll/(lv+lg)⌋。在实验中,对所有数据集有 l v = 5 m , l g = 2.5 m , a = 2 m / s s , v = 40 k m / s l_v=5m, l_g=2.5m, a=2m/s^s,v=40km/s lv=5m,lg=2.5m,a=2m/ss,v=40km/s。黄灯时长为 5 s 5s 5s。
贪婪因子 ϵ \epsilon ϵ从0.8缩减到0.2,折扣因子 γ \gamma γ为0.8,最大样本大小为10,000,目标Q网络每5步更新一次。
基准模型
结果与分析
PR-Light仅保留PRCOL,G-Light仅保留GNN。
上表通过GNN实现了PRGLight的变体。FIXED将间隔时间固定为10s,DYNAMIC根据当前交通状况设置间隔时间,HA则是通过历史数据进行平均预测。
个案分析
交通流预测
预测曲线从600s开始,因为前10min无足够数据用于预测。预测曲线和实际曲线显示出了近似的趋势,但实际曲线变化更大。
以杭州数据集为例,真实流量在1000s左右激增,而预测流量则是在1200s左右激增。在实践中,最后一天或上周的数据能够帮助预测交通高峰,避免这种延迟。
相位选择及间隔时间
以杭州数据集为例,图a绘制了四个相位的车辆数;图b绘制了各相位的出现次数;图c绘制了每个相位车辆数的细节,每个点代表选择对应的相位。对于杭州数据集,可以发现与相位0相比,相位1、2、3的选择间隔较长,可能的原因是:**交通信号控制的目标是最小化平均行驶时间。对于同一个间隔,激活车辆数更多的相位意味着平均行驶时间更小,拥有最大车辆数的相位拥有更高优先级。**但是如果一个相位的车辆等待时间过长,将其设为绿灯,因为其会对结果造成深远影响。济南和纽约的结果也类似。