【新智元导读】阿里巴巴达摩院最近发布了一个新模型FEDformer模型,不光计算复杂度降为线性,预测精度还比SOTA高22.6%
时间序列预测在众多领域中(例如电力、能源、天气、交通等)都有广泛的应用。时间序列预测问题极具挑战性,尤其是长程时间序列预测(long-term series forecasting)。
在长程时间序列预测中,需要根据现有的数据对未来做出较长时段的预测。在部分场景中,模型输出的长度可以达到1000以上,覆盖若干周期。
该问题对预测模型的精度和计算效率均有较高的要求。且时间序列往往会受到分布偏移和噪音的影响,使得预测难度大大增加。
针对时间序列问题,传统的RNN、LSTM等Recurrent模型,在训练时容易受到梯度消失和爆炸的影响,尤其是面对更加长程的序列时。且这类Recurrent的模型无法并行计算,限制了其在大规模问题上的应用。
基于Transformer的时间序列预测,通过Attention机制捕捉point-wise的关系,能够在时序预测中取得较好效果,但仍存在较大不足。
而Informer、Autoformer等模型对传统Attention机制进行了改进,在提高计算效率的同时能够取得较好的效果。传统Transformer为平方复杂度,Autoformer (NeurIPS'21)、Informer (AAAI'21 Best paper)、Reformer (ICLR'2020) 等模型能够达到log-线性复杂度。
最近阿里巴巴达摩院决策智能实验室在ICML 2022上发表了在时间序列预测方向的最新工作:基于频域分解的FEDformer模型。在长时间序列预测问题,计算效率、预测精度上都得到大幅提升。
论文链接:https://arxiv.org/abs/2201.12740代码链接:https://github.com/DAMO-DI-ML/ICML2022-FEDformer
本文作者所提出的FEDformer因使用了 low-rank approximation 而可以达到线性复杂度,并在精度上大幅超越SOTA(state-of-the-art)结果。
分析
Transformer在CV、NLP等领域取得了很好的效果,但在时间序列预测问题上,情况会更复杂。例如在图片分类问题中,训练集和测试集的图片基本采样自相同的分布。
然而在时间序列预测问题中,序列的分布可能随时间轴的推进不断变化,这就需要模型具备更强的外推能力。
如下图所示,因为模型输入(input)和真实值(true)的分布差异较大,导致模型的预测值(predict)不准确。(分布差异的大小可以通过Kologrov-Smirnov test来检验)。
为了解决这个问题,作者提出了两种思路:1,通过周期趋势项分解(seasonal-trend decomposition)降低输入输出的分布差异;2,提出了一种在频域应用注意力机制的模型结构,以增加对噪声的鲁棒性。
FEDformer
FEDformer的主体结构(backbone)采用编码-解码器结构,内部包括四种子模块:频域学习模块(Frequency Enhanced Block)、频域注意力模块(Frequency Enhanced Attention)、周期-趋势分解模块(MOE Decomp)、前向传播模块(Feed Forward)。
主体架构
FEDformer 的主体架构采用编码-解码器架构。周期-趋势分解模块(MOE Decomp)将序列分解为周期项(seasonal,S)和趋势线(trend,T)。而且这种分解不只进行一次,而是采用反复分解的模式。
在编码器中,输入经过两个 MOE Decomp 层,每层会将信号分解为 seasonal 和 trend 两个分量。其中,trend 分量被舍弃,seasonal分量交给接下来的层进行学习,并最终传给解码器。
在解码器中,编码器的输入同样经过三个 MOE Decomp 层并分解为 seasonal 和 trend 分量。其中,seasonal 分量传递给接下来的层进行学习,其中通过 频域Attention(Frequency Enhanced Attention)层对编码器和解码器的 seasonal 项进行频域关联性学习,trend 分量则进行累加最终加回给 seasonal 项以还原原始序列。
频域上的表征学习
傅立叶变换和逆傅立叶变换可以将信号在时域和频域之间相互转换。
一般信号在频域上具有稀疏性,也就是说,在频域上只需保留很少的点,就能几乎无损的还原出时域信号。保留的点越多,信息损失越少,反之亦然。
虽然无法直接理论证明在频域上应用各种神经网络结构能够得到更强的表征能力。但在实验中发现,引入频域信息可以提高模型的效果,这个现象已经得到近期越来越多论文的证实。
FEDformer 中两个最主要的结构单元的设计灵感正是来源于此。Frequency Enchanced Block(FEB)和 Frequency Enhanced Attention(FEA)具有相同的流程:频域投影 -> 采样 -> 学习 -> 频域补全 -> 投影回时域:
- 首先将原始时域上的输入序列投影到频域。
- 再在频域上进行随机采样。这样做的好处在于极大地降低了输入向量的长度进而降低了计算复杂度,然而这种采样对输入的信息一定是有损的。但实验证明,这种损失对最终的精度影响不大。因为一般信号在频域上相对时域更加「稀疏」。且在高频部分的大量信息是所谓「噪音」,这些「噪音」在时间序列预测问题上往往是可以舍弃的,因为「噪音」往往代表随机产生的部分因而无法预测。相比之下,在图像领域,高频部分的“噪音”可能代表的是图片细节反而不能忽略。
- 在学习阶段,FEB 采用一个全联接层 R 作为可学习的参数。而 FEA 则将来自编码器和解码器的信号进行cross-attention操作,以达到将两部分信号的内在关系进行学习的目的。
- 频域补全过程与第2步频域采样相对,为了使得信号能够还原回原始的长度,需要对第2步采样未被采到的频率点补零。
- 投影回时域,因为第4步的补全操作,投影回频域的信号和之前的输入信号维度完全一致。
低秩近似(low-rank approximation)
传统Transformer中采用的Attention机制是平方复杂度,而 Frequency Enhanced Attention(FEA)中采用的Attention是线性复杂度,这极大提高了计算效率。
因为 FEA 在频域上进行了采样操作,也就是说:「无论多长的信号输入,模型只需要在频域保留极少的点,就可以恢复大部分的信息」。采样后得到的小矩阵,是对原矩阵的低秩近似。
作者对低秩近似与信息损失的关系进行了研究,并通过理论证明,在频域随机采样的低秩近似法造成的信息损失不会超过一个明确的上界。证明过程较为复杂,有兴趣的读者请参考原文。
傅立叶基和小波基
以上篇幅均基于傅立叶变换进行介绍,同理,小波变换也具有相似的性质,因而可以作为FEDformer的一个变种。傅立叶基具有全局性而小波基具有局部性。
作者通过实验证明,小波版的FEDformer可以在更复杂的数据集上得到更优的效果。但小波版的FEDformer运行时间也会更长。
实验
Benchmark实验
作者在6个数据集上进行了模型效果实验,实验数据集包括电力,经济,交通,气象,疾病五个领域,并选取了最新的Baseline模型,包括 Autoformer (NeurIPS'21)、Informer (AAAI'21 Best paper)、LogTrans (NeurIPS'2019)、Reformer (ICLR 2020) 等进行对比。
FEDformer在多维时间序列预测实验中相比SOTA模型可以取得14.8%的提升(如下表) 。在一维时间序列预测实验中相比SOTA模型可以取得22.6%的提升(详情请见论文)。
FEDformer具有较好的鲁棒性,在重复多次进行实验后,最终MSE指标在均值较小的同时也能做到方差较小。
FEDformer模型中在FEB和FEA模块中均具有随机采样的过程。也就是说不同随机种子下得到的FEDformer模型所采样得到的频率是不同的。但这种随机性并不会体现在最终效果上,也就是说并不会使模型的鲁棒性有损。
基频采样实验
作者通过实验讨论了,在FEB和FEA模块中,在频域采样保留多少个点对最终效果的影响如何。
模型速度和内存的实验
在不断增加输出长度的条件下,FEDformer因其线性复杂度而在运行速度和内存占用上增加很少。
相比Transformer(平方复杂度)和 Autoformer/Infomer(log-线性复杂度)具有较大优势。
总结
针对长时间序列预测问题,作者提出了基于频域分解的FEDformer模型。大幅提高了预测精度和模型运行效率。
作者提出了一种基于傅立叶/小波变换的模块,通过在频域进行固定数量的随机采样,使得模型达到线性复杂度同时提高精度。
作者通过实验证明,在涵盖电力,交通,经济,气象,疾病五个领域的6个标准数据集上,FEDformer可以在多维/一维时间序列预测问题上分别取得14.8%和22.6%的提升(相比NeurIPS'21的SOTA模型Autoformer),并具有良好的鲁棒性。
特别指出的是,我们的方法初步证明了在深度学习网络中利用时序频域信息的有效性。
未来,我们将继续探索如何更好的利用时间序列的频域信息来构建网络,在时序预测、异常检测中取得更好的效果。
延伸阅读(近期工作):
[1] [Survey] Qingsong Wen, Tian Zhou, Chaoli Zhang, Weiqi Chen, Ziqing Ma, Junchi Yan, Liang Sun, "Transformers in Time Series: A Survey," arXiv preprint arXiv:2202.07125 (2022).Website: https://github.com/qingsongedu/time-series-transformers-review[2] [Quatformer] Weiqi Chen, Wenwei Wang, Bingqing Peng, Qingsong Wen, Tian Zhou, Liang Sun, "Learning to Rotate: Quaternion Transformer for Complicated Periodical Time Series Forecasting", in Proc. 28th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD'22), Washington DC, Aug. 2022.[3] [KDD'22 Tutorial] Qingsong Wen, Linxiao Yang, Tian Zhou, Liang Sun, "Robust Time Series Analysis and Applications: An Industrial Perspective," in the 28th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD'22), Washington DC, USA, Aug. 14-18, 2022.Website: https://qingsongedu.github.io/timeseries-tutorial-kdd-2022/[4] [IJCAI'22 Tutorial] Qingsong Wen, Linxiao Yang, Tian Zhou, Liang Sun, "Robust Time Series Analysis: from Theory to Applications in the AI Era," in the 31st International Joint Conference on Artificial Intelligence (IJCAI 2022), Vienna, Austria, Jul. 23-29, 2022.Website: https://sites.google.com/view/timeseries-tutorial-ijcai-2022