(9) 交通预测-如何在深度学习框架下考虑动态时空相似性?

交通预见未来(9) 考虑动态时空相似性的交通预测深度学习框架

  1. 文章信息

《Revisiting Spatial-Temporal Similarity: A Deep Learning Framework for Traffic Prediction 》

AAAI (美国人工智能协会)2019大会上的论文。作者: 宾夕法尼亚州立大学的Huaxiu Yao。

2、摘要

如何对复杂的时空依赖关系建模是当前交通预测的一个重点。既有研究大多将空间依赖看作是静态的,时间依赖看作是是严格周期性的。但本文基于两点进行研究:(1)位置之间的空间依赖关系是动态的; (2)时间依赖服从日、周两种模式,但其动态时间变化不具有严格的周期性。为了解决这两个问题,我们提出了一种新的时空动态网络(STDN),其中引入了一种门控机制来学习位置之间的动态相似性,并设计了一种周期性注意力转移机制来处理长期的周期性时间转移。

3、简介

在基于深度学习的交通预测中,虽然考虑了时空依赖性,但现有的方法存在两大局限性。

首先,地点之间的空间依赖仅仅依赖于历史交通流的相似性,模型学习的是静态空间依赖关系。然而,位置之间的依赖关系可能会随着时间而改变,例如,早晨,住宅区和商业中心之间的依赖性很强;而在深夜,这两个地方的关系可能很弱。然而,既有研究并没有考虑到这种动态依赖关系。

其次,许多现有的研究忽略了长期周期性依赖的转变。交通数据表现出较强的日、周两种周期性模式。然而,交通数据并不是严格的周期性的。例如,工作日的高峰时间通常发生在下午晚些时候,但不同工作日可以从下午4:30到6点之间变化。既有研究虽然考虑了周期性,但没有考虑周期性的时间转移。

本文提出的STDN是基于时空神经网络,分别通过局部CNN和LSTM处理时空信息。提出了一种基于门控的局部CNN,利用交通流信息对不同位置之间的动态相似性进行建模,从而处理空间依赖关系。提出了一种周期性注意机转移制来学习长期周期依赖关系,通过注意力机制捕捉交通序列的长期周期性信息和周期性时间转移信息。此外,使用LSTM来处理时间依赖关系。

模型使用的数据集是纽约的出租车和共享单车数据集。(BTW:国外的很多数据集都是公开的,大家从网上都可以下载到,当国内数据不太好获取时,不妨走出国门搜一搜)

4、符号说明

将整个城市划分为a*b的网格,n=a*b 代表网格数量, 我们将一个区域的起始交通量定义为在固定的时间间隔内从该区域出发/到达该区域的次数。 代表区域i在时间间隔t内的客流产生量和吸引量。 表示OD客流:t时间从i区域出发,τ时间到达j区域。

问题:给定t时刻及以前的客流,预测t+1时刻出发和到达所有区域的客流。

5、STDN时空动态网络

文中将该网络分成了三部分:(1) Local Spatial-Temporal Network, 局部时空网络;(2) Spatial Dynamic Similarity: Flow Gating Mechanism, 门控机制;(3) Temporal Dynamic Similarity: Periodically Shifted Attention Mechanism,周期性注意力转移机制。

  1. 局部时空网络

使用CNN处理局部空间依赖,对于每个时间间隔t,我们将目标区域i及其周围的邻域作为一个具有两个通道的S×S图像, 。一个通道包含客流产生量信息,另一个通道包含客流吸引量信息,目标区域在图像的中心。卷积公式:

其中k代表层数,卷积层后接flatten层和全连接层输出空间依赖关系。

使用原始的LSTM处理时间依赖关系。

其中y为CNN的输出,e代表外部因素(天气等),h为上一时刻的输出。

(2)空间动态相似性:门控机制

然而,既有文章提取的空间依赖性是静态的,不能充分反映目标区域与其相邻区域之间的动态关系。表示区域间交互的更直接的方法是交通流。如果两个区域之间存在更多的客流,它们之间的关系就会更强(即,它们更相似,也就是文章中说的相似性)。因此,我们设计了一种门控机制(Flow Gating Mechanism),以捕捉层次结构中的动态空间依赖关系。

这块其实就是将局部区域S×S网格内的OD矩阵考虑到了空间关系的提取当中去了。提取两个矩阵,一个是出发的OD矩阵(t时刻O点出发到达各D点),一个是到达的OD矩阵(t时刻各个D点出发到达O点),其实这类也不能叫做OD矩阵,暂且这样叫吧。(这一块感觉提取方式就是提取全网的两个矩阵,然后用3×3的filter去卷积,就是所谓的局部区域S×S网格)

给定一个特定的区域i,我们从过去的l个时间间隔(即,时间区间t - l + 1到t)。将获得的OD矩阵进一步叠加,用 表示,其中S×S表示周围相邻区域的大小,2l为流动矩阵的个数(每个时间间隔两个上面说的OD矩阵),叠加的矩阵包含了所有与区域i相关的过去的流量间的相互作用。这一块的卷积结果用下式表示:

将式(1)和式(3)两个卷积的output相乘,即得到式(4)。这个乘法也就是文章中所说的门控机制。同样,卷积层后接flatten层和全连接层输出空间依赖关系 ,至此空间关系提取完毕。

(3)时间动态相似性:周期性注意力转移机制

(要读懂这一块肯定要理解透彻RNN注意力机制是怎么实现的,可参考这篇文章,讲的很清楚https://blog.csdn.net/qq_40027052/article/details/78421155)

只使用前几个时间间隔(通常是几个小时),忽略了长期依赖性(如周期性)。所以应该考虑对预测目标的相对时间间隔(例如,昨天和前天的同一时间)进行建模。然而,单纯考虑相对时间间隔是不够的,忽略了周期性的时间转移,即,交通数据并非严格意义上的周期性。例如,工作日的高峰时间通常在下午,但可以从下午4:30到6:00。由于交通事故或交通拥挤,周期性信息的时间转移在交通序列中普遍存在。下图中显示了在不同的天和周之间的时间转移。因此,我们设计了一个周期性注意力转移机制(Periodically Shifted Attention Mechanism)来解决这些问题。

我们的重点是处理不同天之间的周期性的变化。如图1(a)所示,包含了前P天对应的时间间隔来处理周期性依赖关系。对于每一天,为了解决时间移动的问题,我们在Q中进一步选择每天的Q时间间隔。例如,如果预测的时间是晚上9:00-9:30,我们选择预测时间的前后1小时(即8点-10:30pm, Q = 5)。这些时间间隔q∈Q用于处理潜在的时间周期性转移。此外,我们使用LSTM来表达每天pP的序列信息,其表达式为:

为第i区域预测时间t在前一天p中的时间q的表示(p代表同一天,可以把p去掉来看这个公式)。我们采用注意机制来捕捉时间的变化,并得到每一天的加权表示。形式上,某天的 表示为每个选定时间间隔q中表示的加权和(即上面说的Q=5那5个时段的加权和),定义为:

α代表同一天不同时段的重要性,其计算就用到了注意力机制:

其中h就是hidden state,上述中5个时间间隔的隐层状态(也即5个timesteps的隐层状态),score函数就相当于注意力机制中的相似性函数,整个函数就是个softmax。

上面求的是前一天的一个总的加权和隐藏层状态,前一天的状态传递到当天即为公式:

Figure1(a)可以理解为有分支的stacked LSTM, 分支求的是每天的隐层状态加权和,主LSTM利用该加权和进行预测。

6、案例研究

将在下篇文章中讲述。

7、总结

模型很复杂,实现起来比较麻烦,github上有代码可以参考。https://github.com/tangxianfeng/STDN

 

关注微信公众号《当交通遇上机器学习》,

后台回复“数据”即可获取高达175G的四个月的滴滴GPS数据和滴滴订单数据的获取方式,以及从数据处理(Oracle数据库)、模型构建(机器学习)、编程实现(python)到可视化(ArcGIS)等一系列视频教程。

后台回复“纽约”获取美国纽约10年的出租车轨迹数据以及7年的共享单车轨迹数据下载地址。

公众号以交通大数据为主线,专注于人工智能、机器学习、深度学习在道路交通和轨道交通领域内的科研前沿与应用,在交通大数据与机器学习的道路上越走越远!

 

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当交通遇上机器学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值