【论文阅读】基于深度学习的时序预测——Informer

系列文章链接
论文一:2020 Informer:长序列数据预测
论文二:2021 Autoformer:长序列数据预测

文章地址:https://arxiv.org/abs/2012.07436
github地址:https://github.com/zhouhaoyi/Informer2020
参考解读:论文阅读 | AAAI21最佳论文:Informer
视频解读参考:Informer原理及代码解析

这篇文章是北航提出的一篇预测论文,在实际预测过程中,大多数需要基于长期的数据,否则根据短期数据预测出来的结果是不置信的,近年来的研究表明,transformer在时序序列预测上的潜力。但是单纯使用transformer存在二次时间复杂度、高内存使用量和编码器-解码器体系结构固有的局限性,基于这个背景作者提出了一个新模型Informer,具体创新点如下:
在这里插入图片描述

  1. ProbSparse self-attention:传统的self-attention会将每个点位和其他点位一起做权重分布计算,但在实际预测过程中,真正对当前点位预测造成影响的只有小部分,因此提出了一种概率稀疏注意力机制,把关注点关注在对当前值影响较大的点位上,以消除长尾数据的影响,权重计算复杂度从 O ( L 2 ) O(L^2) O(L2)降低至 O ( l ∗ l o g L ) O(l*logL) O(llogL),具体计算步骤如下:
    (1) 为每个 q u e r y query query都随机采样部分 k e y key key,默认为 5 ∗ l n L 5*lnL 5lnL;
    (2) 计算每个 q u e r y query query稀疏性得分, M ( q i ∗ k ) M(q_i*k) M(qik)
    (3) 选择得分最高的 N N N q u e r y query query N N N默认值为 5 ∗ l n L 5*lnL 5lnL;
    (4) 只计算topN的 q u e r y query query k e y key key的点积结果,从而得到attention的结果;
    (5) 剩下的 L − N L-N LN q u e r y query query就采用均值 m e a n ( V ) mean(V) mean(V)作为输出,来保证大小的一致性;
    该部分值用在了self-attention部分,没有用在cross-attention部分;
    在这里插入图片描述
    作者表明,对于其他的self-attention机制而言,当前机制相当于对于每个head进行基于采样的稀疏表示,相当于针对每个head的优化策略就存在差异,这种处理比常规的相同的处理更具优势;
  2. 一步Decoder:正常情况下,多点预测会基于上一个点的预测结果去预测下一个点位,但是当前模型可以一次性输出多个点位的预测结果;在预测时会将历史数据作为Decoder的输入的一部分,包括数据的位置信息和时间点信息,将向量输入全连接层得到预测结果,placeholder位置就会有对应的输出值,计算损失的时候只计算预测部分的位置对应损失;
    在这里插入图片描述
    在Decoder中是双层的结构。在第一层掩码稀疏自注意力模块中,采用了掩码机制避免预测数据的时候关注到未来点位的信息,在对当前点位进行预测时,未来点位的数据设置为 − ∞ -\infty ,这样计算注意力的时候就不会关注到未来点位的信息,避免了自回归;第二层为一个多头交叉注意力模块,用于输出最终同维度的向量,进行目标序列和源序列的交互(512->2048->512);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/30665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MFC遍历目录包括子目录下所有文件、特定类型文件

文章目录 用法实现遍历所有文件遍历所有txt文件用法 vector<CString> v; //获取所有文件 GetFilePath(v,L"D:\\test\\"); //文件路径储存在容器里面,遍历容器 for(int i=0

比特鹏哥5-数组【自用笔记】

比特鹏哥5-数组【自用笔记】 1.数组的概念2.一维数组的创建和初始化创建的语句结构初始化的语句结构 3.一维数组的使用数组的下标&#xff1a;从0开始&#xff0c;n个数组&#xff0c;最后一个的下标是n-1 4.一维数组在内存中的存储5.sizeof计算数组元素个数可以计算元素个数并…

计算机工作原理:进程调度

在计算机中&#xff0c;什么是进程&#xff1f;一个跑起来的程序就是一个进程&#xff0c;没跑起来就只能算一个程序。 在windows的任务管理器中&#xff0c;可以很清楚的看到有哪一些进程。 进程&#xff08;progress&#xff09;也叫任务&#xff08;task&#xff09;。 每…

侯捷 C++面向对象编程笔记——10 继承与虚函数

10 继承与虚函数 10.1 Inheritance 继承 语法&#xff1a;:public base_class_name public 只是一种继承的方式&#xff0c;还有protect&#xff0c;private 子类会拥有自己的以及父类的数据 10.1.1 继承下的构造和析构 与复合下的构造和析构相似 构造是由内而外 Container …

UML-活动图

目录 一.活动图概述: 1.活动图的作用&#xff1a; 2.以下场合不使用活动图&#xff1a; 3.活动图的基本要素&#xff1a; 4.活动图的图符 4.1起始状态 4.2终止状态 4.3状态迁移 4.4决策点 4.5同步条:表示活动之间的不同 5.活动图: 二.泳道&#xff1a; 1.泳道图&a…

有人管一管小天才电话手表吗?

作者 | 张未 来源 | 洞见新研社 潮流果然是个圈&#xff0c;曾经风靡2008年的“摇一摇”重回我们的视野当中。 这个对于成年人有些过时的产物&#xff0c;以儿童手表为载体&#xff0c;正入侵着小学生的社交圈&#xff0c;成为儿童的“社交密码”。 “碰一碰”加好友&#x…

vue3+ts 动态导入多文件组件

1、在components文件夹中新建index.ts文件&#xff08;components文件夹下为创建的组件&#xff09; // index.ts const modules import.meta.globEager("./*.vue"); //参数为组件路径 let componentsOpts {}const getCaption (obj, str, z: boolean) > {let…

php获取随机不重复数字(封装函数直接拿来用)

在PHP中获取随机值这种操作非常常见&#xff0c;比如订单号&#xff0c;密码加密&#xff0c;以及验证码等&#xff0c;那么在本文介绍一种获取随机不重复数字的函数。 主要核心就是生成随机数函数&#xff1a;mt_rand() 由于这里获取的是不重复的随机数&#xff0c;所以需要…

亚马逊公告:订单存档政策调整,超过两年将于9月起存档

站斧浏览器获悉&#xff1a; 亚马逊新公告&#xff1a;2023年9月起&#xff0c;亚马逊美国站和欧洲站宣布将调整订单数据存档政策。这一政策的调整旨在保护客户的个人隐私和数据安全&#xff0c;从而提高客户的购物体验。据悉&#xff0c;所有历时超过两年以上的订单将按月进行…

【高频面试题】多线程篇

文章目录 一、线程的基础知识1.线程与进程的区别2.并行和并发有什么区别&#xff1f;3.创建线程的方式有哪些&#xff1f;3.1.Runnable 和 Callable 有什么区别&#xff1f;3.2.run()和 start()有什么区别&#xff1f; 4.线程包括哪些状态&#xff0c;状态之间是如何变化的4.1.…

如何将Linux上的cpolar内网穿透设置成 - > 开机自启动

如何将Linux上的cpolar内网穿透设置成 - > 开机自启动 文章目录 如何将Linux上的cpolar内网穿透设置成 - > 开机自启动前言一、进入命令行模式二、输入token码三、输入内网穿透命令 前言 我们将cpolar安装到了Ubuntu系统上&#xff0c;并通过web-UI界面对cpolar的功能有…

如何维护自己的电脑

目录 1、关于电脑选择的建议 1.1、价格预算 1.2、明确需求 1.3、电脑配置 1.4、分辨率 1.5、续航能力 1.6、品牌选择 1.7、用户评测 1.8、各个电商平台对比 1.9、最后决策 2、我的选择 3、电脑保养 3.1 外部清洁 3.2 安装软件 3.3 优化操作系统 3.4 维护硬件设…

web前端之CSS

文章目录 一、CSS简介1.1 CSS语法规则 二、CSS的引用方法2.1 定义行内样式表2.2定义内部样式表2.3链入外部样式表2.4导入外部样式表 三、CSS选择符3.1 基本选择符3.1.1 标签选择符3.1.2 class类选择符3.1.3 id选择符 3.2 复合选择符3.2.1 交集选择符&#xff08;合并选择器&…

Docker安装Hadoop分布式集群

一、准备环境 docker search hadoop docker pull sequenceiq/hadoop-docker docker images二、Hadoop集群搭建 1. 运行hadoop102容器 docker run --name hadoop102 -d -h hadoop102 -p 9870:9870 -p 19888:19888 -v /opt/data/hadoop:/opt/data/hadoop sequenceiq/hadoop-do…

将matlab中工作区的数据保存为.mat文件及加载.mat数据

将matlab工作区中的数据保存为.mat文件 如数据a a[1 1 2 3 2 4];一、工作区数据 二、保存为.mat文件 利用save保存数据a到data.mat文件中 save(data.mat,a);三、加载数据 Iload(data.mat)

SEO搜索引擎优化

目录 场景 内部业务To B (Business-to-Business&#xff0c;B2B)需要降低SEO&#xff0c;反爬 客户业务To C (Business-to-Consumer&#xff0c;B2C)需要提高SEO TDK优化 Title&#xff08;标题&#xff09; Description&#xff08;描述&#xff09; Keywords&#xff…

matplotlib fig.legend()常用参数 包括位置调整和字体设置等

一、四种方法 legend() legend(handles, labels) legend(handleshandles) legend(labels)1 legend() labels自动通过绘图获取&#xff08;Automatic detection of elements to be shown in the legend&#xff09; # 第一种方法 ax.plot([1, 2, 3], labelInline label) ax.l…

Redis过期键删除策略

如果一个键过期了&#xff0c;那么它什么时候会被删除呢? 这个问题有三种可能的答案&#xff0c;它们分别代表了三种不同的删除策略&#xff1a; 1.定时删除&#xff1a;在设置键的过期时间的同时&#xff0c;创建一个定时器(timer)&#xff0c;让定时器在键的过期时间来临时…

Samba在Windows 11的网上邻居中不能显示

Centos 7 上的Samba服务器搭建好。在以前的Centos6上搭建的Samba一直都能正常显示在Windows 7、10、11的网络邻居中的&#xff0c;并且安卓设备的网络邻居也都可以显示出Samba&#xff0c;而现在只有Windows 7、10以及安卓设备能在网络邻居里显示Samba共享。甚至今天在完成所有…

java.sql.Date java.util.Date

文章目录 两者关系两者在时间显示上区别 两者关系 sql包中Date是util包子类 public class Date extends java.util.Date 两者在时间显示上区别 /*** 解决sql包中日期和util包日期转换问题*/Testpublic void t3(){Date utilDate new Date();java.sql.Date sqlDate new java.…