写在前面
下面这篇文章的内容主要是来自发表于AAAI21的一篇最佳论文《Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting》。这篇文章针对Transformer存在的一系列问题,如二次时间复杂度、高内存使用率以及Encoder-Decoder的结构限制,提出了一种Informer模型来用于提高长序列的预测问题。实验验证了提出的模型优于现有的方法,并为长序列预测问题提供了新的解决方案。原论文在文末进行获取。
1
摘要
许多现实世界的应用需要长序列时间序列的预测,例如电力消耗规划等实际问题。长序列时间序列预测(Long sequence time-series forecasting,LSTF)要求模型具有较高的预测能力,即能够准确地捕捉输出与输入之间的长期依赖关系。近年来的研究表明,Transformer具有提高预测能力的潜力。然而,Transformer存在几个严重的问题,使其不能直接适用于LSTF问题,例如二次时间复杂度、高内存使用量和编码器-解码器体系结构固有的局限性。为了解决这些问题,这篇文章中设计了一种基于Transformer的LSTF模型,即Informer模型,该模型具有三个显著特征:
一种ProbSpare self-attention机制,它可以在时间复杂度和内存使用方面达到 。
self-attention机制通过将级联层输入减半来突出主导注意,并有效地处理过长的输入序列。
生成式解码器虽然概念简单,但对长时间序列序列进行一次正向操作而不是step-by-step的方式进行预测,这大大提高了长序列预测的推理速度。
最后,在4个大规模数据集上的大量实验表明,Informer方法显著优于现有方法,为LSTF问题提供了一种新的解决方案。
时间序列预测是许多领域的关键因素,如传感器网络监测、能源和智能电网管理、经济和金融a 2002)和疾病传播分析。在这些场景中,我们可以利用大量关于过去行为的时间序列数据来做出长期预测,即长序列时间序列预测。然而,现有的方法是在有限的问题设置下设计的,如预测48个点或更少,然而,越来越长的序列使模型的预测能力变得受到限制。其中,下图给出了在真实数据集上的预测结果,其中LSTM网络对某变电站逐时温度从短期(12点,0.5天)到长期(480点,20天)的预测结果。其中,当预测长度大于48点时,总体性能差距很大,即从(c)图中当预测点的数量大于48点后,MSE开始快速增大,并且推理的速度也在迅速降低。
因此,LSTF面临的主要挑战是提高预测能力,以满足日益增长的长序列需求,这需要 (a)非凡的远程对准能力和(b)对长序列输入和输出的高效操作。最近,与RNN模型相比,Transformer模型在捕获远程依赖关系方面表现出了优越的性能。自注意机制可以将网络信号的最大传播路径长度减小到理论最短的O(1),避免了递归结构,因此变压器在LSTF问题上表现出很大的潜力。但另一方面,自我注意机制违背了(b)的要求,因为它的L-二次计算和L长度输入/输出的内存消耗。一些大规模的变压器模型耗费大量资源,在NLP任务上产生了令人印象深刻的结果(Brown et al. 2020),但数十个gpu的训练和昂贵的部署成本使这些模型在现实世界的LSTF问题上无法负担。自注意机制和变压器框架的有效性成为其应用的瓶颈对LSTF问题
这篇文章中,作者针对Transformer模型,提出了下面的问题,即能否改进Transformer模型,使其计算、内存和体系结构更高效,同时保持更高的预测能力?其中Transformer模型主要存在下面三个问题:
self-attntion机制的二次计算复杂度。self-attention机制的点积操作使每层的时间复杂度和内存使用量为 。
对长输入进行堆叠时的内存瓶颈。J个encoder-decoder层的堆栈使总内存使用量为 ,这限制了模型在接收长序列输入时的可伸缩性。
预测长期产出的速度骤降。Transformer的动态decoding会导致step-by-step的推理非常慢。
为此目的,这篇文章的工作明确地探讨了这三个问题。首先,作者研究了self-attention机制中的稀疏性,改进了网络组件,并进行了广泛的实验。文章的所有contributions总结如下:
提出了Informer,成功地提高了LSTF问题的预测能力,这验证了类Transformer模型在捕获长序列时间序列输出和输入之间的个体长期依赖性方面的潜在价值。
提出了PorbSpare self-attention机制来有效地替代规范的self-attention机制,实现了 时间复杂度和 内存使用。
提出了在J-stacking层中以操作主导注意的self-attention提取方法,并将空间复杂度大幅降低到 。
提出生成式Decoder获取长序列输出,只需向前一步输出,避免了误差的积累。
2
模型介绍
文中提出的模型的整体框架如下图所示,可以看出提出的Informer模型仍然保存了Encoder-Decoder的架构:
首先,整个问题被定义为如下的方式,即t时刻的输入数据为:
目的是预测相应的输出数据,即:
而对于LSTF问题,输出序列的长度 要求更长。
Self-attention mechanism
首先,传统的self-attention机制输入形式是 ,然后进行scaled dot-product,即:
其中,
第i个Query的attention系数的概率形式是:
self-attention机制要求二次时间复杂度的点积运算来计算上面的概率 ,计算需要 的空间复杂度。因此,这是提高预测能力的主要障碍。另外,之前的研究发现,self-attention的概率分布具有潜在的稀疏性,并对所有的 都设计了一些“选择性”的计数策略,而不显著影响性能。因此,作者首先对典型的self-attention的学习模式进行定性评估。“稀疏性” self-attention的分布呈长尾分布,即少数点积对主要注意有贡献,其他点积对可以忽略。那么,下一个问题是如何区分它们?
为了度量query的稀疏性,作者用到了KL散度。其中第i个query的稀疏性的评价公式是:
其中第一项是 对于所有的key的Log-Sum-Exp (LSE),第二项是它们的算数平均值。
基于上面的评价方式,就可以得到ProbSparse self-attetion的公式,即:
其中, 是和 具有相同尺寸的稀疏矩阵,并且它只包含在稀疏评估 下top-u的queries。其中,u的大小通过一个采样参数来决定。这使得ProbSparse self-attention对于每个query-key只需要计算 点积操作。另外经过文章Lemma 1的证明,其对稀疏评估进行了上边界的计算,从而保证了计算的时间和空间复杂度为 。
Encoder
Encoder的设计目的是提取长序列输入的远期依赖性。作为ProbSpare自注意机制的结果,encoder的特征映射存在值V的冗余组合,因此,这里利用distilling操作对具有主导特征的优势特征进行赋予更高权重,并在下一层生成focus self-attention特征映射。从j到j+1层的distilling操作的过程如下:
其中, 包含了multi-head probsparse self-attention以及在attention block中的关键操作。Conv1d表示时间序列上的一维卷积操作,并通过ELU作为了激活函数。
Decoder
Decoder部分中使用了一个标准的decoder结构 (Vaswani et al. 2017),它由两个相同的多头注意层组成。另外,生成推理被用来缓解长期预测的速度下降。我们向decoder提供如下输入向量:
其中,将masked multi-head attention应用于probsparse self-attention的计算中。它防止每个位置都注意到下一个位置,以此避免了自回归。最后,一个全连接层获得最终的输出,它的输出维度取决于我们是在进行单变量预测还是多变量预测。
Loss Function
模型选取MSE作为loss function以将decoder的输出与目标序列的误差进行反向传播。
3
实验验证
实验部分首先作者从单变量和多变量预测的角度,与一些常见的模型进行了对比。其中,多变量预测是通过改变模型最后一层的全连接层的输出单元数来实现的。用到的评估指标有MSE和MAE。实验的结果如下表所示:
除此之外,文中还针对模型的超参数进行了讨论:
文中还针对模型中的各个部分的有效性进行了讨论:
最后,文中还对模型的空间和时间复杂度进行了分析:
4
总结
这篇论文主要针对长序列时间序列预测问题,提出了一种长序列预测的Informer模型。具体来说,作者设计了一种ProbSparse自注意机制和distilling操作来应对Transformer的二次时间复杂度和二次内存使用的挑战。同时,精心设计的生成式decoder减轻了传统encoder-decoder体系结构的局限性。最后,在真实数据上的实验证明了Informer算法在提高LSTF问题预测能力方面的有效性。
参考文献:
Zhou, Haoyi & Zhang, Shanghang & Peng, Jieqi & Zhang, Shuai & Li, Jianxin & Xiong, Hui & Zhang, Wancai. (2020). Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting.
关注《人工智能量化实验室》公众号,后台发送068可获取原论文。
了解更多人工智能与
量化金融知识
<-请扫码关注
让我知道你在看