Informer:超越Transformer的长时间序列预测模型
⽂章信息
本周阅读的论⽂是题⽬为《Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting》的⼀篇2021年发表在AAAI会议上涉及时间序列预测问题的⽂章。
摘要
在很多实际问题应⽤中,需要对长时时间序列问题进⾏预测,例如⽤电消耗规划。长时时间序列预测(LSTF)要求模型具有较强的预测能⼒,即能够有效捕捉输出和输⼊之间的精确长程相关耦合。近期的研究表明,Transformer具有提⾼预测能⼒的潜⼒。然
⽽,Transformer存在⼀些严重的问题,使其⽆法直接应⽤到LSTF问题上,例如⼆次时间复杂度、⾼内存使⽤率以及encoder-decoder体系结构的固有限制。为解决这些问题,我们设计了⼀个基于Transformer的⾼效的LSTF模型——Informer,它具有三个显著的特点:
1)ProSparse Self-Attention:在时间复杂度和内存使⽤率上达到了,在序列的依赖对齐上具有相当的性能。
2)Self-attention:提取通过将级联层输⼊减半来突出控制注意,并有效地处理超长的输⼊序列。
3)⽣成式decoder:尽管概念简单,对长时间序列进⾏正向预测,⽽不是⼀步⼀步预测,⼤⼤提⾼了长时预测的速度。
在四个⼤规模数据集上的⼤量实验表明,Informer的性能明显优于现有的⽅法,为LSTF问题提供了⼀种新的解决⽅案。
介绍
时间序列预测在许多领域都是⼀个关键的因素,如传感器⽹络检测、能源和智能电⽹管理、交通客流预测等。在这些场景中,我们可以利⽤⼤量关于过去⾏为的时间序列数据来进⾏长期预测,即长时时间序列预测(LSTF)。由于时间序列越来越长,模型的预测能⼒收到很⼤限制。⽬前,LSTF(长时时序预测)⾯临的主要挑战是提⾼预测能⼒,以满⾜⽇益增长的长序列需求,这需要卓越的长程较准能⼒以及对长序列输⼊输出的⾼效操作。
近年来,Transformer模型在捕捉长程依赖关系⽅⾯展⽰了⽐RNN模型更好的预测性能。⾃注意⼒机制可以极⼤缩短时间序列数据传输的路径长度,同时避免循环结构,解决了长程依赖问题。但其本⾝存在的⼆次时间复杂度、⾼内存使⽤率以及encoder-decoder体系结构的固有限制成为了其在LSTF问题应⽤上的瓶颈,具体局限如下:
Self-attention的⼆次计算复杂度:self-attention机制的点乘操作会导致模型每层的时间复杂度和内存使⽤率达到。
Stacking layers的长时间步输⼊内存瓶颈:J个encoder/decoder的堆叠会导致内存的使⽤率为。
预测长时间步输出的速度骤降:动态decoder会导致逐步推理速度变慢。
⽂章尝试解答以下的问题:Transformer是否可以提⾼计算、内存和架构效率,以及保持更⾼的预测能⼒?
为此,本⽂明确探讨存在的三个问题,研究了self-attention机制中的稀疏性,对Transformer结构进⾏改进,并进⾏⼤量实验。本⽂的主要贡献如下:
⽂章提出Informer模型成功提⾼了LSTF问题的预测能⼒,验证了Transformer模型在捕获长时时间序列输出和输⼊之间的个体长程依赖性的潜在价值;
⽂章提出了ProbSparse self-attention机制来有效替代常规的self-attention。取得了时间复杂度以及内存使⽤率;
⽂章提出了self-attention distilling操作,将总空间复杂度⼤幅降低到,有利于接收长时序输⼊;
⽂章还提出了⽣成式的Decoder,只需向前⼀步就可以获取长时序的输出,避免在inference阶段误差的累计传播。
研究准备
1)问题定义
在固定⼤⼩窗⼝的滚动预测设置下,我们定义t时刻的输⼊为,需要预测输出的相关序列为
。LSTF问题⿎励输出⼀个更长的输出,并且特征维度不再局限于单变量情况。
2)Encoder-decoder architecture
许多流⾏的模型被设计为把输⼊“encoder”为⼀个隐藏状态,并且将输出的表⽰解码,在推断过程中,通过step-by-step的过程(dynamic decoding),即decoder从前⼀个状态计算⼀个新的隐藏状态以及第k步的输出,从⽽对k+1个序列进⾏预测。
3)Input Representation
为增强时间序列输⼊的全局位置上下⽂和局部时间上下⽂,给出了统⼀的输⼊表⽰,如下(更详细符号意义可参见原⽂附录B):
其中,α是在标量投影和局部投影之间平衡⼤⼩的因⼦,如果输⼊序列已经标准化过了,则推荐值为1,下图是输⼊表⽰的直观的概述:
图1 The input representation of Informer
decoder
模型⽅法细节
现有的时序⽅法预测⼤致分为两类:1)经典的时间序列模型,如LSTM等;2)RNN及其变体为代表的encoder-decoder结构的深度学习模型。Informer模型基于encoder-decoder结构,⽬标是解决LSTF问题,其模型结构概览图如下:
图2 Informer model overview
(1)Self-attention机制
传统的self-attention输⼊为(query,key,value),表⽰为:
第i个attention被定义为kernel平滑的概率为:
Self-attention需要O(L Q L K)的内存以及⼆次的点积计算代价,这是预测能⼒的主要缺点。先前的⼀些研究表明,⾃注意概率的分布具有潜
在的稀疏性,所以在这些研究中,已经针对所有设计了⼀些“选择性”计数策略。但是,这些⽅法仅限于采⽤启发式算法进⾏理论分析,并使⽤相同的策略来解决多头⾃注意的问题,这也缩⼩了进⼀步改进的范围。
在论⽂中,⾸先对典型⾃注意的学习注意模型进⾏定性评估。“稀疏性”self-attention得分形成长尾分布,即少数点积对主要注意有贡献,其他点积可以忽略。论⽂使⽤原始Transformer在ETTH数据集研究self-attention的特征图分布,如下图(选⽤Layer1中的Head1和Head7的分数):
(2)Query Sparsity评估
那么该如何区分得到有贡献的点积呢?
已知第i个查询对所有key的关注度定义为概率,我们定义第i个query sparsity评估为:
其中,第⼀项是在所有key的Log-Sum-Exp(LSE),第⼆项是arithmetic均值。
ProbSparse Self-attention:
其中是和q相同⼤⼩的稀疏矩阵,它仅包含稀疏评估下M(q, M)的queries,由采样factor c所控制,我们令,可以⼤⼤减⼩计算的复杂度。本⽂提出了query sparsity评估的近似,即:
具体证明可以查看⽂章附录D,下图是直观的数值性⽰例:
在实践中,查询和建的输⼊长度通常是相等的,即L Q =L K =L,这么做可以将时间和空间复杂度控制到O(LlnL)。
(3)Encoder:允许在内存使⽤限制下处理更长的顺序输⼊
Encoder设计⽤于提取长序列输⼊鲁棒的long-range相关性,在前⾯的讨论中可以知道,在输⼊表⽰之后,第t个序列输⼊已表⽰为矩阵,下⾯是Encoder的⽰意图:
图5 The single stack in encoder
为避免encoder的特征映射带来V值得冗余组合,利⽤distilling对具有⽀配特征的优势特征进⾏特权化,并在下⼀层⽣成focus self-attention特征映射。它对输⼊的时间维度进⾏了锐利的修建,如上图结构所⽰,n个头部权重矩阵(重叠的红⾊⽅块)。受扩展卷积的启发,⽂章提出的“distilling”过程从第j层往j+1层推进:
其中包含Multi-Head ProbSparse Self-attention以及重要的attention block操作。为了增强distilling操作的鲁棒性,我们构建了halving replicas,并通过⼀次删除⼀层(如上图)来逐步减少⾃关注提取层的数量,从⽽使它们的输出维度对齐。因此,我们将所有堆栈的输出串联起来,并得到encoder的最终隐藏表⽰。
(4)Decoder:通过⼀个正向过程⽣成长序列输出
此处使⽤标准的decoder结构,由2个⼀样的Multi-head attention层,但是,⽣成式inference被⽤来缓解速度瓶颈。将Masked Multi-head attention应⽤于ProbSparse self-attention,将mask的点积设置为负⽆穷。可以防⽌每个位置都关注未来的位置,从⽽避免了⾃回归。⼀个完全连接的层获得最终的输出,它的超⼤⼩取决于我们是在执⾏单变量预测还是在执⾏多变量预测。
(5)Generative Inference
⽂章从长序列中采样⼀个,这是在输出序列之前的slice。以图中预测168个点为例(7天温度预测),我们将⽬标序列已知的前5天
的值作为“start token”,并将输⼊⽣成式推断Decoder。包含⽬标序列的时间戳,即⽬标周的上下⽂。
注意,⽂章提出的decoder通过⼀个前向过程预测所有输出,并且不存在耗时的“dynamic decoding”。
总结
本⽂研究了长序列时间序列预测问题,提出了长序列预测的Informer⽅法。具体地:
设计了ProbSparse self-attention和提取操作来处理vanilla Transformer中⼆次时间复杂度和⼆次内存使⽤的挑战。
Generative decoder缓解了传统编解码结构的局限性。
通过真实数据的实验,验证了Informer对提⾼预测能⼒的有效性。
本篇阅读笔记仅仅对⽂章的模型结构部分进⾏了分析,若对真实数据的实验感兴趣的读者,可以阅读原⽂的实验部分。
Attention
如果你和我⼀样是轨道交通、道路交通、城市规划相关领域的,可以加:Dr_JinleiZhang,备注“进”,加⼊交通⼤数据交流!希望我们共同进步!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论