好久没有更新文献解读了,好像上一篇总结文献还是在上学期刚开学……当然上学期事儿确实多了点,没来得及记录的就趁暑假补吧 o_0
这篇是2022年NeurIPS关于时间序列预测的文章,看标题知道,这又是来改进Transformer的吧。
1、问题提出
在以往的时间序列预测中,对于非平稳序列,都是直接进行平稳化来减弱原始序列的非平稳性,从而更好地进行下一步预测。而这篇针对非平稳时间序列预测提出,直接的平稳化操作会使原始序列失去原始序列的非平稳特性,阻碍深度模型的预测能力,文章中称为“过平稳化”。
- 以一个不平稳时间序列为例,将其分为均值、方差不同的三段,分别通过原始Transformer、平稳化的Transformer以及该文提出的Non-stationary Transformer观察注意力图,发现b图过平稳化使得模型在三段序列中学到几乎相似的注意力,模型无法捕捉到序列的时间依赖性。
故该文提出了一个通用框架:
- Series Stationarization:序列平稳化来减弱原始序列的非平稳性
- De-stationary Attention:去平稳注意力避免过平稳化,使模型能捕捉时间依赖,提高预测性能
2、Series Stationarization
序列平稳化模块包含两个阶段:归一化和反归一化
- Normalization
第一阶段对输入的每个变量进行归一化,消除量纲差异,提高平稳性
- De-normalization
第二阶段使用序列原本的均值和方差进行反归一化,恢复归一化时丢失的分布信息
然而,尽管反归一化尽可能地还原了原始序列的分布,但在模型内部,尤其是注意力捕捉模块,依然得到的是平稳化后的序列输入,这也是Transformer学习到不易区分的注意力图的主要原因。因此需要深入模型内部进行改进,也就有了De-stationary Attention模块。
3、De-stationary Attention
该模块的 核心 在于:使用平稳化后的输入来近似非平稳化时原始输入本应得到的注意力
理论推导如下:
- 根据Transformer的注意力计算公式
- 以及平稳化后的序列
- 可以求得平稳化后的Q’K’乘积
因我们想要近似的是非平稳化时的注意力,对以上式子移项并代入注意力公式得
- 其中 Qμk 和 μQμk 分别在σx2Q’K’的每一列和元素上重复操作,根据softmax平移的不变性有
- 令τ=σx2、Δ=KμQ,称为去平稳化因子,使用多层感知器来投影学习
- 最终的去平稳注意力公式
4、实验
数据集
- (1)Electricity:2012 - 2014年321个客户每小时用电量。
- (2)ETT:2016年7月至2018年7月电力变压器采集的石油停运因素与电力负荷的时间序列。ETTm1 /ETTm2每15分钟记录一次,ETTh1/ETTh2每小时记录一次。
- (3)Exchange:8个国家1990 - 2016年的每日汇率面板数据。
- (4)ILI:2002年至2021年美国疾病控制与预防中心每周报告的流感样疾病患者与一周总患者的比例。
- (5)Traffic:2015年1月至2016年12月在旧金山湾区高速公路上由862个传感器测量的每小时道路占用率。
- (6)Weather:2020年每10分钟采集的21个气象指标的气象时间序列。
Baselines
- 多变量预测:Autoformer、Pyraformer、Informer、LogTrans、Reformer、LSTNet
- 单变量预测:N-HiTS、N-BEA TS、Autoformer、Pyraformer、Informer、Reformer、ARIMA
平稳性检验
实验结果
- 多变量预测
- 单变量预测:在两个强非平稳性数据集下
- 将文中框架扩展到其他Transformer变体
每一个模型都超过之前的SOTA,且该框架几乎没有增加任何参数和计算复杂度- 消融实验
b、c从不同角度增强了Transformer预测非平稳序列的能力,c去平稳注意力框架预测精度更高。- 平稳化模块对比
跟添加了额外参数的平稳化方法RevIN相比,简单的无参数平稳化方法已经有足够的效果。