自适应周期级交通信号控制的方法和系统与流程

未命名 07-17 阅读:122 评论:0

自适应周期级交通信号控制的方法和系统
1.相关申请数据
2.本技术要求名称均为“自适应周期级交通信号控制的方法和系统(method and system for adaptive cycle-level traffic signal control)”的2020年9月18日提交的美国临时专利申请第63/080,455号和2021年5月21日提交的美国非临时专利申请第17/327,523号的优先权。
技术领域
3.本技术大体上涉及交通信号控制的方法和系统,尤其涉及自适应周期级交通信号控制。


背景技术:

4.交通拥堵会造成大量的时间浪费、燃料浪费以及污染。由于财力和空间限制以及环境和可持续性问题,建造新的基础设施来消除这些问题往往不切实际。因此,为了提高城市交通网络的容量,研究人员已探索使用技术来最大限度地提高现有基础设施的性能。优化交通信号的运行有希望减少城市网络中司机的延误。
5.交通信号用于向交通环境中运行的车辆的司机传达交通规则。典型的交通信号控制器控制交通信号,该交通信号在由交通网络中的单个交叉口组成的交通环境中管理车辆交通。因此,例如,单个交通信号控制器可控制由面向四个方向(北、南、东、西)的红/黄/绿交通灯组成的交通信号,但应理解,一些交通信号可控制由多于或少于四个交通方向组成的环境中的交通,并且可包括其他信号类型,例如面向同一方向的用于不同车道的不同信号、转弯箭头、街道公共交通信号等。
6.交通信号通常按周期运行,每个周期由若干阶段组成。单个阶段可对应于交通信号的各种灯的固定状态,例如,绿灯面向南北而红灯面向东西,或黄灯面向南北而红灯面向东西,但一些阶段可能包括另外的非固定状态,如计时器针对人行横道进行倒计时。通常,交通信号周期由每个阶段通常以固定次序在周期中重复一次而组成。
7.图1示出由依序从第一阶段102到第八阶段116的八个阶段组成的示例性交通信号周期100。在此示例中,除非另有说明,否则所有其他灯在某一阶段期间都是红色。
8.在第一阶段102,即,阶段1,交通信号对北行交通(即,在朝南的灯柱上)显示绿色左转箭头,指示为“nl”,并对南行交通(即,在朝北的灯柱上)显示绿色左转箭头,指示为“sl”。在第二阶段104,即,阶段2,交通信号对南行交通显示绿色左转箭头和绿色“直行”灯或箭头,分别指示为“sl”和“st”。在第三阶段106,即,阶段3,交通信号对北行交通显示绿色左转箭头和绿色“直行”灯或箭头,分别指示为“nl”和“nt”。在第四阶段108,即,阶段4,交通信号对北行和南行交通均显示黄色左转箭头(示为虚线)和绿色“直行”灯或箭头。在第五阶段110,即,阶段5,交通信号对东行交通(即,在朝西的灯柱上)显示绿色左转箭头,指示为“el”,并对西行交通(即,在朝东的灯柱上)显示绿色左转箭头,指示为“wl”。在第六阶段112,即,阶段6,交通信号对西行交通显示绿色左转箭头和绿色“直行”灯或箭头,分别指示
为“wl”和“wt”。在第七阶段114,即,阶段7,交通信号对东行交通显示绿色左转箭头和绿色“直行”灯或箭头,分别指示为“el”和“et”。在第八阶段116,即,阶段8,交通信号对西行和东行交通均显示黄色左转箭头(示为虚线)和绿色“直行”灯或箭头。
9.在完成阶段8 116后,交通信号返回到阶段1 102。交通信号控制器优化通常包括优化交通信号周期的每个阶段的持续时间,以实现交通目标。
10.交通信号控制最常见的方法是固定时间式以及致动式。在固定时间交通信号控制器配置中,交通信号周期的每个阶段都具有固定的持续时间。固定时间控制器使用历史交通数据来确定最优交通信号模式;然后部署优化的固定时间信号模式(即周期的阶段持续时间集)来控制实际交通信号,此后固定该模式而不改变。
11.与固定时间控制器相比,致动信号控制器从传感器接收反馈以对交通流作出响应;然而,致动信号控制器并不明确优化延迟,而是通常响应于即时交通状况而调整信号模式,不会随着时间推移来适应交通流。因此,一个阶段的持续时间可能根据基于传感器数据的当前交通状况而延长,但没有机制用于使用过往阶段或周期的数据来随时间推移而优化交通信号操作,或根据优化例如平均或聚合车辆延迟等性能指标进行决策。
12.自适应交通信号控制器(adaptive traffic signal controller,atsc)更先进,性能可优于其他控制器,如固定时间或致动控制器。atsc不断修改信号定时,以优化预定目标或性能指标。一些atsc,包括scoot、scats、prodyn、opac、utopia和rhodes,使用交通环境的内部模型优化信号,该模型通常简单化并且很少能跟进当前状况。这些atsc的优化算法大多是探索式的和次优的。由于交通和司机行为的随机性,很难设计出精确的交通模型。更现实的模型也更复杂,更难控制,有时会导致计算延迟过长而无法实现实时交通控制。因此,在控制器的复杂性与实用性之间存在权衡。
13.然而,随着作为一种用于优化的无模型闭环控制方法的强化学习(reinforcement learning,rl)的出现,这一领域有了一些改进。rl算法可在与环境交互和评估自身性能的同时学习最优控制策略。最近,研究人员在atsc中使用了采用卷积神经网络的深度强化学习(deep reinforcement learning,drl)。在以下文献中描述了drl交通信号控制系统的示例:w.gessions和s.razavi的“使用深度强化学习代理进行交通信号控制(using a deep reinforcement learning agent for traffic signal control)”,corr,卷abs/1611.0,2016年;j.gao、y.shen、j.liu、m.ito和n.shiratori的“自适应交通信号控制:具有经验回放和目标网络的深度强化学习算法(adaptive traffic signal control:deep reinforcement learning algorithm with experience replay and target network)”,corr,卷abs/1705.0,2017年;s.m.a.shabesary和b.abdulhai的“用于自适应交通信号控制的深度学习与离散强化学习(deep learning vs.discrete reinforcement learning for adaptive traffic signal control)”,2018年第21届智能交通系统国际会议(itsc),2018年,第286

293页,所有这些文献都通过全文引用的方式并入本文。
14.与使用函数逼近方法的其他rl方法相比,深度强化学习能够处理大型状态空间问题并获得更好的性能。在一些drlatsc中,将街道表面离散成小单元,这些单元分组在一起以创建接近交叉口的车辆的位置和速度矩阵,并将该矩阵用作执行drl任务的深度q网络的输入。
15.现有drl控制器设计成每秒采取行动,即所谓的基于秒的控制。在每一秒钟,drl决
定延长当前绿色信号或切换到另一阶段。这些控制器需要可靠的高频通信基础设施和强大的计算单元,以便有效地监控交通环境,并按每秒的时间标度控制交通信号。此外,由于无法提前一秒知道控制器的行为,一些市政当局和交通部门对每秒钟都做出决策的控制器感到不满意。相反,他们更愿意提前知道下一周期的每个阶段会是什么样子,就像使用固定时间控制器有可能实现的那样。此外,绿色信号在任何一秒终止的可能性也可能与人行横道的安全相冲突,因为可能很难或不可能将行人倒计时计时器配置成使已经进入人行横道的行人安全通过人行横道。
16.由于这些原因,能够以低于每秒一次的频率做出决策的交通信号控制器可具有某些优点。有可能实施为整个周期生成决策数据的交通信号控制器,这可称为基于周期的控制。基于周期的控制器可产生下一交通信号周期的所有阶段的持续时间数据。然而,由于限制控制器与交通信号的交互,这种方法可能会降低控制器实时响应交通环境变化的灵活性。关于基于周期的rl型交通信号控制的文献是有限的,至少部分原因是复杂和巨大的动作空间。在每个周期中具有固定阶段次序的基于秒的控制方法中,控制器必须决定是延长当前绿色阶段还是切换到下一阶段,这会产生大小为二的离散动作空间(0=延长,1=切换)。最多,每个周期内阶段灵活排序的基于秒的控制器不仅必须决定是否切换(延长或切换=2个动作),而且还必须决定切换到哪个可能的阶段(周期中的n个阶段=n个动作),在这种情况下,动作空间大小是n的离散集合(每个交叉口处的n个可能阶段,在大多数情况下,该大小限制为最多8个阶段,n=8)。
17.另一方面,基于周期的控制器必须应付连续的动作空间。交通信号周期和其每个阶段可以是任何时间长度。与基于秒的控制问题相比,即使时间离散化,动作空间也会急剧增加。在第一示例中,交叉口处的交通信号的周期有4个阶段(例如,北和南、北左转弯和南左转弯、东和西、东左转弯和西左转弯)。假设所有阶段的最小绿色时间为10秒,最大绿色时间为30秒,则动作空间是可针对当前阶段选择的秒持续时间值(即,20)增到要切换到的阶段数(即4)的幂的数,即,204=160,000。
18.这个问题在m.aslani、m.s.mesgari和m.wiering的“在具有不同交通中断事件的现实世界交通网络中使用行为-评判方法的自适应交通信号控制(adaptive traffic signal control with actor-critic methods in a real-world traffic network with different traffic disruption events)”(transp.res.部分c紧急事件技术,第85卷,第732

752页,2017年(以下简称“aslani”))中进行了论述,该文献以全文引用的方式并入本文。aslani通过将动作空间离散为10秒的间隔来解决这个问题。因此,每个阶段的控制器必须从集合[0秒,10秒,20秒
……
90秒]中选择阶段持续时间,这是种非常粗糙的离散化,可能会影响控制器的性能。
[0019]
在x.liang、x.du、g.wang和z.han的“交通灯周期控制的深度强化学习网络(adeep reinforcement learning network for traffic light cycle control)”(ieee trans.veh.technol.第68卷,第2期,第1243

1253页,2019年)中描述了另一种方法,该文献通过全文引用的方式并入本文,该文献使用增量方法来设置信号定时。控制器不直接限定阶段持续时间,但它在每个决策点决定将每个阶段的定时增加或减少5秒。这种方法不仅会受到动作空间的粗糙离散化的影响,而且也没有对突然变化做出反应的灵活性。
[0020]
因此,需要一种自适应交通信号控制器,其可在连续的持续时间值范围内前瞻性
地为交通信号周期生成一个或多个阶段持续时间,由此可克服上述现有方法的一个或多个限制。


技术实现要素:

[0021]
本公开描述了用于自适应周期级交通信号控制的方法、系统和处理器可读介质。描述了一种在连续动作空间内工作的智能自适应周期级交通信号控制器和控制方法。如上所述,大多数现有的自适应交通信号控制器逐秒工作,这在安全性、可预测性以及通信和计算要求方面具有上述缺点。现有的自适应周期级交通信号控制器是基于模型的、离线的或初步的。本文描述的实施例可包括使用称为近端策略优化(proximal policy optimization,ppo)的强化学习算法的连续动作自适应周期级交通信号控制器或控制方法,该算法是强化学习的一种行为-评判模型。在一些实施例中,控制器不将动作空间视为离散的,而是产生连续值作为输出,使深度q网络(deep q network,dqn)等已建立的rl方法不可用。在一些实施例中,对于交通信号周期中有4个阶段的交叉口,控制器产生4个连续数字,每个数字指示周期的阶段的持续时间。
[0022]
在一些方面,本公开描述了一种用于训练强化学习模型以生成交通信号周期数据的方法。通过执行数个操作来处理指示受交通信号影响的交通环境的初始状态的训练数据样本。强化学习模型用于通过将策略应用于训练数据样本和一个或多个过往训练数据样本来生成交通信号周期数据。该交通信号周期数据包括交通信号周期的一个或多个相应阶段的一个或多个阶段持续时间。每个阶段持续时间是从连续的值范围中选择的值。在将生成的交通信号周期数据应用于交通信号之后,确定交通环境的更新状态。通过对交通环境的初始状态和交通环境的更新状态应用奖励函数生成奖励。根据奖励调整策略。处理训练数据样本的步骤重复一次或多次。训练数据样本指示交通环境的更新状态。
[0023]
在一些方面,本公开描述了一种用于训练强化学习模型以生成交通信号周期数据的方法系统。该系统包括处理器设备和存储器。存储器上存储强化学习模型和机器可执行指令,当由处理设备执行时,机器可执行指令使系统通过执行数个操作来处理指示受交通信号影响的交通环境的初始状态的训练数据样本。通过执行数个操作来处理指示受交通信号影响的交通环境的初始状态的训练数据样本。强化学习模型用于通过将策略应用于训练数据样本和一个或多个过往训练数据样本来生成交通信号周期数据。该交通信号周期数据包括交通信号周期的一个或多个相应阶段的一个或多个阶段持续时间。每个阶段持续时间是从连续的值范围中选择的值。在将生成的交通信号周期数据应用于交通信号之后,确定交通环境的更新状态。通过对交通环境的初始状态和交通环境的更新状态应用奖励函数生成奖励。根据奖励调整策略。处理训练数据样本的步骤重复一次或多次。训练数据样本指示交通环境的更新状态。
[0024]
在一些示例中,交通环境是模拟交通环境,而交通信号是模拟交通信号。
[0025]
在一些示例中,这些一个或多个阶段持续时间包括交通信号的至少一个周期的每个阶段的阶段持续时间。
[0026]
在一些示例中,这些一个或多个阶段持续时间由交通信号的周期的一个阶段的阶段持续时间组成。
[0027]
在一些示例中,强化学习模型是行为-评判模型,策略是行为策略,而奖励函数是
评判奖励函数。
[0028]
在一些示例中,行为-评判模型是近端策略优化(proximal policy optimization,ppo)模型。
[0029]
在一些示例中,每个训练数据样本包括交通数据,包括交通环境中的多个车辆中的每个车辆的位置数据和速度数据。
[0030]
在一些示例中,每个训练数据样本包括交通数据,包括交通环境中多个区域中的每个区域的交通密度数据和交通速度数据。
[0031]
在一些示例中,确定交通环境的更新状态包括确定交通环境中的一个或多个静止车辆队列中的每个队列的长度。该长度指示队列中静止车辆的数目。一个或多个过往训练数据样本包括对应于一个或多个队列峰值时间的一个或多个过往训练数据样本(每个队列峰值时间是一个队列的长度处于局部最大值时的时间),以及对应于一个或多个队列谷值时间的一个或多个过往训练数据样本(每个队列谷值时间是一个队列的长度处于局部最小值时的时间)。
[0032]
在一些示例中,一个或多个过往训练数据样本对应于一个或多个阶段转变时间。每个阶段转变时间是交通信号在交通信号周期的两个阶段之间转变的时间。
[0033]
在一些示例中,奖励函数应用于交通环境的初始状态和交通环境的更新状态,以根据在前一交通信号周期内在该交通环境中的静止车辆的估计数目来计算奖励。
[0034]
在一些示例中,一个或多个过往训练数据样本对应于一个或多个阶段转变时间。每个阶段转变时间是交通信号在交通信号周期的两个阶段之间转变的时间。
[0035]
在一些示例中,每个训练数据样本包括指示交通信号周期的当前阶段以及在当前阶段期间流逝的时间的交通信号阶段数据。
[0036]
在一些示例中,这些一个或多个阶段持续时间包括交通信号的至少一个周期的每个阶段的阶段持续时间。强化学习模型是近端策略优化(proximal policy optimization,ppo)行为-评判模型。策略是行为策略。奖励函数是评判奖励函数。每个训练数据样本包括:交通信号阶段数据和交通数据。交通信号阶段数据指示交通信号周期的当前阶段以及在当前阶段期间流逝的时间。交通数据包括交通环境的多个区域中的每个区域的交通密度数据和交通速度数据。奖励函数应用于交通环境的初始状态和交通环境的更新状态,以根据在前一交通信号周期内在该交通环境中的静止车辆的估计数目来计算奖励。一个或多个过往训练数据样本对应于一个或多个阶段转变时间。每个阶段转变时间是交通信号在交通信号周期的两个阶段之间转变的时间。
[0037]
在一些方面,本公开描述了一种用于生成交通信号周期数据的系统。该系统包括处理器设备和存储器。存储器上存储根据上述方法步骤训练的已训练强化学习模型,以及当由处理设备执行时使系统执行数个操作的机器可执行指令。从交通监控系统接收指示真实交通环境状态的交通环境状态数据。用于训练强化学习模型的交通环境是真实交通环境或其模拟版本。强化学习模型用于通过将策略至少应用于交通环境状态数据来生成交通信号周期数据。将交通信号周期数据发送到交通控制系统。
[0038]
在一些方面,本公开描述了一种非瞬时性处理器可读介质,其上存储了根据上述方法步骤训练的已训练强化学习模型。
[0039]
在一些方面,本公开描述了一种非瞬时性处理器可读介质,其上存储了机器可执
行指令,机器可执行指令在由处理器设备执行时使处理器设备执行上述方法步骤。
附图说明
[0040]
现在将通过示例参考示出本技术示例性实施例的附图,其中:
[0041]
图1为示例性交通信号周期八个阶段的表,示出本文描述的示例性实施例的示例性操作环境。
[0042]
图2为本文描述的实施例的包括与交通信号控制器通信的交通信号和传感器的交叉口处的示例性交通环境的框图。
[0043]
图3为本文描述的实施例的示例性交通信号控制器的框图。
[0044]
图4为本文描述的实施例的用于训练强化学习模型以生成交通信号周期数据的示例性方法的步骤的流程图。
[0045]
图5为本文描述的实施例将交通车道分割成单元的交叉口处的交通环境的俯视图。
[0046]
图6为本文描述的实施例的转换成用作训练数据样本的交通环境状态数据的图5中单元的车辆速度和车辆密度数据的示意图。
[0047]
图7a为本文描述的实施例的在图1的交通信号周期的阶段4结束时图5的交通环境的俯视图,示出了不同交通方向的不同车辆队列长度。
[0048]
图7b为本文描述的实施例的在图1的交通信号周期的阶段8结束时图5的交通环境的俯视图,示出了不同交通方向的不同车辆队列长度。
[0049]
图8为本文描述的实施例的交通信号控制器的示例性行为模块的框图,示出一个时间点的交通环境状态数据作为输入以及生成的交通信号周期数据作为输出。
[0050]
图9为本文描述的实施例的交通信号控制器的示例性行为模块的框图,示出多个时间点的交通环境状态数据作为输入以及生成的交通信号周期数据作为输出。
[0051]
图10a为本文描述的实施例的在图5的示例性交通环境中在图1的交通信号周期的前四个阶段期间南行交通的车辆队列长度随时间变化的图解。
[0052]
图10b是图10a的图解,示出根据本文描述的实施例的在阶段转变时间处逼近为队列长度之间的线性插值的队列长度。
[0053]
图10c是图10b的图解,示出根据本文描述的实施例的南行和北行交通在阶段转变时间处的队列长度。
[0054]
图10d是图10c的图解,示出根据本文描述的实施例的在阶段转变时间处生成的训练数据样本。
[0055]
图11a为本文描述的实施例的随着时间推移距交叉口的静止车辆距离的图解,示出计算为静止车辆队列长度的总和的总延迟。
[0056]
图11b为本文描述的实施例的随着时间推移距交叉口的静止车辆距离的图解,示出计算为每个车辆或单元的静止时段的持续时间的总和的总延迟。
[0057]
图11c为本文描述的实施例的随着时间推移距交叉口的静止车辆距离的图解,示出计算为随时间推移由静止车辆队列限定的三角形的面积的总延迟。
[0058]
在不同的附图中可使用相似的附图标记来表示相似的组件。
具体实施方式
[0059]
在各种示例中,本公开描述了用于连续动作空间中的自适应周期级交通信号控制的方法、系统和处理器可读介质。下面参考附图描述各种实施例。示例性实施例的描述分成多个部分。示例性控制器设备部分描述了适合实施示例性交通信号控制器和方法的示例性设备或计算系统。示例性强化学习模型部分描述了控制器如何学习和更新rl模型的参数。交通信号周期数据示例部分描述了控制器的动作空间和输出。交通环境状态数据示例部分描述了控制器的状态空间和输入。示例性奖励函数部分描述了控制器的奖励函数。控制交通信号的示例性系统部分描述了已训练控制器在用于控制实际交通环境中的交通信号时的操作。
[0060]
示例性控制器设备
[0061]
图2是示出包括与示例性交通信号控制器220通信的交通信号和传感器的交叉口201处的示例性交通环境200的框图。交通信号示为四个交通灯:朝南的灯202、朝北的灯204、朝东的灯206和朝西的灯208。每个交通灯202、204、206、208包括传感器,示为面向与灯相同方向的远距离摄像头212。(在示出交通环境自上而下视图的所有附图中,北对应于页面的顶部。)控制器设备220向四个交通灯202、204、206、208发送控制信号,并从四个摄像头212接收传感器数据。控制器设备220还与网络210通信,控制器设备可通过该网络与一个或多个服务器或其他设备通信,如下文更详细地描述。
[0062]
应理解,尽管在此参考由单个信号(例如,单组交通灯)管理的单个交叉口组成的交通环境描述了实施例,但在一些实施例中,交通环境可包括运输网格内的多个节点或交叉口,并且可控制多个交通信号。
[0063]
图3是示出适合执行本文所述示例的例如计算机或云计算平台等控制器设备220的简化示例的框图。可使用适合实施本公开中描述的实施例的其他示例,这些示例可包括与下文描述的那些组件不同的组件。尽管图3示出每个组件的单个实例,但控制器设备220中的每个组件可存在多个实例。
[0064]
控制器设备220可包括一个或多个处理器设备225,例如处理器、微处理器、数字信号处理器、专用集成电路(application-specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)、专用逻辑电路、专用人工智能处理单元,或其组合。控制器设备220还可包括可实现与一个或多个可选的输入设备234和/或可选的输出设备236连接的一个或多个可选的输入/输出(input/output,i/o)接口232。
[0065]
在所示的示例中,将输入设备234(例如,维护控制台、键盘、鼠标、麦克风、触摸屏和/或键盘)和输出设备236(例如,维护控制台、显示器,扬声器和/或打印机)示为可选的并且在控制器设备220外部。在其他示例中,可能不存在任何输入设备234和输出设备236,在这种情况下,可能不需要i/o接口232。
[0066]
控制器设备220可包括一个或多个网络接口222,用于与例如网络210等网络的一个或多个设备或系统进行有线或无线通信。网络接口222可包括用于网络内和/或网络间通信的有线链路(例如,以太网线)和/或无线链路(例如,一个或多个天线)。一个或多个网络接口222可用于向交通信号202、204、206、208发送控制信号和/或用于从传感器(例如摄像头212)接收传感器数据。在一些实施例中,交通信号和/或传感器可通过其他途径(例如i/o接口232)直接或间接与控制器设备通信。
[0067]
控制器设备220还可包括一个或多个存储单元224,这可包括大容量存储单元,例如固态驱动器、硬盘驱动器、磁盘驱动器和/或光盘驱动器。存储单元224可用于长期存储下文描述的存储器228中存储的一些或全部数据。
[0068]
控制器设备220可包括一个或多个存储器228,其可包括易失性或非易失性存储器(例如,闪存、随机存取存储器(random access memory,ram)和/或只读存储器(read-only memory,rom))。非瞬时性存储器228可存储由处理器设备225执行的指令,以例如执行本公开中描述的示例。存储器228可包括软件指令238,以例如用于实施操作系统和其他应用程序/功能。在一些示例中,存储器228可包括软件指令238,用于由处理器设备225执行以实施强化学习模型240,如下文进一步描述。在一些示例中,存储器228可包括软件指令238,用于由处理器设备225执行以实施模拟器模块248,如下文进一步描述。通过使用处理器设备225执行指令238,可将强化学习模型240和模拟器模块248加载到存储器228中。
[0069]
在一些实施例中,模拟器模块248可以是交通微模拟软件,例如城市移动性模拟(simulation of urban mobility,sumo)软件。sumo是开源的微观交通模拟器软件,它为用户和开发人员提供了通过功能接口或应用程序编程接口(application programming interface,api)自定义模拟模型参数和功能的选项。api可用于在非常接近现实的模拟环境中训练周期级交通信号控制器,如下文更详细地描述。应理解,仅在训练期间而不是在推理期间(例如,交通环境中的部署)需要模拟器模块248。因此,模拟器模块248可存在于训练设备上,但不存在于使用已训练rl模型240控制实际交通信号的控制器设备220上。
[0070]
在一些实施例中,rl模型240可使用tensorflow机器学习库和包括numpy在内的其他广泛使用的库来以python编程语言编码。为了在rl模型240与模拟器模块248之间创建链路,可用python编写包装器,以将rl模型240的行为模块244的动作应用于sumo网络(即,模拟器模块248),并提取状态和奖励信息并将该信息传递回rl模型240(具体地,传递给评判模块246)。应理解,其他实施例可使用不同的模拟器软件、不同的软件库和/或不同的编程语言。
[0071]
存储器228还可包括交通环境状态数据250的一个或多个样本,样本可用作训练强化学习模型240的训练数据样本和/或作为强化学习模型240的输入以用于在训练强化学习模型240并部署控制器设备220以控制实际交通环境中的交通信号之后生成交通信号周期数据,如下文详细描述。
[0072]
在一些示例中,控制器设备220可附加或替代地执行来自外部存储器(例如,与控制器设备220有线或无线通信的外部驱动器)的指令,或者可由瞬时性或非瞬时性计算机可读介质提供可执行指令。非瞬时性计算机可读介质的示例包括ram、rom、可擦除可编程rom(erasable programmable rom,eprom)、电可擦除可编程rom(electrically erasable programmable rom,eeprom)、闪存、cd-rom或其他便携式存储器。
[0073]
控制器设备220还可包括提供控制器设备220的包括上面论述的那些组件在内的组件之间的通信的总线242。总线242可以是任何合适的总线架构,包括例如存储器总线、外围总线或视频总线。
[0074]
应理解,在一些实施例中,本文描述的各种组件和操作可在多个单独的设备或系统上实施。
[0075]
示例性强化学习模型
[0076]
在一些实施例中,自学习交通信号控制器与真实或模拟的交通环境交互,并逐渐找到应用于交通信号控制的最优策略。控制器(例如控制器设备220)通过将函数应用于交通环境状态数据并使用学习的策略来根据函数的输出确定动作(即,呈交通信号周期数据形式的交通信号控制动作)过程来生成交通信号周期数据。使用模型来逼近该函数,该模型使用有时在这里称为“强化学习模型”的强化学习进行训练。在一些实施例中,强化学习模型(例如强化学习模型240)可以是人工神经网络,例如卷积神经网络。在一些实施例中,交通环境状态数据(例如交通环境状态数据250)可格式化为一个或多个二维矩阵,使卷积神经网络或其他rl模型应用已知的图像处理技术来生成交通信号周期数据。
[0077]
强化学习(reinforcement learning,rl)是一种适合于具有高度复杂动力学的最优控制问题的技术。这些问题可能难以建模,难以控制,或者两者兼而有之。在rl中,控制器可在功能上表示为一个不了解它所在的工作环境的代理。在早期训练阶段,代理开始采取随机动作,这称为探索。对于每个动作,代理观察环境的变化(例如,通过传感器监控真实交通环境,或通过从模拟器接收模拟交通环境),还接收称为奖励的数值,该奖励指示它的动作的可取程度。代理的目标是优化随时间推移的累积奖励,而不是在任何给定动作后即刻获得的奖励。这种累积奖励的优化在交通信号控制等领域是必要的,在这些领域中,代理的动作会影响系统的未来状态,从而要求代理考虑其动作的未来影响而不是其直接影响。随着训练的进展,代理开始了解环境,并采取更少的随机动作;实际上,它根据自己的经验采取会引起系统表现更好的动作。
[0078]
在一些实施例中,控制器使用行为-评判强化学习模型。特别地,可在一些实施例中使用近端策略优化(proximal policy optimization,ppo)模型,其为深度行为-评判rl模型的变体。行为-评判rl模型可生成连续的动作值(例如,交通信号周期阶段持续时间)作为输出。行为-评判rl模型有两部分:行为,其限定代理的策略;评判,其帮助行为在训练期间优化其策略。行为的输出可表示为策略:
[0079]
π(a
t
|s
t
;θ)(方程式1)
[0080]
表示在给定模型参数θ的状态s
t
下选择动作a
t
的概率π。评判的输出可表示为:
[0081]vπ
(s
t
|θv)(方程式2)
[0082]
表示给定策略π和模型参数θv的状态s
t
的估计预期值v。
[0083]
如上所述,rl的目标是优化代理的预期累积奖励,也称为回报:
[0084][0085]
其中r
t
是时间步长t下的奖励信号,γγ∈(0,1]是出于稳定性原因并考虑到代理的未来特性的折扣系数。γ的值越低,即时奖励对代理就越重要,未来奖励就越不重要。
[0086]
代理尝试使用具有参数θv的函数逼近器估计当前策略在状态s
t
下的预期回报(即价值函数):
[0087][0088]
使得该价值函数是累积时间折扣奖励的概率预期。
[0089]
在行为-评判模型中,由评判计算的价值函数误差(也称为损失函数)定义为:
[0090]
l(θ
v,t
)=e[(r
t
+γv(s
t+1
;θ
v,t-1
)-v(s
t
;θ
v,t
))2]。(方程式5)
[0091]
因此,价值函数v的参数θv根据误差函数l(θ
v,t
)相对于神经网络权重的梯度更新,如下所示:
[0092]
r=r
t
+γv(s
t+1
;θ
v,t-1
)(方程式6)
[0093][0094]
行为产生代理的策略。策略生成在状态s
t
下选择动作a的概率:
[0095]
π(a|s
t
;θa)。(方程式8)
[0096]
如果代理采取的动作产生比预期回报更好的回报,则应调整策略以增加选择该动作的概率;类似地,回报低于预期的动作应引起策略的调整以降低采取这些动作的概率。因此,行为更新定义策略的参数θ,如下所示:
[0097][0098]
其中v(s
t
;θ
v,t
)估计状态s
t
的预期回报,并且r-v(s
t
;θ
v,t
)指示与预期回报相比的动作a的优势。在此示例中,将项r-v(s
t
;θ
v,t
)称为“优势函数”。然而,由于可使用其他方法来计算优势,优势函数可一般称为a
t
。在当前示例中使用的一个示例性优势函数是a
t
=r-v(s
t
;θ
v,t
);然而,也可使用计算优势的其他方法。
[0099]
此策略更新仅在从策略π(a|s
t
;θ)中或至少从非常类似于π(a|s
t
;θ)的策略中提取样本(即,状态、动作、奖励和下一状态)时才有效。因此,如果行为根据上面的方程式5-9更新策略,则无法使用旧样本更新策略。为了使用较旧的样本,可采用ppo来调整上面方程式5-9中使用的值。在ppo算法中,只要从中提取样本的策略与当前策略的差异不超过一定量,就可使用较旧的样本更新当前策略。
[0100]
ppo对上述行为-评判算法进行两次修改。第一个更改旨在说明更新基于不同策略中的较旧样本。第二个更改旨在确保较旧样本所在的策略(π(a|s
t
;θ
old
))与当前策略(π(a|s
t
;θ))没有显著差异。根据这两个更改计算损失函数。因此,r
t
(θ)表示概率比使得r(θ
old
)=1。损失函数l(θ)可定义为:
[0101][0102]
然而,在没有限制的情况下,l(θ)的最大化将导致过大的策略更新。因此,应修改目标,以惩罚使r
t
(θ)偏离1的策略更改。因此,ppo模型中的行为损失函数l
clip
(θ)的最终形式是:
[0103]
l
clip
(θ)=e[min(r
t
(θ)a
t
,clip(r
t
(θ),1-∈,1+∈)a
t
)](方程式11)
[0104]
其中∈是限制策略因更新而变化的超参数。评判的损失函数与传统的行为-评判rl模型相同,如上面的公式5所定义。
[0105]
示例性训练方法
[0106]
由控制器设备220使用的rl模型240必须进行训练,之后可部署该rl模型以实现对实际交通环境中的交通信号的控制。通过以下方式来执行训练:将交通环境数据提供给rl模型240,使用由rl模型240生成的交通信号周期数据来控制交通环境中的交通信号,然后将表示交通环境数据的更新状态的交通环境数据提供给rl模型以用于调整rl模型策略并用于生成未来交通信号周期的数据。下面参考图5-11c更详细地描述交通环境数据。
[0107]
可例如使用模拟器模块248使用来自模拟交通环境的数据进行训练。模拟器模块248可生成模拟交通环境数据,并将模拟交通环境数据提供给rl模型240。rl模型240生成交通信号周期数据,该数据提供给模拟器模块248并用于建模交通环境对由模拟交通信号应
用的交通信号周期的响应。在一些实施例中,rl模型240可在早期训练阶段使用模拟交通环境来训练,但rl模型240的稍后微调可使用实际交通环境来执行。
[0108]
图4示出训练强化学习模型以生成交通信号周期数据的示例性方法400。
[0109]
在402,根据交通环境的初始状态生成训练数据样本。如果交通环境是真实的交通环境,则交通环境的状态可由交通监控系统根据来自监控交通环境的传感器(例如,摄像头212)的输入来确定。交通监控系统可与控制器设备220分开,并且可通过网络210与控制器设备220通信。在一些实施例中,控制器设备220可直接从传感器接收传感器数据,将传感器数据中继到交通监控系统,然后从交通监控系统接收处理后的交通环境数据。在其他实施例中,交通监控系统可实施为控制器设备的一部分。交通监控系统可包括例如用于根据传感器数据确定交通环境内的车辆速度、位置和/或密度数据的计算机视觉系统,如下文参考图5更详细地描述。当控制器设备220接收到交通环境数据时,可将该交通环境数据格式化为训练数据样本,或者控制器设备220可将该交通环境数据重新格式化为训练数据样本,之后将其提供给rl模型240。
[0110]
在404,当接收到训练数据样本时,rl模型的行为模块244将其策略应用于训练数据样本(对应于s
t
)和一个或多个过往训练数据样本(对应于sj,其中j《t),以生成交通信号周期数据,如下文参考图5-11c,特别是图9更详细地描述。在一些实施例中,如参考图10d所描述,一个或多个过往训练数据样本可对应于交通信号在两个阶段之间转变时的时间点。在其他实施例中,一个或多个过往训练数据样本可对应于交通环境中的静止车辆队列的长度处于最大值或最小值时的时间点。
[0111]
在步骤404生成的交通信号周期数据可以是交通信号周期的一个或多个相应阶段的一个或多个阶段持续时间。在一些实施例中,每个阶段持续时间是从连续的值范围中选择的值。在一些示例中,可通过使用行为-评判rl模型来实现这种从连续的值范围中选择阶段持续时间,如上文详细描述。
[0112]
在一些实施例中,在步骤404生成的交通信号周期数据包括交通信号的至少一个周期的每个阶段的阶段持续时间。在其他实施例中,在步骤404生成的交通信号周期数据包括交通信号周期的仅一个阶段的阶段持续时间。周期级控制和阶段级控制可能会在粒度与可预测性之间存在权衡。
[0113]
在406,交通信号周期数据应用于真实的或模拟的交通信号。在使用真实交通信号的真实交通环境的情况下,控制器设备220可向交通信号(例如,灯202、204、206、208)发送控制信号,以实现由交通信号周期数据规定的阶段持续时间。在模拟交通环境的情况下,rl模型向模拟器模块248提供交通信号周期数据,该模拟器模块模拟交通环境对由模拟交通信号实现的交通信号周期数据的阶段持续时间的响应。
[0114]
在408,确定交通环境的更新状态。就像在步骤402,交通环境状态可由交通监控系统根据来自交通环境(如果使用真实交通环境)的传感器数据或者由模拟器模块248(如果使用模拟交通环境)确定。
[0115]
可选地,步骤408可包括子步骤409,交通监控系统或模拟器模块248在该子步骤确定交通环境中的一个或多个静止车辆队列的长度。此数据可用于计算奖励,如下文参考图10a-11c更详细地描述。
[0116]
在410,根据在步骤408确定的交通环境的更新状态生成新的训练数据样本。在一
些实施例中,执行步骤410的频率可不同于执行步骤408(以及可选地步骤409)的频率:例如,训练数据样本可仅由步骤410在对应于交通信号周期的各阶段之间的转变的时间点生成(即,当阶段1 102结束并且阶段2 104开始时生成新的训练数据样本,当阶段2 104结束并且阶段3 106开始时生成另一训练数据样本),而交通环境的更新状态可通过步骤408每秒或甚至更频繁地确定。
[0117]
在412,将奖励函数应用于交通环境的初始状态和交通环境的更新状态,以生成奖励值,如上所述。为了使用评判模块246计算奖励,初始状态可视为s
t
,而更新状态可视为s
t+1
,例如上文方程式1-11所示。
[0118]
在414,行为模块244根据在步骤412生成的奖励调整其策略。rl模型的权重或参数可使用包括上文详细描述的ppo行为-评判技术在内的rl技术调整。
[0119]
然后,方法400返回到步骤404以重复处理训练数据样本的步骤404,该训练数据样本(在步骤410生成)现在指示交通环境的更新状态(在步骤408确定)。此循环可重复一次或多次(通常至少数百或数千次),以继续训练rl模型。
[0120]
因此,方法400可用于根据上述行为-评判rl技术或其他rl技术训练rl模型并更新其策略的参数。
[0121]
交通信号周期数据示例
[0122]
在一些实施例中,rl模型240的行为模块244使用的动作空间可以是连续的动作空间,例如自然数空间。相对于现有的秒级方法,在交通信号的周期级或阶段级控制下操作的实施例与交通信号具有相对低频率的交互:周期级控制器可每周期例如在周期的开始向交通信号发送一次控制信号,而阶段级控制器可每阶段例如在阶段的开始时向交通信号发送一次控制信号。
[0123]
因此,对于每个周期具有p个阶段的交通信号(例如,在图1的示例中,p=8),使用周期级控制的强化学习模型240的输出是p个自然数,每个自然数指示交通信号阶段的长度。参考下文图9描述包括多个阶段持续时间的交通信号周期数据的示例。使用阶段级控制的强化学习模型240可仅生成指示交通信号阶段长度的一个自然数。其他实施例可生成不同数目的阶段持续时间。
[0124]
在一些实施例中,由强化学习模型240生成的阶段持续时间从正实数等不同的连续范围中选择。使用行为-评判rl模型可生成从连续的值范围而非有限数目的离散值(例如现有方法中的5秒或10秒间隔)中选择的阶段持续时间。
[0125]
交通环境状态数据示例
[0126]
如上所述,控制器设备220向rl模型240提供交通环境数据,该rl模型生成交通信号周期数据并根据所述交通环境数据调整其策略。现在将描述如何对交通环境数据进行收集、表示和格式化为训练数据样本或交通环境状态数据以供rl模型使用的示例。
[0127]
在不同的实施例中,可使用不同的状态空间来将交通环境的状态表示为交通环境数据。通常,交通环境数据将包括指示环境中车辆交通的行为和/或存在的某方面的交通数据。在一些实施例中,交通环境数据包括交通环境中每个交通车道的队列长度,每个队列长度指示该车道中的静止车辆队列的长度。因此,如果交通环境包括两条四车道道路(即北行两车道、南行两车道、东行两车道、西行两车道)的四向交叉口中心周围50米半径,则交通环境数据可包括八个队列长度,指示在时间t时每个车道中交叉口50米内的静止车辆的数目。
下文参考图10a-11c描述队列长度的示例。
[0128]
在一些实施例中,交通环境数据包括交通环境中的多个车辆中的每个车辆的位置数据。在一些实施例中,交通环境数据包括交通环境中的多个车辆中的每个车辆的速度数据。例如,交通环境数据中包括的交通数据可包括交叉口50米内的每个车辆的位置和速度。
[0129]
在一些实施例中,交通环境数据包括交通环境的多个区域中的每个区域的交通密度数据。在一些实施例中,交通环境数据包括交通环境的多个区域中的每个区域的交通速度数据。例如,交通环境数据中包括的交通数据可包括交叉口50米内的多个区域单元中的每个区域单元的车辆密度(例如,车辆数目)和车辆速度(例如,每个车辆的平均速度)。将参考图5描述此类实施例的示例。
[0130]
图5示出交叉口处的交通环境500的俯视图,示出将交通车道分割成单元。北行车道分割成北行单元502,南行车道分割成南行单元504,东行车道分割成东行单元506,并且西行车道分割成西行单元508。每个单元510对应于交通环境的路面的方形区域。在该示例中,提供给rl模型240的交通环境数据可包括指示每个单元510的车辆密度数据和车辆速度数据的交通数据。车辆密度数据可以是例如在时间t存在于单元内的车辆数目的计数。车辆速度数据可以是例如在时间t存在于单元内的车辆速度的平均值或其他聚合度量。在一些实施例中,每个单元510可与单个车道同宽。在一些实施例中,单元的形状可以是不规则的:例如,每个单元可与车道的方向性对齐,并且可与车道同宽,但单元的长度可长于或短于其宽度。
[0131]
应理解,图5中所示的单元的数目并非旨在要进行缩放:尽管每个交通方向分割成七个单元宽的单元矩阵,但该图不一定是为了指示交叉口500在每个方向包括七个交通车道。相反,在每个附图中,单元的数目和大小是任意的,不需要对应于相应交通环境的描述。
[0132]
图6示出图5的单元的作为交通环境状态数据的车辆速度数据602和车辆密度数据604。来自每个车道方向502、504、506、508的单元的数据联接成车辆速度数据602的二维矩阵和车辆密度数据604的二维矩阵,其中来自每组车道的数据表示为矩阵的水平带。因此,例如,车辆速度数据矩阵602的最左侧单元从顶部开始可指示存在于直接邻近交叉口的每个北行车道中(例如,邻近行人横道的红灯处停车)的车辆的平均速度,然后是存在于直接邻近交叉口的每个南行车道中的车辆的平均速度,然后是每个东行车道,然后是每个西行车道。
[0133]
车辆速度数据矩阵602和车辆密度数据矩阵604可在提供给rl模型240之前转换成训练数据样本606。在一些实施例中,训练数据样本606可表示为两个二维矩阵,如图6中所示,并且可由rl模型240使用处理具有两个通道的图像的技术来处理。在其他实施例中,训练数据样本606可通过在车辆密度数据矩阵604旁边联接或追加车辆速度数据矩阵602以形成单个更大的二维矩阵来表示为单个二维矩阵,该二维矩阵可由rl模型240使用处理具有一个通道的图像的技术来处理。
[0134]
在一些实施例中,交通环境数据可采取其他形式。例如,交通环境数据可简单地包括环境中存在于每个车道或给定方向的每组车道中的车辆的数目,和/或给定方向上的每个车道或每组车道的聚合速度测量值。应理解,在不同的实施例中可使用其他形式的交通环境数据。
[0135]
如上所述,交通环境数据可由交通监控系统根据从交通环境收集的传感器数据生
成,并且在一些实施例中,交通监控系统可以是控制器设备220的一部分。
[0136]
因此,作为输入提供给强化学习模型240的交通环境数据可表示截至时间t的交通环境的状态,从而使强化学习模型240响应于当前交通状况生成交通信号周期数据。
[0137]
图8示出在单个时间点t接收交通环境状态数据(例如,训练数据样本606)的交通信号控制器的示例性行为模块244。作为响应,行为模块244使用策略802生成交通信号周期数据804作为输出。交通信号周期数据804包括八个自然数p1至p8,每个自然数表示图1的八阶段交通信号周期100(p=8)中的阶段的阶段持续时间。
[0138]
然而,尽管表示交通环境在单个时间t的状态的信息对于秒级控制器或对于一些周期级或阶段级控制器可能足够,但一些实施例可使用表示交通环境在多于一个时间点的状态的交通环境数据。对应于多个时间点中的每个时间点的数据可提供给rl模型240(例如,提供给行为模块244),并且rl模型240可响应于接收到这些数据而生成交通信号周期数据。
[0139]
图7a和7b示出使用历史交通环境数据(即,在时间t之前的过往一次或多次的数据)生成交通信号周期数据的潜在重要性。图7a示出在交通信号周期100的阶段4 108结束时的交通环境700,示出不同交通方向每个车道中涂黑的单元的不同静止车辆队列长度。具体来说,在阶段4结束时,北行单元702和南行单元704可能展示短的静止车辆队列,因为这些车道上的车辆在阶段4期间能够自由地移动通过交叉口。然而,东行单元706和西行单元708可能展示更长的静止车辆队列,因为这些车辆在阶段4期间无法前进通过交叉口。类似地,图7b示出在交通信号周期100的阶段8 116结束处的交通环境750,示出不同交通方向的不同车辆队列长度。具体来说,在阶段8结束时,北行单元752和南行单元754可能展示长的静止车辆队列,因为这些车道上的车辆在阶段8期间无法前进通过交叉口。然而,东行单元756和西行单元758可能展示较短的静止车辆队列,因为这些车辆在阶段8期间能够自由地移动通过交叉口。
[0140]
如果rl模型240在阶段4 108结束时做出决策,并因此接收对应于图7a的交通环境700的交通环境数据,则由rl模型生成的交通信号周期可尝试优先考虑将缓解东行单元706和西行单元708的长队列的阶段,例如阶段5 110至阶段8 116(即,阶段5 110至阶段8都将具有相对长的阶段持续时间),而缓解北行和南行队列的阶段将取消优先考虑(即阶段1 102至阶段4 108都将具有相对短的阶段持续时间)。相反,如果rl模型240在阶段8 116结束时做出决策,并因此接收对应于图7b的交通环境750的交通环境数据,则由rl模型生成的交通信号周期可尝试优先考虑将缓解北行单元702和南行单元704的长队列的阶段,而缓解东行和西行队列的阶段中的阶段将取消优先考虑。
[0141]
因此,一些实施例可将对应于与周期的一个或多个过往阶段相对应的过往一个或多个时间的交通环境数据提供为rl模型240的输入。在一些实施例中,针对整个周期的每个阶段内的点提供交通环境数据。
[0142]
图9示出交通信号控制器的示例性行为模块244,示出作为输入的多个时间点的交通环境状态数据(例如,训练数据样本)。第一训练数据样本902对应于时间t(例如,当前时间)的交通环境状态,第二训练数据样本904对应于时间t-1(例如,前一阶段期间的时间)的交通环境状态,依此类推到第t训练数据样本906对应于时间t-t(例如,在t个阶段之前的阶段期间的时间,其中t在一些实施例中可等于p或p-1)的交通环境状态。
[0143]
在此示例中,行为模块244还接收指示交通信号周期的当前阶段910和当前阶段期间流逝的时间912的交通信号阶段数据输入。这些附加输入910、912用于将当前时间t和其对应的交通环境状态置于交通信号周期内。
[0144]
根据上文在示例性强化学习模型部分中描述的技术,行为模块244使用策略902根据训练数据样本902、904、906生成交通周期数据804。
[0145]
应了解,在不同实施例中,历史交通环境数据(例如,训练数据样本904至906)可对应于给定阶段内的多个时间点、跨多于一个周期的时间点或历史状态数据的其他分布。例如,1个单位的每个时间间隔(即t-1与t之间的时间)可对应于交通信号周期的特定阶段的持续时间,或者它可对应于固定的持续时间,例如一秒。
[0146]
不同的实施例可使用不同的方法选择历史交通状态数据用作rl模型输入。在一些实施例中,每个过往时间点(即t-1至t-t)可对应于交通环境的队列长度达到局部最大值或局部最小值的时间。其他方法可根据交通信号周期从一个阶段转变到下一阶段时的时间来逼近这些局部最小值和局部最大值。
[0147]
图10a至10d示出选择过往时间点(即t-1至t-t)以选择交通环境数据作为rl模型240的输入的各种方法。
[0148]
图10a示出在图5的示例性交通环境500处的南行交通在图1的交通信号周期100的前四个阶段102、104、106、108期间的车辆队列长度1002随时间1004而变的图解。可观察到南行队列长度1014(例如,每个南行车道的最长队列长度)在阶段1 102期间增长,直到达到局部最大值1016,然后在阶段2 104期间下降,直到达到零的局部最小值1018。在阶段3 106期间,南行队列长度1014再次开始增长。
[0149]
图10b示出图10a中的队列长度1014可逼近为局部最大值(例如,最大值1016)与局部最小值(例如,最小值1018)之间的线性插值。此外,这些局部最大值和局部最小值很可能位于交通信号周期内的阶段转变对应的时间处或附近。例如,南行队列长度1014在阶段1102与阶段2 104之间的转变1022之后不久开始减小,并且在阶段2 104与阶段3 106之间的转变1024之后不久再次开始增加。因此,可在这些阶段转变时间(例如,1022和1024)处的队列长度之间绘制线性插值1022,以逼近实际队列长度的图解1014。
[0150]
图10c示出南行队列长度1022的线性插值以及北行队列长度1040的线性插值。阶段转变时间处的队列长度示为圆圈:从阶段1 102转变到阶段2 104时的南行队列长度1032的估计最大值;从阶段2 104转变到阶段3 106时的南行队列长度1034的估计最小值和北行队列长度1036的估计最大值;从阶段3 106转变到阶段4 108时的北行队列长度1038的估计最小值。
[0151]
图10d示出在图10c中选择的阶段转变时间处生成的训练数据样本。第一训练数据样本1052表示来自阶段1 102与阶段2 104之间的转变1022的交通环境状态数据;第二训练数据样本1054表示来自阶段2 104与阶段3 106之间的转变1024的交通环境状态数据;第三训练数据样本1056表示来自阶段3 106与阶段4 108之间的转变的交通环境状态数据。每个训练数据样本1052、1054、1056可如上文参考图6所述而生成。
[0152]
因此,在一些实施例中,从对应于一个或多个队列峰值时间和一个或多个队列谷值时间的时间点中选择过往训练数据样本。每个队列峰值时间是一个队列的长度处于局部最大值时的时间,每个队列谷值时间是一个队列的长度处于局部最小值时的时间。在其他
实施例中,过往训练数据样本对应于一个或多个阶段转变时间。每个阶段转变时间是交通信号在交通信号周期的两个阶段之间转变的时间。
[0153]
根据上文参考图10a-10d描述的阶段转变时间对队列长度进行估计是基于遵循半线性模式的交通累积和释放的动力学。使用这一假设,一些实施例相对于使用每秒或每s秒的历史数据(s《《[p1...p8])的实施例可显著减小控制器的输入大小,同时向控制器提供足够的信息,以实现根据一个或多个交通信号周期内的交通状况做出决策。
[0154]
在一些使用参考图10a-10d所描述的历史交通环境数据的实施例中,状态空间是堆叠在一起(如图9中的训练数据样本902至906所示)的至少一个周期的临界点处的交通环境数据,以及指示交通信号周期的当前阶段910和当前阶段期间流逝的时间912的交通信号阶段数据输入。
[0155]
示例性奖励函数
[0156]
不同的实施例可使用不同的奖励函数。奖励函数可使用旨在实现某些最优结果的交通流度量或性能指标。
[0157]
在一些实施例中,奖励基于在上一周期内在交通环境中停止(即静止)的车辆的负平均数。如果车辆的速度(例如,其速度矢量的大小,或其速度矢量在其车道或区域的交通方向性上的标量投影)低于速度阈值,则该车辆可视为静止。在一些示例中,可使用每秒2米的速度阈值。可通过对周期期间存在于交通环境中的每个车辆的延迟(即静止所消耗的时间)进行求和来计算在周期期间在交叉口处消耗的总延迟。在使用基于区域的速度和密度数据的实施例中,可通过将车辆速度低于速度阈值的任何单元视为静止单元以及将静止单元视为表示等于单元中存在的车辆数目的静止车辆数目来计算总延迟的聚合度量。其他方法可用于计算交通信号周期的总延迟。
[0158]
图11a-11c示出计算交通环境内的交通车道中存在的车辆的总延迟的三种方法。
[0159]
图11a示出随时间1104距交叉口1102的距离的图解1100,示出在单个交通车道中的静止车辆的位置。在交通信号周期1118的对应于红灯面向车道中的交通的第一阶段期间,队列的长度增长。在接近第一周期开始的第一时间,队列具有第一长度1112,指示在交叉口边界(例如,在人行横道)停止的几辆车。在稍后的第二时间,队列有第二长度1114,指示又有几辆车停在前几辆车后面。在第一阶段1118中继续如此,直到交通信号周期转变到第二阶段1119。一旦交通信号周期进入对应于绿灯面向车道上的交通的第二阶段1119,当车辆可以进入交叉口时,队列开始缩短。离交叉口最近的车辆首先开始移动,而静止队列中离交叉口较远的车辆直到其前方车辆开始移动之后才有机会开始移动;因此,队列前部的位置移离交叉口。最后,在第二阶段1119期间的最后时间,队列具有最终长度1116,之后队列中的最后一辆车开始移动并且队列长度变为零。
[0160]
应理解,各种队列长度1112至1116可由大致三角形形状限定(以虚线轮廓示出)。
[0161]
由图11a中所示的静止车辆表示的总延迟可通过对例如每秒等每个时间点的各种队列长度1112至1116进行求和来计算。此计算产生指示队列前端和末端的两条线之间的面积
[0162]
图11b示出第二图解1120,其使用与图11a的图解1100相同的交通环境数据但通过示出每辆车静止的持续时间来表示随时间而变的队列。因此,第一车辆静止达第一持续时间1122,第一车辆后面的第二车辆静止达第二持续时间1124,依此类推直到静止达最终持
续时间1126的最终车辆。
[0163]
在图11b中,静止车辆表示的总延迟可通过对每个车辆的各种持续时间1122至1126进行求和来计算。因此,由第一阶段1118和第二阶段1119组成的周期的累积延迟是周期中队列中所有车辆的延迟的总和其中d1是第一持续时间1122,d2是第二持续时间1124,dk是最终持续时间1126。如图11a中所示,此求和是计算指示队列前端和末端的两条线之间的面积的另一种方法。
[0164]
图11c示出图11a-11b的队列长度和静止车辆位置的相同图解,但在这里,总延迟的计算直接通过计算三角形1132的面积来执行,即,指示队列前端和末端的两条线之间的面积
[0165]
应理解,在一些实施例中,关于图11a-11c描述的计算可使用区域数据而非单个车辆数据来执行,该区域数据例如来自图5的每单元的车辆密度和速度数据。
[0166]
一旦三角形1132的面积已通过上文参考图11a-11c描述的方法之一进行了计算,则该面积可用于确定周期的累积延迟。因此,在周期长度(即第一阶段1118和第二阶段1119的持续时间)中停止的车辆的平均数目指示每个车辆在该周期期间面临的平均延迟。可计算周期长度中的平均延迟,并将其用作奖励,以阻止控制器选择短周期以避免更大的惩罚。
[0167]
因此,在一些实施例中,控制器至少部分地通过确定交通环境中的一个或多个静止车辆队列中的每个队列的长度来确定交通环境的状态,其中该长度指示队列中的静止车辆的数目。此状态数据用于生成训练数据样本。在一些实施例中,奖励函数应用于交通环境的初始状态和交通环境的更新状态,以根据在前一交通信号周期内在该交通环境中的静止车辆的估计数目来计算奖励。
[0168]
根据该技术计算奖励的算法可在伪代码中表示为:
[0169]
状态=空值
[0170]
奖励=0
[0171]
对于周期_长度中的每个t:
[0172]
奖励+=停止车辆数目
[0173]
如果信号刚刚变成黄色:
[0174]
状态=追加(当前_交通_状态)
[0175]
奖励/=周期_长度
[0176]
在本示例中,将周期期间每个时间点t记录的停止车辆的数目相加在一起,然后除以周期持续时间(即周期_长度),以产生奖励的最终值(其中高奖励指示性能差,低奖励指示性能高)。每次灯变为黄色时,对交通环境的状态进行采样(例如,以生成另外的训练数据样本)。
[0177]
应理解,一些实施例可使用例如总吞吐量(每周期通过交叉口的车辆数目)、单个车辆在一个或多个周期中的最长单次延迟或任何其他合适的度量等不同的性能指标来确定奖励。
[0178]
控制交通信号的示例性系统
[0179]
一旦如上所述训练rl模型240,就可部署控制器设备220以用于控制真实交通环境中的真实交通信号。当为了控制实际交通信号而部署时,上述rl模型240和其他组件的操作
与参考训练方法400描述的非常相似。然而,对“训练数据样本”的提及可理解为是指交通环境状态数据,因为它们主要不是用于训练目的。当部署为控制真实交通信号时,控制器设备220构成用于生成交通信号周期数据的系统。控制器设备220包括参考图3描述的组件,包括处理器设备225和存储器228。存储在存储器228中的rl模型240现在是已根据上述技术中的一个或多个技术进行训练的已训练rl模型240。用于训练强化学习模型的交通环境是现在受控制的同一真实交通环境,或其模拟版本,如上所述。指令238在由处理器设备225执行时使系统执行与方法400的步骤非常相似的步骤。如上所述,从交通监控系统接收指示真实交通环境的状态的交通环境状态数据(在一些实施例中,其在格式和内容上可与训练数据样本606相同)。强化学习模型240用于通过将策略(例如,策略802或策略902)应用于至少交通环境状态数据来生成交通信号周期数据。然后,控制器设备220向交通控制系统发送交通信号周期数据。交通控制器系统可以是控制器设备220的一部分,或者可以是分开的并且例如通过网络与控制器设备220通信。交通控制器系统控制交通信号(例如灯202、204、206、208)以根据交通信号周期数据执行交通信号周期。
[0180]
因此,使用本文描述的实施例,强化学习可用于实施精度为一秒或更高的周期级交通信号控制器。一些实施例可使用近端策略优化在其输出中实现秒级或更高的精度。本文描述的实施例可使用简明但能捕捉所有必要的信息以在周期级的基础上控制交通信号的状态空间定义。可使用奖励函数,以最小化信号控制交叉口处的周期级交通信号控制器的平均车辆延迟。
[0181]
综述
[0182]
尽管本公开通过呈一定次序的步骤描述方法和过程,但可适当地省略或改变方法和过程中的一个或多个步骤。在适当情况下,一个或多个步骤可按所描述的次序以外的次序执行。
[0183]
尽管本公开至少部分地在方法方面进行了描述,但本领域普通技术人员将理解,本公开也涉及用于执行所述方法的至少一些方面和特征的各种组件,无论是通过硬件组件、软件还是其任意组合。相应地,本公开的技术方案可通过软件产品的形式体现。合适的软件产品可存储在预先记录的存储设备或其他类似的非易失性或非瞬时性计算机可读介质中,包括dvd、cd-rom、usb闪存盘、可移动硬盘或其他存储介质等。软件产品包括有形地存储在其上的指令,所述指令使得处理设备(例如,个人计算机、服务器或网络设备)能够执行本文中公开的方法的示例。
[0184]
在不脱离权利要求书的主题的前提下,本公开可通过其他特定形式实施。所描述的示例性实施例在各方面都仅仅是示意性的,而不是限制性的。可组合从一个或多个上述实施例中选择的特征,以创建非显式描述的可选实施例,在本公开的范围内可理解适合于此类组合的特征。
[0185]
还公开了所公开范围内的所有值和子范围。此外,尽管本文所公开和示出的系统、设备和过程可包括特定数量的元件/组件,但可修改这些系统、设备和组件,以包括此类元件/组件中的更多或更少的元件/组件。例如,尽管所公开的任何元件/组件可提及为单数,但可修改本文所公开的实施例以包括多个此类元件/组件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。

技术特征:
1.一种用于训练强化学习模型以生成交通信号周期数据的方法,其特征在于,所述方法包括:通过以下方式处理指示受交通信号影响的交通环境的初始状态的训练数据样本:使用所述强化学习模型通过将策略应用于所述训练数据样本和一个或多个过往训练数据样本来生成交通信号周期数据,所述交通信号周期数据包括交通信号周期的一个或多个相应阶段的一个或多个阶段持续时间,每个阶段持续时间是从连续值范围中选择的值;在将生成的交通信号周期数据应用于所述交通信号之后,确定所述交通环境的更新状态;通过将奖励函数应用于所述交通环境的所述初始状态和所述交通环境的所述更新状态来生成奖励;根据所述奖励调整所述策略;重复处理训练数据样本的步骤一次或多次,所述训练数据样本指示所述交通环境的所述更新状态。2.根据权利要求1所述的方法,其特征在于:所述交通环境是模拟交通环境;并且所述交通信号是模拟交通信号。3.根据权利要求1或2所述的方法,其特征在于,所述一个或多个阶段持续时间包括所述交通信号的至少一个周期的每个阶段的阶段持续时间。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述一个或多个阶段持续时间由所述交通信号的周期的一个阶段的阶段持续时间组成。5.根据权利要求1至4中任一项所述的方法,其特征在于:所述强化学习模型是行为-评判模型;所述策略是行为策略;并且所述奖励函数是评判奖励函数。6.根据权利要求5所述的方法,其特征在于,所述行为-评判模型是近端策略优化(proximal policy optimization,ppo)模型。7.根据权利要求1至6中任一项所述的方法,其特征在于,每个训练数据样本包括交通数据,包括所述交通环境中的多个车辆中的每个车辆的位置数据和速度数据。8.根据权利要求1至7中任一项所述的方法,其特征在于,每个训练数据样本包括交通数据,包括所述交通环境的多个区域中的每个区域的交通密度数据和交通速度数据。9.根据权利要求1至8中任一项所述的方法,其特征在于:确定所述交通环境的更新状态包括确定所述交通环境中的一个或多个静止车辆队列中的每个静止车辆队列的长度,所述长度指示所述队列中的静止车辆的数目;并且所述一个或多个过往训练数据样本包括:对应于一个或多个队列峰值时间的一个或多个过往训练数据样本,每个队列峰值时间是所述队列中的一个队列的长度处于局部最大值时的时间;对应于一个或多个队列谷值时间的一个或多个过往训练数据样本,每个队列谷值时间是所述队列中的一个队列的长度处于局部最小值时的时间。10.根据权利要求1至9中任一项所述的方法,其特征在于,所述一个或多个过往训练数
据样本对应于一个或多个阶段转变时间,每个阶段转变时间是所述交通信号在所述交通信号周期的两个阶段之间转变时的时间。11.根据权利要求1至10中任一项所述的方法,其特征在于,所述奖励函数应用于所述交通环境的所述初始状态和所述交通环境的所述更新状态,以根据在前一交通信号周期内在所述交通环境中的静止车辆的估计数目来计算所述奖励。12.根据权利要求11所述的方法,其特征在于,所述一个或多个过往训练数据样本对应于一个或多个阶段转变时间,每个阶段转变时间是所述交通信号在所述交通信号周期的两个阶段之间转变时的时间。13.根据权利要求1至12中任一项所述的方法,其特征在于,每个训练数据样本包括交通信号阶段数据,所述交通信号阶段数据指示:所述交通信号周期的当前阶段;和当前阶段期间流逝的时间。14.根据权利要求1至13中任一项所述的方法,其特征在于:所述一个或多个阶段持续时间包括所述交通信号的至少一个周期的每个阶段的阶段持续时间;所述强化学习模型是近端策略优化(proximal policy optimization,ppo)行为-评判模型;所述策略是行为策略;所述奖励函数是评判奖励函数;每个训练数据样本包括:交通信号阶段数据,其指示:所述交通信号周期的当前阶段;和当前阶段期间流逝的时间;交通数据,其包括所述交通环境的多个区域中的每个区域的交通密度数据和交通速度数据;所述奖励函数应用于所述交通环境的所述初始状态和所述交通环境的所述更新状态,以根据在前一交通信号周期内在所述交通环境中的静止车辆的估计数目来计算所述奖励;并且所述一个或多个过往训练数据样本对应于一个或多个阶段转变时间,每个阶段转变时间是所述交通信号在所述交通信号周期的两个阶段之间转变时的时间。15.一种用于训练强化学习模型以生成交通信号周期数据的系统,其特征在于,包括:处理器设备;和存储器,其存储:所述强化学习模型;其上的机器可执行指令,所述机器可执行指令在由所述处理设备执行时使所述系统:通过以下方式处理指示受交通信号影响的交通环境的初始状态的训练数据样本:使用所述强化学习模型通过将策略应用于所述训练数据样本和一个或多个过往训练数据样本来生成交通信号周期数据,所述交通信号周期数据包括交通信号周期的一个或多个相应阶段的一个或多个阶段持续时间,每个阶段持续时间是从连续值范围中选择的值;
在将生成的交通信号周期数据应用于所述交通信号之后,确定所述交通环境的更新状态;通过将奖励函数应用于所述交通环境的所述初始状态和所述交通环境的所述更新状态来生成奖励;根据所述奖励调整所述策略;重复处理训练数据样本的步骤一次或多次,所述训练数据样本指示所述交通环境的所述更新状态。16.根据权利要求15所述的系统,其特征在于:所述强化学习模型是近端策略优化(proximal policy optimization,ppo)行为-评判模型;所述策略是行为策略;并且所述奖励函数是评判奖励函数。17.根据权利要求15或16所述的系统,其特征在于:所述奖励函数应用于所述交通环境的所述初始状态和所述交通环境的所述更新状态,以根据在前一交通信号周期内在所述交通环境中的静止车辆的估计数目来计算所述奖励;并且所述一个或多个过往训练数据样本对应于一个或多个阶段转变时间,每个阶段转变时间是所述交通信号在所述交通信号周期的两个阶段之间转变时的时间。18.一种用于生成交通信号周期数据的系统,其特征在于,包括:处理器设备;和存储器,其存储:根据权利要求1所述的方法训练的已训练强化学习模型;和机器可执行指令,所述机器可执行指令在由所述处理设备执行时使所述系统:从交通监控系统接收指示真实交通环境的状态的交通环境状态数据,其中用于训练所述强化学习模型的交通环境是所述真实交通环境或其模拟版本;使用所述强化学习模型通过将所述策略应用于至少所述交通环境状态数据来生成交通信号周期数据;向交通控制系统发送所述交通信号周期数据。19.一种非瞬时性处理器可读介质,其特征在于,所述非瞬时性处理器可读介质上存储了根据权利要求1所述的方法训练的已训练强化学习模型。20.一种非瞬时性处理器可读介质,其特征在于,所述非瞬时性处理器可读介质上存储了机器可执行指令,所述机器可执行指令在由处理器设备执行时使所述处理器设备执行权利要求1所述的方法。

技术总结
本申请描述了用于自适应周期级交通信号控制的方法、系统和处理器可读介质。一种自适应周期级交通信号控制器和控制方法,其在连续动作空间内运作。一种名为近端策略优化(Proximal Policy Optimization,PPO)的强化学习算法,其为一种用于强化学习的行为-评判模型,可用于生成从连续值范围中选择的信号周期阶段持续时间。因此,所述控制器不将动作空间视为离散的,而是产生连续值作为输出。生成的阶段持续时间可定义完整的交通信号周期。所述控制器的输入可指示交通环境的当前和过往状态。车辆在交通环境中的平均延迟持续时间可用于计算驱动所述控制器的行为的强化学习模型的奖励。型的奖励。型的奖励。


技术研发人员:索海尔
受保护的技术使用者:华为云计算技术有限公司
技术研发日:2021.09.18
技术公布日:2023/6/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐