李双利
飞桨开发者技术专家(PPDE),百度研究院商业智能实验室研究实习生,中国科学技术大学在读博士生。
主要进行时空数据挖掘和图深度学习的相关研究工作。曾获2021年百度研究院年度优秀实习生,有多篇基于飞桨完成的论文,发表于KDD、AAAI等计算机顶级会议。
周景博
飞桨开发者高级技术专家(高级PPDE),现任百度研究院商业智能实验室资深研究员。
主要从事数据挖掘和机器学习相关的研究和应用工作,包括时空大数据、深度几何学习、知识图谱和AI辅助药物设计等,PaddleSpatial技术负责人,基于飞桨完成论文多篇,发表于KDD、AAAI、TKDE等计算机顶级会议和期刊上。
背景&概述
研究城市区域的多种动态地点关系具有重要意义。传统的关系预测研究工作大都假设城市中的区域地点关系是静态的,然而在城市区域中用户的行为活动往往是动态变化的,例如人们习惯在午饭时间在餐馆之间作出选择,在晚上则会在酒吧等休息娱乐场所之间进行选择,因此区域地点之间存在动态变化的关联性,不同时间(例如早上和晚上)的城市区域地点关系可能会不同。
研究细粒度的城市区域动态关系对于商业广告、城市资源规划和基于知识增强的出行地点推荐等应用都有重要价值。然而如何从有限的城市关系数据中挖掘预测出完整的动态地点关系存在一定的挑战性。一方面,区域地点之间存在时空关联性,基于深度学习框架进行捕捉城市空间中的动态性和多种关系复杂性是十分有必要的。此外,由于在真实场景下观测到的城市关系数据是极其少量的,如何基于稀疏关系进行有效学习是另一个重要的挑战。为了应对这些挑战,我们基于飞桨的图学习框架实现了一种新型的深度学习框架来研究城市中区域地点的动态关系挖掘。
图1 城市区域地点的动态关系发现示例
在本文中,我们提出了一个空间演化图神经网络框架对城市区域地点的动态关系图进行建模学习。具体来说,从空间关系图的消息传递机制和自监督训练机制两个角度出发,通过PGL (Paddle Graph Learning) 图学习框架提供的 SEND-RECV 模式可以高效便捷地对图结构信息进行学习,同时飞桨框架提供了丰富的深度学习训练优化接口来实现城市区域的自监督学习,从而缓解关系稀疏性的问题。最后通过在四个城市数据集上的充分实验,验证了飞桨框架实现的动态关系挖掘模型的有效性。
方法框架
如图2所示,基于多个时间段下的区域地点动态关系图 到 ,首先对图数据进行处理得到PGL定义的HeterGraph形式,通过基于PGL图消息传递机制的网络模块有效学习表征,将输出的动态表征输入到(b)空间演化自监督学习模块(简称SE-SSL),通过高效自监督学习任务更新(a)表征学习模块提升模型的表达能力,最后进行关系图学习的微调,针对多时间感知的关系预测任务进行第二阶段模型训练,从而对城市区域动态关系实现精准预测。
图2 空间演化图神经网络框架
动态图首先经过距离编码模块进行空间距离的表征学习。考虑到两个地点的相对位置关系是一个数值,模型难以充分捕捉地理空间信息,因此我们提出对距离进行离散化编码,即把距离划分到不同的区间然后进行距离表征向量。得到所有空间距离表征之后,我们提出了时间内部和时间之间两个阶段的消息传递过程来实现对关系的动态依赖和空间信息捕捉。阶段1——时间内部的异构空间关系图学习
针对每个时间内部的多关系图,在该阶段首先进行二阶邻居的高效挖掘,然后实现基于二阶空间信息和关系依赖进行学习的图神经网络聚合框架。具体而言,如下图所示实现代码,我们在聚合阶段同时考虑一个地点周边的一阶和二阶邻居信息,根据三个节点之间 → → 的二阶关系依赖可以确定 → 的二阶关系模式。针对每一种模式,我们通过飞桨丰富的图接口定义了二阶邻居集合,并按照所示代码进行复杂关系和空间信息的聚合,通过空间关系门控机制下的聚合函数来融合二阶邻域范围内的丰富信息。最后,在对每一种关系模式都进行了聚合操作之后,我们进一步进行二级关系聚合,来综合所有关系模式,进而提升模型的表达能力,得到经过时间内部图学习的区域地点表征。
代码1 基于PGL的时间内部异构空间关系图学习
阶段2——时间之间的空间演化上下文图学习
城市中区域地点在空间和时间上都存在复杂关联性,在第二阶段我们考虑了时间之间的信息交互。首先我们对地点表征在时间维度上进行更新,通过平均融合相邻时间段的表征,更新得到了节点表征。接着基于PGL高效的图学习机制,我们实现了空间演化传播层来考虑上下文信息融合。如下图代码所示,在图的消息发送阶段,我们首先进行了跨时间的邻居节点采样。如图3所示,针对每一条传递的消息,我们在多个时间段上考虑其周边的邻居,并借助于PGL提供的采样接口便捷地进行随机采样。在采样得到集合之后我们实现了空间上下文向量的计算,考虑周围邻居的空间分布可以使得模型感知复杂的空间演化信息。最后,在该阶段的传播过程中融合上下文信息并通过PGL的发送机制实现最终节点表征的更新。
图3 基于时间的节点采样策略和空间上下文学习图例
代码2 基于PGL的空间演化上下文图学习
空间演化自监督训练
在模型训练阶段,为了缓解城市区域动态关系的稀疏性问题,我们基于飞桨框架设计了全局和局部两个角度的自监督学习任务来进行预训练,从而实现从少量的数据关系融合演化关系模式和动态空间信息依赖。如下图代码所示,一方面,我们从全局学习的角度提出了全局空间互信息最大化自监督任务,并基于PaddlePaddle的双线性判别函数和交叉熵计算高效实现了全局学习损失的计算,通过该任务的学习可以实现基于网格化空间动态性来捕捉全局演化模式。另一方面,从局部的角度来看多时间下的区域地点关系依然是动态演化的。因此我们引入了关系级别的局部学习任务,通过飞桨的判别函数接口可以等价实现判断在相邻时间段内关系是否发生演化,从而引入了关系演化信息。通过基于飞桨的联合学习局部和全局任务,可以高效对动态关系图进行自监督学习。
最后,对模型进行预训练之后,模型框架可以很好地融合动态空间演化特性,最后进行多时间段的动态关系预测输出。给定一对节点,通过飞桨实现时间感知的双线性打分函数来对每个时间段的关系可能性进行计算,从而完成城市地点的动态关系挖掘。
代码3 基于飞桨实现的空间演化自监督学习
实验
在实验阶段,我们在四个城市的关系数据集上进行了效果验证。表1的实验结果表明我们基于飞桨实现的空间演化图神经网络(SEENet)在关系挖掘任务上取得了显著的提升,通过考虑复杂的空间性和动态演化特性,模型优于最新的图学习模型和关系预测方法。
表1 城市区域地点关系挖掘效果对比
此外,我们还进行了模型的消融实验来验证设计模块的有效性。如表2所示,通过移除时间内部和时间之间的图学习部分,预测效果出现了较为明显的下降。此外,局部和全局的预测任务对模型学习能力也得到了显著增强。总体而言,我们基于飞桨和PGL实现的图学习框架可以充分捕捉空间演化特性,进而提升模型的预测能力。
表2 模型消融实验
总结
本文提出了一个新的图神经网络框架来解决城市中区域关系的动态挖掘问题,基于飞桨设计的图学习框架可以融合二阶异构空间关系和动态上下文信息,并通过空间演化自监督学习来进一步提升模型的学习能力。在多个城市关系数据集上的实验结果证明了提出方法的有效性和合理性。
相关代码已经开源在PaddleSpatial时空计算平台上。PaddleSpatial是基于百度飞桨深度学习框架开发的时空大数据计算工具和平台,融合了百度领先的区域分割、时空迁移学习、时间序列预测等时空能力,可支持多种时空计算场景的应用。
相关地址
论文:
https://arxiv.org/abs/2306.08921
代码:
https://github.com/PaddlePaddle/PaddleSpatial/tree/main/research/SEENet
关注【飞桨PaddlePaddle】公众号
获取更多技术内容~