阿⾥达摩院最新FEDformer,⻓程时序预测全⾯超越SOTA|ICML 2022

简介: 阿⾥达摩院最新FEDformer,⻓程时序预测全⾯超越SOTA|ICML 2022

image.png


【新智元导读】阿里巴巴达摩院最近发布了一个新模型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)具有相同的流程:频域投影 -> 采样 -> 学习 -> 频域补全 -> 投影回时域:

  1. 首先将原始时域上的输入序列投影到频域。

  2. 再在频域上进行随机采样。这样做的好处在于极大地降低了输入向量的长度进而降低了计算复杂度,然而这种采样对输入的信息一定是有损的。但实验证明,这种损失对最终的精度影响不大。因为一般信号在频域上相对时域更加「稀疏」。且在高频部分的大量信息是所谓「噪音」,这些「噪音」在时间序列预测问题上往往是可以舍弃的,因为「噪音」往往代表随机产生的部分因而无法预测。相比之下,在图像领域,高频部分的“噪音”可能代表的是图片细节反而不能忽略。

  3. 在学习阶段,FEB 采用一个全联接层 R 作为可学习的参数。而 FEA 则将来自编码器和解码器的信号进行cross-attention操作,以达到将两部分信号的内在关系进行学习的目的。

  4. 频域补全过程与第2步频域采样相对,为了使得信号能够还原回原始的长度,需要对第2步采样未被采到的频率点补零。

  5. 投影回时域,因为第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

相关文章
|
机器学习/深度学习 人工智能 达摩院
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
本文介绍阿里巴巴达摩院决策智能实验室时间序列预测方向的最新(ICML 2022 accepted)工作:FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting论文链接:https://arxiv.org/abs/2201.12740代码链接:https://github.com/DA
3365 0
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
|
3月前
|
SQL 人工智能 Java
30分钟轻松掌握Cursor,快速提升开发效率和体验
本文通过在WebX老项目中实践,验证了Cursor利用AI大模型可高效生成符合老旧项目规范的代码框架,显著提升开发效率与体验。
30分钟轻松掌握Cursor,快速提升开发效率和体验
|
6月前
|
机器学习/深度学习 传感器 编解码
人机融合智能 | 脑机接口和脑机融合
脑机接口是一种在大脑与外部设备间建立直接信息交流的技术,能实现意念控制设备或对大脑进行调控。脑机融合则进一步将生物脑与机器智能结合,推动人机协同交互。本文介绍了脑机接口的技术框架、信号采集与解码方法,并探讨其在医疗康复、人机交互等领域的应用前景及挑战。
355 0
|
Java 测试技术 Maven
创建一个SpringBoot项目(IDEA版本,保姆级教程)
创建一个SpringBoot项目(IDEA版本,保姆级教程)
创建一个SpringBoot项目(IDEA版本,保姆级教程)
|
6月前
|
Java 定位技术
陌陌动态留联系方式怎么防止被检测到?只需要插件
本资源提供一种通过技术手段(如hook或对接第三方地图)规避陌陌联系方式被和谐的方法,同时包含一份地图名称生成器的Java代码示例。
|
监控 Shell 开发者
什么是Python Watchdog?
Python Watchdog是一个用于高效监控文件系统变化的第三方库,能检测文件和目录的创建、修改、删除等事件。要安装它,使用`pip install watchdog`。核心组件包括Observer(负责监视事件)和EventHandler(定义事件响应),如FileSystemEventHandler、PatternMatchingEventHandler。通过自定义事件处理程序,可以实现如文件移动、删除的监控。示例代码展示了如何创建和使用事件处理程序来响应文件系统变化,例如监控`.txt`文件的创建和修改,以及自动移动新文件。Watchdog适用于自动化任务,如文件处理和同步。
259 1
|
机器学习/深度学习 存储 算法
【博士每天一篇论文-综述】Echo State Network Optimization: A Systematic Literature Review
本文综述了74篇关于Echo State Network(ESN)优化的研究文章,指出生物启发方法尤其是粒子群优化(PSO)是ESN参数优化的常用技术,探讨了ESN在不同参数和拓扑结构下的行为特性,同时识别了超参数优化、评估指标和数据集选择等方面的研究空白。
153 3
Intellij idea 报错:Error : java 不支持发行版本5
Intellij idea 报错:Error : java 不支持发行版本5
204 0
|
算法 API C++
模型落地系列 | TensorRT应该如何添加自己的插件?
模型落地系列 | TensorRT应该如何添加自己的插件?
1005 1