首页 > 其他分享 >【论文笔记】UniST:通用预训练城市时空预测模型

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

时间:2024-07-06 19:55:29浏览次数:23  
标签:预测 UniST 模型 笔记 掩码 时空 数据

目录


写在前面

  • 文章标题: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 KM​s: 存储空间相关信息的键值对。
时间记忆池 K M t K_Mt KM​t: 存储时间相关信息的键值对。
键值对: 由可学习的参数 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 性能的影响。分析每种属性对模型性能的贡献,并解释其必要性。

标签:预测,UniST,模型,笔记,掩码,时空,数据
From: https://blog.csdn.net/m0_65814643/article/details/140019393

相关文章

  • C#学习笔记-事件
    事件  事件是类的一种成员,能够使类或对象具备通知能力。事件用于对象或类间的动作协调和信息传递。假设类A有某个事件,当这个事件发生时,类A会通知并传递事件参数(可选)给有订阅这个事件的类B,类B根据拿到的事件信息对事件进行响应处理。事件模型事件模型的5个组成部分:1、事......
  • 小红书笔记没有热度没有流量是怎么回事?
    ​ 文末领取小红书电商开店运营教程!相信很多人做小红书开店,结果发布的笔记没有热度,没有流量,难以挣到钱小红书笔记没有热度没有流量可能是以下原因:1:发布违规内容小红书社区有明确的规范,禁止发布一些违规内容。如果你的笔记涉及违规内容,那么系统会对你的笔记进行限制曝光甚......
  • MIT6.824-2022 分布式系统课程实验笔记 Lab 2A Raft-领导者选举(leader election)--xu
    Lab2A:Raft文章目录Lab2A:RaftLab1:MapReduceLab2:Raft实验解读Lab2B:日志复制我的代码实现(附带详细代码注释)前言Part2A:[leaderelection](中等难度)提示错误:实现细节(包含对于方法的解释如有错误大佬勿喷)结构体GetState()获取节点任期和角色sendAllRequestVote()发起投票......
  • MIT6.824-2022 分布式系统课程实验笔记 Lab 2B Raft-日志复制(Log Replication)--xunznu
    Part2B:LogReplication日志复制(困难)文章目录Part2B:LogReplication日志复制(困难)Lab1:MapReduceLab2:Raft实验解读Lab2A:领导者选举leaderelection我的代码实现(附带详细代码注释)提示:实现细节:1、commitIndex和lastApplied2、nextIndex和matchIndex3、Co......
  • 【学习笔记】操作系统--万字长文
    计算机操作系统文章目录计算机操作系统引言操作系统基本概念第一章引论目标和作用操作系统发展历程单道批处理系统多道批处理系统分时系统实时系统基本特征并发共享虚拟异步性(不确定性)操作系统主要功能处理机管理内存管理设备管理文件管理第二章进程进程和程序的......
  • 吉他学习笔记
    强、弱、次强、弱强、弱、弱强、弱 ......
  • FFmpeg开发笔记(三十五)Windows环境给FFmpeg集成libsrt
    ​《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2 FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。其中SRT全称为SecureReliableTransport,中文叫做安全可靠传输协议。RIST全称为Reliable......
  • flex布局学习笔记
    教学视频来自25分钟彻底弄懂CSSFlex基础布局/CSSFlex入门教程_哔哩哔哩_bilibili目录一、前置代码二、flex元素的自动宽度​编辑三、flex元素的增大逻辑四、flex元素的缩小逻辑五、flex容器的交叉轴对齐六、flex元素的换行七、flex元素直接的多轴换行八、补充......
  • 7.6 做题笔记
    7.6做题笔记笔记、梳理、题解合三为一的产物。P2569[SCOI2010]股票交易考虑DP,数据允许开到平方级别。设\(f_{i,j}\)表示第\(i\)天持有\(j\)张股票的最大钱。四种转移:凭空买入,即本次买入与前面无关。\(f_{i,j}=-ap_i\cdotj\)。不买不卖,直接从前些天转移。$f_......
  • QT笔记:Process库
    QT笔记:Process库说明​ QT带有Process库用以在原有的进程中开一个新的线程或者其他进程来执行其他程序,这个库调用非常简单,这里给出一个创建一个分离进程来执行bat脚本的示例示例#include<QCoreApplication>#include<QProcess>#include<QThread>intmain(intargc,cha......