钱淑韵
(同济大学电子与信息工程学院,上海 200092)
智慧交通系统是智慧城市的一个重要组成部分,为出行者提供便利、安全、智能的交通运输服务。在智能交通系统中,长时交通预测是一个重要问题,准确地预测未来某段时间内的交通状态变化有利于交通线路规划、防止交通拥堵等。
基于短时的预测模型进行简单的迭代也可以实现长时预测,但随着预测序列的长度增加,误差会不断累积,并且在捕获未来时间序列的趋势性和周期性方面具有一定的缺陷。Encoder-Decoder 模型是序列预测问题的一个通用框架,Seq2Seq(sequence-to-sequence)属于Encoder-Decoder 的一类方法的统称,其优点是输入序列和输出序列的长度可变,被广泛应用于长时交通预测问题。
本文将动态时间规整算法(dynamic time warping,DTW)[1]纳入长时预测方法的评估体系,考虑模型预测交通趋势性的能力。在国内外相关研究的基础上将多图卷积和注意力机制纳入Seq2Seq 结构中,提出一个基于多图卷积和注意力的长时交通预测框架,其中编码器是一个纳入多图卷积的GRU 网络,编码器的输出通过注意力机制层后输入解码器,得到最终的预测结果。此外,探讨不同的解码器结构对长时交通预测的影响。最后,在纽约自行车真实数据集上进行实验,验证所提出的框架在城市区域长时交通预测场景的性能。
Seq2Seq 由编码器和解码器组成,编码器基于输入的序列生成一个中间向量,解码器基于该中间向量输出预测序列。
常用的解码器结构主要包括全连接层FC、卷积神经网络CNN 这类简单的网络,以及循环神经网络。基于简单网络的解码器通常堆叠多个层,每个层的输出映射为未来某个时间片的预测值。STSGCN[2]和DSTAGCN[3]使用多个全连接层网络,AGCRN[4]则使用CNN 作为解码器,它们用于纽约高速公路车辆速度的长时预测。这种网络结构简单,计算速度快,但是捕获信息的能力有限。
基于循环神经网络的解码器通常将中间向量作为解码器的初始隐藏状态,DCRNN[5]的编码器和解码器都基于门循环单元(gate recurrent unit,GRU),解码器的每个GRU单元的输出对应未来某个时间片的预测结果。Multi-Graph[6]预训练阶段的编码器和解码器都基于长短期记忆神经网络(long short term memory network,LSTM),测试阶段的解码器基于全连接层。
在编码阶段和解码阶段可能会出现信息丢失, GMAN[7]为了减少解码阶段的误差传播效应,结合注意力机制计算未来每个时间片和历史时间片的相关性,得到的中间向量作为解码器的输入。
基于Seq2Seq结构的长时交通预测问题定义如下:给定城市的交通图结构G,一组由历史P个时间片的观察组成的时间序列,区域进出总流量{Xt|t=T-P+ 1,…,T- 1,T}和区域间的转移流量{St|T-P+ 1,…,T- 1,T},构建编码器模型ME和解码器MD,学习它们的最优参数ΘE和ΘD,ME基于历史交通数据生成编码特征Emd,MD基于编码特征预测未来Q个时间间隔的城市每个区域的交通状况。形式化表示为
短时序列预测的评估常采用每个时间片按点对点计算该时间片内的误差,然后取平均值,如MAE、RMSE 等。对于长时预测,不仅需要关注每个对应时间片的误差,未来时间序列的趋势性也很重要。例如某个方法可以捕获到未来时间序列的趋势,但存在着一定的滞后或提前,这种情况下只使用点对点的指标评估会忽略方法捕获趋势性的能力,而面向由于恶劣天气、道路突发事件等引起的交通拥堵等场景,未来时间序列的趋势性很重要。
动态时间规整算法(DTW)[1]用于计算两个序列的相似性,其中序列的每个时间片可以和另一个序列的一个或多个时间片匹配。因此,本文基于DTW 算法计算真实序列和预测序列的相似性,将其纳入长时交通预测的评估体系,使长时交通预测方法的评估更丰富。
考虑区域之间三种不同的依赖关系:①邻居关系:邻接的区域之间的关系很密切,并且某个区域与每个邻接区域的密切关系是可以不同的;②流量交互关系:由于交通便利,不邻接的区域之间也可能存在频繁的流量交互,并且这种关系会随时间动态变化;③交通模式关系:有些区域之间没有频繁的流量交互,但具有相似的交通模式,如距离较远的两个学校。
本文基于Seq2Seq结构,提出基于多图卷积和注意力的长时交通预测框架(multi-graph convolution and attention network for long-term traffic prediction,MGANL)。框架的结构如图1 所示,主要由以下四个部分组成:①多图生成模块:基于上文介绍的三种依赖关系,分别构建邻居图,流量交互图和交通模式图。②编码器:一个纳入多图卷积的GRU,用于同时建模时间相关依赖和多尺度的空间相关依赖,生成特征编码。③注意力机制层:引入注意力机制,对特征编码进行处理,生成解码器可用的中间向量。④解码器:基于中间向量和历史输入数据进行解码,得到最终的预测结果。本文不限定解码器的网络结构,仅提出一个预测框架,并探讨不同的解码器结构对长时预测的影响。
图1 基于多图卷积和注意力的长时交通预测框架
多图生成模块构建三个图来编码区域之间不同的依赖关系。其中邻居图AN编码邻接区域之间的关系,定义如公式(1)和公式(2)所示;流量交互图AF编码有频繁流量交互的区域之间的关系,通过归一化历史区域之间转移的流量来构建;交通模式图AP挖掘隐藏在历史交通数据中的依赖关系,t时间间隔内的交通模式图定义如公式(3)和公式(4)所示。其中,W和We为可学习的参数,Et∈ℝN×d,We∈ℝd×N,N为城市区域(图节点)个数,d为节点嵌入维度。
MGANL 的编码器使用纳入多图卷积的GRU(MGGCU),使用多图卷积替换GRU 中的MLP层,如公式(5)至(9)所示。其中,Et为交通模式图中学习的参数,W(·)和b(·)均为可学习的参数。连接编码器中每个MGGRU 单元的输出生成特征编码,即H=[h0,…,hP-1]∈ℝP×N×H,H为编码器的输出特征维度。
当输入或输出序列较长时,在编码阶段和解码阶段可能会发生信息丢失,注意力机制为缓解该问题提供了一个方向。本框架主要使用两种注意力机制:基于线性变换的注意力机制和基于点积的注意力机制。
编码器生成的特征向量H包含了编码过程中的上下文信息,记编码器中最后一个MGGRU单元的隐藏状态为Emd。对于解码器为非循环神经网络的模型,计算特征向量H和Emd的相似度,为编码过程中产生的上下文信息分配一个相应的权重,上下文信息的加权和作为中间向量C0。
对于解码器为循环神经网络的模型,将Emd作为解码器的初始隐藏状态,将中间向量C0和距离预测序列最近的历史交通状态堆叠作为解码器的输入。每次得到新的隐藏状态后更新Emd,重新计算H和Emd的相似度,得到新的中间向量Ci。
相似度的计算主要包含以下两种方式,分别为线性层变换(LA)和内积相乘(DA)。基于线性层变换的相似度计算过程如公式(10)至公式(12)所示。其中VT和Wh为可学习的参数,ᾶi为hi所对应的归一化权重。
内积相乘(DA)不再将H和Emd堆叠,而是分别输入线性层,然后计算输出的内积。具体计算方式如公式(13)和公式(14)所示。其中,Wk和Wq为可学习的参数。dk是隐藏特征的维度,用于缩放点积。
本文为短时预测模型扩展到长时预测提供参考,由于目前先进的交通预测方法大多基于动态图卷积,它们需要实时计算邻接矩阵,考虑到模型的复杂性,本框架使用一些较为简单的网络结构作为解码器,包括全连接层FC、卷积神经网络CNN和GRU。
FC 和CNN 结构简单,参数量少,运算速度快。基于FC 或CNN 的解码器可以有效降低模型的复杂性。使用多个FC 层或CNN 卷积核,如图2 所示,每个FC 或CNN 把中间向量映射为一维的时间维度,使每个时间片有独立的参数空间,其中C'为需要预测的属性个数。
图2 基于FC/CNN的解码器结构
基于GRU 的解码器相较于第一类结构,预测的多个时间片之间可以传递信息,但是计算速度相对较慢。如图3所示,中间向量作为解码器的初始隐藏状态,并且堆叠历史输入序列作为解码器新的输入。使用2.3 小节中介绍的相似度计算方法计算Emd和H的相似度,得到新中间向量C0∈ℝN×H。距离预测序列最近的Q个历史交通状态经过一个线性层后得到嵌入X'∈ℝQ×N×H。X't和Ci-1堆叠作为解码器中GRU单元新的输入,计算该单元的输出h'i和H的相似度,得到新中间向量Ci。解码器的第i个GRU单元的输出h'i通过一个线性层后映射为t+i时间片的预测结果。
图3 基于GRU的解码器结构
本文的实验平台为Windows10 系统,Intel(R)Xeon(R)CPU E5-2620 v4@2.10 GHz,NVIDIA GeForce GTX 1080Ti GPU。算法采用PyTorch1.8.0GPU框架和Python 3.6实现。
本文使用NYCBike[8]这个公开的真实交通数据集进行实验,评估本文所提出的长时交通预测框架。将纽约划分为10 × 20 的网格区域,NYCBike 数据集包含纽约市2016 年7 月~8 月的自行车租赁数据,每个时间片为30 分钟,数据采用Z-score的归一化方法进行预处理。
使用五个指标评估模型的预测性能,包括计算点对点误差的MAE、RMSE、MAPE、PCC指标,以及评估模型面向长时预测捕获趋势性能力的DTW指标。
基于历史12 个时间片内的交通流量数据,预测未来6 个时间片每个区域的流量进出情况,比较各个方法的总体性能,结果如表1所示。表格中的1 h,2 h和3 h三列分别表示第2,第4和第6个时间片的预测结果的误差,加粗的数值为该指标在当前时间片的最优结果。
表1 NYCBike数据集上各方法的总体性能比较
实验验证所提出的MGANL 框架在长时交通预测场景的有效性,关注不同解码器结构对于长时预测的影响。其中GRU-Decoder 表示编码器为GRU 的预测方法,MGNL 表示去除注意力机制的MGANL方法。
相比编码器为简单GRU 的方法,基于MGGRU 的方法明显表现较好,该类方法考虑区域间的多种相关依赖,可以取得更好的预测效果。对于编码器结构较为简单的情况,直接使用简单网络作为解码器表现相对较差。对于编码器结构较为复杂的情况,由于编码器具有良好的时空建模能力,解码器仅基于FC 和CNN 的方法表现优异,结合注意力机制的MGANL 方法与MGNL 方法相比预测性能有所提升,这验证了在编码阶段可能有一些信息存在丢失,而注意力机制可以补充这些丢失的信息。同时,这些信息可能会影响模型对序列趋势性的预测。
综上所述,通过对比各个模型面向长时预测问题的实验结果可以验证所提出的基于多图卷积和注意力的长时交通预测框架的有效性,注意力机制可以缓解在编码和解码过程中信息丢失的问题,有助于提高长时的交通预测性能。
面向城市区域长时交通预测问题,将衡量模型捕获长时趋势性能力的指标DTW 纳入评估体系,并提出一种基于多图卷积和注意力的长时交通预测框架。提出的框架基于Seq2Seq 结构,编码器基于纳入多图卷积的GRU,同时建模时间相关依赖和多尺度的空间相关依赖,生成特征编码。注意力机制层基于特征编码生成中间向量,减少编码和解码过程中的信息丢失。解码器基于中间向量和历史交通状态预测未来长时间的交通流量的变化情况。此外,研究不同解码器结构对长时预测的影响,有助于其他短时预测模型扩展到长时预测场景。通过在纽约自行车数据集上的实验验证了所提框架在长时交通预测场景的有效性。