V2X环境下的交通信号控制通用强化学习框架
V2X环境下的交通信号控制通用强化学习框架
城市交通拥堵是一个长期存在的问题,需要开发有效的交通信号控制(TSC)系统来应对和缓解。虽然现有的基于强化学习(RL)的方法在优化交通信号方面表现出良好的性能,但将这些方法推广到不同结构的交叉口仍然是一个挑战。本文提出一个V2X环境下的基于强化学习的通用交通信号框架,引入一种新的Agent设计,用交叉口矩阵来表征交叉口状态,使得提出的模型适用于不同结构的交叉口,新的交通状态增强方法可以提高各种交叉口结构的处理能力。最后,进行了多个交叉口不同配置的大量实验,结果证实了所提出的框架的有效性。
1、引言
现有基于RL的实时交通信号控制可以分为三类:
在可选集合中选择下一相位,Agent确定需要激活的下一个相位阶段,前提是需要允许灵活相位,比如文献[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],虽然这种方法很灵活,因为相位阶段选择可能看起来是随机的,有可能让驾驶人不适应增加交通事故的风险。
判断是否应该结束当前相位,基于固定相序,Agent决定是否结束当前相位绿灯,如文献[23,24,25]。
从预先设定的相位持续时间中选择一个最佳方案,即方案选择型,如文献[26,27,28]。
总的来说现有方法的泛化能力和可移植性较差,处理不同类型的交叉口时,需要大量的数据收集,模型开发和测试方面工作[29]。在文献[11,18,10,12]中,针对不同的交叉口提出了几种性能较好的广义模型,但也仅适用于设计中的那些特定的路口配置。遇到训练过的交叉口时,这些模型性能会下降。
受上述启发,提出了一个基于强化学习的通用交通状态增强框架(Universal Traffic State Augmentation RL-based framework, UniTSA)。提出的框架能够使用交通信号的增强数据来训练通用Agent。为了处理不同配置的交叉口,开发了一个交叉口矩阵来描述交叉口状态。该框架中采用上述的第二种模式,即实时判断是否结束当前相位,以此来确保一致的模型结构可适用不同交叉口。
为了应对未见过的交叉口结构,本文提出五种交通状态增强方法,以丰富Agent在训练过程中的数据收集。此外,低秩自适应(LoRA)[31]被用来进一步微调关键交叉口的模型。最后,在SUMO仿真平台[32]上进行实验,结果表明,所提出的UniTSA模型即使在训练中未见过的交叉口也能获得优异性能。
2、准备工作
以图1中的标准四路交叉口为例来说明相关概念。
车道(Lane):分为进口车道()和出口车道()。
流向(Traffic Movement):进口车道与出口车道之间的有向连接,如图1左交叉口中黑色带箭头的虚线,图1场景共有12个流向。
流向信号(Movement Signal):是基于每一个流向,对应的交通信号。
相位(Phase):是流向信号的组合,每个相位允许特定流向组合通行,例如图1中的第一个相位允许和流向组合通行,即南北直行。
信号方案(Signal Plan):是相位及其通行时长和其他配置的一个组合序列,本文简化的数学描述为,其中表示相位,表示通行时间。图1饼图示例各个相位持续时间分别为50,20,50,20秒。
3、研究方法
框架
如图2所示,UniTSA框架包括两个模块:
第一个模块是通用Agent训练,通过多个不同的交叉口配置来进行强化学习训练。
第二个模块是基于一些关键交叉口来进行微调参数。
Agent设计与交叉口矩阵
状态空间
不同路口的车道数不同会导致状态空间的维数不一致,为了避免这个问题则在通用四路交叉口使用8个有效流向信号进行统一编码,如下
其中由三部分组成:
交通特征,主要使用平均流量、最大占有率和平均占有率表示交通拥堵程度。
流向特征,提供详细的流向信息,包括转向和车道数。
交通信号特征,由三个0-1变量组成,包括当前相位是否为绿灯、下一个时刻会不会结束准备结束当前相位、当前相位运行时间是否超过最小绿。
动作空间
一个实际可实施的动作设计需要考虑所有交通参与者的安全,文献[10,12,18]提出的相位选择方法是不太合适的,本文选择"Keep or change"逻辑来判断是否结束当前相位,如文献[9,23,25]。
奖励函数
每个流向的平均排队长度取负值作为奖励,则奖励函数为:
其中是一个很小的数,以防分母为零。分别是前轮的均差和标准差,具体计算方式如下:
交通状态增强
近期的一些研究[38, 39, 40]展示了强化学习在数据增强方面的能力。本文除了使用最常见的:
Gaussian noise addition
masking,
还提出了三个新的方法来处理交通信号问题,包括图4中的:
movement shuffling
change of lane numbers
traffic flow scaling
图5是通过5个数据增强方法最终得到状态的步骤说明。训练过程中的小批量数据是从replay buffer或近期增强轨迹中随机采样的,但在小批量上的增强是随机的,在堆叠帧上是一致的。五个增强方法可以直接应用在交叉口矩阵上,使agent能学习和适应不同的交叉口场景和结构。
5种具体方法细节请读者参考原文
交叉口特征提取
本节使用了三种神经网络结构来提取交叉口信息,包括
Convolutional Neural Network (CNN),图6(a)
Recurrent Neural Network (RNN),图6(b)
Transformers,图6(c)
强化学习训练和微调
训练
采用近端策略优化(Proximal Policy Optimization,PPO)算法[41]来训练UniTSA模型。如图2所示,agent在与不同结构的不同交通场景交互过程中,收集由观察、行动和奖励组成的轨迹。这些轨迹作为计算策略损失和价值损失的基础,用于更新Actor and Critic网络的权重。
策略损失量化了当前策略与从收集的轨迹中导出的更新策略之间的差异。它鼓励agent增加导致更高奖励的行为的概率,同时减少导致较低奖励的行为的概率。在数学上,损失可以表示为:
微调
由于在实践中某些交叉口比其他交叉口更为关键,因此在提出的模型中采用LoRA[31]对这些重要交叉口的性能进行微调。更具体地说,LoRA模块被添加到Actor和Critic网络中密集层的权重中,如图2所示。在微调过程中,当更新LoRA模块时,原始预训练的权重保持不变。这种设计使模型能够在不显著增加参数数量的情况下适应特定交叉口的特征,同时保持训练效率。
4、实验与结果
实验设置
本节使用SUMO交通仿真软件[32]进行了大量实验来验证所提出的模型。SUMO是一个开源的微观交通仿真软件,提供交通控制接口(TraCI),用于控制交通信号灯和收集交叉口的交通状况信息。我们通过分析道路上车辆的位置和轨迹来计算每个流向的流量和占用率。
为了模拟现实世界,我们只考虑距离十字路口150米以内的车辆,而不是整条道路上的所有车辆。此外,绿灯之后是3秒的黄灯,然后再过渡到红灯,以确保驾驶员的安全。每辆车的等待时间作为指标来评估不同方法的有效性。
我们使用Stable Baselines3库提供的近端策略优化(PPO)实现[42]。为了加速训练,我们采用了30个进程,训练环境的总步数设置为10M(千万)。状态表示包括交叉口矩阵的前K=8快照,两个连续动作之间的时间间隔为5秒。
超参数的配置如表1所示。此外,Actor and Critic网络被设计为两个全连接层网络,网络的输入大小分别为{64,32},输出大小分别为{32,2}和{32,1}。
数据集
具体而言,构建了12个不同数量的相位、每条道路上的车道和接近道路的交叉口(即3路或4路交叉口)并用于实验。在这12个路口中,8个用于训练,其余4个用于测试。图7描述了12个交叉口的拓扑结构和相位,表2提供了它们的配置简要说明。
除了考虑不同结构的交叉口外,我们还为每个交叉口生成了100条独特的路径。其中四分之三用于训练,其余四分之一用于测试。每条路线的持续时间为3万秒,约8小时。
对比方法
基准模型
FixTime [2]: 固定配时控制,本文考虑每个30s和40s两种固定配时方案.
Webster [3]: 基于韦伯斯特方法的周期级相位时长调整.
SOTL [4]: Self-Organizing Traffic Light Control (SOTL) 是基于人工设置阈值的感应控制,本文阈值设置基于文献[44].
MPLight [10]: MPLight将文献[9]的FRAP结构和文献[45]的pressure-based奖励机制结合。
AttendLight [18]: 引入了注意力机制来训练通用模型,使用两个注意力模型,一个用于捕捉车道数据的变化,另一个用于支持不同相位数路口的决策。
本文模型
本文的基础模型上还提出几个变种,包括:
UniTSA (Single): 单一环境中的训练,基于RNN结构提取交通状态信息.
UniTSA (Multi): 与UniTSA (Single)不同, 是同时训练多个环境,包括UniTSA (Multi+CNN), UniTSA (Multi+RNN), and UniTSA (Multi+Trans).
UniTSA (Multi+TSA): 这个UniTSA变种模型是将提出的5种数据增强方法与UniTSA (Multi)结合,包括UniTSA (Multi+CNN+TSA), UniTSA (Multi+RNN+TSA), and UniTSA (Multi+Trans+TSA).
训练结果
表3显示了UniTSA和其他基准方法在训练交叉路口获得的每辆车的平均等待时间。很明显,在大多数交叉场景中,与传统方法相比,基于强化学习的方法表现出更好的性能。尽管SOTL在INT-2中实现了最短的等待时间,但它需要手动定义不同环境的阈值,限制了其在大规模场景中的推广。
在基于RL的通用方法中,即MPLight、AttenLight和UniTSA,与其他基于RL的方法相比,UniTSA表现出显著的性能改进。在评估的8个十字路口,平均而言,UniTSA的性能比MPLight和AttendLight分别提高了15%和12%。
在用RNN或Transformer块取代MLP之前,该方法不仅结合了参数共享技术,还捕获了交通状态的时间信息。与AttendLight相比,UniTSA通过使用交叉口矩阵表示特定时间实例的交通状态来简化状态设计。此外,引入了五种交通状态增强方法,使agent在训练过程中能够观察到更广泛的交通交叉口状态,从而提高了模型的性能。
最后,我们探讨了不同网络结构和交通状态增强的影响。表3表明,与基于CNN的结构相比,基于RNN的结构产生了更好的结果。此外,在没有交通状态增强的情况下,UniTSA (Multi+CNN)和UniTSA (Multi+RNN)在大多数十字路口的表现都优于UniTSA (Multi+Trans),这是相当令人惊讶的。这可以归因于这样一个事实,即基于Transformer的方法需要大量的训练数据。然而,在存在交通状态增强的情况下,该模型可以与更广泛的具有不同结构的路口交互学习。因此,在许多场景下,UniTSA (Multi+Trans+TSA)优于UniTSA (Multi+RNN)和UniTSA (Multi+RNN+TSA)。
测试结果
有四个路口INT-9、INT-10、INT-11和INT-12,专门用于测试。表4总结了不同方法获得的性能,包括基准方法和我们提出的UniTSA方法的各种变体。与在训练集上得到的结果一致,基于强化学习的算法显著优于传统的交通控制算法。在基于RL的通用方法中,UniTSA模型在所有测试路口上表现出优异的性能,如表4所示。
其中,UniTSA(Multi+RNN+TSA)和UniTSA(Multi+Trans+TSA)在减少车辆通过交叉口的平均出行时间方面表现突出。与MPLight和AttendLight相比,UniTSA(Multi+RNN+TSA)的平均出行时间分别减少了约32.9%和41.3%。这些结果证实了我们的方法在优化交通信号和提高交通流效率方面的有效性。
值得注意的是,结合交通状态增强技术可以提高不同UniTSA变体的性能,这种改进可以归因于通过交通状态增强技术在训练数据中包含了更多种类的路口场景,例如车道数变化方法,该方法可以生成不同的车道配置组合。
微调结果
在实际场景中,某些路口由于其重要性而需要特别注意。为了解决这个问题,我们从UniTSA(Multi+RNN)训练的通用模型开始。之所以选择基于RNN的UniTSA,是因为与基于CNN和基于Transformer的结构相比,它在大多数路口表现出优越的性能。与在单一场景上训练的UniTSA(Single)相比,只需要几个训练步骤,生成的模型就可以迅速达到甚至超过单环境模型的性能。
图8显示了不同模型在测试路口的累积奖励随训练步长的变化。绿色虚线表示将通用模型直接应用于新路口而不进行任何微调的结果。在没有任何额外的微调或迁移学习的情况下,该模型已经显示出较好的结果。蓝线表示从头开始训练的模型,而橙线表示基于通用模型的微调模型。可以观察到,单环境模型在大约3M个训练步骤上收敛。与之形成鲜明对比的是,微调模型只需要大约1M(百万)的训练步骤就可以实现相当的性能,在保持类似性能的同时,计算时间减少了大约66%。
表5提供了对模型经过微调后的性能的详细分析。在1M(百万)训练步骤中,与UniTSA(Single)相比,微调模型在四个测试路口上的平均性能提高了36%。即使经过10M(千万)的训练步骤,微调模型的表现仍然比从头开始训练的模型高出3%。这方面对实时应用程序特别有吸引力。例如,在拥有超过1000个路口的道路网络中,可以在保持相当性能的同时显著减少与环境的交互次数,从而大大提高训练效率。
交通状态增强的对比分析
说明
在训练路口和测试路口分别应用两种交通状态增强技术的不同组合进行了实验。为了评估这些方法的影响,我们提出了有交通状态增强和没有交通状态增强的模型之间的平均等待时间( Average Waiting Time,AWT)比值,比值小于1则表明相应的交通状态增强方法取得了改善。
图9展示了对INT-1、INT-7、INT-9和INT-11路口的对比分析结果,它们代表了现实场景中常见的十字路口结构。图中的每个柱对应于特定交通状态增强组合的平均AWT比率,误差柱表示95%置信区间。蓝色虚线表示UniTSA(Multi+RNN+TSA)的AWT比率,它采用了所有可用的交通状态增强方法。
对比分析
图9a和图9b分别描述了训练交叉口INT-1和INT-7得到的结果。表明通过交通状态增强实现的平均性能改进约为2%。此外,包含噪声和掩模方法会导致INT-7的性能下降,这可以归因于模型已经在很大程度上捕获了训练交叉点的潜在模式和特征。因此,通过交通状态增强引入额外的变化可能不会在训练集中提供实质性的好处。然而,交通状态增强方法在面对未见过的交叉口结构时表现出显著的改进。
图9c和图9d分别给出了测试交叉口INT-9和INT-11的AWT比值。结果表明大多数交通状态增强方法在由未见过的交叉口组成的测试交叉口中提高了基本策略的性能。通过交通状态增强生成的不同训练样本有助于提高性能。在交通状态增强技术中,movement shuffling和traffic flow scaling对提高模型的性能尤为有效。这些技术使模型能够适应和学习更广泛的场景,从而提高测试集上的性能。