penpen
发布于 2024-10-30 / 94 阅读
0
0

20240419-Pathformer

Title

PATHFORMER: MULTI-SCALE TRANSFORMERS WITH ADAPTIVE PATHWAYS FOR TIME SERIES FORECASTING
PATHFORMER:用于时间序列预测的 具有自适应路径的 多尺度TRANSFORMERS
#Transformer #多尺度 #多粒度
#ICLR #-2024
#Time-Series #Prediction

[!ZHIHU]
https://zhuanlan.zhihu.com/p/692139991


Abstract

现有的方法主要 从固定的尺度 进行时序建模,难以捕获跨域不同尺度的特征。
本文中,我们提出一个 基于Pathways架构的 自适应多尺度 Transformer模型(Pathformer),它从时间分辨率和时间距离角度 进行多尺度建模。
通过不同大小的patch划分时间序列得到不同的时间分辨率,然后基于每一个划分的尺度,双重注意力在这些patch上捕获局部细节和全局关联性。
我们进一步提出了自适应Pathways丰富了多尺度Transformer,模型能够针对输入时序的不同时间动态性自适应调整多尺度建模过程,提高了Pathformer的预测准确率和泛化能力。
实验表明,Pathformer在公开数据集和阿里云数据集上都取得了SOTA预测效果,并展现出不错的泛化性。


一、Introduction

现实场景中的时间序列在不同的时间尺度展现出不同的变化,如云计算场景中的CPU,GPU,内存等资源需求呈现出日、月、季节等独特尺度的时间模式。
多尺度建模主要从不同的尺度中提取时序特征和依赖关系,建模多尺度需要考虑两个方面:时间分辨率时间距离

  • 时间分辨率 指用于建模的每个时间片段的大小。 #多粒度
    • 如图中,相同的时序别划分为小的片段(蓝色)或大的片段(橙色),提出细粒度和粗粒度的时序特征。
  • 时间距离 对应于显示建模时间依赖性,决定用于时序建模时时间步之间的距离。 #多尺度
    • 如图中,黑色箭头模拟了相邻时间步之间的关系,提取时序的局部细节,而彩色箭头模拟了跨长距离的时间步之间的关系,提取时序的全局关联。

本文研究基于Transformer模型的多尺度建模,主要有两个挑战:

  1. 不完备的多尺度建模
    • 只针对 时间分辨率 不能有效地捕捉不同范围的时间依赖关系,
    • 相反,考虑时间距离 虽然能提取不同范围的时间依赖,但全局和局部间隔受到数据划分的影响,单一的时间分辨率并不完备。
  2. 固定地多尺度建模过程

如图所示,

  • 图左:时间序列被划分成不同大小的Patches作为时间分辨率。
  • 图右:局部细节(黑色箭头)和全局关联性(彩色箭头)通过不同的时间距离被建模。
    ![[20240419-Pathformer-1.png]]
    对比图中的两个时序,
  • 上面的时序展现快速的波动,可能需要更关注细粒度和短期特征。
  • 相反,下面的时序需要关注粗粒度和长期特征。
  • 因此对所有时序采用固定的多尺度建模阻碍了每个时序的重要特征捕捉,然而为每个数据集或每个时序手动调整最佳尺度非常耗时且难以处理。

针对这两个挑战,我们提出了一个基于Pathways架构的自适应多尺度Transformer模型(Pathformer)。

  • 针对挑战一,我们整合了 时间分辨率 和 时间距离 提出了一个多尺度Transfomer模块,主要包括 patch划分 和 双重注意力机制。

    • 使用不同大小的patch 进行多尺度划分,基于每个尺度得到的patch划分,
    • 使用双重注意力机制(patch内注意力和patch间注意力)建模时间依赖关系,通过patch内注意力捕捉局部细节,patch间注意力捕捉全局关联。
  • 针对挑战二,我们提出自适应pathways,激活Transformer的多尺度间建模能力。

    • 在模型的每一层,一个多尺度路由器根据输入时序的时间动态性自适应选择不同的patch大小进行划分,经过双重注意力进行建模,
    • 然后使用聚合器自适应聚合这些多尺度的特征。
    • 这种逐层地路由和聚合最终形成了自适应pathways的多尺度建模。具体的贡献如下:
  • 我们提出一个多尺度Transformer模型。它整合了时间分辨率和时间距离,使模型具备完备的多尺度建模能力。

  • 我们进一步提出自适应pathways架构的多尺度Transformer,包含了多尺度路由器和聚合器。多尺度路由器和聚合器基于输入时序的时间动态自适应提取和聚合多尺度特征,实现了自适应多尺度建模。

  • 我们在真实数据集上进行了大量实现,实现了SOTA预测效果,同时,模型在不同的场景下展现了好的迁移性。


二、RELATED WORK

Multi-scale Modeling for Time Series

在计算机视觉和多模式学习等领域,对多尺度特征建模被证明对相关性学习和特征提取是有效的,而这在时间序列预测中的探索相对较少。

  • N-HiTS(2023)采用多速率数据采样和分层插值来对不同分辨率的特征进行建模。
  • Pyraformer(2022)引入了金字塔注意力来提取不同时间分辨率的特征。
  • Scaleformer(2023)提出了一种多尺度框架,并且需要以不同的时间分辨率分配预测模型,这导致了更高的模型复杂性。
  • 与这些使用固定尺度且不能自适应地改变不同时间序列的多尺度建模的方法不同,我们提出了一种具有自适应路径的多尺度变换器,该变换器基于不同的时间动力学自适应地对多尺度特征进行建模。

三、METHODOLOGY

3.1、Framework

如图所示,Pathformer包含三部分:

  • 实例归一化
  • 自适应多尺度模块(AMS Block)
  • 预测器
    ![[20240419-Pathformer-2.png]]

我们设计的核心是 用于自适应建模多尺度特征的 AMS Block,它由多尺度Transformer和自适应Pathways组成。
受到patchTST的patching思想的启发,多尺度Transformer通过 引入多个不同大小的patch划分 并对其进行双重注意力,实现了多尺度时间分辨率和距离的综合建模,赋予模型完备的多尺度建模能力。
基于多尺度Transformer中多种尺度建模选择,自适应pathways利用多尺度建模能力,并赋予其自适应建模特性。
多尺度路由器(multi-scale router)根据输入数据选择特定大小的patch划分然后进入Transformer中的双重注意力,从而控制多尺度特征的提取。
路由器(router)与聚合器(aggregator)协同工作,通过加权聚合 自适应地组合这些多尺度特征。
逐层地路由和聚合 最终形成了自适应pathways的多尺度建模。
在接下来的部分中,我们详细描述了 多尺度Transformer块自适应pathways


3.2、MULTI-SCALE TRANSFORMER BLOCK

如图所示,

  • 左边为 多尺度Transformer模块的结构,主要包含Patch划分,patch内注意力,patch间注意力等。
  • 右边为 多尺度路由器的结构
    ![[20240419-Pathformer-3.png]]

Multi-scale Division

为了方便表示,我们以单变量进行描述。
在多尺度Transformer块中,
我们定义一个M个patch大小集合S = \{ S_1, \cdots , S_M \},每一个patch大小对应一个patch划分操作。
对于输入时序X \in \mathbb{R}^{(H \times d)}
X划分为P = H/S个patch (X^1 , X^2 , \cdots , X^P ),不同的patch大小得到不同时序的时间分辨率。
其中,H表示时间序列的长度,d表示特征的维度,每个补丁大小为S。


Dual Attention

基于每个尺度的patch划分,我们提出了双重注意力机制来建模不同范围的时间依赖。
如图所示,经过patch大小S划分得到的(X^1,X^2,\cdots,X^P)
patch内注意力(intra-patch attention)建模每个patch内部不同时间点之间的关联。
对于第i个patch X^i \in \mathbb{R}^{S \times d},对特征维度d进行embedding 得到X^i_{intra} \in \mathbb{R}^{S \times d_m},其中dm表示嵌入的维度。
然后我们对Xi帧进行可训练的线性变换,以获得注意力操作中的关键和值

然后进行线性映射得到 键矩阵值矩阵 K^i_{intra}, V^i_{intra} \in \mathbb{R}^{S \times d_m}
我们初始化一个可学习的 查询矩阵 Q^i_{intra} \in \mathbb{R}^{1×d_m}
然后对K^i_{intra}, V^i_{intra},Q^i_{intra}进行跨注意力计算来建模第i个patch内部局部细节。

\mbox{Attn}^i_{intra} = \mbox{Softmax}(Q^i_{intra} (K^i_{intra})^\top / \sqrt{d_m})V^i_{intra}

经过了patch内注意力机制,每个patch的长度从S转变为长度1。
将每个patch的得到的注意力结果进行合并,得到最终的结果\mbox{Attn}_{intra} \in \mathbb{R}^{P \times d_m}
其表示时间序列中附近时间步长的局部细节:
\mbox{Attn}_{intra} = \mbox{Concat}(\mbox{Attn}^1_{intra}, \cdots , \mbox{Attn}^P_{intra})

patch间注意力(inter-patch attention)建模不同patch之间的关系来捕获全局关联。
对划分后的时序 X \in \mathbb{R}^{P \times S \times d} 在特征维度上进行embedding。
根据标准的自注意力机制,通过线性映射得到 Q_{inter}, K_{inter}, V_{inter} \in \mathbb{R}^{P \times d'_m},计算出注意力结果 \mbox{Attn}_{inter},代表时序的全局关联。
\mbox{Attn}_{inter} = \mbox{Softmax}(Q_{inter}(K_{inter})^\top / q d'_m)V_{inter}


3.3、ADAPTIVE PATHWAYS

多尺度Transformer块的设计使模型拥有建模多尺度的能力,但是不同的时序偏好不同的尺度,这取决于它们不同的时间特征和动态性。
简单地采用更多的尺度可能会引入冗余或无用的信息,而手动调整数据集或每个时序的最佳尺度是很耗时且难以实现。
一个理想的模型需要根据输入数据寻找到关键的尺度,从而更有效地进行建模并泛化到未见的数据上。

为了实现自适应多尺度建模,我们基于多尺度Transformer提出了自适应Pathways。
如图所示,它包含了两个关键部分:多尺度路由器 和 聚合器。
![[20240419-Pathformer-9.png]]
多尺度路由器根据输入数据选择特定大小的patch进行划分,这激活了Transformer中特定部分,并控制多尺度特征的提取。
路由器和聚合器一起协同工作,通过加权聚合将这些特征组合起来得到Transformer块的输出。


多尺度路由器

多尺度路由器是一种数据自适应的路由,能根据输入的样本选择最优的patch大小进行多尺度建模。由于寻找时序的最优或关键尺度受到其复杂的特征和动态模式的影响,如周期性和趋势,因此我们在路由器中引入了周期和趋势分解模块来提取周期和趋势模式。
周期分解将时序从时域转换到频域来提取周期模式。
我们利用离散傅立叶变换���(⋅)将输入时序分解为傅立叶基并选择振幅Top ��的基,然后通过逆傅立叶变换����(⋅)得到周期模式Xsea。

X_{sea} = \mbox{IDFT}(\{f_1, \cdots , f_{K_f} \}, A, \Phi)

这里\PhiA 分别代表经过每个频率对应的相位和振幅,\{f_1, \cdots , f_{K_f} \} 表示具有前K_f个振幅的频率。
趋势分解使用不同的kernel进行平均池化来提取周期分解后的剩余部分的趋势模式 X_{rem}
对于不同的kernel,采用加权操作来获得最终的趋势项表示。
X_{trend} = \mbox{Softmax}(L(X_{rem})) \cdot (\mbox{Avgpool}(X_{rem})_{\mbox{kernel}_1} , \cdots , \mbox{Avgpool}(X_{rem})_{\mbox{kernel}_N} )

我们对周期项和趋势项与原输入相加,然后在时间维度上进行线性映射得到X_{trans} \in \mathbb{R}^d
基于时序分解的结果Xtrans,路由器使用路由函数R(\cdot)生成路径权重来选择patch大小进行划分。
为了避免权重生成过程中一直选择某几个patch大小,导致相应的尺度模块重复更新而忽视其它更有用的尺度,因此我们引入噪声项来为权重生成加入随机性。
整个权重生成过程如下所示:
R(X_{trans}) = \mbox{Softmax}(X_{trans}W_r + \epsilon \cdot \mbox{Softplus}(XtransWnoise)), \epsilon \sim \mathcal{N} (0, 1)

为了保持路由的稀疏性同时鼓励选择关键尺度,我们在路径权重上使用topK策略,保留前K个路径权重,并将其余权重设置为0,并将最终结果表示为\overline{R}(X_{trans})


多尺度聚合器

生成的路径权重的每个维度对应多尺度Transformer中的一个patch大小,其中 \overline{R}(X_{trans})_i > 0 表示执行此patch大小对应的patch划分和双重注意力。
设表示patch大小为S_i 对应的多尺度Transformer块的输出,基于路径权重,聚合器对多尺度输出执行加权聚合操作,得到AMS块的最终输出:
X_{out} = \sum ^M _{i=1} \mathcal{I} (\overline{R}(X_{trans})_i > 0)R(X_{trans})_i T_i(X^i _{out})
这里是指示函数,在\mathcal{I} (\overline{R}(X_{trans})_i > 0)时输出1,否则输出0。


四、EXPERIMENTS

3.1、主实验

数据集和基准

我们选择九个真实的数据集(公开的benchmark和阿里云数据集)进行实验,从Transformer架构、线性结构、多尺度结构选择九个进几年来比较好的预测模型作为基准.
![[20240419-Pathformer-4.png]]

如表所示,Pathformer超过了baselines,取得了SOTA预测效果。
![[20240419-Pathformer-5.png]]

  • 相比于最好的基准PatchTST,Pathformer在MAE和MSE上取得了8.1% 和6.4% 的提升。
  • 相比于线性模型DLinear和NLinear,Pathformer超过了它们,特别是在大数据集上,说明基于Transformer架构的模型依然具有很大的前景。
  • 相比于多尺度模型Pyraformer和Scaleformer, Pathformer展现出很大的预测效果提升,说明基于自适应多尺度的建模更加有效。

3.2、迁移实验

我们在两种场景中进行了迁移实验。
为了评估模型在不同数据集之间的迁移,模型在ETTh1和ETTm1上进行预训练,然后在ETTh2和ETTm2进行迁移。
为了评估模型在同一数据集中对时间的迁移,模型在阿里云三个集群数据(Cluster-A,Cluster-B,Cluster-C)取前70% 训练数据进行预训练, 用后30%训练数据进行微调。
我们在基准上进行了两种迁移方式,直接预测(zero-shot)和全部微调。
同时Pathformer提出了一个部分微调策略,针对模型中少量参数(如多尺度路由网络参数)进行微调,大大降低了计算成本。

如表所示
![[20240419-Pathformer-6.png]]

  • Pathformer在直接预测和全部微调方法上都超过了基准,表明了Pathformer具有好的泛化性和迁移性,主要来自它自适应多尺度建模的能力。
  • 部分微调作为一种轻量化的微调方式仍然实现了一个好的预测效果,大部分超过了基准,说明Pathformer能够提供一种轻量级迁移学习方法。

3.3、消融实验

为了验证pathformer中各个模块的有效性,我们进行了消融实验,重点关注patch间注意力,patch内注意力,时序分解和Pathways。

如表所示,
![[20240419-Pathformer-7.png]]

  • 每个模块展现了不同的影响,其中Pathways的影响显著,这强调了模型自适应选择不同尺度进行多尺度建模的能力对预测效果很重要。
  • patch内注意力在捕捉局部模式方面比较出色,与捕捉全局模型的patch间注意力形成对比。
  • 时间序列分解模块分解出周期和趋势项,提升了模型捕捉时间动态性,帮助路由网络更好地进行自适应选择。

3.4、敏感性分析

我们对自适应选择patch size K 的数量进行敏感性分析, 评估不同的K 对模型预测效果的影响。
如表所示
![[20240419-Pathformer-8.png]]

  • K为2和3时比K为1和4产生更好的预测效果,说明模型的自适应建模多尺度特征帮助提升预测准确率。
  • 同时,选择所有的patch 大小并没有取得最好的预测效果,说明针对一个时序样本并不是所有的patch都完全有效,有些patch大小对某些时序样本可能对模型产生负面预测效果,这也突出自适应多尺度建模的重要性。

五、CONCLUSION

本文我们提出了Pathformer, 一种用于时间序列预测的自适应多尺度Transformer。
它提出了多尺度patch划分和双重注意力模块实现了多尺度时间分辨率和时间距离的综合建模,使得模型具有完备的多尺度建模能力。
此外,自适应Pathways基于不同的时序模式动态地选择和聚合尺度特征。
这些创新的机制使得Pathformer在多个预测任务上取得出色的预测效果,并展现了不错的泛化性。


评论