查看原文
其他

Salesforce | Transformer变体!用于时间序列预测的指数平滑Transformer(含源码)

ShuYini AINLPer 2023-07-10
点击下方卡片,关注‘’AINLPer‘’
更多干货,第一时间送达

引言

 近年来,Transformer在时间序列预测方面得到了快速的发展。但是在设计上并没有充分利用时间序列数据的特性,因此存在一些基本的局限性(不可分解、低效)。为此本文提出了一种新的时间序列Transformer结构,其中,用模块化分解块重新设计了Transformer体系结构,以便它能够学会将时间序列数据分解为可解释的时间序列组受;经典指数平滑方法的启发,提出了新的指数平滑注意(ESA)和频率注意(FA)来取代vanilla Transformer中的自注意机制,从而提高了精度和效率。

背景介绍

 近年来,Transformer模型在NLP和CV领域上都取得了巨大的成功。它的成功主要归功于它的自注意机制,它能够通过成对的(query-key)请求--键交互自适应地建模短期和长期依赖关系。基于Transformer的体系结构具有强大的时序数据建模能力,已被积极探索用于时间序列预测,特别是更具有挑战性的长时间序列预测(LSTF)任务。虽然得出了不错的结果,但提取显著的时间模式,进而利用大规模数据进行准确的长期预测仍然存在挑战。这是因为时间序列数据通常是有噪声和非平稳的。如果不结合有关时间序列结构的相关知识,就容易学习虚假的依赖关系,也缺乏可解释性。

 此外,在Transformer中使用基于内容的点积注意力并不能有效地检测基本的时间依赖性,其原因主要有两个:(1)首先,通常假设时间序列数据是由过去观测数据的条件分布生成的,随着时间的推移,观测数据之间的相关性会减弱。因此,相邻的数据点具有相似值,在测量它们的相似度时,应该赋予最近的Token更高的权重。这表明在建模时间序列时,用相对时间滞后测量的注意力比用内容相似度测量的注意力更有效。(2)其次,许多现实世界的时间序列显示出强烈的周期性——时间序列中的模式以固定的周期重复。自动提取周期模式已被证明是预测成功的关键,然而在没有任何内置的先验结构的情况下,普通注意机制不太可能学习到这些必需的周期性依赖关系。

 为了解决这些限制,受指数平滑方法的启发,本文提出ETSformer,这是一种用于时间序列预测的有效且高效的Transformer体系结构。其模型架构如下图所示:

本文模型方法

 首先,ETSformer通过执行分层、增长和周期分解,合并了时间序列结构的归纳偏差。通过利用深度架构的高容量和有效的残差学习方案,ETSformer能够提取一系列潜在的增长和周期性模式,并对其复杂的依赖性进行建模。如下图所示:其中:上图说明了ETSformer如何通过分解(中间表示)到周期和趋势成分生成预测。周期性成分提取显着的周期性模式并对其进行外推。趋势分量是水平和增长项的组合,首先估计时间序列的当前水平,然后添加阻尼增长项以生成趋势预测。

 ETSformer引入了一种新颖的指数平滑注意力(ESA)和频率注意力(FA)来代替普通注意力。特别是,ESA基于查询的相对时间滞后构建注意力分数,并实现了长度为L的回溯窗口的O(Llog L)复杂度,并展示了强大的增长组件建模能力。FA利用傅里叶变换通过选择频域中幅度最大的K个傅里叶基来提取主要的周期性模式,并且还实现了O(Llog L)复杂度。

 最后,预测的结果是水平、趋势和周期成分的组合,这使其具有可解释性。

实验结果

 本文进行了大量的实证分析,表明ETSformer在多变量和单变量设置下,优于目前的主要算法,并实现了最先进的性能,并将时间序列组件可视化,以验证其可分解行与解释性

1、下表显示了ETSformer在选择的多变量设置的数据集上实验的结果。2、下表显示了ETSformer在选择的单变量设置的数据集上实验的结果。3、下图展示了ETSformer合成数据与实际数据的对比。在这种情况下,使用合成数据的实验是至关重要的,因为我们无法从真实世界的数据中获得ground truth分解。其中左图:ETSformer和Autoformer在合成数据集上的分解预测的可视化。右图:ETSformer对真实世界数据集(ETTh1、ECL和Weather)的分解预测的可视化。

推荐阅读

[1]快看!Transformer中的自注意力机制(Self-attention)竟有这么多变体

[2]中科院|基于“敏感情感识别”和“理性知识选择”的情感对话生成(含源码)

[3]EMNLP2022 | “Meta AI 9篇接受论文”,其中7篇主会、2篇Findings

论文&&源码

Paper:https://arxiv.org/pdf/2202.01381.pdf

Code:https://github.com/salesforce/etsformer

点击下方链接🔗关注我们

「资料整理不易,点个赞、再看吧」

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存