题目 | PDFormer: Propagation Delay-Aware Dynamic Long-Range Transformer for Traffic Flow Prediction |
---|---|
作者 | 姜佳伟(共一), 韩程凯(共一), 通讯作者王静远教授, 共同作者中国人民大学赵鑫教授 |
论文链接 | https://ojs.aaai.org/index.php/AAAI/article/view/25556 |
源码 | https://github.com/BUAABIGSCity/PDFormer |
发表会议 | AAAI2023 (CCF-A) |
PDFormer
摘要
交通流量预测是智能交通系统的核心技术之一,具有广泛的应用范围。交通流量预测的基本挑战在于如何有效地建模复杂的时空依赖性。时空图神经网络(GNN)模型已成为解决这一问题的最有前景的方法之一。
然而,基于GNN的模型在交通预测方面存在三个主要限制:
- 大多数方法以静态方式建模空间依赖性,限制了学习动态城市交通模式的能力;
- 大多数方法只考虑了短程空间信息,无法捕捉长程空间依赖性;
- 这些方法忽视了在交通系统中,地点之间的交通状况传播存在时间延迟。
我们提出了一种新颖的、考虑传播延迟的动态长距离Transformer模型,命名为PDFormer,用于精确的交通流预测。
- 具体来说,我们设计了一个空间自注意力模块来捕捉动态的空间依赖性。
- 然后,引入了两个图掩码矩阵,突出显示短程和长程视角的空间依赖性。
- 此外,提出了一个延迟感知的特征变换模块,使PDFormer能够明确地建模空间信息传播中的时间延迟。
在六个真实世界的公共交通数据集上的广泛实验结果表明,我们的方法不仅达到了最先进的性能,而且还表现出了竞争性的计算效率。此外,我们通过可视化学习到的时空注意力图,使我们的模型具有很高的可解释性。
1 引言
近些年,快速的城市化给现代城市交通管理带来了巨大挑战。作为现代智能城市不可或缺的一部分,智能交通系统(ITS)被开发出来,用于分析、管理和改善交通状况(如缓解交通拥堵)。作为ITS的核心技术之一,交通流量预测得到了广泛的研究,旨在根据历史观测值预测未来的交通流量。准确的交通流量预测在许多与交通相关的应用中非常有用,包括路线规划、车辆调度和缓解拥堵。
交通流量预测的根本挑战在于如何有效地捕捉和建模交通数据中复杂的时空依赖性。文献中已经进行了许多尝试来开发各种深度学习模型以解决这一任务。早期的解决方案中,卷积神经网络(CNN)被应用于基于网格的交通数据中,以捕捉空间依赖性,而循环神经网络(RNN)则被用于学习时序动态。后来,图神经网络(GNN)被证明更适合于建模交通数据的基础图结构,因此,基于GNN的方法被广泛用于交通预测。
尽管基于GNN(图神经网络)的模型在交通预测中效果显著,但仍存在三个主要的局限性。首先,交通系统中位置之间的空间依赖性是高度动态的,而不是静态的,因为它们受到出行模式和突发事件的影响。 例如,如图1(b)所示,节点A和B之间的相关性在早高峰时变强,而在其他时段则减弱。然而,现有方法主要以静态方式建模空间依赖关系(无论是预定义的还是自学习的),这限制了其学习动态城市交通模式的能力。
其次,由于城市的功能划分,两个相距较远的地点 ,如图1c中的节点A和C,可能反映出类似的交通模式,这意味着这些地点之间存在长程的空间依赖性。 现有方法通常在局部设计,无法捕捉长程依赖性。例如,基于GNN的模型常常由于过度平滑而难以捕捉长距离的空间依赖性。
第三,交通系统中地点之间的信息传播可能存在延迟。 例如,当某一位置发生交通事故时,可能需要几分钟(延迟)才能影响邻近位置的交通状况,如图1(d)中的节点D和E。然而,这种特性在典型的基于GNN的模型的即时消息传递机制中被忽视了。
为了解决上述问题,在本文中,我们提出了一种基于传播延迟感知的动态长距离Transformer模型,命名为PDFormer,用于交通流预测。
- 我们的核心技术贡献是设计了一种新的空间自注意力模块来捕捉动态的空间依赖性。该模块通过不同的图掩码方法,将局部地理邻域和全局语义邻域信息结合到自注意力交互中,从而能够同时捕捉交通数据中的短程和长程空间依赖性。
- 基于此模块,我们进一步设计了一个延迟感知特征变换模块,以将历史交通模式整合到空间自注意力中,并明确建模空间信息传播的时间延迟。
- 最后,我们采用时序自注意力模块来识别交通数据中的动态时间模式。
综上所述,本文的主要贡献如下:
- 我们基于时空自注意力机制提出了PDFormer模型,用于精确的交通流预测。该方法充分解决了交通数据复杂特性带来的问题,即动态性、长程性和时间延迟。
- 我们设计了一种空间自注意力模块,能够通过不同的图掩码方法建模局部地理邻域和全局语义邻域,并进一步设计了一个延迟感知的特征变换模块,明确建模空间信息传播中的时间延迟。
- 我们在六个真实世界的公共数据集上进行了多步和单步交通流预测实验。结果表明,我们的模型显著优于最先进的模型,并表现出竞争性的计算效率。此外,实验的可视化表明,我们的方法通过学习到的时空注意力图具有高度的可解释性。
2 预备知识
在本节中,我们引入一些符号并形式化地描述交通流预测问题。
2.1 符号和定义
定义 1(道路网络)
我们将道路网络表示为一个图
G
=
(
V
,
E
,
A
)
G = (\mathcal{V}, \mathcal{E}, A)
G=(V,E,A),其中
V
=
{
v
1
,
…
,
v
N
}
\mathcal{V} = \{v_1, \dots, v_N\}
V={v1,…,vN} 是包含
N
N
N 个节点的集合(
∣
V
∣
=
N
|\mathcal{V}| = N
∣V∣=N),
E
⊆
V
×
V
\mathcal{E} \subseteq \mathcal{V} \times \mathcal{V}
E⊆V×V 是边的集合,
A
A
A 是网络
G
G
G 的邻接矩阵。这里,
N
N
N 表示图中节点的数量。
定义 2(交通流张量)
我们用
X
t
∈
R
N
×
C
X_t \in \mathbb{R}^{N \times C}
Xt∈RN×C 表示在时间
t
t
t 时刻道路网络中
N
N
N 个节点的交通流量,其中
C
C
C 是交通流量的维度。例如,当数据包括流入和流出时,
C
=
2
C = 2
C=2。我们用
X
=
(
X
1
,
X
2
,
…
,
X
T
)
∈
R
T
×
N
×
C
\mathcal{X} = (X_1, X_2, \dots, X_T) \in \mathbb{R}^{T \times N \times C}
X=(X1,X2,…,XT)∈RT×N×C 表示在
T
T
T 个时间片内所有节点的交通流张量。
2.2 问题形式化
交通流预测旨在根据历史观测数据,预测未来时间段内交通系统的交通流量。形式化地,给定在交通系统上观测到的交通流张量 X \mathcal{X} X,我们的目标是学习一个映射函数 f f f,从之前 T T T 步的交通流观测值预测未来 T ′ T' T′ 步的交通流量:公式(1)
[ X ( t − T + 1 ) , … , X t ; G ] → f [ X ( t + 1 ) , … , X ( t + T ′ ) ] . [\mathcal{X}_{(t-T+1)}, \dots, \mathcal{X}_t; G] \xrightarrow{f} [\mathcal{X}_{(t+1)}, \dots, \mathcal{X}_{(t+T')}]. [X(t−T+1),…,Xt;G]f[X(t+1),…,X(t+T′)].
3 方法
图2显示了PDFormer的框架,框架包括数据嵌入层、堆叠的 L L L 个时空编码器层以及输出层。我们将详细描述每个模块。
3.1 数据嵌入层
数据嵌入层将输入转换为高维表示。首先,原始输入 X \mathcal{X} X 通过一个全连接层转换为 X d a t a ∈ R T × N × d \mathcal{X}_{data} \in \mathbb{R}^{T \times N \times d} Xdata∈RT×N×d,其中 d d d 是嵌入维度。接着,我们进一步设计了一个时空嵌入机制,将必要的知识引入到模型中,包括空间图Laplacian嵌入以编码道路网络结构,时间周期嵌入以建模交通流的周期性。
为了表示道路网络的结构,我们使用图Laplacian特征向量(Belkin和Niyogi 2003),它能够更好地描述图中节点之间的距离。首先,我们通过 Δ = I − D − 1 / 2 A D − 1 / 2 \Delta = I - D^{-1/2} A D^{-1/2} Δ=I−D−1/2AD−1/2获得标准化的Laplacian矩阵,其中 A A A 是邻接矩阵, D D D 是度矩阵, I I I 是单位矩阵。然后我们进行特征值分解 Δ = U ⊤ Λ U \Delta = U^{\top} \Lambda U Δ=U⊤ΛU,得到特征值矩阵 Λ \Lambda Λ 和特征向量矩阵 U U U。我们通过线性投影选择前 k k k 个最小的非平凡特征向量,生成空间图Laplacian嵌入 X s p e ∈ R N × d \mathcal{X}_{spe} \in \mathbb{R}^{N \times d} Xspe∈RN×d。Laplacian特征向量嵌入图的欧几里得空间,保留了全局图结构信息(Dwivedi等,2020)。
此外,城市交通流受到人们出行模式和生活方式的影响,具有明显的周期性,如早晚高峰。因此,我们引入了两个嵌入来分别覆盖周周期和日周期,分别表示为 t w ( t ) , t d ( t ) ∈ R d t_w(t), t_d(t) \in \mathbb{R}^d tw(t),td(t)∈Rd。其中, w ( t ) w(t) w(t) 和 d ( t ) d(t) d(t) 是将时间 t t t 转换为周索引(1到7)和分钟索引(1到1440)的函数。时间周期嵌入 X w , X d ∈ R T × d \mathcal{X}_w, \mathcal{X}_d \in \mathbb{R}^{T \times d} Xw,Xd∈RT×d 通过对所有时间片的嵌入进行拼接获得。
根据原始的Transformer架构,我们还使用了时间位置编码 X t p e ∈ R T × d \mathcal{X}_{tpe} \in \mathbb{R}^{T \times d} Xtpe∈RT×d 来引入输入序列中的位置信息。
最后,我们通过简单地将上述嵌入向量相加得到数据嵌入层的输出:公式(2)
X e m b = X d a t a + X s p e + X w + X d + X t p e . \mathcal{X}_{emb} = \mathcal{X}_{data} + \mathcal{X}_{spe} + \mathcal{X}_w + \mathcal{X}_d + \mathcal{X}_{tpe}. Xemb=Xdata+Xspe+Xw+Xd+Xtpe.
X e m b \mathcal{X}_{emb} Xemb 将被输入到后续的时空编码器中,我们为了方便使用 X \mathcal{X} X 替换 X e m b \mathcal{X}_{emb} Xemb。
3.2 时空编码器层
我们基于自注意力机制设计了一个时空编码器层,以建模复杂且动态的时空依赖性。编码器层的核心包含三个组件。
- 第一个是空间自注意力模块,由地理空间自注意力模块和语义空间自注意力模块组成,能够同时捕捉短程和长程的动态空间依赖性。
- 第二个是延迟感知特征变换模块,扩展了地理空间自注意力模块,显式建模了空间信息传播中的时间延迟。
- 第三个是时间自注意力模块,捕捉动态的长程时间模式。
为了公式化自注意力操作,我们使用如下的时间片表示法。对于一个张量 X ∈ R T × N × D \mathcal{X} \in \mathbb{R}^{T \times N \times D} X∈RT×N×D,时间片 t t t 为 X t : : ∈ R N × D \mathcal{X}_{t::} \in \mathbb{R}^{N \times D} Xt::∈RN×D,而片段 n n n 为 X : n : ∈ R T × D \mathcal{X}_{:n:} \in \mathbb{R}^{T \times D} X:n:∈RT×D。
3.2.1 空间自注意力(SSA)
我们设计了一个空间自注意力模块,旨在捕捉交通数据中的动态空间依赖。具体来说,在时刻
t
t
t,我们首先得到自注意力操作的查询、键和值矩阵,定义如下:公式(3)
Q
t
(
S
)
=
X
t
:
:
W
Q
S
,
K
t
(
S
)
=
X
t
:
:
W
K
S
,
V
t
(
S
)
=
X
t
:
:
W
V
S
Q_t^{(S)} = X_{t::} W_Q^S, \quad K_t^{(S)} = X_{t::} W_K^S, \quad V_t^{(S)} = X_{t::} W_V^S
Qt(S)=Xt::WQS,Kt(S)=Xt::WKS,Vt(S)=Xt::WVS
其中 W Q S , W K S , W V S ∈ R D × d ′ W_Q^S, W_K^S, W_V^S \in \mathbb{R}^{D \times d'} WQS,WKS,WVS∈RD×d′ 是可学习的参数, d ′ d' d′ 是在本文中Q、K和V矩阵的维度。然后,我们在空间维度上应用自注意力操作,以建模节点之间的交互,并在时刻 t t t 得到所有节点之间的空间依赖(注意力得分):公式(4)
A t ( S ) = Q t ( S ) ( K t ( S ) ) ⊤ d ′ A_t^{(S)} = \frac{Q_t^{(S)} (K_t^{(S)})^\top}{\sqrt{d'}} At(S)=d′Qt(S)(Kt(S))⊤
可以看出,不同时刻的节点之间的空间依赖是不同的,即是动态的。因此,SSA模块能够适应捕捉动态空间依赖。最终,我们可以通过将注意力得分与值矩阵相乘,得到空间自注意力模块的输出:公式(5)
S S A ( Q t ( S ) , K t ( S ) , V t ( S ) ) = softmax ( A t ( S ) ) V t ( S ) SSA(Q_t^{(S)}, K_t^{(S)}, V_t^{(S)}) = \text{softmax}(A_t^{(S)}) V_t^{(S)} SSA(Qt(S),Kt(S),Vt(S))=softmax(At(S))Vt(S)
在简单的空间自注意力公式(5)中,每个节点与所有节点交互,相当于将空间图视为全连接图。然而,只有少数节点对之间的交互是必要的,包括附近的节点对和距离较远但具有相似功能的节点对。因此,我们引入了两个图掩码矩阵 M geo M_{\text{geo}} Mgeo 和 M sem M_{\text{sem}} Msem,以同时捕捉交通数据中的短程和长程空间依赖。
从短程视角来看,我们定义了二值地理掩码矩阵 M geo M_{\text{geo}} Mgeo,当两个节点的距离(即图中的跳数)小于阈值 λ \lambda λ 时,权重为1,否则为0。通过这种方式,我们可以屏蔽距离较远的节点对的注意力。
从长程视角,我们使用动态时间规整(DTW)算法计算节点之间的历史交通流相似性,并为每个节点选择相似性最高的 K K K 个节点作为其语义邻居。然后,我们通过将当前节点与其语义邻居之间的权重设置为1,并屏蔽其他节点,构建语义掩码矩阵 M sem M_{\text{sem}} Msem。通过这种方式,我们可以找到由于相似城市功能而表现出相似交通模式的远距离节点对。
基于这两个图掩码矩阵,我们进一步设计了两个空间自注意力模块,即地理空间自注意力(GeoSSA)和语义空间自注意力(SemSSA),定义如下:
GeoSSA
(
Q
t
(
S
)
,
K
t
(
S
)
,
V
t
(
S
)
)
=
softmax
(
A
t
(
S
)
⊙
M
geo
)
V
t
(
S
)
\text{GeoSSA}(Q_t^{(S)}, K_t^{(S)}, V_t^{(S)}) = \text{softmax}(A_t^{(S)} \odot M_{\text{geo}}) V_t^{(S)}
GeoSSA(Qt(S),Kt(S),Vt(S))=softmax(At(S)⊙Mgeo)Vt(S)
SemSSA ( Q t ( S ) , K t ( S ) , V t ( S ) ) = softmax ( A t ( S ) ⊙ M sem ) V t ( S ) \text{SemSSA}(Q_t^{(S)}, K_t^{(S)}, V_t^{(S)}) = \text{softmax}(A_t^{(S)} \odot M_{\text{sem}}) V_t^{(S)} SemSSA(Qt(S),Kt(S),Vt(S))=softmax(At(S)⊙Msem)Vt(S)
其中⊙表示Hadamard乘积。通过这种方式,空间自注意力模块同时融入了短程地理邻居和长程语义邻居信息。
3.2.2 延迟感知特征变换(DFT)
在现实交通条件下,存在传播延迟。例如,当某个区域发生交通事故时,可能需要几分钟才能影响到邻近区域的交通状况。因此,我们提出了一个交通延迟感知特征变换模块,该模块捕捉了每个节点从短期历史交通流中传播延迟的影响。
该模块将延迟信息整合到地理空间自注意力模块的键矩阵中,显式地建模了空间信息传播中的时间延迟。由于交通数据可能具有多维度,例如流入和流出,这里我们仅使用一个维度来展示该模块的计算过程。
首先,我们从历史交通数据中识别出一组代表性的短期交通模式。具体来说,我们通过滑动窗口大小为 S S S 对历史交通数据进行切片,得到一组交通流序列。然后,我们使用 k-Shape 聚类算法对这些交通流序列进行聚类。k-Shape 算法是一种时间序列聚类方法,它保持了时间序列的形状并且不受缩放和平移的影响。我们使用每个聚类的质心 p i p_i pi 来代表该聚类,其中 p i p_i pi 也是一个长度为 S S S 的时间序列。我们将集合 P = { p i ∣ i ∈ [ 1 , ⋯ , N p ] } \mathcal{P} = \{p_i | i \in [1, \cdots, N_p]\} P={pi∣i∈[1,⋯,Np]} 作为聚类结果,其中 N p N_p Np 是聚类的总数。我们可以将 P \mathcal{P} P 视为一组短期交通模式。
相似的交通模式可能对邻近的交通条件产生相似的影响,尤其是异常交通模式(例如交通拥堵)。因此,我们将每个节点的历史交通流序列与提取的交通模式集 P \mathcal{P} P 进行比较,以将相似模式的信息融合到每个节点的历史交通流序列表示中,具体过程如图3所示。
特别是,给定节点
n
n
n 从时间片
(
t
−
S
+
1
)
(t - S + 1)
(t−S+1) 到
t
t
t 的
S
S
S 步历史交通流序列
x
(
t
−
S
+
1
:
t
)
,
n
x_{(t-S+1:t),n}
x(t−S+1:t),n,我们首先使用嵌入矩阵
W
u
W^u
Wu 得到高维表示
u
t
,
n
u_{t,n}
ut,n:
u
t
,
n
=
x
(
t
−
S
+
1
:
t
)
,
n
W
u
u_{t,n} = x_{(t-S+1:t),n} W^u
ut,n=x(t−S+1:t),nWu
然后,我们使用另一个嵌入矩阵 W m W^m Wm 将交通模式集 P \mathcal{P} P 中的每个交通流序列转换为记忆向量:
m i = p i W m m_i = p_i W^m mi=piWm
我们将节点 n n n 的历史交通流表示 u t , n u_{t,n} ut,n 与交通模式记忆向量 m i m_i mi 进行比较,得到相似度向量:
w i = softmax ( u t , n ⊤ m i ) w_i = \text{softmax}(u_{t,n}^\top m_i) wi=softmax(ut,n⊤mi)
然后,我们根据相似度向量 w w w 对交通模式集 P \mathcal{P} P 进行加权求和,得到节点 n n n 的集成历史序列表示 r t , n r_{t,n} rt,n:
r t , n = ∑ i = 1 N p w i ( p i W c ) r_{t,n} = \sum_{i=1}^{N_p} w_i (p_i W^c) rt,n=i=1∑Npwi(piWc)
其中 W c W^c Wc 是可学习的参数矩阵。集成的历史序列表示 r t , n r_{t,n} rt,n 包含了节点 n n n 从时间片 ( t − S + 1 ) (t-S+1) (t−S+1) 到 t t t 的历史交通流信息。最后,我们使用 N N N 个节点的集成表示 R t R_t Rt 来更新公式(4)中的 K t ( S ) K_t^{(S)} Kt(S):
K ~ t ( S ) = K t ( S ) + R t \tilde{K}_t^{(S)} = K_t^{(S)} + R_t K~t(S)=Kt(S)+Rt
其中 R t ∈ R N × d ′ R_t \in \mathbb{R}^{N \times d'} Rt∈RN×d′ 通过连接 N N N 个节点的集成表示 r t , n r_{t,n} rt,n 得到, d ′ d' d′ 是键矩阵在本文中的维度。
通过这种方式,时间片 t t t 的新键矩阵 K ~ t ( S ) \tilde{K}_t^{(S)} K~t(S) 整合了所有节点从时间片 ( t − S + 1 ) (t-S+1) (t−S+1) 到 t t t 的历史交通流信息。在计算查询矩阵和新键矩阵的乘积以得到时刻 t t t 的空间依赖 A t ( S ) A_t^{(S)} At(S)
通过这种方式,新的键矩阵 K ~ t ( S ) \tilde{K}_t^{(S)} K~t(S) 在时间片 t t t 整合了所有节点从时间片 ( t − S + 1 ) (t - S + 1) (t−S+1) 到 t t t 的历史交通流信息。当计算查询矩阵和新的键矩阵的乘积,以获得时间片 t t t 的空间依赖 A t ( S ) A_t^{(S)} At(S) (公式(4))时,查询矩阵能够考虑其他节点的历史交通状况。这个过程明确地建模了空间信息传播中的时间延迟。我们没有将这个模块添加到语义空间自注意力模块中,因为远距离节点的短期交通流对当前节点的影响较小。
3.2.3 时间自注意力 (TSA)
在不同的时间片之间,交通状况存在依赖关系(例如,周期性、趋势性),并且在不同情况下这些依赖关系是不同的。因此,我们使用时序自注意力模块来发现动态的时序模式。形式上,对于节点
n
n
n,我们首先获得查询、键和值矩阵,如下所示:
Q
n
(
T
)
=
X
:
n
:
W
Q
T
,
K
n
(
T
)
=
X
:
n
:
W
K
T
,
V
n
(
T
)
=
X
:
n
:
W
V
T
,
Q_n^{(T)} = X_{:n:} W_Q^{T}, \quad K_n^{(T)} = X_{:n:} W_K^{T}, \quad V_n^{(T)} = X_{:n:} W_V^{T},
Qn(T)=X:n:WQT,Kn(T)=X:n:WKT,Vn(T)=X:n:WVT,
其中 W Q T , W K T , W V T ∈ R d × d ′ W_Q^{T}, W_K^{T}, W_V^{T} \in \mathbb{R}^{d \times d'} WQT,WKT,WVT∈Rd×d′ 是可学习的参数。然后,我们在时间维度上应用自注意力操作,得到节点 n n n 在所有时间片之间的时间依赖关系:
A n ( T ) = Q n ( T ) ( K n ( T ) ) ⊤ d ′ 。 A_n^{(T)} = \frac{Q_n^{(T)} (K_n^{(T)})^\top}{\sqrt{d'}}。 An(T)=d′Qn(T)(Kn(T))⊤。
可以看出,时间自注意力可以发现不同节点交通数据中不同时序模式下的动态时序模式。此外,时间自注意力具有全局感受野,可以建模所有时间片之间的长程时间依赖。最后,我们可以通过以下公式得到时间自注意力模块的输出:
TSA ( Q n ( T ) , K n ( T ) , V n ( T ) ) = softmax ( A n ( T ) ) V n ( T ) 。 \text{TSA}(Q_n^{(T)}, K_n^{(T)}, V_n^{(T)}) = \text{softmax}(A_n^{(T)}) V_n^{(T)}。 TSA(Qn(T),Kn(T),Vn(T))=softmax(An(T))Vn(T)。
3.2.4 异构注意力融合
在定义了三种类型的注意力机制之后,我们将异构注意力融合到一个多头自注意力模块中,以减少模型的计算复杂度。具体而言,注意力头包括三种类型,即地理(GeoSAH)、语义(SemSAH)和时间(TAH)头,分别对应三种注意力机制的类型。这些头的结果被连接并投影,以获得输出,使模型能够同时整合空间和时间信息。形式上,时空自注意力模块定义如下:
STAttn
=
⊕
(
Z
1
geo
.
.
.
Z
h
geo
geo
,
Z
1
sem
.
.
.
Z
h
sem
sem
,
Z
1
t
.
.
.
Z
h
t
t
)
W
O
,
\text{STAttn} = \oplus(Z_1^{\text{geo}}...Z_{h_{\text{geo}}}^{\text{geo}}, Z_1^{\text{sem}}...Z_{h_{\text{sem}}}^{\text{sem}}, Z_1^t...Z_{h_t}^t)W^O,
STAttn=⊕(Z1geo...Zhgeogeo,Z1sem...Zhsemsem,Z1t...Zhtt)WO,
其中 ⊕ \oplus ⊕ 表示连接操作, Z geo , Z sem , Z t Z^{\text{geo}}, Z^{\text{sem}}, Z^t Zgeo,Zsem,Zt 是输出连接, h geo , h sem , h t h_{\text{geo}}, h_{\text{sem}}, h_t hgeo,hsem,ht 分别是 GeoSSA、SemSSA 和 TSA 的注意力头数量, W O ∈ R d × d ′ W^O \in \mathbb{R}^{d \times d'} WO∈Rd×d′ 是可学习的投影矩阵。在本文中,我们设定维度 d ′ = d / ( h geo + h sem + h t ) d' = d/(h_{\text{geo}} + h_{\text{sem}} + h_t) d′=d/(hgeo+hsem+ht)。
此外,我们在多头自注意力模块的输出上应用了逐位置的全连接前馈网络,以得到输出 X o ∈ R T × N × d \mathcal{X}_o \in \mathbb{R}^{T \times N \times d} Xo∈RT×N×d。我们还使用了层归一化和残差连接,遵循了原始的 Transformer 结构。
3.3 输出层
我们在每个时空编码层之后使用了一个跳跃连接,由 1 × 1 1 \times 1 1×1 的卷积组成,将输出 X o \mathcal{X}_o Xo 转换为跳跃维度 X s k ∈ R T × N × d s k \mathcal{X}^{sk} \in \mathbb{R}^{T \times N \times d_{sk}} Xsk∈RT×N×dsk。其中, d s k d_{sk} dsk 是跳跃维度。然后,我们通过对每个跳跃连接层的输出求和,得到最终的隐藏状态 X h i d ∈ R T × N × d s k \mathcal{X}_{hid} \in \mathbb{R}^{T \times N \times d_{sk}} Xhid∈RT×N×dsk。为了进行多步预测,我们直接使用输出层将最终的隐藏状态 X h i d \mathcal{X}_{hid} Xhid 转换为所需的维度:
X ^ = Conv 2 ( Conv 1 ( X h i d ) ) , \hat{\mathcal{X}} = \text{Conv}_2(\text{Conv}_1(\mathcal{X}_{hid})), X^=Conv2(Conv1(Xhid)),
其中 X ^ ∈ R T ′ × N × C \hat{\mathcal{X}} \in \mathbb{R}^{T' \times N \times C} X^∈RT′×N×C 是 T ′ T' T′ 步的预测结果, Conv 1 \text{Conv}_1 Conv1 和 Conv 2 \text{Conv}_2 Conv2 都是 1 × 1 1 \times 1 1×1 卷积。在这里,我们选择了直接方式,而不是递归的方式进行多步预测,以减少累积误差并提高模型效率。
4 实验部分
4.1 数据集
我们验证了PDFormer在六个真实世界的公共交通数据集上的性能,包括三个基于图的高速公路交通数据集:PeMS04、PeMS07、PeMS08,以及三个基于网格的城市交通数据集:NYCTaxi、CHIBike和T-Drive。基于图的数据集仅包含交通流量数据,而基于网格的数据集包含流入和流出数据。详细信息见表1。
4.2 baseline
我们将PDFormer与以下17个基准模型进行了对比,基准模型分为四类:
(1)用于网格数据集的模型:我们选择了STResNet、DMVSTNet和DSAN,这些模型不适用于基于图的数据集。
(2)时间序列预测模型:我们选择了VAR和SVR。
(3)基于图神经网络的模型:我们选择了DCRNN、STGCN、GWNET、MTGNN、STSGCN、STFGNN、STGODE和STGNCDE。
(4)基于自注意力的模型:我们选择了STTN、GMAN、TFormer和ASTGNN。
4.3 实验设置
4.3.1 数据集处理
为了与大多数现代方法保持一致,我们将三个基于图的数据集按照6:2:2的比例划分为训练集、验证集和测试集。此外,我们使用过去1小时(12个时间步)的数据来预测下1小时(12个时间步)的交通流量,即进行多步预测。
对于基于网格的数据集,划分比例为7:1:2,我们使用过去6个时间步的流入和流出数据来预测下一个单步的流入和流出。
4.3.2 模型设置
所有实验均在配备NVIDIA GeForce 3090 GPU和128GB内存的机器上进行。我们使用Ubuntu 18.04、PyTorch 1.10.1和Python 3.9.7实现PDFormer。隐藏维度 d d d 在{16, 32, 64, 128}范围内搜索,编码器层的深度 L L L 在{2, 4, 6, 8}范围内搜索。最佳模型基于验证集的表现确定。我们使用AdamW优化器进行训练,学习率为0.001,批量大小为16,训练轮次为200。
4.3.3 评估指标
我们在实验中使用了三个评估指标:
(1)平均绝对误差(MAE)
(2)平均绝对百分比误差(MAPE)
(3)均方根误差(RMSE)
在计算这些指标时排除了缺失值。我们在测试基于网格的数据集时,过滤掉了流量值低于10的样本,以与(Yao等,2018)的设置保持一致。由于CHIBike的流量低于其他数据集,因此阈值设置为5。我们重复实验十次,并报告平均结果。
4.4 性能对比
与基准模型在基于图和基于网格的数据集上的对比结果分别展示在表2和表3中。加粗的结果是最好的,下划线的结果是第二好的。
基于这两张表,我们可以得出以下观察结果:
- 时空深度学习模型的性能优于传统的时间序列预测模型(如VAR),因为后者忽略了交通数据中的空间依赖性。
- PDFormer在所有数据集上的所有指标上显著优于所有基准模型,并且根据Student’s t检验在0.01显著性水平上具有统计意义。与第二好的方法相比,PDFormer在MAE/MAPE/RMSE上的平均提升分别为4.58%、5.00%、4.79%。
- 在基于图神经网络的模型中,MTGNN和STGNCDE表现出竞争力。与这些基于GNN的模型相比,由于信息传递是即时的,PDFormer表现更好,因为它考虑了空间信息传播中的时间延迟。
- 在基于自注意力的模型中,ASTGNN是最好的基准,它结合了GCN和自注意力模块以聚合邻居信息。与ASTGNN相比,PDFormer通过两个掩码矩阵同时捕捉了短程和长程的空间依赖,并取得了良好的性能。
- 尽管STResNet、DMVSTNet和DSAN是为网格数据设计的,它们需要从不同的时间段提取特征,这些时间段在这里被排除,因此表现较差。
4.5 消融实验
为了进一步研究PDFormer中不同部分的有效性,我们将PDFormer与以下变体进行了对比:
(1)w/ GCN:该变体用图卷积网络(GCN)替换了空间自注意力(SSA),无法捕捉动态和长程空间依赖。
(2)w/o Mask:该变体移除了两个掩码矩阵 M geo M_{\text{geo}} Mgeo 和 M sem M_{\text{sem}} Msem,意味着每个节点都关注所有节点。
(3)w/o GeoSAH:该变体移除了GeoSAH。
(4)w/o SemSAH:该变体移除了SemSAH。
(5)w/o Delay:该变体移除了延迟感知特征变换模块,后者负责空间信息传播中的时间延迟。
图4展示了这些变体在PeMS04和NYCTaxi数据集上的对比结果。对于NYCTaxi数据集,仅报告了流入的结果,因为流出结果相似。
根据结果,我们可以得出以下结论:
(1)结果显示SSA在捕捉动态和长程空间依赖方面优于GCN。
(2)PDFormer相比于w/o Mask有较大性能提升,突显了使用掩码矩阵来识别重要节点对的价值。此外,w/o SemSAH 和 w/o GeoSAH 的表现均不如PDFormer,表明局部和全局空间依赖对交通预测都很重要。
(3)w/o Delay 的表现不如PDFormer,因为该变体忽略了节点间的空间传播延迟,而认为空间信息传递是即时的。
4.6 案例研究
在这一部分中,我们分析了由PDFormer的时空编码器学习到的动态时空注意力权重图,以提高其可解释性,并证明同时关注短程和长程空间依赖的有效性。
我们对比了有无两个空间掩码矩阵 M geo M_{\text{geo}} Mgeo 和 M sem M_{\text{sem}} Msem 的注意力图。如图5所示,没有掩码矩阵时,模型关注的是主要城市道路(或高速公路)上高交通量的区域,或者注意力分布较为分散,几乎整个城市都分享了模型的注意力。然而,低交通量的位置应该关注具有相似模式的地点,而不是热点地区。此外,距离过远的区域对当前位置的影响较小。如果模型分散关注所有位置,性能将会减弱。引入 M geo M_{\text{geo}} Mgeo 和 M sem M_{\text{sem}} Msem 后,注意力集中在周围的地点和远程相似模式的地点上。如图5(b)、(e)所示。
我们以图5(b)中的区域592为例。高速S12穿过该区域,因此交通量一直较高。除了位于高速公路上下游的区域外,区域592还关注区域648和753。从图5©可以看出,这两个区域的历史交通量与区域592相似。此外,从图5(h)、(i)可以看出,这两个区域位于国贸立交桥和北京二环路附近,这些地方在其城市功能上与区域592相似,都是主要的交通枢纽。另一个例子中,区域252的交通量较低,但我们可以观察到区域252关注的区域370、403、453和842有着相似的模式,即相似的功能和历史交通变化。
该案例研究表明,引入空间掩码矩阵后,PDFormer不仅考虑了短程空间依赖,还识别了全球功能区域,以捕捉长程空间依赖。上述消融实验也定量地表明,移除掩码矩阵后模型性能显著下降,支持了此处提出的观点。
4.7 模型效率研究
由于基于注意力的模型具有更好的性能,我们将PDFormer与其他基于自注意力的基准模型在PeMS04和NYCTaxi数据集上的计算成本进行了比较。表4报告了每轮的平均训练和推理时间。我们发现PDFormer在短期和长期交通预测中都表现出具有竞争力的计算效率。与PeMS04上表现最好的基准ASTGNN相比,PDFormer分别减少了超过35%和80%的训练和推理时间。GMAN和ASTGNN保留了时间消耗较大的编码器-解码器结构,而STTN和PDFormer通过一个正向过程代替了这种结构。TFormer只执行空间注意力,从而减少了计算时间。
5 相关工作
5.1 交通预测中的深度学习
近年来,越来越多的研究人员开始采用深度学习模型来解决交通预测问题。早期,卷积神经网络(CNNs)被应用于基于网格的交通数据,以捕捉数据中的空间依赖关系(Zhang, Zheng, Qi 2017;Lin等,2020a)。后来,得益于图数据建模的强大能力,图神经网络(GNNs)被广泛用于交通预测(Chen等,2020;Bai等,2020;Zhang等,2021;Oreshkin等,2021;Ye等,2021;Han等,2021;Ji等,2022;Liu等,2022)。最近,注意力机制因其在建模交通数据中的动态依赖性方面的有效性,变得越来越受欢迎(Guo等,2019;Wang等,2020;Lin等,2020b;Guo等,2021;Ye等,2022)。与这些工作不同,我们提出的PDFormer不仅通过自注意力机制考虑了动态和长程空间依赖,还通过延迟感知特征变换层引入了空间传播中的时间延迟。
5.2 Transformer
Transformer是一种完全基于自注意力机制的网络架构。Transformer在多个自然语言处理(NLP)任务中证明了其有效性。此外,基于Transformer的预训练模型(如BERT)在NLP领域取得了巨大的成功。最近,Vision Transformers吸引了研究人员的关注,许多变体在计算机视觉任务中表现出有前途的结果。此外,Transformer架构在表征学习中表现良好,已在最近的研究中得到证明。
6 结论
在这项工作中,我们提出了一种新的用于交通流预测的PDFormer模型,采用了时空自注意力机制。具体来说,我们开发了一个空间自注意力模块,能够捕捉动态和长程空间依赖性,并开发了一个时间自注意力模块,能够发现交通数据中的动态时间模式。我们还设计了一个延迟感知特征变换模块,显式地建模了空间信息传播中的时间延迟。我们在六个真实世界数据集上进行了广泛的实验,展示了我们提出的模型的优越性,并通过可视化学习到的注意力图来提高模型的可解释性。作为未来工作,我们将PDFormer应用于其他时空预测任务,例如风力发电预测。此外,我们还将探索在交通预测中的预训练技术,以解决数据不足的问题。