时间序列预测(8) — Informer模型原理

2023-11-20 15:44

本文主要是介绍时间序列预测(8) — Informer模型原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

0 摘要

1 引言

2 定义

3 方法

3.1 高效的自注意力机制

3.2 稀疏度度量

3.3 ProbSparse稀疏自注意力机制

3.4 Encoder编码器

3.5 Decoder解码


参考视频:Informer原理及代码解析_哔哩哔哩_bilibili

0 摘要

长序列时间序列预测(LSTF)需要模型具有很高的预测能力,即精确的捕捉输出和输入之间长时间依赖关系的能力。Transformer能很好的提高预测精度,然而Transformer存在几个严重问题,二次时间复杂度、高内存使用和编码器-解码器架构的固有限制。为了解决这些问题,Informer设计了一种高效基于Transformer的LSTF模型,具有三个独特特点:

  1. ProbSparse稀疏自注意机制,其时间复杂度和内存使用为,在序列依赖性对齐方面具有可比性能;
  2. 自注意力提取突出显示主导关注,通过减半级联层输入有效处理极长输入序列;
  3. 生成式解码器,概念上简单,可以一次性预测长时间序列,而不是逐步方式,大大提高了长序列预测的推断速度。

1 引言

在能源和智能电网管理、经济和金融、以及疾病传播分析等领域,可以利用大量的过去时间序列数据来进行长期预测。然而,现有方法大多设计用于短期问题设置,比如预测48个点或更少。随着序列越来越长,模型的预测精度随之下降。

当解决LSTF问题时,Transformer存在三个重要的局限性:

  1. 自注意力的二次计算复杂度问题:自注意力机制的原子操作(即点积),导致每层的时间复杂度和内存使用量为
  2. 高内存使用量问题:对长序列输入进行堆叠时,J个encoder--decoder层的堆叠使得总内存使用量为,这限制了模型在接收长序列输入时的可伸缩性。
  3. 预测长输出时速度骤降问题:原始Transformer的动态解码操作导致step by step inference(逐步推理)的速度如同基于RNN的模型一样慢。

逐步推理的含义:只有当前层处理完后才处理下一层,造成模型速度很慢。

Informer深入探讨了这三个问题。研究了自注意力机制中的稀疏性,改进了网络组件。Informer的贡献总结如下:

  • 提出了Informer,成功提高了LSTF问题的预测能力,验证了Transformer-like模型捕捉长序列时间序列输出和输入之间个体长程依赖性的潜在价值。 
  • 提出了ProbSparse稀疏自注意力机制,以有效地替代经典的自注意力。它在依赖对齐上实现了的时间复杂度和的内存使用。
  • 提出了自注意力蒸馏操作,以优先考虑J层堆叠中的主导注意力分数,并将总空间复杂度大幅降至,有助于接收长序列输入。
  • 提出了生成式解码器,只需进行一次前向步骤即可获得长序列输出,同时避免了推断阶段的累积误差扩散。

2 定义

我们首先提供LSTF问题的定义。在具有固定大小窗口的滚动预测设置下,我们在时间 t :

  • 输入:
  • 输出:

编码器-解码器架构:将输入表示“编码”为隐藏状态,并从“解码”出输出表示。流程涉及一个名为“动态解码”的逐步过程,其中解码器从上一步的状态和来自第 k 步的其他必要输出计算出一个新的隐藏状态,然后预测第(k+1)序列

3 方法

3.1 高效的自注意力机制

经典自注意力是基于元组输入(即查询向量、键向量和值向量)定义的,它执行缩放点积,如

其中即查询向量、键向量、值向量、d为输入维度。

为了进一步讨论自注意力机制,让分别表示中的第 i 行。按照公式,第 i 个查询的注意力被定义为概率形式的核平滑器:

自注意力结合了值并根据计算概率获取输出。计算复杂度和内存使用为,并非高效的计算方式。

研究表明,自注意力概率分布具有潜在的稀疏性,并且他们设计了“选择性”计算策略,对所有进行计数,而不会显著影响性能。

self-attention的权重构成了一个长尾分布(long tail distribution),也就是很少的权重贡献了主要的attention,而其他的可以被忽略,也就是单前点只与少数历史点相关。

3.2 稀疏度度量

从公式(1)中,第 i 个查询对所有键的注意力定义为概率,输出是它与值 v 的组合。我们希望该计算的概率分布远离均匀分布。如果接近均匀分布,则计算会产生很多冗余,也就是其他点对当前点的影响是一样的,并没有区分度。我们通过Kullback-Leibler散度来测量“相似性”:

省略常数,我们定义第 i 个查询的稀疏度量为:

其中第一项是在所有键上的Log-Sum-Exp(LSE),第二项是它们的算术平均值。如果第 i 个查询获得更大的,它的注意力概率 p 更“波动”,也就是更加远离均匀分布,是我们需要的。

3.3 ProbSparse稀疏自注意力机制

核心思想:不能为每个quey都计算下稀疏性得分吧?这样不但没有优化效率,还带来
了额外的计算量。作者利用点积结果服从长尾分布的假设,提出在计算每个quey稀疏
性得分时,只需要和采样出的部分key计算就可以了。就是找到这些重要的/稀疏的query,从而只计算这些queryl的attention值,来优化计算效率。

允许每个键只关注前个主要查询:

其中是与相同大小的稀疏矩阵,它只包含在稀疏度量下的前 个查询。受常数采样因子控制,我们设置,这使ProbSparse自注意力仅需要为每个查询-键查找计算个点积,并且内存使用量是。此注意力为每个头生成不同的稀疏查询-键对,从而避免了严重的信息损失。

然而,对所有查询点计算,时间复杂度是,受此启发,提出了最大均值测量

个的范围近似保持在边界放松中。 在长尾分布下,我们只需要随机采样个点积对来计算,即填充其他对为零。然后,我们从中选择稀疏的前 个作为中的最大运算符对零值不太敏感,且数值稳定。在实践中,查询和键的输入长度通常在自注意力计算中是相等的,即,因此ProbSparse自注意力的总时间复杂度和空间复杂度为

  • 公式(4)比公式(3)更加利于计算
  •  的作用是计算点的波动性,数值越大,证明波动性越大。

3.4 Encoder编码器

Encoder在内存使用限制下允许处理更长的顺序输入,编码器旨在提取长顺序输入的稳健长程依赖性。在输入表示之后,第 t 个序列输入已被塑造成一个矩阵

自注意力精炼:作为ProbSparse自注意力机制的自然结果,编码器的特征图具有冗余的值组合。我们使用精炼操作来优先考虑具有主导特征的优越组合,并在下一层中形成一个聚焦的自注意力特征图。它锐利地修剪输入的时间维度,观察图3中注意力块的n头权重矩阵(重叠的红色方块)。受到扩张卷积的启发,我们的“精炼”过程从第 j 层向(j + 1)层前进,如下所示:

这里的 代表注意力块。它包含了多头ProbSparse自注意力和基本操作,其中对时间维度进行1-D卷积滤波(核宽度为3),并使用激活函数。我们添加了一个步长为2的最大池化层,并在堆叠一层之后将降采样为其一半的片段,从而将整个内存使用减少为,其中是一个小数。为增强精炼操作的稳健性,我们建立了主堆栈的副本,并逐渐减少自注意力精炼层的数量,每次丢弃一层,就像图2中的金字塔一样,以使它们的输出维度对齐。因此,我们连接所有堆栈的输出,并得到编码器的最终隐藏表示。

3.5 Decoder解码器

提出了生成式的decoder机制,在预测序列(也包括inferencel阶段)时一步得到结果,而不是step-by-step,直接将预测时间复杂度降低。

Transformer是一个encoder-decoder的结构,在训练阶段,我们可以用teacher forcing的手段
让decoder-一步就得到预测结果,但是inferencel时,都是step-by-step,所以看到Informer中的“一步Decoder”,作者的做法也很简单直接,首先,不论训练还是预测,Decoder的输入序列分为两部分。

Informer使用的Decoder和传统的Decoder不同,生成式decoder一次性生成所有的预测输出,而传统的Transformer是将上一步的输出放入decoder在得到下一步的输出,这样每步只能输出一个time step的数据。这种形式的decoder的start token是从input中sample一个较短的序列(需要预测的序列的之前一个片断),decoder输入是encoder输入的后面部分的截取+与预测目标形状相同的0矩阵。

解码器生成长序列输出,通过一次前向过程我们在图(2)中使用了标准的解码器结构,它由两个相同的多头注意力层堆叠而成。然而,在长序列预测中,采用生成式推断来缓解速度下降。我们将以下向量作为解码器的输入:

这里是起始标记,是目标序列的占位符(标量设为0)。在ProbSparse自注意力计算中应用了掩码多头注意力,通过将掩码点积设为,防止每个位置关注到后续位置,避免自回归。最终输出由全连接层获取,其输出大小取决于我们是执行单变量预测还是多变量预测。

生成式推断:起始标记在NLP的“动态解码”中得到了高效应用,我们将其扩展为一种生成式方式。我们不是选择特定的标记作为令牌,而是在输入序列中随机抽样一个长度为的序列,比如在输出序列之前的一个较早的片段。以预测168个点为例(实验部分的7天温度预测),我们将取目标序列之前已知的5天作为“起始标记”,并将其与一起作为生成式推断解码器的输入,即。这里的包含目标序列的时间戳,即目标周的上下文。然后我们的提出的解码器通过一次前向过程而不是在传统的编码器-解码器架构中耗时的“动态解码”来预测输出。在计算效率部分给出了详细的性能比较。

这篇关于时间序列预测(8) — Informer模型原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/395694

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言