Coupled Layer-wise Graph Convolution for Transportation Demand Prediction
1.文章概述
现有大部分研究的图卷积是在启发式生成的邻接矩阵上实现的,既不能准确反映站点的真实空间关系,也不能自适应地捕捉需求的多层次空间相关性。为解决这些问题。首先,提出了一种新颖的图卷积结构,该结构在不同层具有不同的邻接矩阵,并且所有邻接矩阵在训练过程中都是自学习的。其次,提出了一种分层耦合机制,将上层邻接矩阵和下层邻接矩阵联系起来。最后,通过将隐藏的空间状态与门控递归单元相结合,该网络可以同时捕捉多层次的空间相关性和时间动态性。
当前研究的一些局限性:
- 图卷积网络中决定聚合方式的邻接矩阵大多是固定的,根据空间距离或网络连通性用启发式方法生成,不能捕捉真正的空间相关性。
- 现有方法忽略了运输需求预测的层次依赖性。
- 只有一个邻接矩阵的堆叠图卷积很难有效捕捉所需的依赖关系
- 不同层的表示对最终交通预测的贡献不应该是静态的,而是随着时间是动态的。
本文主要贡献点:
- 提出了一种新的图形卷积结构,用于自适应地提取多级空间相关性
- 提出了一种分层耦合机制,以桥接上层邻接矩阵和下层邻接矩阵
- 提出了一个统一的预测框架来进行最终的预测,将图卷积与GRU结合在一个seq2seq的体系结构中进行最终预测
几种不同GCN的比较:
(a) che_GCN:引入了一阶切比雪夫多项式滤波器逼近的图卷积
(b) GIN(Graph Isomorphism Network) :是通过在邻接矩阵上增加一个加权单位矩阵来构造的
© SGC(Simple Graph Convolution) :通过将初始邻接矩阵乘以它自己的倍来简化多层图卷积网络
(d) gfNN(graph filter Neural Network) :在SGC的基础上增加了激活函数和映射函数,以便对非线性相关性进行建模
(e) MixHop:通过邻接矩阵的混合幂探索近邻和远邻的潜在表示
2.Methodology
2.1 Adjacency Matrix Generation
本文作者提出了一种新的构图方法,首先对于给定的图信号
X
t
a
:
t
a
+
τ
−
1
∈
R
τ
×
N
×
d
\mathbf{X}_{t_{a}: t_{a}+\tau-1} \in \mathbf{R}^{\tau \times N \times d}
Xta:ta+τ−1∈Rτ×N×d ,将其reshape成2-D矩阵
(
τ
⋅
d
)
×
N
(\tau \cdot d)\times N
(τ⋅d)×N 。为了捕捉不同站点之间的内部相似性并过滤站点之间的冗余信息,本文将二维矩阵分解为两个:
X
a
=
X
t
X
s
T
X_a=X^tX^{sT}
Xa=XtXsT,分别表示表示时间维度和站点维度的矩阵。接下来通过计算
X
s
X^s
Xs 不同行的相识度作为邻接矩阵。
A
x
y
=
exp
(
−
∥
X
x
s
−
X
y
s
∥
2
ε
2
)
\boldsymbol{A}_{x y}=\exp \left(-\frac{\left\|\boldsymbol{X}_{x}^{s}-\boldsymbol{X}_{y}^{s}\right\|^{2}}{\varepsilon^{2}}\right)
Axy=exp(−ε2∥∥Xxs−Xys∥∥2)
2.2 Coupled Layer-wise Graph Convolution
为了高效、准确地捕捉多级相关性,我们提出了一种新的图卷积网络——耦合分层图卷积(CGC),其在不同的层中具有不同的邻接矩阵。其递归表示如下所示
Z
(
m
+
1
)
=
Z
(
m
)
⋆
G
g
θ
(
m
)
=
∑
i
=
0
K
(
A
(
m
)
)
i
Z
(
m
)
θ
i
(
m
)
\boldsymbol{Z}^{(m+1)}=\boldsymbol{Z}^{(m)} \star_{G} \boldsymbol{g}_{\boldsymbol{\theta}}^{(m)}=\sum_{i=0}^{K}\left(\boldsymbol{A}^{(m)}\right)^{i} \boldsymbol{Z}^{(m)} \boldsymbol{\theta}_{i}^{(m)}
Z(m+1)=Z(m)⋆Ggθ(m)=i=0∑K(A(m))iZ(m)θi(m)
其中
Z
m
Z^{m}
Zm 表示
m
+
1
m+1
m+1 层的输入,且是第
m
m
m 层的输出,
A
m
A^{m}
Am 在不同层中是不一样的,递推公式可以表示为:
A
(
m
+
1
)
=
ψ
(
m
)
(
A
(
m
)
)
\boldsymbol{A}^{(m+1)}=\psi^{(m)}\left(\boldsymbol{A}^{(m)}\right)
A(m+1)=ψ(m)(A(m))
其中
ψ
(
m
)
\psi^{(m)}
ψ(m)表示耦合映射函数。在计算过程中为了减少参数数量,我们将前面生成的邻接矩阵通过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
且对
E
1
,
E
2
E_1,E_2
E1,E2的映射函数采用权值共享
ψ
(
m
)
\psi^{(m)}
ψ(m),其中
ψ
(
m
)
\psi^{(m)}
ψ(m)在实验中使用的是全连接映射,可以表示为:
E
1
(
m
)
=
E
1
(
m
−
1
)
W
(
m
−
1
)
+
b
(
m
−
1
)
E
2
(
m
)
=
E
2
(
m
−
1
)
W
(
m
−
1
)
+
b
(
m
−
1
)
\begin{aligned} &\boldsymbol{E}_{1}^{(m)}=\boldsymbol{E}_{1}^{(m-1)} \boldsymbol{W}^{(m-1)}+\boldsymbol{b}^{(m-1)} \\ &\boldsymbol{E}_{2}^{(m)}=\boldsymbol{E}_{2}^{(m-1)} \boldsymbol{W}^{(m-1)}+\boldsymbol{b}^{(m-1)} \end{aligned}
E1(m)=E1(m−1)W(m−1)+b(m−1)E2(m)=E2(m−1)W(m−1)+b(m−1)
最终的图卷积公式可以表示为:
Z
(
m
+
1
)
=
∑
i
=
0
R
(
E
1
(
m
)
E
2
(
m
)
T
)
i
Z
(
m
)
θ
i
(
m
)
\boldsymbol{Z}^{(m+1)}=\sum_{i=0}^{R}\left(\boldsymbol{E}_{1}^{(m)} \boldsymbol{E}_{2}^{(m)^{T}}\right)^{i} \boldsymbol{Z}^{(m)} \boldsymbol{\theta}_{i}^{(m)}
Z(m+1)=i=0∑R(E1(m)E2(m)T)iZ(m)θi(m)
2.3 Multi-level Aggregation
为了从所有图卷积层中收集信息,而不是仅从一个固定层中提取信息,本文通过注意力机制来实现多级聚集,以选择对当前预测任务相对重要的信息。由CGC获得的图形信号的多级表示可以表示为
Z
=
{
Z
(
1
)
,
Z
(
2
)
,
…
,
Z
(
m
)
,
…
,
Z
(
M
)
}
,
Z
∈
R
M
×
N
×
β
\mathbb{Z}=\left\{\boldsymbol{Z}^{(1)}, \boldsymbol{Z}^{(2)}, \ldots, \boldsymbol{Z}^{(m)}, \ldots, \boldsymbol{Z}^{(M)}\right\},\mathbb{Z}\in R^{M\times N\times \beta}
Z={Z(1),Z(2),…,Z(m),…,Z(M)},Z∈RM×N×β ,其中
M
M
M 表示图卷积层数,
β
\beta
β 表示特征维度,attention scores计算公式如下:
α
(
m
)
=
exp
(
Z
^
(
m
)
W
α
+
b
α
)
∑
m
=
1
M
exp
(
Z
^
(
m
)
W
α
+
b
α
)
\alpha^{(m)}=\frac{\exp \left(\hat{\boldsymbol{Z}}^{(m)} \boldsymbol{W}_{\alpha}+b_{\alpha}\right)}{\sum_{m=1}^{M} \exp \left(\hat{\boldsymbol{Z}}^{(m)} \boldsymbol{W}_{\alpha}+b_{\alpha}\right)}
α(m)=∑m=1Mexp(Z^(m)Wα+bα)exp(Z^(m)Wα+bα)
最终通过attention scores计算最终的聚合结果:
h
=
∑
m
=
1
M
α
(
m
)
Z
(
m
)
\boldsymbol{h}=\sum_{m=1}^{M} \alpha^{(m)} \boldsymbol{Z}^{(m)}
h=m=1∑Mα(m)Z(m)
2.4 Temporal Dependence Modeling
本文将GRU的线性变换替换为CGC和多级聚合的组合。耦合分层卷积递归门控递归单元定义为:
r
(
t
)
=
σ
(
Θ
r
⋆
G
[
h
(
t
)
,
H
(
t
−
1
)
]
+
b
r
)
,
u
(
t
)
=
σ
(
Θ
u
⋆
G
[
h
(
t
)
,
H
(
t
−
1
)
]
+
b
u
)
,
c
(
t
)
=
tanh
(
Θ
c
⋆
G
[
h
(
t
)
,
(
r
(
t
)
⊙
H
(
t
−
1
)
)
]
+
b
c
)
H
(
t
)
=
u
(
t
)
⊙
H
(
t
−
1
)
+
(
1
−
u
(
t
)
)
⊙
c
(
t
)
,
\begin{aligned} \boldsymbol{r}^{(t)} &=\sigma\left(\Theta_{r} \star_{G}\left[\boldsymbol{h}^{(t)}, \boldsymbol{H}^{(t-1)}\right]+\boldsymbol{b}_{r}\right), \\ \boldsymbol{u}^{(t)} &=\sigma\left(\Theta_{u} \star_{G}\left[\boldsymbol{h}^{(t)}, \boldsymbol{H}^{(t-1)}\right]+\boldsymbol{b}_{u}\right), \\ \boldsymbol{c}^{(t)} &=\tanh \left(\Theta_{c} \star_{G}\left[\boldsymbol{h}^{(t)},\left(\boldsymbol{r}^{(t)} \odot \boldsymbol{H}^{(t-1)}\right)\right]+\boldsymbol{b}_{c}\right) \\ \boldsymbol{H}^{(t)} &=\boldsymbol{u}^{(t)} \odot \boldsymbol{H}^{(t-1)}+\left(1-\boldsymbol{u}^{(t)}\right) \odot \boldsymbol{c}^{(t)}, \end{aligned}
r(t)u(t)c(t)H(t)=σ(Θr⋆G[h(t),H(t−1)]+br),=σ(Θu⋆G[h(t),H(t−1)]+bu),=tanh(Θc⋆G[h(t),(r(t)⊙H(t−1))]+bc)=u(t)⊙H(t−1)+(1−u(t))⊙c(t),