AI论文速读 | 2024[IJCAI]时空解耦掩码预训练的时空预测

题目: Spatial-Temporal-Decoupled Masked Pre-training for Spatiotemporal Forecasting

作者:Haotian Gao ; Renhe Jiang(姜仁和) ; Zheng Dong ; Jinliang Deng (邓锦亮); Yuxin Ma ; Xuan Song(宋轩)

机构:东京大学,南方科技大学,悉尼大学

arXiv网址https://arxiv.org/abs/2312.00516

Cool Paperhttps://papers.cool/arxiv/2312.00516

代码https://github.com/Jimmy-7664/STD-MAE

关键词:自监督预训练,时空解耦,掩码自编码器,时空预测,异质性

TL; DR: 本研究提出了一种自监督预训练框架STD-MAE,利用时空解耦掩码自编码器(S-MAE和T-MAE)分别在空间和时间维度上重建时空序列,以学习丰富的上下文表示,这些表示可以无缝集成到下游预测器中,提升其性能。


🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘!🚀
欢迎大家关注时空探索之旅时空探索之旅QRCode

摘要

时空预测技术对于交通、能源和天气等各个领域都具有重要意义。由于复杂的时空异质性,时空序列的准确预测仍然具有挑战性。特别是,当前的端到端模型受到输入长度的限制,因此经常陷入时空幻觉spatiotemporal mirage),即相似的输入时间序列后面跟着不同的未来值,反之亦然。为了解决这些问题,本文提出了一种新颖的自监督预训练框架时空解耦掩码预训练(STD-MAE),它采用两个解耦屏蔽自动编码器沿空间和时间维度重建时空序列。通过这种重建学习的丰富上下文表示可以由下游预测器与任意架构无缝集成,以增强其性能。对六个广泛使用的基准(PEMS03、PEMS04、PEMS07、PEMS08、METR-LA 和 PEMS-BAY)进行了一系列定量和定性评估,以验证 STD-MAE 的最先进性能。

Q: 这篇论文试图解决什么问题?

A: 这篇论文提出了一种新颖的自监督预训练框架,名为Spatial-Temporal-Decoupled Masked Pre-training (STD-MAE),旨在解决时空预测中的一些关键挑战。具体来说,论文试图解决以下问题:

  1. 复杂的时空异质性:时空序列预测的准确性受到时空异质性的挑战,因为时空数据在不同位置(如城市中心与郊区)和不同时间段(如工作日与周末)表现出不同的模式。
  2. 端到端模型的输入长度限制:现有的端到端模型由于其高模型复杂性,通常将输入范围限制在较短的值(通常为12步),这限制了模型捕捉完整的时空依赖性的能力。
  3. 时空幻影(mirage)问题:由于现有模型只能捕捉到片段化的异质性而非完整的异质性,导致模型在面对时空幻影(即相似的输入时间序列可能跟随不同的未来值,反之亦然)时表现不佳。
  4. 学习清晰完整的时空异质性:为了提高模型在时空幻影问题上的鲁棒性,论文提出了通过预训练来学习清晰和完整的时空异质性。

STD-MAE框架通过两个解耦的掩码自编码器(masked autoencoders)分别在空间和时间维度上重建时空序列,从而学习到丰富的上下文表示,这些表示可以无缝地集成到下游预测器中,以增强其性能。论文通过在六个广泛使用的基准数据集上的定量和定性评估来验证STD-MAE的性能。

时空异质性和幻觉

Q: 有哪些相关研究?

A: 论文中提到的相关研究主要涉及以下几个领域:

  1. 时空预测(Spatiotemporal Forecasting):旨在通过分析历史数据来预测未来的时空序列。早期的工作主要依赖于传统的时间序列模型,后来发展到使用循环神经网络(RNNs)和卷积神经网络(CNNs)来更好地建模时空数据。
  2. 图卷积网络(Graph Convolutional Networks, GCNs):一些研究通过将GCNs与时间模型结合,以更好地捕捉网络化道路系统中的时空特征。
  3. 注意力机制(Attention Mechanisms):在时空预测中,注意力机制,特别是变换器(Transformers),已被提出并展现出在捕捉时空关系方面的优越性能。
  4. 掩码预训练(Masked Pre-training):在自然语言处理(NLP)和计算机视觉(CV)中,掩码预训练已成为一种高效的自监督表示学习技术。这种方法通过预测输入中被遮蔽的部分来训练模型,使其能够学习到丰富的上下文表示。
  5. 时间序列数据的预训练技术:最近,研究人员尝试将预训练技术应用于时间序列数据,以获得更优越的隐藏表示。

这些研究为本文提出的STD-MAE框架提供了理论基础和技术背景。

Q: 论文如何解决这个问题?

STD-MAE

A: 论文提出了一种新颖的自监督预训练框架,名为Spatial-Temporal-Decoupled Masked Pre-training (STD-MAE),来解决时空预测中的挑战。以下是解决这个问题的关键步骤和方法:

  1. 时空解耦掩码预训练(Spatial-Temporal-Decoupled Masking):提出了一种新的掩码策略,分别在空间和时间维度上执行掩码和重建任务。这种方法允许模型分别学习空间和时间上的异质性,从而能够更清晰地捕捉到时空数据的复杂性。
  2. 时空解耦掩码自编码器(Spatial-Temporal-Decoupled Masked AutoEncoder):构建了一个由时间自编码器(T-MAE)和空间自编码器(S-MAE)组成的框架,每个自编码器都具有相似的架构。S-MAE沿空间维度应用自注意力,而T-MAE沿时间维度应用自注意力。
  3. 长输入处理:为了处理长输入序列,论文采用了分块嵌入技术,将长输入序列划分为非重叠的小块,并使用全连接层和二维位置编码来获得嵌入表示。
  4. 轻量级解码器:为了重建被掩码的输入,S-MAE和T-MAE使用了轻量级解码器,该解码器由填充层、标准变换层和回归层组成。
  5. 下游时空预测集成:STD-MAE生成的空间和时间表示可以无缝集成到现有的预测器结构中,通过将这些表示添加到预测器的隐藏表示中,可以显著提高下游时空预测器的性能。
  6. 定量和定性评估:通过在六个广泛使用的基准数据集上的实验,展示了STD-MAE在定量和定性上的性能,验证了其在捕捉时空异质性和提高预测准确性方面的有效性。
  7. 超参数研究:论文还进行了超参数研究,包括掩码比例和预训练长度,以找到最佳的模型性能。

通过这些方法,STD-MAE能够有效地学习时空数据的清晰和完整的异质性,并且能够提高下游预测器在复杂时空预测任务中的性能。

Q: 论文做了哪些实验?

数据集

12步预测流量数据集结果

速度数据集结果

在预训练阶段,长输入时间序列的长度( T l o n g T_{long} Tlong)对于不同的数据集分别设置为864、864、864、2016、864和864时间步长。

A: 论文中进行了一系列的实验来验证所提出的Spatial-Temporal-Decoupled Masked Pre-training (STD-MAE)框架的有效性。以下是实验的主要部分:

  1. 实验设置
    • 使用了六个真实世界的时空基准数据集,包括PEMS03、PEMS04、PEMS07、PEMS08、METR-LA和PEMS-BAY。
    • 对数据进行了Zscore标准化处理。
    • 设定了不同的数据集的训练、验证和测试集的比例。
    • 选择了嵌入维度、变换层数量、多头注意力的头数、填充大小等超参数。
  2. 整体性能评估
    • 将STD-MAE与多个基线方法进行了比较,包括ARIMA、VAR、SVR、LSTM、TCN、Transformer以及多种时空模型,如DCRNN、STGCN、ASTGCN、GWNet等。
    • 使用平均绝对误差(MAE)、均方根误差(RMSE)和平均绝对百分比误差(MAPE)作为评估指标。
  3. 消融实验
    • 设计了四种变体来验证时空掩码机制的有效性,包括仅在空间维度掩码的S-MAE、仅在时间维度掩码的T-MAE、使用时空混合掩码的STM-MAE以及不使用掩码预训练的w/o Mask。
  4. 预测器消融
    • 为了评估STD-MAE的通用性,将其与五种不同的下游预测器进行了集成,包括DCRNN、MTGNN、STID、STAEformer和GWNet。
  5. 超参数研究
    • 研究了掩码比例对模型性能的影响,发现0.25的掩码比例在所有数据集上都能获得最低的误差。
    • 研究了预训练长度对模型性能的影响,测试了一天、三天和一周的预训练长度。
  6. 效率测试
    • 对比了STD-MAE与其他预训练模型的效率,特别是在处理具有大量传感器数据集时的效率。
  7. 案例研究
    • 展示了STD-MAE在预训练阶段的重建准确性,以及在面对时空幻影问题时的预测鲁棒性。

这些实验全面地评估了STD-MAE框架的性能,包括其在不同数据集上的表现、与现有方法的比较、不同变体和超参数对性能的影响,以及其在实际预测任务中的有效性。

消融实验

消融实验2

超参数-掩码率

超参数-预训练输入长度

效率实验

预训练重建准确率

时空幻觉预测

Q: 总结一下论文的主要内容

A: 这篇论文提出了一种新颖的自监督预训练框架,名为Spatial-Temporal-Decoupled Masked Pre-training (STD-MAE),用于改进时空预测任务。以下是论文的主要内容总结:

  1. 问题背景:时空预测对于交通、能源和气象等领域至关重要。由于时空数据的复杂异质性,准确预测时空序列面临挑战。

  2. 现有模型局限:当前的端到端模型受限于输入长度,难以捕捉完整的时空依赖性,容易受到“时空幻影”问题的影响。

  3. STD-MAE框架:提出了一种新的预训练框架,通过两个解耦的掩码自编码器(S-MAE和T-MAE)分别在空间和时间维度上重建时空序列,以学习丰富的上下文表示。

  4. 方法细节

    • 时空解耦掩码:分别在空间和时间维度上执行掩码操作,以捕捉长距离的时空异质性。
    • 自编码器架构:使用自注意力机制分别在空间和时间维度上进行信息编码。
    • 长输入处理:采用分块嵌入技术和二维位置编码来处理长输入序列。
  5. 下游集成:STD-MAE生成的表示可以无缝集成到各种下游预测器中,以增强其性能。

  6. 实验验证:在六个广泛使用的基准数据集上进行了定量和定性评估,验证了STD-MAE在捕捉时空异质性和提高预测准确性方面的有效性。

  7. 消融实验:通过一系列消融实验,展示了时空解耦掩码策略的有效性,并证明了STD-MAE对不同下游预测器的通用性。

  8. 超参数研究:探讨了掩码比例和预训练长度对模型性能的影响,以找到最优的模型配置。

  9. 效率测试:尽管引入了两个解耦的自编码器,STD-MAE在效率上仍然优于其他预训练模型,特别是在处理大量传感器数据集时。

  10. 案例研究:通过案例研究展示了STD-MAE在预训练阶段的重建准确性和在面对时空幻影问题时的预测鲁棒性。

  11. 结论:STD-MAE通过学习清晰和完整的时空异质性,显著提高了时空预测的性能,并为下游预测器提供了一种有效的增强方法。

  12. 案例研究:通过案例研究展示了STD-MAE在预训练阶段的重建准确性和在面对时空幻影问题时的预测鲁棒性。

  13. 结论:STD-MAE通过学习清晰和完整的时空异质性,显著提高了时空预测的性能,并为下游预测器提供了一种有效的增强方法。

论文的贡献在于提出了一种新的预训练方法,可以显著提高时空预测的准确性,并且具有很好的通用性和效率。
🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘!🚀
欢迎大家关注时空探索之旅时空探索之旅QRCode

  • 16
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现在Unity2D中点击某个物体后,物体改变速度,并在一段时间后恢复原始速度,可以按照以下步骤进行: 1. 创建物体:首先创建一个物体,可以使用Unity的模型编辑器或导入自定义模型。 2. 添加组件:给物体添加刚体组件和碰撞器组件,以便进行物理模拟。 3. 编写脚本:创建一个脚本来控制物体的速度变化和复原。在脚本中,可以使用协程来延迟一段时间后恢复原始速度。 ```csharp using UnityEngine; public class ObjectController : MonoBehaviour { public float originalSpeed = 5f; // 物体的原始速度 public float changedSpeed = 10f; // 物体改变后的速度 public float restoreDelay = 2f; // 物体恢复原始速度的延迟时间 private Rigidbody2D objectRigidbody; private float currentSpeed; void Start() { objectRigidbody = GetComponent<Rigidbody2D>(); currentSpeed = originalSpeed; } void Update() { // 点击鼠标左键时改变物体速度 if (Input.GetMouseButtonDown(0)) { Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); Collider2D collider = Physics2D.OverlapPoint(mousePosition); if (collider != null && collider.gameObject == gameObject) { ChangeSpeed(changedSpeed); StartCoroutine(RestoreSpeed(restoreDelay)); } } // 应用物体速度 Vector2 velocity = transform.up * currentSpeed; objectRigidbody.velocity = velocity; } void ChangeSpeed(float newSpeed) { currentSpeed = newSpeed; } System.Collections.IEnumerator RestoreSpeed(float delay) { yield return new WaitForSeconds(delay); currentSpeed = originalSpeed; } } ``` 4. 在场景中放置物体实例:在场景中放置一个物体的实例,并将物体控制脚本(ObjectController)添加到物体的GameObject上。 通过以上步骤,当点击该物体时,物体的速度将改变为指定的速度,并在一段时间后恢复原始速度。你可以根据需要调整原始速度、改变后的速度和恢复延迟时间。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值