APP下载

深度学习在城市交通流预测中的实践研究

2015-08-14尹邵龙赵亚楠

现代电子技术 2015年15期
关键词:机器学习深度学习神经网络

尹邵龙 赵亚楠

摘 要: 短时交通流状态预测对于实现城市智能交通系统至关重要。在过去,很多神经网络模型被提出来用以预测交通流,但是效果并不是很显著。究其原因,是因为大多数都是利用浅层模型在学习,浅层模型由于容易陷入局部极值而且不能模拟更复杂的数学运算,所以并不适合于模拟现实的交通状况。深度学习作为机器学习的新兴学科,在语音与图像处理方面取得了显著的成效,它能够非监督地从数据中学习出有效的特征用以预测,故在此利用深度学习进行建模用以城市主干道交通流预测。实验表明,模型取得了不错的交通流预测效果。

关键词: 深度学习; 交通流预测; 神经网络; 机器学习

中图分类号: TN915.5?34; TP183 文献标识码: A 文章编号: 1004?373X(2015)15?0158?05

Practice and research on deep learning applied in urban traffic flow prediction

YIN Shaolong, ZHAO Yanan

(North China Institute of Computer Technology, Beijing 100086, China)

Abstract: Short?term traffic flow state prediction plays an important role in realizing urban intelligent transportation system. Many neural network models have been proposed to predict traffic flow in the past, and the effects are unsatisfied. The reason for this is that most models learning uses shallow model. Since shallow model is liable to sink into local extremum and unable to simulate more complicated arithmetical operation, it is not suitable for simulating actual traffic condition. As a new branch of machine learning, deep learning has made great success in the field of voice and image processing. It can learn valid features for prediction from data sets in an unsupervised way. Deep learning is applied to prediction urban main road traffic flow by modeling. The experimental results show that this method has achieved better traffic flow prediction effect.

Keywords: deep learning; traffic flow prediction; neural network; machine learning

0 引 言

随着社会的快速发展和机动车数量的急剧增加,城市交通日益趋向于拥堵,交通事故与空气污染也进一步加剧。在我国,北京、上海这样的大城市在中心市区的平均车速在高峰时期不足20 km/h,交通拥堵又进一步导致了能耗加剧与环境污染。研究结果表明[1],当车速由40 km/h降低至10 km/h时,能量损耗量会增长1倍,环境污染量会增加3倍以上。北京市汽车排放的氮氧化物、一氧化碳对环境分别占到46%和63%。所以,智能交通系统(Intelligent Transportation Systems,ITS)成为解决城市拥堵问题的关键途径。智能交通系统有效地利用当前先进的硬件和软件,对交通进行有效的综合管理。短时交通流状态预测(Short?term Traffic State Forecasting)作为智能交通系统的核心技术,它利用现有数据对交通流状况进行预测,进而帮助出行者进行路径规划,实现交通流诱导,从而缓解了交通拥挤,减少了环境污染。人们针对交通流预测,提出过不同的预测模型;但是由于城市交通流时间与空间上的复杂性,给预测结果的准确率带来了挑战。

深度学习作为机器学习的新兴学科,一经提出便受到了广泛的关注,像Google、微软、百度,都在研究与利用深度学习。它被成功地应用到了分类任务、自然语言处理、降维、图像识别等等方面。深度学习通过利用多层体系架构来有效地、非监督地提取出底层数据的潜在的典型特征,进而提供给高层进行分类与回归。交通流本身就是一个复杂的过程,深度学习架构能够帮助我们无先验知识却能有效地学习与抓住其中内在的复杂特征,进而有效地进行交通流预测。

本文提出了一个基于深度学习的交通流预测模型,通过训练并加以实现。实验结果表明,这种方法在交通流预测当中取得了不错的准确率。

1 背景介绍

1.1 交通流预测

交通流预测一直都被认为是实现城市智能交通系统(ITS)的关键技术问题。它利用以往历史数据对未来某段时间内交通流量进行预测。预测时段一般为5~30 min。

令[Xti]表示第[i]个交通道路在第[t]时间的交通流量,那么给定一个观察得到的交通流序列,[i=1,2,…,m;][t=1,2,…,T,]那么交通流预测即是根据这以往的交通流序列对于某条道路[{T+Δt}]时间段进行预测。其中[Δt]可以进行调节。

交通流预测模型一般包括两步,即特征学习与模型学习。特征学习即非监督学习,通过训练可以得到代表以往历史交通时间序列的一个特征代表模型[h。]经过特征训练后,以往的交通流序列[X]即可通过[h]转化为另外的一个特征空间[Y,]即[h(x)→Y;]模型学习即监督式学习,给定一组特征[Y]与目标任务[Z]的配对组[{(Y1,Z1),][(Y2,Z2),…,(Yn, Zn)}]学习预测模型[Zn+1=g(Y),]通过最小化目标损耗函数[L,]得到预测模型的适合的参数[W:]

[L(Z;W)=Z-g(Y)2] (1)

尽管预测模型之间互有差别,但是目标损耗函数大多数都是一样的。以往的预测模型可以分为三类[2]:

(1) 基于以往历史数据的时间序列法。自回归整合滑动平均模型[3](ARIMA)就是通过找到交通流随时间变化的模式,从而实现预测。相似的还有子集ARIMA[4],表达变量ARIMA(ARIMAX)[5],向量自回归移动平均(ARMA)和基于时间与空间的ARIMA[6],还有季节性的ARIMA(SARIMA)[7],卡尔曼滤波方法[8]等。

(2) 基于概率图模型的方法。通过概率图的方法对交通流进行建模与预测,常见的方法有:贝叶斯网络[9],马尔可夫链,马尔可夫随机场(MRFs),模糊逻辑[10]等。

(3) 非参数统计方法。由于这种方法能够很有效地模拟交通流不确定、复杂性和非线性等特点,所以它比其他方法取得的效果更好。例如神经网络(NNs),支持向量回归(SVR),局部加权学习(LWL),k?NN[11]方法,支持向量机(SVR)[12],随机微分方程[13]等。

总体说来,随着智能交通的发展,很多预测模型都被提出来了。但是,很难说某个具体的方法在所有交通流领域强于另外一个方法。因为这些方法大多数都是基于某些特定的数据进行建模的,并且预测结果也依赖于采集数据的准确性。然而神经网络(NN)由于能够有效利用历史数据与数据之间的关系,所以能够获得更好的健壮性与预测结果。可是现有的神经网络大多数都是基于浅层体系架构,当建立多层架构时,基于梯度下降的方法就不能有效地进行参数调节。深度学习作为一种新兴的神经网络,它解决了传统NN的训练问题,获得了比传统神经网络更好的实验效果。所以利用深度信念网络(DBN)可以对交通流模型进行预测与改进。

1.2 深度信念网络

深度信念网络(DBN)作为深度学习模型中最常见的一种模型,它是通过一系列的RBM堆积而成。每一层的RBM都只有一个隐藏层,每一层的输出作为下一层的输入。Hinton等人提出了一种可以快速的每次逐层训练DBN的方法[14],即每次训练一层。

RBM即限制玻尔兹曼机,它是马尔可夫随机场(MRFs)的一个特例。若一个二分图,每层节点互相之间没有连接,一层是可视层(visible),另外一层是隐藏层(hidden),且假设所有节点都是随机的、二值分布的,二层之间通过对称矩阵进行连接,并且概率分布满足玻尔兹曼分布,那么这就是RBM。可视层对应于输入,因为它们的状态已经被观察得到;隐藏层对应于特征探测,它们的联合组态能量方程[(v,h)]为:

[E(v,h)=-i∈vnbivi-j∈hnajhj-i,jnvihjwij] (2)

式中:[vi]和[hj]是输入[i]和特征[j;][bi]和[aj]分别是他们的偏移量;[wij]为它们之间的权重矩阵。因为隐藏层之间是相互条件独立的,即:

[P(hv)=jP(hj|v)] (3)

那么当[v]或者[h]给定时,便可以计算出它们的条件概率分布:

[P(hj=1v)=11+exp(-i=1nwijvi-aj)P(vi=1h)=11+exp(-j=1nwijhi-bi)] (4)

那么当给定一组训练集[{Vcc∈{1,2,…,C}}]时,其目标就是最大化这个模型的对数似然函数:

[c=1Clog p(Vc)=c=1Clogge-E(Vc,g)uge-E(U,g)] (5)

一般都是通过梯度下降法求得参数[wij,][bi]和[aj,]但这里可以用吉布斯采样法近似求得,即可视层[V]根据指定的规则采样出隐藏层[H,]然后再反过来采样出可视层[V,]这个过程可以重复很多次。经过多次的迭代,模型会忘记它的初始起点,这样就可以从它们的平衡分布中进行采样。最终,函数期望利用对比分歧(CD)方法在有限次内便可以得到近似值。把[N+1]次采样的算法标记为CD?[N。]实践中,一般用CD?1就可以得到合适的值。那么就可以得到权值[wij]的更新规则:

[Δwij=εω(Edatavihj-Emodvihj)] (6)

式中:[εω]为学习速率;[Edata]是根据初始模型分布当可视层输入的时候,隐藏层的期望输出;[Emod]是通过CD算法估计出来的期望输出。同理,[bi]和[aj]的更新规则与[wij]相类似。

[Δbi=εb(Edatavi-Emodvi)]

[Δbj=εb(Edatahj-Emodhj)] (7)

1.3 高斯?伯努利GBRBM

在普通的限制玻尔兹曼机(RBM)中,可视层的输入限制为0或1,这样对于模拟现实中像交通流这样的连续值是很不方便的。于是,可以通过高斯?伯努利GBRBM[15]来模拟真实数据。它通过加入高斯噪音的连续值来模拟真实的数据,进而替代了普通RBM的二进制的可视层输入,其能量函数改为:

[E(v,h)=i=1V(vi-bvi)22σ2i-j=1Hahjhj-i=1Vj=1Hviσihjwij] (8)

式中:[vi]表示可视层第[i]个真实值;[σ]是高斯函数的标准方差。通过方程就能让可视层表达获得某个特定连续值的优先权,根据能量方程[16],得到它们的条件概率分布为:

[p(vih)=N(bi+σij=1nhjwij,σ2i)p(hjv)=sigm(i=1nviwij+aj)] (9)

它的训练调参过程与普通的RBM没什么区别,都可以利用CD过程对参数进行调节。

2 体系架构

在此,建立了深度架构,底层是由GBRBM与RBM组成的DBN的架构,用于非监督的特征学习;顶层加入了一个回归层用作预测,当然顶层也可以替换为支持向量机(SVM)。建立的模型如图1所示。

图1 单条道路预测的深度体系架构

在DBN预训练以后,顶层再通过有标签的数据进行BP算法去做参数调整。这种方法要强于以往传统神经网络直接用BP算法做梯度下降调整,直观的原因为:DBN预训练后的参数已经接近于训练好,那么再做BP算法,只需要在已知参数里面进行一个局部的搜索,无论训练与收敛速度都快很多。此模型的训练步骤如下:

(1) 把交通流数据进行归一化到[0,1]之间,那么输入向量[X]便可以表示为:

[X={xtit∈T,i∈N}]

式中:[Xti]表示为第[i]条道路在第[t]时间的归一化后的数据。初始化训练次数、学习速率。

(2) 把向量[X]作为输入,通过CD过程训练第一层的GBRBM。

(3) 把GBRBM的输出作为上层的RBM的输入,训练RBM。

(4) 把RBM的输出作为上层的RBM的输入,训练RBM。

(5) 重复执行第(4)步直到执行完给定的层数。

(6) 最后一个RBM的输出作为顶层回归层的输入,随机初始化其参数。

(7) 通过监督式BP方法微调这个架构的参数。

最后通过训练得出的模型就可以作为预测模型,当给定一组输入向量后,便得到对应道路的预测输出。

3 实验及结果分析

3.1 实验数据描述

实验使用的交通流数据来源于英国官方交通流数据中心。数据集提供了每隔15 min的交通平均路途消耗时间、速度与交通流量,并且数据覆盖了英格兰地区的高速公路与A级道路(即城市主干道)。实验选取了英格兰的纽卡斯尔市与森德兰市之间的5条主要城市道路AL1065,AL1596,AL566,AL543,LM69。选取其中2014年9月份的数据,共有30天数据。其中前29天的数据用以训练模型,后1天的数据用以测试。

3.2 性能指标

两个最常见的性能指标参数为:绝对平均误差(MAE)和相对平均误差(MRE),定义如下:

[MAE=1ni=1nZi-ZiMRE=1ni=1nZi-ZiZi] (10)

式中:[Zi]为实际的交通流数值;[Zi]为预测值。在这里选择了MAE与MRE作为衡量标准。

3.3 架构实现

在深度体系架构中,需要决定其输入层的大小,隐藏层的层数,隐藏层每一层的节点个数。在此选择AL1065,AL1596,AL566,AL543,LM69中前两个时间段的交通流量作为输入,即共10个输入,道路LM69作为其预测输出。其中隐藏层分别为浅层的结构{10,10,4}与深层的结构{10,12,10,8,6,4},通过训练以后对道路LM69第30天做预测的结果如图2所示。

图2 单条道路不同深度预测的结果

图2中横坐标表示的为第[i]个15 min,纵坐标表示交通流量。从图可以看出深层结构预测的结果更加接近于真实值。

3.4 结果对比与分析

实验程序在Windows 7上开发完成,硬件条件为 Intel? CoreTM i7?4710MQ,4 GB内存,显卡NVIDIA Geforce 840 MHz。每次运算时间基本在30 min以上,大多数1 h内能完成。

实验中对DBN的BP过程调优次数epochs做了调整测试,结果发现大于某个数量时,DBN预测结果对于次数调整并没有大的影响。这也印证了DBN在预训练阶段参数的调整已经近乎较优的判断。

为了衡量深度架构的性能,同时也采用传统的MLP神经网络做了BP算法训练进行预测,并做了对比;结果发现,当训练层数增加时,BP算法的预测结果准确性反而降低了。这也说明传统的BP算法并不适应于深度架构。实验中MLP采用的是{4,4,5}浅层架构。

从图3可以看出,DBN架构相对于传统的MLP神经网络来说,无论在交通流的最高峰时期还是最低交通流量时,所预测得到的结果都更加准确。

MLP与DBN的性能指标对比如表1所示。

表1 性能指标对比

[\&MAE\&MRE\&DBN shallow\&14.83\&0.281\&DBN deep\&14.80\&0.279\&MLP \&20.93\&0.752\&]

图3 DBN与MLP对比的结果

从以上数据可以看出,深度学习架构随着层次越深相对平均误差也越少,并且相对于传统的MLP网络有大幅度的预测准确性提升。

4 总 结

本文第一次将深度学习架构应用于城市主干道的交通流预测中。相对于城市的高速公路,城市主干道交通具有更大的不确定性与多变性。进而给预测带来的挑战也更大。同时,模型也成功地通过深度学习发现了交通道路之间潜在的特征,如时间、空间上等的非线性关系。

在此首先建立了深度体系架构,通过逐层非监督式的预训练挖掘潜在特征,并利用回归层实现全局微调参数,进一步优化了预测结果。然后,对比了DBN与MLP,实验表明,DBN所获得的准确率要大大强于MLP模型。

本文提出的模型仍可以进一步改善,如顶层换为SVM等其他预测模型,模型的应用场景可以推广到整个城市的交通流预测等。

参考文献

[1] 邵春福,熊志华,姚智胜.道路网短时交通需求预测理论、方法与应用[M].北京:清华大学出版社,2011.

[2] HUANG Wenhao, SONG Guojie, XIE Kunqing. Deep architecture for traffic flow prediction: deep belief networks with multitask learning [J]. IEEE Transactions on Intelligent Transportation Systems, 2014, 15(5): 2191?2201.

[3] AHMED S A, COOK A R. Analysis of freeway traffic time?series data by using Box?Jenkins techniques [J]. Transportation Research Record, 1979, 722: 214?221.

[4] LEE S, FAMBRO D B. Application of subset autoregressive integrated moving average model for short?term freeway traffic volume forecasting [J]. Transportation Research Record, 1999,1678: 179?188.

[5] WILLIAMS B M. Multivariate vehicular traffic flow prediction?evaluation of ARIMAX modeling [J]. Transportation Research Record, 2001, 1776: 194?200.

[6] KAMARIANAKIS Y, PRASTACOS P. Forecasting traffic flow conditions in an urban network?comparison of multivariate and univariate approaches [J]. Transportation Research Record, 2003, 1857: 74?84.

[7] WILLIAMS B M, HOEL L A. Modeling and forecasting vehicular traffic flow as a seasonal ARIMA process: Theoretical basis and empirical results [J]. Journal of Transportation Engineering, 2003, 129(6): 664?672.

[8] YANG F, YIN Z Z, LIU H, et al. Online recursive algorithm for short?term traffic prediction [J]. Transportation Research Record, 2004, 1879: 1?5.

[9] SUN Shiliang, ZHANG Changshui, YU Guoqiang. A Bayesian network approach to traffic flow forecasting [J]. IEEE Transactions on Intelligent Transportation Systems, 2006, 7(1): 124?132.

[10] ZARGARI S A, SIABIL S Z, ALAVI A H, et al. A computational intelligence?based approach for short?term traffic flow prediction [J]. Expert Systems, 2012, 29(2): 124?132.

[11] DAVIS G A, NIHAN N L. Nonparametric regression and short?term freeway traffic forecasting [J]. Journal of Transportation Engineering, 1991, 117(2): 178?188.

[12] JEONG Y S, BYON Y J, MENDONCA C N, EASA S M. Supervised weighting?online learning algorithm for short?term traffic flow prediction [J]. IEEE Transactions on Intelligent Transportation Systems, 2013, 14(4): 1700?1707.

[13] TAHMASBI R, HASHEMI S M. Modeling and forecasting the urban volume using stochastic differential equations [J]. IEEE Transactions on Intelligent Transportation Systems, 2014, 15(1): 250?259.

[14] HINTON G E, OSINDERO S, THE Y W. A fast learning algorithm for deep belief nets [J]. Neural Computation, 2006, 18(7): 1527?1554.

[15] SALAKHUTDINOV R, HINTON G. Using deep belief nets to learn covariance kernels for Gaussian processes [J]. Advances in Neural Information Processing Systems, 2008, 20(1): 1249?1256.

[16] HINTON G E, SALAKHUTDINOV R R. Reducing the dimensionality of data with neural networks [J]. Science, 2006, 313(5786): 504?507.

猜你喜欢

机器学习深度学习神经网络
神经网络抑制无线通信干扰探究
大数据技术在反恐怖主义中的应用展望
基于网络搜索数据的平遥旅游客流量预测分析
前缀字母为特征在维吾尔语文本情感分类中的研究
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
基于支持向量机的金融数据分析研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定