时空预测
Author:张金雷
From:当交通遇上机器学习
1、文章信息
《Spatiotemporal Recurrent Convolutional Networks for Traffic Prediction in Transportation Networks》。
北航2017年发在sensors上的一篇文章。
2、摘要
近几十年来,大规模交通网络流量预测已成为一个重要而具有挑战性的课题。受运动预测领域的启发,提出了一种保留交通网络精细结构的网格表示方法。将整个网络的流量速度转换为一系列静态图像,并将其输入到一个新的深度架构中,即时空循环卷积网络(SRCNs),用于流量预测。所提出的SRCNs继承了深卷积神经网络(DCNNs)和长短时记忆(LSTM)神经网络的优点。DCNNs可以捕获整个网络流量的空间依赖性,LSTMs可以学习流量的时间依赖性。以北京某交通网络为例,通过278个节点的实验,证明了SRCNs在短期和长期交通预测方面都优于其他基于深度学习的算法。
3、简介
在计算机视觉领域,深度学习比传统的图像处理方法具有更好的性能。运动预测中的深度学习是基于同一物体的一系列历史场景来预测物体未来运动的研究领域。基于该方法的成功,通过基于网格的分割方法,将全网范围内的交通速度作为静态图像的集合,其中每个像素代表一个路段或多个路段的交通状况。随着时间的推移,整个网络的流量也在变化。给定一个包含动画的静态图像序列,我们能预测每个像素的未来运动吗? 深度学习框架在提高运动预测精度方面具有优势。在学习视频序列时,应同时考虑空间和时间的长期依赖性。卷积神经网络(CNNs)采用带卷积滤波器的层,通过滑动窗口提取局部特征,可以对附近或全市范围的空间依赖关系进行建模。为了学习长时间跨度的时间序列,Hochreiter和Schmidhuber于1997年提出的长短时记忆(long short-term memory, LSTM)神经网络(NNs)在短时交通预测中得到了有效的应用,并在捕捉交通流的长期时间依赖性方面取得了显著的效果。基于CNNs和LSTMs的成功,本文提出了一种基于时空图像的方法,利用时空循环卷积网络(SRCNs)来预测整个网络的流量状态。利用深度卷积神经网络(Deep convolutional neural networks, DCNNs)挖掘整个交通网络中各链路之间的空间特征,利用LSTMs学习交通拥堵演化的时间特征。将时空特征输入全连通层,学习大规模交通网络中各环节的交通速度模式,并对模型进行端到端的训练。
本文的贡献总结如下:
•开发了一个名为SRCN的混合模型,它结合了DCNNs和LSTMs来预测整个网络的流量速度。
•提出了一种新的交通网络表示方法,它可以在较好的尺度上保持交通网络的结构。
•将网络流量的特殊时间特征建模为一个视频,其中每个流量条件作为视频的一帧。在提出的SRCN体系结构中,DCNNs从网络的角度捕获近端和远端空间依赖关系,而LSTMs学习长期的时间依赖关系。通过DCNNs与LSTMs的集成,分析了整个网络的时空交通数据。
4、主体内容## (1)网络表示
假设要预测交通网络中每个路段的拥塞情况,用y表示,共n个路段。
Step1:选择一个交通网络(请参阅图2a), 根据道路情况把它分成n个路段,并根据公式(1)计算这些路段在一个特定的时间段内的平均速度(2分钟),其中m和vj代表第i个路段上的车辆数和车辆的平均速度,不同的颜色表示速度(如图2b所示)。图3a显示了一个小型网络的示例。
Step2:使用一个小网格划分交通网络,网格的大小约为0.0001°×0.0001°,度表示经纬度,在北京,0.0001°约代表10米。划分出来的每个网格代表一个空间区域。
Step3:将平均速度映射到网格。空白区域的值设置为0;如果多个路段通过同一个网格,便将它们的平均速度分配给相应的网格(如图3c所示),并将速度归一化到 (0,1)区间内(如图2c所示)。
使用基于网格的网络分割方法,保持不同路段之间的相对拓扑不变。这种处理可以保留道路的几何信息,如细粒度上的u型急转弯和交叉口。
(2)空间信息提取
空间信息可以通过深度卷积层来提取,因为路段之间的距离会因为卷积和池化过程而缩短图4a中每个网格框表示一个空间区域(类似于step2中的网络表示),透明的绿色区域表示一个3×3卷积滤波器,相同颜色的线表示两个相邻的路段,不同颜色的线表示两个相距较远的路段。通过CNN的卷积和池化过程,图4b中的蓝线和红线之间的距离比图4a中的短。这些抽象特征对预测问题具有重要意义。
本文所使用的网络结构即为2层Conv2D再加全连接层。
(3)时间信息提取
时间信息即使用LSTM。
(4)时空循环卷积网络
本文所使用的网络结构为一个DCNN(包括两层Conv2D和一层全连接层)、两个LSTMs和一个全连接的层组成。
6、总结
文章相对比较简单,难点在于数据预处理,不过数据预处理这块也可以一劳永逸。文章是17年的,在那会相对来说还比较新颖。
文章所使用的数据为2015年6月1日至2015年8月31日共92天的北京出租车GPS数据。所使用的交通网络并非北京市全网,也是二环到三环之间共278个路段。对于所有方法,将time lag设置为15,这表示使用15×2 = 30 min预测未来交通状态。
往期精彩:
深度学习100问-17:语义分割有哪些常用的评价指标?
深度学习100问-16:为什么U-Net在医学图像上表现优越?
深度学习100问-15:什么是深监督(Deep Supervision)?
深度学习100问-14:图像语义分割有哪些经典的上采样方法?
深度学习100问-13:深度学习如何制作个人数据集?
深度学习100问-12:深度学习有哪些经典数据集?
深度学习100问-11:什么是学习率衰减?
深度学习100问-10:如何部署一个轻量级的深度学习项目?
深度学习100问-9:为什么EfficientNet号称是最好的分类网络?
深度学习100问-8:什么是Batch Normalization?
深度学习100问-7:dropout有哪些细节问题?
深度学习100问-6:有哪些经典的卷积类型?
深度学习100问-5:如何阅读一份深度学习项目代码?
深度学习100问-4:深度学习应遵循怎样的论文研读路线?
深度学习100问-3:深度学习应掌握哪些Linux开发技术?
深度学习100问-2:深度学习应掌握哪些Git开发技术?
深度学习100问-1:深度学习环境配置有哪些坑?
一个算法工程师的成长之路
长按二维码.关注机器学习实验室