李磊,张青苗,赵军辉,聂逸文
1.华东交通大学信息工程学院,江西南昌330013
2.江西省车联网关键技术工程实验室,江西南昌330013
3.北京交通大学电子信息工程学院,北京100044
智能交通系统(intelligent transportation system,ITS)将信息技术、计算机技术、传感器技术、人工智能等有效地综合运用于交通运输、服务控制,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、节约能源的综合运输系统,是智慧城市建设的重要一环[1-2]。短时交通流预测作为ITS中的重要组成部分,主要利用过去历史时段的交通流序列数据对未来时间段交通流量进行预测,其主要目标在于提供准确、及时的交通流信息,为相关的交通控制决策提供依据,提高交通诱导效率。同时交通流模型预测结果还可以反映未来时间段和交通流量之间的关系,为打造新一代智慧路网提供参考。因此,交通流预测研究具有重要的现实意义[3]。
为了满足智慧交通对交通流预测的高精度需求,众多国内外研究人员主要集中在交通流序列的特征提取、预测模型建立等关键技术领域开展研究,其中预测模型按预测方法可分为3类:基于参数的预测、基于浅层机器学习的预测、基于深度学习的预测。
基于参数的预测方法的典型代表是差分整合移动平均自回归模型(autoregressive integrated moving average model,ARIMA)[4]。ARIMA最早于1970年提出,其模型结构相对简单,在早期受到广泛重视。文献[5]将ARIMA应用于交通流量预测;文献[6]指出了ARIMA难以捕捉交通流序列时空相关性特征的缺陷。基于浅层机器学习的预测方法主要包括支持向量回归(support vector regression,SVR)、K近邻模型等[7]。文献[8]提出将SVR模型应用于交通流预测时发现:SVR预测模型遇到高维数据时,处理速度相对较为缓慢且计算成本相对较高,输出存在延迟。基于深度学习的预测方法主要包括长短时记忆神经网络(long short-term memory,LSTM)、门控循环单元神经网络(gated recurrent unit,GRU)和堆栈式自编码器神经网络(stacked auto-encoders,SAEs)等[9-10]。
随着人工智能技术的发展和相关硬件计算能力的增强,深度学习模型已成为当前的研究热点,广泛应用于交通流预测领域。但在实际应用中,基于深度学习的预测方法也存在一些问题。文献[11]采用LSTM模型预测短时交通流,仿真结果表明:LSTM网络本身无法捕获数据的空间特征,必须人工将空间信息编码作为网络的输入,从而影响了预测精度。文献[12]仿真实验表明:受时空相关性等特征的影响,相连区域之间的交通流序列之间也会相互干扰,这也直接影响了预测模型的精度。另外,在训练预测模型的过程中,交通流存在的时空特征会引发模型的自适应学习率方差较大的问题,进一步影响到预测模型的精度。因此,如何充分提取交通流时空特征的问题是基于深度学习预测模型亟待解决的问题。
为了充分提取交通流序列的时空特征,提供准确、及时的近期交通流信息,进而提高交通诱导效率,本文提出了一种以卷积神经网络(convolutional neural network,CNN)和LSTM网络为结构基础的短时交通流预测方法。通过使用多层CNN网络提取交通流量的空间特征,并运用多层LSTM网络捕捉交通流的时间依赖特征,并结合改进后的自适应矩估计(rectif ied adaptive moment estimation,RAdam)优化算法机制进行模型的优化训练[13]。本文主要创新点如下:
1)为解决交通流序列的空间特征提取问题,提出了CNN网络分层提取方法使设计的网络结构和一维卷积核函数自动提取交通流序列的空间特征,达到了对交通流序列空间特征自动提取的目的;
2)为充分提取交通流序列的时间依赖特征,提出了利用多层LSTM网络模块来减少网络对数据的长时间依赖,达到提高预测精度的目的;
3)将RAdam优化算法应用于模型训练以提升预测模型的整体运行效率。
系统模型的整体框架图如图1所示[14]。交通流量监测设备会收集交通流量原始数据x,并将所收集到的历史交通流数据传至云端服务器。在云端服务器中完成数据处理、模型处理、模型评估等一系列操作,输出的结果为交通流预测序列h。随后云端服务器将预测信息传至基站,基站通过车路协同通信技术(vehicle-to-infrastructure,V2I)将交通流预测信息广播至基站覆盖区域范围内的所有车辆。与此同时,车辆之间也可以通过车车通信技术(vehicle-to-vehicle,V2V)实现实时路况预测信息的动态交互[15-16]。
图1 系统模型框架图Figure 1 Framework of the system model
CNN网络是一种前馈式神经网络[17-18]。Abdeljaber等[19]研究表明,一维-CNN能够提取时间序列的相应特征[18-19]。根据文献[4]可知,交通流数据属于时间序列。因此,本文前处理部分将一维-CNN网络应用于交通数据流的空间特征提取。
为了更加直观地展示交通流数据处理过程,本文以流程图的方式展示改进CNN-LSTM模型中的一维-CNN网络的处理流程,具体如图2所示[20]。图2中的矩形框为特征检测器,主要用于时间序列特征的检测与卷积处理,时间序列数据多维矩阵处理过程如下:
图2 一维-CNN处理流程图Figure 2 Flowchart of one dimensional-CNN
卷积层1输入交通流数据序列,利用卷积操作生成特征矩阵。
卷积层2输入特征矩阵,利用卷积操作生成特征向量并输入到LSTM网络。
LSTM模型是时间循环神经网络中的一种,LSTM是在传统的循环神经网络(recurrent neural network,RNN)基础上引入输入门、遗忘门、输入门,解决了RNN网络存在的长期依赖问题[21]。图3展示了LSTM模型内部结构图,其网络结构参数如表1所示。
表1 LSTM网络结构参数Table 1 Structure parameters of LSTM network
图3 LSTM结构图Figure 3 Structure diagram of LSTM
本文将从CNN网络中获得到的特征向量输入到LSTM网络中,具体处理步骤如下[22]:
步骤1通过sigmoid函数计算遗忘信息,其表达式如下:
步骤2在单元状态中存储的信息量,可以通过一个输入门决定更新的信息
步骤3通过将遗忘门与输入门进行结合,计算出新的单元状态
步骤4在新的单元状态基础上计算出输出结果,将基于tanh压缩过后的输出和基于sigmoid门的输出相乘,tanh激活函数如式(12)所示,输出结果如式(13)和(14)所示,最终得到预测的交通流序列。
文献[12]研究发现交通流数据具有时空相关性特征,这使得相连区域之间的交通流相互影响[23]。在增加对交通流序列的时空特征提取的同时,本文提出利用RAdam优化算法增强CNN-LSTM预测模型的鲁棒性及收敛性,在减少模型训练时间的同时,降低所提出模型的预测误差,最终得到不错的预测精度[24]。改进的CNN-LSTM模型处理步骤如下:
步骤1首先将输入的历史交通流数据构造为包含交通流时空相关性特征矩阵X,定义为
步骤2将特征矩阵X输入到多层CNN中,提取出交通流数据的空间特征,得到交通流序列特征向量。
步骤3将特征向量输入到多层LSTM网络中提取时间依赖特征。
步骤4在完成模型网络结构的搭建之后,为防止数据过拟合及训练收敛时间较长,引入Dropout层并选择RAdam优化算法应用于模型的训练过程。所提出模型的内部结构如图4所示。
图4 模型内部结构图Figure 4 Internal structure of the model
步骤5模型训练完成后进行测试,最终输出预测的交通流序列,其描述为
式中:ht为t时刻预测的交通流量;h为预测的交通流量序列。
基于RAdam优化算法流程描述如下:
由于交通流数据具有一定的周期性和规律性,周末与工作日的交通流所体现的数据特性相差极大。为了充分验证所提模型预测交通流的有效性,本文选取了多种基准方法进行对比。第1类为单一模型,包括文献[11]构建的LSTM模型、文献[14]构建的GRU模型以及文献[15]构建的SAEs模型;第2类为组合模型,包括文献[16]构建的CNN-GRU模型、文献[18]构建的LSTM-SVR模型。为更直观地反映所提模型的预测效果,实验过程中选取了工作日及周末2个时段进行对比预测。本文选择Tensor Flow中的Keras神经网络库,在PyCharm开发环境(实验平台为2.5 GHz,4核,Inter®CoreTMi7-6700K,8 GB内存)中完成模型的搭建及训练。
本文选取的数据集来源于加州运输性能测量系统(performance measurement system,PeMS),该数据集包含26 654组数据,时间间隔为5 min,涵盖时间范围从2018年3月至2018年5月。
在实验过程中,为科学评估预测模型的优劣,本文选用了均方根误差(root mean square error,RMSE)和平均绝对误差(mean absolute error,MAE)作为模型的评价指标。定义式分别为
式中:yi为交通流的真实值;为交通流的预测值;n为选取样本的数量。
本文选取了一些具有代表性的深度学习方法及训练参数,各隐含层数及其他参数见表2。其中B代表Batch Size,表示1次训练所选取的样本数,其大小影响模型的优化程度和速度,同时也会直接影响到内存的使用情况。由于不同的训练样本数量的设定会使数据产生过拟合的现象,所以在训练模型过程中,本文尝试设定B为64、128、256、512。经过前期测试,当B为256时,既能够保证训练速度,又能够得到一个相对较低的训练及测试误差。E代表epoch数量,指代所有数据送入网络中完成一次前向传播及反向传播的计算过程。OPT代表优化器,用于更新和计算影响模型训练和模型输出的网络参数,使参数逼近或达到最优值,从而最小化(或最大化)损失函数。
表2 模型训练参数Table 2 Training parameters of model
3.3.1 模型误差评估
为了说明所提改进的CNN-LSTM模型在对短时交通流进行预测时的优势,尤其是所提模型在训练过程中的优势。本文在特征提取阶段按照不同时长窗口提取了空间特征,随后将特征向量输入到LSTM网络,将RAdam优化算法应用于所提模型的训练中,并将结果在图5中进行展示。为了更加直观地展示图5中不同方法对交通流序列的敏感性,以及各种方法的预测特性,本文以柱形图的方式展示各个模型的训练误差及验证误差。从图5中的结果可以清晰地看出,本文所提的预测模型相对于LSTM模型、SAEs模型、GRU模型、CNN-GRU模型及LSTM-SVR模型,其训练误差及验证误差相对较低,RAdam算法的融入使得本文所提的预测模型具有更好的鲁棒性、较低的训练误差与测试误差。
图5 不同预测方法的误差Figure 5 Errors of different forecasting methods
3.3.2 工作日时间段模型预测评估
针对工作日时间段的测试结果,从图6和表3可以看出,相较于单一LSTM预测模型,本文所提预测模型的RMSE和MAE分别降低了7.70和9.44,运行时间缩减13.29 s。由图6插图中的结果可以看出,本文所提的预测模型比单一的LSTM模型更贴近真实值,将本文的研究结果与文献[11]构建的LSTM模型进行对比,文献[11]仅采用了单一LSTM网络模型,对交通流序列只提取了时间依赖特征,没有充分挖掘出交通流量的空间特性。在前处理过程中,本文采用了CNN提取交通流序列的空间特征,在后处理过程中,采用多层LSTM网络提取交通流序列的时间依赖特征,并且在模型训练及测试过程中,将RAdam优化算法作为模型训练的迭代器进行训练。由仿真结果及评价指标可得,考虑引入交通流数据的空间特征能有效提高模型的最终预测精度。
同样地,相较于如文献[14]构建的GRU模型的其他单一模型,本文所提预测模型的MAE和RMSE分别降低了6.66和11.19,运行时间缩减了41.52 s,由研究及实验结果分析可得,GRU模型结构难以学习时间序列中对长时间的依赖特性。这也导致了GRU模型预测交通流序列的精度相对较低。
相较于其他组合模型文献[16]构建的CNN-GRU模型,本文所提的预测模型的MSE和RMSE分别降低了4.40和3.18,运行时间缩减了133.51 s。文献[16]通过卷积神经网络和循环网络的方式,对交通流数据提取了空间特征并进行了预测。从图6中的插图可以看出,本文模型比CNN-GRU预测模型更接近真实数值。本文通过融合的CNN与LSTM网络进行交通流预测,并将RAdam算法作为优化器应用于整个模型的训练过程,在同一数据集上的测试精度均有了相应的提高。由此可得,考虑引入交通流数据的时间特征能有效提高模型的最终预测精度。这也证明了时间依赖特性在交通流预测中所起的重要作用。
相较于文献[18]构建的LSTM-SVR模型,从图6中可以看出,本文所提的预测模型比LSTM-SVR模型更加贴合真实值。由表3可知,本文提出模型的MAE和RMSE相较于LSTM-SVR模型分别减少了0.29和1.79,运行时间缩减了80.41 s。从LSTM-SVR模型结构分析可知,利用LSTM模型对时间序列的强大记忆和特征提取功能,后续使用SVR对交通流序列进行训练和预测,用来预测的数据会因不同时间段等因素影响出现不同程度的随机误差,而标准SVR会对这些包含不同程度误差的数据赋予相同的惩罚系数,在不将惩罚系数设置过大造成训练欠拟合的情况下,包含更大误差的数据会降低LSTM-SVR模型整体的预测精度。
图6 模型对比预测结果(工作日)Figure 6 Comparison forecasting results of model(weekday)
表3 模型预测结果评价(工作日)Table 3 Prediction evaluated results of model(weekday)
3.3.3 周末时间段模型预测评估
针对周末时间段的测试结果,从图7和表4可以看出,相比于工作日时间段,本文所提的预测模型的RMSE、MAE均存在小幅度降低。
相较于如SAEs模型的单一模型,从图7中可以看出,本文所提的预测模型比SAEs模型更加贴合真实值。由表4可得,本文提出模型的MAE和RMSE相比较于SAEs模型分别减少了8.82和4.24,运行时间缩减了59.04 s。从SAEs模型结构分析可知,SAEs网络是由多层自编码器构建的组合网络,主要通过最小化输入与输出来生成重构误差。当面对交通流存在的异常数据时,SAEs网络内部平衡容易被打破,从而导致重构误差增大,这使得SAEs模型的鲁棒性较差,因而对SAEs模型预测精度会产生一定影响。
图7 模型对比预测结果(周末)Figure 7 Comparison forecasting results of model(weekend)
表4 模型预测结果评价(周末)Table 4 Prediction evaluated results of model(weekend)
实验结果表明,本文通过RAdam融合CNN与LSTM网络进行交通流预测,所提模型比上述的相似性研究在同一数据集上的预测性能均有相应的提高。
针对交通流序列存在的时空相关性等特征影响交通流预测精度的问题,本文提出了一种结合RAdam优化算法的CNN-LSTM模型方法。该方法以深度学习理论框架为基础,首先通过多层CNN提取交通流序列的空间特征,将CNN中输出的特征向量输入到LSTM多层网络中,并从中获取交通流序列的时间特征。在网络训练过程中,选择RAdam优化算法,经过模型训练及测试之后,最终获得预测的交通流序列。
仿真结果表明,在面对不同时间段交通流变化的情况下,本文所提的预测模型在面对不同的时间段状态下均能达到更精确的预测效果。相较于其他单一及组合模型,本文所提的预测模型的RMSE及MAE均有所降低。本文所提的预测模型精度均高于LSTM模型、GRU模型、SAEs模型、CNN-GRU模型及LSTM-SVR模型。本文所提的预测模型适用于不同时间段(工作日和周末)的交通流预测,在精度和实时性上均得到了有效提升。在未来的工作中,将考虑不同天气状态下的影响,增强预测模型的泛化能力,进一步提高算法的适用性。