论文笔记: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)的速度。
- ProSparse Self-Attention
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——超越自然运动: 探索视频帧
迁移学习《mixup: Beyond Empirical Risk Minimization》
论文阅读Beyond OCR + VQA: 将OCR融入TextVQA的执行流程中形成更鲁棒更准确的模型
论文阅读:Beyond Short-Term Snippet: Video Relation Detection with Spatio-Temporal Global Contex