【论文笔记】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.mzph.cn/pingmian/42175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题~ leetcode 402 (贪心+单调栈)

click me! 这个贪心的推导在leetcode上已经很明确了。 click me! 删除k个数,可以先考虑删除一个数。这也是一种常见的思路。(如果进行同样的操作多次,可以先只 考虑一次操作如何实现,或者他的影响。完成这一次操作后,…

Rabnud博士加入了一个社交圈。起初他有5个朋友。他注意到他的朋友数量以下面的方式增长。第1周少了1个朋友......

Rabnud博士加入了一个社交圈。起初他有5个朋友。他注意到他的朋友数量以下面的 方式增长。第1周少了1个朋友,剩下的朋友数量翻倍;第2周少了2个朋友,剩下的朋友数量 翻倍。一般而言,第N周少了N个朋友,剩下的朋友数量翻倍…

程序员下班为什么不关电脑?难道在偷偷加班?!

不管是周围的程序员朋友还是网上的很多程序员朋友,在下班后都是习惯不关电脑的,关上显示器,拿上手机,快乐下班! 那么,为什么程序员下班都不关电脑?难道他们在偷偷加班? 其实&#x…

锂电池寿命预测 | Matlab基于改进的遗传算法优化BP神经网络的锂离子电池健康状态SOH估计

目录 预测效果基本介绍程序设计参考资料 预测效果 基本介绍 主要流程如下: 1、首先提取“放电截止电压时间”作为锂电池间接健康因子; 2、然后引入改进的遗传算法对BP神经网络的模型参数进行优化。 3、最后 NASA 卓越预测中心的锂电池数据集 B0005、B0006、B0007对…

昇思25天学习打卡营第11天|MindSpore 助力下的 GPT2:数据集加载处理及模型全攻略

目录 环境配置 数据集下载和获取 数据集拆分 处理数据集 模型构建 ​​​​​​​模型训练 ​​​​​​​模型推理 环境配置 “%%capture captured_output”这一行指令通常旨在捕获后续整个代码块所产生的输出结果。首先,将已预装的 mindspore 库予以卸载。随后&a…

讲个SystemVerilog随机约束小坑

正文 记录个在写SystemVerilog随机约束时遇到的一个小坑,如果没有认真去查看随机结果是否符合预期,还真不容易发现。 为了方便讲述,写了如下示例代码。类cl_a里有个随机变量aa,初始值为222。在module top里对类cl_a例化并进行约…

最近你悟出来什么道理?

点击上方△腾阳 关注 转载请联系授权 大家伙,我是腾阳。 活了近30年的我,终于领悟到,人生的旅途是一场深刻而复杂的自我发现与灵魂成长的壮丽征途。 这不仅仅是对外在世界的探索,更是内心深处的一场革命,是灵魂从懵…

Educational Codeforces Round 167(Div.2) A~D

A.Catch the Coin(思维) 题意: Monocarp 参观了一家有街机柜的复古街机俱乐部。在那里,他对"抓硬币"游戏机产生了好奇。 游戏非常简单。屏幕上的坐标网格是这样的 X X X轴从左到右; Y Y Y轴从下往上&…

小白必看!推荐三本高质量python书籍,让你直接原地起飞

Python是一种多功能语言。它经常用作Web应用程序的脚本语言,嵌入到软件产品中,以及人工智能和系统任务管理。它既简单又强大,非常适合初学者和专业程序员。 python的自学书籍非常多,涉及基础入门、web开发、机器学习、数据分析、…

计网_计算机网络概述

2024.07.03:计算机网络概述 第1节 计算机网络概述 1.1 互连网与互联网1.1.1总结1.1.2 因特网(互联网)发展[自行了解] 1.2 计算机网络组成1.2.1 计算机网络组成方式11.2.2 计算机网络组成方式21.2.3 计算机网络组成方式3 1.3 三种交换方式1.3.1 电路交换(1) 电路交换…

STMF4学习笔记RTC(天空星)

前言:本篇笔记参考嘉立创文档,连接放在最后 #RTC相关概念定义 Real-Time Clock 缩写 RTC 翻译 实时时钟,是单片机片内外设的一种,作用于提供准确的时间还有日期,这个外设有独立的电源,当单片机停止供电…

Linux开发讲课33---线程实现与线程控制步骤简析

线程概述 进程是系统中程序执行和资源分配的基本单位。 每个进程都拥有自己的数据段、代码段和堆栈段,这就造成了进程在进行切换等操作时都需要有比较负责的上下文切换等动作。为了进一步减少处理机的空转时间支持多处理器和减少上下文切换开销,进程在演…

隐藏的h1写法(以图换字)

所谓以图换字,即直接使用一张图片或背景,没有文字。我们知道,蜘蛛爬取时是不会获取图片上的内容的,但是如果是添加上文字,即便使用一些字体,也可能达不到图片的显示效果。如何将用户体验与SEO优化相兼容呢&…

移动硬盘“需格式化”危机:应对策略与数据拯救指南

移动硬盘困境:突如其来的“格式化”提示 在日常的数据存储与传输过程中,移动硬盘作为便携且容量可观的存储媒介,深受用户青睐。然而,当这块存储“小能手”突然弹出“需要格式化”的警告时,无疑给用户的数据安全敲响了…

软考中级数据库系统工程师备考经验分享

前几天软考成绩出了,赶紧查询了一下发现自己顺利通过啦(上午63,下午67,开心),因此本文记录一下我的备考经验分享给大家。因为工作中项目管理类的知识没有系统学习过,本来想直接报名软考高级证书…

【IO】文件操作

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. 文件1.1 认识文件1.2 分清操作的是内存还是硬盘1.3 路径1.3.1 目录结构1.3.2 相对和绝对路径 1.4 文本文件…

大数据Spark 面经

1: Spark 整体架构 Spark 是新一代的大数据处理引擎,支持批处理和流处理,也还支持各种机器学习和图计算,它就是一个Master-worker 架构,所以整个的架构就如下所示: 2: Spark 任务提交命令 一般我们使用shell 命令提…

Flutter-实现双向PK进度条

如何实现一个双向PK进度条 在Flutter应用中,进度条是一个非常常见的组件。而双向PK进度条则能够展示两个对立的数值,如对战中的双方得分对比等。本文将介绍如何实现一个具有双向PK效果的进度条,并支持竖直和斜角两种过渡效果。 1. 需求 我…

FMEA在大型光伏电站安全生产管理中的应用

一、FMEA概述 FMEA(Failure Modes and Effects Analysis)即失效模式和影响分析,是一种用于识别和分析产品或过程中潜在故障模式及其影响的方法。它通过对产品或过程中可能出现的故障模式进行系统性地梳理和分析,评估其可能的影响…

通过SDK使用百度智能云的图像生成模型SDXL

登录进入百度智能云控制台,在模型广场按照图像生成类别进行筛选,可以找到Stable-Diffusion-XL模型。点击Stable-Diffusion-XL模型的API文档后在弹出的新页面下拉可以找到SDK调用的说明。 import qianfandef sdxl(file: str, prompt: str, steps: int 2…