Informer:用于长序列时间序列预测的新型Transformer

简介: Informer:用于长序列时间序列预测的新型Transformer

论文标题:Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting


论文链接:https://arxiv.org/abs/2012.07436


代码链接:https://github.com/zhouhaoyi/Informer2020


论文来源:AAAI 2021


一、概述


  1. 长序列时间序列预测问题


长序列时间序列预测(Long sequence time-series forecasting,LSTF)问题在现实世界中经常遇到,比如电力消耗规划。LSTF期待模型能够拥有较高的预测容量(capacity),以便于能够捕捉输入与输出之间的长程依赖关系。Transformer模型相较于其他模型提高了预测的容量,然而其本身也受到诸多限制以致于难以直接应用于LSTF,比如二次时间复杂度、高内存占用以及encoder-decoder架构所固有的一些限制。


LSTF存在于多个领域,比如网络监控、能源管理、经济与金融以及疾病传播分析等,在这些场景下需要依据过去的大量数据来对未来做出长期预测。现有模型在长序列预测问题上能力不足,举例来说,使用LSTM来进行时间序列预测时,模型预测短序列(比如12 points, 0.5 days)时能够取得较高的精度,而预测长序列(比如480 points, 20 days)时会出现预测速度的下降和MSE损失的上升,尤其是48 points这个分界线上,模型的预测速度急剧下降,损失急剧上升,LSTM对长序列预测任务来说是失败的:


YT2[H`K(J)][}NSU)JIL`6K.png

                                          example for LSTM


上述模型的失败表明需要提高模型对长序列的容量以应对LSTM问题,具体来说需要模型具备以下能力:


①良好的长程对齐(long-range alignment)能力;


②对长序列的输入和输出的有效处理。


  1. Transfomer模型的优势与局限之处


Transfomer模型相较于RNN结构模型表现出了更强的捕获长程依赖关系的能力,其中很重要的一个原因是Transformer应用 self-attention机制将信号传播的最大路径长度降低到了最短的]T$XVP`1N6_0QGEN6[(PX@O.png并且避免了循环架构(recurrent structure),也就是说Transfomer模型具备能力①,因此Transfomer对于解决LSTF问题表现出巨大的潜力。


然而不幸的是Transfomer模型对于长度为5STAAK{Z3`IE%CFL0$7XVL3.png的序列来说需要SG7W_1YF)_`5_OI494QB}%C.png的二次计算复杂度和内存使用,也就是说它不具备能力②。虽然在一些NLP任务上取得了较好的成效但是也消耗了大量的资源,尤其对于现实世界中的LSTF问题来说,Transfomer模型所需的资源(比如训练时需要多GPU以及部署时昂贵的花费)是难以承受的,这是将Transfomer应用于LSTF的瓶颈所在。


Transformer在应用于LSTF时具体会有以下3种限制:


self-attention的二次计算复杂度。self-attention的原子操作——规范点积

(canonical dot-product)导致每层的时间复杂度和内存使用是C`7`GGTO2}70@``J{$MPP84.png


层的堆叠在输入长序列时受到内存限制。encoder/decoder的IBXD}]X3U549RON38KIKA@3.png层堆叠架构会导致在输入长序列时内存使用为Y{EUI4XYDS41{VEQA860$NH.png,这一点限制了模型输入长序列时的可拓展性(scalability)。


对长序列输出进行预测时的速度骤降。Transformer的动态解码(dynamic decoding)过程导致在对长序列输出进行推断时速度缓慢,实际效果可能和前面例子里的基于RNN的模型一样差。


基于上述事实,本文试图回答以下问题:在保持对长序列预测容量的同时,Transfomer能不能在计算复杂度、内存使用和架构上同样是高效的?


  1. 相关工作


为了提高self-attention的效率,已有一些前人的工作,提出了一些改进Transformer的模型。Sparse Transformer,LogSparse Transformer,Longformer使用启发式的方法试图解决限制①,将每层复杂度降到了DFOK]BLDO}@CZ7ZN53T7GIK.png,不过这些模型效果的增益是有限的;Reformer使用locally sensitive hashing self-attention同样达到了DFOK]BLDO}@CZ7ZN53T7GIK.png的复杂度,不过其只对非常长的序列才能起到效果; Linformer达到了线性复杂度[[}`1U44W5Q8~@T[G79WVF1.png,不过对于真实世界的长序列数据不能固定映射矩阵,因而有退化到KU1Y`Y1[6P`]SJW)C9S52JG.png的风险;Transformer-XL和Compressive Transformer使用辅助隐状态来捕获长程依赖关系,因而有可能放大限制①,不利于打破效率瓶颈。


  1. 本文的贡献

上述前人的相关工作只关注解决限制①,而没有着手解决限制②和③。为了增强Transformer模型对长序列的容量,本文研究了self-attention机制的稀疏性,将会针对所有的3个限制来提出各自的解决方案。具体来说,本文的贡献如下:

①Informer模型增强了对LSTF问题的预测容量,这一点验证了Transformer-like的模型的潜在价值,即其能够捕获长序列时间序列输入与输出之间的长程依赖关系;

②提出了ProbSparse Self-attention机制,能够替换规范self-attention,并且达到了FPUQ8UGRS0C`}0A9A7H455L.png的时间复杂度和内存使用量;

③提出了self-attention蒸馏( Self-attention Distilling)操作,能够在堆叠的X442TOZ8IHFO3}VZPYI@V_Y.png层中提炼主要的注意力得分,大幅降低了总的空间复杂度,达到Y0NKSZ(99LF%CFGN012~MEN.png


④提出了生成式的decoder(Generative Style Decoder)来获取长序列输出,只需要一个前向的步骤即可输出整个解码序列,同时避免了推断期间的累积误差传播(cumulative error spreading)。


本文的②,③,④3个贡献分别针对前面提出的Transformer的3个限制。


二、ProbSparse Self-attention


  1. 表示


首先定义我们要讨论的问题。时间序列(time-series)简单的说就是各时间点上形成的数值序列,时间序列分析就是通过观察历史数据预测未来的值。时间序列分析并不是关于时间的回归,它主要是研究自身的变化规律的。在进行一个固定窗口的滚动预测(rolling forecast)时,我们的每个时刻的输入为

6AJ}(H%O{_S@8Y64PUXMXFH.png


6AJ}(H%O{_S@8Y64PUXMXFH.png

基于RNN的模型依靠其本身的循环结构来学习时间序列,而很少依赖时间戳。在Transformer中,时间戳作为局部的位置信息。然而在LSTF中,为了捕获长程依赖关系需要提供全局的时间信息,比如hierarchical time stamps(周、月、年等)以及agnostic time stamps(假期、时间)。为了能够输入这些信息,本文提出了一种统一的输入表示,如下图所示:


4WKXL_45`TP23DMXV8U2AD3.png

                                          输入表示

76N{VC)T4M6G38V8GPH`KYW.png


  1. self-attention机制


Transformer中定义的self-attention接收3个输入query、key和value,然后计算它们的scale dot-product,即:


(XY2[6D%ZD{D9RC(MG24VFN.png


  1. ProbSparse Self-attention


一些之前的研究表明self-attention的权重具有潜在的稀疏性(sparsity),并且已经研究了一些选择性的方法来不影响性能地过滤稀疏权重,这一方面的研究包括Sparse Transformer、 LogSparse Transformer、Longformer等。


本文对self-attention的稀疏性进行了调查。self-attention的权重构成了一个长尾分布(long tail distribution),也就是很少的权重贡献了主要的attention,而其他的可以被忽略:


KNFAND~%YQHDA54VM_NS[O8.png

                                         长尾分布


@_3CCWBCB[9R$C@KPXCB3IS.png


                                                         权重的分布

一个query的分布FOCKPJQUIY%87RAWDXALS$H.png与均匀分布的_]0{S7S5G_WKC0`C]K(J74H.png之间的差异可以用KL散度来度量:

KN0XFI3NV220YXP4~V}6_73.png

FADW{C8%DKOC%]{F[9TY$3J.png

1%@(V]BWY%LXF%FESGYG}H2.png

T5L6X4D}N~NIXJR_IA76M3P.png


三、Informer的encoder(Self-attention Distilling)

HFP~1TRQI63$T}DRJTDTKSU.png


为了增强蒸馏操作的鲁棒性,本文的encoder架构还建立了多个encoder的stack,每个stack都是一个独立的小的encoder,只是随着stack的增加,逐步每次减少一个蒸馏操作层和输入长度的一半,最终将所有的stack输出拼接起来。Informer的encoder架构如下图所示:


(4QY@D~HLXG9%PR3[A{{GOX.png

                                               encoder


EIR))9)W0PX9XLOFI8{T%2H.png

四、Informer的decoder(Generative Style Decoder)


Informer的decoder由一个Multi-head Masked ProbSparse Self-attention层和一个Multi-head Self-attention层组成。这里的Multi-head ProbSparse Self-attention要进行mask,也是为了避免左向信息流,防止自回归。同时最后要有一个全连接层,全连接层输出的维度取决于要预测的变量维度0CZPTS8@{JA_74MPOT1V3II.png。本文提出了一种生成式的推理过程来提高推理的速度,具体的,decoder的输入为:

_OGXG9IN$RV}Q219NV_[@XC.png

结合前面的encoder,整个Informer的架构如下:


FNUZ2BG3]D{X1{3PNG%QEE1.png

                                                      架构


五、实验


Infromer在ETTh1,ETTh2,ETTm1,Weather,ECL五个数据集上进行了实验,其中前三个是作者提供的现实世界工业领域的数据集,后两个是通用的benchmark数据集。分别进行了单变量和多变量LSTF预测:


TTJ%40VJN`A]7P~QW_8PRFH.png


对实验结果的统计表明,Informer在单变量预测上取得了相较于其他方法的压倒性优势,而多变量虽然也取得了一定优势,但结果并没有压倒性,作者推测原因在于特征多维度预测的各向异性,在接下来的工作中还有待研究。


六、消融实验


  1. ProbSparse Self-attention的性能


S3JXB8Q@(YWPF(SH]B~D(}H.png

                                      ProbSparse Self-attention


  1. Self-attention Distilling的性能


6XTW4WH7}(ND)JD[J_L9PV4.png

                                           Self-attention Distilling


  1. Generative Style Decoder的性能


WQ)`O]TA83B8DHPV85ZHA_R.png

                                   Generative Style Decoder


这里值得注意的一点是Informer的预测可以有一定的offset,这表明预测结果仅依赖于时间戳:


JF1W7NU@`P6W@146I1M4EUH.png

                                                     offset


  1. 计算效率


4VAX0IDX)4$OZOZIKJ$1LB4.png

                                                       效率


RY_DKCB00$D6N9TJRO@WSK4.png

                                                       复杂度

相关文章
|
6月前
|
自然语言处理 区块链 Python
传统的序列模型CRF与HMM区别
传统的序列模型CRF与HMM区别
|
20天前
|
机器学习/深度学习 调度 知识图谱
TimeDART:基于扩散自回归Transformer 的自监督时间序列预测方法
近年来,深度神经网络成为时间序列预测的主流方法。自监督学习通过从未标记数据中学习,能够捕获时间序列的长期依赖和局部特征。TimeDART结合扩散模型和自回归建模,创新性地解决了时间序列预测中的关键挑战,在多个数据集上取得了最优性能,展示了强大的泛化能力。
58 0
TimeDART:基于扩散自回归Transformer 的自监督时间序列预测方法
|
6月前
|
机器学习/深度学习 人工智能 运维
[ICLR2024]基于对比稀疏扰动技术的时间序列解释框架ContraLSP
《Explaining Time Series via Contrastive and Locally Sparse Perturbations》被机器学习领域顶会ICLR 2024接收。该论文提出了一种创新的基于扰动技术的时间序列解释框架ContraLSP,该框架主要包含一个学习反事实扰动的目标函数和一个平滑条件下稀疏门结构的压缩器。论文在白盒时序预测,黑盒时序分类等仿真数据,和一个真实时序数据集分类任务中进行了实验,ContraLSP在解释性能上超越了SOTA模型,显著提升了时间序列数据解释的质量。
|
6月前
|
机器学习/深度学习 人工智能 算法
社交网络分析4(上):社交网络链路预测分析、Logistic回归模型、LLSLP方法(LightGBM 堆叠链路预测)、正则化方法、多重共线性
社交网络分析4(上):社交网络链路预测分析、Logistic回归模型、LLSLP方法(LightGBM 堆叠链路预测)、正则化方法、多重共线性
490 0
社交网络分析4(上):社交网络链路预测分析、Logistic回归模型、LLSLP方法(LightGBM 堆叠链路预测)、正则化方法、多重共线性
|
6月前
|
存储 人工智能 自然语言处理
论文介绍:Mamba:线性时间序列建模与选择性状态空间
【5月更文挑战第11天】Mamba是新提出的线性时间序列建模方法,针对长序列处理的效率和内存问题,采用选择性状态空间模型,只保留重要信息,减少计算负担。结合硬件感知的并行算法,优化GPU内存使用,提高计算效率。Mamba在多种任务中展现出与Transformer相当甚至超越的性能,但可能不适用于所有类型数据,且硬件适应性需进一步优化。该模型为长序列处理提供新思路,具有广阔应用前景。[论文链接](https://arxiv.org/abs/2312.00752)
162 3
|
6月前
|
机器学习/深度学习 算法 vr&ar
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
|
6月前
|
算法 vr&ar Python
PYTHON用时变马尔可夫区制转换(MRS)自回归模型分析经济时间序列
PYTHON用时变马尔可夫区制转换(MRS)自回归模型分析经济时间序列
|
6月前
|
算法 vr&ar
时变马尔可夫区制转换MRS自回归模型分析经济时间序列
时变马尔可夫区制转换MRS自回归模型分析经济时间序列
|
机器学习/深度学习
时序预测 | MATLAB实现基于CNN-GRU卷积门控循环单元的时间序列预测-递归预测未来(多指标评价)
时序预测 | MATLAB实现基于CNN-GRU卷积门控循环单元的时间序列预测-递归预测未来(多指标评价)
|
机器学习/深度学习
时间序列预测模型 MLP DNN网络详解 完整代码
时间序列预测模型 MLP DNN网络详解 完整代码
170 0