【论文笔记】UniST:通用预训练城市时空预测模型

目录

  • 写在前面
  • 1. 通用时空模型的挑战与能力特性
  • 2. 构建通用时空模型UniST
    • 2.1 大规模时空预训练
    • 2.2 时空知识规则引导提示学习
  • 3. UniST的实验与分析
    • 3.1 模型预测效果
    • 3.2其他实验分析


写在前面

  • 文章标题:UniST: A Prompt-Empowered Universal Model for Urban Spatio-Temporal Prediction
  • 论文链接:【1】
  • 代码链接:【2】
  • 仅作个人学习记录用

1. 通用时空模型的挑战与能力特性

挑战1
城市地区普遍存在数据稀缺问题。不同领域和城市的数字化程度不同,往往导致不平衡和不完整的数据集。尽管现有的时空建模方法取得了显著的进展,但其有效性通常局限于单个城市的特定领域。对大量训练数据的依赖进一步限制了模型的泛化能力。因此,目前的模型还远未达到“普适性”,仍然具有狭隘的适用性。

挑战2
时空数据集固有的多样化格式。与具有自然统一的序列结构的语言或遵循标准化维度的图像和视频不同,从不同来源收集的时空数据表现出高度变化的特征。这些变量包括变量维度、时间长度和空间覆盖范围差异显著,对其结构标准化造成困难。

挑战3
来自多个场景中时空数据分布高度变化。面对高度不同的时空模式,模型可能难以适应这些差异。与语言从共享词汇中获益不同,不同领域和城市的各种场景往往运行在完全不同的空间和时间尺度上,缺乏有效训练和泛化的共同元素。

特性1
通用时空模型必须能够利用来自不同城市场景的大量且丰富的数据进行训练。基础模型的训练要保证获取足够丰富的信息。

特性2
通用时空模型需要在不同的时空场景中表现出强大的泛化能力。特别是在训练数据有限或者没有训练数据的场景下,模型仍然可以很好的工作,没有出现明显的性能下降。

2. 构建通用时空模型UniST

在这里插入图片描述

2.1 大规模时空预训练

与现有的局限于单一数据集的方法不同,UniST利用了来自不同领域和城市的大量时空数据进行预训练。

1. 数据预处理:

使用网格系统将城市划分为等距、不重叠的区域。
将时空数据分为四维张量: T × C × H × W T × C × H × W T×C×H×W,其中 T T T 代表时间步数, C C C 代表变量数量, H H H W W W 代表空间网格。

2. 空间时间补丁:

由于 Transformer 架构处理的是一维序列数据,而时空数据是四维结构,因此需要进行空间时间补丁转换:将原始数据分割成独立的实例,每个实例是三维张量。使用三维卷积层将三维张量转换为多个较小的三维张量,形成一维序列数据。

3. 位置编码:

为了考虑序列中元素的顺序,采用正弦和余弦函数进行位置编码,分别应用于空间和时间维度。

4. 编码器-解码器结构:

借鉴掩码自编码器 (MAE) 的结构,使用编码器和解码器框架。
编码器处理输入补丁,解码器根据编码器的输出和掩码补丁重建图像。重点关注捕获全面的时空依赖关系,包括高级和低级关系,以准确预测特定时间和空间坐标的值。

5. 自监督预训练:
采用生成式预训练策略——掩码标记建模 (MTM)。使用四种不同的掩码策略:
(1)随机掩码:捕获细粒度的时空关系。
(2)管道掩码:模拟某些传感器可能失效的真实情况,提高空间外推能力。
(3)块掩码:更复杂的管道掩码,提高空间迁移能力。
(4)时间掩码:仅使用历史信息重建未来,提高捕捉时间依赖关系的能力。

2.2 时空知识规则引导提示学习

UniST引入了一个用于语境学习的提示网络,其中提示的生成由充分发展的时空领域知识自适应地指导,如空间层次性和时间周期性。UniST 模型利用时空知识引导提示学习来增强其泛化能力,并使用时空记忆池来存储和提取相关信息:

不同的时空数据集具有不同的特征和分布,导致模型难以适应不同的场景。UnisT首先提供了一些适用于提示即时时空泛化的假设:
假设 1: 对于一个新的数据集 B B B,可以识别与训练数据集 A A A 相关的细粒度模式。
假设 2: 不同的时空模式对应不同的提示。
假设 3: 存在一个函数 f θ f_θ fθ,它捕捉时空模式 x i x_i xi 到提示 P i ∗ P_i^* Pi 的映射关系。
核心思想: 对于具有不同时空模式的输入,应该生成定制的提示。

时空知识引导提示学习利用了时空建模领域的知识,例如空间层次结构、时间周期性等,来指导提示的生成。这些知识帮助模型理解时空数据背后的潜在规律,例如空间邻近性、时间依赖性以及周期性模式。例如,模型可以识别城市不同区域之间的交通流量模式,或者识别一周内特定时间段内的交通高峰。

时空属性的提取主要分为两个维度:在空间维度上:,使用注意力机制将时间维度合并成一个称为 E s E_s Es 的表示,然后使用不同内核大小的 CNN 捕获空间依赖性和空间层次结构。在时间维度:上,使用注意力网络聚合前 M M M 步的表示 X c X_c Xc,并选择对应于前 N N N 天的相应时间点进行聚合,以捕获长期时间模式。

时空记忆池结构如下:

空间记忆池 K M s K_Ms KMs: 存储空间相关信息的键值对。
时间记忆池 K M t K_Mt KMt: 存储时间相关信息的键值对。
键值对: 由可学习的参数 k s , i k_{s,i} ks,i, m s , i m_{s,i} ms,i, k t , i k_{t,i} kt,i, m t , i m_{t,i} mt,i 组成,其中 i 表示索引。

在提示学习过程中,空间记忆池和时间记忆池被优化以存储关于时空域知识的宝贵信息。需要提取信息时,使用时空属性提取的表示作为查询,从记忆池中提取相关信息。

3. UniST的实验与分析

UnisT文章中主要安排了如下实验:

3.1 模型预测效果

1. 实验设置:

  • 数据集: 使用了超过 20 个时空数据集,涵盖多个城市和领域,例如人群流动、动态人口、交通速度、蜂窝网络使用、出租车行程和自行车需求等。
  • 基线模型: 将 UniST 模型与多种最先进的时空预测模型进行比较,包括启发式方法、深度城市预测方法、视频预测方法、多变量时间序列预测方法和元学习方法。
  • 指标: 使用常用的回归指标,例如平均绝对误差 (MAE) 和均方根误差 (RMSE),来衡量模型的预测性能。

2. 短期预测:
在这里插入图片描述

评估模型在短期预测任务中的性能,即预测未来 6 步的时空数据。结果表明,UniST 模型在所有数据集上都优于所有基线模型,并且相对于每个数据集的最佳基线模型,平均改进了 10.1%。这表明 UniST 模型能够有效地捕捉时空数据中的模式,并泛化到不同的数据集。

3. 长期预测:
评估模型在长期预测任务中的性能,即预测未来 64 步的时空数据。结果表明,即使预测时间更长,UniST 模型仍然优于所有基线模型,并且相对于每个数据集的最佳基线模型,平均改进了 10.1%。这表明 UniST 模型能够有效地理解时间模式,并泛化到更长的预测时间。

4. 少样本学习:
在这里插入图片描述

评估模型在少样本学习任务中的性能,即在没有或只有少量训练数据的情况下,对新的时空数据集进行预测。结果表明,UniST 模型在少样本学习任务中仍然优于所有基线模型,并且相对于长期和短期预测,具有更大的相对改进。这表明 UniST 模型能够有效地从少量示例中学习,并泛化到新的数据集。

5. 零样本学习:
评估模型在零样本学习任务中的性能,即在没有训练数据的情况下,对新的时空数据集进行预测。结果表明,UniST 模型在零样本学习任务中表现出色,甚至优于许多在训练数据上进行微调的基线模型。这表明 UniST 模型能够有效地从先前学习到的知识中提取细粒度相似模式,并将其应用于新的数据集。

3.2其他实验分析

1. 消融实验:
在这里插入图片描述

  • 时空属性的重要性:
    评估删除四种时空属性(空间接近性、空间层次结构、时间接近性和时间周期性)对 UniST 性能的影响。分析了每种属性在不同数据集上的贡献,并解释其必要性。
  • 时空记忆池的大小:
    探索不同大小的时空记忆池对 UniST 性能的影响。确定最佳记忆池大小,并解释其选择理由。

2. 时空提示学习器:
在这里插入图片描述

  • 嵌入可视化:
    利用 t-SNE 可视化时空记忆池中嵌入的初始状态和优化状态。分析嵌入在优化过程中如何变得多样化,以及这如何有助于记忆独特的时空模式。
  • 时间记忆池中的记忆模式:
    根据注意力权重选择输入,并计算每个嵌入对应的时空数据的平均值。分析不同数据集下记忆模式的相似性,并验证模型对不同时空场景的适应性。
  • 注意力权重分布:
    比较不同数据集下每个嵌入的注意力权重分布。分析注意力权重分布的差异性,以及这如何表明模型根据输入数据动态调整其关注点的能力。

3. 时空数据格式:

  • 可扩展性:
    探索模型参数规模对训练损失和预测性能的影响。分析可扩展性的趋势,并解释其背后的原因。与大型语言模型和视觉模型的可扩展性进行比较,并讨论时空数据格式的独特性。

4. 其他消融实验:

  • 掩码策略:
    评估删除每种掩码策略对 UniST 性能的影响。分析每种掩码策略对不同时空任务(预测、插值、空间外推)的贡献,并解释其选择理由。
  • 知识引导提示:
    评估删除四种时空属性对 UniST 性能的影响。分析每种属性对模型性能的贡献,并解释其必要性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/778271.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+Vue的招生管理系统(带1w+文档)

基于SpringBootVue的招生管理系统(带1w文档) 通过招生管理系统的研究可以更好地理解系统开发的意义,而且也有利于发展更多的智能系统,解决了人才的供给和需求的平衡问题,招生管理系统的开发建设,由于其开发周期短&…

linux centos 安装niginx并且添加ssl(https)模块

文章目录 前言一、nginx安装教程1.流程步骤 总结 前言 一、nginx安装教程 1.流程步骤 代码如下(示例): 1.先下载linux安装包 2.解压安装命令 sudo tar -zxvf nginx-1.20.1.tar.gz3.进入解压后的目录 sudo cd nginx-1.20.14.安装 sudo y…

AntDesign上传组件upload二次封装+全局上传hook使用

文章目录 前言a-upload组件二次封装1. 功能分析2. 代码详细注释3. 使用到的全局上传hook代码4. 使用方式5. 效果展示 总结 前言 在项目中,ant-design是我们常用的UI库之一,今天就来二次封装常用的组件a-upload批量上传组件,让它用起来更方便。 a-uploa…

C++ | Leetcode C++题解之第213题打家劫舍II

题目&#xff1a; 题解&#xff1a; class Solution { public:int robRange(vector<int>& nums, int start, int end) {int first nums[start], second max(nums[start], nums[start 1]);for (int i start 2; i < end; i) {int temp second;second max(fi…

Nacos服务注册总流程(源码分析)

文章目录 服务注册NacosClient找看源码入口NacosClient服务注册源码NacosServer处理服务注册 服务注册 服务注册 在线流程图 NacosClient找看源码入口 我们启动一个微服务&#xff0c;引入nacos客户端的依赖 <dependency><groupId>com.alibaba.cloud</groupI…

工作两年后,我如何看待设计模式

在软件工程中&#xff0c;设计模式是经过反复验证的最佳实践&#xff0c;用于解决在软件设计中经常遇到的一类问题。它们为开发者提供了一种通用的解决方案和语言&#xff0c;使得复杂的编程问题得以简化&#xff0c;代码结构更加清晰&#xff0c;可维护性大大提高。简而言之&a…

PostgreSQL 如何优化存储过程的执行效率?

文章目录 一、查询优化1. 正确使用索引2. 避免不必要的全表扫描3. 使用合适的连接方式4. 优化子查询 二、参数传递1. 避免传递大对象2. 参数类型匹配 三、减少数据量处理1. 限制返回结果集2. 提前筛选数据 四、优化逻辑结构1. 分解复杂的存储过程2. 避免过度使用游标 五、事务处…

隐私计算实训营第二期第七课:XGB算法与SGB算法开发实践

隐私计算实训营第二期-第七课 第七课&#xff1a;XGB算法与SGB算法开发实践1 决策树模型1.1 决策树的训练和预测过程1.2 决策树的发展过程 2 GBDT模型2.1 Boosting核心思想2.2 GBDT原理 3 XGB模型3.1 XGB核心思想3.2 XGB优点 3 隐语纵向树模型3.1 数据纵向分割3.2 隐私保护的树…

本地部署到服务器上的资源路径问题

本地部署到服务器上的资源路径问题 服务器端的源代码的静态资源目录层级 当使用Thymeleaf时&#xff0c;在templates的目录下为返回的html页面&#xff0c;下面以两个例子解释当将代码部署到tomcat时访问资源的路径配置问题 例子一 index.html&#xff08;在templates的根目录…

EtherCAT转Profinet网关配置说明第二讲:上位机软件配置

EtherCAT协议转Profinet协议网关模块&#xff08;XD-ECPNS20&#xff09;&#xff0c;不仅可以实现数据之间的通信&#xff0c;还可以实现不同系统之间的数据共享。EtherCAT协议转Profinet协议网关模块&#xff08;XD-ECPNS20&#xff09;具有高速传输的特点&#xff0c;因此通…

安卓安全概述

安卓安全概述 1.Android系统概述2.Android系统安全概述3.Android系统的安全机制应用程序框架安全机制内核安全机制运行环境安全机制 4.Android反编译工具 1.Android系统概述 Android采用层次化系统架构&#xff0c;Google官方公布的标准架构如图所示&#xff0c;自顶而下划分为…

vue事件处理v-on或@

事件处理v-on或 我们可以使用v-on指令&#xff08;简写&#xff09;来监听DOM事件&#xff0c;并在事件触发时执行对应的Javascript。用法&#xff1a;v-on:click"methodName"或click"hander" 事件处理器的值可以是&#xff1a; 内敛事件处理器&#xff1…

【MindSpore学习打卡】应用实践-自然语言处理-基于RNN的情感分类:使用MindSpore实现IMDB影评分类

情感分类是自然语言处理&#xff08;NLP&#xff09;中的一个经典任务&#xff0c;广泛应用于社交媒体分析、市场调研和客户反馈等领域。本篇博客将带领大家使用MindSpore框架&#xff0c;基于RNN&#xff08;循环神经网络&#xff09;实现一个情感分类模型。我们将详细介绍数据…

【数据结构(邓俊辉)学习笔记】高级搜索树01——伸展树

文章目录 1. 逐层伸展1. 1 宽松平衡1. 2 局部性1. 3 自适应调整1. 4 逐层伸展1. 5 实例1. 6 一步一步往上爬1. 7 最坏情况 2. 双层伸展2.1 双层伸展2.2 子孙异侧2.3 子孙同侧2.4 点睛之笔2.5 折叠效果2.6 分摊性能2.7 最后一步 3 算法实现3.1 功能接口3.2 伸展算法3.3 四种情况…

uniapp H5页面设置跨域请求

记录一下本地服务在uniapp H5页面访问请求报跨域的错误 这是我在本地起的服务端口号为8088 ip大家可打开cmd 输入ipconfig 查看 第一种方法 在源码视图中配置 "devServer": {"https": false, // 是否启用 https 协议&#xff0c;默认false"port&q…

vb.netcad二开自学笔记5:ActiveX链接CAD的.net写法

一、必不可少的对象引用 使用activex需要在项目属性中勾选以下两个引用&#xff0c;若找不到&#xff0c;则浏览定位直接添加下面两个文件&#xff0c;可以看到位于cad的安装路径下&#xff0c;图中的3个mgd.dll也可以勾选。 C:\Program Files\Autodesk\AutoCAD 2024\Autodes…

(数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档

&#x1f497;博主介绍&#x1f497;&#xff1a;✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示&#xff1a;文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…

Java线上接口耗时分析神器 Arthas

介绍 程序员的日常&#xff0c;总是离不开“调优”和“排查”。尤其当线上环境出现问题&#xff0c;性能瓶颈把人逼疯。这时候&#xff0c;你就需要一款像 Arthas 这样的神器来救场。 什么是 Arthas&#xff1f; 简单来说&#xff0c;Arthas 是阿里巴巴开源的 Java 诊断工具…

前端八股文 对$nextTick的理解

$nexttick是什么? 获取更新后的dom内容 为什么会有$nexttick ? vue的异步更新策略 (这也是vue的优化之一 要不然一修改数据就更新dom 会造成大量的dom更新 浪费性能) 这是因为 message &#xff08;data&#xff09;数据在发现变化的时候&#xff0c;vue 并不会立刻去更…

学习笔记——动态路由——IS-IS中间系统到中间系统(区域划分)

三、IS-IS区域划分 根据IS-IS路由器邻居关系&#xff0c;可以将IS-IS划分为两个区域——骨干区域和非骨干区域。&#xff08;注意&#xff0c;这里的区域不是上文中提到的Area ID&#xff09;由L2的IS-IS邻居构成的区域为骨干区域&#xff0c;由L1的IS-IS邻居构成的区域为非骨…