【论文笔记 · RL】Reinforcement learning-based multi-agent system for network traffic signal control

Reinforcement learning-based multi-agent system for network traffic signal control

摘要

当前人工智能系统面对的挑战包括在多路口交通网络中的交通信号协调。该文章将介绍一种新的多智能体系统方法和强化学习框架来获取一种有效的交通信号控制策略。其中,强化学习框架旨在最小化交叉路口的平均延迟、拥堵和堵塞的可能性。一个五交叉路口交通网络已经被学习,并且每个路口都被一个自动化的智能体控制。其中,使用了central agent和outbound agent两种agent:

  • Outbound agent通过利用最长队列优先算法(LQF)来调度交通信号,并通过central agent提供本地交通统计数据,与central agent进行协同调度。最长队列优先算法已经被证明能够保证交通信号调度的稳定性和公平性。
  • Central agent能够学习到有本地和邻居交通状况驱动的价值函数。

文章提出的新方法使用Q-learning算法和前馈神经网络进行价值函数的逼近。实验结果清晰展示了多智能体强化学习方法相对于仅基于最长队列优先算法的单交叉路口控制方法的优点。

介绍

文章基于Q learning算法设计了交通信号调度算法。本文中关于五个交叉路口的研究基于一个集中连接的交通网络,每个交叉路口中有一个独立的Agent,并且各个Agent间能够相互协作,促进基本信息的交流。Outbound agent能够使用LQF算法来控制路口,而Central agent则能够将邻居的交通统计数据作为其决策的一部分。由于状态空间维度较大,采用函数逼近思想来存储价值函数。

仿真结果表明,所提出的强化学习控制方法具有较低延迟和拥堵频率,特别是对于中高流量到达率条件下,性能由于LQF算法。

系统模型

符号及术语定义

吞吐量:单位时间内机动车成功穿越十字路口的平均数量。

交通拥堵:一个路口被越来越多的排队车辆占据。

低吞吐量和高阻塞都会导致车辆延误的增加,这是评价交通信号控制算法的基本指标。

交叉路口网络设置

image-20230126215132745

研究的交叉路口网络如图所示,一个五路口交通网络,位于中间的交叉路口称为中心路口(central intersection),其余四个路口标记为出站路口(outbound intersection)。图中,偶数表示车道既可直行,也可右转。在奇数车道行驶的车辆应左转入指定队列。所有车道最多可排队40辆车。一般情况下,车辆离开网络前只穿过一个或三个十字路口(出站-中央-出站)。

在多智能体系统中,Agent合作并不意味着一个Agent从其他所有智能体中获取信息,而是Agent能够从邻近Agent中获取区域信息。因此,假设一个Agent只能与他邻近的Agent通信。

在每个时间步中,根据泊松过程,在每个出站路口生成新的机动车。他们本放置在各自车道的末尾。交叉路口采用八相位方案。

强化学习基础定义

**系统状态:**每个时间步中,交叉路口的局部状态基于本地交通统计。状态被表示为八维向量特征,每个元素表示一条车道的相对交通流。相对交通流是一条车道车辆的总延迟除以交叉路口中所有车道车辆的总延迟。对于outbound agent,只考虑本地交通统计信息(使用LQF算法)。假设central agent可以获得邻近交叉路口的所有状态,这些额外的信息可以使central agent更好预测上游交通流,从而改善信号调度。

动作集合:{(1,5),(1,6),(2,5),(2,6),(3,7),(3,8),(4,7),(4,8)}

对于固定时间算法来说,所有可用相位每个周期至少出现一次。而对于驱动控制器,在驱动控制器中,阶段可以根据需求缩短活跳过,并且每个阶段的最小和最大绿灯时间都是强制的。所提出算法的动作是按照固定的时间间隔变化的。

**奖励函数:**奖励范围为-1到1,正奖励代表当前延迟低于前一时间步的延迟。而若平均延迟增加,agent将收到惩罚(负数)。加权出口车流用于量化奖励:
r = D last − D current max [ D last , D current ] r=\frac{D_{\text{last}}-D_{\text{current}}}{\text{max}[D_{\text{last}},D_{\text{current}}]} r=max[Dlast,Dcurrent]DlastDcurrent

D last D_{\text{last}} Dlast D current D_{\text{current}} Dcurrent是之前和当前交叉路口的总延迟。但是,考虑到现实中,central agent的行为会影响其他交叉路口,文章提出将其他路口的延迟信息也纳入到central agent的奖励中。这里通过将 r r r定义为中心交叉路口的延迟和其他交叉路口延迟的加权和(1:4)。

系统调度算法

Q-Learning调度算法

文章使用Q-learning来提升选择动作的性能与有效性。 Q Q Q值更新方法如下:
Q ( s t , a t ) ← Q ( s t , a t ) + α [ r t + 1 + γ max a Q ( s t + 1 , a ) − Q ( s t , a t ) ] Q(s_t,a_t)\leftarrow Q(s_t,a_t)+\alpha[r_{t+1}+\gamma\text{max}_a Q(s_{t+1},a)-Q(s_t,a_t)] Q(st,at)Q(st,at)+α[rt+1+γmaxaQ(st+1,a)Q(st,at)]

基于函数逼近的Q-Learning

理想情况下,值函数估计可用表格表示,从而获得最优值。但由于某些问题状态空间过大,导致采用函数进行近似。常用的逼近方法有神经网络等。本文使用了反向传播算法的前馈神经网络提供状态-动作价值函数的近似值。

神经网络采用了40个输入节点,代表5个状态向量,25个隐藏单元和每个动作的对应输出。将状态信息作为输入进入到神经网络中以后,神经网络可输出状态-动作价值估计,选择状态-动作价值最高的动作,同时采取探索性动作。在随后的时间步骤中,重复相同的过程,接收奖励信号,允许估计误差为 α [ r t + 1 + γ max a Q ( s t + 1 , a ) − Q ( s t , a t ) ] \alpha[r_{t+1}+\gamma\text{max}_aQ(s_{t+1},a)−Q(s_t, a_t)] α[rt+1+γmaxaQ(st+1,a)Q(st,at)],以指导学习状态-动作值的过程。

函数逼近Q-Learning的收敛性

函数逼近的Q-Learning只能保证到达次优策略。

提高函数逼近性能的方法:

  • 数据标准化:对于状态向量中的每个元素,标准化到[-1,1]。

  • 激活函数:采用以0为中心对称的反对称的sigmoid函数。

  • 自适应学习率:实现这一目标的一种更有效的方法是使用玻尔兹曼学习率,它随时间逐渐降低,与平均误差的减少成正比。在本文模拟中,学习率以一个固定值减少,下限为0.01。

  • 动量:在学习过程中,如果错误导致状态-动作值估计值的变化可以忽略不计,智能体将认为它找到了最优策略。在所有其他情况下,动量元素被用来修改权重的变化,使:
    ω ˉ k + 1 = ω ˉ k + ( 1 − c k ) Δ ω ˉ b p k + c k ( ω ˉ k − ω ˉ k − 1 ) \bar\omega^{k+1}=\bar\omega^{k}+(1-c^k)\Delta\bar\omega^{k}_{bp}+c^k(\bar\omega^{k}-\bar\omega^{k-1}) ωˉk+1=ωˉk+(1ck)Δωˉbpk+ck(ωˉkωˉk1)
    其中, ω ˉ k \bar\omega^{k} ωˉk是时间 k k k的权重, Δ ω ˉ b p k \Delta\bar\omega^{k}_{bp} Δωˉbpk是误差梯度, c k c^k ck是学习率。

  • 权值衰减:
    ω ˉ n e w = ( 1 − ϵ ) ω ˉ o l d \bar\omega_{new}=(1-\epsilon)\bar\omega_{old} ωˉnew=(1ϵ)ωˉold

模拟结果

模拟设置及参数

所有的仿真都是在Matlab环境中使用离散事件环境进行的。交叉路口的agent每20个时间单位采取一次行动,每个时间单位不允许超过一辆车辆通过交叉路口。如果交通信号从红灯转变为绿灯,红灯清除有2个单位的延迟(类似于黄灯)。交通到达率服从泊松分布,平均到达率在0.1 ~ 1.0之间。

如上所述,为了评估性能,文章只收集通过中心路口的车辆的统计数据。所有的模拟都适用于4.2节中描述的五交叉口网络。每次模拟运行的持续时间为20000个时间单位。权重衰减因子为0.05,Q-Learning折扣因子 γ \gamma γ为0.95。

结果与讨论

将运行文章提出的强化学习算法的智能体与运行LQF算法的智能体进行比较,LQF算法仅考虑每个智能体的本地交通量。

在测量和评估central agent的性能之前,让central agent运行10000步,以降低探索率来学习环境。在学习阶段之后,允许状态-动作值函数更新方案以0.02的探索率继续进行。需要注意的是,outbound agent只应用LQF算法而不应用强化学习方法,因此不需要经历学习阶段。

平均延迟

image-20230203230037427

上图展示了穿越中心交叉路口的车辆的平均延迟。随着交通量的增加,可观察到两种调度方法的平均延迟都在增加。当到达率低于0.45时,LQF调度算法的性能略好于多智能体Q-Learning系统。这是因为在较低的到达率下,流入网络的车辆数量相对较少,因此队列长度通常较小。

在LQF调度方案下,所有交叉口智能体简单地计算车辆数量,并选择最大相位组合。然而,在强化学习方案中,中心交叉口的agebt不仅考虑队列长度,还考虑等待时间,这体现在定义的唯一奖励函数上。

在更高的到达率下,对应于更具挑战性的交通场景,基于RL的方案比LQF方案显著改善。在拥挤的交通网络中,几乎所有的队列都已被占用(相对于规定的限制)。作为极端情况,如果交通到达率为100%,则队列长度组合将接近相同,因此LQF将以相等的概率采取8个动作中的任何一个。

交叉阻塞

交叉阻塞的计算方法是车辆在绿灯阶段,由于所需车道被完全占用而无法通过路口的时间单位除以20个时间单位。

image-20230203230559721

随着越来越多的车辆进入交通网络,车辆被阻塞和在绿灯下被迫停下来的频率也在增加。在中高到达率下,本文算法的交叉阻塞频率仅为LQF控制器的一半。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值