Pathformer: multi-scale transformer

文章目录

摘要

用于时间序列预测的变压器模型主要针对有限或固定尺度的时间序列进行建模,这使得捕捉跨越不同尺度的特征变得具有挑战性。我们提出了Pathformer,一种具有自适应路径的多尺度变压器。它结合了时间分辨率和时间距离以实现多尺度建模。多尺度划分将时间序列划分为不同时间分辨率的多个大小不一的块。基于每个尺度的划分,通过这些块执行双重注意力机制以捕捉全局相关性和局部细节作为时间依赖性。我们进一步通过自适应路径丰富多尺度变压器,自适应地根据输入的变化时间动态调整多尺度建模过程,从而提高Pathformer的准确性和泛化能力。对11个真实世界数据集的广泛实验表明,Pathformer不仅在性能上超越了所有现有模型,还在不同的迁移场景下表现出更强的泛化能力。代码已开放,详见:https://github.com/decisionintelligence/pathformer。


图1

左图:时间序列被划分为不同大小的块,称为时间分辨率。蓝色、橙色和红色的间隔代表不同的块大小。

右图:局部细节(黑色箭头)和全局相关性(彩色箭头)通过不同的时间距离进行建模。

1 引言

时间序列预测是能源、金融、交通、物流和云计算等多个行业的重要功能(Chen et al., 2012; Cirstea et al., 2022b; Ma et al., 2014; Zhu et al., 2023; Pan et al., 2023; Pedersen et al., 2020),也是其他时间序列分析的基础构建模块,例如异常检测(Campos et al., 2022; Kieu et al., 2022b)。由于其在序列建模中的广泛应用及在计算机视觉和自然语言处理(CV和NLP)等领域的显著成功(Dosovitskiy et al., 2021; Brown et al., 2020),变压器模型(Transformer)在时间序列中也开始受到关注(Wen et al., 2023; Wu et al., 2021; Chen et al., 2022; Liu et al., 2022c)。尽管性能不断提升,近期研究开始通过提出更简单的线性模型来挑战现有变压器在时间序列预测中的设计,以期获得更好的性能(Zeng et al., 2023)。虽然变压器在时间序列预测中仍显示出很大潜力(Nie et al., 2023),但仍需更好的设计和适应性以充分发挥其潜力。

真实世界的时间序列在不同的时间尺度上表现出多样的变化和波动。例如,云计算中的CPU、GPU和内存资源的利用情况显示出跨越每日、每月和季节尺度的独特时间模式(Pan et al., 2023)。这需要多尺度建模(Mozer, 1991; Ferreira et al., 2006)用于时间序列预测,从不同的时间间隔中提取时间特征和依赖性。时间序列中的多尺度建模涉及两个方面:时间分辨率和时间距离。时间分辨率对应我们在建模时间序列中使用的时间尺度,并决定时间间隔的长度(图1中蓝色的细小块或黄色的大块),从而形成精细或粗糙的时间特征。时间距离则对应我们在时间建模中显式建模时间依赖性的方式,并确定用于时间建模的时间步长之间的距离。在图1中,黑色箭头建模了邻近时间步长之间的关系,形成局部细节,而彩色箭头则跨越较长时间范围建模时间步长,形成全局相关性。

为了进一步探索变压器在时间序列预测中提取相关性的能力,我们在本文中重点研究如何通过变压器架构增强多尺度建模。实现有效多尺度建模的两个主要挑战是:

  1. 多尺度建模的不完全性:从不同时间分辨率查看数据隐含地影响了后续建模过程的尺度(Shabani et al., 2023)。简单地改变时间分辨率不能显式和有效地强调各范围内的时间依赖性。而考虑不同时间距离则使得可以在不同范围内(如全局和局部相关性)建模依赖性(Li et al., 2019)。然而,全局和局部间隔的精确时间距离受数据划分的影响,而数据划分仅来自单一时间分辨率视角。
  2. 固定多尺度建模过程:尽管多尺度建模使得对时间序列的理解更加完整,不同的时间序列根据其特定的时间特征和动态偏好不同的尺度。例如,图1中的两个序列比较,以上的序列表现出快速波动,这可能意味着更多关注精细和短期特征。而下方的序列则可能需要更多关注粗略和长期建模。固定的多尺度建模掌握各时间序列的关键部分并在数据集或每个时间序列中找到最佳尺度耗时或难以操作。

为解决这两个挑战,我们提出了自适应多尺度建模(adaptive multi-scale modeling),它自适应地从特定多尺度中提取数据特征。

贡献

通过对多尺度建模的上述理解,我们提出了用于时间序列预测的具有自适应路径的多尺度变压器(Pathformer)。为了实现更完整的多尺度建模能力,我们提出了一种统一多尺度时间分辨率和时间距离的多尺度变压器模块。多尺度划分旨在将时间序列划分为不同大小的块,形成不同时间分辨率的视图。基于每个分块大小,提出了涵盖跨块和块内注意力的双重注意力机制,以捕捉时间依赖性,块间注意力捕捉全局相关性,块内注意力捕捉单个块内的局部细节。我们进一步提出自适应路径以激活多尺度建模能力并赋予其自适应建模特性。在模型的每一层,自适应选择特定块划分大小并根据输入数据的时间动态控制多尺度特性的提取。我们为路由器配备趋势和季节性分解以增强其对时间动态的掌握。路由器与聚合器协同工作,以加权聚合方式自适应地结合多尺度特性。通过逐层激活多尺度路径,实现在整个变压器中的多尺度建模。

据我们所知,这是首次将自适应多尺度建模引入时间序列预测。具体来说,我们的贡献包括:

  • 我们提出了一种多尺度变压器架构。它结合了时间分辨率和时间距离的两个方面,赋予模型更完整的多尺度时间序列建模能力。
  • 我们进一步提出了具有自适应路径的多尺度变压器。多尺度路由器通过时间分解与聚合器协同工作,根据输入数据的时间动态自适应提取和聚合多尺度特性,实现时间序列的自适应多尺度建模。
  • 我们在不同真实世界数据集上进行了广泛实验,并取得了最先进的预测精度。此外,我们在数据集间进行迁移学习实验,以验证模型的强泛化能力。

2 相关工作

时间序列预测

时间序列预测基于历史观察预测未来观测值。基于指数平滑及其不同变种的统计建模方法作为时间序列预测的可靠工具(Hyndman & Khandakar, 2008; Li et al., 2022a)。在深度学习方法中,GNNs(图神经网络)模型用于相关时间序列预测中的空间依赖性建模(Jin et al., 2023a; Wu et al., 2020; Zhao et al., 2024; Cheng et al., 2024; Miao et al., 2024; Cirstea et al., 2021)。RNNs(循环神经网络)则建模时间依赖性(Chung et al., 2014; Kieu et al., 2022a; Wen et al., 2017; Cirstea et al., 2019)。DeepAR(Rangapuram et al., 2018)使用RNNs和自回归方法预测未来短期序列。CNN(卷积神经网络)模型使用时间卷积来提取子序列特征(Sen et al., 2019; Liu et al., 2022a; Wang et al., 2023)。TimesNet(Wu et al., 2023a)将原始的一维时间序列转换为二维空间,并通过卷积捕捉多周期特征。基于LLM(大语言模型)的方法在该领域也表现出有效性(Jin et al., 2023b; Zhou et al., 2023)。此外,有些方法结合神经架构搜索来发现最佳架构(Wu et al., 2022; 2023b)。

最近,变压器模型在时间序列预测中受到关注(Wen et al., 2023)。Informer(Zhou et al., 2021)提出了概率稀疏自注意力机制以选择重要的键。Triformer(Cirstea et al., 2022a)采用三角架构,旨在降低复杂性。Autoformer(Wu et al., 2021)提出了自相关机制以取代自注意力来建模时间动态。FEDformer(Zhou et al., 2022)利用傅里叶变换从频率的角度建模时间动态。然而,研究者们对变压器在时间序列预测中的有效性表示担忧,认为简单的线性模型可能更有效,甚至优于之前的变压器(Li et al., 2022a; Challu et al., 2023; Zeng et al., 2023)。与此同时,PatchTST(Nie et al., 2023)采用分块和通道独立性,通过变压器有效提升性能,显示出变压器架构在适应时间序列预测中的潜力。

时间序列的多尺度建模

对多尺度特性的建模在计算机视觉(Wang et al., 2021; Li et al., 2022b; Wang et al., 2022b)和多模态学习(Hu et al., 2020; Wang et al., 2022a)等领域中证明了其在相关性学习和特征提取中的有效性,这在时间序列预测中相对较少被探索。N-HiTS(Challu et al., 2023)采用多速率数据采样和分层插值来建模不同分辨率的特征。Pyraformer(Liu et al., 2022b)引入金字塔注意力以提取不同时间分辨率的特征。Scaleformer(Shabani et al., 2023)提出了多尺度框架,需要在不同时间分辨率下分配预测模型,这增加了模型复杂性。与这些方法不同的是,这些方法使用固定尺度,不能自适应地根据不同时间序列变化多尺度建模,我们提出了具有自适应路径的多尺度变压器,自适应地根据不同时间动态建模多尺度特性。


图2

Pathformer的架构。多尺度变压器块(MST Block)包括具有多种分块大小和双重注意力的分块。自适应路径选择由路由器生成的权重前K大的分块大小以捕捉多尺度特性,选择的分块大小以蓝色表示。然后,聚合器对从MST块中获得的特性进行加权聚合。

图3

(a) 多尺度变压器块的结构,主要包括分块、跨块注意力和块内注意力。

(b) 多尺度路由器的结构。

3 方法论

为了有效捕捉多尺度特性,我们提出了具有自适应路径的多尺度变压器(命名为Pathformer)。如图2所示,整个预测网络由实例归一化、堆叠的自适应多尺度块(AMS Blocks)和预测器组成。实例归一化(Kim et al., 2022)是一种归一化技术,用于解决训练数据和测试数据之间的分布变化。预测器是一个全连接的神经网络,由于其在长序列预测中的适用性而被提出(Zeng et al., 2023; Das et al., 2023)。

我们的设计核心是AMS块,用于自适应建模多尺度特性,包括多尺度变压器块和自适应路径。受变压器中分块注意力思想的启发(Nie et al., 2023),多尺度变压器块通过引入多尺度时间分辨率和时间距离,结合多种分块大小和双重注意力机制,在分块上执行双重注意力,从而赋予模型全面建模多尺度特性的能力。基于变压器块中的多种多尺度建模选项,自适应路径利用多尺度建模能力并赋予其自适应建模特性。多尺度路由器根据输入数据选择特定的分块大小,并在变压器中执行随后的双重注意力,从而控制多尺度特性的提取。路由器与聚合器协同工作,通过加权聚合结合这些多尺度特性。逐层的路由和聚合构成了贯穿变压器块的自适应路径。在接下来的部分中,我们将详细描述AMS块中的多尺度变压器块和自适应路径。

3.1 多尺度变压器块

多尺度划分

为简化符号表示,我们使用单变量时间序列进行描述,并且该方法可以轻松扩展到多变量情况,通过分别考虑每个变量来进行扩展。在多尺度变压器块中,我们定义了一组大小为 S = { S 1 , . . . , S M } S=\{S_1, ..., S_M\} S={S1,...,SM}的分块尺寸集合,每个分块尺寸 S S S对应一个分块操作。对于输入时间序列 X ∈ R H × d X \in \mathbb{R}^{H \times d} X∈RH×d,其中 H H H表示时间序列的长度, d d d表示特征的维度,每个分块操作将尺寸为 S S S的分块 X X X分为 P P P个分块( P = H S P = \frac{H}{S} P=SH),如 ( X 1 , X 2 , . . . , X P ) (X^1, X^2, ..., X^P) (X1,X2,...,XP),每个分块 X i ∈ R S × d X^i \in \mathbb{R}^{S \times d} Xi∈RS×d包含 S S S个时间步。集合中的不同分块尺寸导致不同尺度的分块,并为输入序列提供不同时间分辨率的视图。这种多尺度划分与后面描述的双重注意力机制配合,用于多尺度建模。

双重注意力

基于每个尺度的分块划分,我们提出了双重注意力机制,以在划分的分块上建模时间依赖性。为了从不同时间距离上捕捉时间依赖性,我们利用分块划分作为不同时间距离的指导,双重注意力机制包括块内注意力和跨块注意力,如图3(a)所示。

考虑一组大小为 S S S的分块 ( X 1 , X 2 , . . . , X P ) (X^1, X^2, ..., X^P) (X1,X2,...,XP),块内注意力建立每个分块内时间步之间的关系。对于第 i i i个分块 X i ∈ R S × d X^i \in \mathbb{R}^{S \times d} Xi∈RS×d,首先沿特征维度对分块进行嵌入得到 X i n t r a i ∈ R S × d m X^i_{intra} \in \mathbb{R}^{S \times d_m} Xintrai∈RS×dm,其中 d m d_m dm表示嵌入的维度。然后对 X i n t r a i X^i_{intra} Xintrai进行可训练的线性变换以获得注意力操作中的键和值,分别表示为 K i n t r a i , V i n t r a i ∈ R S × d m K^i_{intra}, V^i_{intra} \in \mathbb{R}^{S \times d_m} Kintrai,Vintrai∈RS×dm。我们使用可训练的查询矩阵 Q i n t r a i ∈ R 1 × d m Q^i_{intra} \in \mathbb{R}^{1 \times d_m} Qintrai∈R1×dm来融合分块的上下文,并随后计算 i i i个分块内局部细节的交叉注意力:

Attn i n t r a i = Softmax ( Q i n t r a i ( K i n t r a i ) T / d m ) V i n t r a i \text{Attn}^i_{intra} = \text{Softmax}\left(Q^i_{intra} (K^i_{intra})^T / \sqrt{d_m}\right) V^i_{intra} Attnintrai=Softmax(Qintrai(Kintrai)T/dm )Vintrai

块内注意力之后,每个分块从其原始输入长度 S S S转换为1。所有分块的注意力结果被连接以产生分块的块内注意力输出:

Attn i n t r a = Concat ( Attn i n t r a 1 , . . . , Attn i n t r a P ) \text{Attn}{intra} = \text{Concat}(\text{Attn}^1{intra}, ..., \text{Attn}^P_{intra}) Attnintra=Concat(Attnintra1,...,AttnintraP)

跨块注意力在分块之间建立关系以捕捉全局相关性。对于分块后的时间序列 X ∈ R P × S × d X \in \mathbb{R}^{P \times S \times d} X∈RP×S×d,首先在特征维度上进行嵌入,然后重新排列数据以结合分块数量 S S S和特征嵌入 d m d_m dm的两个维度,结果为 X i n t e r ∈ R P × S × d m X_{inter} \in \mathbb{R}^{P \times S \times d_m} Xinter∈RP×S×dm。经过这种嵌入和重新排列过程,同一分块内的时间步被组合,从而我们在 X i n t e r X_{inter} Xinter上执行自注意力以建模分块间的相关性。遵循标准自注意力协议,通过线性映射获得查询、键和值:

Q i n t e r , K i n t e r , V i n t e r ∈ R P × d m Q_{inter}, K_{inter}, V_{inter} \in \mathbb{R}^{P \times d_m} Qinter,Kinter,Vinter∈RP×dm

然后计算注意力 Attn i n t e r \text{Attn}_{inter} Attninter,其涉及分块之间的交互并表示时间序列的全局相关性:

Attn i n t e r = Softmax ( Q i n t e r ( K i n t e r ) T / d m ′ ) V i n t e r \text{Attn}{inter} = \text{Softmax}\left(Q{inter} (K_{inter})^T / \sqrt{d'm}\right) V{inter} Attninter=Softmax(Qinter(Kinter)T/dm′ )Vinter

为了融合双重注意力捕捉的全局相关性和局部细节,我们将块内注意力的输出重新排列为 Attn i n t r a ∈ R P × S × d m \text{Attn}{intra} \in \mathbb{R}^{P \times S \times d_m} Attnintra∈RP×S×dm,在块大小维度上进行线性变换,然后将其与跨块注意力 Attn i n t e r ∈ R P × S × d m \text{Attn}{inter} \in \mathbb{R}^{P \times S \times d_m} Attninter∈RP×S×dm结合,以获得双重注意力的最终输出:

Attn ∈ R P × S × d m \text{Attn} \in \mathbb{R}^{P \times S \times d_m} Attn∈RP×S×dm

总体而言,多尺度划分提供了不同大小分块的时间序列视图,变化的分块大小进一步影响双重注意力,通过分块划分指导,从不同距离建模时间依赖性。这两个组件共同作用,使得变压器能够进行多尺度时间建模。

3.2 自适应路径

多尺度变压器块的设计为模型提供了多尺度建模的能力。然而,不同的序列可能偏好不同的尺度,取决于它们的具体时间特征和动态。简单地应用更多的尺度可能会带来冗余或无用的信号,手动调整数据集或每个时间序列的最佳尺度既耗时又难以处理。理想的模型需要基于输入数据找出这些关键尺度,以便更有效的建模和更好地泛化未见数据。

我们使用路径和专家混合模型(Mixture of Experts)来实现自适应建模(Dean, 2021; Shazeer et al., 2016)。基于这些概念,我们提出了基于多尺度变压器的自适应路径来实现自适应多尺度建模,如图2所示。它包含两个主要组件:多尺度路由器和多尺度聚合器。多尺度路由器基于输入数据选择特定的分块尺寸,激活变压器中特定的部分,并控制多尺度特性的提取。路由器与多尺度聚合器协同工作,通过加权聚合将这些特性结合在一起,得到变压器块的输出。

多尺度路由器

多尺度路由器在多尺度变压器中实现数据自适应路由,选择分块的最佳尺寸,从而控制多尺度建模过程。由于每个时间序列的最佳或关键尺度可能受其复杂的内在特征和动态模式(如周期性和趋势)的影响,我们在路由器中引入了一个时间分解模块,包括季节性和趋势分解,以提取周期性和趋势模式,如图3(b)所示。

季节性分解涉及将时间序列从时间域变换到频率域以提取周期模式。我们利用离散傅里叶变换(DFT)(Cooley & Tukey, 1965)来将输入 X X X分解到傅里叶基底,并选择具有最大幅度的 K f K_f Kf基底以保持频率域的稀疏性。然后,通过逆傅里叶变换得到周期模式 X s e a X_{sea} Xsea,表示为IDFT(·)。过程如下:

X s e a = IDFT ( { f K f } , A , Φ ) X_{sea} = \text{IDFT}(\{f_{K_f}\}, A, \Phi) Xsea=IDFT({fKf},A,Φ)

其中, Φ \Phi Φ和 A A A分别表示DFT(X)中每个频率的相位和幅度, { f K f } \{f_{K_f}\} {fKf}表示具有最大 K f K_f Kf幅度的频率。趋势分解使用不同的核进行平均池化以提取剩余部分的趋势模式:

X t r e n d = Softmax ( L ( X r e m ) ) ⋅ ( Avgpool ( X r e m ) k e r n e l 1 , . . . , Avgpool ( X r e m ) k e r n e l N ) X_{trend} = \text{Softmax}(L(X_{rem})) \cdot (\text{Avgpool}(X_{rem}){kernel_1}, ..., \text{Avgpool}(X{rem})_{kernel_N}) Xtrend=Softmax(L(Xrem))⋅(Avgpool(Xrem)kernel1,...,Avgpool(Xrem)kernelN)

其中,Avgpool(·){kernel_i}是具有第i个核的池化函数,N表示核的数量,Softmax(L(·))控制来自不同核的结果的权重。我们将季节性模式和趋势模式添加到原始输入 X X X中,然后执行线性映射Linear(·)以沿时间维度转换并合并它们,得到 X t r a n s ∈ R d X{trans} \in \mathbb{R}^d Xtrans∈Rd。

基于时间分解结果 X t r a n s X_{trans} Xtrans,路由器采用路由函数生成路径权重,确定选择当前数据的分块尺寸。为了避免一致性地选择少量分块尺寸导致重复地选择对应尺度而忽略其他潜在有用尺度,我们引入噪声项在权重生成过程中增加随机性。生成路径权重的整个过程如下:

R ( X t r a n s ) = Softmax ( X t r a n s W r + ϵ ⋅ Softplus ( X t r a n s W n o i s e ) ) , ϵ ∼ N ( 0 , 1 ) R(X_{trans}) = \text{Softmax}(X_{trans} W_r + \epsilon \cdot \text{Softplus}(X_{trans} W_{noise})), \epsilon \sim \mathcal{N}(0, 1) R(Xtrans)=Softmax(XtransWr+ϵ⋅Softplus(XtransWnoise)),ϵ∼N(0,1)

其中,R(·)表示整个路由函数, W r W_r Wr和 W n o i s e W_{noise} Wnoise是用于权重生成的可学习参数, d d d表示 X t r a n s X_{trans} Xtrans的特征维度, M M M表示分块尺寸的数量。为引入路由中的稀疏性并鼓励选择关键尺度,我们在路径权重上执行topK选择,保留前K个路径权重并将其余权重设为0,最终结果表示为 R ‾ ( X t r a n s ) \overline{R}(X_{trans}) R(Xtrans)。

多尺度聚合器

生成的路径权重 R ‾ ( X t r a n s ) \overline{R}(X_{trans}) R(Xtrans)的每个维度对应多尺度变压器中的分块尺寸,在 R ‾ ( X t r a n s ) i > 0 \overline{R}(X_{trans})i > 0 R(Xtrans)i>0时表示执行此尺寸的分块划分和双重注意力操作, R ‾ ( X t r a n s ) i = 0 \overline{R}(X{trans})i = 0 R(Xtrans)i=0表示忽略此分块尺寸。令 X o u t i X^i{out} Xouti表示多尺度变压器块中分块尺寸为 S i S_i Si的输出,由于不同分块尺寸产生的时间维度不同,聚合器首先执行转换函数 T i ( ⋅ ) T_i(·) Ti(⋅)以对齐不同尺度的时间维度,然后基于路径权重对多尺度输出进行加权聚合,得到AMS块的最终输出:

X o u t = ∑ i = 1 M I ( R ‾ ( X t r a n s ) i > 0 ) ⋅ R ‾ ( X t r a n s ) i T i ( X o u t i ) X_{out} = \sum_{i=1}^{M} I(\overline{R}(X_{trans})i > 0) \cdot \overline{R}(X{trans})i T_i(X^i{out}) Xout=i=1∑MI(R(Xtrans)i>0)⋅R(Xtrans)iTi(Xouti)

其中, I ( R ‾ ( X t r a n s ) i > 0 ) I(\overline{R}(X_{trans})i > 0) I(R(Xtrans)i>0)是指示函数,当 R ‾ ( X t r a n s ) i > 0 \overline{R}(X{trans})_i > 0 R(Xtrans)i>0时输出1,否则输出0,表示在聚合期间仅考虑或需要变压器的前K个分块尺寸及其对应输出。

相关推荐
是Dream呀26 分钟前
WHAT KAN I SAY?Kolmogorov-Arnold Network (KAN)网络结构介绍及实战(文末送书)
深度学习·神经网络·kan
湫ccc32 分钟前
《Opencv》基础操作详解(2)
人工智能·opencv·计算机视觉
羑悻的小杀马特32 分钟前
【AIGC篇】畅谈游戏开发设计中AIGC所发挥的不可或缺的作用
c++·人工智能·aigc·游戏开发
CES_Asia41 分钟前
国资助力科技创新,闪耀CES Asia 2025
人工智能·科技·智能手机·智能音箱·智能电视
eric-sjq1 小时前
基于xiaothink对Wanyv-50M模型进行c-eval评估
人工智能·python·语言模型·自然语言处理·github
是十一月末1 小时前
机器学习之KNN算法预测数据和数据可视化
人工智能·python·算法·机器学习·信息可视化
工业互联网专业1 小时前
基于OpenCV和Python的人脸识别系统_django
人工智能·python·opencv·django·毕业设计·源码·课程设计
ai产品老杨2 小时前
报警推送消息升级的名厨亮灶开源了。
vue.js·人工智能·安全·开源·音视频
智源研究院官方账号2 小时前
智源研究院与安谋科技达成战略合作,共建开源AI“芯”生态
人工智能·开源
积兆科技2 小时前
从汽车企业案例看仓网规划的关键步骤(视频版)
人工智能·算法·汽车·制造