【论文笔记】Are Self-Attentions Effective for Time Series Forecasting? (NeurIPS 2024)

embedded/2025/2/19 8:50:58/

在这里插入图片描述

官方代码https://github.com/dongbeank/CATS


Abstract

时间序列预测在多领域极为关键,Transformer 虽推进了该领域发展,但有效性尚存争议,有研究表明简单线性模型有时表现更优。本文聚焦于自注意力机制在时间序列预测中的作用,提出仅用交叉注意力的 CATS 架构。它摒弃自注意力,利用交叉注意力并设置未来视野依赖参数为查询及增强参数共享,提升了长期预测精度,还减少了参数和内存使用。多数据集实验显示,CATS 模型均方误差最低且参数更少。https://github.com/dongbeank/CATS


Introduction

  • Background:时间序列预测在金融、气象、交通等诸多领域中是关键任务,其结果对决策制定有重要影响。Transformer 架构在自然语言处理等方面取得巨大成功后,被广泛应用于时间序列预测,但实际效果参差不齐,引发了对其内部结构尤其是自注意力机制在该任务中适用性的思考。
  • Motivation:越来越多的研究显示,在某些时间序列预测场景下,简单的线性模型能达到甚至超越复杂的基于 Transformer 的模型的性能。这促使作者深入探究自注意力机制在时间序列预测中的真实价值,试图寻找更高效的架构来提升预测准确性和效率。
  • Challenges
    • 计算复杂度问题:在传统的 Transformer 架构应用于时间序列预测时,自注意力机制的计算复杂度随着序列长度的增加呈平方增长。当处理大规模时间序列数据时,这会导致训练时间大幅延长,对计算资源的需求也急剧增加,使得模型在实际应用中的可行性受到挑战。
    • 过拟合风险:Transformer 模型通常包含大量的参数,在时间序列数据有限的情况下,容易出现过拟合现象。模型可能会过度学习训练数据中的噪声和局部特征,而无法很好地泛化到未知的未来数据,从而影响预测的准确性和可靠性。
    • 自注意力机制对于时间序列预测是否有效?
  • Contributions
    • 架构创新:提出了 Cross-Attention-only Time Series transformer (CATS) 架构,为时间序列预测提供了一种全新的思路。通过去除自注意力机制,采用交叉注意力机制并结合独特的参数设置,有效解决了传统 Transformer 在时间序列预测中面临的部分难题
    • 实验验证:在多个不同类型和领域的数据集上进行了广泛而深入的实验,全面验证了 CATS 模型的有效性。通过与现有的主流时间序列预测模型进行对比,证明了 CATS 模型在降低均方误差、减少参数数量和内存使用方面具有显著优势,为后续的研究和实际应用提供了有力的实证支持。

Method

在这里插入图片描述

在时间序列预测领域,传统Transformer架构中的自注意力机制存在诸多问题,如时间信息丢失、计算复杂度高等。为解决这些问题,作者提出了仅交叉注意力时间序列Transformer(CATS)架构,其主要由以下三个关键部分构成。

在这里插入图片描述

将未来作为查询的交叉注意力机制

在时间序列预测中,预测通常针对特定的未来时间范围。交叉注意力机制与自注意力机制相似,涉及键(key)、查询(query)和值(value)三个要素,但不同之处在于查询来自与键和值不同的来源。在我们的CATS架构中,核心在于将未来时间范围视为查询。

具体实现上,我们把与预测范围相关的参数设定为可学习的查询。以图4为例,我们先针对特定的预测范围创建相应参数。对每个这样的虚拟化参数,分配固定数量的参数来代表对应的预测范围,使其成为可学习的查询。例如, q i q_{i} qi 就是在 L + i L + i L+i 时刻与预测范围相关的一个查询。当进行分块操作时,这些查询会被独立处理。每个可学习查询 q ∈ R P q \in \mathbb{R}^{P} qRP 先被输入到嵌入层,之后将经过嵌入的输入时间序列分块作为键和值,输入到多头注意力层。通过这种方式,模型能够利用交叉注意力机制,从过去的时间序列数据(键和值)中,精准地提取与未来特定时间点(查询)相关的信息,有效避免了自注意力机制中因排列不变性和反序特性导致的时间信息丢失问题,更好地捕捉时间序列中的动态变化和依赖关系 。

跨预测范围的参数共享

在CATS架构中,参数共享策略是提升模型效率和性能的关键因素之一。传统的Transformer架构在处理不同预测范围时,往往为每个预测步骤单独设置大量参数,这不仅增加了模型的复杂度和训练成本,还容易引发过拟合问题。

与之不同,我们的CATS模型通过在不同预测范围之间共享关键参数,极大地减少了参数总量。例如,在多头注意力机制中,用于计算注意力权重的部分参数在不同的预测时间步中是共享的。这种参数共享方式,使得模型在学习过程中能够更高效地利用数据,提高参数的使用效率,降低模型的过拟合风险。同时,减少的参数数量降低了模型的计算复杂度,使得模型在训练和推理过程中所需的内存和计算资源显著减少,提升了模型的运行速度和实际应用的可行性。这一策略使得CATS模型在处理不同长度和复杂度的时间序列数据时,能够以更简洁的结构和更低的资源消耗,实现准确的预测。

在这里插入图片描述

查询自适应掩码

查询自适应掩码是CATS架构中的另一个创新点,它主要用于优化交叉注意力机制的计算过程,提升模型的预测准确性。在时间序列预测中,不同的时间步和预测范围对于信息的需求和依赖程度各不相同。查询自适应掩码能够根据每个查询(即未来的每个时间点)的特点,动态地调整模型在计算注意力权重时对输入数据(键和值)的关注程度。

具体而言,掩码会根据查询所代表的未来时间点与当前时间的距离、时间序列数据的局部和全局趋势等因素,对输入数据中的某些部分进行选择性的屏蔽或增强。例如,当预测较近的未来时间点时,模型可能更关注近期的时间序列数据,掩码会增强对这些数据的注意力权重;而当预测较远的未来时间点时,掩码会引导模型综合考虑更长期的历史数据和趋势信息。通过这种方式,查询自适应掩码帮助模型更加智能地聚焦于与每个预测目标最相关的信息,避免无效信息的干扰,从而提高预测的准确性和稳定性。同时,掩码的应用还可以减少不必要的计算,进一步提升模型的计算效率。


Results

长时预测

模型 CATS 在多个数据集的多元长期预测任务中展现出卓越性能。在交通(Traffic)数据集上,对于所有预测范围,CATS 始终能实现最低的均方误差(MSE)和平均绝对误差(MAE),超越了所有其他模型。对于天气(Weather)、电力(Electricity)和 ETT 数据集,CATS 表现出极具竞争力的性能,在大多数预测范围上取得了最佳结果。这表明 CATS 有效地捕捉了不同时间序列数据中的潜在模式,凸显了其处理复杂时间依赖关系的能力。

在这里插入图片描述

在这里插入图片描述

短时预测

在这里插入图片描述

交叉注意力vs自注意力

在这里插入图片描述


Conclusion

  • 本研究通过理论分析和实验验证,表明在时间序列预测领域,传统 Transformer 模型中的自注意力机制并非是必不可少的。CATS 架构通过巧妙地运用交叉注意力机制和独特的参数设置,成功地在提升预测精度的同时降低了资源消耗。
  • 未来的研究可以基于 CATS 架构进一步探索优化方向,如进一步改进交叉注意力机制的细节、探索更有效的参数共享策略、结合其他先进的机器学习技术等。同时,可以将 CATS 模型拓展到更多的应用领域,如工业生产过程中的质量控制、环境监测中的数据预测等,以推动时间序列预测技术的不断发展和创新。

Appendix

补充结果


创作不易,麻烦点点赞和关注咯!

学术会议

  • 如有意愿参会或投稿,可以获取邀请码,享受参会、投稿优惠,优先审核
  • 想要了解更多国内主办的覆盖学科最全最广的学术会议,请前往【所有会议官网】:
    学术会议官网www.ais.cn


http://www.ppmy.cn/embedded/162080.html

相关文章

互联网大厂中面试的高频计算机网络问题及详解

前言 哈喽各位小伙伴们,本期小梁给大家带来了互联网大厂中计算机网络部分的高频面试题,本文会以通俗易懂的语言以及图解形式描述,希望能给大家的面试带来一点帮助,祝大家offer拿到手软!!! 话不多说,我们立刻进入本期正题! 一、计算机网络基础部分 1 …

HR告诉你,机器视觉公司招聘真相!

在机器视觉行业的招聘中,HR的宣传与实际情况可能存在一定差异。以下是机器视觉公司招聘中需注意的“真相”及关键点分析: 一、岗位与需求的“错配” 技术门槛被淡化 许多岗位(如视觉工程师、算法工程师)要求掌握Halcon、OpenCV、C++/C#等工具,并需独立完成项目从设计到落地…

redis集群

文章目录 节点启动节点集群数据结构CLUSTER MEET命令的实现 槽指派记录节点的槽指派信息专播节点的槽指派信息17.2.3记录集群所有槽的指派信息CLUSTER ADDSLOTS命令的实现 在集群中执行命令计算键属于哪个槽判断槽是否由当前节点负责处理MOVED错误节点数据库的实现 重新分片ASK…

接入 deepseek 实现AI智能问诊

1. 准备工作 注册 DeepSeek 账号 前往 DeepSeek 官网 注册账号并获取 API Key。 创建 UniApp 项目 使用 HBuilderX 创建一个新的 UniApp 项目(选择 Vue3 或 Vue2 模板)。 安装依赖 如果需要在 UniApp 中使用 HTTP 请求,推荐使用 uni.requ…

JVM的类加载器

什么是类加载器? 类加载器:JVM只会运行二进制文件,类加载器的作用就是将字节码文件加载到JVM中,从而Java 程序能够启动起来。 类加载器有哪些? 启动类加载器(BootStrap ClassLoader):加载JAVA HOME/jre/lib目录下的库…

二分查找sql时间盲注,布尔盲注

目录 一:基础知识引导 数据库:information_schema里面记录着数据库的所有元信息 二,布尔盲注,时间盲注 (1)布尔盲注案例(以sqli-labs第八关为例): (2&am…

什么是双核锁步

总结一下,双核锁步应该是一种通过两个核心同步执行相同任务并实时比较结果,以检测和处理错误的高可靠性技术,主要应用于对安全性要求极高的领域。其核心在于冗余和实时比较,确保系统在出现故障时能够及时检测并采取应对措施。 双…

软考高级《系统架构设计师》知识点(一)

计算机硬件 校验码 码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。一般来说,…