LC-RNN: A Deep Learning Model for Traffic Speed Prediction

版权声明:转载请注明出处 https://blog.csdn.net/The_lastest/article/details/85248716

1.背景

下面所介绍是2018年发表在IJCAI上的一论文,其主要解决的问题是预测接下来几个时间间隔内,某条道路上车辆行驶的平均速度。其关键点在于作者提出了用"look-up"这一方法来构造由每条道路及其相连接道路所形成的速度矩阵,接着用CNN来提取相邻“道路速度”的空间依赖关系,然后进一步采用LSTM从时间序列的角度来提取特征;最后融合天气和周期信息等最为整个网络的输出。

我们知道在实际情况中,道路的连接是丛横交错的;并且存在对于某两个地点来说是单向通行的。因此论文中采用了有向图来描绘道路结构,如下图左边所示;对于每条路上在某个时间间隔 t t 内的平均速度为右图边上的权重,且用一个速度向量来表示。

论文中所需要解决的问题就是:给定历史数据 X i X_i (即历史速度向量),来预测 X t + 1 , X t + 2 , . . . X_{t+1},X_{t+2},... 时刻的速度向量(即下一(或几个)个时刻每条道路可能的速度)。

2.数据处理

首先需要根据道路拓扑结构(topology)得到一个邻接道路矩阵(adjacent road matrix) M M 。这个矩阵记录了每条道路的所有相邻道路,其规则为: S r = { r , r E r . s = r . e    o r    r . e = r . s } S_r=\{r,r'\in E|r'.s=r.e\;or\;r'.e=r.s\} 。一句话就是首位相连(不能首首或尾尾),然后对于所有的 S r S_r 构成一个大的集合 S = { S r r E } \Bbb{S}=\{S_r|r\in E\} ,如下图左边所示。

接着,根据 S \Bbb{S} 很容易的就得到了矩阵 M M ,其中 M [ : , i ] M[:,i] 表示与第 i i 条路所有相连接的道路,其维度 A × E , A = m a x { S r S r S } A\times|E|,A=max\{|S_r||S_r\in\Bbb{S}\} ;同时为了方便后面构造同样大小的速度矩阵进行卷积,对应如果与某条路相连接的道路数小于 A A ,则用自身补齐(上图右边红色编号)。

3.网络构造

整个网络结构图如下所示,下面我们分别对每个小的模块进行大致说明一下:

3.1 "look-up"操作

进一步要做的就是如何构造每条道路对应的速度矩阵(由多个相邻时刻的速度向量构成),也就是论文所指的"look-up"操作,如下图所示。

说明:
①红色实线表示的是"look-up",操作,即用 t t 时刻的前4个时间构成的速度矩阵根据M来索引得到每条道路相邻的所有道路的速度,并构成一个矩阵;
②对第①步得到的矩阵分别进行卷积操作,并且对于用同一个卷积核作用得到每一列构成一个通道( X l , k X^{l,k} ),也就是说以上图为例仅仅采用了两个卷积核提取特征。

3.2 LSTM部分

假设经过"look-up"操作后得到的输出 X N R p + 1 × E × k N X^N\in \Bbb{R}^{|p+1|\times|E|\times|k_N|} ,也就是说这三个维度分别代表了时间间隔数,道路总数,卷积后的通道数。假设输出得到的 X X 形状为 [ 4 , 5 , 2 ] [4,5,2] ,即一共4个时刻,5条道路,2个通道(如p0078图所示)。论文中说到先要通过下面这个公式reshape后才能喂给LSTM,那这到底是怎么在reshape呢?我们先来看reshape后第一条道路的4个时刻所对应的数据是什么样的:
V S i , t = X N [ t , i , : ] V_S^{i,t}=X^N[t,i,:]

由此可知,time_step=4,dim=2,batch_size=5,例如在Tensorflow中只需要将 X X 变成[5,4,2]就行,具体情况可自行分析。接着就是对LSTM的最后一个时刻输出结果做一个非线性变换。

3.3 周期模拟及额外因素

对于这种时空数据,一般来说都会受到这两方面的影响。在这篇论文中,作者采用了两个全连接来分别模拟近几天和近几周的周期规律。对于天气和节假日等额外因素,作者在论文中提到也是使用了两个全连接进行的处理。当然最后就是融合了,其融合方式同上一篇介绍的论文中的方式一样,都是基于权重的融合方式。
Y ^ t = t a n h ( W S T Y S T + W E Y E ) \hat{Y}_t=tanh(W_{ST}\circ Y_{ST}+W_E\circ Y_E)

4. 总结

个人认为这篇文章的创新点在于提出了"look-up"这以方式来对相邻“道路速度”建立一个空间上的关系,然后利用CNN进行特征提取,接着用LSTM进行处理。其它因素的处理,以及整个网络的框架都与"Deep Spatio-Temporal Residual Networks for Citywide Crowd Flows Prediction" 这篇论文都很相似。

猜你喜欢

转载自blog.csdn.net/The_lastest/article/details/85248716