目录:
- 1、引言
- ---1.1 问题背景
- ---1.2 设计思路
- 2、相关工作
- ---2.1 Transformer系预测模型
- ---2.2 多变量时序数据的词构建
- 3、iTransformer
- ---3.1 模型结构
- ---3.2 以变量为主体的特征表示
- ---3.3 模块分析
- 4、实验分析
- ---4.1 时序预测
- ---4.2 框架能力
1、引言
近年来,Transformer在自然语言以及计算机视觉领域取得了长足的发展,逐渐成为深度学习的基础模型。在时序分析领域,受益于其强大的序列建模能力与可扩展性,Transformer广泛应用于时序预测,派生出了许多模型改进。
然而,受传统机器学习方法启发,近期涌现的线性预测模型,比起相对更复杂的Transformer及其变体,能够取得相当甚至更好的效果。由此,针对Transformer是否适合时序预测,引发了热烈讨论。
本文提出的 iTransformer,考虑多维时间序列的数据特性,未修改任何Transformer模块,而是打破常规模型结构,在复杂时序预测任务中取得了全面领先,试图解决Transformer建模时序数据的痛点。
1.1 问题背景
现实世界的时序数据往往是多维的,除了时间维之外,还包括变量维度。
通过分析大量预测场景,我们认为在多变量时间序列上,Transformer的建模能力没有得到充分发挥。多变量时序数据非常广泛,每个变量代表一条独立记录的序列,
- 可以是不同的物理量,例如气象预报中的风速,温度,气压等指标;
- 也可以是不同的主体,例如工厂的不同设备,各个国家的汇率等。
因此,变量之间一般具有不同的含义,即使相同,其测量单位以及数据分布也可能存在差异。
然而,现有模型没有充分考虑上述变量差异。基于Transformer的建模单位——词(Token),为了构建时序数据的词,以往方法将所有变量在同一时刻的时间点表示为一个词(Temporal Token),但由于其过小的感受野和变量间内生滞后期,这类词较难揭示足够丰富的语义甚至包含噪声干扰,限制了注意力机制建模词之间关系。另外,来自不同变量的时间点被映射到词表示后,原本独立的变量被杂糅为多维特征,使模型无法显式区分并捕捉变量间关联。这种方式可能会存在如下问题:
1.2 设计思路
不同于自然语言中的每个词(Token)具有较强的独立语义信息,在同为序列的时序数据上,现有Transformer视角下看到的每个「词」(Temporal Token)往往缺乏语义性,并且面临时间戳非对齐与感受野过小等问题。
也就是说,传统Transformer的在时间序列上的建模能力被极大程度地弱化了。为此,作者提出了一种全新的倒置(Inverted)视角。
Inverted Transformer:无需修改任何模块,倒置建模多变量时间序列。
- 通过倒置Transformer原本的模块,iTransformer先将同一变量的整条序列映射成高维特征表示(Variate Token),得到的特征向量以变量为描述的主体,独立地刻画了其反映的历史过程。
- 此后,注意力模块可天然地建模变量之间的相关性(Mulitivariate Correlation),前馈网络则在时间维上逐层编码历史观测的特征,并且将学到的特征映射为未来的预测结果。
- 相比之下,以往没有在时序数据上深入探究的层归一化(LayerNorm),也将在消除变量之间分布差异上发挥至关重要的作用。
我们将变量的整条序列独立地映射为词(Variate Token)。以变量为主体,通过注意力机制自然地挖掘以词为单位的多变量关联。此外,Transformer的前馈网络和层归一化互相配合,消弭变量测量单位之间的范围差异,学习适合于时序预测的序列特征。
2、相关工作
2.1 Transformer系预测模型
我们回顾以往Transformer预测模型,如下图:
归纳为如下几种结构设计策略:
- 模块修改:主要为针对长序列的高效注意力模块,例如Informer,Autoformer。
- 模块与结构修改:明确了时序依赖和变量相关建模的重要性,例如Crossformer使用两个注意力模块分别进行建模
- 无修改:注重时序数据的固有处理,例如Non-stationary Transformer的平稳化、PatchTST的分块(Patching),一般能带来通用的性能提升
相比之下,我们未修改任何原生模块,而是将各模块作用于相反维度,同时建模时序和变量关联,更关注对多变量时序数据的结构适配。
2.2 多变量时序数据的词构建
不同于自然语言拥有天然的分词方式,基于Transformer进行时序分析,我们重新考虑词的构建方式:
- Temporal Token: 以往模型的主流做法,将所有变量同一时刻的时间点表示为词,获得以时间点为单位的词序列。
- Patch Token:在时间维度上对序列进行分块,扩大的感受野包含局部序列变化,从而获得语义性更强的词。
相比之下,我们着眼于变量的整体性,提出 Variate Token,关注以变量为主体的关联建模,适合变量数较多且互相关联的多维时序数据。
3、iTransformer
3.1 模型结构
iTransformer基于仅编码器(Encoder-only)结构,包括嵌入层(Embedding),映射层(Projector)和若干Transformer模块(TrmBlock),可堆叠深度来建模多变量时序数据。
3.2 以变量为主体的特征表示
3.3 模块分析
我们重新审视了各模块在倒置维度上的职责。
(1) 层归一化:层归一化的提出最初是为了提高深度网络的训练的稳定性与收敛性。
在此前Transformer中,层归一化将同一时刻的的多个变量进行归一化,使每个变量杂糅无法区分,提高了注意力建模词关联的难度。一旦收集到的数据没有按时间对齐,该操作还将引入延迟过程之间的噪声干扰。
-
在倒置版本中,层归一化作用于Variate Token内部,让所有变量的特征都处于相对统一的分布下,减弱测量单位的差异。这种方式还可以有效处理时间序列的非平稳问题问题。
- 此外,由于所有变量的特征表示都被归一化到正态分布,由变量取值范围不同造成的差异可以减弱。
- 相反,在此前的结构中,所有时间戳的特征表示(Temporal Token)将被统一标准化,导致模型实际看到的是过平滑的时间序列。
(2) 前馈网络:Transformer利用前馈网络编码词向量
此前模型中形成「词」向量的是同一时间采集的多个变量,他们的生成时间可能并不一致,并且反映一个时间步的「词」很难提供足够的语义。
- 在倒置版本中,形成「词」向量的是同一变量的整条序列,基于多层感知机的万能表示定理,其具备足够大的模型容量来提取在历史观测和未来预测中共享的时间特征,并使用特征外推为预测结果。
- 另一个使用前馈网络建模时间维的依据来自最近的研究,研究发现线性层擅长学习任何时间序列都具备的时间特征。
- 对此,作者提出了一种合理的解释:线性层的神经元可以学习到如何提取任意时间序列的内在属性,如幅值,周期性,甚至频率谱(傅立叶变换实质是在原始序列上的全连接映射)。
- 因此相较以往Transformer使用注意力机制建模时序依赖的做法,使用前馈网络更有可能完成在未见过的序列上的泛化。
基于多层感知机的万能表示定理,前馈网络作用在整条序列上,能够提取序列的内在属性,例如幅值,周期性,频率谱(傅立叶变换可视作在序列上的全连接映射),从而提高在其他的序列上的泛化性。
(3) 自注意力:自注意力模块在该模型中用于建模不同变量的相关性,这种相关性在有物理知识驱动的复杂预测场景中(例如气象预报)是极其重要的。
注意力机制建模了不同词之间的关联,通过分析注意力图的每个位置的计算公式:
其中 对应任意两个变量的Query和Key向量,作者认为整个注意力图可以在一定程度上揭示变量的相关性,并且在后续基于注意力图的加权操作中,高度相关的变量将在与其Value向量的交互中获得更大的权重,因此这种设计对多维时序数据建模更为自然和可解释。
综上所述,在 iTransformer中,层归一化,前馈网络以及自注意力模块考虑了多维时序数据本身的特点,三者系统性互相配合,适应不同维度的建模需求,起到1+1+1 > 3的效果。
4、实验分析
iTransformer在多维时序预测基准上进行了实验,并部署在蚂蚁集团的线上服务负载预测场景,涵盖19个数据集,76种不同的预测设置。
我们对比了10种深度预测模型,包含领域代表性
- Transformer模型:PatchTST(2023)、Crossformer(2023)、FEDformer(2022)、Stationary(2022)、Autoformer(2021);
- 线性预测模型:TiDE(2023)、DLinear(2023)、RLinear(2023);
- TCN系模型:TimesNet(2023)、SCINet(2022)。
4.1 时序预测
相较以往测试基准汇报模型在不同输入长度下调优后的效果,我们使用统一的输入长度,一方面避免过度调参,另一方面契合真实预测场景。
如下表所示,iTransformer在基准比较中显著超过此前领域最优效果。此前受到质疑的Transformer,只需简单倒置,就能在多变量时序预测中超越目前主流预测模型。
在蚂蚁集团提供的服务负载数据集上,由于较多变量数(>300)以及复杂变量关联,我们相较其他模型取得了大幅领先,验证了模型针对多变量时序数据建模的有效性,为模型的落地提供了基础。
4.2 框架能力
我们将其他Transformer变体模型进行同样的倒置,证明倒置是符合建模多变量时序数据的通用框架。
- 提升预测效果:在预测效果上,每个模型相较倒置前均取得了大幅度的提升,也证明iTransformer可以受益于高效注意力组件的相关研究。
- 受益于变长观测:以往Transformer模型的效果不一定随着输入的历史观测的变长而提升,在使用倒置框架后,模型随着历史观测长度的增加,呈现明显的预测误差降低趋势。
- 泛化到未知变量:通过倒置,模型在推理时可以输入不同于训练时的变量数,结果表明该框架在仅使用部分变量训练时能够取得较低的误差,证明证明倒置结构在变量特征学习上的泛化性。
参考资料
- ICLR2024 Spotlight | iTransformer: 倒置Transformer,刷新时序预测新纪录
- Transformer王者归来!无需修改任何模块,时序预测全面领先
- https://github.com/thuml/Time-series-Library