一种基于迁移学习的车流量预测方法和系统转让专利

申请号 : CN202110408541.8

文献号 : CN113095575B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李佳栋王智朱文武

申请人 : 清华大学深圳国际研究生院

摘要 :

本发明公开了一种基于迁移学习的车流量预测方法,包括步骤:S1、分别读取以时空图为样本的源城市数据集和目标城市数据集,进行数据点建立和任务建立操作,输出一系列源任务和一系列目标任务;S2、处理一系列源任务,通过元训练,从一系列源任务中学习结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0并输出;S3、根据输入的一系列目标任务和结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0,对每个目标任务,根据目标任务的支持集训练时空图预测网络,输出目标任务的查询集内的数据点的预测值,并最终得到目标城市数据集中所有测试样本的预测值。本发明可以得到更为精准的预测值。

权利要求 :

1.一种基于迁移学习的车流量预测方法,其特征在于,包括如下步骤:S1、读取以时空图为样本的源城市数据集,进行数据点建立和任务建立操作,输出一系列源任务;读取以时空图为样本的目标城市数据集,进行数据点建立和任务建立操作,输出一系列目标任务;

S2、处理所述一系列源任务,通过元训练,从所述一系列源任务中学习结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0并输出;

S3、根据输入的所述一系列目标任务和步骤S2输出的结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0,对每个目标任务,根据所述目标任务的支持集训练时空图预测网络,输出所述目标任务的查询集内的数据点的预测值,处理完所有目标任务后得到所述目标城市数据集中所有测试样本的预测值;

所述源城市数据集和所述目标城市数据集中的样本都包含图G以及在当前时间区间tt‑τ+1:t τ×N×D

及过去τ‑1个时间区间的图信号X ∈R ,其中N是图上的节点个数,D是图信号的通t+1:t+τ′ τ′×N×D道个数;所述样本的真实值为未来τ′个时间区间的图信号X ∈R ;其中,所述目标城市数据集中的一部分样本带有真实值,其他则是待预测的测试样本,所述源城市数据集的所有样本都带有真实值;

所述步骤S1具体包括:

S1.1、数据点建立:

对于从城市c抽象得到的图Gc中的节点u,在时间区间t建立数据点为其中Gu表示以节点u为中心的局部子图, 表示局部子图Gu在时间区间t及过去τ‑1个时间区间的图信号;

对图Gc的所 有节点在所有时间区 间建立数据点 ,形成数据点集 合其中 是图Gc所有节点的集合, 是城市c样本涵盖的时间区间的集合;

对于所有源城市和目标城市,产生多个数据点集合;

S1.2、任务建立:

对于所有源城市和目标城市中的每个城市c,按照数据点所在时间范围将数据点集合进行拆分成一系列子数据集 其中: 是位于一周中的第i个小时的时间区间组成的集合,∩表示集合的交,若子数据集 为空集,则舍弃,若子数据集 为非空集,则再将 拆分为支持集 和查询集对于源城市数据集,支持集 包含 中位于 中前80%时间区间的数据点及其对应真实值, 包含 中位于 中末20%时间区间的数据点及其对应真实值;

对于目标城市数据集,支持集 包含所有 中带有真实值的数据点及其对应真实值,包含 中的剩余数据点;

以优化时空图预测网络在支持集 内的数据点上预测的平方误差的平均值为目标,建立所述源任务和所述目标任务,将所有建立的源任务进行编号,得到源任务1~源任务M,将所有建立的目标任务进行编号,得到目标任务1~目标任务M′;

所述步骤S2包括如下步骤:

S2.1、生成结构类别标签:对输入的所有源任务进行处理,输出结构类别标签,具体为:对于源城市c的图Gc中的节点u,在时间区间t,考虑与其地理位置最近的Nl个邻居节点,计算节点u在时间区间t的结构特征 若图信号的通道个数为1,则根据皮尔逊相关系数计算结构特征第k个维度

其中τ为时间区间的个数,Iu(k)是节点u的第k个邻居节点的索引, 和 分别是节点u和节点Iu(k)在时间区间t0的信号, 和 分别是节点u和节点Iu(k)在时间区间t及过去τ‑1个时间区间信号的平均值;

若图信号的通道个数大于1,则在每个通道根据上式(1)计算,再把各个通道的计算结果取平均,作为最终 的值;

遍历所有源任务,得到结构特征集合,使用聚类算法,将所述结构特征集合中的所有结构特征分成Ks个类别,分类结果即作为结构特征对应节点在结构特征对应时间区间的结构类别标签;

S2.2、生成长期模式类别标签:对输入的所有源任务进行处理,输出长期模式类别标签,具体为:

对于源城市c的图Gc中的节点u,计算其长期模式特征,定义长期模式特征为平均每日特征 其中τ0=24小时/时间区间长度,ωu的第j个元素ωu(j)的计算方法为:其中 是位于一天中的第j个时间区间的时间区间组成的集合, 是 中包含t′,u

的元素个数,X 是节点u在时间区间t′的信号;

使用聚类算法,根据长期模式特征将所有源城市的图中的所有节点分成Kp个类别,分类结果即作为该节点的长期模式类别标签;

S2.3、随机初始化结构记忆Ms、长期模式记忆Mp、时空图预测网络的参数的初始化值Θ0,其中 Ks和Kp分别是结构类别和长期模式类别数,Ds和Dp都是超参数;

S2.4、初始化外层损失函数Lout为0,从M个源任务中随机挑选N1个任务,再取其中第一个任务;

S2.5、初始化时空图预测网络的参数Θ为Θ0;

S2.6、从当前任务的支持集中随机挑选N2个数据点,再取其中第一个数据点;

S2.7、以当前数据点为输入,最终输出当前任务的支持集中的当前数据点的预测值,具体为:设当前数据点为 执行如下操作:S2.7.1、取时间区间t‑τ+1;

S2.7.2、设当前时间区间为t0,从数据点 中选取局部子图Gu在时间区间t0的图信号以 和Gu为输入通过图卷积网络输出局部子图Gu在时间区间t0的动态局部图结构S2.7.3、计算局部子图Gu在时间区间t0的注意力权重矩阵 并利用结构记忆Ms更新局部子图Gu在时间区间t0的动态局部图结构S2.7.4、以 Gu和 为输入通过局部结构学习卷积,得到节点u在时间区间t0的空间表征

S2.7.5、将 输入长短期记忆神经网络,所述长短期记忆神经网络在时间区间t0输出隐状态

S2.7.6、若当前时间区间t0=t,则以隐状态 作为节点u在时间区间t的时空图表征并进行第S2.7.7步;否则,取下一个时间区间,回到第S2.7.2步S2.7.7、计算节点u在时间区间t的注意力权重向量 并通过长期模式记忆Mp更新节点u在时间区间t的时空图表征

S2.7.8、以 为输入通过输出层计算当前数据点的预测值 也就是节点u在未来τ′个时间区间的信号的预测值;

S2.8、若尚未遍历完N2个数据点,则取下一个数据点,回到第S2.7步;否则进行第S2.9步;

S2.9、以当前任务的支持集中的N2个数据点的预测值与真实值的平方误差的平均值为内层损失函数,针对所述内层损失函数,使用梯度下降训练一步时空图预测网络的参数Θ;

S2.10、循环执行第S2.6‑S2.9步Nin‑1次,其中Nin为≥1;

S2.11、从当前任务的查询集中随机挑选N2个数据点,再取其中第一个数据点;

S2.12、以当前数据点为输入,设当前数据点为 执行如下操作:S2.12.1~S2.12.8、分别采用与步骤S2.7.1‑S2.7.8相同的操作;

S2.12.9、以计算得到的 作为当前时间区间t当前局部子图Gu中的节点v的结构类别预测的概率分布,以计算得到的注意力权重向量 作为当前数据点的长期模式类别预测的概率分布,最终输出当前任务的查询集中的当前数据点的预测值 当前时间区间t当前局部子图Gu中的节点v的结构类别预测的概率分布,和当前数据点的长期模式类别预测的概率分布;

S2.12.10、根据当前数据点的预测值和真实值,当前时间区间当前局部子图中的所有节点的结构类别预测的概率分布和第S2.1步得到的结构类别标签,当前数据点的长期模式类别预测的概率分布和第S2.2步得到的长期模式类别标签,更新外层损失函数Lout;

S2.13、若尚未遍历完N2个数据点,则取下一个数据点,回到第S2.12步;否则进行第S2.14步;

S2.14、循环执行第S2.11‑S2.13步Nin‑1次,其中Nin≥1;

S2.15、若尚未遍历完N1个任务,则取下一个任务,执行步骤S2.5‑S2.14;否则进行第S2.16步;

S2.16、针对外层损失函数Lout,通过亚当优化算法训练结构记忆Ms、长期模式记忆Mp、时空图预测网络的初始化参数Θ0;

S2.17、循环执行第S2.4‑S2.16步Nout‑1次,输出结构记忆Ms、长期模式记忆Mp和时空图预测网络的初始化参数Θ0。

2.如权利要求1所述的基于迁移学习的车流量预测方法,其特征在于:所述步骤S2.7.3计算局部子图Gu在时间区间t0的注意力权重矩阵 并利用结构记忆Ms更新局部子图Gu在时间区间t0的动态局部图结构 具体为:首先计算局部子图Gu在时间区间t0的注意力权重矩阵 对于局部子图Gu中的节点v,设 中对应节点v的行向量为 则 的第l个元素 的计算方法为:其中, 是 中对应于节点v的行向量;FC1代表全连接层,用于将向量变换到Ms的行向量所在空间;Ms(l)和Ms(l′)分别是结构记忆的第l行和第l′行;·代表向量内积;Ks是结构类别数;

然后更新局部子图Gu在时间区间t0的动态局部图结构 对于局部子图Gu中的每个节点v,更新 更新方法为:

其中, 代表 的转置;[,]是向量拼接操作;FC2代表全连接层,用于将向量变换到 的行向量所在空间,FC2和FC1不共享参数。

3.如权利要求2所述的基于迁移学习的车流量预测方法,其特征在于:所述步骤S2.7.7计算节点u在时间区间t的注意力权重向量 并通过长期模式记忆Mp更新节点u在时间区间t的时空图表征 具体为:

首先计算节点u在时间区间t的注意力权重向量 的第m个元素 的计算方法为:

其中,FC3代表全连接网络,用于将向量变换到Mp的行向量所在空间,FC3与FC1、FC2均不共享参数;Mp(m)和Mp(m′)分别是长期模式记忆的第m行和第m′行;·代表向量内积;Kp是长期模式类别数;

然后更新节点u在时间区间t的时空图表征其中 代表 的转置;[,]是向量拼接操作。

4.如权利要求1所述的基于迁移学习的车流量预测方法,其特征在于:所述步骤S2.12.10根据当前数据点的预测值和真实值,当前时间区间当前局部子图中的所有节点的结构类别预测的概率分布和第S2.1步得到的结构类别标签,当前数据点的长期模式类别预测的概率分布和第S2.2步得到的长期模式类别标签,更新外层损失函数Lout,具体为:设当前数据点为 当前时间区间t当前局部子图Gu中的节点v的结构类别预测的概率分布为 当前数据点的长期模式类别预测的概率分布为通过 和第S2.2步得到的长期模式类别标签,用交叉熵损失函数计算当前数据点的长期模式类别预测误差;对局部子图Gu中每个节点v,通过 和第S2.1步得到的结构类别标签,用交叉熵损失函数计算当前时间区间t节点v的结构类别预测误差,并计算当前时间区间t当前局部子图Gu中所有节点的结构类别预测误差的平均值,作为当前数据点的结构类别预测误差;

设当前数据点的预测值与真实值的平方误差为L1,长期模式类别预测误差为L2,结构类别预测误差为L3,则更新外层损失函数 其中λ2和λ3为超参数。

5.如权利要求1所述的基于迁移学习的车流量预测方法,其特征在于:所述步骤S3具体包括:

S3.1、取目标任务1;

S3.2、初始化时空图预测网络的参数Θ为Θ0;

S3.3、若当前任务的支持集为空,则不训练时空图预测网络的参数,直接进行S3.4;否则,在当前任务的支持集中随机挑选N2个数据点,再取其中第一个数据点;

S3.4、以当前数据点为输入,采用与步骤S2.7.1‑2.7.8相同的操作,最终输出当前目标任务的支持集中的当前数据点的预测值;

S3.5、若尚未遍历完N2个数据点,则取下一个数据点,回到第S3.4步;否则进行第S3.6步;

S3.6、以N2个数据点的预测值与真实值的平方误差的平均值为内层损失函数,针对内层损失函数,使用梯度下降训练一步时空图预测网络的参数Θ;

S3.7、循环执行第S3.3‑S3.6步Nin′‑1次;

S3.8、选取当前任务的查询集中的第一个数据点;

S3.9、以当前数据点为输入,采用与步骤S2.7.1‑S2.7.8相同的操作,最终输出当前目标任务的查询集中的当前数据点的预测值;

S3.10、若尚未遍历完当前任务的查询集中的所有数据点,则取当前任务的查询集中的下一个数据点,回到第S3.9步,否则,已得到当前任务的查询集中所有样本的预测值,进行S3.11;

S3.11、若尚未遍历完M′个目标任务,则取下一个目标任务,执行步骤S3.2‑S3.10,否则,结束操作,得到所有目标任务的查询集中所有数据点的预测值,即所有测试样本的预测值。

6.如权利要求1所述的基于迁移学习的车流量预测方法,其特征在于:还包括如下步骤:

S4、利用评价指标对步骤S3输出的所述预测值与真实值进行对比评估;其中,所述评价指标为所述预测值和真实值的平均绝对误差和均方根误差中的至少一者。

7.一种用于权利要求1‑6任意一项所述的基于迁移学习的车流量预测方法的基于迁移学习的车流量预测系统,其特征在于,包括:任务建立模块,用于读取以时空图为样本的源城市数据集,进行数据点建立和任务建立操作,输出一系列源任务;读取以时空图为样本的目标城市数据集,进行数据点建立和任务建立操作,输出一系列目标任务;

知识提取模块,用于处理所述一系列源任务,通过元训练,从所述一系列源任务中学习结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0并输出;

微调和预测模块,用于根据输入的所述一系列目标任务和步骤S2输出的结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0,对每个目标任务,根据所述目标任务的支持集训练时空图预测网络,输出所述目标任务的查询集内的数据点的预测值,处理完所述所有目标任务后得到所述目标城市数据集中所有测试样本的预测值。

说明书 :

一种基于迁移学习的车流量预测方法和系统

技术领域

[0001] 本发明涉及车流量预测技术领域,特别是涉及一种基于迁移学习的车流量预测方法和系统。

背景技术

[0002] 时空预测的迁移学习是科研领域的新兴问题,现有的时空预测的迁移学习方法如跨城市迁移学习(RegionTrans)以及基于元学习的时空预测(MetaST)针对网格化的时空数
据,网格的一个格点对应城市的一个区域。其中,跨城市迁移学习是根据过去一段时间的训
练数据或辅助数据(例如用户访问信息)计算区域匹配函数,并根据区域匹配函数引导目标
城市上时空预测网络的训练。基于元学习方法的时空预测,是提取单个区域的长期信息(例
如,周期模式)并存储在长期模式记忆中,再使用模型无关元学习算法(MAML),在多个源城
市的时空预测任务上进行元训练,习得一组时空预测网络的初始化参数和长期模式记忆,
在目标城市的时空预测任务上,从元训练习得的初始化参数出发微调时空预测网络的参
数,再结合元训练习得的长期模式记忆进行预测。
[0003] 以上现有技术存在如下缺点:1、没有针对时空图预测的迁移学习机制,时空图指在不同时间区间有不同图信号的图,由于时空图数据存在图结构这一重要属性,过去的时
空预测的迁移学习方法忽视了迁移图结构,无法在时空图预测的迁移学习任务上取得良好
结果;2、迁移知识时未考虑不同时间段的时空特性差异,已有方法都是使时空预测网络适
应于不同的空间环境(如区域,城市等),但是一个地区在不同时间段存在不同的时空特性,
已有方法无法使时空预测网络适应于不同的时间环境(如早晨,周末)。

发明内容

[0004] 为了弥补上述现有技术的不足,本发明提出一种基于迁移学习的车流量预测方法和系统。
[0005] 本发明的技术问题通过以下的技术方案予以解决:
[0006] 一种基于迁移学习的车流量预测方法,包括如下步骤:
[0007] S1、读取以时空图为样本的源城市数据集,进行数据点建立和任务建立操作,输出一系列源任务;读取以时空图为样本的目标城市数据集,进行数据点建立和任务建立操作,
输出一系列目标任务;
[0008] S2、处理所述一系列源任务,通过元训练,从所述一系列源任务中学习结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0并输出;
[0009] S3、根据输入的所述一系列目标任务和步骤S2输出的结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0,对每个目标任务,根据所述目标任务的支持集训
练时空图预测网络,输出所述目标任务的查询集内的数据点的预测值,处理完所述所有目
标任务后得到所述目标城市数据集中所有测试样本的预测值。
[0010] 一种基于迁移学习的车流量预测系统,包括:
[0011] 任务建立模块,用于读取以时空图为样本的源城市数据集,进行数据点建立和任务建立操作,输出一系列源任务;读取以时空图为样本的目标城市数据集,进行数据点建立
和任务建立操作,输出一系列目标任务;
[0012] 知识提取模块,用于处理所述一系列源任务,通过元训练,从所述一系列源任务中学习结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0并输出;
[0013] 微调和预测模块,用于根据输入的所述一系列目标任务和步骤S2输出的结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0,对每个目标任务,根据所述目
标任务的支持集训练时空图预测网络,输出所述目标任务的查询集内的数据点的预测值,
处理完所述所有目标任务后得到所述目标城市数据集中所有测试样本的预测值。
[0014] 本发明的有益效果包括:本发明针对时空图预测问题,设计了基于迁移学习的时空图预测方法,同时设计了能适应于不同时间环境的时空图预测的迁移学习机制,本发明
方法的预测结果更精准。

附图说明

[0015] 图1是本发明具体实施方式中的基于迁移学习的车流量预测系统示意图。

具体实施方式

[0016] 下面对照附图并结合优选的实施方式对本发明作进一步说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0017] 如图1所示,一种基于迁移学习的车流量预测系统包括三个模块:任务建立模块、知识提取模块和微调与预测模块,其对车流量的预测方法包括如下步骤:
[0018] S1、读取以时空图(时空图指在不同时间区间有不同图信号的图)为样本的源城市数据集,进行数据点建立和任务建立操作,输出一系列源任务;读取以时空图为样本的目标
城市数据集,进行数据点建立和任务建立操作,输出一系列目标任务;
[0019] S2、处理所述一系列源任务,通过元训练,从所述一系列源任务中学习结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0并输出;
[0020] S3、根据输入的所述一系列目标任务和步骤S2输出的结构记忆Ms、长期模式记忆Mp、以及时空图预测网络的初始化参数Θ0,对每个目标任务,根据所述目标任务的支持集训
练时空图预测网络,输出所述目标任务的查询集内的数据点的预测值,处理完所述所有目
标任务后得到所述目标城市数据集中所有测试样本的预测值。
[0021] 整个流程的输入是源城市(一个或多个源城市均可)数据集及目标城市(一个或多个目标城市均可)数据集。对于时空图预测任务,一个样本包含图G(从一个城市抽象)以及
t‑τ+1:t τ×N×D
在当前时间区间t及过去τ‑1个时间区间(time interval)的图信号X ∈R ,其中N
是图上的节点个数,D是图信号的通道个数。样本的真实值(即标签值)为未来τ′个时间区间
t+1:t+τ′ τ′×N×D
的图信号X ∈R ,本申请设定是目标城市数据集中只有一小部分(比如前3天)样
本带有真实值,其他都是待预测的测试样本,源城市数据集的所有样本都带有真实值。整个
流程的输出是以上测试样本的预测值,预测精准度的评价指标是测试样本的预测值和真实
值的平均绝对误差(MAE)和均方根误差(RMSE)。
[0022] 以下进行详细。需要说明的是,以下表述中,若“城市”前没有“源”或“目标”的限定,则指代源城市或目标城市。
[0023] 一、任务建立模块
[0024] 任务建立模块读取源城市数据集,输出一系列源任务:源任务1,…,源任务M。任务建立模块读取目标城市数据集,输出一系列目标任务:目标任务1,…,目标任务M’。
[0025] 任务建立模块的内部操作如下:
[0026] 1、数据点建立
[0027] 对于图Gc(从城市c抽象)中的节点u,在时间区间t我们建立数据点为其中,Gu表示以节点u的局部子图(节点u的1阶和2阶邻居及节点u组成
的子图), 表示局部子图Gu在时间区间t及过去τ‑1个时间区间的图信号。
[0028] 对图Gc的所有节点在所有时间区间建立数据点,形成数据点集合其中, 是图Gc所有节点的集合, 是城市c样本涵盖的时间区
t+1:t+τ′,u
间的集合,若节点u上未来τ′个时间区间的信号X 是已知的,则称数据点 是带有
真实值(标签值)的。
[0029] 对于所有城市,产生多个数据点集合。
[0030] 2、任务建立
[0031] 无论输入的是源城市数据集还是目标城市数据集,对于每个城市c,按照数据点所在时间范围将数据点集合 进行拆分。具体地,
[0032] 我们把 拆成 其中 是位于一周中的第i个小时(一周中共168个小时)的时间区间组成的集合,∩表示集合的交,若子数
据集 为空集,则舍弃;若子数据集 为非空集,然后再将 拆分为支持集 和查询集
拆分方法根据输入是源城市数据集还是目标城市数据集而异。
[0033] 若任务建立模块的输入是源城市数据集,则 包含 中位于 中前80%时间区间的数据点及其对应真实值, 包含 中位于 中末20%时间区间的数据点及其对应真实
值。
[0034] 若任务建立模块的输入是目标城市数据集,则 包含所有 中带有真实值的数据点及其对应真实值, 包含 中的剩余数据点。
[0035] 为以优化时空图预测网络在支持集 内的数据点上预测的平方误差的平均值为目标建立所述源任务和所述目标任务。
[0036] 将所有建立的源任务进行编号,得到源任务1,…,源任务M,其中,在源城市数据集的所有子数据集都为非空集的条件下,M的最大可能值为168×源城市个数。
[0037] 将所有建立的目标任务进行编号,得到目标任务1,…,目标任务M’,其中,在目标城市数据集的所有子数据集都为非空集的条件下,M′的最大可能值为168×目标城市个数。
[0038] 至此,任务建立模块操作完成。
[0039] 二、知识提取模块
[0040] 知识提取模块的输入为一系列源任务:源任务1,…,源任务M,输出为元知识:结构记忆Ms(即结构记忆矩阵Ms)、长期模式记忆Mp(即长期模式记忆矩阵Mp)、时空图预测网络的
初始化参数Θ0。
[0041] 知识提取模块的内部操作如下:
[0042] 1、生成结构类别标签:这一步的输入是所有源任务,输出结构类别标签。
[0043] 对于源城市c的图Gc中的节点u,在时间区间t(属于 中前80%的时间区间),考虑与其地理位置最近的Nl个邻居节点,计算节点u在时间区间t的结构特征 若图信
号的通道个数为1,根据皮尔逊相关系数计算结构特征第k个维度
[0044]
[0045] 其中τ为时间步长(本例的实验中,τ=1小时/5分钟=12),Iu(k)是节点u的第k个邻居(按照邻居与节点u的距离排序)节点的索引, 和 分别是节点u和节点Iu(k)
在时间区间t0的信号, 和 分别是节点u和节点Iu(k)在时间区间t及过去τ‑1个时
间区间信号的平均值;
[0046] 若图信号的通道个数大于1,在每个通道根据上式(1)计算,再把各个通道的计算结果取平均,作为最终 的值;
[0047] 这样遍历所有原任务,得到结构特征集合,使用聚类算法(例如HAC层次凝聚聚类算法、K均值聚类算法、最大最小距离聚类算法,本例中采用K均值聚类算法),将结构特征集
合中的所有结构特征分成Ks个类别,分类结果即作为结构特征对应节点在结构特征对应时
间区间的结构类别标签。
[0048] 2、生成长期模式类别标签(和“1、生成结构类别标签”为并列步骤):这一步的输入是所有源任务,输出长期模式类别标签。
[0049] 对于源城市c的图Gc中的节点u,计算其长期模式特征。我们定义长期模式特征为平均每日特征 其中τ0=24小时/时间区间长度,ωu的第j个元素ωu(j)的计算方
法为:
[0050]
[0051] 其中 是位于一天中的第j个时间区间的时间区间组成的集合, 是t′,u
中包含的元素个数,X 是节点u在时间区间t′的信号
[0052] 使用聚类算法(例如HAC层次凝聚聚类算法、K均值聚类算法、最大最小距离聚类算法,本例中采用K均值聚类算法),根据长期模式特征将所有源城市的图中的所有节点分成
Kp个类别,分类结果即作为该节点的长期模式类别标签。
[0053] 3、随机初始化结构记忆Ms、长期模式记忆Mp、时空图预测网络的参数的初始化值Θ0,其中 Ks和Kp分别是结构类别和长期模式类别数,所以Ms和Mp
的每一行存的分别是每一种结构类别的信息和每一种长期模式类别的信息,Ds和Dp都是超
参数(本例的实验中Ds和Dp均设置为8)。所述时空图预测网络的参数包括图卷积网络(GCN)
的参数、局部结构学习卷积(local SLC)的参数、长短期记忆神经网络(LSTM)、三个用于向
量变换的全连接层的参数以及输出层的参数。
[0054] 4、初始化外层损失函数Lout为0。从M个源任务中随机挑选N1个任务(本例的实验中取N1为3),再取其中第一个任务。
[0055] 5、初始化时空图预测网络的参数Θ为Θ0。
[0056] 6、从当前任务的支持集中随机挑选N2个数据点(本例的实验中取N2为128),再取其中第一个数据点;
[0057] 7、以当前数据点为输入,通过本发明所用的时空图预测网络,最终输出当前任务的支持集中的当前数据点的预测值。设当前数据点为 则本发明所用的
时空图预测网络的具体操作为:
[0058] 7.1、取时间区间t‑τ+1;
[0059] 7.2、设当前时间区间为t0,从数据点 中选取局部子图Gu在时间区间t0的图信号以 和Gu为输入通过图卷积网络输出局部子图Gu在时间区间t0的动态局部图结构
[0060] 7.3、计算局部子图Gu在时间区间t0的注意力权重矩阵 并利用结构记忆Ms更新局部子图Gu在时间区间t0的动态局部图结构 具体为:首先计算局部子图Gu在时间区间
t0的注意力权重矩阵 对于局部子图Gu中的节点v,设 中对应节点v的行向量为
则 的第l个元素 的计算方法为:
[0061]
[0062] 其中, 是 中对应于节点v的行向量。FC1代表全连接层,作用是将向量变换到Ms的行向量所在空间。Ms(l)和Ms(l′)分别是结构记忆的第l行和第l′行,·代表向量内
积。
[0063] 然后更新局部子图Gu在时间区间t0的动态局部图结构 对于局部子图Gu中的每个节点v,更新 更新方法为:
[0064]
[0065] 其中 代表 的转置;[,]是向量拼接操作;FC2代表全连接层,作用是将向量变换到 的行向量所在空间,它和FC1不共享参数。
[0066] 7.4、以 Gu和 为输入通过局部结构学习卷积(本例中只使用动态部分,且以为动态局部图结构),得到节点u在时间区间t0的空间表征
[0067] 7.5、将 输入长短期记忆神经网络,长短期记忆神经网络在时间区间t0输出隐状态
[0068] 7.6、若当前时间区间t0=t,则以隐状态 作为节点u在时间区间t的时空图表征并进行第7.7步;否则,取下一个时间区间,回到第7.2步。
[0069] 7.7、通过长期模式记忆Mp更新节点u在时间区间t的时空图表征 首先计算节点u在时间区间t的注意力权重向量 的第m个元素 的计算方法为
[0070]
[0071] 其中,FC3代表全连接网络,作用是将向量变换到Mp的行向量所在空间,FC3与FC1、FC2均不共享参数。Mp(m)和Mp(m′)分别是长期模式记忆的第m行和第m′行。·代表向量内积。
[0072] 然后更新节点u在时间区间t的时空图表征
[0073]
[0074] 其中 代表 的转置;[,]是向量拼接操作。
[0075] 7.8、以 为输入通过输出层(为一个全连接层)计算当前数据点的预测值也就是节点u在未来τ′个时间区间的信号的预测值。
[0076] 8、若尚未遍历完N2个数据点,则取下一个数据点,回到第7步;否则进行下一步;
[0077] 9、以N2个数据点的预测值与真实值的平方误差的平均值为内层损失函数,针对内层损失函数,使用梯度下降训练一步时空图预测网络的参数Θ。
[0078] 10、循环执行第6‑9步Nin‑1次(本实例的实验中取Nin为1)。
[0079] 11、从当前任务的查询集中随机挑选N2个数据点,再取其中第一个数据点;
[0080] 12、以当前数据点为输入,通过本发明所用的时空图预测网络,输出查询集中的当前数据点的预测值,当前时间区间当前局部子图中的所有节点的结构类别预测的概率分
布,和当前数据点的长期模式类别预测的概率分布。具体为:设当前数据点为
则本发明所用的时空图预测网络的具体操作为:
[0081] 12.1、取时间区间t‑τ+1;
[0082] 12.2、设当前时间区间为t0,从数据点 中选取局部子图Gu在时间区间t0的图信号 以 和Gu为输入通过图卷积网络输出局部子图Gu在时间区间t0的动态局部图结构
[0083] 12.3、计算局部子图Gu在时间区间t0的注意力权重矩阵 并利用结构记忆Ms更新局部子图Gu在时间区间t0的动态局部图结构 具体为:首先计算局部子图Gu在时间区
间t0的注意力权重矩阵 对于局部子图Gu中的节点v,设 中对应节点v的行向量为
则 的第l个元素 的计算方法为:
[0084]
[0085] 其中 是 中对应于节点v的行向量。FC1代表全连接层,作用是将向量变换到Ms的行向量所在空间。Ms(l)和Ms(l′)分别是结构记忆的第l行和第l′行,·代表向量内
积。
[0086] 然后更新局部子图Gu在时间区间t0的动态局部图结构 对于局部子图Gu中的每个节点v,更新 更新方法为:
[0087]
[0088] 其中 代表 的转置;[,]是向量拼接操作;FC2代表全连接层,作用是将向量变换到 的行向量所在空间,它和FC1不共享参数。
[0089] 12.4以 Gu和 为输入通过局部结构学习卷积(本例中只使用动态部分,且以为动态局部图结构),得到节点u在时间区间t0的空间表征
[0090] 12.5将 输入长短期记忆神经网络,长短期记忆神经网络在时间区间t0输出隐状态
[0091] 12.6若当前时间区间t0=t,则以隐状态 作为节点u在时间区间t的时空图表征并进行下一步;否则,取下一个时间区间,回到第12.2步。
[0092] 12.7计算节点u在时间区间t的注意力权重向量 并通过长期模式记忆Mp更新节点u在时间区间t的时空图表征 首先计算节点u在时间区间t的注意力权重向量
的第m个元素 的计算方法为
[0093]
[0094] 其中,FC3代表全连接网络,作用是将向量变换到Mp的行向量所在空间,FC3与FC1、FC2均不共享参数。Mp(m)和Mp(m′)分别是长期模式记忆的第m行和第m′行。·代表向量内积。
[0095] 然后更新节点u在时间区间t的时空图表征
[0096]
[0097] 其中 代表 的转置。[,]是向量拼接操作。
[0098] 12.8以 为输入通过输出层(为一个全连接层)输出当前数据点的预测值也就是节点u在未来τ′个时间区间的信号的预测值。
[0099] 12.9以计算得到的 作为当前时间区间t当前局部子图Gu中的节点v的结构类别预测的概率分布,以计算得到的注意力权重向量 作为当前数据点的长期模式类别预测
的概率分布,最终输出当前任务的查询集中的当前数据点的预测值 当前时间区
间t当前局部子图Gu中的节点v的结构类别预测的概率分布,和当前数据点的长期模式类别
预测的概率分布。
[0100] 12.10根据当前数据点的预测值和真实值,当前时间区间当前局部子图中的所有节点的结构类别预测的概率分布和第1步得到的结构类别标签,当前数据点的长期模式类
别预测的概率分布和第2步得到的长期模式类别标签,更新外层损失函数Lout,具体操作为:
[0101] 设当前数据点为 则当前时间区间t当前局部子图Gu中的节点v的结构类别预测的概率分布为 当前数据点的长期模式类别预测的概率分布为
[0102] 通过 和第2步得到的长期模式类别标签,用交叉熵损失函数计算当前数据点的长期模式类别预测误差,对局部子图Gu中每个节点v,通过 和第1步得到的结构类别标
签,用交叉熵损失函数计算节点v的结构类别预测误差,并计算局部子图Gu中所有节点的结
构类别预测误差的平均值,作为当前数据点的结构类别预测误差。
[0103] 设当前任务的查询集中的当前数据点的预测值与真实值的平方误差为L1,长期模式类别预 测误差为L2,结构类别预测误差为L3,则更新外层损失函数
其中λ2和λ3为超参数(本例的实验中均设为
0.0001)。
[0104] 13、若尚未遍历完N2个数据点,则取下一个数据点,回到第12步;否则进行下一步;
[0105] 14、循环执行第11‑13步Nin‑1次,(实验中取Nin为1);
[0106] 15、若尚未遍历完N1个任务,则取下一个任务,回到第5步;否则进行下一步;
[0107] 16、针对外层损失函数Lout,通过亚当优化算法(Adam optimization algorithm)训练结构记忆Ms、长期模式记忆Mp、时空图预测网络的初始化参数Θ0。
[0108] 17、循环执行第4‑16步Nout‑1次(本例的实验中取Nout为20000)。
[0109] 至此,知识提取完成,输出元知识:结构记忆Ms,长期模式记忆Mp和时空图预测网络的初始化参数Θ0。
[0110] 三、微调与预测模块
[0111] 微调与预测模块的输入为元知识(结构记忆Ms,长期模式记忆Mp和时空图预测网络的初始化参数Θ0)和一系列目标任务:目标任务1,…,目标任务M′,输出所有目标任务的查
询集中所有数据点的预测值,即所有测试样本的预测值。
[0112] 微调与预测模块的内部操作如下:
[0113] 1、取目标任务1;
[0114] 2、初始化时空图预测网络的参数Θ为Θ0;
[0115] 3、若当前任务的支持集为空,则不训练时空图预测网络的参数,直接进行下一步;否则,从当前任务的支持集中随机挑选N2个数据点(本例的实验中取N2为128),再取其中第
一个数据点;
[0116] 4、以当前数据点为输入,通过本发明所用的时空图预测网络,输出当前数据点的预测值。设当前数据点为 则本发明所用的时空图预测网络的具体操
作为:
[0117] 4.1、取时间区间t‑τ+1;
[0118] 4.2、设当前时间区间为t0,从数据点 中选取局部子图Gu在时间区间t0的图信号以 和Gu为输入通过图卷积网络输出局部子图Gu在时间区间t0的动态局部图结构
[0119] 4.3、计算局部子图Gu在时间区间t0的注意力权重矩阵 并利用结构记忆Ms更新局部子图Gu在时间区间t0的动态局部图结构 具体为:首先计算局部子图Gu在时间区间
t0的注意力权重矩阵 对于局部子图Gu中的节点v,设 中对应节点v的行向量为
则 的第l个元素 的计算方法为:
[0120]
[0121] 其中 是 中对应于节点v的行向量。FC1代表全连接层,作用是将向量变换到Ms的行向量所在空间。Ms(l)和Ms(l′)分别是结构记忆的第l行和第l′行,·代表向量内
积。
[0122] 然后更新局部子图Gu在时间区间t0的动态局部图结构 对于局部子图Gu中的每个节点v,更新 更新方法为:
[0123]
[0124] 其中 代表 的转置;[,]是向量拼接操作;FC2代表全连接层,作用是将向量变换到 的行向量所在空间,它和FC1不共享参数。
[0125] 4.4、以 Gu和 为输入通过局部结构学习卷积(本例中只使用动态部分,且以为动态局部图结构),得到节点u在时间区间t0的空间表征
[0126] 4.5、将 输入长短期记忆神经网络,长短期记忆神经网络在时间区间t0输出隐状态
[0127] 4.6、若当前时间区间t0=t,则以隐状态 作为节点u在时间区间t的时空图表征并进行下一步;否则,取下一个时间区间,回到第4.2步。
[0128] 4.7、计算节点u在时间区间t的注意力权重向量 并通过长期模式记忆Mp更新节点u在时间区间t的时空图表征 具体为:首先计算节点u在时间区间t的注意力权重向量
的第m个元素 的计算方法为
[0129]
[0130] 其中FC3代表全连接网络,作用是将向量变换到Mp的行向量所在空间,FC3与FC1、FC2均不共享参数。Mp(m)和Mp(m′)分别是长期模式记忆的第m行和第m′行。·代表向量内积。
[0131] 然后更新节点u在时间区间t的时空图表征
[0132]
[0133] 其中 代表 的转置。[,]是向量拼接操作。
[0134] 4.8以 为输入通过输出层(为一个全连接层)输出当前数据点的预测值也就是节点u在未来τ′个时间区间的信号的预测值;最终输出当前数据点的预测

[0135] 5、若尚未遍历完N2个数据点,则取下一个数据点,回到第4步;否则进行第6步;
[0136] 6、以N2个数据点的预测值与真实值的平方误差的平均值为内层损失函数,针对内层损失函数,使用梯度下降训练一步时空图预测网络的参数Θ。
[0137] 7、循环执行第3‑6步Nin′‑1次。(实验中取Nin′为30)
[0138] 8、选取当前任务的查询集中的第一个数据点。
[0139] 9、以当前数据点为输入,通过本发明所用的时空图预测网络,输出当前数据点的预测值。设当前数据点为 则本发明所用的时空图预测网络的具体操作
为:
[0140] 9.1、取时间区间t‑τ+1;
[0141] 9.2、设当前时间区间为t0,从数据点 中选取局部子图Gu在时间区间t0的图信号以 和Gu为输入通过图卷积网络输出局部子图Gu在时间区间t0的动态局部图结构
[0142] 9.3、计算局部子图Gu在时间区间t0的注意力权重矩阵 并利用结构记忆Ms更新局部子图Gu在时间区间t0的动态局部图结构 具体为:首先计算局部子图Gu在时间区间
t0的注意力权重矩阵 对于局部子图Gu中的节点v,设 中对应节点v的行向量为
则 的第l个元素 的计算方法为:
[0143]
[0144] 其中 是 中对应于节点v的行向量。FC1代表全连接层,作用是将向量变换到Ms的行向量所在空间。Ms(l)和Ms(l′)分别是结构记忆的第l行和第l′行,·代表向量内
积。
[0145] 然后更新局部子图Gu在时间区间t0的动态局部图结构 对于局部子图Gu中的每个节点v,更新 更新方法为:
[0146]
[0147] 其中 代表 的转置;[,]是向量拼接操作;FC2代表全连接层,作用是将向量变换到 的行向量所在空间,它和FC1不共享参数。
[0148] 9.4、以 Gu和 为输入通过局部结构学习卷积(本例中只使用动态部分,且以为动态局部图结构),得到节点u在时间区间t0的空间表征
[0149] 9.5、将 输入长短期记忆神经网络,长短期记忆神经网络在时间区间t0输出隐状态
[0150] 9.6、若当前时间区间t0=t,则以隐状态 作为节点u在时间区间t的时空图表征并进行下一步;否则,取下一个时间区间,回到第9.2步。
[0151] 9.7、计算节点u在时间区间t的注意力权重向量 并通过长期模式记忆Mp更新节点u在时间区间t的时空图表征 具体为:首先计算节点u在时间区间t的注意力权重向量
的第m个元素 的计算方法为
[0152]
[0153] 其中FC3代表全连接网络,作用是将向量变换到Mp的行向量所在空间,FC3与FC1、FC2均不共享参数。Mp(m)和Mp(m′)分别是长期模式记忆的第m行和第m′行。·代表向量内积。
[0154] 然后更新节点u在时间区间t的时空图表征
[0155]
[0156] 其中 代表 的转置。[,]是向量拼接操作。
[0157] 9.8、以 为输入通过输出层(为一个全连接层)输出当前数据点的预测值也就是节点u在未来τ′个时间区间的信号的预测值;最终输出当前数据点的预测

[0158] 10、若尚未遍历完当前任务的查询集中的所有数据点,则取当前任务的查询集中的下一个数据点,回到第9步,否则,已得到当前任务的查询集中所有样本的预测值,进行下
一步。
[0159] 11、若尚未遍历完M′个目标任务,则取下一个目标任务,继续执行第2‑10步。否则,结束操作。
[0160] 至此,已得到所有目标任务的查询集中所有数据点的预测值,即所有测试样本的预测值。
[0161] 四、实验
[0162] 本实验中采用“时空同步图卷积神经网络用于交通预测”(参见Song C,Lin Y,Guo S,et al.Spatial‑temporal synchronous graph convolutional networks:A new 
framework for spatial‑temporal network data forecasting[C]//Proceedings of 
the AAAI Conference on Artificial Intelligence.2020,34(01):914‑921.)中收集和
公开的加州高速车流数据集。该数据集包括加州4个地区(地区3,地区4,地区7,地区8)部分
路段部分时间段的高速车流数据,数据特性如下表1所示:
[0163] 表1:
[0164]数据来源 节点个数 边个数 时间区间个数 平均车流量
地区3(PEMS03) 358 547 26208 179.26
地区4(PEMS04) 307 340 16992 211.70
地区7(PEMS07) 883 866 28224 308.52
地区8(PEMS08) 170 295 17856 230.68
[0165] 本发明的实验以地区3、4和7为源城市,地区8为目标城市,采用本发明上述的预测方法进行预测,并与采用现有的“时空图预测网络”和“基于元学习方法的时空预测
(MetaST)(参见H.Yao,Y.Liu,Y.Wei,X.Tang,and Z.Li,“Learning from multiple 
cities:A meta‑learning approach for spatial‑temporal prediction”in The World 
Wide Web Conference,2019,pp.2181–2191.)”进行对比,下表2中的结果为在目标城市所
有测试样本上的预测结果和真实值的误差:
[0166] 表2:
[0167]
[0168] 由上表2可知,本发明的预测结果比现有的“不基于迁移学习的时空图预测网络”和“基于元学习方法的时空预测(MetaST)”都要更精准。
[0169] 说明:
[0170] 1、表2中所有方法共有的参数都设置为一致。
[0171] 2、“基于元学习方法的时空预测(MetaST)”基于其原文操作并做如下修改:其他操作遵循原文,但有两点不同,一是将原文的“卷积‑长短期记忆神经网络”替换为时空图预测
网络A,时空图预测网络A是本发明所用的时空图预测网络去掉和结构记忆交互的部分(即
两个全连接层)后留下的部分;二是数据处理不同,原文对源城市数据集和目标城市数据集
进行处理,得到的数据点是图像,这种操作处理不了时空图数据,而本发明根据任务建立模
块的第一步“数据点建立”操作处理,得到的数据点是局部子图和局部子图上的信号。
[0172] 3、“不基于迁移学习的时空图预测网络”,指不借助从源城市数据集中提取的元知识,直接在目标城市数据集的训练集上训练时空图预测网络B的参数,然后在目标城市数据
集的测试集上用训练后的时空图预测网络B进行预测。其中时空图预测网络B是本发明所用
的时空图预测网络去掉和结构记忆及长期模式记忆交互的部分(即三个全连接层),并调整
输出层的参数维度后的网络。此外,我们会按照任务建立模块的第一步“数据点建立”的操
作,处理每个目标城市数据集,对每个目标城市数据集产生一个数据点集合。时空图预测网
络B的输入和本发明所用的时空图预测网络一样,是一个或一批数据点。
[0173] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱
离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应
当视为属于本发明的保护范围。