买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明公布】一种基于自适应多图融合的多任务学习城市人群流量预测方法_北京工业大学_202311772341.6 

申请/专利权人:北京工业大学

申请日:2023-12-21

公开(公告)日:2024-03-19

公开(公告)号:CN117726070A

主分类号:G06Q10/063

分类号:G06Q10/063;G06Q10/04;G06F18/23213;G06F18/25;G06F16/901

优先权:

专利状态码:在审-实质审查的生效

法律状态:2024.04.05#实质审查的生效;2024.03.19#公开

摘要:本发明涉及一种基于自适应多图融合的多任务学习城市人群流量预测方法,能达到良好的预测精度。本方法旨在最优地利用城市不同地理区域内复杂的空间结构,通过多任务学习框架提高预测性能。多图融合的自适应方法为多任务预测提供了全新的视角和潜力,使得能够同时提取不同类型节点图结构之间的多种任务相关关系,从而更全面地符合人群流动模式。本发明引入自适应多图融合的概念,该方法将城市空间关系从多个维度建模为多个图,通过融合这些图结构来捕捉节点之间的时空依赖关系。此外本方法首次在人群流动预测的背景下使用多任务学习框架,捕捉多个相关预测任务之间的特征时空关系,从而实现这些任务的协同预测提升了整体预测性能。

主权项:1.一种基于自适应多图融合的多任务学习城市人群流量预测方法,步骤包括:步骤1:首先下载人群流量TaxiBJ-P1数据集,所述数据集中包括各区域节点下的行人流入量和流出量,其具体的数据格式应为:Xt∈d×I×J,d表示流入和流出量,I和J分别对应具体的网格节点的横纵编号;设第I行J列的网格在连续的P个时间段的历史流入量特征值为x1in×I×J,x2in×I×J,...,xPin×I×J,第I行J列的网格在连续的P个时间段的历史流出量特征值为x1out×I×J,x2out×I×J,...,xPout×I×J;对每个网格节点的特征值数据进行归一化: 其中,x*为该网格节点归一化预处理后的特征值,min为该道路历史交通流量数据中样本数据最小值,max为该网格节点历史对应特征值样本数据的最大值,x为待归一化预处理的该网格节点的特征值数据,对每个网格节点的数据都进行上述归一化处理,并且按照时间顺序划分为训练集、验证集和测试集,比例为8:1:1;步骤2:对当前数据集下的流入量和流出量分别从不同维度进行构图;对于一个网格节点vi,对其图表示定义为G=V,E,A,其中V={v1,...,vi,...,vn}是节点集合,E={i,j=1,...,n|ei,j}是边集合,n表示节点的数量,A表示邻接矩阵,其中A[i,j]=ei,j表示节点i与节点j之间是否存在邻接关系或者表示节点i与节点j的权重关系;步骤3:构建邻接图,对于一个网格节点vi,其邻接图表示定义为GN: 其中A[i,j]=1表示节点i和节点j存在邻接关系,否则表示无;步骤4:构建距离图,采用欧式距离来构建基于节点之间的距离图GD,其通过阈值高斯核加权函数来计算,公式如下: 其中Disi,j为是节点i和节点j之间由特征值计算的欧式距离;ω为欧式距离计算的标准差,∈是权重系数的阈值,取值为10-5; 其中T表示每个节点的训练集中的时间片长度,t为1至T的中间变量,Xit表示节点i在t时刻的特征值,Xjt表示节点j在t时刻的特征值;下述步骤中涉及特征值时,未特别说明,均表示在不同任务时采用对应的流入量或流出量,在计算流入量图表示时为流入量值,流出量图表示时即为流出量值;步骤5:构建超图,用Conei表示超边ei中包含的顶点集合;Conei={v1,v2,…,vn}其中,vn为超边ei中的具体顶点,结合KNN方法和Kmeans聚类方法来构建超图;首先由k=kMeansX,εk表示通过Kmeans聚类算法得到的聚类类别数,计算可得值为10,其中X是表示所有节点特征值的向量表示,在计算流入量图表示时为流入量值,流出量图表示时即为流出量值,ε为Kmeans聚类算法的迭代次数,取值为8;e[vi]=knnX[vi],X,k对每一个节点vi,通过KNN算法找到和该节点最近的k个节点构成集合e[vi],即e[vi]中包含的各节点构成一条超边Conei;其中X[vi]表示节点vi的特征值表示,k为Kmeans算法的聚类数量;步骤6:构建时间模式相似性图,该方法使用皮尔逊相关系数来定义时间模式相似性矩阵GT的元素,具体如下所示: 其中对于顶点vi其所表示的时间序列特征值向量为Xit={Xi1,Xi2,…,XiT},T是训练集中时间序列的长度,Xit是顶点vi在时间步t上的特征值,分别表示节点i和j的特征值向量在时间维度的均值,特征值在计算流入量图表示时为流入量值,流出量图表示时即为流出量值;步骤7:在对节点的流入量和流出量从不同维度进行构图后,将上述表示输入到自适应多图融合AMGA模块;其分为两个部分:融合图表示生成部分和自适应融合图更新部分;步骤8:在融合图表示生成部分中,对每个图表示设定了一个值在随机的0-1内的初始权重矩阵N*N,并以此堆叠成初始的融合图矩阵,具体如下: 其中|G|为子图的数量表示,|G|设置为4,Wi为可训练的多图融合权重矩阵,N为节点数量,上述公式表示将图Gi与Wi相乘并进行Stack堆叠;步骤9:接下来采用空间嵌入和图嵌入的组合;首先利用空间嵌入将图的结构信息映射到空间中,表示对于节点vi进行空间嵌入表示,降维后的维度设置为D,取值为144;先通过数据集本身的N*N邻接关系矩阵通过全连接层进行嵌入表示成D*D维度的然后,引入图嵌入的思想,将多个子图编码到空间中;在此过程中使用全连接层将每个图表示转换为D维的向量,从而得到嵌入多图的其中Gi表示任意图,表示对每个子图Gi进行嵌入表示,并将维度设置为D,上述全连接层中均采用Relu激活函数,输出均为D*D维度;最后将空间嵌入和多图嵌入相融合,形成多图空间嵌入,表示为步骤10:引入空间多图注意力块,空间多图注意力块包含有多头空间注意力和多图注意力两个组件;其中两个注意力的组件输入都为初始的Ainit以及多图空间嵌入表示设Hl为第l个空间多图注意力块的输入,表示在Hl中图Gi上节点vi的隐藏状态,空间注意力和图注意力机制的输出分别表示为和步骤11:多头空间注意力引入上述的多图空间嵌入来综合考虑多个图的空间信息,对于图中的每个节点vi,设表示其在第l层空间多图注意力块中图Gi上的空间信息隐藏状态,表示其下一个隐藏状态,并采用缩放点积方法来计算节点vi和vn之间的相关性如下为和的计算公式: 上述公式中,||表示对变量进行Concatenation操作,.表示内积操作;D表示节点嵌入维度,M表示多头注意力的head值,取值为4,即M=4,m表示第m个头注意力块参数表示;表示在空间注意力块中不同的头注意力块中的不同激活函数,其中表示第m个头注意力块中节点vi和节点vn的注意力分数,表示除了节点vi外的其它所有节点;步骤12:多图注意力块依旧引入了多图空间嵌入表示;对于节点vi在图Gj和图Gn之间的第m个多图头注意力块关联性定义为: 其中,D表示图嵌入的维度,表示在多图注意力块中第m个头注意力中不同的ReLU函数;随后通过多头注意力机制综合多个图之间的关联性,计算节点vi在图Gj上的下一层隐藏状态为: 其中,是由通过softmax函数计算得出的图Gn对图Gj的第m个头注意力块的权重分值,表示在多图注意力块中第m个头注意力中第三个的ReLU函数,|G|表示全部的子图数量;步骤13:随后,在自适应融合图更新部分中采用了门控融合方法,把第l层的节点信息进行融合,不断通过模型训练更新权重值;具体而言,首先将多头空间注意力块的输出Hsl和多图注意力机制输出Hgl进行线性组合,得到整体的隐藏状态Hl表示为: Hl=λ⊙Hsl+1-λ⊙Hgl其中,设λ为门控系数,其通过sigmoid激活函数σ.计算得到,权重参数和偏置系数是可学习的参数,通过模型训练最终确定,⊙表示哈达玛积;经过第l层的空间注意力模块和多图注意力模块的计算和门控融合的方法,可得到最终AMGA模块后的融合图权重表示 其中AMGA为图二自适应多图融合模块,MLP为多层感知器;步骤14:随后将流入量Xin和流出量Xout的时间片具体的流量值和对应各自融合后生成的权重矩阵输入到多任务预测MTL模块;首先,MTL模块第一部分以独立问题的方式学习各个特定任务;然后,在第二部分,模型将任务特定的输出融合到共享模FNN中,具体如下:步骤15:第一部分对人群流入量和流出量这两个任务分别进行学习;图一中的ST模块为单一任务预测模块,其包括两个叠加的GCN层和一个GRU层;将步骤13得到的自适应融合权重矩阵与训练数据集输入到GCN中;GCN的计算可以表示为如下形式: 其中,表示第l层的输出,σ·是非线性激活函数,为度矩阵,是经过自适应融合的权重矩阵,在单独任务中其分别表示流入量和流出量的融合矩阵和Θl是第l层的超参数,S0是输入矩阵,即为经过正则化后单个时间段内所有网格的流量数据,在流入量预测任务中为流入量的数据,在流出量预测任务中为流出量的数据;上述构造了两层的GCN,其激活函数分别采用ReLU函数和Softmax函数,则整体的正向传播的公式为: 其中X为节点的特征值,分别可为流入量和流出量;W0和W1表示隐藏单元的可训练权重矩阵;步骤16:使用GRU来学习流入量和流出量的时间变化趋势;模型处理信息的流程如下所示,ut=σWu*[Zt,ht-1]+burt=σWr*[Zt,ht-1]+brct=tanhWc*[Zt,rt*ht-1]+bcht=ut*ht-1+1-ut*ct在此过程中,σ·代表sigmoid激活函数,ht-1表示t-1时刻的输出,Zt代表t时刻经过GCN操作后的特征值输入;此外,ct表示当前时刻的存储记忆内容,而ht表示当前时刻的输出状态,Wu、Wr、Wc、bu、br、bc为GRU模块中的可学习参数,经过模型训练后确定取值;上述GRU操作通过使用前一时刻的隐藏状态和当前时刻的人群流量特征值作为输入逐步递推可得到最后一步的隐藏状态设Hin和Hout分别作为流入量和流出量的GRU层的输出;步骤17:第二部分,通过多层全连接深度神经网络FNN和时间注意力块对不同的任务的输出进行特征整合;将来自第一部分的各个单一任务的输出进行整合,并将其输入到FNN中;共享模块FNN经过三个全连接的隐藏层的处理,寻找不同任务之间的共性特征,定义FNN层的输出为Q:Q=FNNconcatHin,Hout随后通过时间注意力块,其首先使用一个注意力层来对特定任务输出K和V进行加权缩放,其注意力权重的计算公式: 其中为缩放因子,取值同上为特征值的嵌入维度;Q记为FNN的输出,K、V记为来自ST模块中GRU输出的单一任务Hin以及Hout;接下来通过Q、K、V计算注意力权重的大小;Qi=QWiQ,Ki=KWiK,Vi=VWiV,i=1,...,4headi=AttentionQi,Ki,Vi,i=1,…,4MultiHeadQ,K,V=Concacthead1,…,head4Wo其中WiQ、WiK、WiV是Q,K,V的在第i个头注意力块中的特定权重矩阵,而WO来自所有头注意力块的线性组合权重超参数;步骤18:将上述得到的MultiHeadQ,K,V这些加权缩放后的结果分别输入到新的GRU层中;将MultiHeadQ,K,V结果中的共享矩阵信息Q和流入量矩阵信息K整合输入再输入GRU中,最后将新GRU块最终的隐藏状态经过全连接层降维输出未来T时刻的流入量特征值,上述总体可概括为: 其中Q为共享信息,K或者V代表不同的特征值流入量或流出量;Yin和Yout即为最终对流入量和流出量的未来T步的预测结果值;步骤19:MTL模型的损失函数如下: 其中,R是任务数量,θ是所有可训练参数的集合,wr是特定任务的权重,Lrθ是第r个任务的损失函数;N是样本数量,Tp是时间步数,是在t时刻节点i的实际观测值,Yit表示在t时刻节点i的模型预测值;步骤20:通过设定模型的批处理参数大小为32、学习率最初设置为10-5,在120个批次后衰减到10-6,训练总批次设置为250进行模型的迭代训练;后续预测可通过训练好的模型进行输入,支持用历史12步的时间片数据预测未来12步的特征值。

全文数据:

权利要求:

百度查询: 北京工业大学 一种基于自适应多图融合的多任务学习城市人群流量预测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。