掌桥专利:专业的专利平台
掌桥专利
首页

一种基于迁移学习的交通流预测方法、装置及相关设备

文献发布时间:2024-04-18 19:53:33


一种基于迁移学习的交通流预测方法、装置及相关设备

技术领域

本发明涉及智能交通技术领域,尤其涉及一种基于迁移学习的交通流预测方法、装置、计算机设备及存储介质。

背景技术

随着国家对智慧社会建设的大力推进,全国各大城市都在积极进行智慧社会建设,智慧交通作为智慧社会的关键组成部分,是每个城市进行建设的重点,由于经济发展不均衡,欠发达地区数字化程度相对较低,这对智慧交通建设过程中交通流预测算法的适应性和准确性提出了更高的要求,可移植的算法能够辅助交通数据量较少的欠发达地区构建可用的智慧交通体系,同时精确的预测结果能够辅助城市管理人员高效调控城市交通。

传统的基于深度学习的交通流预测方法,主要分为以循环神经网络为首的LSTM、GRU等方法和以图卷积为首的DMSTGCN、PGCN等方法。这些方法都需要大量数据进行训练,若数据量不足或数据存在缺失值时,将难以维持原有的预测效果,造成预测准确性降低。基于迁移学习的交通流预测方法(例如DastNet)可以弥补交通流预测算法在数据质量不佳时预测准确性降低的不足,但受迁移学习框架的限制,无法有效度量交通流中潜在的多维空间相关性,不能对有限数据进行充分利用,导致最终预测结果不够准确。

因此,针对在数据质量不佳的情况下,如何提供一种交通流预测方法,实现对交通流的精确预测,成为了目前亟待解决的技术问题。

发明内容

本发明实施例提供一种基于迁移学习的交通流预测方法、装置、计算机设备和存储介质,能够在数据质量不佳的情况下,提高交通流预测的准确性。

为了解决上述技术问题,本申请实施例提供一种基于迁移学习的交通流预测方法,包括以下步骤:获取源域数据和目标域数据,所述源域数据包括完整交通流数据,所述目标域数据包括待预测地区采集的交通流数据;基于所述源域数据,构建与所述源域数据对应的邻接矩阵和查询矩阵,所述邻接矩阵包括有向图,用于表征节点间的短期空间相互作用,所述查询矩阵包括多个哈希表,用于记录源域数据对应的哈希向量;根据所述源域数据及所述源域数据对应的邻接矩阵和查询矩阵,得到正负向量和渐进矩阵,所述正负向量表示与输入向量的接近程度,所述渐进矩阵沿主对角线对称,用于表征节点间的长期空间相互作用;通过带有门控机制的扩散卷积捕获所述源域数据的时间特征,并根据所述源域数据的时间特征、所述邻接矩阵和所述渐进矩阵得到包含多维空间相关性的特征;根据所述包含多维空间相关性的特征和所述正负向量,得到交通流变化对应的一般性特征;根据所述交通流变化对应的一般性特征同步预训练模型中的参数,并通过所述目标域数据对所述预训练模型进行调整,得到交通流预测模型;利用所述交通流预测模型对当前交通流进行预测,输出交通流预测结果。

在一种可能的实现方式中,所述获取源域数据和目标域数据之后,对所述源域数据和目标域数据进行划分,得到等长的输入序列;将所述等长的输入序列进行归一化操作。

在另一种可能的实现方式中,从所述源域数据中选取节假日数据和工作日数据,并将选取得到的数据划分为多个向量,对所述多个向量中的每一个向量乘以一个哈希矩阵得到当前阶段对应的多个哈希向量;将多个阶段的哈希向量进行合并得到所述查询矩阵。

在另一种可能的实现方式中,计算输入序列对应的输入哈希向量;通过局部敏感哈希算法从所述查询矩阵中寻找与所述输入哈希向量相似度最高的哈希向量和相似度最低的哈希向量;基于所述相似度最高的哈希向量和所述相似度最低的哈希向量,确定正向量和负向量,所述正向量包括一个哈希向量,所述负向量包括M个哈希向量,所述M为大于1的整数;基于所述等长的输入序列,计算每个序列之间的皮尔逊相关系数,并根据所述皮尔逊系数构建得到所述渐进矩阵。

在另一种可能的实现方式中,所述带有门控机制的扩散卷积通过收缩卷积核对所述输入序列进行特征提取,得到所述输入序列中的时间特征,其中,所述带有门控机制的扩散卷积包括N层扩散卷积层,所述N为大于1的整数;基于每一层扩散卷积后得到的卷积结果,对所述卷积结果进行降维处理并进行保存。

在另一种可能的实现方式中,将所述源域数据的时间特征与所述邻接矩阵进行运算,得到包含短期空间相关性的特征;将所述源域数据的时间特征与所述渐进矩阵进行运算,得到包含长期空间相关性的特征;通过连接机制将所述包含短期空间相关性的特征和所述包含长期空间相关性的特征进行融合,得到所述包含多维空间相关性的特征。

在另一种可能的实现方式中,在得到所述包含多维空间相关性的特征之后,通过残差连接机制将每个扩散卷积层的输入序列与所述扩散卷积层对应的具有多维空间相关性的时间特征进行连接,得到连接结果;对所述连接结果进行批次归一化操作,所述批次归一化操作用于对同一个节点在一个批次中的数据进行归一化。

为了解决上述技术问题,本申请实施例还提供一种交通流预测装置,包括:

获取模块,用于获取源域数据和目标域数据,所述源域数据包括完整交通流数据,所述目标域数据包括待预测地区采集的交通流数据;

构建模块,用于构建与所述源域数据对应的邻接矩阵和查询矩阵,所述邻接矩阵包括有向图,用于表征节点间的短期空间相互作用,所述查询矩阵包括多个哈希表,用于记录源域数据对应的哈希向量;

计算模块,用于根据所述源域数据及所述源域数据对应的邻接矩阵和查询矩阵,得到正负向量和渐进矩阵,所述正负向量表示与输入向量的接近程度,所述渐进矩阵沿主对角线对称,用于表征节点间的长期空间相互作用;

捕获模块,用于通过带有门控机制的扩散卷积捕获所述源域数据的时间特征,并根据所述源域数据的时间特征、所述邻接矩阵和所述渐进矩阵得到包含多维空间相关性的特征,根据所述包含多维空间相关性的特征和所述正负向量,得到交通流变化对应的一般性特征;

同步模块,用于根据所述交通流变化对应的一般性特征同步预训练模型中的参数,并通过所述目标域数据对所述预训练模型进行调整,得到交通流预测模型;

预测模块,用于利用所述交通流预测模型对当前交通流进行预测,输出交通流预测结果。

为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。

为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。

本发明实施例提供的交通流预测方法、装置、计算机设备及存储介质,通过获取已有的高质量且完整的交通流数据,构建相对应的邻接矩阵和查询矩阵,并计算得到正负向量和渐进矩阵,进而利用带有门控机制的扩散卷积捕获数据中的时间特征,并利用图卷积得到包含多维空间相关性的特征,然后进行融合得到交通流变化的一般性特征,从而分析得到交通流变化的一般规律,接着对预训练模型中的参数进行同步,并利用目标地区的交通流数据对该模型进行微调,从而得到能够精准预测目标地区交通流变化的预测模型,这种方式充分考虑了空间相关性对交通流变化的影响,因此可以保证在数据质量不佳的情况下,提高交通流预测的准确性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请可以应用于其中的示例性系统架构图。

图2是本申请的交通流预测方法的一个实施例的流程图。

图3是根据本申请的交通流预测装置的一个实施例的结构示意图。

图4是根据本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,如图1所示,系统架构100可以包括源域数据库110、目标域数据库120、通信网络130和服务器140,服务器140通过通信网络130与源域数据库110和目标域数据库120进行连接。源域数据库110中存储了完整且高质量的交通流数据,例如源域地区的城市中各个数据采集点采集到的车流量等数据,目标域数据库120中存储了质量不佳或存在缺失值的不完整交通流数据,服务器140中包括扩散卷积网络1410、图卷积网络1420和连接网络1430,服务器140在从源域数据库110中获取到交通流数据之后,通过扩散卷积神经网络1410进行特征提取并进行降维后存储,再通过图卷积网络1420得到包含多维空间相关性的特征,然后利用连接网络1430进行连接得到一般性特征,并根据该一般性特征对预测模型中的参数进行同步,接着利用从目标域数据库120中的交通流数据对预测模型进行微调,最后利用调整之后的预测模型对当前交通流进行预测,输出交通流预测结果。

需要说明的是,本申请实施例所提供的交通流预测方法由服务器执行,相应地,交通流预测装置设置于服务器中。

应该理解,图1中的数据库和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的数据库和服务器。

请参阅图2,图2示出本发明实施例提供的一种基于迁移学习的交通流预测方法,以该方法应用在图1中的服务器为例进行说明,详述如下。

S201、获取源域数据和目标域数据。

具体地,服务器通过网络从源域数据库中获取相关数据,例如从数据库中获取已有的,并在网络上公开发表的无缺失值等问题的公开交通数据,其包括历史交通数据、对应的时间节点以及节点间的基本空间关系。

同理,服务器也可以通过网络从目标域数据库中获取相关数据,这里的目标域是指模型最终需要进行预测的地区,该类地区所存在的历史交通是数据量较少,可能存在关键数据缺失的问题,但是保有基本的空间结构。

在一种可能的实现方式中,服务器在获取源域数据和目标域数据之后,对该源域数据和目标域数据进行划分,得到等长的输入序列,将该等长的输入序列进行归一化操作。

具体地,归一化操作是在源域和目标域分别进行的,其目的是将原有数据在保持特征不变的情况下压缩到0和1之间,从而减小模型的计算量,具体可以通过下列公式完成归一化处理:

其中,x

S202、基于所述源域数据,构建与所述源域数据对应的邻接矩阵和查询矩阵。

具体地,服务器根据各个数据集的节点空间关系,初始化对应的邻接矩阵,邻接矩阵用于表示节点间的短期空间相互作用。例如,假设节点i与节点j之间存在空间相关性,且空间相关性表示为i指向j,则邻接矩阵中位置(i,j)的值为1,可以看出,本申请中的邻接矩阵为有向图,可以凸显交通流中的方向性,在源域中,邻接矩阵可以表示为E

在另一种可能的实现方式中,从所述源域数据中选取节假日数据和工作日数据,并将选取得到的数据划分为多个向量,对所述多个向量中的每一个向量乘以一个哈希矩阵得到当前阶段对应的多个哈希向量;将多个阶段的哈希向量进行合并得到所述查询矩阵。

具体地,在构建源域的查询矩阵时,首先在源域数据集中选取工作日和节假日各一天的数据,并对选取的数据进行划分,划分为多个向量,对每个向量都乘以一个用于加密的哈希矩阵,从而得到当前阶段对应的哈希向量,将多个阶段的哈希向量进行拼接,得到一个哈希表,重复执行上述过程t次,进而得到t个哈希表,将这t个哈希表进行合并,最终生成一个查询总表,即生成查询矩阵。

进一步的,上述用于加密的哈希矩阵由多个哈希值构成,用于计算哈希向量,其可以具体表示为:

在生成哈希向量之后,需要对哈希向量中的每一个值进行调整和划分,将向量中大于0的值全部调整为1,小于0的值全部调整为0,可以理解,通过上述调整方法可以压缩搜索范围,确保在进行查找时一定能找到一个相近的点。

另外,一个哈希矩阵可以生成N个哈希向量,其中E

源域所生成的查询矩阵可以表示为table

S203、根据源域数据及源域数据对应的邻接矩阵和查询矩阵,得到正负向量和渐进矩阵。

在一种可能的实现方式中,服务器计算输入序列对应的输入哈希向量,通过局部敏感哈希算法从查询矩阵中寻找与输入哈希向量相似度最高的哈希向量和相似度最低的哈希向量,基于相似度最高的哈希向量和相似度最低的哈希向量,确定正向量和负向量,正向量包括一个哈希向量,负向量包括M个哈希向量,所述M为大于1的整数。

具体地,局部敏感哈希算法属于一种省时的近邻搜索算法,用于在查询矩阵中寻找与输入序列最相似和最不相似的序列,在查找之前需要先对输入数据也计算哈希向量,其结果可以通过下列公式计算得到:

其中,E

进一步的,由于之前对哈希向量中的值进行了调整,所有哈希向量均为零一向量,通过比较输入哈希向量与查询矩阵中哈希向量,如果存在:

则认为两个向量为最相近的向量,哈希向量Hach

在进行向量查找对比时,可以获得两个向量中同样位置相同数值的个数M(M<m),如果M的值越小,说明哈希向量的区别越大,那么可以通过下述方式查找负向量:

其中,M

在另一种可能的实现方式中,服务器基于等长的输入序列,计算每个序列之间的皮尔逊相关系数,并根据该皮尔逊系数构建得到渐进矩阵。

具体地,服务器通过皮尔逊相关系数计算输入序列之间的相关关系,从而构建渐进矩阵,该渐进矩阵表达了潜在的长期空间相关性。

进一步的,皮尔逊相关系数可以通过下列公式计算得到:

其中,/>

可以看出,渐进矩阵Ed是一个沿主对角线对称的矩阵。

S204、通过带有门控机制的扩散卷积捕获所述源域数据的时间特征,并根据该时间特征、邻接矩阵和渐进矩阵得到包含多维空间相关性的特征。

具体地,服务器进行扩散卷积的过程中,通过收缩卷积核,对时间序列中的各个数据进行特征提取,同时融合相邻时间节点之间的相关关系。应理解,为保证能够充分提取特征,服务器将会设置多层扩散卷积,每层扩散卷积的结果在施加门控机制之后,通过一个中间存储单元对其进行保存。

示例性的,假设输入数据 F={X1,X2,X3,…,XN},则扩散卷积的过程可以表示为:

其中,★表示基于收缩卷积核的扩散卷积运算,o表示矩阵的哈达玛积,σ表示sigmoid 函数,也就是门控机制,用于随机舍弃原矩阵中的部分元素,降低噪声对模型的影响,Wl,i表示第i层扩散卷积对应两个卷积核的可学习参数,Fi-1表示上一个卷积层的输出。收缩卷积核可以通过扩大卷积核自身的采集视野将原本的序列进行融合与压缩,提取其中有用的时间特征,收缩卷积核主要通过收缩步长来决定,若收缩步长为2,那么就是一次采集序列中两个位置的数据融合成一个点的数据,若收缩步长为3,则是将三个位置的数据融合成一个点的数据。

值得注意的是,在进行扩散卷积和特征融合的过程中,中间存储单元可以通过全连接层对不同卷积深度下的交通流特征 fi进行降维后存储,其过程可以表示为:

其中,hi为当前卷积层降维后保存的解,Wi和bi分别表示全连接层的权重和偏置。

在一种可能的实现方式中,服务器将源域数据的时间特征与邻接矩阵进行运算,得到包含短期空间相关性的特征,将时间特征与渐进矩阵进行运算,得到包含长期空间相关性的特征,通过连接机制将包含短期空间相关性的特征与包含长期空间相关性的特征进行融合,得到包含多维空间相关性的特征。

具体地,在提取得到时间特征之后,可以利用图卷积机制将其分别与邻接矩阵和渐进矩阵进行运算,分别得到对应的包含短期空间相关性的特征和包含长期空间相关性的特征。

示例性的,基于由节点拓扑关系构建的邻接矩阵,通过卷积的方法为节点之间施加一个短期的空间信号,捕获交通流中潜在的短期空间相关性,其过程可以通过下列公式计算得到:

其中,Ham,i表示第i个卷积层中,带有短期空间相关性和时间相关性的交通流潜在特征,Wam,i表示对应的卷积核可学习参数。同理,基于皮尔逊相关系数构建的渐进矩阵,通过卷积的方法为各节点之间施加一个长期空间相关性,并通过下列公式得到输出结果:

其中,Hg,i表示第i个卷积层中,带有长期空间相关性和时间相关性的交通流潜在特征,Wg,i表示对应的卷积核可学习参数。

进一步的,在分别获得两个图卷积机制的输出之后,通过连接机制将两个输出结果进行连接,即将 Ham,i和 Hg,i进行连接,应注意,这里的连接是指纵向的连接,例如原本两个潜在特征的维度均为N×N,那么在经过纵向连接之后将会得到一个2×N×n 维度的张量,其连接过程可以表示为:

/>

其中,Hi表示连接之后得到的结果,‖表示纵向连接机制。

在得到 Hi之后,可以通过卷积运算,即 HI=WHi,将原有特征进行压缩融合,得到一个维度为N×n且融合了多维空间相关性与时间相关性的交通流潜在特征HI,W 表示卷积核的可学习参数。

在另一种可能的实现方式中,服务器通过残差连接机制将每个扩散卷积层的输入序列与该层具有多维空间相关性的潜在特征进行连接,得到连接结果,对该连接结果进行批次归一化操作,该批次归一化操作用于对同一个节点在一个批次中的数据进行归一化。

具体地,为保证模型具有较强的可训练性,通过残差连接的机制将每个

扩散卷积层的输入数据与该层具有多维空间相关性的潜在特征进行连接,保证原始数据不会因为过度卷积而造成特征丢失,避免模型在经过少量的训练之后陷入停滞。另外,为了防止模型出现计算量爆炸式增长,在每一次残差连接之后,都需要执行一个归一化操作,应理解,此处的归一化与数据预处理时的归一化操作不同,此处的归一化为批次(BatchNorm)归一化,是针对同一个节点在一个批次中的数据进行归一化,能够尽可能考虑交通流中的时间关系,同时只对输入批次数敏感,对输入数据的节点数不敏感,从而符合迁移学习的需求。

进一步的,残差连接与归一化操作可能通过下列公式进行表达:

在每个卷积层都计算完成之后,从每个扩散卷积层对应的中间存储单元中提取出不同卷积深度下的交通流特征,利用连接机制对多个特征进行纵向的连接,与前面提到的连接机制相似,若原本每一个特征的维度都为N×n,那么经过连接之后将得到一个维度为Q×N×n的张量,其中,Q 表示扩散卷积层的个数。

在连接之后可以通过全连接层和激活函数得到模型的预测结果,其具体实现可以表示为:

其中,W和b分别表示全连接层的参数,ReLU 表示激活函数。

S205、根据多维空间相关性的特征和正负向量,得到交通流变化对应的一般性特征。

具体地,模型在进行训练时需要不断的进行反向传播以调整模型参数,使模型曲线可以更加符合现实交通流的变化曲线,而为了进一步提高模型反向传播的效果,可以通过对比学习的方法来进行改进,将输入数据与上述由局部敏感哈希算法获取到的正负向量分别进行比较,计算两者之间的标准化欧式距离,从而调整模型的损失函数。

示例性的,标准化欧式距离用于度量两个特征向量之间的相似程度,距离越近则表示特征越相同,具体可以通过下列公式进行计算:

其中,Ai与 Bi分别表示特征向量 A 和 B 对应位置的数据,Si表示 Ai与Bi之间的标准差。由此,可以进一步的得到损失函数的表达:

其中,

需要说明的是,上述步骤 S201-S205 都可以称之为预训练,可以捕获交通流变化的一般性特征,这里仅仅是用一个源域的数据进行说明的,为了进一步提高所捕获的一般性特征的准确性,可以使用多个源域的数据进行预训练,其具体训练过程与上述相同,在此不再赘述。另外,针对每一个源域的数据进行预训练时,其训练次数不超过预设次数(例如10 次),防止模型在

训练过程中过度拟合源域数据。交通流的一般性特征表示不受地域影响的交通流规则变化,这种变化在不同的地区大致是一致的,例如由于人们通勤导致的交通流规则变化,比如工作日的“早高峰”和“晚高峰”,非工作日(节假日)与工作日交通流变化,由于本申请之前在获取正负向量时就做出了设定,这样可以保证在可查找的交通流序列中,充分包含了不同状态下的交通流。

S206、根据交通流变化对应的一般性特征同步预训练模型中的参数,并通过目标域数据对预训练模型进行调整,得到交通流预测模型。

具体地,在利用源域数据进行预训练之后,可以得到相关模型参数,这些模型参数可以表达交通流的一般性特征,然后直接读取这些参数并将其进行载入到预训练模型中,接着将采集到的目标域数据输入该预训练模型进行训练,并在训练过程中对模型参数进行进一步的调整,使得模型所预测的交通流曲线更加拟合目标域的交通流真实曲线,从而得到最终的适合目标域的交通流预测模型。

通过目标域的数据对预训练模型中的模型参数进行调整可以称之为微调,值得说明的是,微调的过程与上述预训练过程基本一致,模型的整体运行过程和模型参数数目是不变的,主要变化的是输入数据部分,同时输入的邻接矩阵和计算得到的渐进矩阵也是不同的,此外,目标域数据的输入长度需要与源域数据的输入长度保持一致。微调的具体过程可以参照上述 S201-S205的相关描述,为了简洁,在此不再赘述。

S207、利用交通流预测模型对当前交通流进行预测,输出交通流预测结果。

具体地,在利用目标域数据对预训练模型进行调整之后,可以得到一个基于目标域交通状况,预测准确度较高的交通流预测模型,然后利用该交通流预测模型对当前数据质量不佳或缺乏关键值的目标区域进行交通流预测,可以得到较为准确的交通流预测结果。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

为了便于更好的理解本申请所提供的交通流预测方法,下面将结合一个城市构建智慧交通体系为例进行详细说明。

假设由于区域经济问题,该城市数字化建设启动较晚,历史交通流数据较少,只有近半个月以来的交通流数据可用,但城市中各个数据采集节点之间的拓扑关系已知,由此可以得到T个节点半个月的交通流数据,每一个节点对应一条历史交通流数据,例如 X1={13,56,79,15,…,49},一共T个,这些数据共同构成了目标域数据。同时,收集多个(例如两个)已在网上公开发布的完整交通流数据集,这些数据包括某一地区两个月以上的历史交通流数据,不存在缺失值且各个节点之间的拓扑结构清晰,假设源域一和源域二分别有 S1和 S2个节点,则可以分别得到S1和S2个形如X1的交通流历史数据序列。

对获取到的源域数据和目标域数据进行预处理,由于交通流数据的数据量往往比较大,难以一次性输入并捕捉到可以泛化的交通流特征曲线,所以首先需要对数据进行划分,例如可以根据监测时长来进行划分,一次选取长度为6个小时的交通流序列,若数据的采集间隔是一个小时采集 12 次,那么输入序列长度为 72,如果一个小时采集 6 次,则输入序列长度为 36,通过数据划分,可以提高模型的训练效果且降低模型训练过程中对计算机资源的占用率。需要说明的是,目标域数据的划分需与源域数据序列的划分保持一致。

示例性的,假设当前 时间第一个 节点的数据 序列可以表示 为:

由于交通流量在数值上是比较大的,直接使用这些数据进行运算会导致计算量较大,所以需要对数据进行归一化处理从而降低计算量的大小,例如,当前节点的交通流大小为50,数据集中交通流的最大值为100,最小值为0,则当前节点交通流归一化的结果为0.5。接着构建邻接矩阵,由于源域与目标域的路网结构不同,因此需要提前分别构建邻接矩阵,假设城市中的1号数据采集点有前往2号采集点的道路,则邻接矩阵中的(1,2)位置的数值为1,道路的数据采集点从0开始编码。

最后需要构建查询矩阵,在数据集中分别选取工作日和节假日一整天的真实数据序列,然后使用随机函数生成t个哈希矩阵,将哈希矩阵与数据序列进行运算,构建出N×t个哈希向量,最终合并成一个查询表,每个时间起始的数据序列都对应了一个查询表,在模型训练时只要进行查询即可。应理解,在源域数据序列长度与目标域数据序列长度一样的条件下,可以使用同一批哈希矩阵,否则需要重新生成。

在完成上述数据预处理之后,可以进行预训练,输入数据之后,针对每个节点都构建一个哈希向量,假设一个节点的序列为

然后通过皮尔逊相关系数计算获得渐进矩阵,假设输入的数据一共包含有S

接着通过带有门控机制的扩散卷积提取输入序列中的潜在特征,收缩卷积核可以根据输入序列的长度决定,可以随着输入长度的变化对收缩卷积核的步长和扩散卷积层的个数进行调整,假设输入序列的长度为12,则收缩卷积核的步长可以设置为3,扩散卷积层的个数可以设置为7层,具体的,输入序列为{13,56,79,15,…,49,50},那么收缩卷积核会先选取13、56、79进行融合,再选取56、79、15进行融合,依次融合之后可以获得当前扩散卷积层的卷积结果f

在得到潜在特征f

重复执行上述步骤,在经过多次循环之后,将每层扩散卷积层对应的中间存储单元中的结果h

将从不同源域获得的数据集分别输入到模型中循环上述预训练过程,模型将会从源域数据中捕获到交通流变化的一般规律,并通过模型参数记录下来,然后将该模型参数同步到微调过程(即用目标域数据训练的过程)所使用的训练模型中,相当于将捕获到的交通流变化的一般规律赋予了用于微调的模型,使得该模型在训练之前就已经包含了交通流变化的一般规律,由于各个城市的空间结构、道路拓扑关系不同,交通流变化细节也不一致,为了保证对目标域交通流预测的准确性,需要利用目标域数据再次进行训练,从而实现对基于交通流变化的一般规律进行调整。应注意,在微调过程中,保持模型的整体运行过程和模型参数数目不变,仅改变输入数据,在经过多次迭代之后模型将会收敛,最终将得到一个基于目标域交通状况、预测准确度较高的交通流预测模型。

需要说明的是,模型在训练完成之后可以一次性预测未来多个时间点的交通流状况,可以根据需要进行设置,例如设置12个时间点,另外,由于源域数据一般是固定的,而目标域数据可以根据需求进行变换,所以通常当目标域的输入数据发生改变,在输入序列等参数不发生调整的情况下,可以直接使用原有的预训练参数进行训练,若目标域的变化过大,则可以重新选择源域数据并进行预训练,进而再通过目标域数据对预训练得到的模型参数进行调整。

图3示出与上述实施例对应的交通流预测装置300的原理框图。如图3所示,该装置300包括获取模块310、构建模块320、计算模块330、捕获模型340、同步模块350和预测模块360。各功能模块详细说明如下。

获取模块310,用于获取源域数据和目标域数据,所述源域数据包括完整交通流数据,所述目标域数据包括待预测地区采集的交通流数据。

构建模块320,用于构建与所述源域数据对应的邻接矩阵和查询矩阵,所述邻接矩阵包括有向图,用于表征节点间的短期空间相互作用,所述查询矩阵包括多个哈希表,用于记录源域数据对应的哈希向量。

计算模块330,用于根据所述源域数据及所述源域数据对应的邻接矩阵和查询矩阵,得到正负向量和渐进矩阵,所述正负向量表示与输入向量的接近程度,所述渐进矩阵沿主对角线对称,用于表征节点间的长期空间相互作用。

捕获模块340,用于通过带有门控机制的扩散卷积捕获所述源域数据的时间特征,并根据所述源域数据的时间特征、所述邻接矩阵和所述渐进矩阵得到包含多维空间相关性的特征,根据所述包含多维空间相关性的特征和所述正负向量,得到交通流变化对应的一般性特征。

同步模块350,用于根据所述交通流变化对应的一般性特征同步预训练模型中的参数,并通过所述目标域数据对所述预训练模型进行调整,得到交通流预测模型。

预测模块360,用于利用所述交通流预测模型对当前交通流进行预测,输出交通流预测结果。

关于交通流预测装置的具体限定可以参见上文中对于交通流预测方法的限定,在此不再赘述。上述交通流预测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。

所述计算机设备400包括通过系统总线相互通信连接存储器410、处理器420、网络接口430。需要指出的是,图中仅示出了具有组件连接存储器410、处理器420、网络接口430的计算机设备400,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器 (Digital Signal Processor,DSP)、嵌入式设备等。

所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。

所述存储器410至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器410可以是所述计算机设备400的内部存储单元,例如该计算机设备400的硬盘或内存。在另一些实施例中,所述存储器410也可以是所述计算机设备400的外部存储设备,例如该计算机设备400上配备的插接式硬盘,智能存储卡(Smart Media Card, SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器410还可以既包括所述计算机设备400的内部存储单元也包括其外部存储设备。本实施例中,所述存储器410通常用于存储安装于所述计算机设备400的操作系统和各类应用软件,例如电子文件的控制的程序代码等。此外,所述存储器410还可以用于暂时地存储已经输出或者将要输出的各类数据。

所述处理器420在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器420通常用于控制所述计算机设备400的总体操作。本实施例中,所述处理器420用于运行所述存储器410中存储的程序代码或者处理数据,例如运行电子文件的控制的程序代码。

所述网络接口430可包括无线网络接口或有线网络接口,该网络接口430通常用于在所述计算机设备400与其他电子设备之间建立通信连接。

本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

技术分类

06120116336923