Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting

Informer

  • Abstract
  • 1 Introduction
  • 2 Preliminary
  • 3 Proposed Method
      • Efficient Self-attention Mechanism
      • Encoder: Allowing for processing longer sequential inputs under the memory usage limitation
      • Decoder: Generating long sequential outputs through one forward procedure
  • 4 Experiments
      • Datasets
      • Experimental Details
      • Results and Analysis
      • Computation Efficiency
  • 5 Conclusion

https://arxiv.org/pdf/2012.07436v2.pdf
备注: 如有侵权,立即删除
code: https://github.com/zhouhaoyi/Informer2020
source: AAAI 2021

Abstract

许多实际应用需要对长序列时间序列进行预测,例如用电量规划。长序列时间序列预测(LSTF)要求模型具有很高的预测能力,即能够有效地捕捉输出和输入之间精确的长程相关性耦合。最近的研究表明,变压器具有提高预测能力的潜力。然而,Transformer存在一些严重的问题,使得它不能直接应用于LSTF,如二次时间复杂度、高内存使用率以及编码器-解码器体系结构的固有限制。为了解决这些问题,我们设计了一个有效的基于变压器的LSTF模型Informer,它具有三个显著的特点:

  • (i)ProbSparse的自我注意机制,该机制在时间复杂度和内存使用方面达到了O(Llog L),并且在序列依赖性对齐方面具有相当的性能。
  • (ii)自注意提取通过将级联层输入减半来突出控制注意,并有效地处理超长的输入序列。
  • (iii)产生式解码器虽然概念上简单,但在一个正向操作中预测长时间序列,而不是一步一步地进行,这大大提高了长序列预测的推理速度。在四个大规模数据集上的大量实验表明,Informer的性能明显优于现有的方法,为LSTF问题提供了一种新的解决方案

1 Introduction

时间序列预测是许多领域的关键因素,如传感器网络监测(Papadimitriou和Yu,2006年)、能源和智能电网管理、经济和金融(Zhu和Shasha,2002年)以及疾病传播分析(Matsubara等人,2014年)。在这些场景中,我们可以利用大量关于过去行为的时间序列数据进行长期预测,即长序列时间序列预测(LSTF)。然而,现有的方法是在有限的问题设置下设计的,例如预测48点或更少。越来越长的序列使模型的预测能力变得紧张,以至于有人认为这种趋势阻碍了LSTF的研究。作为一个经验例子,图(1)显示了实际数据集上的预测结果,其中LSTM网络预测了短期内(12点,0.5)变电站的每小时温度到长期(480分,20天)。当预测长度大于48点(图(1(c)中的实心星)时,整体性能差距很大。MSE得分上升到不满意的性能,推理速度急剧下降,LSTM模型失败。
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第1张图片
LSTF的主要挑战是提高预测能力以满足日益增长的长序列需求,这需要

  • (a)非凡的长序列对齐能力和
  • (b)对长序列输入和输出的有效操作。

最近,Transformer模型比RNN模型在捕获长程依赖性方面表现出更好的性能。自注意机制可以将网络信号传播路径的最大长度减少到理论上的最短O(1),避免了循环结构,从而使变压器具有解决LSTF问题的巨大潜力。但另一方面,由于其L-二次计算和L长度输入/输出的内存消耗,自我注意机制违反了要求(b)。一些大型变压器模型在NLP任务上倾注了大量资源并产生了令人印象深刻的结果(Brown等人,2020),但是几十个GPU的培训和昂贵的部署成本使得这些模型在现实世界的LSTF问题上无法承受。自我注意机制和转换框架的效率成为将其应用于LSTF问题的瓶颈。因此,在本文中,我们试图回答这样一个问题:变压器模型是否可以改进为计算、存储和结构效率高,以及保持更高的预测能力?

Vanilla Transformer(Vaswani et al.2017)在解决LSTF时有三个显著的局限性:

  • 1 自我注意的二次计算。自我注意机制的原子操作,即正则点积,使得时间复杂度和每层内存使用量为O(L2)。
  • 2 为长输入堆叠层时的内存瓶颈。J编解码器层的堆栈使得总内存使用量为O(J·L2),这限制了接收长序列输入时模型的可伸缩性。
  • 3 预测长期产出的速度骤降。vanilla Transformer的动态解码使得逐步推理与基于RNN的模型一样慢,如图(1c)所示。

在提高自我注意的效率方面已有一些研究。稀疏变换器(Child et al.2019)、对数稀疏变换器(Li et al.2019)和Longferer(Beltagy、Peters和Cohan 2020)都使用启发式方法来解决限制1问题,并将自我注意机制的复杂性降低到O(Llog L),其效率增益有限(Qiu et al.2019)。Reformer(Kitaev、Kaiser和Levskaya 2019)也通过局部敏感散列自我注意实现了O(Llog L),但它只适用于非常长的序列。最近,Linformer提出了一个线性复杂度O(L),但是对于现实世界中的长序列输入,项目矩阵不能固定,这可能有退化为O(L2)的风险。Transformer-XL(Dai et al.2019)和Compression-Transformer(Rae et al.2019)使用辅助隐态来捕获长程依赖,这可能会放大限制1,不利于打破效率瓶颈。所有的工作主要集中在限制1上,限制2和限制3仍然存在于LSTF问题中。为了提高预测能力,我们将解决所有这些问题,并在所建议的告密者中实现效率以外的改进。

为此,我们的工作深入研究了这三个问题。我们研究了自我注意机制中的稀疏性,对网络组件进行了改进,并进行了广泛的实验。本文的贡献总结如下:

  • 我们提出Informer来成功地提高LSTF问题的预测能力,这验证了类变压器模型的潜在价值,以捕捉长序列时间序列输出和输入之间的个体长期依赖性。
  • 我们提出了一种稀疏的自我注意机制来有效地替代规范的自我注意,实现了O(llogl)的时间复杂度和O(llogl)的内存使用率。
  • 我们提出了在J-堆叠层中控制注意分数的自注意提取操作特权,并将总空间复杂度大幅降低到O((2∈)Llog L)。
  • 我们提出了一种生成式解码器,只需一个前向步骤即可获得长序列输出,同时避免了推理阶段的累积错误扩散。

2 Preliminary

我们首先给出问题的定义。在具有固定大小窗口的滚动预测设置下,输入X t={xt1。,xtLx | xti∈Rdx}在时间t,输出是预测相应的序列Yt={yt1。,ytLy | yit∈Rdy}。LSTF问题比以前的工作(Cho et al.2014;Sutskever、Vinyals和Le 2014)鼓励更长的输出长度Ly,并且特征维数不限于单变量情况(dy≥1)。

编码器-解码器架构许多流行的模型被设计成将输入表示X t“编码”为隐藏状态表示Ht,并从Ht={ht1。,htLh}。该推断涉及一个称为“动态解码”的分步过程,其中解码器从先前的状态htk计算新的隐藏状态htk+1,并且从第k步计算其他必要的输出,然后预测第(k+1)序列ytk+1。

为了增强时间序列输入的全局位置上下文和局部时间上下文,给出了统一的输入表示。为了避免描述的琐碎化,我们把细节放在附录B中。

3 Proposed Method

现有的时间序列预测方法大致可分为两类1。经典时间序列模型是时间序列预测的可靠工具(Box et al.2015;Ray 1990;Seeger et al.2017;Seeger,Salinas,and Flunkert 2016),深度学习技术主要通过使用RNN及其变体(Hochreiter和Schmidhuber 1997;Li等人,2018;Yu等人,2017)。我们提出的Informer持有编码器-解码器架构,同时针对LSTF问题。请参阅图(2)的概述和以下章节的细节。

Efficient Self-attention Mechanism

(Vaswani et al.2017)中的规范自我注意是在接收元组输入(查询、键、值)时定义的,并以(Q,K,V)=Softmax(QK>√d)V的形式执行缩放点积,其中Q∈RLQ×d,K∈RLK×d,V∈RLV×d,d是输入维。为了进一步探讨自我注意机制,让qi、ki、vi分别代表Q、K、V中的第i行。按照(Tsai et al.2019)中的公式,第i个查询的注意力被定义为概率形式的核平滑器:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第2张图片

Encoder: Allowing for processing longer sequential inputs under the memory usage limitation

在这里插入图片描述

Decoder: Generating long sequential outputs through one forward procedure

在这里插入图片描述

4 Experiments

Datasets

ETT、ECL、Weather

Experimental Details

基线:附录E.1给出了网络组件的详细信息。我们选择了5种时间序列预测方法作为比较,包括ARIMA(Ariyo、Adewumi和Ayo 2014)、Prophet(Taylor和Letham 2018)、LSTMa(Bahdanau、Cho和Bengio 2015)和LSTnet(Lai等人2018)以及DeepAR(Flunkert、Salinas和Gasthaus 2017)。为了更好地探索在我们提出的告密者中稀疏自我注意力的表现,我们在实验中使用了规范的自我注意变体(告密者†)、高效的变体改革者(Kitaev、Kaiser和Levskaya 2019)以及最相关的工作对数稀疏自我注意(Li et al.2019)。

超参数调整:我们对超参数进行网格搜索,详细范围见附录E.3。Informer在编码器和2层解码器中包含一个3层堆栈和一个2层堆栈(1/4输入)。我们提出的方法是用Adam优化器优化的,它的学习率从1ee4开始,每1ee4衰减10倍2个时代,共10个时代。我们按照建议设置比较方法,批量大小为32。设置:每个数据集的输入是零均值归一化的。在LSTF设置下,我们逐步延长预测窗口的大小,即{ETTh,ECL,Weather}中的{1d,2d,7d,14d,30d,40d},ETTm中的{6h,12h,24h,72h,168h}。指标:我们在每个预测窗口使用两个评估指标,包括MSE=1n Pni=1(y yˆy)2和MAE=1n Pni=1 | y yˆy |(多变量预测的平均值),并以步长=1滚动整个集合。平台:所有型号都在单个Nvidia V100 32GB GPU上进行培训/测试。

Results and Analysis

表1和表2总结了所有方法在4个数据集上的单变量/多变量评价结果。随着对预测能力的要求越来越高,我们逐渐延长了预测时间。为了进行公平的比较,我们精确地控制了问题设置,使LSTF在每个方法的单个GPU上都是可处理的。最佳结果以黑体字突出显示。

单变量时间序列预测 在这种情况下,每种方法都可以在一个单一的变量中进行预测。从表1中,我们观察到:
(1)所提出的模型Informer极大地提高了所有数据集的推理性能(最后一列中的获胜计数),并且它们的预测误差在不断增长的预测范围内平稳而缓慢地上升。这说Informer在提高LSTF问题的预测能力方面取得了成功。
(2) 告密者在胜算方面胜过其典型的降级告密者†,即28>14,这在提供可比较的注意力特征图时支持查询稀疏性假设。我们提出的方法也优于最相关的工作LogTrans和Reformer。我们注意到,该方法保持动态解码,并且在LSTF中的性能较差,而其他方法则受益于生成式解码器作为非自回归预测器。
(3) 与递归神经网络LSTMa相比,Informer模型具有更好的结果。我们的方法的均方误差降低41.5%(16860.7%(336)和60.7%(720)。这表明在自注意机制中,较短的网络路径比基于RNN的模型具有更好的预测能力。
(4) 与DeepAR、ARIMA和Prophet相比,本文提出的方法在MSE上取得了更好的效果,分别降低了20.9%(168)、61.2%(336)和平均51.3%(720)。在ECL数据集上,DeepAR在较短的视界(≤336)上表现更好,我们的方法优于在较长的视界上。我们把这归因于一个具体的例子,在这个例子中,预测能力的有效性反映在问题的可伸缩性上。

Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第3张图片
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第4张图片
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第5张图片
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第6张图片
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第7张图片
Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting_第8张图片

Computation Efficiency

使用多元设置和每个方法的当前最佳实现,我们在图(5)中执行了严格的运行时比较。在训练阶段,在基于变压器的方法中,信息者(红线)获得了最佳的训练效率。在测试阶段,我们的方法比其他生成式解码方法要快得多。表6总结了理论时间复杂度和内存使用的比较,Informer的性能与运行时实验一致。注意,LogTrans关注于自我注意机制,我们在LogTrans中应用我们提出的解码器进行公平比较(见表6)

5 Conclusion

本文研究了长序列时间序列预测问题,提出了长序列预测的Informer方法。具体地说,我们设计了ProbSparse自注意机制和提取操作来处理vanilla Transformer中二次时间复杂度和二次内存使用的挑战。此外,精心设计的产生式译码器减轻了传统编解码结构的局限性。在实际数据上的实验结果表明,Informer方法对于提高LSTF问题的预测能力是有效的。

你可能感兴趣的:(自然语言处理,pytorch,深度学习)