殷 齐,丁 飞,朱 跃,李静宜,沙宇晨
(1.南京邮电大学 物联网学院,江苏 南京 210003; 2.南京邮电大学 江苏省宽带无线通信和物联网重点实验室,江苏 南京 210003)
城市交通流预测是实现智能交通系统的重要环节。高效的预测算法会帮助城市范围内所提供的交通资源来满足人们的出行需求,减少城市交通资源的浪费、降低交通拥堵的概率。如何利用海量的GPS数据来进行城市交通流量预测是一个重要的现实问题。
深度学习的方法能够有效地建立高维时空数据模型以进行城市流量预测。其中,RNN(Recurrent Neural Network,循环神经网络)最先被运用于交通流量预测之中,但是RNN在处理长期依赖问题上存在梯度爆炸和梯度消失等问题[1]。CNN-SVR[2]、CNN-LSTM(Convolutional Neural Networks-Long Short-Term Memory,卷积长短期记忆网络)[3-4]、CNN-LSTM-ResNet[5]和CNN-GRU[6]的混合模型为解决时空序列问题提供了新的思路。RNN的变种有GRU (Gated Recurrent Unit,门控循环单元)、LSTM(Long Short-Term Memory,长短期记忆网络)[7-8]等。一定程度上改善了RNN存在的问题。卷积神经网络具有获取空间特征的能力,如视觉识别任务[9-10]。研究人员利用卷积神经网络对交通流进行预测[11-13]。Zhang等提出了ST-ResNet(时空残差网络)[14]。ST-ResNet首次提出交通时空矩阵的概念,并构建交通流预测的深度学习网络。DMVST-Net(Deep Multiple View Spatio Temporal Network,深度时空多视图网络)[15]在CNN和LSTM网络的基础上添加了语义信息来加强各个空间区域之间的相似关系,进而提高预测性能。但结果来看,加语义信息后的效果并不明显。ISTResNet(Improved Spatio Temporal Residual Networks,改进的时空残差网络)[16]单纯地将残差网络的层数加深。STAR(Spatio Temporal mobility event prediction framework based on a single fully-convolutional residual network,基于单层全卷积残差网络的时空移动事件预测框架)[17]在ST-ResNet的基础上改进了输入数据的获取方式,将流量数据进行提前融合,DeepSTN(Deep Spatio Temporal Network,深度时空网络)[18]利用CNN来融合输入数据,设计ConvPlus捕获城市远距离空间依赖,但都没有提取时间特征。
ST-ResNet在时空特征提取时,获取的空间各点信息,没有融合其附近区域信息和对应通道上的交互信息,无法避免全局信息的干扰。同时,低层网络的特征信息表征能力弱及高层下采样损失过多信息,从而影响预测精度。该文提出基于残差自校验网络与多尺度融合机制的交通流预测算法,即MS-RSCNet(Multi-scale Residual Self Checking Network,多尺度残差自校验网络)。该算法提出一种残差自校验网络和引入融合多尺度特征的双向门控循环单元,解决以上问题,增加城市交通流量时空特征的提取能力,相比于其他预测算法,获得了更高的精度。
城市交通流量的预测方面,以时空数据为主,时空数据具有临近性、周期性和趋势性的特点。基于此,该文提出了基于残差自校验网络与融合多尺度特征的Bi-GRU (Bidirection-Gated Recurrent Unit,双向门控循环单元)的交通流量预测模型。该模型主要由两部分组成:第一、通过多层残差自校验网络提取不同尺度下的空间特征来说明空间依赖性;第二、将多尺度特征融合,通过Bi-GRU提取时间周期特征来描述时间依赖性,网络主要结构如图1所示。首先,利用CNN提取城市范围交通流量的时空特征;通过多层RSCNet网络自校验城市空间流量特征,并利用RSCNet网络提取出不同尺度下的空间特征,用以解决没有充分提取空间特征从而导致预测精度不高的问题。然后融合不同尺度下的空间特征,将融合后的特征输入到Bi-GRU中。通过Bi-GRU中单元间的信息传输实现长短时间周期特征的提取与表征。此外,Bi-GRU对于所提取的时间周期特征是按照等权的处理方式参与运算,具有显著性的特征则难以在网络中突出作用,因此,该文进一步引入注意力机制来提取流量数据的周期性来增强Bi-GRU所提取特征的显著性,从而提高交通流量预测的精度。最后,将学习到的时空特征通过全连接层,获得下个时刻的预测结果。
由城市交通流量的特性可知,未来时隙的流量依赖该区域的历史流量数据。通过规则格网划分将整个研究区域转换为规则格网,将格网内流量视为对应像素,从而将其转换为图像。为了方便空间关系表达,该文采用文献[14]的空间划分方式将该区域进行规则格网划分。
定义1(上下车流量):基于经纬度将城市交通流量划分为i×j大小的网格,每个网格代表一个区域。对于每个区域,有两种车流量,分别为下车流量和上车流量。它们分别定义为:
(1)
(2)
其中,g1→g2→…→g|Tr|为p上的轨迹,gk为地理空间坐标,gk∈si,j表示gk位于网格(i,j)内。s=(s0,0,…,si,j)表示城市流量空间特征,Si,j表示城市流量中第i行j列的流量数据。因此,使用上述定义,可以在每个时间间隔获得交通流量矩阵,下车和上车流量的矩阵可以堆叠为两个通道的图像张量。
(3)
该文通过图像数据来分析流量数据所具有的邻近性、周期性和趋势性的特征。成都市道路网络是方格式网络结构,比较适合进行网格划分,在2016年11月1、2、8三天在相邻天不同时隙、同一天不同时隙、相邻周同一时隙的流量特征体现了临近性、周期性和趋势性的特点,如图2所示,所以该文利用时间的邻近性、周期性和趋势性来选择建模的输入数据。
图2 临近、天、周时隙之间的流量特点
RSCNet网络是在残差网络的基础上进行优化的,在图3中,每个残差自校验单元中引入了自校验块。每个自校验块,给定四个分支的过滤层,然后统一地将输入input分成两个部分{input1,input2},然后每个部分都被输入到一个特殊的路径中,用于收集不同类型的上下文信息。在第一个路径中,利用{K2,K3,K4}对input2进行自校验操作,得到Y2。在第二个路径中,通过一个卷积层进行卷积操作,其目的是保留更多的原始空间上特征信息。在第一个路径中,为了能够提高每个城市空间区域中的上下文信息,在两个不同尺度空间进行卷积特征变换。一个为初始的空间分辨率,其中城市时空特征图与输入具有相同的分辨率,一个是通过平均池化进行降采样后的潜在城市空间特征。由于潜在空间特征变换后的交通流量特征具有较大的感受野,因此可以作为参考来指导原始特征空间中的特征变换。
每个自校验块首先采用卷积网络层将input分为两个分支input1和input2。input1经过分支输入到卷积网络层中,输出空间维度的短期流量特征,input2同时输入到分支2和分支3,经过分支2对空间和通道维度下采样处理与经过分支3的输出特征进行相乘,输出自校验后的流量特征,再经过分支4融合输出最终自校验特征,进而获得通道维和空间维的融合特征。通过分支5进行通道维的拼接融合,进一步地通过残差自校验单元中的卷积网络层,对特征变换进行指导,输出自校验特征矩阵。现结合图3说明残差自校验单元的结果输出过程:
图3 残差自校验结构
(1)将input输入到自校验块中,输出自校验特征矩阵C1,其过程如下:
input1=Relu(BN(Conv_a(input)))
(4)
input2=Relu(BN(Conv_b(input)))
(5)
Y1=Conv(Relu(BN(input1)))
(6)
K2=BN(Conv(AvgPool(input2)))
(7)
K3=BN(Conv(input2))
(8)
Y2'=K3·σ(input2+K2)
(9)
Y2=BN(Conv(Y2'))
(10)
C1=Relu(BN(Conv(Cat(Y1,Y2))))
(11)
其中,所有Conv_a和Conv_b为卷积网络,Relu为激活函数,BN为批量归一化层。AvgPool的池化率为2,卷积核和步长都设为2,通过AvgPool完成下采样。σ为通过sigmoid激活函数将值映射到区间[0,1]。·为相乘符号,Cat将两个输出Y1和Y2在通道维度上进行拼接。
(2)将C1输入到多个残差自校验单元中,输出最终的自校验特征矩阵Cn,增强提取时空特征的能力,从而提高交通预测的性能。整个残差自校验网络的结果输出的过程为:
Cn=CaliN(…(Cali4(Cali3(Cali2(C1))))…)
(12)
其中,每个残差自校验单元中的自校验块的通道数不同,通过之后的卷积网络,将所有的残差自校验单元的输出通道数统一。
卷积核的大小、步幅、位移决定了图像内提取特征的范围,其对应参与运算的地理范围,即对应的空间尺度。空间尺度越小,特征图能表示的原始图像范围越大,越能表现原始图像更大尺度的空间特征。反之,越能表现图像的局部特征。基于此,通过不同的卷积核、步幅、位移的大小,对每个残差自校验网络采用不同的尺度,然后将不同尺度的残差自校验网络的输出的多维特征向量扁平化为一维特征向量后进行拼接,通过不同权重的注意力机制,输入下一层网络中,实现不同尺度下的特征融合。通过不同空间尺度的交通流量图像特征进行融合,输出最终特征。其中多尺度融合机制的具体结构如图1所示,结合图1具体说明多尺度融合机制以及结果输出的过程:
将残差自校验网络中不同空间尺度的输出Cn进行拼接融合,通过注意力机制输出多尺度特征。其过程如下:
H=Cat(flatten(C1,…,Cn))
(13)
M=tanh(H)
(14)
∂=softmax(WM)
(15)
r=H∂
(16)
其中,flatten为向量扁平化操作,H为一维特征向量,tanh和softmax为激活函数,W为权重向量,r为带有不同权重的特征向量。
该文选用结构相对简单、训练时间较短且参数较少的GRU来进行时间特征的提取。尽管GRU的计算效率比LSTM网络高,但是由于门的减少,它的性能仍然排在LSTM网络之后。基于此,在GRU网络的基础上引入双向学习的功能。双向GRU的结构和连接如图4所示,其有两个方面的影响,一种是历史流量的时间联系,这有助于从过去的流量数据中学习时间特征,另一种是未来流量的时间联系,这有助于从未来的流量数据中学习特征。双向GRU网络的隐藏层要保存两个值,A参与正向计算,A'参与反向计算。最终的输出值y取决于A和A'。其中,A'和A都表示GRU单元。GRU单元使用更新门和复位门。更新门决定应该让过去的多少信息通过,复位门决定应该丢弃过去的多少信息,具体过程定义如下:
图4 GRU及双向GRU结构
rt=σ(Wr·[ht-1,αt])
(17)
ut=σ(Wu·[ht-1,αt])
(18)
ct=tanh(W·[rt*ht-1,αt])
(19)
ht=(1-ut)*ht-1+ut*ct
(20)
其中,式(17)、(18)为重置门和更新门操作,σ为sigmoid函数。通过使用sigmoid函数,决定让哪些值通过。通过重置门操作,将前一个时间步和当前时间步的串联值与rt相乘。这将生成希望从前面的时间步中丢弃的值。
选取北京交通GPS数据和天气、节假日数据集(TaxiBJ)和成都市交通GPS数据集(TaxiCD)。用两个真实数据集对模型的预测性能进行测试,数据分别来自北京市交通自带GPS设备收集的交通订单轨迹数据和滴滴盖亚数据平台。两个真实数据集划分如表1所示。
表1 数据集的规模
预处理:采用Min-max归一化方法将数据扩展到范围[-1,1]。在评估中,将预测值与groundtruth进行对比,重新缩放到正常值。对于外部因素,使用onehot编码将元数据(DayOfWeek,Weekend/Weekday)、假日和天气条件转换为二进制向量,并使用Min-Max归一化将温度和风速缩放到范围[0,1]。
建模:采用Adam(Adaptive Moment Estimation,自适应矩估计)作为优化方法,学习率初始化为0.001 5,均方根误差(RMSE)作为损失函数。文中所有模型均以预测数据和网络输出的RMSE损失函数为训练目标。对于数据集TaxiBJ,采用6个残差自校验单元,对于数据集TaxiCD,采用4个残差自校验单元。该文采用王等人的方法[17],构建输入数据。在形式上,分别假设邻近长度、周期长度、趋势片段长度为lc、lp、lq,参数lc、lp、lq分别设置为3、2、2。p和q分别设置为48和49和336和337。然后,使用完整的训练数据对模型进行100次迭代。每次迭代的批量大小为32,实现所有的实验均使用Python3.7、Keras框架。
多尺度设置:RSCNet的卷积核设置为3,将步幅分别设置为1、2和4,以此设置大小分别为32、16和8的尺度,自校验块中池化率设为2。RSCNet的输入通道为64,输出通道为2,W初始化为全为1的特征向量。
评估:实验选用常用的模型预测衡量指标均方根误差(RMSE)来对模型精度进行评价。均方根误差能够衡量观测值与真实值之间的偏差,其值越小说明模型的精度越高,计算公式如下:
(21)
式中,observedi为真实值,predictedi为相应的预测值,N为所有真实值的个数。
为验证MS-RSCNet模型比其他模型有更好的结果,实验选取ARIMA、CNN、ST-ResNet、STAR[17]四种方法进行对比。结果见表2。可以看到,MS-RSCNet模型优于其他模型,尤其在TaxiBJ数据集上的表现更为显著,相比STAR模型,将RMSE指标降低了0.41。而且MS-RSCNet模型无论是在TaxiBJ数据集上,还是在TaxiCD数据集上,都取得了更好的预测性能。由图5可知,在TaxiBJ数据集上,模型收敛。该文除了利用测试集进行未来一个时隙的流量预测外,也对未来多个时隙进行预测。由图6、图7可知,在TaxiCD和TaxiBJ数据集上,每个时隙预测的RMSE误差值都是最小的,获得的结果都是最好的。
表2 单步预测精度对比
图7 TaxiCD测试集上逐步RMSE结果折线图
给出了ST-ResNet算法的实现原理,并指出了ST-ResNet算法存在的两点问题,即获取空间各点信息时,没有融合其附近区域信息和对应通道上的交互信息,无法避免全局信息的干扰和低层网络的特征信息表征能力弱及高层下采样损失过多信息,从而影响预测精度。针对这两个问题,提出了基于残差自校验网络与多尺度融合机制的MS-RSCNet算法。通过MS-RSCNet算法中的残差自校验网络的空间特征处理和融合多尺度特征的双向门控循环单元的时间特征处理,以解决上述两点不足,并且描述了原理和处理流程。实验表明,将MS-RSCNet与之前的预测模型进行对比,具有更高的预测精度。