本文目录
1. 摘要
城市地铁已成为现代城市最重要的公共交通工具,每天有数百万人乘坐地铁。由于出行效率关系到城市的工作效率,因此缩短地铁乘客的出行时间是一项迫切的需求,可以带来巨大的经济效益。在本文中,我们研究了一种细粒度、安全和节能的策略,通过动态调度列车停留时间来提高地铁系统的效率。然而,由于以下三个方面的原因,制定这样的策略是非常具有挑战性的:1)优化乘客平均旅行时间的目标是复杂的,因为它需要适当平衡乘客在站台的等待时间和列车上的旅行时间,并考虑对整个地铁系统的长期影响;2) 很难捕捉地铁车站进站乘客的动态时空相关性;3)对于每列车,停站时间调度受同一地铁线路上其他列车的影响,不易测量。
为了应对这些挑战,我们提出了一种新的深度神经网络,名为AutoDwell。具体来说,AutoDwell通过强化学习框架优化了停留时间设置的长期回报,即乘客在站台的等待时间和列车上的行程时间。其次,AutoDwell采用门控循环单元和图形注意力网络来提取地铁站间客流的ST相关性。此外,AutoDwell利用注意力机制捕捉同一地铁线路上列车之间的相互作用。
在从中国北京和杭州收集的两个真实数据集上进行的大量实验表明,AutoDwell在多条基线上具有优越的性能,能够节省乘客的总旅行时间。特别是,该模型可以将等待时间缩短至少9%,这可以显著提高乘客的体验。
2. AutoDwell系统架构
系统主要包括离线学习与在线部署两部分程序
2.1 离线学习程序
离线学习程序包括三部分组成:数据处理模块、仿真器模块、AutoDwell学习模块。
数据处理模块负责提取出两种信息:(1)真实世界地铁系统的设置,包括地铁结构、出发时间表、速度上限;(2)根据乘客的地铁检入与检出信息,模拟出乘客的轨迹信息,其中信息包括从进站到站台的步行时间、从到达站台到列车运行的等待时间、列车上的时间、从站台到出口的步行时间,同时当行程起点和目的地属于不同线路时,考虑线路转移时间。
仿真器模块:基于真实的地铁结构,对地铁系统进行建模。给到真正的列车出发时间表、列车在线路上出发时的初始信息、真实的最大速度控制列车在两站之间行驶。乘客根据真实时间进入仿真地铁系统,其原始车站、目的车站、轨迹均与真实记录一致。
AutoDwell学习模块:遵循强化学习范式,通过与模拟环境交互来学习深度策略网络。
2.2 在线部署程序
深度网络融合后,我们就可以在现实世界中部署我们的模型了。也就是说,给定观察到的输入状态,我们直接使用学习到的网络,即AutoDwell,根据最大Q值来指导驻留时间调度。在实际应用中,该模型可以嵌入到地铁控制系统中,指导停留时间,也可以独立于控制系统,为地铁运营者提供停留时间建议。
3. AutoDwell
此图显示了AutoDwell的架构,它通过即时奖励的引导,根据观察到的状态解锁动作的长期奖励。具体来说,它由三个组成部分组成:(1)列车特征提取器:基于列车状态C,捕获当前列车与同一线路上的其他列车之间的交互信息。(2)乘客特征提取器,通过考虑和权衡列车的所有这些后续车站之间的ST相关性,在乘客状态X中嵌入即将到来的乘客信息。(3)融合组件,用于融合知识的两个部分,并相应地提供动作的Q值
3.1 列车特征提取器
此图显示了列车特征提取器的结构。我们使用列车状态C来记录当前列车及其上下文列车的状态,以便我们可以模拟它们的交互。对于正在前往站点 u i u_i ui的当前列车 m m m,可以表示列车状态 C m , u i = { d m , D m f o n t , D m r e a r } { \cal C } _ { m , u _ { i } } = \{{ \mathrm { d } _ { m } , \mathrm { D } _ { m } ^ { \mathrm { f o n t } } , \mathrm { D } _ { m } ^ { \mathrm { rear }}\} } Cm,ui={dm,Dmfont,Dmrear}。向量 d m ∈ R n f e a \mathrm { d } _ { m } \, \in \ \mathrm { R } ^{n ^ { \mathrm { fea }} } dm∈ Rnfea表示当前列车的特征,包括其运行状态、位置、乘客数量等。对于运行在同一条线路上的列车,对当前列车造成影响的包括两种上下文列车,前序列车和后序列车,我们用矩阵 D m f r o n t ∈ R n m f r o n t × n f e a \mathrm { D } _ { m }^{front} \in \ \mathrm { R } ^{n ^ { \mathrm { front }}_{m} \times n^{fea}} Dmfront∈ Rnmfront×nfea和 D m r e a r ∈ R n m r e a r × n f e a \mathrm { D } _ { m }^{rear} \in \ \mathrm { R } ^{n ^ { \mathrm { rear }}_{m} \times n^{fea}} Dmrear∈ Rnmrear×nfea分别表示这两种类型的上下文列车的特征,其中 n m f r o n t {n ^ { \mathrm { front }}_{m}} nmfront和 n m r e a r {n ^ { \mathrm { rear }}_{m}} nmrear分别是前列车和后列车的数量。
我们使用注意力机制来捕获基于状态的交互。首先,研究了注意力机制,以推断训练数据不同部分的重要性,并让学习算法专注于信息最丰富的部分,也就是说,我们可以关注这些对当前列车影响最大的重要列车。其次,随着当前列车的运行,这些背景列车的数量正在发生变化,也就是说,较晚的上下文列车将从初始站开始加入系统,而较早的上下文列车将到达终点站并退出系统,注意机制可以处理长度可变数据的这种情况。
我们分别通过使用相同的注意力网络组件来捕获两种类型的上下文列车的影响。以后序列车为例,组件的输入为 d m d_m dm(当前列车m特征信息)与 D m r e a r D_{m}^{rear} Dmrear(当前列车m的后续列车的所有特征信息)。首先,我们使用由权重矩阵 W T r W^{Tr} WTr参数化的共享线性变换来应用于这些列车特征向量,以获得足够的表达能力。然后,我们考虑m和每个后列之间的相互作用,并通过softmax函数得到归一化的重要性权重。例如,第i个后列车的重要性权重,表示为$a_i $,可以如下获得:
其中v是单层前馈神经网络。接下来,捕获所有后列车相互作用的输出隐藏表示向量导出为:
组件的最终输出包括当前列车状态和两种类型上下文列车的影响。
3.2 乘客特征提取器
当列车正在执行一项行动时,我们的目标是通过参考其所有后续车站的乘客状态来执行长期受益的行动。为此,我们将当前列车后续车站的状态存储在乘客状态中。此外,为了揭示乘客的短期和长期ST相关性,对于每个车站,其乘客状态具有两种信息:最近的客流和外部特征,如一天中的小时数、是否为节假日、POIs。例如,假设在 u i u_i ui站的列车 m m m将离开,以及 u j 、 u k . . . u y u_j、u_k...u_y uj、uk...uy的后续车站,因此乘客状态集合 X X X包括这些后续车站的两种状态信息。后续车站量随列车运行而变化。也就是说, X X X是长度可变的。
其次,地铁系统有两种车站类型,即普通车站和换乘车站。对于一个正常的车站,乘客都是从车站本身进入的。而换乘站的乘客不仅从车站进入,而且从其他线路换乘。因此,对于正常站,状态只包括自身的流量数据,但对于转运站,我们记录转运站本身及其所有相关站的最近流量。
我们提出了乘客特征提取器,由换乘站学习器、正常站学习器和结论性递归神经网络(RNN)组成。具体来说,提出了转移站学习器和正常站学习器,分别提取ST相关性和解锁转移站和正常站的未来流(影响驻留时间决策)。此后,我们使用决定性的RNN分量来整合这些长度可变的后续站的影响。值得注意的是,图b中乘客特征提取器的结构是根据图a所示玩具地铁系统的2号线车站的列车构造的
3.2.1 换乘站学习器
对于一个换乘站,除了刷卡进入本站的乘客外,也有部分乘客从其他车站换乘。这些换乘行为无法从检入机数据中轻松获得,因此难以推导乘客换乘概率。事实上,对于一个换乘站来说,其他车站的客流量在空间和时间两个方面影响着它。空间影响:给定一个换乘站,其他车站只要通过地铁线连接,就会影响到这个车站。时间影响:不同车站不同时段客流趋势不同。
在中转站学习器中,我们学习了一个图注意力网络来捕捉时空影响,原因如下:地铁结构可以看作是一个无向图,所以空间影响可以通过图来建模。即换乘站的影响图是包含车站的地铁结构图的子图。对于一个复杂的系统,一个给定的中转站将与太多的站点连接,这将导致一个大图(高计算复杂度),所以我们使用历史数据来找到与给定换乘站交互最多的车站,并从图表中剪掉那些不频繁的车站。其次,时间影响可以通过注意机制来处理。即注意力机制可以根据不同的站位和时间计算不同的权重,即不同程度的影响。
假设第一个后续站 u j u_j uj是转运站, u j u_j uj的乘客状态为 ( X m , u i ) 1 = ( X u j , G u j , f u j ) (X_m,u_i)_1 = (X_{u_j},G_{u_j},{f_{u_j}}) (Xm,ui)1=(Xuj,Guj,fuj),其中 X u j , G u j , f u j X_{u_j},G_{u_j},{f_{u_j}} Xuj,Guj,fuj分别表示 u j u_j uj站的客流矩阵、邻接矩阵和外部特征向量。至于换乘站,其他车站可能会影响其状态,我们将所有相关车站的客流量都纳入了 X u j X_{u_j} Xuj,所以 X u j = [ x u j , x 1 u j . . . , x n u j n e i g u j ] { X _ { u _ j } = [ x _ { u _ j } , x _ { 1 } ^ { u _ j } . . . , x _ { n _ { u _ { j } }^{neig}} ^ { u _ { j } } ]} Xuj=[xuj,x1uj...,xnujneiguj]。 x u j x_{u_j} xuj表示转运站 u j u_j uj的历史流量,其余向量表示与 u j u_j uj相关的车站的历史流量 x n u j n e i g u j x _ { n _ { u _ { j } }^{neig}} ^ { u _ { j } } xnujneiguj
对于任意站
变量 n h i s t n^{hist} nhist是客流读数的前一个时间戳的数量。向量 x i n x^{in} xin和 x t r a n s p o r t x^{transport} xtransport分别代表每个时间戳中从本站进站和从其他线路转站的乘客。对于普通站点, x t r a n s p o r t x^{transport} xtransport的每个条目都等于0。这些站的空间关系由图 G u j G_{u_j} Guj保留
我们采用RNN和图形注意力网络(GAT) 来从客流中捕获复杂的短期ST相关性。由于门控递归单元(GRU)是RNN的一个简单但有效的结构,我们引入GRU作为具体实现。
3.2.2 普通站学习
在普通站学习器中,我们使用转移站学习器的相同GRU来捕获正常站的短期站内时间相关性。给定GRU的输入 x u k x_{u_k} xuk ,我们还获得并输出存储在GRU单元最后状态中的隐藏状态,表示为^xuk。同时,我们采用相同的FCN来嵌入外部特征f。综上所述,正常站uk的输出嵌入为:
3.2.3 结论性循环网络
由于后续站点的数量是可变的,我们建议使用一个新的RNN来共同加权以及基于获得的站点嵌入来解释这些站点的影响。具体地,由上述两个学习者学习后,得到RNN的输入为 [ z u y . . . z u k , z u j ] [z_{u_y}...z_{u_k},z_{u_j}] [zuy...zuk,zuj]。考虑到距离的影响,输入的顺序基于与站 u i u_i ui的距离的倒序。此外,我们使用GRU作为RNN的实现,表示为 G R U C o n GRU^{Con} GRUCon,并输出GRU单元最后状态的隐藏向量 z ^ m , u i p a s s e n g e r {\hat z}_{m,u_i}^{passenger} z^m,uipassenger作为乘客信息嵌入与这些后续车站的复杂ST相关性。 z ^ m , u i p a s s e n g e r {\hat z}_{m,u_i}^{passenger} z^m,uipassenger表示如下:
3.3 融合组件
为了融合知识的两个影响方面,揭示每个动作的Q值,我们提出了融合分量。我们将上述两个分量的输出馈送到FCN中,以建模它们的潜在相关性,并估计每个动作的Q值。具体来说,对于开往 u i u_i ui站的列车,我们将估计的Q值表示为 q m , u i q_{m,u_i} qm,ui ,可以如下获得。
其中D1…Dc表示c个密集层
3.4 算法优化
遵循基本的深度Q-learning框架,网络可以端到端优化。我们首先初始化深度网络。然后,对于每次训练, AutoDwell分配列车的停留时间,并将状态、动作和即时奖励存储在重播存储器中(第3-9行)。接下来, AutoDwell从重放存储器中随机选择一批样本来训练策略(第10-13行) ,最后在网络收敛后,我们可以得到调度策略。