论文笔记《HetETA: Heterogeneous Information Network Embedding for Estimating Time of Arrival》

Abstract

  • 本文目标是预计到达时间(The estimated time of arrival, ETA),现有研究存在问题:很少有研究将结构化的图数据考虑在内,更不用说异构的信息网络了。
  • 本文提出 HetETA 模型 旨在ETA任务中利用异构的图数据,具体做法:
    (1)将路网地图转化为多相关信息网络,引入车辆轨迹图联合考虑车辆行为模式
    (2)时间信息分为近期(recent periods)、日周期(day periods)、周周期(week periods),然后对每个时间模块分别建模。

1. Introduction & Related Work

(不是全文翻译,仅是关键信息的笔记)

现有研究存在的问题:

  • 将路网看作同质图,忽略边的差异性
  • 大多数研究使用的数据集如META-LA或PEMS,而实际的交通状况要复杂很多
  • 有的模型适用于小网络,难以放到大网络中

本文:

  • 是基于路线的ETA 方法(不是用sensor数据),大致思路是先预测每个路段的出行时间,然后根据已知的轨迹求和。
  • 利用GNN 模型对路网数据建模,建模难点在于:
    (1)与单一相关关系的sensor数据相比,路网数据(图数据)连接关系更复杂。举例:可能如图2(a)有向左/右转和直行等等不同的状态;如图2(b)高速上转到不同路段也需要降速等。
    (2)路段的连接更稀疏。以沈阳路网为例,共有74685个点,每个点平均有2.52个邻居节点。
    在这里插入图片描述

为解决上述问题,本文:

  • 引入异质性信息网络(heterogeneous information network, HIN),将路网地图转化为多相关信息网络(a multi-relational network,是HIN的一种,如图2a)
  • 也部署了车辆轨迹图,节点和多相关信息网络图节点相同,边体现点之间的连通频率。
  • 异质性也包括时间数据,将时间数据分成三类:recent periods、daily periods、weekly periods

2. Methodology

时间片分为三类,以这篇博文中的标注为例(如图):
在这里插入图片描述

  • 临近片段(recent) X R = [ X ( t q − L R + 1 ) , X ( t q − L R + 2 ) , … , X ( t q ) ] ∈ R L R × ∣ V ∣ × n \mathbf{X}_{\mathcal{R}}=\left[X^{\left(t_{q}-L_{\mathcal{R}}+1\right)}, X^{\left(t_{q}-L_{\mathcal{R}}+2\right)}, \ldots, X^{\left(t_{q}\right)}\right] \in \mathbb{R}^{L_{\mathcal{R}} \times|V| \times n} XR=[X(tqLR+1),X(tqLR+2),,X(tq)]RLR×V×n
  • 日周期片段(daily-period) X D = [ X ( t q + 1 − L D ∗ T D ) , X ( t q + 1 − ( L D − 1 ) ∗ T D ) , … , X ( t q + 1 − T D ) ] ∈ R L D × ∣ V ∣ × n \mathbf{X}_{\mathcal{D}}=\left[X^{\left(t_{q}+1-L_{\mathcal{D}} * T_{D}\right)}, X^{\left(t_{q}+1-\left(L_{\mathcal{D}}-1\right) * T_{D}\right)}, \ldots, X^{\left(t_{q}+1-T_{D}\right)}\right] \in \mathbb{R}^{L_{\mathcal{D}} \times|V| \times n} XD=[X(tq+1LDTD),X(tq+1(LD1)TD),,X(tq+1TD)]RLD×V×n
  • 周周期片段(weekly-period component) X W = [ X ( t q + 1 − L W ∗ T D ∗ 7 ) , X ( t q + 1 − ( L W − 1 ) ∗ T D ∗ 7 ) , … , X ( t q + 1 − T D ∗ 7 ) ] ∈ R L W × ∣ V ∣ × n \mathbf{X}_{\mathcal{W}}=\left[X^{\left(t_{q}+1-L_{W} * T_{D} * 7\right)}, X^{\left(t_{q}+1-\left(L_{W}-1\right) * T_{D} * 7\right)}, \ldots, X^{\left(t_{q}+1-T_{D} * 7\right)}\right] \in\mathbb{R}^{L_{\mathcal{W}} \times|V| \times n} XW=[X(tq+1LWTD7),X(tq+1(LW1)TD7),,X(tq+1TD7)]RLW×V×n

在这里插入图片描述
将这三个时间片分别放到同样架构的模块中:

  • 先放到 Temporal Gated CNN 中对时间相关性建模(见本文2.1)
  • 再分别将 多相关信息网络车辆轨迹图 放到 Het-ChebNet 中对空间相关性建模(见本文2.2)

2.1 Gated CNNs for Temporal Correlations

本节思路类似:Yu B, Yin H, Zhu Z. Spatio-Temporal Graph Convolutional Networks: A Deep Learning Framework for Traffic Forecasting[J].IJCAI 2018. 是沿着时间维度做卷积,以此捕获时间相关性。
在这里插入图片描述

  • 输入 X X X,宽 C i n C_{in} Cin(输入通道数),高 L i n L_{in} Lin(输入序列的长度),深度 ∣ V ∣ |V| V(节点数目)
  • 两套相同结构的卷积核,每套是 C o u t C_{out} Cout 个维度为 L K ∗ 1 ∗ C i n L_K*1*C_{in} LK1Cin。要注意核的深度是1,做的是1维卷积。
  • 其中一个卷积后,再经过sigmoid函数,起到门控作用。再与另一套卷积后的结果相乘。
  • 最后得到隐藏状态 H = ( K 1 ⋆ x ) ⊙ σ ( K 2 ⋆ x ) ∈ R ( L i n − L K + 1 ) × ∣ V ∣ × C out  \mathrm{H}=\left(\mathrm{K}_{1} \star \mathrm{x}\right) \odot \sigma\left(\mathrm{K}_{2} \star \mathrm{x}\right) \in \mathbb{R}^{\left(L_{\mathrm{in}}-L_{K}+1\right) \times|V| \times C_{\text {out }}} H=(K1x)σ(K2x)R(LinLK+1)×V×Cout 

从整体再看下模型

  • 最开始的输入 x = X ∈ R L × ∣ V ∣ × n \mathbf{x}=\mathbf{X} \in \mathbb{R}^{L \times|V| \times n} x=XRL×V×n
  • 经过第1个 gated CNN 层,卷积核维度 [ L K × 1 × C i n , C o u t ] \left[L_{K} \times 1 \times C_{\mathrm{in}}, C_{\mathrm{out}}\right] [LK×1×Cin,Cout],得到 H = H 1 ∈ R ( L i n − L K + 1 ) × ∣ V ∣ × C out  \mathbf{H}= \mathbf{H_1}\in \mathbb{R}^{\left(L_{\mathrm{in}}-L_{K}+1\right) \times|V| \times C_{\text {out }}} H=H1R(LinLK+1)×V×Cout 
  • 接着 H 1 \mathbf{H_1} H1 被放入 Het-ChebNets 中,得到 H 2 ∈ R ( L − L K + 1 ) × ∣ V ∣ × 2 ∗ C 1 \mathbf{H}_{2} \in \mathbb{R}^{\left(L-L_{K}+1\right) \times|V| \times 2 * C_{1}} H2R(LLK+1)×V×2C1(为什么是这个维度,2.2节会解释)
  • 再将 H 2 \mathbf{H}_{2} H2 放入第2个 gated CNN 层,得到 H = H 3 ∈ R ( L − 2 ∗ ( L K − 1 ) ) × ∣ V ∣ × C 3 \mathbf{H}=\mathbf{H}_{3} \in \mathbb{R}^{\left(L-2 *\left(L_{K}-1\right)\right) \times|V| \times C_{3}} H=H3R(L2(LK1))×V×C3
  • 最后再将 H 3 \mathbf{H}_{3} H3 放入第3个 gated CNN 层,该层的核维度是 [ ( L − 2 ∗ ( L K − 1 ) ) × 1 × C 3 , C 3 ] [(L-2 *\left.\left.\left(L_{K}-1\right)\right) \times 1 \times C_{3}, C_{3}\right] [(L2(LK1))×1×C3,C3],得到输出是 H = H 4 ∈ R 1 × ∣ V ∣ × C 3 \mathbf{H}=\mathbf{H}_{4} \in \mathbb{R}^{1 \times|V| \times C_{3}} H=H4R1×V×C3

2.2 Het-ChebNet for Spatial Correlations

将交通流视为路网上的空间信息传播过程,用 Het-ChebNet 对空间相关性建模。

2.2.1 Het-ChebNet 计算原理

  • 首先,传统通过切比雪夫多项式进行局部滤波(详情见这篇文章8.2节),公式: g θ ⋆ G x = g θ ( L ) x = ∑ z = 0 Z θ z Γ z ( L ~ ) x g_{\theta} \star_{G} \mathbf{x}=g_{\theta}(\mathbf{L}) \mathbf{x}=\sum_{z=0}^{Z} \theta_{z} \Gamma_{z}(\tilde{\mathbf{L}}) \mathbf{x} gθGx=gθ(L)x=z=0ZθzΓz(L~)x。但该方法对于多相关性网络建模不足,因此再此基础上引入注意力机制。

  • 引入注意力机制的ChebNet g θ ⋆ G x = g θ ( L ) x = ∑ z = 0 Z θ z ( Γ z ( L ~ ) ⊙ f ( U z ) ) x g_{\theta} \star_{G} \mathbf{x}=g_{\theta}(\mathbf{L}) \mathbf{x}=\sum_{z=0}^{Z} \theta_{z}\left(\Gamma_{z}(\tilde{\mathbf{L}}) \odot f\left(\mathbf{U}_{z}\right)\right) \mathbf{x} gθGx=gθ(L)x=z=0Zθz(Γz(L~)f(Uz))x

在这里插入图片描述

下面一一说明具体是怎么算的:

  • θ z \theta_{z} θz 是可训练的一个参数
  • Γ z ( L ~ ) \Gamma_{z}(\tilde{\mathbf{L}}) Γz(L~) z z z 阶切比雪夫多项式,可以通过递推公式计算得到。
  • f ( U z ) f\left(\mathbf{U}_{z}\right) f(Uz) 是本文的创新点, U z \mathbf{U}_{z} Uz 是注意力稀疏矩阵,是根据多相关关系图每条边得分编码得到的,具体计算如下:
    (1)经过上一步的gated CNN,可以得到点 v 1 , v 2 v_1,v_2 v1,v2 的低维向量表示 h 1 , h 2 h_1,h_2 h1,h2,先把它们连在一起
    (2) w r k ∈ R 2 d w_{r_{k}} \in \mathbb{R}^{2 d} wrkR2d 是根据不同关系类型 r k r_k rk 训练得到的参数
    (3) σ \sigma σ 是 LeakyReLU 函数
    (4)计算出的得分 α i j k = σ ( w r k T [ h i ∥ h j ] ) \alpha_{i j k}=\sigma\left(w_{r_{k}}^{\mathrm{T}}\left[h_{i} \| h_{j}\right]\right) αijk=σ(wrkT[hihj])
    (5)因为节点间关系不止一种,所以 U z \mathbf{U}_{z} Uz 是把这些值求和的结果, u j i = ∑ k , ( v i , v j , r k ) ∈ E α i j k u_{j i}=\sum_{k,\left(v_{i}, v_{j}, r_{k}\right) \in E} \alpha_{i j k} uji=k,(vi,vj,rk)Eαijk
    (6)最后就是softmax操作, f ( u j i ) = exp ⁡ ( u j i ) / ∑ k , ( v k , v j ) ∈ E exp ⁡ ( u j k ) f\left(u_{j i}\right)=\exp \left(u_{j i}\right) / \sum_{k,\left(v_{k}, v_{j}\right) \in E} \exp \left(u_{j k}\right) f(uji)=exp(uji)/k,(vk,vj)Eexp(ujk)

2.2.2 Het-ChebNet 实际操作

作者将多相关性图网络 G ( t ) G^{(t)} G(t) 分成了两个网络,分别是:

  • 路网 G r o a d ( t ) G_{road}^{(t)} Groad(t) ,根据路段转向关系做的矩阵
  • 基于车辆轨迹的网络 G v e h i c l e ( t ) G_{vehicle}^{(t)} Gvehicle(t) ,根据“likely going to” 关系做的矩阵(我没看懂这部分 = =)

然后将这两个网络图,分别放到两个Het-ChebNets,分别对空间相关性建模。

将两个网络图的输出拼到一起, H 2 = [ H road  ∥ H vehicle  ] ∈ R ( L − L K + 1 ) × ∣ V ∣ × 2 ∗ C 1 \mathbf{H}_{2}=\left[\mathbf{H}_{\text {road }} \| \mathbf{H}_{\text {vehicle }}\right] \in \mathbb{R}^{\left(L-L_{K}+1\right) \times|V| \times 2 * C_{1}} H2=[Hroad Hvehicle ]R(LLK+1)×V×2C1,作为第2层 gated cnn 的输入。

2.3 Fusion Layer for Prediction

时间片被分成了三类,但是操作都是相同的,得到的维度也是相同的,最后经过一次融合, S {\mathrm{S}} S 表示每个路段的长度,120表示限速 120km/h: Y ^ = S σ ( [ H R 4 ∥ H D 4 ∥ H W 4 ] W + b ) ∗ 120 \hat{Y}=\frac{\mathrm{S}}{\sigma\left(\left[\mathrm{H}_{\mathcal{R}_{4}}\left\|\mathrm{H}_{\mathcal{D}_{4}}\right\| \mathrm{H}_{W_{4}}\right] \mathrm{W}+b\right) * 120} Y^=σ([HR4HD4HW4]W+b)120S

3. Experiments

3.1 Datasets

  • 沈阳出租车滴滴数据, multi-relational graph 中有74685个节点,94127条边,时间跨度是2019.5.1-2019.7.31
  • 数据可以分为两类:(1)pickup 数据,指司机收到订单请求到接到乘客的车辆轨迹;(2)trip 数据,乘客上车到到达目的地的车辆轨迹。
  • 关系类型(relation type) 指的是路段之间的转弯方向,包括直行、轻微左、左、剧烈左、轻微右、右、剧烈右和转弯。
  • 节点特征(node feature) 分成两类:(1)静态特征:道路类型、路段宽度、路段长度、限速、车道数等;(2)动态特征是每5min统计一次的每个车道的车辆平均速度

拿到数据时,作者设计一个基于网络的车辆轨迹图(vehicle-trajectories),用以捕捉路段潜在相关性(指那些路网图没有表示出的相关性)。这个基于网络的车辆轨迹图是个有向、有权重的图。

  • 节点表示路段
  • 边表示过去有车从节点 i i i 去了节点 j j j,这里会有个 β-hop 和频率的限制,就是需要在 β-1 数量的路段内抵达目的地。边权重表示共现的频率,对于每个点 只会保留了前 k 频繁的邻接边的信息。本文 β=3,k=5

在这里插入图片描述

3.2 Results

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值