【论文翻译】TKDE 2024 | ST-MAN:用于交通预测的时空记忆增强的多级注意力网络

image-20241023232727384

论文题目 Spatio-Temporal Memory Augmented Multi-Level Attention Network for Traffic Prediction
论文链接 https://ieeexplore.ieee.org/document/10285880
发表期刊/年份 TKDE 2024
关键词 城市计算、时空预测、交通预测、记忆网络、注意力网络

摘要
交通预测是城市计算中一个重要的时空预测任务,对交通控制、车辆调度等许多应用具有重要意义。随着城市的扩展和公共交通的发展,远距离和长期的时空相关性在交通预测中发挥着越来越重要的作用。然而,建模远距离空间依赖和长期时间依赖具有挑战性,原因有二:
1)复杂的影响因素,包括空间、时间和外部因素;
2)多种时空相关性,包括远距离和近距离的空间相关性,以及长期和短期的时间相关性。
为了解决这些问题,我们提出了一种用于细粒度交通预测的时空记忆增强多级注意力网络,命名为ST-MAN
具体来说,我们设计了一个时空记忆网络,用于编码和记忆细粒度的空间信息和典型的时间模式。然后,我们提出了一个多级注意力网络,明确地在不同的空间尺度(如网格和区域层次)和时间尺度(如日常和每周层次)下,建模局部的短期时空依赖和全局的长期时空依赖。此外,我们设计了一个外部组件,使用外部因素和空间嵌入作为输入,更高效地生成外部因素对位置的影响。最后,我们设计了一个端到端的框架,通过对比目标和监督目标的联合优化来提升模型性能。
在粗粒度和细粒度的真实数据集上的实验结果表明,ST-MAN模型相比于几种最先进的基线模型具有显著的优势。

1 引言

近年来,时空预测在我们的日常生活中变得越来越重要,因为它提供了有用且必要的信息,如交通预测、人群流动预测、空气质量预测等。交通预测是基本的时空预测任务之一,由于大规模交通数据的日益可用性,在城市计算中发挥着越来越重要的作用。交通预测旨在基于历史观测数据预测潜在的交通量(例如,流入/流出交通量、乘客上下车需求量等),并可以为政府提供交通控制、车辆调度等方面的见解。然而,它可能会受到多种复杂的空间和时间因素的广泛影响,因此仍面临一些挑战。

交通预测需要解决的主要问题之一是建模复杂的时空依赖性,因为区域内的潜在交通量不仅与其先前的观测数据有关,还受到邻域历史数据的影响。提出了多种时空预测模型来捕捉空间和时间相关性。传统的研究通过一些基于时间序列的方法(如ARIMA)从历史观测数据中获取序列模式,但通常忽略了不同区域之间的空间依赖性,无法建模复杂的非线性关系。近年来,许多深度学习模型在时空预测任务中表现出了可喜的性能。基于卷积神经网络(CNN)的方法能够提取不同区域之间的空间依赖性,例如DeepST。基于循环神经网络(RNN)的方法通过将序列记录嵌入到隐藏状态向量中,擅长于建模时间相关性。

随着城市的扩展和公共交通的发展,长距离和长期的时空因素在城市交通预测中起着更为重要的作用。图1展示了城市中基于网格的交通流使用案例,其中城市被划分为多个小网格,每个区域由多个具有相似功能的网格单元组成,如办公区域和住宅区域。对于空间依赖性,远距离区域之间的交通流量可能彼此相关。一方面,随着人口流动的增加,越来越多在市中心工作的人(如 图1(a) 中的蓝色网格)可能居住在郊区区域(如 图1(a) 中的紫色网格),暗示了交通流转移的长距离地理相关性。另一方面,由于城市的功能划分,两个遥远的区域可能会表现出相似的交通模式(例如,图1(b) 中的网格A和网格B),这暗示了交通流模式的长距离语义相关性。

image-20241106232041367

一些研究在解决这些问题上取得了显著进展。大多数研究通过堆叠多个卷积层来建模区域之间的长距离空间依赖性,因为卷积层只能在局部尺度上捕捉短距离依赖性。例如,ST-ResNet和DeepSTN+通过残差机制实现更深的卷积神经网络。然而,堆叠过多的卷积层以捕捉长距离空间依赖性可能会导致高计算成本和优化难度,限制了在城市中划分大量区域时的预测性能。此外,一些经验知识被引入以捕捉多种时间模式。

很少有工作能够同时建模长距离空间依赖性和长期时间依赖性,因为复杂的时空相关性使得这一任务变得极具挑战性。直观上,结合CNN和RNN来同时捕捉空间和时间相关性是合理的。例如,STDN采用CNN提取空间特征,然后输入RNN进一步建模时间依赖性。然而,分别建模长距离空间依赖性和长期时间依赖性无法捕捉到时空相关性的内部连接。进一步地,研究人员尝试在标准ConvLSTM单元中设计额外的记忆单元以编码长距离空间关系。然而,由于潜在向量通常过小以表达复杂的时空相关性,它们在长期时间依赖性方面的表示能力仍然有限。因此,捕捉复杂的长距离和长期时空依赖性仍然具有挑战性。

为填补这一空白,我们旨在引入外部记忆模块,以尝试编码和记忆时空信息。最近,记忆网络在许多序列预测任务中表现出了可喜的性能,如序列推荐和问答任务等。相比其他传统的RNN/LSTM模型,记忆网络通过合适的读写操作来存储隐藏向量的外部记忆组件。然而,传统的记忆网络无法直接用于编码复杂的时空相关性,我们面临以下三个特定的挑战:

  1. 如何设计记忆网络以同时编码和记忆空间和时间信息? 之前的外部记忆网络主要关注于存储序列特征,忽略了空间信息。然而,城市中区域之间的空间依赖性对于交通预测建模至关重要。
  2. 如何提取长距离空间依赖性和长期时间依赖性? 尽管一些有效策略已经被设计用于从外部记忆中读取和更新信息,这些研究仍忽略了时间模式和空间分布之间复杂的内部连接。
  3. 如何有效建模外部因素对每个网格单元的影响? 先前的研究使用全连接层来学习外部因素(如天气条件、假期)对多个网格的影响,映射到高维交通流图中。然而,这种方法随着网格单元数量的增加,参数急剧增加。

在本文中,我们提出了一种用于交通预测的时空记忆增强多层次注意力网络(ST-MAN)。与现有方法相比,我们的模型能够学习长距离空间依赖性和长期时间模式,以实现高效的时空预测。具体而言,我们设计了一个时空记忆网络(STMN)来解决第一个挑战。STMN由键记忆矩阵和值记忆矩阵组成,通过空间嵌入编码全球空间相关性作为先验知识,并通过记忆编码捕捉长期时间模式。针对第二个挑战,我们提出了一个包含注意力机制的多层次注意力网络(MAN),显式建模短期局部和长期全球的时空相关性。MAN包括两个主要的注意力模块:短期局部注意力模块专注于在两个空间粒度(即跨网格和跨区域流动转换)上捕捉交通流动转换的地理时空依赖性;长期全球注意力模块旨在建模具有相似功能区域的交通流模式的语义时空依赖性。该模块利用时空记忆网络来存储和检索长期和长距离的时空信息。为了解决第三个挑战,我们引入了一个外部组件,该组件学习外部因素的空间感知影响。该组件基于空间嵌入为每个网格单元生成特定响应,从而减少了大量参数的需求。最后,设计了一个端到端框架用于交通预测,并同时基于监督目标和对比目标进行训练。

总结来说,我们的贡献如下:

  • 我们提出了一种用于交通预测的时空记忆增强多层次注意力网络ST-MAN,能够建模长距离空间依赖性和长期时间依赖性。
  • 我们设计了一个时空记忆网络,能够编码和记忆细粒度的空间信息和时间模式。据我们所知,这是首次引入外部记忆网络用于时空预测,以丰富时空模型的表达能力。
  • 我们引入了一个多层次注意力网络,有效地捕捉地理邻居间的短期局部时空依赖性和具有相似功能的语义邻居间的长期全球相关性。
  • 在粗粒度和细粒度的真实世界数据集上的大量实验表明,我们的模型相比最先进的模型取得了显著的改进。

本文其余部分组织如下。第2节介绍问题的公式化和系统框架。第3节详细阐述ST-MAN的设计。第4节展示实验评估。第5节简要回顾相关工作。最后,第6节讨论结论和未来工作。

2 预备知识

在本节中,我们首先描述交通流量预测问题的定义。然后,我们简要介绍我们提出的框架。为了简洁起见,我们在表1中展示了本文所使用的符号表。

image-20241106230745196

2.1 问题定义

定义 1 (网格单元)

根据以往的工作[13],我们将一个城市区域表示为一个矩形,并沿经度和纬度将其划分为一个 H × W H \times W H×W 的网格地图,表示为 C ∈ R H × W C \in \mathbb{R}^{H \times W} CRH×W。如图1所示,总共有 H × W H \times W H×W 个网格单元,它们具有相同的大小。

定义 2 (区域)

由于城市功能分区的原因,相邻的网格单元通常具有相似的功能,如图1中的办公区域(蓝色网格)和住宅区域(紫色网格)所示。使用粗粒度的区域,与精细粒度的网格地图相比,可以有效提取全局语义邻域信息。

定义 3 (基于网格的交通量图)

T = { T 1 , T 2 , …   } \mathcal{T} = \{T_1, T_2, \dots\} T={ T1,T2,} 代表一系列出行轨迹,每个出行轨迹 T i ∈ T T_i \in \mathcal{T} TiT 包含一个在 p p p 个连续时间间隔内的一系列地理坐标。我们定义在时间步 t t t 时网格 g i , j g_{i,j} gi,j 内的交通量为在该时间间隔内该网格中的出行次数。正式地,交通量图可以表示为一个三维张量 M t ∈ R K × H × W \mathcal{M}_t \in \mathbb{R}^{K \times H \times W} MtRK×H×W,其中 K K K 是交通量测量的数量。例如,当考虑起点和终点交通量时, K = 2 K = 2 K=2

交通量图 ( M t ) 0 , i , j (\mathcal{M}_t)_{0,i,j} (Mt)0,i,j ( M t ) 1 , i , j (\mathcal{M}_t)_{1,i,j} (Mt)1,i,j 分别表示在时间间隔 t t t 进入/离开网格 g i , j g_{i,j} gi,j 的出行次数。

问题陈述 (交通量预测)

给定历史观察到的交通量 { M t ∣ t = 1 , … , T − 1 } \{\mathcal{M}_t | t = 1, \dots, T - 1\} { Mtt=1,,T1},交通量预测问题旨在预测下一时间间隔 T T T 的交通量图 M T ∈ R K × H × W \mathcal{M}_T \in \mathbb{R}^{K \times H \times W} MTRK×H×W

2.2 系统框架

ST-MAN 的框架如图2所示,由四个主要组件组成。

image-20241106230816029

  1. 特征图构建
    给定历史交通量数据序列 { M t ∣ t = 1 , … , T − 1 } \{\mathcal{M}_t | t = 1, \dots, T - 1\} { Mtt=1,,T1},我们的目标是构建用于预测模型的输入特征图,该特征图结合了空间、时间和外部信息。一方面,我们考虑分布在整个城市的所有网格单元,并选择它们对应的最近、每日和每周时间步作为输入数据,表示为 X c , X p , X q X_c, X_p, X_q Xc,Xp,Xq,并进一步将其输入到ConvLSTM中以获取空间和时间信息。另一方面,某些时间步的外部因素,表示为 X e x t X_{ext} Xext,例如天气状况和假日,也提供了外部信息,以通过参数嵌入捕获外部信息。

  2. 时空记忆网络 (STMN)
    STMN 旨在编码细粒度的空间依赖性和具有代表性的时间模式,然后将它们存储在关键记忆矩阵和值记忆矩阵中,作为先验知识增强模型的表达能力。需要注意的是,关键记忆矩阵通过空间嵌入预训练以获取每个区域的嵌入向量,而值记忆矩阵则与预测模型联合学习。特别地,为了提高记忆的保真度,STMN 通过最小化对比目标来编码不同区域间具有辨别性和不变的时间特征。

  3. 多层次注意力网络 (MAN)
    MAN 采用注意力机制显式地建模短期局部和长期全局时空依赖性。具体来说,MAN 包括两个设计用于分别捕获不同类型的时空相关性的注意力模块。第一个是短期局部注意力模块,利用 ConvLSTM 从最近的观测中获取的信息,专注于捕捉地理网格单元之间交通流量转换的短期局部时空依赖性。第二个是长期全局注意力模块,提取通过时空记忆网络集成的长期空间依赖性和长期时间依赖性。此模块负责捕捉城市中语义单元间的相似交通流模式。为了获得全面的特征表示,采用了融合模块自适应集成不同的特征。这一融合过程确保最终的特征表示捕捉到短期局部和长期全局时空依赖性的综合影响。

  4. 交通量预测
    对于交通量预测任务,提取出的高级时空特征被输入到预测层(例如卷积层)中,以生成时间步 T T T 的预测交通量图 M ^ T \hat{\mathcal{M}}_T M^T

3 方法

本节详细阐述了我们提出的模型。我们首先基于ConvLSTM和外部组件构建用于预测模型的特征图,包含空间和时间信息以及外部信息。然后,我们提出了时空记忆网络(STMN),用于编码细粒度的空间信息和具有代表性的时间模式。此外,构建在时空记忆网络之上的多层次注意力机制用于显式建模短期局部依赖性和长期全局依赖性,这些依赖性通过有效的融合机制自适应地集成,以增强模型在交通预测中的表现。最后,我们提供了一种端到端的方法,通过联合损失函数,包括对比目标和监督目标来优化模型。

3.1 特征图构建

输入数据在交通预测中起着至关重要的作用,因为它包含了各种复杂因素,包括空间、时间和外部因素。特别地,网格单元的交通量数据不仅依赖于其自身的历史观测值,还表现出与其相邻网格历史记录的相关性。在交通预测中,考虑这些时空依赖性是非常重要的。此外,交通量数据受到外部因素的强烈影响,如天气状况和假日。由于信息种类的多样性,必须构建专门为交通预测量身定制的特征,考虑到原始数据的独特特性。为了解决这一问题,我们通过基于原始交通量数据创建输入特征图,作为模型学习有效和可区分表示的基础,使其能够捕捉城市交通的潜在模式和动态。

3.1.1 ConvLSTM组件

城市中固有的独特物理拓扑结构和社会关系结构使得城市交通数据表现出多样的时空依赖性,涵盖不同的尺度,如短期和长期时间相关性,以及短程和长程空间相关性。为了建模这些复杂的时空相关性,我们首先将城市中每个时间步的历史交通量转换为类似图像的矩阵(即基于网格的交通量图),并将时间划分为三个片段,包括最近时间步、每日和每周周期时间步。具体来说,给定交通量数据 { M t ∣ t = 1 , … , T − 1 } \{\mathcal{M}_t | t = 1, \dots, T - 1\} { Mtt=1,,T1},我们为未来某一特定时间步 T T T 构建三个输入序列,分别代表邻近性、周期性和趋势性。

对于邻近性,我们考虑前 l c l_c lc 个时间步的交通量数据,表示为
X c = [ M T − l c , M T − ( l c − 1 ) , … , M T − 1 ] ∈ R K l c × H × W X_c = [\mathcal{M}_{T-l_c}, \mathcal{M}_{T-(l_c-1)}, \dots, \mathcal{M}_{T-1}] \in \mathbb{R}^{K l_c \times H \times W} Xc=[MTlc,MT(lc1),,MT1]RKlc×H×W

对于周期性,我们选择前 l p l_p lp 天的每日历史记录,表示为

X p = [ M T − l p × p , M T − ( l p − 1 ) × p , … , M T − p ] ∈ R K l p × H × W X_p = [\mathcal{M}_{T-l_p \times p}, \mathcal{M}_{T-(l_p-1) \times p}, \dots, \mathcal{M}_{T-p}] \in \mathbb{R}^{K l_p \times H \times W} Xp=[MTlp×p,MT(lp1)×p,,MTp]RKlp×H×W

其中 p p p 表示时间跨度(例如每天24小时)。

对于趋势性,我们选择前 l q l_q lq 周的每周历史记录,表示为
X q = [ M T − l q × q , M T − ( l q − 1 ) × q , … , M T − q ] ∈ R K l q × H × W X_q = [\mathcal{M}_{T-l_q \times q}, \mathcal{M}_{T-(l_q-1) \times q}, \dots, \mathcal{M}_{T-q}] \in \mathbb{R}^{K l_q \times H \times W} Xq=[MTlq×q,MT(lq1)×q,,MTq]RKlq×H×W

其中 q q q 表示时间跨度(例如每周24小时 × 7天)。

在数据准备阶段之后,这三种输入序列被输入到组件中,该组件旨在将准备好的交通数据转换为表示其时空属性的嵌入。幸运的是,ConvLSTM[28]通过其独特的卷积操作能够捕捉到时空特性。卷积长短时记忆网络(ConvLSTM)是全连接LSTM网络的扩展,用卷积操作代替所有线性层,以捕捉除时间依赖性之外的空间依赖性。在本文中,ConvLSTM用于捕捉不同类型输入交通量的数据中的时空信息。请注意,三个ConvLSTM组件共享相同的网络结构,但使用不共享的参数。

ConvLSTM单元的结构如图3所示。

image-20241106230840968

形式上,设 H t − 1 \mathcal{H}_{t-1} Ht1 C t − 1 \mathcal{C}_{t-1} Ct1 分别表示时间间隔 t − 1 t-1 t1 时的隐藏状态和单元状态。在当前时间 t t t,给定输入数据 X t X_t Xt,我们可以通过更新操作对时空表示 H t \mathcal{H}_t Ht 进行建模,并获得新的记忆单元 C t \mathcal{C}_t Ct
i t = σ ( W x i ∗ X t + W h i ∗ H t − 1 + b i ) i_t = \sigma (W_{xi} * X_t + W_{hi} * \mathcal{H}_{t-1} + b_i) it=σ(WxiXt+WhiHt1+bi)

f t = σ ( W x f ∗ X t + W h f ∗ H t − 1 + b f ) f_t = \sigma (W_{xf} * X_t + W_{hf} * \mathcal{H}_{t-1} + b_f) ft=σ(WxfXt+WhfHt1+bf)

o t = σ ( W x o ∗ X t + W h o ∗ H t − 1 + b o ) o_t = \sigma (W_{xo} * X_t + W_{ho} * \mathcal{H}_{t-1} + b_o) ot=σ(WxoXt+WhoHt1+bo)

θ t = tanh ⁡ ( W x c ∗ X t + W h c ∗ H t − 1 + b c ) \theta_t = \tanh (W_{xc} * X_t + W_{hc} * \mathcal{H}_{t-1} + b_c) θt=tanh(WxcXt+

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

holdoulu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值