交通流量预测方法、装置及电子设备

文档序号:33533302发布日期:2023-03-22 08:12阅读:48来源:国知局
交通流量预测方法、装置及电子设备

1.本公开涉及计算机技术领域,尤其涉及一种交通流量预测方法、装置及电子设备。


背景技术:

2.随着车辆数量的增加和交通的复杂化,智能交通系统(its,intelligent traffic system)越发重要。交通流量预测是智能交通系统中不可或缺的任务,交通流量预测可以基于历史交通数据预测未来的交通流量数据。准确高效的预测可以引导游客出行,辅助发布交通拥堵和人流堵塞预警,防止产生车辆事故和人流踩踏等。
3.早期的相关技术中,主要采用自回归移动平均(arima,autoregressive integrated moving average)和卡尔曼滤波(kf,kalman filtering)等统计方法进行交通流量预测,但这些方法只考虑了流量的时间线性相关性。
4.随后,支持向量回归(svr,support vector regression)和随机森林回归(random forest regression)等机器学习模型被应用于交通预测任务,但存在无法捕获路网中复杂的空间相关性的缺点。
5.最近,基于深度学习的模型展现了捕捉交通数据复杂时空依赖关系的良好能力。尽管与以往方法相比具有良好的性能,但上述方法均未能从本质上有效解决交通流量预测任务的以下关键挑战:一方面,交通时间序列的复杂时间模式之间的存在独立性,交通时间序列由每周周期、每天周期和波动组成,在时间维度相关程度较小;另一方面,道路网络上的多个传感器的位置关系包含显著的空间相关性,例如相邻道路总是记录相似的交通时间序列。


技术实现要素:

6.为克服相关技术中存在的问题,本公开提供一种交通流量预测方法、装置及电子设备。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种交通流量预测方法,应用于交通流量预测模型,所述交通流量预测模型包括输入层、输出层和多个结构相同的sthmlp层;所述方法包括:获取路网图,以及获取多个传感器采集的历史时间段内的交通流量观测值;将所述路网图和所述交通流量观测值输入所述输入层,得到所述路网图和所述交通流量观测值各自的向量表示;将所述向量表示输入第一个所述sthmlp层,以及将每个所述sthmlp层的第一输出输入下一个所述sthmlp层,其中,每个所述sthmlp层的第一输出为:该sthmlp层的输入与该sthmlp层生成的粗粒度的时空信息编码和细粒度的时空信息编码的残差;将每个所述sthmlp层的第二输出输入所述输出层,其中每个所述sthmlp层的第二输出为:对该sthmlp层的第一输出进行解码而提取到的细粒度的时空信息和粗粒度的时空信息;
获取所述输出层输出的对应于所述多个传感器的未来交通流量预测值。
7.可选地,第一个所述sthmlp层包括第一fine模块和第一coarse编码模块;所述将所述向量表示输入第一个所述sthmlp层,包括:将所述向量表示输入第一个所述sthmlp层,得到所述第一fine模块根据所述向量表示,生成的第一细粒度的时空信息编码;将所述第一细粒度的时空信息编码输入所述第一coarse编码模块,得到所述第一coarse编码模块输出的粗粒度的时空信息编码和第二细粒度的时空信息编码;将所述向量表示与所述第一coarse编码模块的输出之间基于减法的残差,确定为第一个所述sthmlp层的第一输出。
8.可选地,所述将所述向量表示输入第一个所述sthmlp层,得到所述第一fine模块根据所述向量表示,生成的第一细粒度的时空信息编码,包括:将所述向量表示输入所述第一fine模块,所述第一fine模块对所述向量表示进行二维离散傅里叶变换,得到频谱;将所述频谱与空间滤波器进行点乘,得到第一调制频谱,所述空间滤波器是预先训练得到的;将所述频谱与时间滤波器进行点乘,得到第二调制频谱,所述时间滤波器是预先训练得到的;将所述第一调制频谱和所述第二调制频谱之和,确定为调制频谱;对所述调制频谱进行二维离散傅里叶逆变换,得到所述第一细粒度的时空信息编码。
9.可选地,所述第一细粒度的时空信息编码包括动态道路表示和道路级表示;所述将所述第一细粒度的时空信息编码输入所述第一coarse编码模块,得到所述第一coarse编码模块输出的粗粒度的时空信息编码和第二细粒度的时空信息编码,包括:根据区域表示和所述动态道路表示,确定在所述历史时间段的每个子时间段的道路-区域关系矩阵,所述道路-区域关系矩阵包含所述区域表示和所述动态道路表示之间的相关性,所述区域表示是预先学习确定的;将所述每个子时间段的道路-区域关系矩阵和所述动态道路表示相乘,得到在所述每个子时间段的区域级表示;将在所述每个子时间段的区域级表示输入时间mlp,得到区域表示编码;将所述道路级表示输入时间mlp,得到道路表示编码;将所述区域表示编码和所述道路-区域关系矩阵的乘积,加上所述道路表示编码,得到所述粗粒度的时空信息编码和所述第二细粒度的时空信息编码。
10.可选地,还包括:根据所述区域表示编码和第一历史-未来相关矩阵,得到区域级信息的未来表示,所述第一历史-未来相关矩阵是预先训练得到的;根据所述道路表示编码和第二历史-未来相关矩阵,得到道路级信息的未来表示,所述第二历史-未来相关矩阵是预先训练得到的;将所述区域级信息的未来表示输入时间mlp,得到区域级信息的未来表示编码;将所述道路级信息的未来表示输入时间mlp,得到道路级信息的未来表示编码;
将所述区域级信息的未来表示编码和所述道路-区域关系矩阵的乘积,加上所述道路级信息的未来表示编码,得到第一个所述sthmlp层的第二输出。
11.可选地,所述获取所述输出层输出的对应于所述多个传感器的未来交通流量预测值,包括:对每个所述sthmlp层的第二输出进行求和,得到求和数据;将所述求和数据输入两个全连接层,得到对应于所述多个传感器的未来交通流量预测值。
12.可选地,每个所述sthmlp层包括反馈神经网络和时间维度全连接模块;所述反馈神经网络包括两个具有gelu函数的完全连接网络;所述时间维度全连接模块包括sigmoid函数。
13.可选地,所述交通流量预测模型的训练步骤至少包括:获取路网图样本的向量表示,以及获取多个传感器样本采集的历史时间段内的交通流量观测值样本的向量表示;将所述路网图样本的向量表示和所述交通流量观测值样本的向量表示输入初始模型,得到所述多个传感器样本对应的未来交通流量预测值样本;获取所述多个传感器样本对应的未来交通流量真实值样本;根据所述未来交通流量预测值样本和所述未来交通流量真实值样本之间的差异,确定损失函数值;根据所述损失函数值,对所述初始模型的模型参数进行更新,得到所述交通流量预测模型。
14.根据本公开实施例的第二方面,提供一种交通流量预测装置,应用于交通流量预测模型,所述交通流量预测模型包括输入层、输出层和多个结构相同的sthmlp层;所述装置包括:数据获取模块,被配置为获取路网图,以及获取多个传感器采集的历史时间段内的交通流量观测值;向量表示获取模块,被配置为将所述路网图和所述交通流量观测值输入所述输入层,得到所述路网图和所述交通流量观测值各自的向量表示;第一输入模块,被配置为将所述向量表示输入第一个所述sthmlp层,以及将每个所述sthmlp层的第一输出输入下一个所述sthmlp层,其中,每个所述sthmlp层的第一输出为:该sthmlp层的输入与该sthmlp层生成的粗粒度的时空信息编码和细粒度的时空信息编码的残差;第二输入模块,被配置为将每个所述sthmlp层的第二输出输入所述输出层,其中每个所述sthmlp层的第二输出为:对该sthmlp层的第一输出进行解码而提取到的细粒度的时空信息和粗粒度的时空信息;预测值获取模块,被配置为获取所述输出层输出的对应于所述多个传感器的未来交通流量预测值。
15.根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的交通流量预测方法。
16.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如第一方面所述的交通流量预测方法。
17.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的交通流量预测方法。
18.本公开的实施例提供的技术方案可以包括以下有益效果:本公开中,多个sthmlp层可以获取到不同时间尺度的时空信息,因此可以捕获更多的层次时空依赖,克服了交通时间序列在时间维度相关程度较小带来的挑战,并且,基于残差连接的sthmlp层,可以解耦交通时间序列的复杂时间模式;sthmlp层既可以获取到粗粒度的时空信息,还可以获取到细粒度的时空信息,充分利用了空间相关性。
19.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
21.图1是根据一示例性实施例示出的交通流量预测模型的结构示意图;图2是根据一示例性实施例示出的一种交通流量预测方法的流程图;图3是根据一示例性实施例示出的fine模块的结构示意图;图4是根据一示例性实施例示出的coarse编码模块和coarse解码模块的结构示意图;图5是根据一示例性实施例示出的一种交通流量预测装置的框图。
具体实施方式
22.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
23.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
24.图1是根据一示例性实施例示出的交通流量预测模型的结构示意图,交通流量预测模型包括输入层、输出层和多个结构相同的sthmlp(spatio-temporal hierarchical multilayer perceptron,时空层级多层感知机)层,每个sthmlp层包括fine(细致)模块、coarse(粗糙)编码模块和coarse解码模块。每一sthmlp层获取的时空信息编码的层次会逐渐加深,从而获取到更深层次的信息。
25.一个sthmlp层包括的fine模块的感受野小于该sthmlp层包括的coarse编码模块的感受野,因此,fine模块获取到的时空信息编码的粒度比coarse编码模块获取到的时空
信息编码的粒度更细。因此,通过一个sthmlp层包括的fine模块和coarse编码模块,可以获取到细粒度的时空信息编码和粗粒度的时空信息编码。
26.coarse编码模块将时空信息编码到更高的维度,coarse解码模块用于将coarse编码模块的输出进行解码,并将解码结果输出到输出层。输出层对每个coarse解码模块的输出进行聚合,得到最终预测结果。
27.图2是根据一示例性实施例示出的一种交通流量预测方法的流程图,该交通流量预测方法应用于交通流量预测模型,如图2所示,该交通流量预测方法包括步骤s11~步骤s15。
28.在步骤s11中,获取路网图,以及获取多个传感器采集的历史时间段内的交通流量观测值。
29.路网图是根据道路网络生成的拓扑结构图,其中,道路网络可以是从地图中获取的,也可以是根据传感器采集的信息确定的。路网图可以用进行表示,其中,表示道路的集合;表示边的集合,边表示道路的连接关系;表示邻接矩阵,表示实数集,n表示道路中传感器的数量。
30.道路网络上的传感器采集的交通流量数据构成多个相关的时间序列。表示在t时刻的交通流量数据中包含n个传感器观测到的流量,c表示流量,n为正整数。
31.历史时间段内的交通流量观测值可以用进行表示,其中,为在历史时间段h内n个传感器观测到的交通流量观测值。可以用表示在未来时间段p内n个传感器对应的交通流量预测值,用表示在未来时间段p内n个传感器对应的交通流量真实值。
32.本公开实施例所提出的交通流量预测方法的目的在于,基于路网图和历史时间段h内的交通流量观测值,获取到与未来时间段p内的交通流量真实值最接近的未来时间段p内的交通流量预测值。其中,h的取值和p的取值不做限定,h可以为过去1天、过去1个小时等,p可以为未来15分钟、未来30分钟、未来60分钟等。
33.离散傅里叶变换(dft,discrete fourier transform)是一种广泛应用于数字信号处理的算法。本公开实施例中利用dft,将波动的交通流量预测值变换到频域,并在频域之间传递信息。具体来说,给定符号中长度为,其中。dft将交通流量预测值变换到频域的方法如下:其中,j是虚数单元,表示交通流量预测值在频率2πk/t处的频谱。此外,由t个连续点组成,其中1≤k≤t。
34.dft是一对一的转换算法,给定dft后的结果,可以通过idft(inverse discrete fourier transform,离散傅里叶逆变换)恢复原始信号:其中,各个字符的含义可以参照前文。
35.在步骤s12中,将所述路网图和所述交通流量观测值输入所述输入层,得到所述路网图和所述交通流量观测值各自的向量表示。
36.输入层可以包括两个全连接层,针对中的多元交通流量观测值,输入层可以将输入的低维度的交通流量观测值映射到高维潜在空间中,得到交通流量观测值的向量表示。相应地,输入层也可以获取到路网图的向量表示。
37.输入层n可以表示为:其中,表示交通流量观测值的向量表示,[:,n,:]表示获取三维矩阵的第1维的所
有数据、第2维的第n个数据和第3维的所有数据;gelu(
·
)表示高斯误差线性激活函数;和分别为可学习的参数,在对交通流量预测模型的训练中进行确定;和分别为两个全连接层的偏差;d表示维度,其余字符的含义可以参照前文。其中,广播操作能够添加有效偏差和高维矩阵。具体来说,广播操作是将形状为的偏置量乘以h,映射为形状为的矩阵中,然后在偏差和高维矩阵之间执行元素加法。
[0038]
利用输入层获取向量表示,可以增强交通流量预测模型的表示能力。
[0039]
在步骤s13中,将所述向量表示输入第一个所述sthmlp层,以及将每个所述sthmlp层的第一输出输入下一个所述sthmlp层,其中,每个所述sthmlp层的第一输出为:该sthmlp层的输入与该sthmlp层生成的粗粒度的时空信息编码和细粒度的时空信息编码的残差。
[0040]
将路网图和交通流量观测值各自的向量表示输入第一个sthmlp层,第一个sthmlp层包括的第一fine模块根据输入的向量表示,生成第一细粒度的时空信息编码。第一个sthmlp层包括的第一coarse编码模块,根据第一细粒度的时空信息编码,得到粗粒度的时空信息编码和第二细粒度的时空信息编码。将输入第一个sthmlp层的向量表示和第一coarse编码模块的输出之间基于减法的残差,确定为第一个sthmlp层的第一输出。
[0041]
第一个sthmlp层的第一输出为第二个sthmlp层的输入,第二个sthmlp层包括的fine模块和coarse编码模块对输入第二个sthmlp层的信息进行相应的处理,得到第二个sthmlp层包括的coarse编码模块的输出。将第二个sthmlp层的输入与第二个sthmlp层包括的coarse编码模块的输出之间基于减法的残差,确定为第二个sthmlp层的第一输出。以此类推,可以得到各个sthmlp层的第一输出。
[0042]
在步骤s14中,将每个所述sthmlp层的第二输出输入所述输出层,其中每个所述sthmlp层的第二输出为:对该sthmlp层的第一输出进行解码而提取到的细粒度的时空信息和粗粒度的时空信息。
[0043]
每个sthmlp层还包括coarse解码模块,一个sthmlp层包括的coarse解码模块的输入为该sthmlp层包括的coarse编码模块的输出。coarse解码模块对coarse编码模块的输出进行解码,得到sthmlp层对应的细粒度的时空信息和粗粒度的时空信息,并将解码结果输出到输出层。
[0044]
在步骤s15中,获取所述输出层输出的对应于所述多个传感器的未来交通流量预测值。
[0045]
输出层可以收集每个sthmlp层的第二输出,每个sthmlp层的第二输出的时间尺度不同。输出层将每个sthmlp层的第二输出进行投影,得到未来交通流量预测值。
[0046]
输出层将每个sthmlp层的第二输出进行求和,并利用两个全连接层来获取未来交通流量预测值。具体来说,对每个所述sthmlp层的第二输出进行求和,得到求和数据;将所述求和数据输入两个全连接层,得到对应于所述多个传感器的未来交通流量预测值。其中,传感器和道路是对应的,获取到对应于传感器的未来交通流量预测值,即可获取到道路的未来交通流量预测值。
[0047]
可以通过如下公式表示输出层:其中,表示输出的对应于第n个传感器的未来交通流量预测值;表示第l个sthmlp层的第二输出中第n个传感器对应的预测矩阵;l是层数;和分别为可学习的参数,是在对交通流量预测模型的训练中进行确定;和分别为全连接层的偏差。
[0048]
采用本公开实施例的技术方案,多个sthmlp层可以获取到不同时间尺度的时空信息,因此可以捕获更多的层次时空依赖,克服了交通时间序列在时间维度相关程度较小带来的挑战,并且,基于残差连接的sthmlp层,可以解耦交通时间序列的复杂时间模式;sthmlp层既可以获取到粗粒度的时空信息,还可以获取到细粒度的时空信息,充分利用了空间相关性。
[0049]
作为一个实施例,在上述技术方案的基础上,将所述向量表示输入第一个所述sthmlp层,得到所述第一fine模块根据所述向量表示,生成的第一细粒度的时空信息编码,可以包括:将所述向量表示输入所述第一fine模块,所述第一fine模块对所述向量表示进行二维离散傅里叶变换,得到频谱;将所述频谱与空间滤波器进行点乘,得到第一调制频谱,所述空间滤波器是预先训练得到的;将所述频谱与时间滤波器进行点乘,得到第二调制频谱,所述时间滤波器是预先训练得到的;将所述第一调制频谱和所述第二调制频谱之和,确定为调制频谱;对所述调制频谱进行二维离散傅里叶逆变换,得到所述第一细粒度的时空信息编码。
[0050]
为了使频域特征在时间维度上进行全局交互,本公开实施例将离散傅里叶变换与神经网络相结合,此方法已经在时间序列预测任务中取得了最先进的性能。然而,仅对时间维度进行dft处理,忽略了多变量交通流量观测值的空间相关性。因此通过2d-dft(two-dimensional discrete fourier transform,二维离散傅里叶变换)同时获得时空维度的频域特征,从而从频域特征中获取全局空间依赖关系。具体来说,2d-dft可以表述为:其中,为给定的一个二维信号,表示经过二维离散傅里叶变换的信号;t表示时间维度,t=1,2,

,t;n表示空间维度,n=1,2,

,n;其余字符的含义可以参照前文。
[0051]
可以通过二维离散傅里叶逆变换(2d-idft,two-dimensional inverse discrete fourier transform)恢复原始信号。图3是根据一示例性实施例示出的fine模块的结构示意图。如图3所示,为了捕获细粒度的全局空间依赖关系,可以对fine模块的输入执行2d-dft操作,得到频谱。对第l-1个sthmlp层的第一输出中的特征i的2d-dft操作可以表述为:其中,表示2d-dft操作。是一个复张量,表示的频谱。
[0052]
在2d-dft之后,可以通过将可学习空间滤波器和可学习时间滤波器分别乘以频谱来调制频谱。滤波器sf和tf是可学习的滤波器,可以通过反向传播优化来自适应地表示频域内的任意滤波器。可以通过如下公式得到调制频谱:其中,表示元素乘法,例如:将空间滤波器h和时间滤波器n的第一维和第二维映射为形状为矩阵,然后将经过广播操作后空间滤波器数据和时间滤波器数据分别和频谱数据执行元素相乘。由于在频域中的元素相乘等价于使用与时域特征图大小相同的卷积核的循环卷积操作,所以可以获取全局的时空依赖关系。此外,由于其全局感受野,使用与特征图相同大小的卷积核的循环卷积操作也可以被视为具有共享权重的mlp(multilayer perceptron,多层感知机)。
[0053]
最后,采用2d-idft操作,将调制频谱变换回时域:其中,表示2d-idft操作;是第l个sthmlp层包括的fine模块的输出,包含细粒度的时空信息编码;其余字符的含义可以参照前文。
[0054]
作为一个实施例,在上述技术方案的基础上,将所述将所述第一细粒度的时空信息编码输入所述第一coarse编码模块,得到所述第一coarse编码模块输出的粗粒度的时空
信息编码和第二细粒度的时空信息编码,可以包括:根据所述路网图的向量表示和所述动态道路表示,确定在所述历史时间段的每个子时间段的道路-区域关系矩阵,所述道路-区域关系矩阵包含所述路网图的向量表示和所述动态道路表示之间的相关性;将所述每个子时间段的道路-区域关系矩阵和所述动态道路表示相乘,得到在所述每个子时间段的区域级表示;将在所述每个子时间段的区域级表示输入时间mlp,得到区域表示编码;将所述道路级表示输入时间mlp,得到道路表示编码;将所述区域表示编码和所述道路-区域关系矩阵的乘积,加上所述道路表示编码,得到所述粗粒度的时空信息编码和所述第二细粒度的时空信息编码。
[0055]
图4是根据一示例性实施例示出的coarse编码模块和coarse解码模块的结构示意图。可以利用道路网络呈现出明显的地域性,获取区域之间的全局空间依赖关系。例如,中央商务区、学校等形成显性区域道路网络中,也会受到暴风雪等自然灾害的隐性局部影响。宏观空间依赖性建模最重要的是将道路划分为区域。相关技术中一般采用道路到区域的硬映射(即一条道路只能属于一个区域),然而本公开实施例在子时间段t时,将一条道路分配到多个区域中,道路-区域关联矩阵表示为,其中r表示区域的数量。使用道路-区域相关矩阵的原因是区域网络随时间的推移而变化,同时存在多个区域路网(如显式区域路网和隐式区域路网)。
[0056]
然而,道路-区域关联矩阵的人工设定难度较大,本公开实施例利用一个可学习矩阵作为道路-区域关系矩阵,即通过反向传播更新道路-区域关系矩阵的值,并通过数据驱动的方式推导出最终的相关性。
[0057]
为了减少模型参数的数量,本公开实施例利用可学习的区域表示来计算与动态道路表示的道路-区域关系矩阵,区域表示是在交通流量预测模型的训练过程中进行学习确定的。道路-区域关系矩阵包含学习到的区域表示和动态道路表示之间的相关性。子时间段t的道路-区域相关矩阵可以表示为:其中,softmax(
·
)是用于列归一化的标准softmax(软最大化)函数;[t,:,:] 表示获取三维矩阵的第1维的第t个数据、第2维的所有数据和第3维的所有数据;其余各个字符的含义可以参照前文。
[0058]
利用道路-区域关系矩阵可以将区域表示与记录的交通时间序列(多个交通流量观测值组成的时间序列)表示关联起来:其中,表示在子时间段t内的区域级表示,其余各个字符的含义可以参照前文。
[0059]
通过时间mlp可以捕获每个区域和道路的时间动态。通过时间mlp,分别对区域级表示和道路级表示进行编码,得到区域表示编码和道路表示编码:其中,和分别是区域i和道路n的编码表示。tmlp(
·
)和ff(
·
)分别表示时间维度上的mlp和前馈全连接层上的mlp,其余各个字符的含义可以参照前文。
[0060]
当细粒度信息缺失或不正确时,来自区域的粗粒度信息可以获得每个流量时间序列的更具有泛化性的表示。因此,coarse编码模块的输出与sthmlp层的输入之间基于减法的残差连接表示为:其中,是第l个coarse编码模块的输出,是第l+1层的输入,其余各个字符的含义可以参照前文。
[0061]
为了挖掘交通时间序列的多尺度时空信息,利用每个sthmlp层的输入减去coarse
编码模块的输出,可以逐步剥离交通时间序列中的分量。此外第l个coarse编码模块的输出不仅包含细粒度的道路级表示,还包含粗粒度的区域级表示。
[0062]
coarse编码模块的输出端与coarse解码模块的输入端相连。作为一个实施例,可以根据所述区域表示编码和第一历史-未来相关矩阵,得到区域级信息的未来表示,所述第一历史-未来相关矩阵是预先训练得到的;根据所述道路表示编码和第二历史-未来相关矩阵,得到道路级信息的未来表示,所述第二历史-未来相关矩阵是预先训练得到的;将所述区域级信息的未来表示输入时间mlp,得到区域级信息的未来表示编码;将所述道路级信息的未来表示输入时间mlp,得到道路级信息的未来表示编码;将所述区域级信息的未来表示编码和所述道路-区域关系矩阵的乘积,加上所述道路级信息的未来表示编码,得到第一个所述sthmlp层的第二输出。
[0063]
本公开实施例利用可学习的第一历史-未来相关矩阵和可学习的第二历史-未来相关矩阵来利用区域和道路在整个历史时间段的编码表示。此外,与coarse编码模块类似,在coarse解码模块中,时间维度mlp用于捕获未来的时间依赖关系。预测操作和时间mlp可以表述为:其中,为区域级信息的未来表示,为道路级信息的未来表示,为基于学习动态时间的区域级信息的未来表示编码,为基于学习动态时间的道路级信息的未来表示编码;其余各个字符的含义可以参照前文。
[0064]
与coarse编码模块类似,在coarse解码模块中使用可学习区域表示,推导t时间道路-区域相关性矩阵,第l层在子时间段t的最终预测矩阵为:其中,各个字符的含义可以参照前文。
[0065]
作为一个实施例,在上述技术方案的基础上,每个所述sthmlp层包括反馈神经网络和时间维度全连接模块。反馈神经网络和时间维度全连接模块都用于对coarse编码获取的信息和coarse解码获取的信息进行激活。
[0066]
反馈神经网络由两个具有gelu(gaussian error linear unit,高斯误差线性单位)函数的完全连接网络组成:其中,是可学习参数,是可学习参数,是偏差,是偏差,ln(
·
)表示标准化操作,其余各字符的含义可以参照前文。
[0067]
时间维度全连接模块包括的全连接层允许每个子时间段与时间序列中的所有子时间段交互,以提取全局时间信息,而不像rnn(recurrent neural network,循环神经网络)和cnn(convolutional neural network,卷积神经网络)不能捕获长期的时间依赖关系。此外,与rnn和注意机制相比,本公开实施例的方法可以提高运行速度,减少内存消耗。其中,时间维度全连接模块可以表述为:其中,是可学习参数,是可学习参数,是偏差,是偏差,在coarse编码模块中的t=h,在coarse解码模块中的t=p。选择门控线性单位作为时间mlp的非线性激活,σ表示sigmoid函数(一种s型函数)。
[0068]
作为一个实施例,在上述技术方案的基础上,所述交通流量预测模型的训练步骤至少包括:获取路网图样本,以及获取多个传感器样本采集的历史时间段内的交通流量观测值样本;将所述路网图样本和所述交通流量观测值样本输入初始模型,得到所述多个传感器样本对应的未来交通流量预测值样本;获取所述多个传感器样本对应的未来交通流量
真实值样本;根据所述未来交通流量预测值样本和所述未来交通流量真实值样本之间的差异,确定损失函数值;根据所述损失函数值,对所述初始模型的模型参数进行更新,得到所述交通流量预测模型。
[0069]
路网图样本的向量表示和交通流量观测值样本的向量表示的获取方法可以参照前文所述的路网图的向量表示和交通流量观测值的向量表示的获取方法。初始模型的模型结构和交通流量预测模型的模型结构相同。初始模型根据路网图样本的向量表示和交通流量观测值样本的向量表示,得到多个传感器样本对应的未来交通流量预测值样本的方法,可以参照前文所述的根据路网图的向量表示和交通流量观测值的向量表示,得到多个传感器对应的未来交通流量预测值的方法。
[0070]
确定的损失函数可以通过以下公式进行表示:其中,表示所有初始模型中所有可学习的参数,为未来交通流量真实值样本,为未来交通流量预测值样本;其余各个字符的含义可以参照前文。
[0071]
根据损失函数,以最小化未来交通流量预测值样本和未来交通流量真实值样本之间的差异为目标,对初始模型进行训练,使初始模型的模型参数进行更新,在训练收敛或者训练达到一定次数时,可以得到训练好的交通流量预测模型。训练好的交通流量预测模型中包括的各个可学习的参数,是确定好的参数。
[0072]
本公开实施例中,为了减轻dft和idft的计算量,可以在fine模块中使用快速傅里叶变换(fft,fast fourier transformation)算法,将二维dft的复杂度从降低到。相应地可以利用快速傅里叶逆变换(ifft,inverse fast fourier transformation)有效地减少计算量。因此,fine模块的复杂度为。
[0073]
另一方面,sthmlp层中coarse编码模块的复杂度为,这是因为时域mlp和推导的道路-区域相关矩阵的复杂度分别为和。在大多数实际配置中,sthmlp层的总复杂度将以为主,其中。因此,本公开中的sthmlp层的复杂度低于以前基于gnn(graph nuaral network,图神经网络)的方法,因为基于gnn的算法复杂度是。
[0074]
利用4个真实交通数据集(pems03、pems04、pems07和pems08)评估了本公开实施例提出的交通流量预测方法的性能。对于各个数据集,使用历史前一小时记录的交通流量数据,预测未来一小时内的交通流量数据。此外,每个数据集按时间顺序分为60%用于训练,20%用于验证,20%用于测试。在计算损失函数值时,使用标准分数归一化对数据进行预处理和重新归一化。
[0075]
采用平均绝对误差(mae)、根均方误差(rmse)和平均绝对百分比误差(mape)三个评估指标,对模型性能进行评估,其中,这些指标的值越低,预测精度越高。
[0076]
将本公开实施例采用的交通流量预测模型(命名为sthmlp模型)与以下几种基线进行比较:arima(autoregressive integrated moving average model,差分整合移动平均自回归模型):一种预测未来趋势的统计分析模型。
[0077]
var(vector autoregressive model,向量自回归模型):是一种统计模型,用于捕捉多个时间序列之间的关系。
[0078]
svr:是一种利用支持向量机预测流量的机器学习方法。
[0079]
lstm(long short-term memory,长短期记忆网络):具有3层的长短期记忆网络。
[0080]
tcn(temporal convolutional network,时间卷积网络):一个将核大小设置为3的时间卷积网络。
[0081]
stgcn(spatial temporal graph convolutional networks,时空图卷积网络):分别使用基于先验距离图的图卷积网络和一维卷积神经网络来捕获时空依赖关系。
[0082]
dcrnn(diffusion convolution recursive neural network,扩散卷积递归神经网络):将先验距离图扩散卷积集成到gru(gated recurrent unit,循环门单元)中,同时捕获时空相关性。
[0083]
graph wavenet(一种时空图建模模型):是stgcn的高级版本。它不仅利用反向传播学习到的自适应图捕获全局空间依赖关系,而且用tcn替换stgcn中简单的一维卷积神经网络来捕获多尺度的时间依赖关系。
[0084]
astgcn(attention-based convolution network of spatio-temporal graphs,基于注意力的时空图卷积网络):不仅利用卷积网络捕获静态依赖关系,还利用注意力机制动态提取时空信息。
[0085]
lsgcn(long short-term graph convolutional networks,长短期图卷积网络):利用gcn(graph convolutional networks,图卷积网络)捕获近距离空间依赖,并进一步设计了一种新颖的余弦注意机制来捕获动态空间依赖。
[0086]
stsgcn(space-time synchronous graph convolution network,时空同步图卷积网络):不仅利用时空同步建模机制和cnn捕捉复杂的局域时空相关性,而且利用多个模块捕捉局域时空图中的异质性。
[0087]
stfgnn(spatio-temporal fusion graph neural network,时空融合图神经网络):利用动态时间扭曲算法得到的时间图和基于距离的空间图来传递信息。进一步利用门控线性单元提取时间相关性。
[0088]
stgode(spatial-temporal graph ode,时空图ode网络):考虑了时间图,通过更深层次的图常微分方程网络同步捕捉时空动态。
[0089]
在超参数设置方面,sthmlp模型可以使用adam(adaptive moment estimation,自适应矩估计)优化器进行训练,初始学习率和批处理大小分别为1e-3和16。训练过程在10个批次后停止。给出了交通流量预测模型的默认超参数设置如下:层数l设置为2,隐藏状态维度d设置为64。除了在数据集上设置为15个区域外,r的数目设置为5个。其中搜索l、d和r的范围分别为{1,2,3,4}、{16、32、64、128}和{1、5、15、30、50}。
[0090]
在4个交通数据集上比较了sthmlp模型与基线的性能,可以得出本公开实施例提出的sthmlp模型的性能最佳的结论。
[0091]
在消融实验方面,第一消融方式为:去掉了每一sthmlp层中的fine模块,并将每个coarse解码模块的输出相加作为最终输出。第二消融方式为:去掉了每一sthmlp层中的coarse编码模块,并将每个fine模块的输出相加作为最终输出。第三消融方式为:去除道路信息,不再使用道路级表示。第四消融方式为:去除区域级表示。
[0092]
通过消融实验,可以得知第二消融方式得到的模型的性能在所有数据集中是最差的,这表明使用历史特征相关矩阵将历史序列转换为未来序列,并在coarse解码模块中捕获预测序列的时空依赖关系对于多步流量预测是最重要的。时间依赖只在时域建模,而第一消融方式忽略了细粒度的空间依赖,因此第一消融方式在很大程度上不如sthmlp模型,
这证明了fine模块的有效性。第四消融方式的结果表明,自适应区域网络对于获取粗粒度的空间相关性非常重要。当然,若忽视细粒度的传感器级表示,也会导致糟糕的性能。
[0093]
通过实验可以确定,sthmlp模型中sthmlp层的层数在大于1时,性能更好,因此,设置层数为2是最佳参数选择。随着特征维度d的增大,模型性能也呈现出小幅上升的趋势。这是因为不同的时间模式在高维表示空间中具有更大的间隔,使其更容易预测考虑到区域数量r,r值越大预测结果越准确,但r值太大则会影响模型性能。
[0094]
在计算开销方面,在训练和测试阶段,sthmlp是最有效的模型。这是因为sthmlp是一个简单的完全基于mlp模型。
[0095]
sthmlp模型的第一个sthmlp层主要是提供一个平滑的预测曲线,表示清晰稳定的日常模式,例如,人们在早上出门工作交通流量就会增加,同理人们在晚上减少出行,交通流量就会降低。第二个sthmlp层的贡献是捕捉随机发生的波动。由事故或天气引起的短期波动在不同时间发生,持续时间不确定。如果不将波动从原始流量时间序列中分解出来,准确率会下降。传感器在不同时间属于不同的区域,这反映了在不同时间具有相似子模式的传感器应该属于同一区域。例如,晚上在一个区域的传感器表明这些区域车流量较低,而早上在另一区域的传感器表明这些区域流量较大。根据先验路网结构静态划分的区域网络不能反映区域流量的变化。
[0096]
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
[0097]
图5是根据一示例性实施例示出的一种交通流量预测装置的框图,参照图5,该装置应用于交通流量预测模型,包括数据获取模块51、向量表示获取模块52、第一输入模块53、第二输入模块54和预测值获取模块55。
[0098]
数据获取模块51,被配置为获取路网图,以及获取多个传感器采集的历史时间段内的交通流量观测值;向量表示获取模块52,被配置为将所述路网图和所述交通流量观测值输入所述输入层,得到所述路网图和所述交通流量观测值各自的向量表示;第一输入模块53,被配置为将所述向量表示输入第一个所述sthmlp层,以及将每个所述sthmlp层的第一输出输入下一个所述sthmlp层,其中,每个所述sthmlp层的第一输出为:该sthmlp层的输入与该sthmlp层生成的粗粒度的时空信息编码和细粒度的时空信息编码的残差;第二输入模块54,被配置为将每个所述sthmlp层的第二输出输入所述输出层,其中每个所述sthmlp层的第二输出为:对该sthmlp层的第一输出进行解码而提取到的细粒度的时空信息和粗粒度的时空信息;预测值获取模块55,被配置为获取所述输出层输出的对应于所述多个传感器的未来交通流量预测值。
[0099]
可选地,第一个所述sthmlp层包括第一fine模块和第一coarse编码模块;所述第一输入模块53包括:第一输入单元,被配置为将所述向量表示输入第一个所述sthmlp层,得到所述第一fine模块根据所述向量表示,生成的第一细粒度的时空信息编码;第二输入单元,被配置为将所述第一细粒度的时空信息编码输入所述第一coarse
编码模块,得到所述第一coarse编码模块输出的粗粒度的时空信息编码和第二细粒度的时空信息编码;输出确定单元,被配置为将所述向量表示与所述第一coarse编码模块的输出之间基于减法的残差,确定为第一个所述sthmlp层的第一输出。
[0100]
可选地,所述第一输入单元包括:变换子单元,被配置为将所述向量表示输入所述第一fine模块,所述第一fine模块对所述向量表示进行二维离散傅里叶变换,得到频谱;第一点乘子单元,被配置为将所述频谱与空间滤波器进行点乘,得到第一调制频谱,所述空间滤波器是预先训练得到的;第二点乘子单元,被配置为将所述频谱与时间滤波器进行点乘,得到第二调制频谱,所述时间滤波器是预先训练得到的;调制频谱确定子单元,被配置为将所述第一调制频谱和所述第二调制频谱之和,确定为调制频谱;逆变换子单元,被配置为对所述调制频谱进行二维离散傅里叶逆变换,得到所述第一细粒度的时空信息编码。
[0101]
可选地,所述第一细粒度的时空信息编码包括动态道路表示和道路级表示;所述第二输入单元包括:矩阵确定子单元,被配置为根据区域表示和所述动态道路表示,确定在所述历史时间段的每个子时间段的道路-区域关系矩阵,所述道路-区域关系矩阵包含所述区域表示和所述动态道路表示之间的相关性,所述区域表示是预先学习确定的;相乘子单元,被配置为将所述每个子时间段的道路-区域关系矩阵和所述动态道路表示相乘,得到在所述每个子时间段的区域级表示;区域表示编码获取子单元,被配置为将在所述每个子时间段的区域级表示输入时间mlp,得到区域表示编码;道路表示编码获取子单元,被配置为将所述道路级表示输入时间mlp,得到道路表示编码;信息编码获取子单元,被配置为将所述区域表示编码和所述道路-区域关系矩阵的乘积,加上所述道路表示编码,得到所述粗粒度的时空信息编码和所述第二细粒度的时空信息编码。
[0102]
可选地,还包括:区域级信息的未来表示确定模块,被配置为根据所述区域表示编码和第一历史-未来相关矩阵,得到区域级信息的未来表示,所述第一历史-未来相关矩阵是预先训练得到的;道路级信息的未来表示确定模块,被配置为根据所述道路表示编码和第二历史-未来相关矩阵,得到道路级信息的未来表示,所述第二历史-未来相关矩阵是预先训练得到的;区域级信息的未来表示编码确定模块,被配置为将所述区域级信息的未来表示输入时间mlp,得到区域级信息的未来表示编码;道路级信息的未来表示编码确定模块,被配置为将所述道路级信息的未来表示输
入时间mlp,得到道路级信息的未来表示编码;第二输出确定模块,被配置为将所述区域级信息的未来表示编码和所述道路-区域关系矩阵的乘积,加上所述道路级信息的未来表示编码,得到第一个所述sthmlp层的第二输出。
[0103]
可选地,所述预测值获取模块55包括:求和单元,被配置为对每个所述sthmlp层的第二输出进行求和,得到求和数据;预测值获取单元,被配置为将所述求和数据输入两个全连接层,得到对应于所述多个传感器的未来交通流量预测值。
[0104]
可选地,每个所述sthmlp层包括反馈神经网络和时间维度全连接模块;所述反馈神经网络包括两个具有gelu函数的完全连接网络;所述时间维度全连接模块包括sigmoid函数。
[0105]
可选地,所述交通流量预测模型的训练步骤至少包括:获取路网图样本的向量表示,以及获取多个传感器样本采集的历史时间段内的交通流量观测值样本的向量表示;将所述路网图样本的向量表示和所述交通流量观测值样本的向量表示输入初始模型,得到所述多个传感器样本对应的未来交通流量预测值样本;获取所述多个传感器样本对应的未来交通流量真实值样本;根据所述未来交通流量预测值样本和所述未来交通流量真实值样本之间的差异,确定损失函数值;根据所述损失函数值,对所述初始模型的模型参数进行更新,得到所述交通流量预测模型。
[0106]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0107]
本公开实施例还提供了一种电子设备,包括处理器、存储器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现本公开实施例公开的交通流量预测方法。
[0108]
本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时实现本公开实施例公开的交通流量预测方法。
[0109]
本公开中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0110]
本领域内的技术人员应明白,本公开的实施例可提供为方法、装置或计算机程序产品。因此,本公开实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0111]
本公开实施例是参照根据本公开实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备
的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0112]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0113]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0114]
尽管已描述了本公开实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开实施例范围的所有变更和修改。
[0115]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0116]
以上对本公开所提供的一种交通流量预测方法、装置及电子设备,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1