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

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了论文笔记:Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting相关的知识,希望对你有一定的参考价值。

AAAI 2021 best paper

1 abstract & intro

  • Transformer 被广泛应用于时间序列预测任务,但是Transformer存在一些严重的问题,使其无法直接应用到LSTF(long sequence time-series forecasting)问题上
    • 的时间复杂度
      • <——self-attention机制的逐点点乘操作
    • 内存使用率高
      • J个encoder/decoder的堆叠,会占有的内存
    • encoder-decoder固有的限制
  • 为解决这些问题,这篇论文设计了Informer
    • ProSparse Self-Attention
      • 在时间复杂度和内存使用率上达到了O(LlogL)
    • self-attention distilling
      • 将级联层输入减半来控制attention,并有效地处理超长的输入序列。
      • 利用J层中的主要attention score
      • 使得空间复杂度进一步降至
    • 对长时间序列直接进行正向预测,而不是一步一步预测,大大提高了LSTF(long sequence time-series forecasting)的速度。

2 preliminary

2.1 问题定义

  • 输入

    • 固定预测窗口大小Lx,则在t时刻的输入为

    • 每一时刻的维度是dx,t时刻可以看到Lx个不同时间片的信息 

  • 需要预测的输出
    • 每一时刻的维度为dy,需要预测未来Ly个不同时间片的信息

2.2 encoder-decoder 架构

  • 先把编码成隐藏状态。然后将解码成
  • 在解码(inference)的过程中,大部分采用dynamic decoding,即step-by-step的过程
    • 利用前一时刻来计算,进而计算

2.3 时间序列表征

为增强时间序列输入的全局位置上下文和局部时间上下文,给出了统一的输入表示

 α是在标量投影和局部投影之间平衡大小的因子

2.4  短时序预测和长时序预测的不同

  • 输入越长,对于transformer的内存占用和时间复杂度要求越高
  • 长时序预测的结果存在累积误差,后面的预测结果一般与前面的结果相关联
    • 前面都预测的不准,往后的预测结果也不会太好
  • 长时序预测的inference时间随着预测的长度的增加上升明显

3 模型方法

3.1 总体框架

Informer模型基于encoder-decoder结构

 3.2 注意力机制

3.2.1 传统注意力机制

                     

如果用概率和期望的形式改写,那么有:

                      

 其中

——>需要平方数量的点积计算开销、的内存消耗

3.2.2 传统注意力机制的稀疏性

  • 先前的一些研究表明,自注意概率的分布具有潜在的稀疏性(长尾)
  • 换句话说,只有少数点积对attention有贡献,其他点积可以忽略

3.2.3 query 稀疏性评估 

定义第i个query的稀疏性测量值为:

  • 第一项是log-sum-exp,max的平滑;第二项是各个 的算术平均值

 max函数的平滑(log-sum-exp trick)_UQI-LIUWJ的博客-CSDN博客

3.3  ProbSparse Self-attention

  • 我们选取一个 ,它和q尺寸类似,不过它只包括了top-u个query(M(q,K)最大的u个)
    • 用一个稀疏的矩阵代替之前的Q
  • (c是采样因子)
  • ——>每个K的query/attention只需要次点积
  • ——>每层probsparse self-attention有个key
    • ——>每层的内存消耗是
    • 在self-attention中,,所以复杂度为

3.4 query sparsity的近似 

  • 但为了获取top u条query,我们需要将每条query和整个key矩阵进行一次内积计算,这需要
  • 此外计算M(qi,K)的第一项也需要指数级别的计算,这也比较费时间
  • ——>这里提出了query sparsity的近似

3.4.1 一个定理

 3.4.2 M的近似

随机选个 qi,kj对,其他qikj=0,计算 【对每个query,选择lnLk个key】

 ——>在self-attention的计算中,,所以无论是找u,还是probsparse attention,复杂度都是O(LlogL)

3.5 encoder 

Encoder设计用于提取长序列输入鲁棒的long-range相关性

随着Encoder层数的加深,由于序列中每个位置的输出已经包含了序列中其他元素的信息(self-attention的本职工作),我们可以缩短输入序列的长度。

  • 为避免encoder的特征映射带来V值的冗余组合,利用distilling对具有支配特征的优势特征进行
    特权化“
  • 对输入的时间维度进行了锐利的修建
  • 从第j层到第j+1层的公式如下:
  •  

     

    • 表示Probsparse Self-attention
    • Conv1d是kernel为3的一维卷积
    • MaxPoll是stride为2的最大池化
  • 一次distilling,将L长度的序列变成L/2
  • ——>两层的空间复杂度为,小于不加distilling的2LlnL

 3.6 decoder

  • 使用标准的decoder结构
  • 将如下内容(start token和target的补0 placeholder)送入decoder
  • 将Masked Multi-head attention应用于ProbSparse self-attention
  • 将mask的点积设置为负无穷
    • ——>可以防止每个位置都关注未来的位置,从而避免了自回归
  • 一个全连接层获得最终的输出,层大小取决于是在执行单变量预测还是在执行多变量预测。

 3.6 Generative Inference

  • 文章从长序列中采样一个,这是在输出序列之前的slice。
  • 以预测168个点为例(7天温度预测),将目标序列已知的前5天的值作为“start token”,并将 输入生成式推断Decoder。
  •  X0 包含目标序列的时间戳,即目标周的上下文。
  • 文章提出的decoder通过一个前向过程预测所有输出,并且不存在耗时的“dynamic decoding”。

4 实验结果

以上是关于论文笔记:Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting的主要内容,如果未能解决你的问题,请参考以下文章

[论文笔记]VAE-GAN: Autoencoding beyond pixels using a learned similarity metric

论文阅读笔记Beyond Natural Motion: Exploring Discontinuity for Video Frame Interpolation——超越自然运动: 探索视频帧

Informer论文思维导图

迁移学习《mixup: Beyond Empirical Risk Minimization》

论文阅读Beyond OCR + VQA: 将OCR融入TextVQA的执行流程中形成更鲁棒更准确的模型

论文阅读:Beyond Short-Term Snippet: Video Relation Detection with Spatio-Temporal Global Contex