张盛涛,方纪村
(1.江苏自动化研究所,江苏 连云港 222061;2.连云港杰瑞电子有限公司,江苏 连云港 222061)
随着生活水平不断提高,国内汽车保有量正在大幅度攀升。截止2018年6月底,我国机动车保有量已达3.19亿辆[1],车辆增加伴随交通拥堵、交通事故频发,如何解决大车流量下的交通拥堵系列问题成为智能交通亟待解决的核心问题。通过研究道路旅行时间,对改善交通拥堵的问题有帮助。道路旅行时间是指车辆通过一定距离的所用时间,作为智能交通的重要参数,它能很好地反映交通的流畅程度。准确的旅行时间预测可以给城市规划提供意见,还能减少居民出行时间,给居民出行带来便利。
基于旅行时间预测的必要性,国内外涌现出较多旅行时间预测的方法。预测效果较好的方法和模型包括:SVM模型、ARIMA模型、kNN模型、BP神经网络模型算法以及深度学习算法。SVM[2]模型预测中,通过把路段进行合理分段,在考虑交通量的基础上建立模型,对于小样本和高维数据集结果较好;ARIMA及其衍生模型[3]使用行程时间的历史序列拟合时序模型,然后使用该模型逐步预测未来的行程时间;kNN算法[4]首先找出与当天最相似的k天,然后将这k天的旅行时间平均值作为当前时刻的旅行时间;BP神经网络模型[5]通过训练样本数据,修正该模型两个重要参数(网络权值和网络阈值),从而使得误差函数沿着负梯度的方向下降,最终使得结果和期望值越来越接近;卡尔曼滤波算法[6]估计并预测旅行时间,一旦有新的观测值便更新预测结果。
近年来人工智能的蓬勃发展,深度学习逐渐出现在人们的视线之中。深度学习的概念最早是由Hinton等人于2006年提出,Hinton基于深度置信网络(DBN)改进优化,提出非监督贪心逐层训练算法,解决了当时对深层结构难优化、难处理的问题[7]。深度学习神经网络来源于传统神经网络,又高于传统人工神经网络,远远多于传统人工神经网络的层数让深度学习更接近人类的大脑结构,学习能力较强,尤其是处理时间序列相关的数据结构。
基于深度学习算法在处理深层结构相关的难题上所体现出的优势,国内外均有较多的研究人员参与此方向研究。C Siripanpornchana 等[8]基于深度置信网络(DBN),通过对DBN的优化,提出旅行时间预测模型:使用一组受限玻尔兹曼机(RBM)来以非监督方式从数据中自动获取一般的交通特征,然后用Sigmoid这一逻辑回归函数以监督方式预测旅行时间,实验结果表明其提出的置信网络在预测精度方面表现优异;Zhang等[9]提出一种适用于高速公路的栈式自编码器模型,该模型的主要过程是:通过高速路口的收费站获取车辆通过的时间差,以此得到单小时的平均速度,然后用历史数据训练该栈式自编码器模型,最后用前3个小时的旅行时间数据预测下1个小时的旅行时间,实验结果表明,和传统BP神经网络相比,该方法均方根误差降低了13.6%;鉴于当前交通相关研究未将时空特性很好的应用到速度预测上来,Wang等[10]提出一种误差反馈递归神经网络结构(ErCNN),通过整合相邻路段的时空交通速度作为输入,利用相邻路段之间的隐式相关性,以提高预测精度。通过进一步将单独的误差反馈神经元引入递归层,ErCNN从误差中学习,以解决早高峰和交通事故等突发事件所带来的问题;Duan等[11]利用Highways England所提供的旅行时间数据,构造了66组LSTM神经网络,用于数据集中的66个环节,通过模型训练和验证,得到每个链路在设定范围内的最优结构,然后在测试集上进行预测,实验结果表明平均相对误差较小,考虑序列关系的神经网络模型在交通预测中具有广泛的应用前景。
综上所述,综合深度神经网络在处理复杂函数的高效、超强的计算能力以及最接近人类大脑结构的特点,它能给城市道路旅行时间的预测带来新的发展方向。本文基于深度学习神经网络结构,提出改进的时间型LSTM(长短期记忆神经网络),并把它应用于实际的旅行时间预测中,取得了较好的预测效果。
LSTM的出现是为了解决RNN(Recurrent Neural Network)的长期依赖问题,简而言之,就是RNN在处理时间序列较长的情形下,容易出现梯度消失的问题。所以,LSTM广泛地用于处理和预测时间序列延迟相对较长的情况。基于这一特点,将LSTM应用于对历史数据要求较高的交通领域是很有必要的。
LSTM模型的链式结构如图1所示,和多数循环神经网络一样,均由重复的模块组成(图中A代表一个模块)。
图1 LSTM链式结构
LSTM的模块主要由三个门控制组成,由左至右主要由输入门、遗忘门和输出门。输入门决定加入哪些新信息it、遗忘门决定舍弃哪些信息ft、输出门决定输出ht。
本文针对交通旅行时间的特点提出改进的T-LSTM预测模型,改进内容主要包括以下两方面:
1)将一天96个时间段作为数据和旅行时间作为二维数组输入(充分利用时间在交通中的重要作用,在不同天的同一时刻的交通流情况具有相似性,以此来提高预测精度);
改进T-LSTM的训练算法超参数:隐藏层个数:100输入层维数:2输出层维数:1学习率:0.0006输入:训练集Xtraining={x1,x2,…,xt} 和测试集Xtesting={xt+1,xt+2,…,xn}输出:训练完成的T-LSTM模型主要步骤: 步骤1:分割数据集1. 定义输入层、输出层的权重、偏置2. 对X按列进行MinMax缩放3. 训练集X和Y初定义4. 分割数据集后得到返回值train-x,train-y,test-x,test-y以及bach-index 步骤2:LSTM层5. 设置bach-size、time-step、输入权重和偏置6. tensor转为2维进行计算,结果作为隐藏层输入;tensor转为3维,作为cell输入,cell定义7. 使用训练集Xtraining={x1,x2,…,xt}利用LSTM公式进行前向递推计算,更新网络状态,同时计算得到预测值8. 得到输出层权重、偏置 步骤3:训练模型9. 定义损失函数loss10. 重复训练30 000次,每百次输出一次损失值,同时保存模型11. 得到预测结果test-predict, 以及误差rmse,acc等值
本文采用的实验数据来源于Highways England[12]。Highways England综合多个数据源,包括车牌自动识别摄像机、车载GPS以及道路中的感应线圈,并使用临近时刻或其他天同一时刻的旅行时间补全缺失的旅行时间。最终,Highways England提供各个路段在各个时刻的旅行时间数据。数据中一个时刻指的是15分钟,所以每个路段每天有96个时刻的旅行时间数据。每个路段每个时刻的旅行时间数据实际值指的是该时刻内从该路段起点出发的所有车辆完成路段所需时间的平均值。本文使用的是2015年道路AL1000(A38位于A513和A5127中间的部分)路段的旅行时间数据。
本文以29:1的比例划分训练集以及测试集,即将数据集的前29天用来训练,后1天用来测试。
预测的评价指标主要包括平均相对误差(MRE)、平均绝对误差(MAE)、均方根误差(RMSE)以及平均绝对百分误差(MAPE)。鉴于MAPE不仅考虑测量值和真实值之间的误差,最后还以误差占真实值的百分比形式展现,能很好地反映预测的误差。故本文选择平均绝对百分误差(Mean Absolute Percentage Error,MAPE)指标来评估路段旅行时间预测方法的性能,其计算公式如式(1)所示。
(1)
本文采用时间相关LSTM模型,基于Highways England的数据集,将一天分为96个时刻,即将时刻数据和旅行时间数据两组数据同时作为输入,预测结果作为输出。同时,模型是在Google的第二代分布式机器学习系统Tensorflow[13]上运行的,TensorFlow在设计神经网络结构的简洁度,分布式深度学习算法的执行效率以及部署的便利性等方面均有优势。
首先固定训练次数,通过调节LSTM隐藏层的节点数来得到最优模型,比较MAPE值来选取最优的隐藏层节点数。其比较结果如图2所示:最优的节点数为100。
图2 不同节点数条件下MAPE值对比
时间型LSTM模型与支持向量机模型、时间序列ARIMA模型、kNN(k-Nearest Neighbor)模型、以及传统BP神经网络模型的旅行时间预测精度对比如图3所示:LSTM预测方法优于其他四种模型。虽然改进T-LSTM较T-LSTM只提高了1%,但运行速率更快(由35分钟缩短到15分钟),说明改进时间型LSTM模型在道路旅行时间预测方面有较大的优势和发展前景。
图3 LSTM模型与其他模型MAPE对比
最后将每四个时刻的值合并,得到单小时的预测值,画出相应的曲线对比图4所示。erf函数的引入使得收敛时间更短,且erf函数值更集中,从而达到减少训练时间和提高预测精度的目的。
从图4中可以看出,改进T-LSTM模型的预测趋势和真实值的趋势很接近,有较好的预测效果。
图4 改进T-LSTM模型与真实值对比
本文在介绍了深度学习中的长短期记忆神经网络(LSTM)的概念和工作原理的基础上,考虑改进时间相关LSTM神经网络架构,对深度学习在城市交通旅行时间的预测方向进行了研究和探索。首先,固定模型训练的次数,测试不同的隐藏层节点数的预测性能,其次将改进的T-LSTM模型与T-LSTM模型,支持向量机模型、时间序列ARIMA模型、kNN(k-Nearest Neighbor)模型、以及传统BP神经网络模型进行了对比分析。实验结果表明,相比于支持向量机模型、时间序列ARIMA模型、kNN(k-Nearest Neighbor)模型,以及传统BP神经网络模型,改进的时间型LSTM模型在训练效率以及预测精度上都有较大的优势。
基于深度学习的旅行时间预测方法减少了人为因素的干预,且具有自动融合复杂因素的潜力,适合应用在大规模路网中路段旅行时间预测。在人工智能(AI)的大背景下,深度学习在交通方面的应用将会越来越多,研究成果对于我们生活工作的影响也会越显著。