一、文章贡献
现有的Transformer类模型变体主要都是侧重于捕捉时间序列的跨时间依赖性,而忽略了变量之间的跨维度依赖性,基于此,该文针对多变量时间序列预测提出了Crossformer,这是一个基于Transformer的模型,考虑了跨维度依赖性。
主要设计了三大结构:
- 维度分段嵌入(DSW):负责保留时间和维度信息。每个维度的序列被分割成段,嵌入到特征向量中。
- 两阶段注意力(TSA):有效捕捉跨时间和跨维度依赖性。
- 分层encoder-decoder(HED):每一层对应一个尺度,encoder上层捕捉较粗尺度的依赖性,decoder生成不同尺度的预测并加总作为最终预测。
- 以往Transformer变体在做多变量时间序列预测的时候,位于同一个时间步不同维度的数据是直接嵌入到同一个向量中的,如此一来计算向量之间的注意力就只能捕捉到时间步上的区别(如图b)。
- 图a所示的是在ETTh1数据集上训练的注意力图,可以看到注意力值有明显的分段,且相近的数据点的注意力权重相似。
- 故这篇作者认为每个维度的序列在不同时间步上应该被分割成好几段来嵌入,而不是单个时间步表示所有维度的嵌入(如图c)。
二、维度分段嵌入(DSW)
- 因此维度分段嵌入可以表示成:
其中 Lseg 表示每个维度中各分段的长度,T 为序列总长,Xi,d是d维的第i段。- 使用可学习的投影E和位置嵌入E(pos)将各分段嵌入到向量中,每一个hi,d表示一个单变量时间序列:
- 得到二维向量数组,两个轴分别表示时间依赖和维度依赖:
三、两阶段注意力层(TSA)
对于获得的二维数组H,直接应用自注意力会产生二次方的复杂度,因此通过两阶段注意力层捕获二维数组跨时间和跨维度的依赖性。
- 1、跨时间阶段:直接将多头自注意力应用于每个维度
跨时间阶段的计算复杂度是O(DL2),其中Ztime捕获了同一维度中时间之间的依赖关系,成为跨维度阶段的输入。- 2、跨维度阶段:该阶段直接对每个维度间应用多头自注意力会导致O(D2)的复杂性,对每个时间步i设置固定数量的可学习向量作为路由器,让信息先与中间少量路由器聚合再进行信息传递,减少注意力计算的复杂度。
首先将路由器R作为多头自注意力的query、所有维度的向量Z作为key和value聚合来自所有维度的信息B;然后将维度向量Z作为query、聚合的信息B作为key和value进行聚合,作为路由器在维度之间分发收到的信息。
最终路由器机制将复杂度从O(D2L)降到O(DL)。
两阶段注意力层的最终输出为Y,总计算复杂度为O(DL2+DL)=O(DL2)
四、分层encoder-decoder
通过DSW嵌入、TSA层以上两个结构,作者加入序列段的合并来构建分层的encoder- decoder。
- 在encoder中,除了第一层外,其余层每两个相邻的向量被合并以获得更粗的尺度,最后通过TSA层捕获依赖性。encoder的复杂度为O(DT2/L2seg)
- 在decoder中,将TSA层的输出作为query,encoder中所有维度的向量作为key和value,建立encoder和decoder的连接:
将Z与可学习的权重矩阵W相乘得到L层第i个分段的预测值,对所有层预测值相加得到最终预测。
五、实验
Datasets 和 Baselines 就不再介绍了,延续之前的文献
主要结果
- Crossformer在大多数数据集以及预测长度上都表现出较好的性能,在58个案例中有36个排名第一,51个排名第二。
其次 FEDfrmer 和 MTGNN 的表现也优于许多baseline。
- 消融实验(DSW、TSA、HED)
(1)DSW嵌入因考虑了跨维度依赖性,在大多数情况下比Transformer原始嵌入方法表现得更好。
(2)TSA两阶段注意力分开考虑了时间和维度,提高了预测精度。
(3)HED在短期预测中降低了精度,而在长期预测中HED包含不同尺度的信息提高了精度。
三者结合效果最佳
- 超参数调整
(1)分段长度Lseg:对于短期预测(24、48),较小的分段效果越好,预测精度总体较稳定。对于长期预测(168以上),随着分段长度从4到24 MSE下降,即分段长度越长适合长期预测。
(2)路由器个数c:在预测长度336之前,随着c变化MSE较稳定,当预测长度720时,随着c增加MSE趋于下降。选择c=10来平衡预测精度和计算效率。- 计算效率分析
Crossformer encoder的复杂度是二次方,但可以使用较大的分段长度Lseg进行长期预测来降低复杂度(化掉分母)
消融版本随着维度D增大的内存占用:TSA可以明显降低复杂度,没有路由器机制的TSA(w/o Router)也有助于降低复杂度,而路由器机制可以进一步使复杂度线性化,能够处理300维的数据。
附录含运行时间
另外在附录里作者额外比较了 STformer 和 Dlinear 这两种同时间段的方法
- STformer:一种基于Transformer的模型,基本思想与Crossformer类似,考虑了跨维度依赖,可以处理多变量时间序列,在短期预测上表现较好。但它不像Crossformer有提出DSW嵌入、TSA层来降低复杂度,而是直接将二维序列展放成一维,计算效率不高,在长期预测和高维数据上预测困难。
Dlinear:带季节趋势分解的一个简单的线性模型。
Dlinear在季节趋势性强的数据集上效果比较突出,且模型本身比较简单。
六、模型的不足与改进方向
- (1)在TSA的跨维度阶段,路由器机制建立的连接除了捕获跨维度依赖性外,还给高维数据引入了噪声,因此,利用高维数据的稀疏性来降低噪声,提高TSA层的计算效率是一个很有前途的方向。
- (2)Dlinear的作者认为基于transformer的模型难以保持有序信息,因为注意机制是排列不变的,并且注入到模型中的绝对位置嵌入不足以用于时间序列预测,可考虑文本和视觉中的相对位置编码。
(3)用于时间序列预测的数据集比用于文本和视觉的数据集要小得多,并且时间序列数据集中的模式也更简单,可考虑在大型数据集上充分发挥潜力。
简单整理到这里,其他更详细的内容还是回归原文献去挖掘~