FRAP模型基于交通信号控制中相位竞争的思想:当两个交通信号出现竞争时,应该给交通流动更大的相位高优先级。通过相位竞争建模,模型实现了对交通流中翻转、旋转等情况的对称不变性。
目前的交通信号控制系统SCATS、SCOOT等都基于设计好的交通信号计划。但是其不能适应动态的复杂交通流。
当前,强化学习作为一种可行的解决方案已经被用于现实场景的交通信号控制中。强化学习模型能够直接通过与环境交互学习控制策略。为了实现这个目的,一种典型的方法是为每个交叉路口设置一个Agent,Agent通过做完动作后环境的反馈,来优化奖励。
这些强化学习模型能有效对2或4个信号相位的交叉路口进行控制。但对于8相位的交叉路口,研究发现会出现状态空间爆炸的问题。在2相位问题中,只有4个直行车道,假设状态定义为每个车道上的车辆数和当前信号相位,每个车道的车辆容量为n,则2相控制问题的状态空间大小为 2 × n 4 2\times n^4 2×n4。而在8相位问题中,有4个直行车道和4个左转车道,状态空间大小会增加到 8 × n 8 8\times n^8 8×n8。所以其挑战是减少问题空间并更有效地寻找不同场景,故强化学习算法需要在最小范围里找到最优解。
之前的强化学习方法独立输入8车道并利用回归得到 Q ( s , a ) Q(s,a) Q(s,a),因此其需要尝试在各种状态上尝试8种动作,大约 ( 8 × n 8 ) × 8 (8\times n^8)\times 8 (8×n8)×8个样本才能获得最终估计。
但是实际上不需要这么多样本,如上图中两个场景是镜像的。但是现有的Agent会将上面两个场景表示为不同状态,故其学习了第一种场景,仍然不能处理第二种场景的情况。
而我们更希望在训练过程中,模型能够观察1种场景就能解决经过对称、旋转的其他7种场景。
根据这个思想,文章提出了FRAP模型,其能够关注不同交通流动间的关系。这个想法基于交通信号控制种竞争的原理:
FRAP首先预测各个信号相位的需求,然后对相位间的竞争进行建模。通过对相位竞争建模,FRAP能够实现对称不变性。利用这种对称不变性并在对称状态间实现知识共享,FRAP可以将搜索空间从 64 × n 8 64\times n^8 64×n8缩减到 16 × n 4 16\times n^4 16×n4。本文使用Ape-X DQN作为基础模型,从而来验证FRAP的作用。
省略
在该问题中,一个Agent仅观察一个独立交叉路口的交通状况,并且能据此改变交通信号。Agent的目标是学习策略以控制信号,从而来优化行驶时间。交通信号控制问题能够被形式化地表达为马尔可夫决策过程 < S , A , P , R , γ > <\mathcal{S,A,P,R,\gamma}> <S,A,P,R,γ>。
在给定状态观察集合 S \mathcal{S} S和动作集合 A \mathcal{A} A的情况下,奖励函数 R \mathcal{R} R为 S × A → R \mathcal{S\times A}\rightarrow\mathbb{R} S×A→R,特别是 R s a = E [ R t + 1 ∣ S t = s , A t = a ] \mathcal{R^a_s}=\mathbb{E}[R_{t+1}|S_t=s,A_t=a] Rsa=E[Rt+1∣St=s,At=a]。Agent的目标是学习策略 π ( A t = a ∣ S t = s ) \pi(A_t=a|S_t=s) π(At=a∣St=s),来最好的采取动作 a a a获得状态 s s s,从而来获取最大的反馈:
G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + ⋯ = ∑ m = 0 ∞ γ m R t + m + 1 G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\dots=\sum_{m=0}^{\infin}\gamma^mR_{t+m+1} Gt=Rt+1+γRt+2+γ2Rt+3+⋯=m=0∑∞γmRt+m+1
Agent的相关定义如下:
这里文章使用了队列长度来等同于行驶时间,这已经被证明是有效的。
文章采用了Ape-X DQN来解决强化学习问题。模型采用交通流动的状态特征作为输入,预测每个动作的分数。这可以用贝尔曼公式形式化描述出来:
Q ( s t , a t ) = R ( s t , a t ) + γ max Q ( s t + 1 , a t + 1 ) Q(s_t,a_t)=R(s_t,a_t)+\gamma \max Q(s_{t+1},a_{t+1}) Q(st,at)=R(st,at)+γmaxQ(st+1,at+1)
FRAP基于两条特别的规则:
Ape-X DQN,标准的深度强化学习可以被分为两个部分,包括执行和学习。执行部分包括部署多个具有不同策略的参与者与环境交互,并将观察到的数据存储到经验存储器中。学习部分适用于对经验存储器中的训练数据进行采样,从而来更新模型。两个部分同时运行。
文章将相位分数预测分为三个阶段:相位需求建模(Phase demand modeling)、相位对表示(Phase pair representation)、相位对竞争(Phase pair competition)。
在这个阶段,需要得到每个信号相位的需求表示。我们可以直接从模拟器中化的任意交通流动 i , i ∈ { 1 , … , 8 } i,i\in \{1,\dots,8\} i,i∈{1,…,8}的状态,包括机动车数量 f i v \mathrm{f}^v_i fiv和当前的信号相位 f i s \mathrm{f}^s_i fis,并将其作为输入,将其传入两层全连接层以生成对绿灯的需求表示 d i \mathrm{d}_i di:
h i v = ReLU ( W v f i v + b v ) , h i s = ReLU ( W s f i s + b s ) d i = ReLU ( W h [ h i v , h i s ] + b h ) \mathrm{h}^v_i=\text{ReLU}(\mathrm{W}^v\mathrm{f}^v_i+\mathrm{b}^v),\ \mathrm{h}^s_i=\text{ReLU}(\mathrm{W}^s\mathrm{f}^s_i+\mathrm{b}^s)\\ \mathrm{d}_i=\text{ReLU}(\mathrm{W}^h[\mathrm{h}^v_i,\mathrm{h}^s_i]+\mathrm{b}^h) hiv=ReLU(Wvfiv+bv), his=ReLU(Wsfis+bs)di=ReLU(Wh[hiv,his]+bh)
模型中,可学习的参数在所有交通流动中共享。
最终通过将两个不冲突的交通流动信号进行加和,就可以得到任意相位 p \mathrm{p} p的需求表示:
d ( p ) = d i + d j , w h e r e p i = p j = 1 \mathrm{d(p)}=\mathrm{d}_i+\mathrm{d}_j,\ where\ \mathrm{p}_i=\mathrm{p}_j=1 d(p)=di+dj, where pi=pj=1
对于每个相位 p \mathrm{p} p,文章提出了相位对 p , q , q ≠ p \mathrm{{p,q}},\mathrm{q\ne\mathrm{p}} p,q,q=p。给定相位对 ( p , q ) \mathrm{(p,q)} (p,q)和需求,模型的目标是获得 p \mathrm{p} p和 q \mathrm{q} q的竞争表示。
通过将相位对的需求表示进行组合,再将所有相位对的向量进行聚合,即可得到相位对需求嵌入体积 D \mathrm{D} D, D \mathrm{D} D的大小为 8 × 7 × l 1 8\times 7\times l_1 8×7×l1, l 1 l_1 l1是单个相位对需求嵌入向量的长度。
文章采用了 K K K层 1 × 1 1\times 1 1×1的卷积层,并将 D \mathrm{D} D作为输入,从而获得相位对需求表示。其能被形式化的表示为:
H k d = ReLU ( W k d ⋅ H k − 1 r + b k d ) \mathrm{H}^d_k=\text{ReLU}(\mathrm{W}^d_k\cdot \mathrm{H}^r_{k-1}+\mathrm{b}^d_k) Hkd=ReLU(Wkd⋅Hk−1r+bkd)
其中, H 0 d = D \mathrm{H}^d_0=\mathrm{D} H0d=D。这些 1 × 1 1\times 1 1×1的卷积核同样在不同相位对间共享参数。
如上图所示,在相位对 ( p , q ) \mathrm{(p,q)} (p,q)中可能存在两种不同的关系:
在确定相位对后,模型将搜索竞争矩阵并且将关系投影到嵌入向量 e ( p , q ) \mathrm{e(p,q)} e(p,q)上。将所有相位对的嵌入向量聚合可以得到关系嵌入体积 E \mathrm{E} E。这里与相位对需求表示建模相同,同样使用 K K K层 1 × 1 1\times 1 1×1卷积层:
H k r = ReLU ( W k r ⋅ H k − 1 r + b k r ) \mathrm{H}^r_k=\text{ReLU}(\mathrm{W}^r_k\cdot \mathrm{H}^r_{k-1}+\mathrm{b}^r_k) Hkr=ReLU(Wkr⋅Hk−1r+bkr)
其中, H 0 r = E \mathrm{H}^r_0=\mathrm{E} H0r=E。
这个阶段,模型将相位对需求表示和相位竞争掩码作为输入,并预测每个相位的分数。
相位竞争表示 H c \mathrm{H}^c Hc可以通过相位需求 H K d \mathrm{H}^d_K HKd和相位竞争掩码 H K r \mathrm{H}^r_K HKr相乘得到:
H c = H K d ⊗ H K r \mathrm{H}^c=\mathrm{H}^d_K\otimes\mathrm{H}^r_K Hc=HKd⊗HKr
然后,再通过一层 1 × 1 1\times 1 1×1卷积层可获得竞争结果矩阵 C \mathrm{C} C,其中每一行代表相位 p \mathrm{p} p与其他竞争对手的相对优先性:
C = ReLU ( W c ⋅ H c + b c ) \mathrm{C}=\text{ReLU}(\mathrm{W}^c\cdot \mathrm{H}^c+\mathrm{b}^c) C=ReLU(Wc⋅Hc+bc)
最终,将每个相位 p \mathrm{p} p的相对优先性相加获得相位 p \mathrm{p} p的分数。Agent选择最高分作为动作。
通过建模过程,可以对相位进行对称,这使得FRAP能够利用交通信号控制中的对称特性,缩小搜索空间。
比如,再每条交通流的最大车辆数为 n n n,交通信号仅为0或1的情况下,模型能够通过 2 2 × n 2 2^2\times n^2 22×n2种可能的两个交通流的特征组合获得相位表示。然后两个相位被配对(一个相位对)来进行竞争,并且在所有相位对间共享相位竞争模型。这样对8个动作的 Q Q Q值进行回归时,就只需要观测 ( 2 2 × n 2 ) × ( 2 2 × n 2 ) = 16 × n 4 (2^2\times n^2)\times (2^2\times n^2)=16\times n^4 (22×n2)×(22×n2)=16×n4个样本。
FRAP模型能够适用于各种交通环境(大中小流量)、各种交通信号设置(4相位、8相位)和各种道路结构(三交叉路口、四交叉路口、五交叉路口)。FRAP呢能够从一个环境中学习后,移植到另一个环境中并且获得高分。
FRAP在交叉路口中也表现良好。
本文使用CityFLow模拟平台,将交通数据作为输入,模拟器能够为模型提供交通情况的观测并执行信号控制动作。与真实世界一致,绿灯以后设置了3s黄灯和2s全红灯。
在交通数据集中,每辆车没描述为 ( o , t , d ) (o,t,d) (o,t,d),其中 o o o是起始位置, t t t是时间, d d d是终点位置。
在多交叉路口网络中,文章使用了真实路网。在单交叉路口中,除非其他特殊规定,路网将设为一个拥有300米路段的四向交叉路口。
文章使用了济南、杭州和亚特兰大的数据集。
**济南:**文章收集了济南7个十字路口的监控摄像头数据。该数据集中每条记录包含摄像头的位置、车辆到达十字路口的时间以及车辆信息。
**杭州:**该数据集记录了2018年4月1日到2018年4月30日的杭州6个路口的监控摄像头数据,记录完成,数据处理方法于济南数据类似。
**亚特兰大:**该数据集由8台摄像机记录了2006年11月8日亚特兰大Peachtree Street的主干道。该车辆轨迹数据集提供了研究区域内车辆的精确位置,共考虑了五个交叉路口。
行驶时间。
FRAP利用了交通信号控制的对称特性和Ape-X DQN框架提高采样效率。
真实世界中,存在上下班高峰期,可能存在翻转与旋转。如上图,上午8点左右西线交通大于东线,而下午5点,关系反过来。
由于先前的RL方法没有使用交通信号控制中的对称特性,在流量发生剧烈变化时,需要重新训练模型。而FRAP保证了其不容易收到该极端变化的影响。
上图显示了FRAP对翻转和旋转的不变性。该实验中在原始交通流中训练出一个模型,并在对应翻转和旋转的交通流上进行测试。文章及将该模型与两个重新训练的波形进行比较,可见该模型与重新训练的模型具有几乎相同的性能,节约了训练成本。
从直觉上,如果一个模型在大交通流上搜索了足够状态,其就能够移植到相对较轻的交通流。但是,由于较大的状态空间,现有的RL方法不能看到足够的样本,从而传递到不同的交通流。
FRAP模型设计利用了交通信号控制的对称比例,提高了数据的效率,从而具有更好的可移植性。
文章选择了FRAP和IntelliLight模型,使用济南数据集最大车流量最大的路口2进行训练,并评估了他们在交通流较小的路口1的性能。
两种模型都搜索了相同的状态空间并且收敛到交叉路口2的最佳值。从图11中,我们可以看到,FRAP的转移模型与重新训练的模型的性能几乎相同,而IntelliLight的重新训练模型与转移模型之间存在明显的差距。这表明所提出的FRAP模型设计显著提高了采样效率,有利于适应不同的交通流。
在传统交通中,4相设置(A、D、E、H)的交叉路口仍然很常见。
尽管4相设置简单并在某些时候有效,但具有严重的局限性,其在两个相反的方向,直行或左转信号的绿色时间总是相同的。当两个方向的车流量不平衡时,会造成行驶时间的消极影响。而8相设置则可以使来自一个入口的车辆独占通过。
在本实验中,证明了8相设置比4相设置更加灵活,可以更快、更合理地通过。
如上图,在济南1号路口,当东西方向车流量差异较大时,8相设置下学习的策略可以相应调整绿灯时间,而4相设置下学习的策略则会在交通流量较小的路段浪费大量时间。
8相设置花费了66.40s,4相设置用了81.97s。
该实验中,文章根据济南市交通流的均值和方差,为每个路口结构合成了一个典型的交通流。
对于3向路口,文章禁止了一些神经元来使得其与路口结构兼容,此外,将不存在的交通流动用0填补。对于5向路口,添加了另一个相位并进行了与4向路口同样的处理。
文章选择了济南、杭州和亚特兰大 3 × 4 3\times 4 3×4, 4 × 4 4\times 4 4×4和 1 × 5 1\times 5 1×5的路口网格用于测试。其中济南和杭州的数据选取数据较为丰富的区域,并且做了必要的数据填充。
对8:00到20:00间的数据进行测试,文章根据具体策略计算分配给每个动作的绿灯时间,并将其归一化,得到绿灯率。同时,还计算了每个交通流动的车流量占比。
如图13所示,FRAP的绿灯时间比与每小时交通流量的百分比同步良好,而其他基线方法如SOTL和DRL将绿灯时间分配给每个动作更加随机和不规则。
在选定时间内,4个左转交通流动的车流量小于4个直行交通流动。因此,一个好的策略应该是为直行车辆分配更多的绿灯时间。