文章全名:Transformers in Time Series: A Survey
文章链接:[论文地址]([2202.07125v2] Transformers in Time Series: A Survey (arxiv.org))
来源:IJCAI 2023
完成单位:阿里巴巴达摩院、上海交通大学
Transformer在自然语言处理和计算机视觉领域都取得了诸多成果,Transformer的捕获长距离依赖和交互的能力非常适合应用于时间序列分析之中。本文回顾了Transformer在时间序列建模上的优点和不足。本文从两个方面展开,一是总结了对Transformer模型的修改和适配,使其能够更好应用于时间序列分析;二是从应用角度分析,根据任务分类为:预测、异常检测和分类。本文讨论并提出了未来的发展方向,以提供有用的研究指导。
本文首先介绍了一下原始Transformer结构,然后提出一种新的分类方式,基于模型修改和应用两个方面。在模型修改方面,本文从low-level模块化,和high-level结构化分别介绍了Transformer在时序分析上的使用。在应用层面,总结了一些热门任务的工作,比如预测、异常检测和分类。对每种Transformer都分析其优势和不足。本文也进行了丰富的实验,分析模型的鲁棒性、模型参数量等。
最初的Transformer是一种编解码结构,编码结构包含了一个多头自注意力模块和一个前馈网络,解码结构在多头自注意力模块和前馈网络之间插入了一个cross-attention模块,来融合编码器输出的内容。
关于Transformer及其变体网络的介绍可以阅读这篇文章
P E ( t ) i = { sin ( ω i t ) i % 2 = 0 cos ( ω i t ) i % 2 = 1 P E(t)_i= \begin{cases}\sin \left(\omega_i t\right) & i \% 2=0 \\ \cos \left(\omega_i t\right) & i \% 2=1\end{cases} PE(t)i={sin(ωit)cos(ωit)i%2=0i%2=1
t t t表示位置索引, w i w_i wi是每一维的频率。
输入元素之间的成对位置关系比元素的位置更有利,因此提出了相对的位置编码方法。例如,其中一种方法是在注意机制的关键字上添加一个可学习的相对位置嵌入。
Attention ( Q , K , V ) = softmax ( Q K T D k ) V \operatorname{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V})=\operatorname{softmax}\left(\frac{\mathbf{Q K}^{\mathbf{T}}}{\sqrt{D_k}}\right) \mathbf{V} Attention(Q,K,V)=softmax(DkQKT)V
注意力就是要决定V中哪些是更重要的,权重是由Q和K做点积得到的。
Transformer中使用了多头自注意力,多头的作用是能够提取到不同模式下的注意力。
前馈网络是一个全连接网络
F F N ( H ′ ) = ReLU ( H ′ W 1 + b 1 ) W 2 + b 2 F F N\left(\mathbf{H}^{\prime}\right)=\operatorname{ReLU}\left(\mathbf{H}^{\prime} \mathbf{W}^1+\mathbf{b}^1\right) \mathbf{W}^2+\mathbf{b}^2 FFN(H′)=ReLU(H′W1+b1)W2+b2
在更深层次的模块中,在每个模块周围插入一个残差的连接模块,后面跟着层归一化模块。
H ′ = LayerNorm ( Self Attn ( X ) + X ) , H = LayerNorm ( F F N ( H ′ ) + H ′ ) , \begin{aligned} \mathbf{H}^{\prime} & =\text { LayerNorm }(\operatorname{Self} \operatorname{Attn}(\mathbf{X})+\mathbf{X}), \\ \mathbf{H} & =\text { LayerNorm }\left(F F N\left(\mathbf{H}^{\prime}\right)+\mathbf{H}^{\prime}\right), \end{aligned} H′H= LayerNorm (SelfAttn(X)+X),= LayerNorm (FFN(H′)+H′),
由于时间序列的顺序非常重要,所以将输入信息的位置进行编码后输入Transformer也非常重要。
一种常见的方法是将位置信息编码成一个向量,然后直接作为一个额外的输入输入到模型中去。
最初的位置编码就是本文第二节提出的编码方式,虽然这种方式能够提取到一些位置信息,但是它们不能充分挖掘时间序列数据的重要特征。
可学习的位置编码会更加灵活,并能够适用于特定的任务。
Zerveas等人在Transformer中引入了嵌入层,该层与其他模型参数一起学习每个位置指标的嵌入向量。Lim等人使用LSTM网络对位置嵌入进行编码,目的是更好地利用时间序列中的顺序排序信息。
对于现实世界中的时间序列,时间戳的信息是可以获得的,这些信息可以被编码作为输入。
Transformer的核心是自注意力模块,它可以被看作是一个完全连接的层,其权重是根据输入模式之间的成对相似性动态生成的。因此,它与完全连接层具有相同的最大路径长度,但参数数量要少得多,适用于建模长期依赖性。
通过第二节的介绍可以发现,自注意力的时空复杂度是 O ( N 2 ) \mathcal O(N^2) O(N2), N N N是输入时间序列的长度,因此当序列长度特别长的时候这会成为一个计算瓶颈。
于是很多网络被提出来降低计算的复杂度,大致可分为两类,一类明确地将稀疏性偏差引入注意机制,如LogTrans和Pyraformer,另一类探索自注意矩阵的低秩性,加快计算速度,如Informer和FEDformer。
下表展示了各个方法的时空复杂度。
最近的工作在Transformer中引入了分层架构,以考虑时间序列的不同层次信息。Informer在注意块之间插入stride为2的max-pooling层,该层将样本序列长度减半。Pyraformer设计了一种基于C-ary树的注意机制,其中最细尺度上的节点对应于原始时间序列,而粗尺度上的节点代表较低分辨率的序列。
近年来,已经进行了大量工作设计新的Transformer变体,用于时间序列预测任务。模块级别和结构级别是两个大的类别,前者包括最新工作的大部分内容。
模块级别的更新往往还是使用最初Transformer的结构,在此基础上添加一些小的改动。大致包含三种类型:设计新的注意力模块,探索新的标准化时间序列数据的方法,利用输入数据的bias
以下这些注意力方式都利用稀疏归纳偏置或低秩逼近来消除噪声,并实现低阶计算复杂度。
LogTrans提出了卷积自注意力,通过随机卷积在自注意力层来生成查询和键,并引入了一个稀疏偏置,Logsparse mask,来降低计算复杂度。
Informer通过计算查询和键的相似度来选出了最重要的查询,从而降低了计算复杂度,并且还设计了一种生成式的解码器来直接生成长距离的预测,从而避免了单步预测在长距离预测可能会引入的累计错误。
AST使用了一个生成对抗编解码器结构来训练出一个稀疏的Transformer模型来进行时间序列预测,它表明对抗训练能够提升预测效果,因为它能直接塑造出输出的分布情况,来避免单步预测可能导致的累计错误。
Pyraformer设计了一种带有二叉树跟随路径的分层金字塔注意模块,以捕获具有线性时间和内存复杂度的不同范围的时间依赖性。
FEDformer设计了两个注意模块,分别用傅里叶变换和小波变换处理频域中的注意操作。 它通过傅里叶变换中的随机模式部分实现了线性复杂度。 需要指出的是,自 Autoformer 和 FEDformer 以来,时间序列在频域或时频域中的独特属性引起了更多的关注。
Liu等人提出了Non-stationary Transformer,它探索了时间序列预测任务中的过度平稳化问题,并且提出了一种去平稳化的模块来提升注意力块的表现。
Autoformer采用了一种基于分割的表示机制,它设计了一种简单的季节性趋势分解架构。它测量输入信号之间的时延相似性,并聚合前 k 个相似的子序列以产生具有降低复杂度 O(LlogL) 的输出。
长时间序列预测之Autoformer 详解及实践 - 知乎 (zhihu.com)
在时空预测中,我们需要同时考虑时间依赖性和时空依赖性来进行准确的预测。 Traffic Transformer 设计了一个编码器-解码器结构,使用自注意力模块来捕获时间-时间依赖关系,并使用图神经网络模块来捕获空间依赖关系。 用于交通流预测的时空 Transformer 网络更进一步,除了引入时间 Transformer 模块来捕获时间依赖关系外,它还设计了一个空间 Transformer 模块来辅助图卷积网络捕获更多的空间空间依赖关系。 此外,时空图 Transformer 网络设计了一种基于注意力的图卷积机制来学习更复杂的时空注意力模式,以改进行人轨迹预测。
在很多研究中,研究者将Transformer与生成模型比如VAE和GAN结合,来进行异常检测。
TranAD提出了一种对抗训练策略来放大重构的误差,来训练出一个基于Transformer的模型,它会遗漏一些小偏差的异常。GAN风格的对抗训练是由两个Transformer编码器和解码器构成,来获得稳定性,消融实验表明如果Transformer结构被替代,F1分数会下降很多,表明Transformer结构在异常检测上的作用。
MT-RVAE和TransAnomaly将VAE与Transformer相结合,但它们具有不同的目的。TransAnomaly将VAE与Transformer相结合,以允许更多的并行化,将训练成本减少近80%。在MT-RVAE中,设计了一个多尺度Transformer来提取和集成不同尺度的时间序列信息。它克服了传统Transformer的仅提取局部信息进行顺序分析的缺点。
GTA将Transformer与基于图的学习架构相结合,用于多变量时间序列异常检测。请注意,MT-RVAE也是用于多变量时间序列,但其维度较少或序列之间的关系不足,因此图神经网络模型效果不佳。为应对这种挑战,MT-RVAE修改了位置编码模块并引入了特征学习模块。相反,GTA包含一个图卷积结构来模拟影响传播过程。与MT-RVAE类似,GTA也考虑“全局”信息,但通过将普通多头注意力替换为多分支注意力机制来实现,即全局学习注意力、普通多头注意力和邻域卷积的组合。
AnomalyTrans将Transformer和高斯先验关联相结合,使异常更易于区分。与TranAD具有类似的动机,但AnomalyTrans采用了不同的实现方式。其洞察力在于,与正常情况相比,异常更难与整个时间序列建立强关联,但更容易与相邻时间点建立关联。在AnomalyTrans中,先验关联和序列关联同时建模。除了重构损失外,异常模型还通过极小极大策略进行优化,以限制先验关联和序列关联以获得更易于区分的关联差异。
由于Transformer在捕捉长期依赖方面具有突出的能力,因此已被证明在各种时间序列分类任务中非常有效。GTN使用两个塔式Transformer,每个塔分别处理逐时间步的注意力和逐通道的注意力。为了合并两个塔的特征,使用了可学习的加权拼接(也称为“门控”)。Transformer的这种扩展在13个多变量时间序列分类中实现了最先进的结果。[Rußwurm和K¨orner,2020] 研究了基于自注意力的Transformer用于原始光学卫星时间序列分类,并与递归和卷积神经网络相比获得了最佳结果。最近,TARNet [Chowdhury等,2022] 设计了Transformer来学习任务感知的数据重建,以增强分类性能,它利用注意力分数进行重要时间戳掩蔽和重构,并带来了更优越的性能。
预训练的Transformer也在分类任务中进行了研究。[Yuan和Lin,2020] 研究了用于原始光学卫星图像时间序列分类的Transformer。由于标记数据有限,作者使用了自监督预训练模式。[Zerveas等,2021] 引入了一种无监督预训练框架,并使用按比例屏蔽的数据对模型进行预训练。然后将预训练模型在分类等下游任务中进行微调。[Yang等,2021] 建议使用大规模预训练语音处理模型解决下游时间序列分类问题,并在30个流行的时间序列分类数据集上生成了19个有竞争力的结果。
可以发现大部分网络对于长序列的表现还是比较差的,说明对于长序列的信息网络还是无法有效地去利用。
主要是对层数大小进行实验。
在最近的研究中,研究人员[Wu等,2021;Zhou等,2022;Lin等,2021;Liu等,2022a] 开始意识到季节趋势分解[Cleveland等,1990;Wen等,2020]是Transformer在时间序列预测中性能的关键部分。如表4所示的实验,我们采用[Wu等,2021]提出的简单移动平均季节趋势分解架构来测试各种注意力模块。可以看到,简单的季节趋势分解模型可以将模型的性能显著提高50%至80%。这是一个独特的模块,通过分解提高性能似乎是Transformer在时间序列预测中的一个一致现象,值得进一步研究更高级和精心设计的时间序列分解方案。
Vanilla Transformer没有对数据模式和特征做出任何假设。虽然它是用于建模长程依赖关系的通用和普适网络,但它也有一个代价,即需要大量数据来训练Transformer以提高泛化能力并避免数据过拟合。时间序列数据的一个关键特征是其季节性/周期性和趋势模式。一些最近的研究表明,将系列周期性[Wu等,2021]或频率处理[Zhou等,2022]融入时间序列Transformer可以显著提高性能。此外,有趣的是,一些研究采用了一个看似相反的归纳偏差,但两者都取得了良好的数值改进:[Nie等,2023]利用一个独立于通道的注意力模块去除了交叉通道的依赖性,而一项有趣的工作[Zhang和Yan,2023]则利用了双阶段注意力机制的交叉维度依赖性来提高实验性能。显然,在这样一个交叉通道学习范式中,我们有噪声和信号,但是利用这种归纳偏差来压制噪声并提取信号的巧妙方法仍然是需要的。因此,一个未来的方向是考虑更有效的方法来引入基于对时间序列数据的理解和特定任务特征的归纳偏差到Transformer中。
多变量和时空时间序列在应用中变得越来越普遍,需要额外的技术来处理高维度,特别是捕捉维度之间的潜在关系的能力。引入图神经网络(GNN)是一种自然的方法来模拟维度之间的空间依赖或关系。最近的一些研究表明,GNN和Transformer/注意力的结合不仅可以带来像交通预测[Cai等,2020;Xu等,2020]和多模态预测[Li等,2021]这样的显著性能改进,而且还能更好地理解时空动态和潜在因果性。将Transformer和GNN相结合以有效地进行时空建模是一个重要的未来方向。
大规模预训练Transformer模型显著提高了NLP [Kenton等,2019;Brown等,2020]和CV [Chen等,2021a]中各种任务的性能。然而,在时间序列方面,预训练Transformer的研究还很有限,现有的研究主要集中在时间序列分类[Zerveas等,2021;Yang等,2021]。因此,如何为时间序列中的不同任务开发适当的预训练Transformer模型仍需在未来进行研究。
大数为时间序列开发的Transformer模型都保留了基本Transformer的架构,主要在注意力模块方面进行了修改。我们可以借鉴NLP和CV中Transformer变体的思想,这些变体还具有针对不同目的的架构级别模型设计,例如轻量级[Wu等,2020b;Mehta等,2021],交叉块连接[Bapna等,2018],自适应计算时间[Dehghani等,2019;Xin等,2020]和循环[Dai等,2019]。因此,一个未来的方向是考虑更多的针对时间序列数据和任务特定优化的Transformer架构级别设计。
论文阅读:Transformers in Time Series: A Survey - 知乎 (zhihu.com)
【AI论文】Transformers in Time Series: A Survey_黑符石的博客-CSDN博客