时间序列+Transformer!

数据派THU

共 5969字,需浏览 12分钟

 ·

2024-04-12 04:01

   

本文约3500字,建议阅读10分钟

本文带你了解iTransformer,更好地利用注意力机制进行多变量关联。


1  介绍
Transformer在自然语言处理和计算机视觉领域表现优秀,但在时间序列预测方面不如线性模型。
将多个变量嵌入不可区分的通道并应用注意力时,性能和效率不如简单线性层,Transformer难以捕获多元相关性(图1),而线性模型可以更好地模拟多元相关性以实现准确的预测。研究人员提出iTransformer,将每个变量的整个时间序列独立地嵌入到一个token中,以扩大局部感受野,更好地利用注意力机制进行多变量关联。

图1 普通Transformer(上)和提出的iTransformer(下)之间的比较。Transformer嵌入了时间标记,其中包含每个时间步的多变量表示。iTransformer将每个序列独立地嵌入到变量标记中,这样注意力模块就可以描述多变量相关性,前馈网络可以对序列表示进行编码。


iTransformer是重新审视Transformer结构后提出的时间序列预测基础,采用注意力机制进行多元相关性分析,并采用前馈网络进行序列表示。实验表明,iTransformer在真实世界预测基准上取得了最先进的性能,解决了基于Transformer的预测器的难点。

Transformer变体被提出用于时间序列预测,超越了同期TCN和基于RNN的预测。

现有的变体可分为四类:是否修改组件和架构,如图2所示。

第一类主要涉及组件调整,如注意力模块和长序列的复杂性优化。

第二类充分利用Transformer,关注时间序列的内在处理。

第三类在组件和架构两方面翻新Transformer,以捕捉跨时间和跨变量的依赖性。

与之前的工作不同,iTransformer没有修改Transformer的任何原生组件,而是采用反向维度上的组件,并改变其架构。

图2 基于 Transformer 的预测器按组件和架构修改进行分类

2  iTransformer

多元时间序列预测涉及历史观测值X和预测未来值Y。给定T个时间步长和N个变量,预测未来S个时间步长。数据集中变量可能存在系统时间滞后,且变量在物理测量和统计分布上可能不同。

2.1  结构概述

我们提出的iTransformer采用了Transformer的编码器架构,包括嵌入、投影和Transformer块,如图3所示。

图3 iTransformer的整体结构,与Transformer的编码器具有相同的模块化结构。(a)不同变量的原始序列被独立地嵌入为标记。(b)将自注意力应用于嵌入的变量标记,增强了可解释性,揭示了多变量相关性。(c)通过共享的前馈网络提取每个标记的序列表示。(d)采用层归一化来减少变量之间的差异。

将整个序列作为标记。在iTransformer中,基于回望序列X:,n预测每个特定变量ˆY:,n的未来序列的过程简单地表示如下:




其中H={h1, · · · , hN }∈RN×D包含N个维度为D的嵌入表征,上标表示层索引。嵌入:RT7→ RD 和投影:RD7→ RS 均由多层感知器(MLP)实现。变量表征通过自注意力交互,并在每个TrmBlock中由共享的前馈网络独立处理,不再需要位置嵌入。

iTransformers。该架构灵活地使用注意力机制,允许多元相关性,并可降低复杂性。一系列高效的注意力机制可以作为插件,令牌数量可在训练和推理之间变化,模型可在任意数量的变量上进行训练。反向Transformer,命名为iTransformers,在时间序列预测方面具有优势。

2.2  倒置Transformer模块分析 

我们组织了由层归一化、前馈网络和自注意力模块组成的 L 块的堆栈。

层归一化(Layer normalization)

层归一化最初用于提高深度网络收敛性和稳定性,在Transformer预测器中,对同一时间戳的多变量表示进行归一化。反向版本中,归一化应用于单个变量的序列表示(如公式2),有效处理非平稳问题。所有序列标记归一化为高斯分布,减少不一致测量导致的差异。之前的架构中,时间步的不同标记将被归一化,导致时间序列过度平滑。

前馈网络(Feed-forward network)

Transformer 使用前馈网络 (FFN) 作为编码标记表示的基本构建块,对每个标记应用相同的前馈网络。在反向版本中,FFN 用于每个变量标记的序列表示,通过堆叠反向块,它们致力于编码观测到的时序,并使用密集的非线性连接解码未来序列的表示。堆叠反向块可以提取复杂的表示来描述时间序列,并使用密集的非线性连接解码未来序列的表示。实验表明,分工有助于享受线性层在性能和泛化能力方面的好处。

自注意力(Self-attention)

逆模型将时间序列视为独立过程,通过自注意力模块全面提取时间序列表示,采用线性投影获取查询、键和值,计算前Softmax分数,揭示变量之间的相关性,为多元序列预测提供更自然和可解释的机制。

3  实验

我们全面评估了iTransformer在时间序列预测应用中的性能,验证了其通用性,并探讨了Transformer组件在时间序列反向维度的应用效果。

在实验中,我们使用了7个真实数据集,包括ECL、ETT、Exchange、Traffic、Weather、太阳能和PEMS,以及Market数据集。我们始终优于其他基线。附录A.1提供了详细的数据集描述。

3.1  预测结果

本文进行了广泛的实验,评估提出的模型与先进深度预测器的预测性能。选择10个广为人知的预测模型作为基准,包括基于Transformer、线性和TCN的方法。

表1 预测长度S ∈ {12, 24, 36, 48}的PEMS和S ∈ {96, 192, 336, 720}的其他预测的多元预测结果,固定回溯长度T = 96。结果来自所有预测长度的平均值。Avg表示进一步按子集平均。完整结果列于附录F.4

结果显示,iTransformer模型在预测高维时间序列方面表现最佳,优于其他预测器。PatchTST在某些情况下失败,可能是因为其修补机制无法处理快速波动。相比之下,iTransformer将整个序列变化聚合为序列表示,可以更好地应对这种情况。Crossformer的性能仍然低于iTransformer,表明来自不同多元的时间不一致的补丁的相互作用会给预测带来不必要的噪声。因此,原生的Transformer组件能够胜任时间建模和多元相关,而提出的反向架构可以有效地处理现实世界的时间序列预测场景。

3.2  iTransformer框架通用性

本节应用框架评估了Transformer变体,如Reformer、Informer、Flowformer和FlashAttention,以提高预测器性能,提高效率,泛化未知变量,更好地利用历史观测。

可以提升预测效果!

该框架在Transformer上实现了平均38.9%的提升,在Reformer上实现了36.1%的提升,在Informer上实现了28.5%的提升,在Flowformer上实现了16.8%的提升,在Flashformer上实现了32.2%的提升。由于引入了高效的线性复杂度注意力,iTransformer解决了大量变量导致的计算问题。因此,iTransformer的思想可以在基于Transformer的预测器上广泛实践。

表2 我们的倒置框架所获得的性能提升。Flashformer是指配备硬件加速FlashAttention的Transformer。我们报告了平均性能和相对MSE降低(提升)。完整结果见附录F.2


能泛化未知变量!

iTransformer模型通过反转常规变换器,在不可见变量上具有泛化能力。输入标记数量灵活,变量通道数量不受限制。前馈网络独立应用于变量标记,学习共享和转移的时间序列模式。与通道独立性策略相比,iTransformer直接预测所有变量,性能通常较小,表明FFN能够学习可转移的时间序列表示,如图4所示。这为在iTransformer的基础上构建基础模型提供了潜在方向。

图4 在不可见变量上的泛化性能。我们将每个数据集的变量分为五个文件夹,用20%的变量训练模型,并使用部分训练的模型预测所有变量。iTransformers可以高效地训练并具有良好的泛化能力。

可以使用更长的历史观测!

预测性能不一定随Transformers回溯长度增加而提高,可能是因为注意力分散。然而,线性预测理论上得到了统计方法的支持,并利用了扩大的历史信息。我们在图5中评估了Transformers和iTransformer在增加回溯长度情况下的性能,发现利用MLP在时间维度上更合理,使得Transformers可以从扩展的回溯窗口中受益,进行更精确的预测。

图5 在回溯长度T ∈ {48, 96, 192, 336, 720}和固定预测长度S = 96的情况下预测性能。虽然基于Transformer的预测器的性能不一定受益于增加的回溯长度,但反向框架使普通Transformer及其变体在扩大的回溯窗口上具有更高的性能。

3.3 模型分析

消融研究。为验证Transformers组件的合理性,进行了消融实验,包括更换组件(Replace)和移除组件(w/o)实验。结果如表3显示,iTransformer性能最佳,普通Transformer性能最差,揭示了传统架构的潜在风险。

表3 在iTransformer上进行消融。除了删除组件外,我们还替换各个维度上的不同组件,以学习多元相关性(变量)和序列表示(时间)。此处列出了所有预测长度的平均结果。


分析序列表示。为验证前馈网络有利于提取序列表示,我们根据CKA相似性进行了表示分析。结果显示,iTransformers通过反转维度学习到更合适的序列表示,实现了更准确的预测,如图6。这表明反转Transformer值得对预测主干进行根本性改造。

图6 系列表示和多元相关性的分析。左图:比较Transformer和iTransformer之间的表示的均方误差(MSE)和CKA相似性。较高的CKA相似性表明更有利于准确预测的表示。右图:原始时间序列和倒转自我关注学习得出的分数映射的多元相关性的实例可视化。

多元相关性分析。通过分配多元相关性责任给注意力机制,学习到的映射具有增强的可解释性。如图6太阳能案例中,浅层注意力层与原始输入序列相关性相似,深层则与未来序列相关性相似,验证了反向操作可提供可解释的注意力。

高效的训练策略。本文提出了一种新的训练策略,通过利用先前证明的变量生成能力来训练高维多元序列。具体来说,在每个批中随机选择部分变量,只使用选定的变量训练模型。由于我们的反演,变量通道的数量是灵活的,因此模型可以预测所有变量进行预测。如图7所示,我们提出的策略的性能仍然与全变量训练相当,同时内存占用可以显著减少。

图7 高效训练策略分析。虽然性能(左)在每批不同采样比的部分训练变量上保持稳定,但内存占用(右)可以大大减少。附录D中提供了全面的模型效率分析。

参考资料:《 ITRANSFORMER: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING》
代码:http://github.com/thuml/iTransformer

编辑:黄继彦

浏览 20
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报