首页 > 其他分享 >【论文阅读】Informer Beyond Efficient Transformer for Long Sequence Time-Series Forecasting

【论文阅读】Informer Beyond Efficient Transformer for Long Sequence Time-Series Forecasting

时间:2024-03-12 11:25:23浏览次数:33  
标签:Transformer mathbf 预测 Sequence Efficient LSTF 解码器 序列 Informer

原始题目:Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting
中文翻译:Informer:超越有效变换器进行长序列时间序列预测
发表时间:2021-05-18
平台:Proceedings of the AAAI Conference on Artificial Intelligence
文章链接:https://ojs.aaai.org/index.php/AAAI/article/view/17325
开源代码:https://github.com/zhouhaoyi/Informer2020

摘要

许多现实世界的应用都需要对长序列时间序列进行预测,例如电力消耗规划。长序列时间序列预测(LSTF)对模型的预测能力提出了很高的要求,即能够有效地捕捉输出和输入之间精确的长期依赖性耦合。最近的研究表明,变压器有潜力提高预测能力。然而,Transformer存在一些严重问题,使其无法直接应用于LSTF,包括二次时间复杂性、高内存使用率和编码器-解码器架构的固有限制。为了解决这些问题,我们为LSTF设计了一个高效的基于转换器的模型,名为Informer,它具有三个显著的特征:(i)ProbeSparse自注意机制,它在时间复杂性和内存使用方面实现了O(L log L),并且在序列的依赖性对齐方面具有可比的性能。(ii)自注意力提取通过将级联层输入减半来突出主导注意力,并有效地处理超长输入序列。(iii)生成式解码器虽然概念上简单,但它以一次正向操作而不是一步一步的方式预测长时间序列,这大大提高了长序列预测的推理速度。在四个大规模数据集上的大量实验表明,Informer显著优于现有方法,并为LSTF问题提供了一种新的解决方案。

1. 引言

时间序列预测是许多领域的关键因素,如传感器网络监测(Papadimitriou和Yu 2006)、能源和智能电网管理、经济和金融(Zhu和Shasha 2002)以及疾病传播分析(Matsubara等人,2014)。在这些场景中,我们可以利用大量关于过去行为的时间序列数据进行长期预测,即长序列时间序列预测(LSTF)。然而,现有的方法大多是在短期问题设置下设计的,比如预测48个点或更少(Hochrieter和Schmidhuber 1997;李等人2018;余等人2017;刘等人2019;秦等人2017;温等人2017)。越来越长的序列使模型的预测能力变得紧张,以至于这一趋势阻碍了LSTF的研究。作为一个经验示例,图(1)显示了真实数据集上的预测结果,其中LSTM网络预测了从短期(12点,0.5天)到长期(480点,20天)的变电站的小时温度。当预测长度大于48点时,总体性能差距很大(图中的实心星)(1b)),其中MSE上升到不令人满意的性能,推理速度急剧下降,LSTM模型开始失败。

image-20240312000205084

图1:(a)LSTF可以覆盖比短序列预测更长的时间段,在政策规划和投资保护方面具有重要区别。(b) 现有方法的预测能力限制了LSTF的性能。例如,从长度=48开始,MSE上升到不可接受的高,并且推理速度迅速下降。

LSTF的主要挑战是提高预测能力,以满足日益增长的长序列需求,这需要(a)非凡的长程比对能力和(b)对长序列输入和输出的有效操作。最近,Transformer模型在捕获长期依赖性方面显示出比RNN模型优越的性能。自注意机制可以将网络信号传播路径的最大长度减少到理论上最短的O(1),并避免重复结构,从而Transformer在LSTF问题上显示出巨大的潜力。然而,由于其L二次计算和L长度输入/输出上的内存消耗,自注意机制违反了要求(b)。一些大型Transformer模型在NLP任务上投入了大量资源并取得了令人印象深刻的结果(Brown等人,2020),但对数十个GPU的培训和昂贵的部署成本使这些模型在现实世界的LSTF问题上无法负担。自注意机制和Transformer架构的效率成为将它们应用于LSTF问题的瓶颈。因此,在本文中,我们试图回答这样一个问题:我们能否改进Transformer模型,使其具有计算、内存和架构效率,并保持更高的预测能力?

网络信号传播路径是什么?

Vanilla Transformer(Vaswani等人,2017)在解决LSTF问题时有三个显著的局限性:

  1. 自我注意的二次计算。自注意机制的原子操作,即规范点积,导致每层的时间复杂度和内存使用量为\(O(L^2)\)。
  2. 长输入的堆叠层中的内存瓶颈。J个编码器/解码器层的堆栈使得总存储器使用量为\(O(J*L^2)\),这限制了接收长序列输入时的模型可伸缩性。
  3. 预测长期产出的速度骤降。vanilla Transformer的动态解码使逐步推理与基于RNN的模型一样慢(图(1b))。

先前有一些关于提高自我注意效率的工作。稀疏变换器(Child等人2019)、LogSparse变换器(Li等人2019)和Longformer(Beltagy、Peters和Cohan 2020)都使用启发式方法来解决限制1,并将自注意机制的复杂性降低到O(L log L),在那里它们的效率增益是有限的(Qiu等人2019)。Reformer(Kitaev,Kaiser,and Levskaya 2019)也通过局部敏感的哈希自注意实现了O(L log L),但它只适用于超长序列。最近,Linformer(Wang et al.2020)声称线性复杂度为O(L),但对于真实世界的长序列输入,项目矩阵不能固定,这可能具有降级为O(L2)的风险。Transformer XL(Dai et al.2019)和Compressive Transformer(Rae et al.1919)使用辅助隐藏状态来捕获长程依赖性,这可能会放大限制1,不利于打破效率瓶颈。所有这些工作主要集中在限制1上,而限制2和3在LSTF问题中仍未解决。为了增强预测能力,我们解决了所有这些限制,并在所提出的Informer中实现了超越效率的改进。

为此,我们的工作明确探讨了这三个问题。我们研究了自注意机制中的稀疏性,对网络组件进行了改进,并进行了广泛的实验。本文的贡献总结如下:

  • 我们提出Informer成功地提高LSTF问题的预测能力,这验证了类Transformer模型的潜在价值,以捕捉长序列时间序列输出和输入之间的个体长期依赖性。
  • 我们提出了ProbeSparse自注意机制来有效地取代规范自注意。它在依赖性对齐上实现了O(L log L)时间复杂性和O(L logL)内存使用率。
  • 我们提出了自注意力提取操作,以在J堆叠层中特权支配注意力得分,并将总空间复杂度大幅降低到\(O((2-\epsilon)L*log L)\),这有助于接收长序列输入。
  • 我们提出了生成式解码器,只需一个前向步骤即可获得长序列输出,同时避免了推理阶段的累积误差扩展

image-20240312002327962

图2:Informer模型概述。左:编码器接收大量长序列输入(绿色序列)。我们用所提出的ProbeSparse自注意来代替规范自注意。蓝色梯形是自注意力提取操作,用于提取主导注意力,大幅缩小网络规模。层堆叠复制副本提高了健壮性。右图:解码器接收长序列输入,将目标元素填充为零,测量特征图的加权注意力组成,并以生成风格立即预测输出元素(橙色序列)。

2. 预备

我们首先提供LSTF问题的定义。在具有固定大小窗口的滚动预测设置下,我们有输入\(\mathcal{X}^{t}=\{\mathbf{x}_{1}^{t},\ldots,\mathbf{x}_{L_{x}}^{t}|\mathbf{x}_{i}^{t}\in\mathbb{R}^{d_{x}}\}\)在时间t,并且输出是预测对应的序列\(\mathcal{Y}^{t}=\{\mathbf{y}_{1}^{t},\ldots,\mathbf{y}_{L_{n}}^{t}\mid\mathbf{y}_{t}^{t}\in\mathbf{R}^{d_{y}}\}\)。LSTF问题鼓励比以前的工作更长的输出长度\(L_y\)(Cho等人,2014;Sutskever、Vinyals和Le 2014),并且特征维度不限于单变量情况(\(d_y\)>= 1)。

编码器-解码器架构许多流行的模型被设计为将输入表示Xt“编码”为隐藏状态表示Ht,并从\(\mathcal{H}^{t}=\{\mathbf{h}_{1}^{t},\ldots,\mathbf{h}_{I,_{h}}^{t}\}\)解码输出表示\(\mathcal{Y}^{t}\)。推理涉及一个名为“动态解码”的逐步过程,其中解码器根据先前的状态\(\mathbf{h}_{k}^{t}\)计算新的隐藏状态\(\mathbf{h}_{k+1}^{t}\),以及第k步的其他必要输出,然后预测第(k+1)个序列\(\mathbf{y}_{k+1}^{t}\)。

输入表示给出了统一的输入表示,以增强时间序列输入的全局位置上下文和局部时间上下文。为了避免描述过于琐碎,我们将详细信息放在附录B中。

3. 方法

现有的时间序列预测方法可以大致分为两类1。经典的时间序列模型是时间序列预测的可靠工具(Box等人,2015;Ray 1990;Seeger等人2017;Seeger、Salinas和Flunkert 2016),深度学习技术主要通过使用RNN及其变体来开发编码器-解码器预测范式(Hochrieter和Schmidhuber 1997;李等人2018;Yu等人2017)。我们提出的Informer在针对LSTF问题的同时保持编码器-解码器架构。请参阅图(2)了解概述,并参阅以下章节了解详细信息。

1由于篇幅限制,相关工作见附录A。

3.1 高效的自我注意机制

(Vaswani et al.2017)中的经典自注意是基于元组输入定义的,即查询、键和值,其执行缩放点积为A(Q,K,V)=Softmax(QK>/√d)V,其中\({\mathbf{Q}}\in\mathbb{R}^{L_{Q}\times d}\),\(\mathbf{K}\in\mathbb{R}^{L_{K}\times d}\),\(\mathbf{V}\in\mathbb{R}^{L_{V}\times d}\),d是输入维度。为了进一步讨论自注意机制,设qi、ki、vi分别代表Q、K、V中的第i行。根据(Tsai et al.2019)中的公式,第i个查询的注意力被定义为概率形式的核平滑器:

\[\mathcal{A}(\mathbf{q}_i,\mathbf{K},\mathbf{V})=\sum_j\frac{k(\mathbf{q}_i,\mathbf{k}_j)}{\sum_lk(\mathbf{q}_i,\mathbf{k}_l)}\mathbf{v}_j=\mathbb{E}_{p(\mathbf{k}_j|\mathbf{q}_l)}[\mathbf{v}_j],\tag{1} \]

其中\(p(\mathbf{k}_j|\mathbf{q}_i)=k(\mathbf{q}_i,\mathbf{k}_j)/\sum_lk(\mathbf{q}_i,\mathbf{k}_l)\)和\(k(\mathbf{q}_{i},\mathbf{k}_{j})\)选择非对称指数核\(\exp(\mathbf{q}_{i}\mathbf{k}_{j}^{\top}/\sqrt{d})\)。自我注意力基于计算概率\(p(\mathbf{k}_{j}|\mathbf{q}_{i})\)来组合这些值并获取输出。它需要二次型点积计算和\(\mathcal{O}(L_{Q}{L}_{K})\)内存占用,这是增强预测能力时的主要缺点。

先前的一些尝试揭示了自注意概率的分布具有潜在的稀疏性,并且他们在不显著影响性能的情况下对所有\(p(\mathbf{k}_{j}|\mathbf{q}_{i})\)设计了“选择性”计数策略。稀疏变换器(Child等人,2019)结合了行输出和列输入,其中稀疏性源于分离的空间相关性。LogSparse Transformer(Li等人,2019)注意到自我注意的循环模式,并迫使每个细胞以指数步长关注其前一个细胞。Longformer(Beltagy、Peters和Cohan 2020)将前两部作品扩展到更复杂的稀疏配置。然而,它们仅限于从以下启发式方法进行理论分析,并用相同的策略处理每个多头自我注意,这缩小了它们的进一步改进范围。

为了激励我们的方法,我们首先对典型自我注意的习得注意模式进行定性评估。“稀疏性”自我注意力得分形成长尾分布(详见附录C),即少数点积对贡献了主要注意力,而其他点积对则产生了琐碎注意力。那么,接下来的问题是如何区分它们?

查询稀疏度测量 根据等式(1),第i个查询在所有关键字上的注意力被定义为概率\(p(\mathbf{k}_{j}|\mathbf{q}_{i})\),并且输出是其与值v的组合。优势点积对鼓励对应查询的注意力概率分布远离均匀分布。如果\(p(\mathbf{k}_{j}|\mathbf{q}_{i})\)接近均匀分布\(q(\mathbf{k}_{i}|\mathbf{q}_{i})=1/L_{\boldsymbol{k}}\),则自关注变成值V的平凡和,并且对于住宅输入是多余的。自然,分布p和q之间的“相似性”可以用来区分“重要”查询。我们通过Kullback-Leibler散度\(KL(q||p)~=~\mathrm{ln}\sum_{l=1}^{L_{K}}e^{\mathbf{q_{i}k}_{l}^{\top}/\sqrt{d}}-\frac1{L_{\kappa}}\sum_{j=1}^{L_{K}}\mathbf{q_{i}k}_{j}^{\top}/\sqrt{d}-ln L_K\)来测量“相似性”。去掉常数,我们将第i个查询的稀疏性测量定义为

\[M(\mathbf{q}_{i},\mathbf{K})=\ln\sum_{j=1}^{L_{K}}e^{\frac{q_{i}\mathbf{k}_{j}^{\top}}{\sqrt{d}}}-\frac{1}{L_{K}}\sum_{j=1}^{L_{K}}\frac{\mathbf{q}_{i}\mathbf{k}_{j}^{\top}}{\sqrt{d}}\quad,\tag{2} \]

其中第一项是qi在所有键上的对数和Exp(LSE),第二项是它们的算术平均值。如果第i个查询获得更大的\(M(\mathbf{q}_{i},\mathbf{K})\),则其注意力概率p更“多样”,并且很有可能包含长尾自注意力分布的头部字段中的主导点积对。

**ProbeSparse自注意 ** 基于所提出的测量,我们通过允许每个键只关注u个主要查询来获得ProbeSparse自我注意:

\[\mathcal{A}(\mathbf{Q},\mathbf{K},\mathbf{V})=\mathrm{Softmax}(\frac{\overline{\mathbf{Q}}\mathbf{K}^\top}{\sqrt{d}})\mathbf{V}\quad,\tag{3} \]

其中\(\bar{Q}\)是与Q大小相同的稀疏矩阵,并且它仅包含稀疏性测量M(Q,K)下的Top-u查询。在恒定采样因子c的控制下,我们设置\(u=c\cdot\ln L_{O}\),这使得ProbeSparse自关注只需要为每次查询关键字查找计算\(\mathcal{O}(\ln L_{Q})\)点积,并且层内存使用保持\({\mathcal{O}}({L_{K}}\operatorname{ln}L_{O})\)。在多头视角下,这种关注为每个头生成不同的稀疏查询密钥对,从而避免了严重的信息损失。

然而,遍历测量M(qi,K)的所有查询需要计算每个点积对,即二次\({\mathcal{O}}(L_{Q}L_{K})\),此外LSE运算具有潜在的数值稳定性问题。受此启发,我们提出了一种有效获取查询稀疏性测量的经验近似方法

引理1。对于每个查询\(\mathbf{q}_i\in\mathbb{R}^d\)和密钥集K中的\(\mathbf{k}_j\in\mathbb{R}^d\),我们有界为\(\ln L_{K}\leq M(\mathbf{q}_{i},\mathbf{K})\leq \operatorname*{max}_{j}\{\mathbf{q}_{i}\mathbf{k}_{j}^{\top}/\sqrt{d}\}-\frac{1}{L_{K}}\sum_{j=1}^{L_{K}}\{\mathbf{q}_{i}\mathbf{k}_{j}^{\top}/\sqrt{d}\}+\ln L_{K}\)。当qi∈K时,它也成立。

根据引理1(附录D.1中给出了证明),我们提出最大平均测量为

\[\overline{M}(\mathbf{q}_{i},\mathbf{K})=\max_{j}\{\frac{\mathbf{q}_{i}\mathbf{k}_{j}^{\top}}{\sqrt{d}}\}-\frac{1}{L_{\kappa}}\sum_{j=1}^{L_{\kappa}}\frac{\mathbf{q}_{i}\mathbf{k}_{j}^{\top}}{\sqrt{d}}\quad.\tag{4} \]

Top-u的范围大致适用于命题1的边界松弛(参见附录D.2)。在长尾分布下,我们只需要随机采样\(U={L}_{K}\ln L_{Q}\)点积对来计算M(qi,K),即用零填充其他对。然后,我们从中选择稀疏的Top-u作为Q。M(qi,K)中的最大算子对零值不太敏感,并且是数值稳定的。在实践中,查询和密钥的输入长度在自注意计算中通常是相等的,即\(U={L}_{K}\ln L_{Q}\),使得ProbeSparse自注意时间复杂度和空间复杂度的总和为\(\mathcal{O}(L\operatorname{ln}L)\)。

image-20240312100727005

图3:Informer编码器中的单个堆栈。(1) 水平堆栈代表图(2)中编码器复制品中的单个复制品。(2) 所提出的堆栈是接收整个输入序列的主堆栈。然后,第二个堆栈获取输入的一半切片,随后的堆栈重复。(3) 红色层是点积矩阵,通过对每层进行自注意提取得到级联递减。(4) 将所有堆栈的特征图连接为编码器的输出。

3.2 编码器:允许在内存使用限制下处理较长的顺序输入

编码器被设计用于提取长序列输入的鲁棒长程依赖性。在输入表示之后,第t个序列输入Xt被成形为矩阵\(\mathbf{X}_{\mathbf{en}}^{t}\in\mathbb{R}^{L_{x}\times{d}_{model}}\)。为了清晰起见,我们在图(3)中给出了编码器的草图。

自注意提取 作为ProbeSparse自注意机制的自然结果,编码器的特征图具有值V的冗余组合。它大幅修剪输入的时间维度,如图(3)中注意力块的n头权重矩阵(重叠的红色方块)所示。受扩张卷积的启发(Yu,Koltun,and Funkhouser 2017;Gupta和Rush 2017),我们的“蒸馏”过程从第j层向前推进到第(j+1)层,如下所示:

\[\mathbf{X}_{j+1}^t=\text{MaxPool}\left(\text{ELU}(\text{Conv}1\text{d}([\mathbf{X}_j^t]_\text{AB}))\right)\quad,\tag{5} \]

其中[·]AB表示注意力块。它包含多头ProbeSparse自注意和基本运算,其中Conv1d(·)使用ELU(·)激活函数在时间维度上执行一维卷积滤波器(核宽度=3)(Clevert,Unterthiner,and Hochrieter 2016)。我们添加了一个最大池化层,其步长为2,并在堆叠层后将Xt下采样到其半切片中,这将整个内存使用量减少到\(\mathcal{O}((2-\epsilon)L\operatorname{log}L)\),其中\(\epsilon\)是一个小数字。为了增强提取操作的稳健性,我们构建了输入减半的主堆栈的副本,并通过一次丢弃一层来逐步减少自注意提取层的数量,如图(2)中的金字塔所示,从而使其输出维度对齐。因此,我们将所有堆栈的输出连接起来,并获得编码器的最终隐藏表示。

3.3 解码器:通过一个正向过程生成长序列输出

我们在图(2)中使用了标准解码器结构(Vaswani等人,2017),它由两个相同的多头注意力层的堆栈组成。然而,在长期预测中,使用生成推理来缓解速度骤降。我们向解码器提供以下向量

\[\mathbf{X}_{\mathrm{de}}^{t}=\mathrm{Concat}(\mathbf{X}_{\mathrm{token}}^{t},\mathbf{X}_{0}^{t})\in\mathbb{R}^{(L_{\mathrm{toden}}+L_{y})\times d_{\mathrm{model}}},\tag{6} \]

其中,\(\mathbf{X}_{\mathrm{tokcn}}^{t}\in\mathbb{R}^{L_{\mathrm{token}}\times d_{\mathrm{model}}}\)是起始令牌,\(\mathbf{X}_{0}^{t}\in\mathbb{R}^{L_{y}\times d_{\mathrm{model}}}\)是目标序列的占位符(将标量设置为0)。通过将掩蔽点积设置为-∞,将掩蔽多头注意力应用于ProbeSparse自注意力计算。它防止每个职位都关注即将到来的职位,从而避免了自回归。一个完全连接的层获得最终输出,它的输出大小\(d_y\)取决于我们是在进行单变量预测还是多变量预测。

生成推理 启动令牌被有效地应用于NLP的“动态解码”(Devlin等人,2018),我们将其扩展为生成方式。我们不选择特定的标志作为标记,而是在输入序列中采样\(L_{\mathrm{token}}\)长序列,例如输出序列之前的较早切片。以预测168个点为例(实验部分的7天温度预测),我们将以目标序列之前已知的5天作为“start-token”,并向生成式推理解码器提供\(\mathbf{X}_{\boldsymbol{d}\boldsymbol{e}}=\{\mathbf{X}_{5d},\mathbf{X_{0}}\}\)。X0包含目标序列的时间戳,即目标周的上下文。然后,我们提出的解码器通过一个前向过程预测输出,而不是传统编码器-解码器架构中耗时的“动态解码”。计算效率部分给出了详细的性能比较。

损失函数 我们在预测目标序列时选择MSE损失函数,并且损失从解码器的输出传播回整个模型。

image-20240312103108433

表1:四个数据集(五个案例)的单变量长序列时间序列预测结果。

4. 实验

4.1 数据集

我们在四个数据集上进行了广泛的实验,包括两个收集的LSTF真实世界数据集和两个公共基准数据集。

ETT(变压器温度)2:ETT是电力长期部署的关键指标。我们从中国两个不同的县收集了两年的数据。为了探索LSTF问题的粒度,我们创建了单独的数据集,分别为1小时级别的{ETTh1,ETTh2}和15分钟级别的ETTm1。每个数据点由目标值“油温”和6个功率负载特征组成。训练/验证/试验为12/4/4个月

ECL(电力消耗负荷)3:它收集321个客户的电力消耗(Kwh)。由于数据缺失(Li et al.2019),我们将数据集转换为2年的小时消耗量,并将“MT 320”设置为目标值。训练/验证/试验为15/3/4个月。

天气4 :该数据集包含2010年至2013年4年内近1600个美国地点的当地气候数据,每1小时收集一次数据点。每个数据点由目标值“湿球”和11个气候特征组成。列车/val/试验时间为10个月28日。

2 我们收集了ETT数据集,并将其发布在https://github.com/zhouhaoyi/ETDataset上。

**3 ** ECL数据集采集于https://archive.ics.uci.edu/ml/datasets/ElectricityLoadDiagrams20112014。

**4 ** 在获取Weather数据集https://www.ncei.noaa.gov/数据/当地气候数据/。

4.2 实验细节

我们简要总结了基础知识,附录E中提供了有关网络组件和设置的更多信息。

基线:我们选择了五种时间序列预测方法作为比较,包括ARIMA(Ariyo、Adewumi和Ayo,2014)、Prophet(Taylor和Letham,2018)、LSTMa(Bahdanau、Cho和Bengio,2015)、LSTnet(Lai等人,2018)和DeepAR(Flunkert、Salinas和Gasthaus,2017)。为了更好地探索ProbSparse自注意在我们提出的Informer中的性能,我们在实验中引入了规范自注意变体(Informer†)、有效变体改革者(Kitaev、Kaiser和Levskaya 2019)和最相关的LogSparse自注意工作(Li等人,2019)。网络组件的详细信息见附录E.1。

超参数调整:我们对超参数进行网格搜索,详细范围见附录E.3。Informer在编码器中包含一个3层堆栈和一个1层堆栈(1/4输入),以及一个2层解码器。我们提出的方法使用Adam优化器进行了优化,其学习率从1e−4开始,每个历元衰减两倍。在适当提前停止的情况下,划时代的总数为8个。我们按照建议设置了比较方法,批量大小为32。设置:每个数据集的输入都是零均值归一化的。在LSTF设置下,我们逐步延长预测窗口大小Ly,即{ETTh,ECL,Weather}中的{1d,2d,7d,14d,30d,40d},ETTm中的{6h,12h,24h,72h,168h}。度量:我们在每个预测窗口上使用两个评估度量,包括MSE和MAE(多变量预测的平均值),并以步幅1滚动整个集合。平台:所有模型都在一个Nvidia V100 32GB GPU上进行了训练/测试。源代码位于https://github.com/zhouhaoyi/Informer2020。

image-20240312104250495

表2:四个数据集上的多变量长序列时间序列预测结果(五个案例)。

4.3 结果和分析

表1和表2总结了所有方法在4个数据集上的单变量/多变量评估结果。作为对预测能力的更高要求,我们逐渐延长了预测范围,其中LSTF问题设置被精确控制为可以在每种方法的一个GPU上处理。最佳结果以粗体突出显示。

单变量时间序列预测 在此设置下,每种方法都将预测作为时间序列上的单个变量。从表1中,我们可以观察到:(1)所提出的模型Informer显著提高了所有数据集的推理性能(最后一列的获胜次数),并且它们的预测误差在不断增长的预测范围内平稳缓慢地上升,这证明了Informer在提高LSTF问题中的预测能力方面的成功。(2) Informer主要在获胜计数方面击败了其规范退化Informer†,即32>12,这支持了在提供可比注意力特征图时的查询稀疏性假设。我们提出的方法也优于最相关的工作LogTrans和Reformer。我们注意到,Reformer保持动态解码,在LSTF中表现不佳,而其他方法则受益于生成式解码器作为非自适应预测器。(3) Informer模型显示出明显优于递归神经网络LSTMa的结果。我们的方法的MSE分别下降了26.8%(在168处)、52.4%(在336处)和60.1%(在720处)。这揭示了自注意机制中较短的网络路径比基于RNN的模型获得更好的预测能力。(4) 所提出的方法在MSE上优于DeepAR、ARIMA和Prophet,平均下降49.3%(在168处)、61.1%(在336处)和65.1%(在720处)。在ECL数据集上,DeepAR在较短的层位(≤336)上表现更好,我们的方法在较长的层位上表现更好。我们将此归因于一个特定的例子,其中预测能力的有效性反映在问题的可扩展性上。

多变量时间序列预测 在这种情况下,一些单变量方法是不合适的,LSTnet是最先进的基线。相反,通过调整最终的FCN层,我们提出的Informer很容易从单变量预测变为多变量预测。从表2中,我们观察到:(1)所提出的模型Informer大大优于其他方法,并且在单变量设置中的发现1和2仍然适用于多变量时间序列。(2) Informer模型显示出比基于RNN的LSTMa和基于CNN的LSTnet更好的结果,MSE平均下降26.6%(在168处)、28.2%(在336处)和34.3%(在720处)。与单变量结果相比,压倒性性能降低,而这种现象可能是由特征维度预测能力的各向异性引起的。这超出了本文的范围,我们将在未来的工作中对此进行探索。

考虑粒度的LSTF 我们进行了额外的比较,以探索不同粒度的性能。ETTm1(分钟水平)的序列{96288672}与ETTh1(小时水平)的{2448168}对齐。即使序列处于不同的粒度级别,Informer也优于其他基线。

4.4 参数灵敏度

我们在单变量设置下对ETTh1进行了所提出的Informer模型的敏感性分析。输入长度:在图(4a)中,当预测短序列(如48)时,最初增加编码器/解码器的输入长度会降低性能,但进一步增加会导致MSE下降,因为这会带来重复的短期模式。然而,在预测长序列(如168)时,MSE随着输入的增加而降低。因为较长的编码器输入可能包含更多的依赖性,并且较长的解码器令牌具有丰富的局部信息。采样因子:采样因子控制方程(3)中ProbeSparse自注意的信息带宽。我们从小因子(=3)开始到大因子,总体性能略有提高,最终稳定在图(4b)中。它验证了我们的查询稀疏性假设,即在自注意机制中存在冗余的点积对。我们在实践中设置了样本因子c=5(红线)。层堆叠的组合:层的复制品对自我注意力提取是互补的,我们研究了图(4c)中每个堆叠{L,L/2,L/4}的行为。堆栈越长,对输入越敏感,部分原因是接收的信息越长期。我们的方法的选择(红线),即连接L和L/4,是最稳健的策略。

4.5 消融研究:Informer的工作效果如何?

我们还在考虑消融的情况下对ETTh1进行了额外的实验。

ProbeSparse自注意机制的性能 在总体结果表1和2中,我们限制了问题设置,以使规范自注意的内存使用可行。在这项研究中,我们将我们的方法与LogTrans和Reformer进行了比较,并深入探讨了它们的极端性能。为了隔离内存效率问题,我们首先将设置减少为{batchsize=8,heads=8,dim=64},并在单变量情况下保持其他设置。在表3中,ProbeSparse自注意显示出比对应的自注意更好的性能。LogTrans在极端情况下会出现OOM,因为它的公共实现是完全关注的掩码,它仍然有O(L2)内存使用。我们提出的ProbeSparse自注意避免了等式中查询稀疏性假设带来的简单性。(4),参考附录E.2中的伪代码,并达到了较小的内存使用量。

image-20240312104849330

表5:自我注意蒸馏的消融研究。

image-20240312104911353

表6:生成型解码器的消融研究。

image-20240312104928492

图5:培训/测试阶段的总运行时间。

自我注意提取的性能 在本研究中,我们使用Informer†作为基准来消除ProbeSparse自我注意的额外影响。另一个实验设置与单变量时间序列的设置一致。从表5中可以看出,Informer†完成了所有实验,并在利用长序列输入后获得了更好的性能。比较方法Informer去除了蒸馏操作,并通过较长的输入(>720)达到OOM。关于长序列输入在LSTF问题中的好处,我们得出结论,自注意提取是值得采用的,特别是当需要更长的预测时。

生成式解码器的性能 在这项研究中,我们证明了我们的解码器在获得“生成”结果方面的潜在价值。与现有的方法不同,在训练和推理中,标签和输出是被迫对齐的,我们提出的解码器的预测仅依赖于时间戳,它可以用偏移量进行预测。从表6中可以看出,Informer的总体预测性能随着偏移量的增加而抵抗,而对应的预测性能则无法进行动态解码。它证明了解码器能够捕获任意输出之间的个体长程依赖性并避免误差累积

4.6 计算效率

使用多变量设置和所有方法当前最好的实现,我们在图(5)中进行了严格的运行时比较。在训练阶段,Informer(红线)在基于Transformer的方法中实现了最佳的训练效率。在测试阶段,我们的方法比其他具有生成式解码的方法快得多。表4总结了理论时间复杂性和记忆使用情况的比较。Informer的性能与运行时实验一致。请注意,LogTrans专注于改进自注意机制,我们在LogTrans中应用我们提出的解码器进行公平比较(表4中的*)。

5. 结论

在本文中,我们研究了长序列时间序列预测问题,并提出了Informer来预测长序列。具体来说,我们设计了ProbeSparse自注意机制和提取操作,以应对香草变压器中二次时间复杂性和二次内存使用的挑战。此外,精心设计的生成解码器缓解了传统编码器-解码器架构的限制。在真实世界数据上的实验证明了Informer在提高LSTF问题的预测能力方面的有效性。

标签:Transformer,mathbf,预测,Sequence,Efficient,LSTF,解码器,序列,Informer
From: https://www.cnblogs.com/zhangdoudou/p/18067835

相关文章

  • [积跬致远]Vol.1 版本兼容地启动sequence+Shell中的$0、$1、$2的含义+$cast 与类型转
    版本兼容地启动sequenceuvm从1.1d到1.2再到IEEE1800.2,有了很多变化。尤其是从1.1d到1.2,在objection的使用上有了一些关键性变化。在uvm进入到1.2后,starting_phase不在推荐使用。更为重要的是,不仅仅是不再推荐,而且如果以defaultsequence的方式启动以后,defaultsequence被启动以......
  • 算法题 - Pop Sequence
    PopSequence(25)GivenastackwhichcankeepMnumbersatmost.PushNnumbersintheorderof1,2,3,...,Nandpoprandomly.Youaresupposedtotellifagivensequenceofnumbersisapossiblepopsequenceofthestack.Forexample,ifMis5and......
  • Efficient and Straggler-Resistant Homomorphic Encryption for Heterogeneous Feder
    为异构联邦学习提供高效且抗掉队者的同态加密技术(INFOCOM24'(CCFA))本文的结构和逻辑清晰,结构设置、文笔以及实验设置和实验分析都值得收藏和反复学习!!!摘要同态加密(HE)被广泛用于加密模型更新,但会产生很高的计算和通信开销。为了减少这些开销,有人提出了打包HE(PHE),将多个明......
  • CF1264D2 Beautiful Bracket Sequence (hard version) 题解
    括号深度的本质,其实就是删除若干个字符以后使得左边一半全是(,右边一半全是),最终(的个数的最大值。那么就一定存在一个位置使得在这个位置以及之前的字符中(的个数等于这个字符后)的个数。考虑枚举这个位置,记它左边的(的个数为\(a\)、?的个数为\(x\),右边的)的个数......
  • nn.Transformer Layers
    nn.TransformerEncoderLayerhttps://pytorch.org/docs/stable/generated/torch.nn.TransformerEncoder.html#torch.nn.TransformerEncoder 当使用这个层时,需要提供特定的输入数据。这些输入主要包括输入序列(src):这是主要的输入数据,通常是一个张量,其形状为 (S,N,E):S ......
  • CVPR2024 | Point Transformer V3: 更简单、更快、更强!
    前言 本文没有动机在注意力机制内寻求创新。相反,它专注于在点云处理的背景下克服现有的准确性和效率之间的权衡,利用scale的力量。从3D大规模表示学习的最新进展中汲取灵感,我们认识到模型性能更多地受到规模的影响,而不是复杂设计的影响。因此,本文提出了PointTransformerV3(PTv3),它......
  • [HDU6647] Bracket Sequences on Tree 题解
    [HDU6647]BracketSequencesonTree题解一道纯靠自己推出来的换根\(dp+\)树哈希,写篇题解庆祝一下~~题意:给定一棵无根树,你可以任意选择根节点和遍历顺序,每次遍历时进入一个节点就标记一个(,离开一个节点就标记一个),问所有存在的括号序列有多少种,对998244353取模。先考虑根固......
  • AT_abc216_g [ABC216G] 01Sequence 题解
    分析一道差分约束题。我们令\(\mathit{sum}_{i}\)表示\(1\)到\(i\)中,\(1\)的数量,根据题意可得:\(\mathit{sum}_{l_i-1}+x_i\le\mathit{sum}_{r_i}\)\(\mathit{sum}_{l+1}+(-1)\le\mathit{sum}_{l}\)\(\mathit{sum}_{l}+0\le\mathit{sum}_{l+1}\)因为我们要尽......
  • AT_abl_d Flat Subsequence 题解
    分析线段树模板题。一眼DP。定义状态函数\(\mathit{f}_i\)表示前\(i\)个数中,必选\(\mathit{A}_i\)时\(B\)的最大长度。则有转移方程:\(\mathit{f}_i=\max\{f_j|((1\lej\lei-1)\land(-k\leA_i-A_j\lek))\}+1\)。答案就是\(\max\limits_{i=1}^{n}\mathit{f}_i......
  • PbRL Preference Transformer
    论文题目:PreferenceTransformer:ModelingHumanPreferencesusingTransformersforRL,ICLR2023,5668,poster。pdf:https://arxiv.org/pdf/2303.00957.pdfhtml:https://ar5iv.labs.arxiv.org/html/2303.00957openreview:https://openreview.net/forum?id=Peot1SFDX0项......