文献阅读(48)—— 长序列time-series预测【Informer】

文献阅读(48)—— 长序列time-series预测【Informer】

文章目录

  • 文献阅读(48)—— 长序列time-series预测【Informer】
    • 先验知识/知识拓展
    • 文章结构
    • 文章方法
      • 1. 文章核心网络结构
        • (1) 传统意义上的transformer应用在LSTF上的局限
        • (2)informer的contributions
      • 2. 自注意力机制
      • 3. Encoder:支持在有限的内存空间处理输入长序列
      • 4. Decoder:一次性生成长序列预测输出值
        • (1)generative inference
      • 5. loss function
    • 文章结果
      • 1. 单变量长序列time-series预测
      • 2. 多变量长序列time-series预测
      • 3.模型参数的敏感性分析
      • 4. ProbSparse 自注意力机制
      • 5. 生成式的decoder设计
      • 6.整体计算性能
    • 总结
      • 1. 文章优点
      • 2. 文章不足
      • 可借鉴点/学习点?

Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting
文献阅读(48)—— 长序列time-series预测【Informer】_第1张图片
AAAI(被评为AAAI2021最佳!足见其内容和实力!)

先验知识/知识拓展

  • 现在很多模型对于短时间序列(未来几天,几个时间点)的预测性能还不错,但是当遇到长时间序列(未来一年甚至未来几年)模型的预测性能下降
  • 长序列长时间预测依赖于模型有较高的预测能力,这要求精确有效的捕获输入和输出之间长期的依赖关系
  • LSTM模型的性能与输入序列的长度呈负相关。随着输入序列长度的增加,模型的性能下降
    文献阅读(48)—— 长序列time-series预测【Informer】_第2张图片

文章结构

  • 摘要
  • introduction
  • preliminary
  • methodology★
  • experiment★
  • results and analysis★
  • conclusions

文章方法

1. 文章核心网络结构

作者提出了以encoder-decoder为主要架构的Informer(看名字大家应该可以想到transformer了,是的,它的思想就是借鉴了transformer,很多地方的设计思想都源于transformer!)用于解决长序列时间序列预测(Long Sequence Time-series Forecasting) [LSTF]
文献阅读(48)—— 长序列time-series预测【Informer】_第3张图片

(1) 传统意义上的transformer应用在LSTF上的局限

  • 自注意力机制导致时间复杂度达到L²
  • 当遇到长序列时,内存的利用率达到JL²,和序列长度的平常成正比——瓶颈!
  • 长期输出的速度慢!!效率低,传统的模型得到的输出类似于RNN是step-by-step 的(根据当下预测的结果去预测下一个结果,步步紧密依赖)
    文献阅读(48)—— 长序列time-series预测【Informer】_第4张图片

(2)informer的contributions

  • ★ 提高了LSTF的预测性能,可以有效的捕捉到长期的输入和输出之间的依赖关系
  • 提出probsparse自注意力机制,时间复杂度和空间复杂度都为O(L log(L))
  • 提出了自注意力蒸馏,序列从(96——>48)逐渐缩小,使长序列也不受影响
  • 生成式的decoder,可以一次性输出未来的预测结果,代替了之前step-by-step的想法
    文献阅读(48)—— 长序列time-series预测【Informer】_第5张图片
    文献阅读(48)—— 长序列time-series预测【Informer】_第6张图片

2. 自注意力机制

  • 传统意义上的自注意力机制:
    在这里插入图片描述
    每个qkv都是一个矩阵,那么第i行的q的注意力可以写为:
    文献阅读(48)—— 长序列time-series预测【Informer】_第7张图片
  • 作者发现在矩阵中很多位置之间是没有必然联系的,就出现了长尾现象。(只有少数点之间有相关性,绝大部分点都没有很大的关联性的。)因此作者提出了一个概念就是针对这种现象,主需要找到那些具有强相关性的q,对其进行自注意力机制,对于那些没有必然联系的q,直接赋值为平均值。
  • 因为是分布,所以这个地方引入KL散度来衡量两个分布的相似性,对于和平均有很大差异的q进行自注意力机制的计算,和平均没有明显差异的直接赋平均值
    文献阅读(48)—— 长序列time-series预测【Informer】_第8张图片
  • 根据上述提到的这种方法,精简后的自注意力机制为:
    文献阅读(48)—— 长序列time-series预测【Informer】_第9张图片

3. Encoder:支持在有限的内存空间处理输入长序列

  • encoder用于提取长序列输入的依赖性
  • 自注意力蒸馏:encoder特征作为ProbSparse 自注意力机制的输出,encoder生成的特征是和value值做相关后的结果
  • 使用蒸馏的方式减少了输入序列的长度(96变48)(使用maxpooling)
    文献阅读(48)—— 长序列time-series预测【Informer】_第10张图片
    就很奇妙!

4. Decoder:一次性生成长序列预测输出值

  • 使用generative inference缓解长序列预测速度下降的问题

(1)generative inference

  • decoder部分由两部分组成:start-token 和 target-token
    文献阅读(48)—— 长序列time-series预测【Informer】_第11张图片
    可以理解为先教他学一会儿,剩下的自己生成。其中target-token是有时间戳的。

5. loss function

  • MSE
  • MAE
    不做详细介绍,关于loss可见之前的blog[几种常见的loss函数]

文章结果

1. 单变量长序列time-series预测

文献阅读(48)—— 长序列time-series预测【Informer】_第12张图片

2. 多变量长序列time-series预测

文献阅读(48)—— 长序列time-series预测【Informer】_第13张图片

3.模型参数的敏感性分析

从左到右依次是:

  • 输入长度(48和168)对预测长度的影响
  • ProbSparse 自注意力机制中控制信息的带宽
  • The Combination of Layer Stacking(这个我看文献没懂,我准备去源码中理解,看起老像是将两者拼接的程度系数)
    文献阅读(48)—— 长序列time-series预测【Informer】_第14张图片

4. ProbSparse 自注意力机制

文献阅读(48)—— 长序列time-series预测【Informer】_第15张图片

5. 生成式的decoder设计

文献阅读(48)—— 长序列time-series预测【Informer】_第16张图片

6.整体计算性能

文献阅读(48)—— 长序列time-series预测【Informer】_第17张图片

总结

1. 文章优点

  • 能发在AAAI上已经是最大最亮的优点了吧!!够亮了!!
  • encoder部分分析了长尾问题,提出了一个稀疏性的自注意力机制。找到相关性大的重点关注,其他部分赋予平均值
  • decoder部分使用部分已知值作为结果的一部分
  • 文章写的真的很好,大家都去给我读!!

2. 文章不足

  • 小趴菜不配评论

可借鉴点/学习点?

  • 全篇都值得我学!

你可能感兴趣的:(文献阅读,深度学习,自然语言处理,人工智能,计算机视觉)