考虑上下游的LSTM短时交通流量预测

2019-01-14 02:31满春涛康丹青
哈尔滨理工大学学报 2019年5期
关键词:智能交通系统深度学习

满春涛 康丹青

摘 要:使用基于LSTM循环神经网络的短时交通流量预测模型分析了不同输入配置对交通流量预测精度的影响。首先,比较了同一车辆检测站点处交通流量、速度和占有率数据的不同组合对短时交通流量预测的影响。实验结果表明,在模型输入中包含速度/占有率信息整体来说可以增强模型的预测性能。为了在模型中引入空间信息,我们进一步考虑了目标车辆检测站点上下游的交通流量状况,分别测试了包含目标车辆检测站点和上下游6个车辆检测站点在内的16种不同的输入组合。实验结果表明,在模型中引入上下游交通信息可以显著提高短时交通流量预测的精度。

关键词:智能交通系统;交通流量预测;LSTM循环神经网络;深度学习;上下游交通信息

DOI:10.15938/j.jhust.2019.05.017

中图分类号: TP391

文献标志码: A

文章编号: 1007-2683(2019)05-0101-07

Abstract:We employ the long/short-term memory (LSTM) recurrent neural network to analyze the impact of various input settings on short-term traffic flow prediction performance. First, we compared the short-term traffic flow prediction performance for different combinations of traffic flow, speed and occupancy data on the same vehicle detection station (VDS). The results show that the inclusion of occupancy/speed information may help to enhance the performance of the model as awhole. In order to introduce spatial information into the model, we further include as inputs traffic variables from the upstream and/or downstream vehicle detector stations and test 16 different input combinations for traffic flow prediction. The experimental results show that the inclusion of both upstream and downstream traffic information in the model is very useful for improving the accuracy of short-term traffic flow prediction.

0 引 言

智能交通系统被认为是提高道路通行能力、缓解城市交通拥堵、降低汽车尾气排放、减小交通事故发生等诸多交通问题的有效解决方案。作为智能交通系统的关键技术之一,短时交通流量预测随着智能交通系统的不断发展一直吸引着交通领域专家的注意[1-5]。由于短时交通流具有高度随机性、非线性等特点,虽然经过了长期的研究并发展出多类预测模型,如何进一步提升交通流量预测的性能依然是一个有待解决的问题。

当前短时交通流量预测模型主要包括两大类:参数模型和非参数模型。参数模型主要有时间序列分析模型[6]、卡尔曼滤波模型[7]、多元线性回归[8]等;非参数模型主要有k阶最近邻模型,支持向量回归模型[9],人工神经网络[10]等。由于道路交通变化通常是复杂非线性、非平稳的随机过程,参数模型一般很难给出精确的解析公式,因此越来越多的研究者们将注意力转向非参数模型[11-12]。

近年来,深度学习作为机器学习的一类,受到越来越多的研究者们的注意。深度学习已经在分类任务、自然语言处理、降维、目标检测和运动建模等多个领域取得成功[13-17]。在短时交通流量预测方面,文[18]应用一个由自动编码机作为基本单元构建的深度学习框架来学习交通流量的特征,并成功的进行了高速公路交通流量的预测。文[19]进一步评估了堆叠自动编码机模型在不同时间的短时交通流量预测性能。

长短期记忆模型(long short-term memory, LSTM)作为一类特殊设计的循环神经网络(recurrent neural network, RNN)结构,可以学习时间序列中隐含的长期有用信息,并自动确定最佳的时间滞后长度,这对于具有长期时间依赖关系的交通流量序列处理来说十分有用。文[20]基于LSTM模型利用远程微波传感器数据对交通流速度进行了预测。文[21]应用LSTM模型进行了高速公路交通流量的预测,并证明LSTM模型的性能优越于大多数非参数模型。文[22]进一步评估了LSTM和GRU(gated recurrent units)模型在交通流量预测上的优势。

上述基于LSTM结构的交通流量预测工作主要使用历史交通流量数据作为输入。事实上,作为交

通流三要素的速度和占有率,同样对交通流量的预测有着重要的贡献。因此,本文采用LSTM循环神经网络搭建短时交通流量预测模型,首先将单个车辆检测站点(vehicle detection station,VDS)处的历史交通流量、速度和占有率数据作为短时交通流量预测的模型输入,分析了不同的输入变量组合对模型预测精度的影响。实验结果表明,相较于单纯的使用历史交通流量数据,在模型中引入速度/占有率信息整体来说能够提升模型的预测精度。其次,考虑到同一高速公路上相邻VDS间通常具有一定的相关性,也就是说可以在目标VDS的短时交通流量预测模型中引入上下游VDS的交通流量信息,即空间相关信息。通过组合不同的上下游VDS的历史交通数据,我们分别训练并比较了不同的输入组合对短时交通流量预测的影响。實验结果表明,上下游的交通流量信息能够显著提升目标VDS处的短时交通流量预测性能。

1 LSTM循环神经网络

1.1 循环神经网络

循环神经网络(recurrent neural network,RNN)是一种节点定向连接成环的人工神经网络,不同于前馈神经网络的地方在于循环神经网络的内部状态可以展示动态时序行为。因此可以利用它的内部状态来处理任意时序的输入序列,这使得循环神经网络在时间序列的处理上具有非常良好的效果。

常规的单向循环神经网络的结构如图1所示,其中展示的循环隐层仅包含一个神经元。左侧闭环表示循环隐层在时间上的逐次迭代,右侧序列为循环神经网络在时间上的依次展开。从图中可以看出序列中每个神经网络的隐层不仅与当前神经网络的输入层、输出层相连,还连接至下一个神经网络的隐层。这种连接方式考虑了前序样本对后序样本的影响,信息流单向的从一个神经网络的隐层流入下一个神经网络的隐层。

循环神经网络同样可以考虑前序样本和后序样本之间的相关影响,也就是说每个神经网络的隐层同时与上一个神经网络的隐层和下一个神经网络的隐层相连接,称之为双向循环神经网络。本文采用的是单向循环神经网络,即重点考虑之前时刻的历史交通流量数据,如何对下一时刻的交通流量预测产生影响。

1.2 LSTM的结构

传统的循环神经网络通常存在梯度消失和梯度爆炸问题,为了克服这一缺点,一些特殊设计的循环神经网络结构,例如LSTM,就被提了出来。LSTM循环神经网络在设计时被赋予了记忆能力,能够决定何时保持记忆以及何时遗忘某些确定的信息。因此,LSTM能够自动确定时间序列处理中最佳的时间滞后长度并有效缓解梯度消失以及训练困难等问题。

LSTM循环神经网络是由外部的RNN拓扑结构和内部的LSTM模块两部分组成的。典型的LSTM循环神经网络框架包括输入层、循环隐层和输出层3部分。区别于传统循环神经网络的循环隐层主要由神经元节点构成,LSTM循环隐层的基本单元是记忆模块。这个记忆模块包含一个能够储存时间状态的自连接的记忆单元和3个自适应的乘法门控单元,也就是输入门、输出门和遗忘门。

3个功能各异的门控单元,通过对记忆单元执行读、写和重置操作,分别决定了LSTM记忆模块中的信息流何时输入、输出和遗忘。这3个自适应的门控单元能够通过学习来决定何时打开和关闭,从而控制记忆模块中信息的流动,赋予LSTM能够记忆和处理长期时间依赖关系的能力。图2展示了LSTM模块的基本结构。

1.3 LSTM的计算公式

假定作为输入的时间序列为x=(x1,x2,…,xT),这里的T是预测时刻,同时假定记忆模块的隐层时间序列为h=(h1,h2,…,hT),那么LSTM记忆模块的真实输出序列y=(y1,y2,…,yT)可以通过依次迭代计算以下方程得到:

有两种经典算法可以用于训练循环神经网络模型:反向传播算法(back propagation through time,BPTT)和实时递归学习算法(real time recurrent learning,RTRL)。本文采用的是BPTT算法,因为BPTT算法在概念理解上比较简单,在计算时间上也相当有效。BPTT算法通过将循环神经网络展开成前馈神经网络进而展开计算,如图1所示。和标准的BP算法一样,BPTT算法同样依赖于一系列的链式传导法则。

对于循环神经网络而言,损失函数对隐层激活状态的依赖性不仅体现在隐层状态对输出层的影响上,还体现在隐层状态对下一时刻隐层状态的影响上。作为损失函数使用的平方误差和可以表示为以下形式:

2 基于LSTM循环神经网络的短时交通流量预测

2.1 问题描述

假定预测目标VDS在下一时刻(t+1)处的交通流量数据为x(t+1),可以使用p个VDS{si}pi=1在时间段(t-N+1,t)内的历史交通数据作为输入。如果我们把历史交通数据写成矩阵的形式,那么我们可以得到:

2.2 数据来源

本文中使用的实验数据来源于美国加州的开放接入交通数据库PeMS(performance measurement system,http://pems.eecs.berkeley.edu)。我们在美国北加州高速公路I5-S上随机选取七个相邻的VDS作为本次实验的研究对象。I5-S位于加利福尼亚州的圣华金县(ripon city, san joaquin county, California),包含三条检测车道。

VDS的数据以每30s更新一次的频率,从2009年10月1日采集到2009年11月30日,这些数据随后以5min为时间间隔进行聚合,发往并储存在加州大学伯克利分校的数据处理中心。所采集的数据集中每个VDS均包含17556个样本点,其中的前2/3被用于LSTM循环神经网络模型的训练,余下的1/3被用于模型的测试。数据集中的关键信息包括交通流量、速度和占有率等,为了确保模型的性能稳定,对于缺失和错误的数据记录,本文在数据清洗中使用时间上相邻的记录条目进行代替。

图3展示了所选用的7个VDS在高速公路上的相对位置。P为目标VDS,U1、U2和U3为P上游相邻的3个VDS,D1、D2和D3为P下游相邻的3个VDS。因此,本文拟解决的短时交通流量预测问题,可以进一步表述为如何利用U1、U2、U3、D1、D2、D3以及P 7个VDS处的历史交通数据,包括交通流量、速度和占有率信息,来预测目标VDS下一时刻的交通流量数据。

2.3 模型和参数设置

图4展示的是单层LSTM神经网络,从图中可以看出,历史交通数据{xt-N+1,xt-N+2,…,xt}依次输入模型,经过N步迭代之后,输出下一时刻的预测值x^t+1。通常来说,LSTM循环神经网络中包含的隐含层数越多,那么模型的表示和学习能力就越强,相应的也同样越容易过拟合。越深的網络模型同样需要的训练数据也越多,训练的难度也会越大,时间也会变长。

这里我们选择使用两层LSTM层和两层全连接层来构建LSTM循环神经网络。第1层为LSTM层(lstm_1)包含24个隐含单元,第2层为LSTM层(lstm_2)包含12个隐含单元,第3层为全连接层(dense_1)包含6个神经元,第4层为全连接层(dense_2)包含1个神经元。LSTM神经网络的可视化结果如图5所示。

完整的输入时间序列包含17556个历史时刻的交通数据,文中采用加窗滑动的方式指定历史时间序列的窗口大小为N。也就是说对于下一时刻的交通流量预测来说,模型可以利用包括当前时刻在内之前N个时刻的全部历史交通数据,包括交通流量、速度和占有率等。N作为模型的超参数之一,在训练中根据模型的预测性能同其它超参数一起进行调整。

为了最小化LSTM模型的训练误差,同时避免训练过程陷入局部极小值点,本文采用Adam优化器,也就是具有自適应学习速率的随机梯度下降(stochastic gradient descent,SGD)方法,来对BPTT算法进行优化。本文还采用归一化方法对数据进行预处理,并采用加权L1L2正则化和dropout方法来减少LSTM循环神经网络在训练过程中的过拟合。

本文选用Keras作为高层神经网络API,并使用Tensorflow作为后端来构建和训练模型,训练过程在配置有8GB内存和i7-6700KCPU的机器上完成。

2.4 性能指标

本文选取均方根误差(root mean square error,RMSE),平均绝对误差(mean absolute error,MAE)和平均绝对百分比误差(mean absolute percentage error,MAPE)共同作为评估和比较模型预测性能的指标。它们的定义如下:

3 实验与评估

3.1 结合速度/占有率信息的短时交通流量预测

短时交通流量预测,除了使用历史交通流量数据,还可以使用同一VDS处采集的历史速度和占有率信息。这3个变量共有4种不同的组合形式S1、S2、S3和S4,可以作为预测模型的输入,如表1所示。

通过对比4种不同输入配置下模型在7个VDS处的预测精度,我们可以轻易的发现,相对于单纯使用历史交通流量数据(S1),在短时交通流量预测中使用同一时刻的速度或占有率信息(S2或S3)可以提升模型的预测性能。S2和S3两种输入变量组合中均使用了同一VDS处的占有率信息,因此可以推断在短时交通流量预测模型中引入占有率信息作为输入,可以提高模型的预测精度。

速度信息在模型输入中的引入对于提高模型预测精度的效果是不确定的,在部分VDS中,引入历史速度信息可以提升模型的预测能力,而在其它VDS中观察不到相应的效果。也就是说,在模型输入中引入速度信息对于提升模型预测精度并非一直有效。

3.2 考虑上下游交通流量信息的短时交通流量预测

目标VDS处短时交通流量的预测除了使用目标VDS的历史交通流量数据,还可以使用上下游相邻VDS的历史交通流量数据。本文中的目标VDSP和上下游的6个相邻的VDS的历史交通流量数据可以构成总共16中不同的输入变量组合。同样针对不同的输入变量组合,训练和测试相应的LSTM循环神经网络模型,得到各个模型的短时交通流量预测精度如表3所示。

表3中预测性能最好的前3个模型分别是模型16、15和11,预测精度最差的后3个模型分别是模型1、2和4,其中模型1仅使用目标VDSP处采集的历史交通流量数据,而不使用相邻VDS的历史交通流量信息,其预测精度在所有模型中最低,MAPE为13.22%,而模型16使用了全部7个VDS的历史交通流量数据,其预测精度最好,MAPE为9.26%,相对于模型1提高了3.96%。

从表3中可以看出,整体上使用上下游相邻VDS的历史交通流量数据能够提高目标VDS处短时交通流量预测的精度,所使用的相邻VDS的数目越多,模型预测性能提升的空间就越大。同时对比不同的模型预测性能,还可以发现上下游相邻VDS的历史交通流量数据对目标VDS处的短时交通流量预测性能的影响并不相同。由此可见LSTM循环神经网络模型除了利用目标VDS处历史交通流量数据的时间相关关系,还利用了上下游相邻VDS的空间相关关系。

4 结 论

本文基于LSTM循环神经网络模型,分别研究了速度、占有率信息以及相邻车辆检测站点的历史交通流量数据,对目标车辆检测站点短时交通流量预测性能的影响。LSTM循环神经网络模型可以自动确定最优的时间滞后长度,并且提供了一个灵活的框架来允许多种不同的变量组合作为模型的输入。

我们采用美国加州的PeMS公共数据库中的数据集针对不同的输入配置,构建、训练和测试了多个不同的短时交通流量预测模型,并得到以下结论:

1)单独使用历史交通流量数据进行短时交通流量预测有着不错的预测精度,在模型输入中引入历史占有率信息,可以提高模型的预测性能。

2)联合上下游相邻车辆检测站点的历史交通流量数据共同作为预测模型的输入,可以显著提升模型的短时交通流量预测性能。

本文在实验过程中主要使用了7个相邻VDS在两个月内的交通流量、速度和占有率数据,VDS个数以及数据量有待进一步提高。在未来的工作中,我们将从单条链路拓展到多条链路组成的路网,并将使用全年的历史数据,从而考虑更多的时间和空间相关信息。

参 考 文 献:

[1] 马建, 孙守增, 芮海田,等. 中国交通工程学术研究综述·2016[J]. 中国公路学报, 2016, 29(6):1.

[2] ZHANG J, WANG F Y, WANG K, et al. Data-Driven Intelligent Transportation Systems: A Survey[J]. IEEE Transactions on Intelligent Transportation Systems, 2011, 12(4):1624.

[3] 谢印庆, 姜莉, 王鲁云,等. 一种快速车流量检测算法[J]. 哈尔滨理工大学学报, 2016, 21(4):19.

[4] 康维新, 杨文彬, 李鹏,等. 交通流量远程发布系统设计[J]. 哈尔滨理工大学学报, 2012, 17(5):39.

[5] 柳长源, 孔凡宁, 冯晋文. 基于GPS和SD卡存储的交通信号采集系统[J]. 哈尔滨理工大学学报, 2017(3):25.

[6] 唐毅, 刘卫宁, 孙棣华,等. 改进时间序列模型在高速公路短时交通流量预测中的应用[J]. 计算机应用研究, 2015, 32(1):146.

[7] 郭海锋, 方良君, 俞立. 基于模糊卡尔曼滤波的短时交通流量预测方法[J]. 浙江工业大学学报, 2013, 41(2):218.

[8] GHOSH B, BASU B, O'MAHONY M. Multivariate Short-Term Traffic Flow Forecasting Using Time-Series Analysis[J]. IEEE Transactions on Intelligent Transportation Systems, 2009, 10(2):246.

[9] 姚衛红, 方仁孝, 张旭东. 基于混合人工鱼群优化SVR的交通流量预测[J]. 大连理工大学学报, 2015(6):632.

[10]殷礼胜, 何怡刚, 董学平,等. 交通流量VNNTF神经网络模型多步预测研究[J]. 自动化学报, 2014, 40(9):2066.

[11]谢印庆, 姜莉, 王鲁云,等. 一种快速车流量检测算法[J]. 哈尔滨理工大学学报, 2016, 21(4):19.

[12]康维新, 杨文彬, 李鹏,等. 交通流量远程发布系统设计[J]. 哈尔滨理工大学学报, 2012, 17(5):39.

[13]段艳杰, 吕宜生, 张杰,等. 深度学习在控制领域的研究现状与展望[J]. 自动化学报, 2016, 42(5):643.

[14]唐少虎, 刘小明, 陈兆盟,等. 基于计算实验的城市道路行程时间预测与建模[J]. 自动化学报, 2015, 41(8):1516.

[15]DUAN Y, LV Y, LIU Y L, et al. An Efficient Realization of Deep Learning for Traffic Data Imputation[J]. Transportation Research Part C, 2016, 72:168.

[16]DUAN Y, LV Y, WANG F Y. Travel Time Prediction with LSTM Neural Network[C]// IEEE, International Conference on Intelligent Transportation Systems. IEEE, 2016:1053.

[17]CHEN Y Y, LV Y, LI Z, et al. Long Short-term Memory Model for Traffic Congestion Prediction with Online Open Data[C]// IEEE, International Conference on Intelligent Transportation Systems. IEEE, 2016:132.

[18]LV Y, DUAN Y, KANG W, et al. Traffic Flow Prediction With Big Data: A Deep Learning Approach[J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16(2):865.

[19]DUAN Y, LV Y, WANG F Y. Performance Evaluation of the Deep Learning Approach for Traffic Flow Prediction at Different Times[C]// IEEE International Conference on Service Operations and Logistics, and Informatics. IEEE, 2016:223.

[20]MA X, TAO Z, WANG Y, et al. Long Short-term Memory Neural Network for Traffic Speed Prediction Using Remote Microwave Sensor Data[J]. Transportation Research Part C Emerging Technologies, 2015, 54:187.

[21]TIAN Y, PAN L. Predicting Short-Term Traffic Flow by Long Short-Term Memory Recurrent Neural Network[C]// IEEE International Conference on Smart City/socialcom/sustaincom. IEEE, 2015:153.

[22]FU R, ZHANG Z, LI L. Using LSTM and GRU Neural Network Methods for Traffic Flow Prediction[C]// Chinese Association of Automation. IEEE, 2017:324.

(编辑:温泽宇)

猜你喜欢
智能交通系统深度学习
无线网络技术在智能交通系统中的应用研究
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现