2022 [KDD] 多视图解释轨迹:用于预计到达时间的层次自注意网络
论文标题: Interpreting Trajectories from Multiple Views: A Hierarchical Self-Attention Network for Estimating the Time of Arrival
作者: Zebin Chen、Xiaolin Xiao、Yue-jiao Gong、Jun Fang、Nan Ma、Hua Chai、Zhiguang Cao
机构: 华南理工大学、滴滴出行、新加坡制造技术研究院
发表: 28th ACM SIGKDD Conference on Knowledge Discovery and Data Mining. (KDD 2022 ADS Track)
论文链接:https://dl.acm.org/doi/abs/10.1145/3534678.3539051
代码:https://github.com/YuejiaoGong/HierETA
0. 论文概述
在预计到达时间估计(Estimating the Time of Arrival,ETA)应用程序中,轨迹通常由一系列路段(segment)组成,如图1所示,本文从segment、link和intersection3个视图联合解释轨迹。其中,link表示长路段,segment是短路段,一个link通常由多个segment组成,而intersection则表示路口。以往的ETA问题往往只建模路段(segment),而忽略了路口(intersection)以及长路段(link)的信息。这篇论文提出了一种用于估计到达时间的分层自注意力网络(HierETA)。该网络通过多视图轨迹表示来解释轨迹的内在结构。它包括一个Segment编码器,用于描述细粒度的本地交通状况,以及一个联合link-intersection编码器,用于从粗粒度的角度描述轨迹属性。最后,设计了一个层次感知的注意力解码器来实现多视图时空特征之间的权衡。在两个大规模真实数据集上的实验表明,HierETA优于现有技术。
1. 问题动机
本文从segment,link和intersection这3个视图出发,探讨了现有ETA研究存在的两个问题。
- 现有研究大都直接使用segment视图的交通特征来近似表示link视图的交通特征,没有显式的去建模link视图的特征。从而很难建模link内各个segment之间的一致性。
- segment和intersection的数量和属性类型是不一致的。很难对这两个视图进行联合建模,因此intersection信息在很大程度上被忽略,或者过于简化。但是实际的到达时间在很大程度上会受到intersection的影响。例如在intersection密集的城市道路上,等待时间会迅速积累,。
2. 本文贡献
与简单地将Link和Intersection特征集成到传统的分段视图表示上相比,HierETA利用这三个视图之间的层次关系来描绘底层的道路结构。HierETA的主要贡献总结如下:
1.第一个使用多视图表示学习明确地表示道路网络上的轨迹的工作。提出的层次自注意网络根据Segment 、Link和Intersection的自然关系有效地组织这些视图。
2.设计了一个自适应的自注意网络,在多视图表示框架内联合利用全局和局部模式进行时空依赖建模。
3.设计了一种层次感知注意解码器,利用来自不同粒度的学习上下文特征来估计旅行时间,能够平衡Segment 、 Link和Intersection特征。
4.我们评估了来自滴滴出行的两个大型数据集上的HierETA的性能。实验结果表明,HierETA具有一定的优越性。
3. 问题定义
•多视图轨迹表示
segment: { s i j } i = 1 , j = 1 m , n \{s_{ij}\}_{i=1,j=1}^{m,n} {sij}i=1,j=1m,n link: { l i } i = 1 m \{l_i\}_{i=1}^m {li}i=1m intersection: { c i } i = 1 m \{c_i\}_{i=1}^m {ci}i=1m
每个视图都包含了一组特定于视图的属性,例如segment视图的长度、宽度和intersection视图的历史交通量。此外,一条轨迹还包含了一些外部因素,如工作日、开始时间段、驾驶方式和总行驶距离等。
•预计到达时间估计ETA
估计查询轨迹的持续时间: T q T_q Tq
4. 模型架构
4.1 属性特征提取器(Attribute Feature Extractor)
首先,引入一个属性特征提取器来学习多视角上下文特征,即segment、link和segment属性。所有视角中的属性均为连续或分类属性。针对连续属性采用Z-score进行归一化。采用嵌入(embedding)学习分类特征,然后将相关向量作为视图特定的特征嵌入。在这里,segment,link和intersection视图的特征表示分别为:segment: { x i j s } i = 1 , j = 1 m , n \{x_{ij}^s\}_{i=1,j=1}^{m,n} {xijs}i=1,j=1m,n link: { x i l } i = 1 m \{x_i^l\}_{i=1}^m {xil}i=1m intersection: { x i c } i = 1 m \{x_i^c\}_{i=1}^m {xic}i=1m。从实际的角度,segment视图特征以细粒度建模空间依赖关系,而link视图和intersection视图从粗粒度表示轨迹属性。此外,外部因素在整个轨迹中被共享,并被表示为 x r x_r xr。
4.2 多视图轨迹表示的层次自注意力网络 (Hierarchical Self-Attention Network for Multi-View Trajectory Representation)
为从多视图解释轨迹的底层结构,设计了segment编码器和联合Link-Intersection编码器组成的层次自注意力网络。
segment编码器
将外部特征 x r x_r xr和segment特征 { x i j s } i = 1 , j = 1 m , n \{x_{ij}^s\}_{i=1,j=1}^{m,n} {xijs}i=1,j=1m,n连接 ,其中 x i j s x_{ij}^s xijs表示segment s i j s_{ij} sij的特征即第 i i i个link中第 j j j个segment。采用BiLSTM对第 j j j个连接的特征向量 [ x j s ∣ x r ] [x_j^s|x^r] [xjs∣xr]进行顺序编码(为了叙述简介,省略了link视图中的 i i i)。通过双向传播得到隐藏状态表示: H j s H_j^s Hjs。
为了准确估计到达时间,需要获得道路网络在时空上复杂的依赖性信息。为了更好地建模空间依赖性,设计了一种自适应的自注意力网络。该网络能够联合利用交通模式的全局结构和局部语义,以捕获不同部分之间的依赖性。输入由BiLSTM编码过的隐藏状态序列 H s = [ H 1 s , … , H s n ] ∈ R n × d s H^s=[H_1^s,…,H_s^n]\in\mathbb{R}^{n\times d_s} Hs=[H1s,…,Hsn]∈Rn×ds。segment的表示是显式关注一个link中的所有segment来学习的,因此segment encoder自然遵循了整个link的全局模式。定义 G P j ∈ R n GP_j\in\mathbb{R}^n GPj∈Rn表示第 j j j个segment和在同一个link的segment的相似性。
G
P
j
=
Q
j
K
T
d
s
\begin{aligned} GP_j=\frac{Q_jK^T}{\sqrt d_s} \end{aligned}
GPj=dsQjKT
但是全局模式在实际场景会存在一些问题,例如交通事故导致的拥堵传播会显著影响道路状况,导致邻近的segment有着相似的拥堵程度。因此除了全局模式,还接着引入一个局部语义模式
L
P
j
LP_j
LPj来准确评估相邻segment的影响:
L
P
j
(
k
)
=
{
G
P
j
(
k
)
,
∣
j
−
k
∣
≤
ω
−
∞
,
otherwise
\begin{aligned} L P_{j}(k)=\left\{\begin{array}{ll} G P_{j}(k), & |j-k| \leq \omega \\ -\infty, & \text { otherwise } \end{array}\right. \end{aligned}
LPj(k)={GPj(k),−∞,∣j−k∣≤ω otherwise
其中
ω
\omega
ω是相邻segment的单侧窗口大小,因此局部模式接受的区域大小为
φ
=
2
ω
+
1
\varphi=2\omega+1
φ=2ω+1。
L
P
j
(
k
)
LP_j(k)
LPj(k)和
G
P
j
(
K
)
GP_j(K)
GPj(K)表示第𝑗个segment和第𝑘个segment之间的局部和全局相似性。当第𝑘个segment位于第𝑗个segment的接受域内时,局部模式的强度被设置为与全局模式相同,否则将被忽略。使用这种策略,既可以捕获上游和下游的空间依赖关系。
通过联合考虑全局和局部模式,segment encoder能够处理每个link内复杂的真实交通条件。为了同时利用全局结构模式和局部语义模式,采用了一种门控机制,自适应地将它们聚合为:
F
j
s
=
(
1
−
z
j
)
⊙
A
t
t
(
G
P
j
)
+
z
j
⊙
A
t
t
(
L
P
j
)
\begin{aligned} F_j^s=(1-z_j)\odot Att(GP_j)+z_j\odot Att(LP_j) \end{aligned}
Fjs=(1−zj)⊙Att(GPj)+zj⊙Att(LPj)
其中
⊙
\odot
⊙表示元素级的乘法,
A
t
t
(
G
P
j
)
Att(GP_j)
Att(GPj)和
A
t
t
(
L
P
j
)
Att(LP_j)
Att(LPj)分别表示全局和局部的segment注意力权重。门控标量
z
j
z_j
zj通过
H
j
s
,
A
t
t
(
G
P
j
)
,
A
t
t
(
L
P
j
)
H_j^s,Att(GP_j),Att(LP_j)
Hjs,Att(GPj),Att(LPj)学习。
z
j
=
σ
(
W
h
H
j
s
+
W
g
A
t
t
(
G
P
j
)
+
W
l
A
t
t
(
L
P
j
)
+
b
z
)
z_j=\sigma(W_hH_j^s+W_gAtt(GP_j)+W_lAtt(LP_j)+b_z)
zj=σ(WhHjs+WgAtt(GPj)+WlAtt(LPj)+bz)
其中,
W
h
,
W
g
,
W
l
W_h,W_g,W_l
Wh,Wg,Wl和
b
z
b_z
bz是可学习的参数。
σ
(
⋅
)
\sigma(·)
σ(⋅)表示sigmoid激活函数。然后使用残差链接和层归一化来生成segment视图的上下文特征
{
h
j
s
}
j
=
1
n
\{h_j^s\}^n_{j=1}
{hjs}j=1n。通过有效地利用全局结构和局部语义模式,学习到的上下文特征可以很好地展示来自segment视图的丰富信息。
segment encoder的目标是捕获同一link中segment的时空依赖性,合理地期望所有link都赋予了相似的依赖性结构。因此,segment encoder的可学习参数在所有link上共享并并行训练,这不仅大大减少了参数的数量,而且提高了HierETA模型的计算效率。
联合Link-Intersection编码器
虽然segment视图在现有工作中已有了广泛的应用。但是segment不能对同一个link中共享的一致性进行建模。因此,本文的层次网络中引入一个粗粒度的表示作为segment视图的补充。同时由于link和intersection是交替出现的,引入联合link和intersection的编码器,可以无缝集成这两个视图的特征。
在第 i i i个link中所有学习到的segment的上下文特征为 { h i j s } j = 1 n \{h_{ij}^s\}^n_{j=1} {hijs}j=1n。利用注意力机制将segment特征聚合为link的特征 x i l = ∑ j = 1 n γ i j h i j s x_i^l=\sum_{j=1}^n\gamma_{ij}h_{ij}^s xil=∑j=1nγijhijs。其中 γ i j = s o f t m a x j ( W r h i j s + b r ) \gamma_{ij}=\mathrm{softmax}_j(W_rh_{ij}^s+b_r) γij=softmaxj(Wrhijs+br), W r W_r Wr和 b r b_r br是线性变换和偏置。
link和intersection的特征表示为 { x i l } i = 1 m \{x_i^l\}_{i=1}^m {xil}i=1m和 { x i c } i = 1 m \{x_i^c\}_{i=1}^m {xic}i=1m。延续segment encoder的设计,用BiLSTM对link和intersection进行编码,并将BiLSTM的第 i i i个隐藏状态分别表示为 H i l H_i^l Hil和 H i c H_i^c Hic。之后,将两者连接得到 H ^ i l = [ H i l ∣ H i c ] \hat{H}_i^l=[H_i^l|H_i^c] H^il=[Hil∣Hic]。 H ^ i l \hat{H}_i^l H^il揭示了道路网络上轨迹的内在结构,其中link和intersection交替出现。为了捕获不同link和intersection之间的时空依赖性,联合Link-Intersection编码器还包括一个自注意层、一个残差连接和一个层归一化,以获得联合上下文特征 { h i l } i = 1 m \{h_i^l\}^m_{i=1} {hil}i=1m。但是这里消除了局部模式,这是因为相邻之间link之间的交通影响更弱也更稀疏,因此模型可能会过拟合。
总之,HierETA模型的编码器能够同时获得捕获局部交通条件的segment视图上下文特征和保留公共道路属性的联合link-intersection上下文特征。从3个视图学习到的上下文特征共同作用,全面建模道路网络上轨迹的底层结构,这样轨迹就可以被很好地探索,用于到达时间估计。
4.3 层次结构感知注意力解码器 (Hierarchy-Aware Attention Decoder)
在实际情况下,不同子路线之间的时空依赖性是高度动态和相关的,而到达时间估计的不确定性与关键成分密切相关。例如,如果一个轨迹包含拥堵的十字路口或路段,那么就应该更多地关注这些组件。因此,在实践中平等地对待所有子路线的特点是不公平的。因此,我们提出了一个层次结构感知的注意解码器来联合利用多视图的上下文特征。在形式上,路线
R
\mathcal{R}
R的最终表示为上下文特征的组合,即:
R
=
(
1
−
λ
)
∑
i
=
1
m
∑
j
=
1
n
a
i
j
h
i
j
s
+
λ
∑
i
=
1
m
β
i
h
i
l
\mathcal{R}=(1-\lambda)\sum^m_{i=1}\sum^n_{j=1}a_{ij}h_{ij}^s+\lambda\sum^m_{i=1}\beta_ih_i^l
R=(1−λ)i=1∑mj=1∑naijhijs+λi=1∑mβihil
其中
h
i
j
s
h_{ij}^s
hijs和
h
i
l
{h_i^l}
hil分别表示
s
i
j
s_{ij}
sij和联合link-intersection
l
i
l_i
li的上下文特征,
a
i
j
a_{ij}
aij和
β
i
\beta_i
βi分别表示各自的注意力权重,
λ
\lambda
λ是权衡细粒度和粗粒度权重的超参数。此外,由于相对不变的静态道路属性,一个link在一个有限时间内的驾驶条件往往是一致的。因此,在不考虑link视图相关性的情况下单独处理每个segment是有问题的,因为它缺乏来自link视图一致性的反馈。为了解决这一问题,设计了针对性的注意力机制,采用link视图的一致性来进一步调整segment视图的注意权重。首先针对link视图的注意力权重
β
i
\beta_i
βi:
β
i
=
s
o
f
t
m
a
x
i
(
f
l
(
h
i
l
,
x
r
)
)
\beta_i=\underset{i}{\mathrm{softmax}}(f^l(h_i^l,x^r))
βi=isoftmax(fl(hil,xr))
其中
f
l
(
⋅
)
f^l(·)
fl(⋅)包含了link视图的时空特征
h
i
l
h_i^l
hil和外部因素
x
r
x^r
xr:
f
l
(
h
i
l
,
x
r
)
=
v
T
t
a
n
(
w
1
h
i
l
+
w
2
x
r
+
b
)
f^l(h_i^l,x^r)=v^T\mathrm{tan}(w_1h_i^l+w_2x^r+b)
fl(hil,xr)=vTtan(w1hil+w2xr+b)
其中
v
,
w
1
,
w
2
v,w_1,w_2
v,w1,w2和
b
b
b是可训练的参数。针对segment视图的注意力权重
a
i
j
a_ij
aij由link视图的一致性引导进行更新:
a
i
j
=
s
o
f
t
m
a
x
(
i
,
j
)
(
β
i
f
s
(
h
i
j
s
,
x
r
)
)
a_ij=\underset{(i,j)}{\mathrm softmax}(\beta_if^s(h^s_{ij},x^r))
aij=(i,j)softmax(βifs(hijs,xr))
使用层次结构感知注意力解码器,可以自适应地从不同的表示粒度中选择最相关的特征。最后,将全连接层应用于路线表示
R
\mathcal{R}
R,产生行程时间预测
Y
^
∈
R
N
×
1
\hat Y \in \mathbb{R}^{N\times1}
Y^∈RN×1,其中
N
N
N表示路线总数。
训练过程中,HierETA通过平均绝对误差(mean absolute error, MAE)作为损失函数,对HierETA训练:
L
(
Θ
)
=
1
N
∑
k
=
1
N
∣
Y
k
−
Y
^
k
∣
\mathcal{L}(\Theta)=\frac{1}{N}\sum_{k=1}^N|Y_k-\hat{Y}_k|
L(Θ)=N1k=1∑N∣Yk−Y^k∣
其中
Θ
\Theta
Θ表示HierETA中所有可训练的参数。
5. 实验
5.1 数据集
本文选择了滴滴出行提供的北京和广州两个城市的真实数据集,为了避免原始数据中异常情况造成的工件,删除了非常短的行驶时间(< 60s)、极高的行驶速度(>120公里/小时)、每个link中的segmen数目t和路线中的link数目分别限制在3-50和3-30,以适应一般情况。具体统计信息和旅行时间分布如下图所示。
![]() |
![]() |
5.2 实验结果
选择4个评价指标来进行性能评测。包括平均绝对误差(MAE)、均方根误差(RMSE)、平均绝对百分比误差(MAPE)和满意度(SR),其中SR是指错误率小于10%的行程比例,较高的SR能反映更好的性能和客户满意度。
M
A
E
=
1
N
∑
K
=
1
N
∣
y
k
−
y
^
k
∣
R
M
S
E
=
1
N
∑
k
=
1
N
(
y
k
−
y
^
k
)
M
A
P
E
=
1
N
∑
k
=
1
N
∣
y
k
−
y
^
k
y
k
×
100
%
∣
S
R
=
1
N
∑
k
=
1
N
(
∣
y
k
−
y
^
k
y
k
≤
10
%
)
×
100
%
∣
MAE=\frac{1}{N}\sum_{K=1}^N|y_k-\hat{y}_k| \\ RMSE=\sqrt{\frac{1}{N}\sum_{k=1}^N(y_k-\hat{y}_k)}\\ MAPE=\frac{1}{N}\sum_{k=1}^N|\frac{y_k-\hat{y}_k}{y_k}\times100\%|\\ SR=\frac{1}{N}\sum_{k=1}^N(|\frac{y_k-\hat{y}_k}{y_k}≤10\%)\times100\%|
MAE=N1K=1∑N∣yk−y^k∣RMSE=N1k=1∑N(yk−y^k)MAPE=N1k=1∑N∣ykyk−y^k×100%∣SR=N1k=1∑N(∣ykyk−y^k≤10%)×100%∣
其中
y
k
y_k
yk和
y
^
k
\hat{y}_k
y^k分别表示真值和预测值。
如图5和图6所示,HierETA整体性能和不同行驶距离下的评价指标均表现最优。
5.3 超参实验
如图6所示,分析了两个超参数的影响,分别分析了不同窗口大小 φ \varphi φ下的局部segment注意力在北京数据集的影响。以及通过改变 λ \lambda λ从0到1来评估利用多视图特征的重要性。
图6(a)所示, φ = 3 \varphi=3 φ=3性能最佳,但是再随显示着窗口尺寸𝜑的增加,性能逐渐降低。这一观察结果可能来自于当注意的范围持续增加时,相邻segment之间的相关性略有降低,导致建模的不确定性增加。
图6(b)所示。 λ = 0.2 \lambda=0.2 λ=0.2性能最佳,当 λ \lambda λ=1或0,即只考虑segment视图或者只考虑link-intersection视图,结果均很差,说明了多视图具有鲁棒性和有效性。
5.3 消融实验
通过消融实验来验证HierETA各个模块的有效性,分别做了如下实验:
•w/o lcoal@e:去除编码器的局部注意力,验证语义交通条件建模的有效性。
•w/o global@e:去除全局注意力,验证提取结构性交通模式的必要性。
•w/o guide@d:辅助解码器的注意力删除,删除来自在等式中的Link视图一致性的反馈
•w/o cross info:去除intersection,只有segment和link视图
•w/o hier:去除联合link-intersection编码器来消除层次结构。
从图7所示结果,去除任一模块,HierETA均有所下降,从而验证了HierETA各个模块的有效性。
6. 结论
1.本文从segment、link和intersection视图中全面解释轨迹,并相应地设计一种新的层次自注意网络HierETA来学习道路网络上轨迹的潜在结构。
2.考虑复杂的真实交通条件,HierETA自适应地集成了全局和局部模式来进行时空依赖建模。
3.设计了一个层次感知的注意解码器,自适应地平衡多视图上下文特征的重要性。
4.在滴滴出行的两个大规模真实数据集上的实验表明,HierETA达到了最先进的性能。此外,新的多视图轨迹表示法在实践中显示出了巨大的前景,从而为开发先进的轨迹数据挖掘模型开辟了新的机会。