当前位置: 首页 > news >正文

基于飞桨图学习框架实现的城市地点动态关系挖掘

图片

李双利

飞桨开发者技术专家(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

相关文章:

基于飞桨图学习框架实现的城市地点动态关系挖掘

李双利 飞桨开发者技术专家(PPDE),百度研究院商业智能实验室研究实习生,中国科学技术大学在读博士生。 主要进行时空数据挖掘和图深度学习的相关研究工作。曾获2021年百度研究院年度优秀实习生,有多篇基于飞桨完成的…...

3.1 Qt样式选择器

本期内容 3.1 样式选择器 3.1.1 Universal Selector (通用选择器) 3.1.2 Type Selector (类型选择器) 3.1.3 Property Selector (属性选择器) 3.1.4 Class Selector (类选择器) 3.1.5 ID Selector (ID选择器) 3.1.6 Descendant Selector (后裔选择器) 3.1.7 Chil…...

react钩子副作用理解

useEffect(() > { fetch(‘https://api.example.com/data’) .then(response > response.json()) .then(data > setData(data)); }, []); 怎么理解这个[] 在 React 中,useEffect 钩子用于处理副作用,比如数据获取、订阅、手动 DOM 操作等。useE…...

浅谈Spring与字节码生成技术

概要 今天来谈一谈我们熟知的Spring框架和字节码技术有什么联系。 Java程序员几乎都了解Spring。 它的IoC(依赖反转)和AOP(面向切面编程)功能非常强大、易用。而它背后的字节码生成技术(在运行时,根据需要…...

时序预测 | MATLAB实现基于BiLSTM双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)

时序预测 | MATLAB实现基于BiLSTM双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于BiLSTM双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 Matlab实现BiLST…...

Flink多流处理之coGroup(协同分组)

这篇文章主要介绍协同分组coGroup的使用,先讲解API代码模板,后面会结图解介绍coGroup是如何将流中数据进行分组的. 1 API介绍 数据源# 左流数据 ➜ ~ nc -lk 6666 101,Tom 102,小明 103,小黑 104,张强 105,Ken 106,GG小日子 107,小花 108,赵宣艺 109,明亮# 右流数据 ➜ ~ n…...

基于TICK的DevOps监控实战(Ubuntu20.04系统,Telegraf+InfluDB+Chronograf+Kapacitor)

1、TICK简介 TICK是InfluxData开发的开源高性能时序中台,集成了采集、存储、分析、可视化等能力,由Telegraf, InfluDB, Chronograf, Kapacitor等4个组件以一种灵活松散、但又紧密配合,互为补充的方式构成。TICK专注于DevOps监控、IoT监控、实…...

十九、docker学习-Dockerfile

Dockerfile 官网地址 https://docs.docker.com/engine/reference/builder/Dockerfile其实就是我们用来构建Docker镜像的源码,当然这不是所谓的编程源码,而是一些命令的集合,只要理解它的逻辑和语法格式,就可以很容易的编写Docke…...

Docker容器的数据卷

1.数据卷的概念及作用 2.数据卷的配置 创建容器并挂载数据卷: docker run -it --namec1 -v /root/data:/root/data_container centos:7 /bin/bash按照容器挂载数据卷的原理,data_contianer这个目录下也会同步下来数据的更改。 3.一个容器挂载多个数据…...

推荐工具!使终端便于 DevOps 和 Kubernetes 使用

如果你熟悉 DevOps 和 Kubernetes 的使用,就会知道命令行界面(CLI)对于管理任务有多么重要。好在现在市面上有一些工具可以让终端在这些环境中更容易使用。在本文中,我们将探讨可以让工作流程简化的优秀工具,帮助你在 …...

抖音小程序实现less语言编译样式

1.在抖音开发工具中搜索扩展less 2. 然后点击小齿轮选择扩展设置 3. 然后在扩展设置中选择在settings.json中编辑# 4. 在settings.json中加入以下这段代码即可 // Easy LESS配置"less.compile": {"compress": false,//是否压缩"sourceMap": fal…...

介绍 TensorFlow 的基本概念和使用场景

TensorFlow 是一种开源的机器学习框架,由 Google 开发。它是用来构建和训练机器学习模型的强大工具,支持很多种不同类型的机器学习算法,并使用数据流图来表示计算过程。 TensorFlow 的核心是张量 (Tensor) 和计算图 (Graph)。 张量 (Tensor)…...

抖音关键词搜索小程序排名怎么做

抖音关键词搜索小程序排名怎么做 1 分钟教你制作一个抖音小程序。 抖音小程序就是我的视频,左下方这个蓝色的链接,点进去就是抖音小程序。 如果你有了这个小程序,发布视频的时候可以挂载这个小程序,直播的时候也可以挂载这个小…...

Windows下升级jdk1.8小版本

1.首先下载要升级jdk最新版本,下载地址:Java Downloads | Oracle 中国 2.下载完毕之后,直接双击下载完毕后的文件,进行安装。 3.安装完毕后,调整环境变量至新安装的jdk位置 4.此时,idea启动项目有可能会出…...

[保研/考研机试] KY235 进制转换2 清华大学复试上机题 C++实现

题目链接&#xff1a; KY235 进制转换2 https://www.nowcoder.com/questionTerminal/ae4b3c4a968745618d65b866002bbd32 描述 将M进制的数X转换为N进制的数输出。 输入描述&#xff1a; 输入的第一行包括两个整数&#xff1a;M和N(2<M,N<36)。 下面的一行输入一个数…...

机器学习 | Python实现KNN(K近邻)模型实践

机器学习 | Python实现KNN(K近邻)模型实践 目录 机器学习 | Python实现KNN(K近邻)模型实践基本介绍模型原理源码设计学习小结参考资料基本介绍 一句话就可以概括出KNN(K最近邻算法)的算法原理:综合k个“邻居”的标签值作为新样本的预测值。更具体来讲KNN分类过程,给定一个训…...

Mybatis 源码 ③ :SqlSession

一、前言 Mybatis 官网 以及 本系列文章地址&#xff1a; Mybatis 源码 ① &#xff1a;开篇Mybatis 源码 ② &#xff1a;流程分析Mybatis 源码 ③ &#xff1a;SqlSessionMybatis 源码 ④ &#xff1a;TypeHandlerMybatis 源码 ∞ &#xff1a;杂七杂八 在 Mybatis 源码 ②…...

Python 潮流周刊#15:如何分析异步任务的性能?

△点击上方“Python猫”关注 &#xff0c;回复“1”领取电子书 你好&#xff0c;我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容&#xff0c;大部分为英文。标题取自其中一则分享&#xff0c;不代表全部内容都是该主题&#xff0c;特此声明。 本周刊精心筛选国内外的…...

二叉搜索树K和KV结构模拟

一 什么是二叉搜索树 这个的结构特性非常重要&#xff0c;是后面函数实现的结构基础&#xff0c;二叉搜索树的特性是每个根节点都比自己的左树任一节点大&#xff0c;比自己的右树任一节点小。 例如这个图&#xff0c; 41是根节点&#xff0c;要比左树大&#xff0c;比右树小&…...

nlohmann json:检查object是否存在某个键

1.通过find进行检查 #include <iostream> #include <nlohmann/json.hpp> using namespace std; using json = nlohmann::json;int main() {json data = R"({"name": "xiaoming","age": 10, "parent": [{"fat…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

什么是EULA和DPA

文章目录 EULA&#xff08;End User License Agreement&#xff09;DPA&#xff08;Data Protection Agreement&#xff09;一、定义与背景二、核心内容三、法律效力与责任四、实际应用与意义 EULA&#xff08;End User License Agreement&#xff09; 定义&#xff1a; EULA即…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...