论文标题
《Generic Dynamic Graph Convolutional Network for traffic flow forecasting》
- 干什么活:交通流预测(traffic flow forecasting )
- 方法:动态图卷积网络(Dynamic Graph Convolutional Network)
- 创新:通用(Generic)
作者
隔壁北航的大佬们太强了。这个项目有国自然和校级资金支持。
初读
摘要
-
现存方法的局限性:图卷积网络
- 共享模式不充分
- 时间关系不灵活
- 关系假设不固定
-
新方法:
-
具有参数共享和跨堆叠层独立块的通用框架
- 用以系统地探索所以数据维度上地参数共享
- 可以同时利用层与层之间的不同模式和跨层的稳定模式。
-
一个新的时间图卷积块
- 从图的角度将历史时隙视为节点,并用图卷积处理时间动态。
- 可以捕获灵活的全局时间关系,以便更好地了解当前的交通状况。
-
一种动态图构造函数
- 不仅可以对节点之间特定于时间的空间依赖关系进行建模
- 还可以对时隙之间不断变化的时间交互进行建模,从而从数据中彻底发现动态关系。
-
-
效果:
在四个真实世界数据集上的实验结果表明,GDGCN 不仅优于最先进的方法,而且可以获得可解释的片段动态空间关系。
结论
-
提出的通用框架 GDGCN
-
具有独立块和共享块。
-
可以系统地跨层捕获各种模式和共享模式。
-
-
提出的时间图卷积
-
从图的角度将多个历史时隙视为节点。
-
可以捕捉灵活的全局时间关系。
-
-
提出的动态图构造函数
- 可以同时对时变空间和时间关系进行建模。
-
实验证明了 GDGCN 的优越性、时间图卷积和学习的动态图的有效性。
-
意义:
这项工作通过探索参数共享机制和从图的角度建立时间关系,为交通预测提供了新的见解。这些思想也可以应用于更一般的多变量时间序列预测问题。
再读
Section 1 Introduction
-
第一段:时空数据挖掘牛
- 时空交通数据开采是交通系统领域的一个基础研究问题;
- 交通数据挖掘的研究数据形式具有代表性,因此可以很容易地将其研究转移到其他领域时空学习问题,如人类迁移建模、兴趣点推荐。
-
第二段:现有方法的优劣
-
最早:经验统计方法
- 忽略了节点之间的空间依赖性。
-
后续:深度学习方法
-
卷积神经网络(CNN)
- 用于挖掘空间中的关系
- 无法工作在非欧几里得空间中构建的交通图
-
递归神经网络(RNN)
- 用于发现时间中的模式
-
-
如今:图卷积网络(GCN)
-
已被有效地用于交通预测。
-
最早 基于距离或函数相似性构建空间图
- 缺点:
- 需要专家知识
- 可能是不完整的
- 缺点:
-
后来 从数据中构造自适应空间邻接矩阵
- 使用跨层共享参数构造矩阵
- 通过梯度下降对其进行更新
- 仍存在问题(三点)
-
-
-
第三段:GCN 现存问题一
-
能够自动利用潜在的空间关系,但时间维度和特征维度中的分层空间关系和稳定模式尚未得到很好的探索。
-
对于空间维度,当前的图卷积方法通常只使用一个关系矩阵来堆叠图卷积层,
- 会平滑节点的输入信号,并且很难获得层之间的隐藏差异。例如,由于突发业务条件的扩散,相邻节点在浅层中可能具有更紧密的关系,而具有类似功能的节点在深层中可能由于固有特性而更加相关。
-
对于时间维度和特征维度,现有方法为不同的层分配独立的参数
- 忽略了在这些维度中存在的层之间共享的一些模式。例如,未来的交通流可能更多地取决于近过去而不是远过去,这在多层中是有用的。
-
-
第四段:GCN 现存问题二
- 现有的时空模型利用 CNN 或 RNN 作为顺序学习模块,可能不足以理解历史流量数据中的时间动态。
- 建立一个时间图来描述时隙之间的时间关系仅仅是在局部的假设之上。
- 建模的不同时隙之间的时间关系在图视图中只是整个时间空间的有限集合,可能无法在整个输入时间内捕捉到灵活的全局时间关系。
-
第五段:GCN 现存问题三
-
很少讨论动态性:
-
两个片段的空间关系应该是动态的。
例如,不同时间路段之间的空间关系图变化很大;两条道路可能在早高峰表现不同但在晚高峰表现相似。
-
时隙之间的时间关系也在动态变化。
例如,在高峰时段,随着交通状况的迅速变化,近时段之间的关系可能更大;而在非高峰时段,为了避免噪声的影响,所有时隙之间的关系可能是均匀的。
-
-
-
第六段:GDGCN 对上述问题的解决
- 通过在所有维度(空间、时间、特征)上跨层组合参数共享和独立块来提取各种稳定的模式。
- 代表了对交通预测中参数共享机制的初步探索
- 我们将时间步长视为图视图中的节点,将空间关系学习模块推广到时域。
- 设计了一个时间动态图卷积块。
- 学习时隙之间灵活的全局时间关系,更好地理解历史数据中的时间动态
- 不仅有效地捕捉了时隙之间不断变化的时间关系,而且还捕捉了段之间的动态空间相关性。
- 开发了一种受张量分解影响的图构造函数,以捕捉片段之间不断变化的空间连接和时隙之间的时间连接。
- 在四个基准数据集上进行了全面评估,表明 GDGCN 在所有情况下都始终优于其他方法。
- 通过在所有维度(空间、时间、特征)上跨层组合参数共享和独立块来提取各种稳定的模式。
Section 2 Related works
-
2.1 Traffic forecasting 交通量预测
-
在捕捉复杂的交通数据动态方面有希望的方法:
-
利用 RNN 架构(如 LSTM)来分析序列数据
-
同时结合 CNN 架构来考虑空间关系。
-
-
迎接道路网络中复杂的空间依赖性构成的重大挑战的新方法:
-
将 GCN 与时间序列学习技术相结合,以有效地解决空间和时间上的关系挖掘问题。
-
为了捕捉时间相关性,
- 一些利用循环神经网络,
- 另一些利用卷积神经网络
-
问题:
这些顺序学习方法无法对不同时隙之间的全局和动态时间关系进行建模。
-
-
本文贡献
工作将空间图学习模块推广到时域,并提出了一个时域图卷积块,它可以学习历史时隙之间的全局和动态时间关系。
-
-
2.2. Spatio-temporal graph neural networks 时空图神经网络
-
具有代表性的基于图的模型:STGCN、DCRNN、ASTGCN
-
结合了基于切比雪夫多项式的网络、门控循环单元和扩散过程等技术
-
问题:
使用的图形是预先安排好的,显示了直观但有限的设计。
-
-
为了解决上一个问题,一些工作从数据中生成了自适应图:
-
Graph Wavenet 通过利用可训练矩阵引入了一个动态元素
-
AGCRN 专门关注自适应组件
-
问题:
能够灵活地利用数据中的相关性,但忽略了空间相关性的动态性质。
-
-
为了解决上一个问题,有方法构造一个空间相邻矩阵,并将其用于不同的层,从而提取出跨层的共享空间关系。
-
GMAN
- 将自注意机制扩展到空间维度,以学习动态空间关系。
- 通过引入基于注意力的方法增强了其模型,允许获取空间和时间上的动态信息。
-
STGODE 利用常微分方程来捕捉空间和时间关系的复杂动力学
-
问题:
具有一个固定空间相邻矩阵的模型难以实现不同的层在不同的数据维度中发现不同的模式。
-
-
本文贡献:
- 在堆叠层之间应用不同的相邻矩阵来学习多个模式。并将这种机制推广到所有数据维度
- 对于3D数据,在空间、时间和特征维度上设计独立块和共享块。
-
Section 3 Notations and definitions
-
常用符号
- G t S G_t^S GtS:表示交通空间图,对于时隙 t t t, G t S = { V S , E t S } G_t^S=\{\mathbb{V}^S,\mathbb{E}^S_t\} GtS={VS,EtS}
- G t T G_t^T GtT:表示交通时间图,对于时隙 t t t, G t T = { V T , E t T } G_t^T=\{\mathbb{V}^T,\mathbb{E}^T_t\} GtT={VT,EtT}
- X t \boldsymbol{\mathrm{X}}_t Xt:表示时隙 t t t 的交通流量观测
- V S = { v 1 S … v N S } \mathbb{V}^S=\{v_1^S\dots v_N^S\} VS={v1S…vNS}:表示一组被研究的路段
- V T = { v 1 T … v N T } \mathbb{V}^T=\{v_1^T\dots v_N^T\} VT={v1T…vNT}:表示一组输入时间戳
- E t S \mathbb{E}^S_t EtS:表示时间 t t t 的空间之间链接的集合
- E t T \mathbb{E}^T_t EtT:表示时间 t t t 的时段之间的链接的集合
- e t , i , j S = ( v i S , v j S , A t , i , j S ) ∈ E t S e^S_{t,i,j}=(v_i^S,v_j^S,\boldsymbol{A}^S_{t,i,j})\in\mathbb{E}^S_t et,i,jS=(viS,vjS,At,i,jS)∈EtS:表示出现在时间 t t t 且源节点是 v i S v_i^S viS ,目标节点是 v j S v_j^S vjS 的边的权重是 A t , i , j S \boldsymbol{A}^S_{t,i,j} At,i,jS
- e t , i , j T = ( v i T , v j T , A t , i , j T ) ∈ E t T e^T_{t,i,j}=(v_i^T,v_j^T,\boldsymbol{A}^T_{t,i,j})\in\mathbb{E}^T_t et,i,jT=(viT,vjT,At,i,jT)∈EtT:表示在时隙 t t t 从 v i T v_i^T viT 到 v j T v_j^T vjT 且权重是 A t , i , j T \boldsymbol{A}^T_{t,i,j} At,i,jT 的边
- A t , i , j S \boldsymbol{A}^S_{t,i,j} At,i,jS:表示空间张量 A S \boldsymbol{A}^S AS 的第 ( t , i , j ) (t,i,j) (t,i,j) 项
- A t , i , j T \boldsymbol{A}^T_{t,i,j} At,i,jT:表示时间张量 A T \boldsymbol{A}^T AT 的第 ( t , i , j ) (t,i,j) (t,i,j) 项
- P \boldsymbol{P} P:表示输入历史步骤数量,即, ∣ V T ∣ = P |\mathbb{V}^T|=\boldsymbol{P} ∣VT∣=P
- N \boldsymbol{N} N:表示研究路段数量,即, ∣ V S ∣ = N |\mathbb{V}^S|=\boldsymbol{N} ∣VS∣=N
- d d d:表示隐藏状态的维度
- N t \boldsymbol{N}_t Nt:表示一天中的时间(24小时)被划分为 N t \boldsymbol{N}_t Nt 个时隙
- Φ ( t ) \Phi(t) Φ(t):表示映射生成了时间 t t t 的嵌入索引
- H l \boldsymbol{\mathrm{H}}^l Hl:表示第 l l l 层的隐藏状态和输入
- A S \boldsymbol{\mathrm{A}}^S AS:表示不同层次共享的空间动态图
- A T \boldsymbol{\mathrm{A}}^T AT:表示不同层共享的时间动态图
- A l , S \boldsymbol{\mathrm{A}}^{l,S} Al,S:表示第 l l l 层的独立空间动态图
- A l , T \boldsymbol{\mathrm{A}}^{l,T} Al,T:表示第 l l l 层的独立时间动态图
-
定义:
-
交通流(Traffic Flow):
交通流量是指在给定的时间间隔内,量化穿过特定路段的汽车/人员数量的记录数据。它是表征当前交通状况的重要属性。
- 使用 V S = { v 1 S … v N S } \mathbb{V}^S=\{v_1^S\dots v_N^S\} VS={v1S…vNS} 表示一组路段的流量记录的集合
- N \boldsymbol{N} N 表示相关分段的计数。
- t t t 处第 i i i 个路段对应的交通流量为 x t , i ∈ R x_{t,i}\in\R xt,i∈R
- 使用 X t ∈ R N \boldsymbol{\mathrm{X}}_t\in\R^N Xt∈RN 来表示 t t t 处交通流的综合观测值。
-
动态空间图(Dynamic Spatial Graph):
将一个区域内的车辆运动概念化为一个表现出时间可变性的图形,它们之间的相互联系的性质随着时间的推移而变化。
- 在特定时刻
t
t
t,空间图由
G
t
S
=
{
V
S
,
E
t
S
}
G_t^S=\{\mathbb{V}^S,\mathbb{E}^S_t\}
GtS={VS,EtS} 表示
- V S \mathbb{V}^S VS 表示路段
- E t S \mathbb{E}^S_t EtS 表示 t t t 中的空间边。
-
e
t
,
i
,
j
S
=
(
v
i
S
,
v
j
S
,
A
t
,
i
,
j
S
)
∈
E
t
S
e^S_{t,i,j}=(v_i^S,v_j^S,\boldsymbol{A}^S_{t,i,j})\in\mathbb{E}^S_t
et,i,jS=(viS,vjS,At,i,jS)∈EtS 是具有起始节点
v
i
S
v_i^S
viS 和目的节点
v
j
S
v_j^S
vjS 的空间边
- A t , i , j S \boldsymbol{A}^S_{t,i,j} At,i,jS 是相应的权重,它是空间关系张量 A S \boldsymbol{\mathrm{A}}^S AS 的元素。
- A t S \boldsymbol{\mathrm{A}}^S_t AtS 用于表示动态空间图 G t S G_t^S GtS。
- 在特定时刻
t
t
t,空间图由
G
t
S
=
{
V
S
,
E
t
S
}
G_t^S=\{\mathbb{V}^S,\mathbb{E}^S_t\}
GtS={VS,EtS} 表示
-
动态时间图(Dynamic Temporal Graph)
从图的角度来考虑不同时隙之间的时间关系。与空间关系类似,时间关系也是动态的。例如,交通状况在高峰时段的变化可能比非高峰时段更快,这表明预测时隙和最近的历史时隙之间的关系更强。
- 对于时隙
t
t
t,时间图表示为
V
T
=
{
v
1
T
…
v
N
T
}
\mathbb{V}^T=\{v_1^T\dots v_N^T\}
VT={v1T…vNT}
- 其中 P \boldsymbol{P} P 个历史时隙被视为节点
- V T = { v 1 T … v N T } \mathbb{V}^T=\{v_1^T\dots v_N^T\} VT={v1T…vNT} 是节点的集合
- E t T \mathbb{E}^T_t EtT 是在时间 t t t 的时隙之间的边的集合
- e t , i , j T = ( v i T , v j T , A t , i , j T ) ∈ E t T e^T_{t,i,j}=(v_i^T,v_j^T,\boldsymbol{A}^T_{t,i,j})\in\mathbb{E}^T_t et,i,jT=(viT,vjT,At,i,jT)∈EtT 表示在时间 t t t 时隙 v i T v_i^T viT 和时隙 v j T v_j^T vjT 之间的连接
- 时间动态图 G T G^T GT 可以由 3D 张量 A T \boldsymbol{A}^T AT 表示
- 对于时隙
t
t
t,时间图表示为
V
T
=
{
v
1
T
…
v
N
T
}
\mathbb{V}^T=\{v_1^T\dots v_N^T\}
VT={v1T…vNT}
-
交通预测流(Traffic Flow Forecasting)
目标是将 P \boldsymbol{P} P 个过去时隙的流量记录作为输入,并输出 Q \boldsymbol{Q} Q 个未来时隙的交通流量预测:
X ^ t + 1 : t + Q = f ( X t − P + 1 , W l e a r n a b l e ) \hat{\boldsymbol{\mathrm{X}}}_{t+1:t+Q}=f(\boldsymbol{\mathrm{X}}_{t-P+1},\boldsymbol{\mathrm{W}}_{learnable}) X^t+1:t+Q=f(Xt−P+1,Wlearnable)
-
Section 4 Methodology
宏观角度 GDGCN 的结构
- 由多个相同的层组成。每个层包含两个部分:
- 一个用于捕获共享模式的共享部分
- 一个用于分层模式的独立部分
- 每个零件中的三个块分别处理空间、时间和特征维度上的隐藏状态。
- 在块中,空间图卷积块将分段视为节点,时间图卷积块则将时隙视为节点。它们都利用所提出的动态图构造函数来建立自适应和动态的节点关系。
4.1. A generic framework for traffic forecasting
交通预测的通用框架
-
该框架解决的问题:为了解决先前的研究没有很好地探索时间维度和特征维度上的分层空间关系以及稳定模式的问题
-
框架特点:简短、可扩展和通用的框架,可以系统地处理跨层共享和独立的交通流预测模式。
-
框架结构:
- 框架由 L L L 个相同的层组成
- 每个 GDGCN 层包含一个共享部分和一个独立部分
- 不同层的共享部分中的块共享同一组参数,旨在学习跨层稳定和通用的模式
- 不同层的独立部分中的区块为跨层的不同模式保留不同的参数集。
- 每个层的两个部分都各有三个不同的块,分别在空间、时间和特征维度上处理隐藏状态。
- 在一层中的六个块之后,使用融合块来积分它们的输出,并保持隐藏状态的大小一致。
-
具体运算:
-
H 0 \boldsymbol{\mathrm{H}}^0 H0 是通过一个全连接层从输入数据转换而来的:
H 0 = W 0 ∗ X t − P + 1 : t + b 0 \boldsymbol{\mathrm{H}}^0=\boldsymbol{\mathrm{W}}^0*\boldsymbol{\mathrm{X}}_{t-P+1:t}+\boldsymbol{\mathrm{b}}^0 H0=W0∗Xt−P+1:t+b0- 参数字典:
- H l ∈ R P × N × d \boldsymbol{\mathrm{H}}^l\in\R^{P\times N\times d} Hl∈RP×N×d 是第 l l l 个GDGCN层的输入隐藏向量
- W \boldsymbol{\mathrm{W}} W 和 b \boldsymbol{\mathrm{b}} b 是可学习的
- 参数字典:
-
一方面,输入的隐藏状态由独立部分的三个块处理:
H l , S = f l , S ( H l ) H l , T = f l , T ( H l ) H l , F = f l , F ( H l ) \boldsymbol{\mathrm{H}}^{l,S}=f^{l,S}(\boldsymbol{\mathrm{H}}^l)\\ \boldsymbol{\mathrm{H}}^{l,T}=f^{l,T}(\boldsymbol{\mathrm{H}}^l)\\ \boldsymbol{\mathrm{H}}^{l,F}=f^{l,F}(\boldsymbol{\mathrm{H}}^l) Hl,S=fl,S(Hl)Hl,T=fl,T(Hl)Hl,F=fl,F(Hl)- 参数字典:
- f l , S f^{l,S} fl,S、 f l , T f^{l,T} fl,T 和 f l , F f^{l,F} fl,F 分别是第 l l l 层中的空间、时间特征块
- 参数字典:
-
另一方面,隐藏状态也由共享部分处理:
H l , S ′ = f S ( H l ) H l , T ′ = f T ( H l ) H l , F ′ = f F ( H l ) \boldsymbol{\mathrm{H}}^{l,S'}=f^S(\boldsymbol{\mathrm{H}}^l)\\ \boldsymbol{\mathrm{H}}^{l,T'}=f^T(\boldsymbol{\mathrm{H}}^l)\\ \boldsymbol{\mathrm{H}}^{l,F'}=f^F(\boldsymbol{\mathrm{H}}^l) Hl,S′=fS(Hl)Hl,T′=fT(Hl)Hl,F′=fF(Hl)- 参数字典:
- f S f^S fS、 f T f^T fT 和 f F f^F fF 是在不同层中接受不同输入但跨层共享相同参数集的块
- 参数字典:
-
然后,来自这六个块的隐藏状态被融合:
H l ′ = W l , f ∗ [ H l , S ; H l , T ; H l , F ; H l , S ′ ; H l , T ′ ; H l , F ′ ] + b l , f \boldsymbol{\mathrm{H}}^{l'}=\boldsymbol{\mathrm{W}}^{l,f}*[\boldsymbol{\mathrm{H}}^{l,S};\boldsymbol{\mathrm{H}}^{l,T};\boldsymbol{\mathrm{H}}^{l,F};\boldsymbol{\mathrm{H}}^{l,S'};\boldsymbol{\mathrm{H}}^{l,T'};\boldsymbol{\mathrm{H}}^{l,F'}]+\boldsymbol{\mathrm{b}}^{l,f} Hl′=Wl,f∗[Hl,S;Hl,T;Hl,F;Hl,S′;Hl,T′;Hl,F′]+bl,f- 参数字典:
- 其中, [ ⋅ ; ⋅ ] [·;·] [⋅;⋅] 是串联运算
- 参数字典:
-
在每一层之后,采用残差连接来获得下一层的输入:
H l + 1 = B a t c h _ N o r m ( H l + R e L U ( H l ′ ) ) \boldsymbol{\mathrm{H}}^{l+1}=Batch\_Norm(\boldsymbol{\mathrm{H}}^l+ReLU(\boldsymbol{\mathrm{H}}^{l'})) Hl+1=Batch_Norm(Hl+ReLU(Hl′)) -
此外,每个层中的隐藏状态都被跳过连接到输出层,用于最终预测:
X ^ t + 1 : t + Q = M L P ( ∑ l = 1 L H l ) \hat{\boldsymbol{\mathrm{X}}}_{t+1:t+Q}=MLP(\sum^L_{l=1}\boldsymbol{\mathrm{H}}_l) X^t+1:t+Q=MLP(l=1∑LHl)
-
-
创新点与强大之处:
- 重新考虑了交通预测模块,并将其分解为三个基本块以使其清晰明了。
- 尽管这个框架很简短,但它仍然很强大。
- 通用性更强,先前工作中的大多数模块都可以被视为它们组合的特定实例。例如,
- DCRNN 中的扩散卷积层是空间块和特征块的组合
- Graph Wavenet 中的 TCN 是时间块和特性块的组合
- 时空融合图卷积是空间块与时间块的组合。
4.2. Dynamic graph constructor
动态图构造函数
-
问题:
在交通领域,路段之间的空间关系是潜在的,并且不断变化。
-
现有解决方案及其问题:
-
在大多数先前的工作中,研究人员使用专家知识,如距离,来确定空间关系。
这些关系是明确的和可解释的,但它们可能是不完整的,可能不适合交通流量预测。
-
一些研究提出构建自适应图
但它们生成的图是静态的,忽略了时空关系在时间上的演变。
-
-
本文解决方案:
为了学习潜在关系和变化关系,设计了动态图构造函数。该构造函数可以生成动态图,并在训练过程中对其进行优化。
本文对生成动态图的过程进行了两次简化,使其易于处理。
-
首先,受周期性的启发,假设来自不同日期的同一时隙的输入可以共享一个动态图。
相应地,需要构造 N t N_t Nt 个动态图,使用张量 A ∈ R N t × N × N \boldsymbol{\mathrm{A}}\in\R^{N_t\times N\times N} A∈RNt×N×N 来表示这些动态图。给定特定的时间 t t t, Φ ( t ) \Phi(t) Φ(t) 用于计算相应的索引, A Φ ( t ) \boldsymbol{\mathrm{A}}_{\Phi(t)} AΦ(t) 是为 t t t 选择的动态图。
-
其次,动态关系图中的一些子结构可以重用。
例如,从黎明到黄昏,两个相邻路段的交通流量可以相互关联,生活在不同地区的人们在上班时从住宅到工作场所的出行模式相似。因此,受 Tucker 分解的启发,对邻接张量进行了重组。给定一个特定的张量,Tucker 分解旨在用一个核心张量和每个模式的因子矩阵的乘积来近似它。
-
-
具体运算:
邻接张量 A ∈ R N t × N × N \boldsymbol{\mathrm{A}}\in\R^{N_t\times N\times N} A∈RNt×N×N 是用四个矩阵 E t ∈ R N t × d ′ \boldsymbol{\mathrm{E}}^t\in\R^{N_t\times d'} Et∈RNt×d′、 E s ∈ R N × d ′ \boldsymbol{\mathrm{E}}^s\in\R^{N\times d'} Es∈RN×d′、 E e ∈ R N × d ′ \boldsymbol{\mathrm{E}}^e\in\R^{N\times d'} Ee∈RN×d′、 E k ∈ R d ′ × d ′ × d ′ \boldsymbol{\mathrm{E}}^k\in\R^{d'\times d'\times d'} Ek∈Rd′×d′×d′ 计算的,这四个矩阵可以自动更新:
A = S o f t m a x ( R e L U ( E k × 1 E t × 2 E s × 3 E e ) ) \boldsymbol{\mathrm{A}}=Softmax(ReLU(\boldsymbol{\mathrm{E}}^k\times_1\boldsymbol{\mathrm{E}}^t\times_2\boldsymbol{\mathrm{E}}^s\times_3\boldsymbol{\mathrm{E}}^e)) A=Softmax(ReLU(Ek×1Et×2Es×3Ee))- 参数字典:
- × i \times_i ×i 是第 i i i 维度上的张量矩阵乘积
- E t ∈ R N t × d ′ \boldsymbol{\mathrm{E}}^t\in\R^{N_t\times d'} Et∈RNt×d′ 表示 N t N_t Nt 时隙
- E s ∈ R N × d ′ \boldsymbol{\mathrm{E}}^s\in\R^{N\times d'} Es∈RN×d′ 表示开始节点的信息
- E e ∈ R N × d ′ \boldsymbol{\mathrm{E}}^e\in\R^{N\times d'} Ee∈RN×d′ 是结束节点的参数
除了建立空间关系 A S \boldsymbol{\mathrm{A}}^S AS 之外,还可以将输入时隙之间的时间关系建立为动态图 A T ∈ R N t × P × P \boldsymbol{\mathrm{A}}^T\in\R^{N_t\times P\times P} AT∈RNt×P×P
- 参数字典:
4.3. Spatial graph convolutional block
空间图卷积块
-
现状与问题:
空间交通节点之间的空间关系有利于预测。例如,考虑上游路段的交通流量有助于下游路段的流量预测。尽管图上的卷积运算提取局部信息来处理空间中片段之间的关系,但大多数都在不考虑随时间变化的特征的情况下使用它。
-
本文解决方案:
- 对空间中的时变关系进行建模。
- 该框架中的这个模块不同于传统的图卷积
- 首先,空间图卷积只在动态图上应用一步。其原理是图形是可学习的。在传统的图卷积中,可学习图可以自适应地考虑多跳关系
- 同时,特征变换是不存在的,并且特征维度上的变换被放置在另一个模块中。然而,这并没有降低它的表现力,因为传统的 GCN 可以被视为这两个模块的组合,并通过堆叠多层来实现。
-
具体运算:
给定输入 X t − P + 1 : t \boldsymbol{\mathrm{X}}_{t-P+1:t} Xt−P+1:t, A Φ ( t ) ∈ R N × N \boldsymbol{\mathrm{A}}_{\Phi(t)}\in\R^{N\times N} AΦ(t)∈RN×N 是空间中的关系矩阵。空间图卷积块的目的是根据 A Φ ( t ) A_{\Phi(t)} AΦ(t) 将信息聚合到焦点节点; A Φ ( t ) \boldsymbol{\mathrm{A}}_{\Phi(t)} AΦ(t) 的 ( i , j ) (i,j) (i,j) 项反映了节点 j j j 对节点 i i i 的影响强度。
- 在层 l l l 的独立部分中,动态图上的空间卷积可以定义为:
f l , S ( H l ) : , i = ∑ j = 1 N A Φ ( t ) , i , j l , S H : , j l f^{l,S}(\boldsymbol{\mathrm{H}}^l)_{:,i}=\sum^N_{j=1}\boldsymbol{\mathrm{A}}^{l,S}_{\Phi(t),i,j}\boldsymbol{\mathrm{H}}^l_{:,j} fl,S(Hl):,i=j=1∑NAΦ(t),i,jl,SH:,jl
-
其中 A l , S \boldsymbol{\mathrm{A}}^{l,S} Al,S 在不同的层中是不同的。卷积过程可以用张量矩阵乘法表示:
f l , S ( H l ) = H l × 2 A Φ ( t ) l , S f^{l,S}(\boldsymbol{\mathrm{H}}^l)=\boldsymbol{\mathrm{H}}^l\times_2\boldsymbol{\mathrm{A}}^{l,S}_{\Phi(t)} fl,S(Hl)=Hl×2AΦ(t)l,S -
在 l l l 层的共享部分,空间块定义为:
f S ( H l ) = H l × 2 A Φ ( t ) S f^S(\boldsymbol{\mathrm{H}}^l)=\boldsymbol{\mathrm{H}}^l\times_2\boldsymbol{\mathrm{A}}^S_{\Phi(t)} fS(Hl)=Hl×2AΦ(t)S
其中 A S \boldsymbol{\mathrm{A}}^S AS 被不同的层共享
4.4. Temporal graph convolutional block
时间图卷积块
-
现状与问题:
了解输入的历史数据对于交通流量预测至关重要。关键是处理历史交通流的时间动态,即利用历史时隙之间的时间关系。最普遍的方法是 CNN 和 RNN。然而,它们有以下缺点:
-
首先,这些方法倾向于对不同时隙之间的局部时间关系进行建模,
-
其次,这些方法建模的时间关系基本上是静态的,因为它在不同的时间保持相同的参数集。
-
-
本文解决方案:
这项工作采用了一种完全不同的程序,其中空间关系学习模块被推广到时域,并提出了一个时域图卷积块。
-
具体运算:
如总结构图所示,输入的 P P P 个时隙可以看作图中的 P P P 个节点,时间关系动态图 A T ∈ R N t × P × P \boldsymbol{\mathrm{A}}^T\in\R^{N_t\times P\times P} AT∈RNt×P×P 由动态图构造函数构建。
-
与空间图卷积模块类似, l l l 层独立部分的时间图卷积可以定义为:
f l , T ( H l ) i = ∑ j = 1 P A Φ ( t ) , i , j l , T H j l f^{l,T}(\boldsymbol{\mathrm{H}}^l)_i=\sum^P_{j=1}\boldsymbol{\mathrm{A}}^{l,T}_{\Phi(t),i,j}\boldsymbol{\mathrm{H}}^l_j fl,T(Hl)i=j=1∑PAΦ(t),i,jl,THjl -
其中 A l , T \boldsymbol{\mathrm{A}}^{l,T} Al,T 在不同的层中是不同的。卷积过程可以用张量矩阵乘法表示:
f l , T ( H l ) = H l × 2 A Φ ( t ) l , T f^{l,T}(\boldsymbol{\mathrm{H}}^l)=\boldsymbol{\mathrm{H}}^l\times_2\boldsymbol{\mathrm{A}}^{l,T}_{\Phi(t)} fl,T(Hl)=Hl×2AΦ(t)l,T -
在 l l l 层的共享部分,空间块定义为:
f T ( H l ) = H l × 2 A Φ ( t ) T f^T(\boldsymbol{\mathrm{H}}^l)=\boldsymbol{\mathrm{H}}^l\times_2\boldsymbol{\mathrm{A}}^T_{\Phi(t)} fT(Hl)=Hl×2AΦ(t)T
其中 A T \boldsymbol{\mathrm{A}}^T AT 被不同的层共享
-
4.5. Other components and training process
其他组成部分和培训流程
-
每个层中的特征块被实现为特征维度上的全连接层。
-
损失函数:
Huber 损失是一种常用的损失函数,它平衡 MSE 和绝对误差之间的权衡,提供鲁棒性和可微性。因此,它在数据挖掘中得到了广泛的应用,在交通预测领域也有一些优秀的工作使用了huber损失。根据它们,huber损失被选择为此处优化期间的损失:
L = 1 N × Q ∑ i = 1 Q ∑ j = 1 N h ( x ^ i j , x i , j ) h ( x ^ , x ) = { 1 2 ( x ^ − x ) 2 ∣ x ^ − x ∣ ≤ δ δ ∣ x ^ − x ∣ − 1 2 δ 2 ∣ x ^ − x ∣ ≤ δ L=\frac{1}{N\times Q}\sum^Q_{i=1}\sum^N_{j=1}h(\hat{x}_{ij},x_{i,j})\\ \begin{equation} h(\hat{x},x)=\left\{ \begin{aligned} & \frac{1}{2}(\hat{x}-x)^2 && |\hat{x}-x|\le\delta\\ & \delta|\hat{x}-x|-\frac{1}{2}\delta^2 && |\hat{x}-x|\le\delta \end{aligned} \right. \end{equation} L=N×Q1i=1∑Qj=1∑Nh(x^ij,xi,j)h(x^,x)=⎩ ⎨ ⎧21(x^−x)2δ∣x^−x∣−21δ2∣x^−x∣≤δ∣x^−x∣≤δ
其中 δ \delta δ 是用于平衡平方误差的超参数。 -
训练过程:
-
先前的代表性研究,如 DCRNN、STGCN 和 GraphWaveNet,使用具有不同结构的块来分别探索空间和时间关系。
-
不同的是,GDGCN 提出以通用和统一的方式对空间依赖性和时间关系进行建模。
-
在 GDGCN 中,所有的空间相邻矩阵和时间关系矩阵都是通过同一个动态图生成器生成的。
-
所使用的空间图和时间图都是动态的
因为所提出的模式将通过映射 x t − P + 1 : t \boldsymbol{\mathrm{x}}_{t-P+1:t} xt−P+1:t 根据具有不同时间 t t t 的输入 Φ ( t ) \Phi(t) Φ(t) 来选择不同的空间图 A Φ ( t ) S \boldsymbol{\mathrm{A}}^S_{\Phi(t)} AΦ(t)S 和时间图 A Φ ( t ) T \boldsymbol{\mathrm{A}}^T_{\Phi(t)} AΦ(t)T 。
-
-
Section 5 Experiments
5.1. Datasets
数据集
此处使用的是 PeMSD3、PeMSD4、PeMSD7 和 PeMSD8,数据集细节:
- 来自加州交通管理局绩效测量系统(PeMS)
- 数据粒度为 5 分钟
- 数据已进行 z 分数归一化
- PeMSD 数据集具体包含以下类型的数据:交通流量、速度、占有率等。
- 同时,该数据集还提供了道路元数据信息,如路段长度、车道数等。
- PeMSD3、PeMSD4、PeMSD7 和 PeMSD8 都是PeMSD数据集的不同子集。这些子集包含了不同路段和不同时间段的交通数据,用于不同的交通预测任务。具体来说,
- PeMSD4是旧金山湾区的交通数据,包含29条道路上的3848个检测器;
- PeMSD7是加州高速公路系统的交通数据,包含了不同时间段的交通流量数据;
- PeMSD8是圣贝纳迪诺的交通数据,包含8条道路的1979个检测器。
5.2. Baselines
基准线
GDGCN 和其他 23 个基线模型进行了比较。模型可以分为几个组:
- 第一组是经典的时间序列预测方法,包括 HA(历史平均法)、ARIMA(自回归综合移动平均)、VAR(向量自回归),FC-LSTM、TCN、GRU-ED。
- 第二组是时空方法,包括DSANet、STGCN、DCRNN、GraphWaveNet、ASTGCN(r)、MSTGCN、STG2Seq、LSGCN、STSGCN 和AGCRN。
- 第三组是最新的时空模型,包括STFGNN、STGODE、Z-GCNETs、DSTAGNN、ST-WA、D2STGNN、STG-NCDE。
5.3. Experimental settings and hyperparameters
实验设置和超参数
- 历史步骤 P = 12 P=12 P=12
- 预测步骤 Q = 12 Q=12 Q=12
- 4 个数据集上的比例: 训练集 : 验证集 : 测试集 = 6 : 2 : 2 训练集:验证集:测试集=6:2:2 训练集:验证集:测试集=6:2:2。
- N t = 288 N_t = 288 Nt=288
- 批次大小 b a t c h _ s i z e = 32 batch\_size= 32 batch_size=32
- 所有模型都使用 Adam 优化器
- 耐心 p a t i e n c e = 15 patience=15 patience=15
- 训练轮数 e p o c h s = 200 epochs = 200 epochs=200
- 隐藏状态 d d d 的维度选自 { 16 , 32 , 64 , 128 , 256 } \{16,32,64,128,256\} {16,32,64,128,256}
- L L L 选自 { 4 , 5 , 6 , 7 , 8 } \{4,5,6,7,8\} {4,5,6,7,8}
- 学习率选自 { 1 × 1 0 − 4 , 5 × 1 0 − 4 , 1 × 1 0 − 3 } \{1\times10^{-4},5\times10^{-4},1\times10^{-3}\} {1×10−4,5×10−4,1×10−3}
- 权重衰减系数选自 { 1 × 1 0 − 4 , 1 × 1 0 − 3 , 1 × 1 0 − 2 } \{1\times10^{-4},1\times10^{-3},1\times10^{-2}\} {1×10−4,1×10−3,1×10−2}
- 硬件使用 4 个 Tesla T4 GPU
5.4. Evaluation metrics
评估指标
平均绝对误差(MAE)、平均绝对百分比误差(MAPE)和均方根误差(RMSE)用于测量不同模型的性能:
KaTeX parse error: Expected 'EOF', got '&' at position 6: MAE &̲=&\frac{1}{N\ti…
其中
x
i
,
j
∈
R
x_{i,j}\in\R
xi,j∈R 表示在时隙
t
t
t 的第
i
i
i 段的交通流量,
x
^
i
,
j
\hat{x}_{i,j}
x^i,j 表示对
x
i
,
j
x_{i,j}
xi,j 的预测结果。
5.5. Comparison results
比较结果
GDGCN的优异表现可能归因于以下方面:
- 提供了一个全新的基于图的视图来处理时间关系。
- 构造了动态图,并设计了一种动态图卷积方法来捕捉动态时空相关性。
- 通用框架旨在系统地跨层学习独立模式和共享模式。
5.6. Ablation study of key designs in proposed model
拟议模型中关键设计的消融研究
GDGCN 的三个关键模块是动态图构造函数、具有两种跨层共享机制(包括共享块和独立块)的通用框架和时间动态图卷积块。为了验证所提出的组件的有效性,提出了四种变体:
- GDGCN w/o共享块:删除了框架中所有层的共享块。
- GDGCN w/o独立块:删除了框架中所有层的独立块。
- GDGC N w/o dygraph:我们使用一个自适应图,没有随时间演变的机制。
- GDGCN w/o 时态图 conv:直接移除了时间动态图卷积模块。
结果:全部很强
- 与没有共享块的 GDGCN 相比,GDGCN 获得了更好的性能,这表明跨堆叠层的共享参数可以提取稳定的模式
- 与没有独立块的 GDGCN 相比,GDGCN 表现得更好,证明了分层参数学习机制在不同层上的重要性。
- 此外,在四个数据集上的结果也表明,该方法中的逐层参数机制超过了共享机制。
- GDGCN 优于没有动态图的 GDGCN,这表明了建模分段和时隙之间的动态关系的重要性。
- GDGCN 的性能优于不带时态图卷积的 GDGCN,这证实了所提出的时态动态图卷积块的有效性。
5.7. Study of dynamic graph
动态图的研究
-
实验目的:
为了展示动态图构造器如何发现节点之间的关系并有利于预测,在PeMSD3上进行了案例研究。
-
实验结果:
-
结果分析:
-
a 段,日均流量。
- 在时段1中,道路1和2的交通流量都在上升,并且相应的权重较高。
- 在时段2中,道路1的交通流量保持上升,而路段2的交通流量稳定。
- 在第 3 阶段,两条道路的交通流量都开始急剧下降,表现出很大的相关性和同步性。
-
b 段,GDGCN 学习的跨时间链路权重(已经过平滑和归一化)
- 两条道路的趋势在周期 2 中不再相似,并且在学习的动态图中它们的相应边缘权重较低。
- 在第 3 阶段,相应地,两个路段的边缘权重较高。
从这个案例研究中可以看出,动态图构造器可以从数据中挖掘出合理动态的交通模式,这对于理解当前交通状况和预测未来交通趋势非常有益。
-
5.8. Study of temporal graph convolutional block
时态图卷积块的研究
-
实验目的:
为了验证时间动态图卷积块的有效性,进行了详细的比较实验。
-
实验具体操作:
时间动态图卷积块被几个流行的时间关系学习模块取代:
- 使用 LSTM:用LSTM取代时间图卷积块
- 使用 TCN:用门控TCN取代时间图卷积层块
- 使用注意力:用时间注意力模块取代时间图卷积块
-
实验结果:
-
结果分析:
- GDGCN 实现了最佳性能,这表明时间图卷积块可以从数据中提取最多的信息。
- 尽管使用 LSTM 作为时间关系学习模块的变体获得的精度低于 GDGCN,但它优于表6中的其他变体。
- 使用注意力作为时间模块会导致最差的表现,这可能是由于注意力的学习过程不稳定造成的。
5.9. Study of computational efficiency
计算效率研究
-
实验具体操作:
- 在 PeMSD4 上进行比较实验。
- 比较了 GDGCN 的最佳两个基线和两个变体的计算效率。
- 最佳的两个基线是 D2STGNN 和 ST-WA。
- GDGCN 的两个变体是 GDGCN w-Attention 和 GDGCN-w-LSTM
- GDGCN w-Attention 表示用注意力机制替换 GDGCN 中的时间图卷积模块
- GDGCN-w-LSTM 表示用 LSTM 替换 GDGCN 中的时间图形卷积模块
-
实验结果
-
(a)是每个轮次(epoch)的训练时间
-
(b)是每个轮次(epoch)的推理时间。
-
具体时间如下表所示。所有型号的批量大小保持为16。
-
-
结果分析:
- D2STGNN 慢于 GDGCN 的训练速度表明 GDGCN 通用系统的预测框架具有时效性。
- ST-WA 提出的具有线性复杂性的窗口注意力确保了其与 D2STGNN 相比在时间上的竞争力。然而,与 GDGCN 相比,ST-WA 中的注意力设计也导致其训练时间成本更高。
- GDGCN 使用一种具有时间效率的相对有效的结构,即时间动态图卷积块来学习时间关系。表6中证实了所提出的时间动态图卷积层块的有效性。
- 以注意力为时间块的 GDGCN 的训练时间几乎是 GDGCN 训练时间的两倍。它解释了为什么 ST-WA 比 GDGCN 花费更多的时间。此外,它还进一步展示了时间动态图卷积块的时间效率。
5.10. Study of spatial complexity
空间复杂性研究
-
实验目的:
为了探索所提出的模型的空间效率
-
实验具体操作
将GDGCN与一些具有代表性的基线在模型大小方面进行了比较。
-
实验结果:
-
表8显示了每个模型的总参数。
-
图8显示了模型大小与精度之间的散点图。
-
-
结果分析
- ST-WA asos 以相对较小的尺寸模型实现了令人满意的性能。
- D2STGNN 在所示的具有高空间复杂度的方法中执行得第二好。
- GDGCN 实现了空间复杂性和性能之间的平衡。
5.11. Study of aggregation methods
聚合方法研究
-
实验目的
以表明使用级联操作组合六个块的输出的原因。
-
实验具体操作:
GDGCN中的级联分别替换为求和运算和均值运算。
-
实验结果:
实验结果如表9和表10所示。
-
结果分析:
具有级联的 GDGCN 实现了最佳性能。这可能是由于级联运算可以比平均和运算保留更多的信息。
个人感想
就论文而言,格式很规整,但是感觉写的有些繁琐,几句话颠来倒去地说。实验设计非常详尽,控制变量做得很好,360度全方位验证了模型的优越性。
就模型而言,有效的发现了当前问题并相应的引入方法去解决,相当于有效的缝合了各方法。