《Generic Dynamic Graph Convolutional Network for traffic flow forecasting》
隔壁北航的大佬们太强了。这个项目有国自然和校级资金支持。
现存方法的局限性:图卷积网络
新方法:
具有参数共享和跨堆叠层独立块的通用框架
一个新的时间图卷积块
一种动态图构造函数
效果:
在四个真实世界数据集上的实验结果表明,GDGCN 不仅优于最先进的方法,而且可以获得可解释的片段动态空间关系。
提出的通用框架 GDGCN
具有独立块和共享块。
可以系统地跨层捕获各种模式和共享模式。
提出的时间图卷积
从图的角度将多个历史时隙视为节点。
可以捕捉灵活的全局时间关系。
提出的动态图构造函数
实验证明了 GDGCN 的优越性、时间图卷积和学习的动态图的有效性。
意义:
这项工作通过探索参数共享机制和从图的角度建立时间关系,为交通预测提供了新的见解。这些思想也可以应用于更一般的多变量时间序列预测问题。
第一段:时空数据挖掘牛
第二段:现有方法的优劣
最早:经验统计方法
后续:深度学习方法
卷积神经网络(CNN)
递归神经网络(RNN)
如今:图卷积网络(GCN)
已被有效地用于交通预测。
最早 基于距离或函数相似性构建空间图
后来 从数据中构造自适应空间邻接矩阵
第三段:GCN 现存问题一
能够自动利用潜在的空间关系,但时间维度和特征维度中的分层空间关系和稳定模式尚未得到很好的探索。
对于空间维度,当前的图卷积方法通常只使用一个关系矩阵来堆叠图卷积层,
对于时间维度和特征维度,现有方法为不同的层分配独立的参数
第四段:GCN 现存问题二
第五段:GCN 现存问题三
很少讨论动态性:
两个片段的空间关系应该是动态的。
例如,不同时间路段之间的空间关系图变化很大;两条道路可能在早高峰表现不同但在晚高峰表现相似。
时隙之间的时间关系也在动态变化。
例如,在高峰时段,随着交通状况的迅速变化,近时段之间的关系可能更大;而在非高峰时段,为了避免噪声的影响,所有时隙之间的关系可能是均匀的。
第六段:GDGCN 对上述问题的解决
2.1 Traffic forecasting 交通量预测
在捕捉复杂的交通数据动态方面有希望的方法:
利用 RNN 架构(如 LSTM)来分析序列数据
同时结合 CNN 架构来考虑空间关系。
迎接道路网络中复杂的空间依赖性构成的重大挑战的新方法:
将 GCN 与时间序列学习技术相结合,以有效地解决空间和时间上的关系挖掘问题。
为了捕捉时间相关性,
问题:
这些顺序学习方法无法对不同时隙之间的全局和动态时间关系进行建模。
本文贡献
工作将空间图学习模块推广到时域,并提出了一个时域图卷积块,它可以学习历史时隙之间的全局和动态时间关系。
2.2. Spatio-temporal graph neural networks 时空图神经网络
具有代表性的基于图的模型:STGCN、DCRNN、ASTGCN
结合了基于切比雪夫多项式的网络、门控循环单元和扩散过程等技术
问题:
使用的图形是预先安排好的,显示了直观但有限的设计。
为了解决上一个问题,一些工作从数据中生成了自适应图:
Graph Wavenet 通过利用可训练矩阵引入了一个动态元素
AGCRN 专门关注自适应组件
问题:
能够灵活地利用数据中的相关性,但忽略了空间相关性的动态性质。
为了解决上一个问题,有方法构造一个空间相邻矩阵,并将其用于不同的层,从而提取出跨层的共享空间关系。
GMAN
STGODE 利用常微分方程来捕捉空间和时间关系的复杂动力学
问题:
具有一个固定空间相邻矩阵的模型难以实现不同的层在不同的数据维度中发现不同的模式。
本文贡献:
常用符号
定义:
交通流(Traffic Flow):
交通流量是指在给定的时间间隔内,量化穿过特定路段的汽车/人员数量的记录数据。它是表征当前交通状况的重要属性。
动态空间图(Dynamic Spatial Graph):
将一个区域内的车辆运动概念化为一个表现出时间可变性的图形,它们之间的相互联系的性质随着时间的推移而变化。
动态时间图(Dynamic Temporal Graph)
从图的角度来考虑不同时隙之间的时间关系。与空间关系类似,时间关系也是动态的。例如,交通状况在高峰时段的变化可能比非高峰时段更快,这表明预测时隙和最近的历史时隙之间的关系更强。
交通预测流(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)
宏观角度 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 , 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)
另一方面,隐藏状态也由共享部分处理:
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)
然后,来自这六个块的隐藏状态被融合:
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)
创新点与强大之处:
动态图构造函数
问题:
在交通领域,路段之间的空间关系是潜在的,并且不断变化。
现有解决方案及其问题:
在大多数先前的工作中,研究人员使用专家知识,如距离,来确定空间关系。
这些关系是明确的和可解释的,但它们可能是不完整的,可能不适合交通流量预测。
一些研究提出构建自适应图
但它们生成的图是静态的,忽略了时空关系在时间上的演变。
本文解决方案:
为了学习潜在关系和变化关系,设计了动态图构造函数。该构造函数可以生成动态图,并在训练过程中对其进行优化。
本文对生成动态图的过程进行了两次简化,使其易于处理。
首先,受周期性的启发,假设来自不同日期的同一时隙的输入可以共享一个动态图。
相应地,需要构造 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))
除了建立空间关系 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
空间图卷积块
现状与问题:
空间交通节点之间的空间关系有利于预测。例如,考虑上游路段的交通流量有助于下游路段的流量预测。尽管图上的卷积运算提取局部信息来处理空间中片段之间的关系,但大多数都在不考虑随时间变化的特征的情况下使用它。
本文解决方案:
具体运算:
给定输入 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 的影响强度。
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 被不同的层共享
时间图卷积块
现状与问题:
了解输入的历史数据对于交通流量预测至关重要。关键是处理历史交通流的时间动态,即利用历史时隙之间的时间关系。最普遍的方法是 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 被不同的层共享
其他组成部分和培训流程
每个层中的特征块被实现为特征维度上的全连接层。
损失函数:
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 。
数据集
此处使用的是 PeMSD3、PeMSD4、PeMSD7 和 PeMSD8,数据集细节:
基准线
GDGCN 和其他 23 个基线模型进行了比较。模型可以分为几个组:
实验设置和超参数
评估指标
平均绝对误差(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 的预测结果。
比较结果
GDGCN的优异表现可能归因于以下方面:
拟议模型中关键设计的消融研究
GDGCN 的三个关键模块是动态图构造函数、具有两种跨层共享机制(包括共享块和独立块)的通用框架和时间动态图卷积块。为了验证所提出的组件的有效性,提出了四种变体:
结果:全部很强
动态图的研究
实验目的:
为了展示动态图构造器如何发现节点之间的关系并有利于预测,在PeMSD3上进行了案例研究。
实验结果:
结果分析:
a 段,日均流量。
b 段,GDGCN 学习的跨时间链路权重(已经过平滑和归一化)
从这个案例研究中可以看出,动态图构造器可以从数据中挖掘出合理动态的交通模式,这对于理解当前交通状况和预测未来交通趋势非常有益。
时态图卷积块的研究
实验目的:
为了验证时间动态图卷积块的有效性,进行了详细的比较实验。
实验具体操作:
时间动态图卷积块被几个流行的时间关系学习模块取代:
实验结果:
结果分析:
计算效率研究
实验具体操作:
实验结果
结果分析:
空间复杂性研究
实验目的:
为了探索所提出的模型的空间效率
实验具体操作
将GDGCN与一些具有代表性的基线在模型大小方面进行了比较。
实验结果:
结果分析
聚合方法研究
实验目的
以表明使用级联操作组合六个块的输出的原因。
实验具体操作:
GDGCN中的级联分别替换为求和运算和均值运算。
实验结果:
实验结果如表9和表10所示。
结果分析:
具有级联的 GDGCN 实现了最佳性能。这可能是由于级联运算可以比平均和运算保留更多的信息。
就论文而言,格式很规整,但是感觉写的有些繁琐,几句话颠来倒去地说。实验设计非常详尽,控制变量做得很好,360度全方位验证了模型的优越性。
就模型而言,有效的发现了当前问题并相应的引入方法去解决,相当于有效的缝合了各方法。