当前位置:   article > 正文

Informer时间序列模型内容与代码解读_probesparse

probesparse

Informer时间序列模型内容与代码解读

1. 前言

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

1.1 摘要:

  许多现实世界的应用都需要对长序列时间序列进行预测,例如电力消耗规划。长序列时间序列预测(LSTF)对模型的预测能力提出了很高的要求,即能够有效地捕捉输出和输入之间精确的长期依赖耦合。最近的研究表明,Transformer有潜力提高预测能力。然而,Transformer存在一些严重的问题,阻碍了它直接应用于LSTF,包括二次时间复杂性、高内存使用率和编码器-解码器架构的固有限制。

  为了解决这些问题,我们为LSTF设计了一个高效的基于转换器的模型,名为Informer,具有三个显著的特征:(i)ProbeSparse自注意机制,它在时间复杂性和内存使用方面实现了O(L*logL),并且在序列的依赖性对齐方面具有可比的性能。(ii)自注意力提取通过将级联层输入减半来突出主导注意力,并有效地处理超长输入序列。(iii)生成式解码器虽然概念上很简单,但它以一次正向操作而不是一步一步的方式预测长时间序列,这大大提高了长序列预测的推理速度。在四个大型数据集上的大量实验表明,Informer显著优于现有方法,并为LSTF问题提供了一种新的解决方案。

  本文是少有的用Transformer模型去解决长序列的时间预测问题。是AAAI 2021 Best Paper。内容比较新颖,尤其是提出了一种新的注意力层——ProbSparse Self-Attention和Distilling操作,在减少模型参数的同时大大提升模型的效果,值得在许多场合中借鉴。

1.2 背景

  LSTF(Long Sequence Time-Series Forecasting) 任务的方法因为预测能力的限制,大多专注于短期预测,而现在越来越长的序列似乎成为了 LSTF 研究的阻碍。LSTF 任务面临的主要挑战是需要提高模型的预测能力,从而满足日益增长的长序列需求,这要求模型具备:(a)卓越的 long-range alignment(远程对比)能力;(b)对长序列输入和输出的高效操作能力。

  序列预测是一个涉及使用历史序列信息来预测序列中的下一个或多个值的问题。 这是一个基本但重要的研究问题。对于传统的循环神经网络在长序列问题上一般都不是很好的效果:比如传统的RNN-based模型不能够用于长时序预测问题。

  Transformer模型是当下最火的模型之一,被广泛使用在nlp,cv等各个领域之中。2017 年出现的 Transformer因其 Self-Attention Mechanism 可以将网络信号传播路径的最大长度减少到理论上的 o ( 1 ) o(1) o(1)且避免了类似于 RNN 中的递归结构,使其能更好地捕获长期依赖关系,从而在处理 LSTF 问题上展现出巨大的潜力。但是,用Transformer模型去解决时间序列问题却非常少见。

Transformer的不足之处

  • 平方时间复杂:Self-Attention 的二次计算:Self-Attention Mechanism 的点积操作使各层的时间复杂度和内存使用量均为 o ( L 2 ) o(L^2) o(L2);

  • 高内存占用:作用于长输入的堆叠层存在内存瓶颈:J 个 encoder/decoder layer 的堆叠使得总内存使用量为 o ( J ∗ L 2 ) o(J * L^2) o(JL2),这限制了模型在接收长输入时的可伸缩性;

  • 现有编码结构的局限性:预测长输出时速度骤降:因为原始的Transformer的decoder在inference的过程中是动态输出的,即上一次的Output是下一次的Input,进而和隐藏层一起再预测下一次的Output,使得Transformer的Inference过程和RNN一样慢。

在这里插入图片描述
  Long sequence predicion 本文所研究的问题,关注的是LSTF的output的准确性,以及长序列预测中input的统一表征,建立一个Long sequence output 与 Long sequence input 之间的映射关系 。Informer的目标是解决长序列持续预测问题,这个问题与之前LSIL(长序列输入表征)问题很相似。

1.3 贡献

(1)提出的 Informer 在 LSTF 问题中成功提高了预测能力,验证了类 Transformer 模型在捕获长序列时序输出和输入之间的个体长期依赖性方面具有潜在价值;【证明了 Transformer 模型在捕获长期依赖关系方面的作用

(2)提出了 ProbSparse Self-Attention Mechanism 并有效取代了常规的 Self-Attention Mechanism ,使得时间和空间复杂度降为 o ( L ∗ l o g L ) o(L*logL) o(LlogL)。【降低了常规 Self-Attention 计算复杂度和空间复杂度

(3)提出了在 J-Stacking Layers 中控制 attention scores 的 Self-Attention Distilling 操作权限,并将总空间复杂度降低到 o ( ( 2 − ε ) ∗ l o g L ) o((2-\varepsilon)*logL) o((2ε)logL) ;【使用自注意蒸馏技术缩短每一层的输入序列长度,降低了 J 个堆叠层的内存使用量

(4)提出了 Generative Style Decoder ,只需要一个前向步骤(而非 step by step)就可以获得长序列输出,同时避免了预测阶段的累计误差传播。时间复杂夫降为 O ( 1 ) O(1) O(1)。【改变解码方式直接一步输出结果

2. Informer框架

  问题描述:在 t t t 时刻,已知序列, X t = x 1 t , . . . , x L x t X_t = {x_1^t, ... , x_{Lx}^t} Xt=x1t,...,xLxt,求 Y t = y 1 t , . . . , y L u t Y_t = {y_1^t, ... , y_{Lu}^t} Yt=y1t,...,yLut编码器-解码器结构,编码器将输入状态表示 X t X_t Xt转为隐藏状态表示 H t H_t Ht,解码器将隐藏状态表示 H t H_t Ht转为输入 Y t Y_t Yt
在这里插入图片描述

  • 红色圈:用 ProbSparse Self-attention 代替了 self-attention ,采用一种新的attention机制减少了计算量
  • 蓝色圈:Self-attention Distilling,减少维度和网络参数量
  • 黄色圈:Layer stacking replicas 提高了鲁棒性
  • 绿色圈:Decoder 获得长序列输入,目标部分用0进行padding
  • 紫色圈:Generative style预测目标部分,一步生成预测,而不是动态解码

2.1. ProbSparse self-attention

现在的很多改进self-attention的工作,缺少理论分析,而且对于multi-head self-attention中的每一个head都采用相同的优化策略。

2.1.1 Efficient Self-Attention Mechanism

  Transformer中的self-attention模块中的Attention(Q,K,V)如下:

在这里插入图片描述

  其中如果用 q i , k i , v i q_i, k_i, v_i qi,ki,vi代表QKV矩阵中的第 i i i行,那么可以把最终输出

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/86306
推荐阅读
相关标签