【time series】时间序列领域的Transformer综述论文笔记

论文名称:Transformers in Time Series: A Survey
论文年份:2022/5/7
论文作者:阿里巴巴达摩院
论文下载:https://arxiv.org/abs/2202.07125
论文源码:https://github.com/qingsongedu/time-series-transformers-review这里是引用

Abatract

  1. Transformer的发展
  • 网络结构角度
  • 应用角度:通过常见的任务(包括预测、异常检测和分类)对时间序列Transformer分类
  1. Transformer在时间序列中的表现
  • 稳健分析
  • 模型规模分析
  • 季节趋势分解
  1. 未来的研究方向的讨论和建议

part 1. Introduction

Transformer 对序列数据的长距离依赖和交互有强大建模能力,Transformer及其变体成功应用于各种事件序列任务,如预测、异常检测和分类等。其中季节性或周期性是时间序列的重要特征,如何有效的模拟长期和短期的时间依赖性并同时捕获季节性是一个挑战。
本文旨在通过总结时间序列Transformer的主要发展来填补这一空白,本文首先简要介绍了时间序列Transformer的基本概念,然后从网络修改应用领域两方面提出了时间序列Transformer的新分类方法,网络的修改方面主要讨论了底层(模块)和高层(架构)的改进,在应用方面,分析了三个主要的应用场景的优势和局限性。最后讨论了时间序列Transformer未来可能的发展方向:时间序列Transformer的归纳偏差,时间序列Trasformer和GNN,时间序列的与训练Transformer以及时间序列的NAS Transformer。

part 2.Preliminaries of the Transformer

2.1 Vanilla Transformer

Vanilla Transformer采用编码器-解码器结构,遵循最具竞争力的神经序列模型.编码器和解码器都由多个相同的块组成。每个编码器块由多头自注意模块和位置前馈网络(FFN)组成,每个解码器块在多头自注意模块和位置前馈网络(FFN)之间插入交叉注意模型。

2.2 Input Encoding and Positional Encoding

与LSTM或RNN不同,Transformer没有递归和卷积。相反,它利用添加在输入嵌入中的位置编码来建序列信息。我们在下面总结了一些位置编码
Absolute Positionl Encoding
在vanilla Transformer中,对于每个位置索引t,编码向量由在这里插入图片描述
其中wi为每个维度的手工频率。另一种方法是学习一套更灵活的位置嵌入每个位置。
Relative Positional Encoding
根据输入元素之间的成对位置关系比元素的位置关系更有利的直觉,提出了相对位置编码方法。例如,其中一种方法是在注意键机制中添加可学习的相对位置嵌入.除了绝对位置编码和相对位置编码,还有使用混合位置编码的方法将它们结合在一起.通常,位置编码被添加到令牌嵌入中并提供给Transformer。

2.3 Multi-head Attention

结合Query-Key-Value(QKV)模型,给出了Transformer使用的 the scaled dot-product attention
在这里插入图片描述
在这里插入图片描述
图1:从网络修改和应用领域的角度,transformer用于时间序列建模的分类

2.4 Feed-forward and Residual Network

点式前馈网络是一个全连接模块
在这里插入图片描述

式中H0为前一层的输出,W1∈RDm×Df, W2∈RDf ×Dm, b1∈RDf, b2∈RDm为可训练参数。在更深层次的模块中,在每个模块周围插入一个剩余连接模块,然后是层规范化模块。也就是说,
在这里插入图片描述
其中Self Attn(.)表示自注意模块,LayerN orm(.)表示层正常操作。

part 3. Taxonomy of Transformers in Time Series(分类)

为了总结现有的时间序列Transformer,我们从网络修改和应用领域的角度提出了一种分类方法,如图1所示,对已有的时间序列Transformer进行了系统的回顾。从网络修改的角度来看,为了适应时间序列建模中的特殊挑战,我们总结了Transformer 在模块级和架构级所做的更改。从应用的角度出发,根据时间序列变压器的应用任务,包括预测、异常检测、分类和聚类,对其进行分类。在接下来的两个部分中,我们将从这两个角度深入研究现有的时间序列transformer

part Network Modifications for Time Series(时间序列的网络修改)

4.1 Positional Encoding

Transformer是置换等价的,时间序列的顺序很重要,因此将输入时间序列的位置编码到transformer是非常重要的。一种常见的设计是首先将位置信息编码为向量,然后将其与输入时间序列一起作为附加输入注入模型。利用transformer对时间序列建模时,如何获取位置编码向量可以分为三大类。
Vanilla Positional Encoding.2.2节中有涉及,将其添加到输入时间序列嵌入并馈送给Transformer。虽然这种简单的应用可以从时间序列中提取出一些位置信息,但它们不能充分利用时间序列数据的重要特征。
Learnable Positional Encoding.由于Vanilla Positional Encoding是手工制作的,表现力和适应性较差,一些研究发现,从时间序列数据学习适当的位置嵌入可以更有效,与固定编码相比,学习嵌入更加灵活,能够适应特定的任务,在Transformer中引入了一个嵌入层,该层结合其他模型参数学习每个位置索引的嵌入向量,使用LSTM网络编码位置嵌入,目的是更好地利用时间序列中的顺序排序信息。
Timestamp Encoding.当在真实场景中建模时间序列时,通常可以访问时间戳信息,包括日历时间戳(例如,秒、分、小时、周、月和年)和特殊时间戳(例如,节假日和事件)这些事件戳在实际的应用程序中信息量很大,但在普通的变形金刚中却很少使用。为了缓解这个问题,Informer提出通过使用可学习的嵌入层将时间戳编码为额外的位置编码。
Autoformer
FEDformer
使用了类似的时间戳编码方案。

4.2 Attention Module

Transformer的核心是自注意力机制模块。它可以被视为一个完全连接的层,权值是根据输入模式的两两相似度动态生成的。因此,它与全连接层具有相同的最大路径长度,但参数的数量要少得多,这使得它适合于建模长期依赖关系。
正如我们在前一节中所展示的,Vanilla transformer中的自注意力机制模块的时间和内存复杂度O(L2)(L是输入时间序列的长度)这在处理长序列时成为了计算瓶颈。许多高效的Transformer被提出降低二次元复杂度,可分为两类:(1)明确地在注意机制中引入稀疏性偏差,如LogtransPyraformer;(2)探索自注意力机制矩阵的低秩性来加快计算速度。例如:InformerFEDformer.在表一中,我们总结了应用时间序列建模的流行的transformer的时间和内存复杂性。

在这里插入图片描述
表1:不同注意模块下流行时间序列变压器的复杂度比较

4.3 Architecture-Level Innovation(架构级创新)

除了在transformer中容纳单个模块以建模时间序列外,还有许多作品试图在架构层面改造transformer。最近的工作将分层结构引入Transformer,以考虑时间序列的多分辨率方面。Informer在注意块之间插入跨步2的最大池化层,它向下采样系列到它的半片。Pyraformer设计了一种基于C-ary树的注意力机制,而较粗尺度的节点代表较低分辨率的序列。Pyraformer开发了尺度内和尺度间的关注,以便更好地捕获不同分辨率的时间依赖性。分层结构除了能够集成不同多分辨率的信息外,还具有高效计算的优点,特别是对于长时间序列。

part 5.Application of Time Series Transformer

5.1 Transformers in Forecasting

在本节中,我们将回顾Transformer在重要时间序列任务中的应用,包括预测、异常检测和分类
Time Series Forecasting(时间序列预测)
预测是时间序列最常见和最重要的应用。LogTrans提出了卷积自注意,通过使用因果卷积来生成自注意层中的查询和键。它在自注意模型中引入了稀疏偏差,即Logsparse mask,将计算复杂度从O(L2)降低到O(L log L)
Informer没有显式地引入稀疏偏差,而是基于查询和关键相似性选择O(log l)主导查询,从而在计算复杂度方面实现类似LogTrans的改进。设计了一种生成式解码器,直接产生长期预测,从而避免了使用一步预测进行长期预测时的累积误差。
AST使用生成式对抗编码器-解码器框架训练用于时间序列预测的稀疏Transformer模型。结果表明,结果表明,对抗性训练可以通过直接塑造网络输出分布来提高时间序列预测,避免了通过一步推理产生的误差累积。
Autoformer 设计了一个简单的季节趋势分解架构,并使用自相关机制作为注意力模块。自相关块不是传统的注意力块。它测量输入信号之间的时延相似性,并聚合top-k相似子序列,产生复杂度降低为O(L log L)的输出。
FEDformer 通过傅里叶变换和小波变换在频域应用注意运算。它通过随机选择一个固定大小的频率子集来实现线性复杂度。值得注意的是,由于Autoformer和federformer的成功,在时间序列建模中探索频率域的自我注意机制已经引起了社会越来越多的关注。
TFT设计了一种带有静态协变量编码器、门控特征选择和时间自注意解码器的多视界预测模型。它从各种协变量中编码和选择有用的信息来进行预测。它还保留了可解释性,包括全局、时间依赖性和事件。
SSDNetProTran 将Transformer与状态空间模型结合起来,提供概率预测。SSDNet首先使用Transformer学习时间模式并估计SSM的参数,然后应用SSM进行季节趋势分解并保持可解释能力。
Pyraformer 设计了一种具有二叉树跟踪路径的分层金字塔注意模块,以捕获具有线性时间和内存复杂性的不同范围的时间依赖性。
Aliformer 通过使用带有分支的知识引导的注意对注意图进行修正和去噪,对时间序列数据进行序列预测。
Spatio-Temporal Forecasting(时空预测)
在时空预测中,我们需要同时考虑时间和时空的相关性,以实现准确的预测。Traffic Transformer设计了一种编码器-解码器结构,使用自我注意模块捕捉时间-时间相关性,使用图神经网络模块捕捉空间相关性。用于交通流预测的时空转换器则更进一步。除了引入一个时间Transformer块来捕获时间相关性外,还设计了一个空间Transformer块,以及一个图卷积网络,以更好地捕获空间-空间相关性。时空图转换器设计了一种基于注意力的图卷积机制,能够学习复杂的时空注意模式,以改善行人轨迹预测。
Event Forecasting(事件预测)
具有不规则和异步时间戳的事件序列数据在许多实际应用程序中都可以很自然地观察到,这与具有等采样间隔的规则时间序列数据形成了对比。事件预测或预测的目的是根据过去事件的历史来预测未来事件的时间和标志,通常采用时间点过程(TPP)建模.最近,一些神经TPP模型开始加入变形金刚,以提高事件预测的性能。自注意霍克斯过程(self - attenkes process, SAHP) 和变压器霍克斯过程(Transformer Hawkes process, THP) 采用变压器编码器架构,总结历史事件的影响,计算事件预测的强度函数。它们通过将时间间隔转换为正弦函数来修改位置编码,从而可以利用事件之间的间隔。后来,一种更灵活的命名为随时间变化的注意神经数据记录(a - ndtt) 被提出,通过嵌入所有可能的事件和时间以及注意来扩展SAHP/THP方案。实验表明,它可以比现有方法更好地捕获复杂的事件依赖关系。

5.2 Transformers in Anomaly Detection

深度学习还引发了异常检测的新发展。深度学习是一种表示学习,重建模型在异常检测任务中占有重要地位。重建模型旨在学习一个神经网络,将向量从一个简单的预定义源分布Q映射到实际的输入分布P+。Q通常是高斯分布或均匀分布。
异常评分由重构误差定义。直观上看,重构误差越高,即不太可能来自输入分布,异常分值越高。设置一个阈值来区分异常和正常。
最近,揭示了使用Transformer进行异常检测优于其他传统的时间依赖性模型(如LSTM)。除了更高的检测质量(由F1测量)外,基于变压器的异常检测方法明显比基于LSTM的方法更高效,这主要是由于变压器体系结构中的并行计算。在多项研究中,包括TranAD 、MT-RV AE和TransAnomaly,研究人员提出将Transformer与神经生成模型相结合,如V AEs和GANs,以便在异常检测中更好地重建模型.TranAD提出了一种对抗性训练程序来放大重构误差,因为简单的基于transformer的网络往往会忽略异常的小偏差。采用两个Transformer编码器和两个Transformer解码器设计GAN式对抗训练程序以获得稳定性。消融研究表明,如果替换基于Transformer的编码器解码器,F1评分性能下降近11%,说明Transformer架构对异常检测的重要性。
虽然mt - ravi和TransAnomaly都将VAE与Transformer结合在一起,但它们的目的不同。TransAnomaly将VAE与Transformer相结合,实现了更多的并行化,并将培训成本降低了近80%。mt - ravi中设计了多尺度变压器,用于提取和集成不同尺度的时间序列信息。
它克服了传统变压器在序列分析中只提取局部信息的缺点。
一些时间序列Transformer是为将Transformer与基于图的学习架构相结合的多元时间序列设计的,如GTA。需要注意的是,MT-RV AE也适用于多变量时间序列,但在图神经网络模型不能很好工作的地方,序列之间的维数很少或关系不够密切。为了应对这一挑战,MT-RVAE改进了位置编码模块,引入了特征学习模块。该算法采用图卷积结构对影响传播过程进行建模。与mt - ravi类似,GTA也考虑“全局”信息,但它用多分支注意机制取代了香草多头注意,即全局学习注意、香草多头注意和邻域卷积的结合。
abnormalytrans 结合变压器和高斯先验关联,使罕见异常更加容易识别。尽管与TranAD有着相似的动机,但它以一种完全不同的方式实现了这一目标。研究发现,与正常情况相比,异常情况更难与整个序列建立强关联,而更容易与相邻时间点建立关联。在AnomalyTrans中,先验关联和序列关联同时建模。除重建损失外,利用极小极大策略对异常模型进行优化,以约束先验关联和序列关联,提高关联差异的可辨性。

5.3 Transformers in Classification

由于Transformer在捕获长期相关性方面的突出能力,它被证明在各种时间序列分类任务中是有效的。分类变压器通常采用简单的编码器结构,其中自我注意层执行表示学习,前馈层产生每个类的概率。
GTN 使用一个双塔变压器,每个塔分别工作于时间步进注意和通道注意。为了合并两个塔的特征,使用了可学习的加权连接(也称为“门控”)。提出的变压器扩展方法在13个多元时间序列分类上取得了最先进的结果。研究了基于自我注意的Transformer用于原始光学卫星时间序列分类,并与循环神经网络和卷积神经网络进行了比较,获得了最好的结果。
在分类任务中也研究了预先训练的变形金刚。研究了用于原始光学卫星图像时间序列分类的Transformer。引入了一种无监督的预训练框架,该模型使用按比例掩盖的数据进行预训练。然后,预先训练的模型在分类等下游任务中进行微调。提出对下游时间序列分类问题使用大规模预训练语音处理模型,并在30个流行的时间序列分类数据集上生成19个竞争性结果。
在这里插入图片描述

part 6.Experimental Evaluation and Discussion

在本节中,我们进行实证研究,分析Transformers如何在时间序列数据上工作。具体来说,我们在一个典型的基准数据集ETTm2上测试不同配置的不同算法。
Robustness Analysis(鲁棒性:在反馈系统中稳定)
我们上面描述的许多工作都是精心设计的注意模块,以降低二次元计算和内存复杂度,尽管他们实际上使用了一个短的固定大小的输入,以达到他们报告的实验的最佳结果。这让我们质疑如此高效的设计的实际用途。通过延长输入序列长度的鲁棒性实验,验证了它们在处理长期输入序列时的预测能力和鲁棒性。
如表2所示,当我们将预测结果与输入长度的延长进行比较时,各种基于transformer的模型退化很快。这种现象使得许多精心设计的transformer在长期预测任务中不切实际,因为它们不能有效地利用长时间输入的信息。除了简单地运行长序列输入,还需要做更多的工作来充分利用长序列输入。
在这里插入图片描述
表2:延长输入长度ETTm2数据集预测96步稳健性实验的MSE比较
Model Size Analysis
在被引入时间序列预测领域之前,Transform已经在NLP和CV社区中表现出了优势性能[Vaswani et al,2017;Han 2020,Khan et al 2021,Selva et al,2022].Transformer在这些领域的一个关键优势是能够通过增加模型大小来增加预测能力。通常模型容量受控于transformer的层数。CV和NLP通常设置在12和128之间。
但从表3的实验中可以看出,当我们比较不同层数的transformer模型的预测结果时,最浅的3~6层Transformer胜出。这就提出了一个问题,如何设计一个合适的深层次的Transformer架构,以提高模型的容量和实现更好的预测性能。
在这里插入图片描述
不同层数ETTm2数据集预测96步模型规模实验的MSE比较
Seasonal-Trend decomposition Analysis(季节性潮流分解分析)
在最新的研究中,研究人员[Wu et al,2021;Zhou et al,2022;Lin et al 2021;Liu et al,2022]开始意识到季节趋势分解是Transformer在时间序列预测中的表现得关键部分。如表4所示得一个简单实验,我们使用[Wu et al,2021]提出得移动平均趋势分解架构来测试各种注意力模块。季节趋势分解模型可使模型性能提高50%~80%。这是一个独特得区块,这种通过分解提升性能的现象在时间序列预测中是一致的,值得进一步研究。

part 7.Future Research Opportunities

在这里,我们强调了几个时间序列Transformer研究的潜在前景。

7.1 Inductive Biases for Time Series Transformers

Vanilla Transformer对数据模型和特征不做任何假设。虽然它是一个通用的网络,用于建模远程依赖关系,但它也有代价,即需要大量数据来训练Transformer,以避免数据过拟合。时间序列数据的关键特征之一是其季节性/周期性和趋势模式[Wen et al,2019;Cleveland et al,1990].最近的一些研究表明,将序列周期性[Wu et al.,2021]或频率处理[Zhou et al.,2022]纳入时间序列Transformer可以显著提成性能。因此,未来的一个方向是考虑更有效的方法,在对时间序列数据和特定任务特征的理解的基础上,将归纳性偏差引入Transformer。

7.2 Transformer and GNN for Time Series

多元时间序列和时空时间序列在应用中越来越普遍,这就需要更多的技术来处理高维,特别是捕捉维度之间的底层关系的能力。引入图神经网络(GNN)是一种自然的方式来建模空间依赖或维度之间的关系。最近,一些研究表明,GNN和Transformer/attentions的结合不仅可以带来显著的性能改善,如交通预测[Cai et al.,2020;Xu et al.,2020]和多模态预测[Li et al.,2021],但也更好地理解时空动力学和潜在的偶然性。将Transformer与GNN结合,对时间序列进行有效的时空建模是未来的一个重要方向。

7.3 Pre-trained Transformers for Time Series

大规模预训练的Transformer模型显著提高了NLP中各种任务的性能[Kenton和Toutanova,2019;Brown et al,2020]和CV[Chen et al,2021a].然而,针对时间序列的预训练Transformer的研究有限,现有的研究主要集中在时间序列分类[Zerveas et al,2021;yang et al,2021].因此,如何针对时间序列中的不同任务开发合适的预训练Transformer模型仍有待于未来的研究。

7.4 Transformers with NAS for Time Series

超参数,如嵌入尺寸、磁头数量和层数,会在很大程度上影响Transformer的性能。手动配置这些超参数非常耗时,并且常常导致性能不佳。神经体系结构搜索(NAS)[Elsken et al,2019;wang et al,2020]是发现有效的深度神经架构的流行技术,在最近的研究中可以发现在NLP和CV中使用NAS自动化Transformer设计,对于工业规模的高维长时间序列数据,自动发现存储高效和计算高效的Transformer 架构具有重要的现实意义,时间序列Transformer未来的一个重要方向。

part 8.Conclusion

在本文中,我们提供了一个全面的调查时间序列Transformer的各种任务。我们在一个由网络修改和应用领域组成的新分类法中组织了审查的方法。我们总结了每种方法的代表性,并通过实验评价讨论了它们的优点和局限性,并指出了未来的研究方向。

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
时间序列数据Transformer是一种基于Transformer架构的模型,专门用于处理时间序列数据。它在处理时间序列数据时,能够捕捉到数据中的时间依赖关系和序列间的关联性。下面是时间序列数据Transformer的一般介绍: 1. 输入表示:时间序列数据Transformer的输入通常是一个二维矩阵,其中每一行表示一个时间步,每一列表示一个特征。这样的输入形式可以包含多个时间序列,每个时间序列可以有不同的特征。 2. 嵌入层:与传统的Transformer类似,时间序列数据Transformer也会使用嵌入层将输入的离散特征转换为连续向量表示。这样可以更好地处理离散特征。 3. 位置编码:为了捕捉时间序列数据中的时间信息,时间序列数据Transformer会引入位置编码。位置编码是一种向量表示,用于表示每个时间步的位置信息,以便模型能够感知到时间上的顺序。 4. 多头自注意力机制:时间序列数据Transformer使用多头自注意力机制来学习输入序列中不同位置之间的依赖关系。通过自注意力机制,模型可以自动地关注到与当前位置相关的其他位置。 5. 编码器层:时间序列数据Transformer通常包含多个编码器层,每个编码器层由多头自注意力机制和前馈神经网络组成。这些编码器层可以帮助模型逐步地提取输入序列中的特征表示。 6. 解码器层(可选):对于一些任务,如时间序列预测,时间序列数据Transformer还可以包含解码器层。解码器层可以根据已有的历史信息来预测未来的时间步。 7. 输出层:最后,时间序列数据Transformer通过一个线性变换和激活函数将编码器层的输出映射到最终的预测结果。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值