【论文阅读笔记】Coupled Layer-wise Graph Convolution for Transportation Demand Prediction
1. 论文地址
论文:https://arxiv.org/pdf/2012.08080.pdf
代码:https://github.com/Essaim/CGCDemandPrediction
2. Abstract
GCN在站级或区域运输需求方面捕捉非欧空间依赖表现出色,但是GCN采用启发式生成的邻接矩阵实现,既不能准确反映车站的真实空间关系,也不能自适应地捕捉需求的多层次空间依赖性,针对上述问题,本文提出了一种基于GCN的交通需求预测方法:
- 提出新的GCN结构,每层都有不同的邻接矩阵,所有的邻接矩阵在训练中都是自学习的。
- 提供一种分层耦合机制,将上层邻接矩阵与下层邻接矩阵相关联,它也减少了模型中参数的规模。
- 通过含有隐藏空间单元和GRU的统一网络去做最终的预测,这个网络可以同时捕捉多层级的空间依赖性和时间的动态性。
- 实验在两个真实的数据集——NYC CitiBike and NYC Taxi,结果证明优于SOTA的模型。
3. Introduction
智能交通系统(ITS)的火热得益于:
- 城市交通的快速发展。
- 大数据技术在交通信息系统中的广泛应用。
交通需求预测的发展阶段:
- 早起研究采用实证统计分析,关注于特定区域而不是整个城市,不能同时捕捉时空依赖使得预测的准确率较低。
- 随着深度学习的发展,它给出一个新的时空建模方案:把整个城市作为一个图像,用CNN提取空间依赖性,用RNN提取时间依赖性。但聚合邻域的CNN缺少长距离的转换模式,而且只适用于欧式空间关系。
- CNN的一种泛化形式——GNN,可以很好处理非欧数据,由于路网的拓扑结构,使得它应用广泛。
虽然GCN在解决交通预测问题很有效,但是有以下四个问题没有详细讨论:
- 邻接矩阵大都是固定的,无法捕捉真实的空间依赖性。
- 现有的方法忽略了交通预测的层次依赖性。例如,突然的暴雨导致全城共享单车使用量减少,而交通事故导致的拥堵只能造成局部影响。
- 大部分从图信号处理角度出发,图卷积方法平滑了输入的节点信息,这使得很难去靠堆叠单一的邻接矩阵去获取交通需求的多级表示。
- 不同层的表示对最终交通预测的贡献不应该是静态的,而是随着时间是动态的。
下图是作者提出的CGC与其它相似模型的比较:
本文有以下贡献:
- 提出了一种新的图卷积结构来自适应地提取多层次空间依赖性。该结构在不同层次上有不同的邻接矩阵,训练过程中所有邻接矩阵都是自学习的。
- 提出了一种分层耦合机制,利用拓扑结构在不同层次之间隐藏的相关性将上层邻接矩阵与下层邻接矩阵连接起来。它还减少了训练过程中的计算成本。
- 提出了一种统一的预测框架,将空间隐态与GRU结合在一个seq2seq的体系结构中进行最终预测,其中空间隐态是通过对多级需求依赖的聚合得到的。
4. Related Work
在本节中,我们从交通需求预测和图卷积的角度回顾了与我们工作相关的文献。
Transportation Demand Prediction:早期主要注重数据挖掘方法与实证统计分析相结合,这些方法不能同时捕捉时空的依赖性。深度学习方法为处理非线性关系提供了新的视角,比如说残差网络、CNN与LSTM的结合、协同预测等。然而,基于CNN的模型只能捕捉局部的感受野,所有GCN应运而生。有在encoder-decoder体系结构中带有GRU的统一扩散卷积层的模型、用两种邻接矩阵探讨结点与边的关系的方法、有利用3D图卷积网络的方法、有采用随机初始化的自适应邻接矩阵来精确地捕捉隐藏的空间依赖性的方法。然而,将基于网格的数据与基于图卷积的方法相结合,很难得到满意的结果。
Graph Convolutional Network:从CNN发展到非欧式数据的GCN,有用切比雪夫多项式降低计算代价的方法、用第一阶切比雪夫多项式近似的方法等。GCN一般有两大类:基于空间(spatial)的和基于频谱(spectral)的,基于空间的方法通过设计不同的策略来聚合邻居节点的特征来更新信息,有用attention机制去学习两个节点之间的权重。基于频谱的方法将图卷积运算视为去除图信号中的噪声,而这一过程的关键是滤波器的结构和大小。有通过在邻接矩阵中加入单位矩阵来减弱邻居的影响的方法、学习带有广义Mahalanobis距离的自适应残差拉普拉斯矩阵的方法等。但是,它们都是利用初始邻接矩阵及其变量,不能有效、准确地捕捉多层次依赖关系。
5. Preliminaries
在本节中,我们将介绍几个定义和问题的形式。
Station-level Demand Prediction:
1. Transportation Station:
交通方式可分为两类,站式和无站式,对于基于车站的交通,如公交、地铁,将每个车站表示为一个节点,直观地形式化为图结构。对于无车站的交通,如出租车和共享单车,虽然乘客到达和离开的位置是离散的,但他们往往聚集在特定的地方。发现潜在的车站有助于捕捉交通需求特征,并作出更准确的预测。作者采用基于密度峰值聚类(DPC)的方法发现虚拟站点。
2. Adjacency Matrix:
给定图结构
G
=
(
V
,
E
)
G = (V, E)
G=(V,E),
V
V
V是以站点为节点,
E
E
E是节点之间的边。在不同的时间步
t
t
t,对应于不用的特征矩阵
X
t
∈
R
N
×
d
X_t\in\reals^{N \times d}
Xt∈RN×d,利用一定数量连续的时间步的特征矩阵在
F
1
F_1
F1函数下学习出一个邻接矩阵A。
3. Transportation Demand Prediction:
在时间步
t
t
t,给定图
G
G
G和
P
P
P步历史图像信号,我们打算获得一个映射函数
F
2
F_2
F2来预测下一个
Q
Q
Q步图信号。
4. Graph Convolutional Network:
给定图结构
G
=
(
V
,
E
)
G = (V, E)
G=(V,E),定义
A
^
\widehat{A}
A
为归一化邻接矩阵:
A
^
=
D
−
1
A
\widehat{A}=D^{-1}A
A
=D−1A,其中
D
D
D是节点的度矩阵,去掉激活函数,在无向图结构下对扩散过程进行
K
K
K步建模,得到最终的特征传播方程:
5. An Unifying View of the Existing GCNs:
基于频谱的GCN的研究主要集中在卷积滤波器
g
θ
g_θ
gθ的定义上,如Figure1中:
- GCN引入了一阶切比雪夫多项式滤波近似。
- 在邻接矩阵上加上加权单位矩阵来构造GIN,他们证明了GCN与Weisfeiler-Lehman (WL)图同构检验一样强大。
- SGC(Simple Graph Convolution)将初始邻接矩阵与自身相乘k次,简化了多层GCN。
- gfNN(graph filter Neural Network)在SGC的基础上增加了一个激活函数和一个映射函数,对非线性相关进行建模。
- MixHop通过邻接矩阵的混合幂来探索直接邻接和间接邻接的潜在表示。
这些研究采用了带有初始邻接矩阵的图卷积和它的高次幂,使得难以有效地捕获多层次的依赖关系,为了解决这一问题,CGC利用逐层变化的自学习邻接矩阵来提取分层表示。
6. Methodology
在本节中,我们将介绍CCRNN的详细信息。下图是提出的方法的架构。
6.1 Adjacency Matrix Generation
在GCN中,邻接矩阵很重要,因为它决定了节点与邻居节点的聚合。作者提出的邻接矩阵的生成方法是数据驱动的,时间相关性也可以被捕捉到。给定图信号
X
t
a
:
t
a
+
τ
−
1
∈
R
τ
×
N
×
d
X_{t_{a:t_{a}+\tau-1}}\isin\Reals^{\tau\times N \times d}
Xta:ta+τ−1∈Rτ×N×d,把3-D的张量转化成2-D矩阵
(
τ
⋅
d
)
×
N
(\tau\cdotp d)\times N
(τ⋅d)×N,为了捕获不同站点之间的内部相似性,过滤站点之间的冗余信息,对二维矩阵
X
a
X^a
Xa进行分解:
X
a
=
X
t
X
s
T
X^a=X^t {X^s}^T
Xa=XtXsT,其中
X
t
X^t
Xt和
X
s
X^s
Xs代表时间和站点的维度,实际上在实验中用SVD分解
X
a
X^a
Xa,达到降维的效果。
X
s
∈
R
N
×
ξ
X^s\isin\Reals^{N \times \xi}
Xs∈RN×ξ,
ξ
\xi
ξ是站点特征的维度,我们计算
X
s
X^s
Xs的第
x
x
x和第
y
y
y行的相似度作为邻接矩阵边的权重:
A
x
y
=
S
i
m
i
l
a
r
i
t
y
(
X
x
s
,
X
y
s
)
A_{xy}=Similarity({X_x}^s,{X_y}^s)
Axy=Similarity(Xxs,Xys)。利用高斯核的方法去计算两两相似性:
6.2 Coupled Layer-wise Graph Convolution
CNN固定和局部的感受野使得很难去捕捉长距离的变换和区域之间的相似性,谱图理论将卷积运算从规则网格结构推广到图结构。但利用基于网格的数据做图卷积提取高阶的表示是不明智的,因为在一个网格数据中有多重的交通模式,为了解决这个问题,作者提出一个基于站的和无站的交通的统一图形式。提出了一种新的图卷积网络——耦合分层图卷积(CGC),该网络在不同层次具有不同的邻接矩阵。这个结构可以递归地定义:
节点之间的多层关系以
A
(
m
)
A^{(m)}
A(m)为模型,它随层的变化而变化。用一个耦合映射函数
ψ
(
m
)
\psi^{(m)}
ψ(m)去构造高阶邻接矩阵:
A
(
m
+
1
)
=
ψ
(
m
)
(
A
(
m
)
)
A^{(m+1)}=\psi^{(m)}(A^{(m)})
A(m+1)=ψ(m)(A(m))。
第一层的CGC如下,
Z
(
0
)
=
X
Z^{(0)}=X
Z(0)=X:
为了减少参数,
A
(
0
)
∈
R
N
×
N
A^{(0)}\isin \Reals^{N \times N}
A(0)∈RN×N经过SVD分解,
A
(
0
)
=
E
1
(
0
)
E
2
(
0
)
T
A^{(0)}={E_1}^{(0)}{E_2}^{(0)^T}
A(0)=E1(0)E2(0)T,最终得到下面的公式:
6.3 Multi-level Aggregation
引入attention机制来从多个图卷积层去聚集相对重要的信息,而不是固定一个layer。CGC得到的图信号的多层次表示记为
Z
=
{
Z
(
1
)
,
Z
(
2
)
.
.
.
,
Z
(
m
)
,
.
.
.
,
Z
(
M
)
}
\Z=\{Z^{(1)},Z^{(2)}...,Z^{(m)},...,Z^{(M)} \}
Z={Z(1),Z(2)...,Z(m),...,Z(M)},经过以下的操作:
h
h
h就是CGC最终的结果,并传入到GRU。
6.4 Temporal Dependence Modeling
GRU是RNN的一个简单但强大的变种,它解决了梯度爆炸和消失的问题。作者用CGC与多级聚合的结合来代替GRU中的线性变换,Coupled Layer-wise Convolutional Recurrent Gated
Recurrent Unit (CCGRU) 定义如下:
重置门
r
(
t
)
r^{(t)}
r(t)忘记不重要的信息,更新门
u
(
t
)
u^{(t)}
u(t)控制在
t
t
t时间步GRU的输出。
7. Experiments
7.1 Datasets:
NYC Citi Bike:数据集包含了91天的纽约市的自行车的订单记录,包含了自行车的取车点,落车点,自行车取车时间和落车时间,行程持续时间。
NYC Taxi:数据集包含3500万的纽约市出租车记录,包含了上车和下车的时间,上车和下车的经纬度,路程距离。
7.2 Baselines:
作者比较了以下方法,并调优了关键的超参数,以确保它们具有最佳性能:
HA:将前面时间步骤中的历史值的平均值作为历史平均值计算。
XGBoost:XGBoost是一种广泛应用的基于梯度增强树的方法。
FC-LSTM:LSTM与全连接层的结合。
DCRNN:扩散卷积循环神经网络以编解码器的方式将扩散图卷积与GRU相结合。
STGCN:时空图卷积网络将图卷积与因果卷积相结合。
STG2Seq:时空图序列模型可以捕捉长期和短期信息。
Graph WaveNet:Graph WaveNet利用自适应邻接矩阵进行图卷积。
7.3 Experimental Setup
被研究的区域是一个 8.42 k m × 14.45 k m 8.42km\times 14.45km 8.42km×14.45km的一个矩形区域,对系行车的研究是基于停车场的,每个停车场视为一个车站。时间步长设置为半个小时,在最后四周中,前两周用于验证,后两周用于测试。需求在所有站点都是标准的,特征维度 D D D是2,分别代表上车需求和下车需求。历史需求长度 P P P设置为12,预测长度 Q Q Q也是12。第一个时间步的生成的邻接矩阵 t a t_a ta是0,长度 τ \tau τ是3011(训练集的长度),站点特征的维度 ξ \xi ξ是20,在CGC中的卷积层 M M M是3, K K K是3。两个自适应矩阵 L L L的维度是50,隐藏状态单元的维度 β \beta β设置为25,对自行车和出租车的学习率分别为 0.0005 0.0005 0.0005和 0.0015 0.0015 0.0015。为了训练时数值稳定,作者初始化权重矩阵 W W W为单位矩阵,偏置 b b b为 0 0 0。所有方法均采用 A d a m Adam Adam算法进行优化,该模型是用PyTorch框架实现的。选择以下三个评价指标:均方根误差 ( R M S E ) (RMSE) (RMSE)、平均绝对误差 ( M A E ) (MAE) (MAE)和皮尔逊相关系数 ( P C C ) (PCC) (PCC),RMSE为损失函数。
7.4 Main Results
7.4.1 Comparison with Baselines
7.4.2 Performances on Multi-step Demand Prediction
7.4.3 Ablation Study
8. Conclusion
本文提出了一种新的交通需求预测模型CCRNN。特别是,为了捕获多层次空间依赖性,作者提出了一种新的图卷积结构CGC。CGC中的邻接矩阵是自学习的,并随层变化。在此基础上,采用分层耦合机制将上层图结构与下层图结构连接起来。它还减少了我们模型中参数的比例。然后,通过多层聚合模块对提取的表征给予不同的重视度。一个单一的网络将上述组件融合在一起,做出最终的预测。在真实世界的出租车和共享自行车数据集上进行了实验,利用CCRNN获得了SOTA的结果。本研究为基于分层邻接矩阵的图卷积网络提供了一个新的视角。在未来,作者将研究CGC在其他图卷积任务上的性能。