当前位置: 首页 > news >正文

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

系列文章链接
论文一:2020 Informer:长时序数据预测
论文二:2021 Autoformer:长序列数据预测
论文三:2022 FEDformer:长序列数据预测
论文四:2022 Non-Stationary Transformers:非平稳性时序预测
论文五:2022 Pyraformer:基于金字塔图结构的时序预测
论文六:2023 Crossformer:多变量时序预测
论文七:2023 LTSF-Linear:质疑transformer能力的线性预测模型

文章地址: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.lryc.cn/news/123047.html

相关文章:

  • 机器学习 | Python实现GBDT梯度提升树模型设计
  • elementUi表单恢复至初始状态并不触发表单验证
  • 大模型相关知识
  • 无法在 macOS Ventura 上启动 Multipass
  • 算法通关村第六关——原来如此简单
  • 企业权限管理(八)-登陆使用数据库认证
  • 第一百二十五天学习记录:C++提高:STL-deque容器(下)(黑马教学视频)
  • 案例12 Spring MVC入门案例
  • 【React】精选10题
  • VS Spy++进程信息获取
  • Java课题笔记~ SpringMVC概述
  • SOPC之NIOS Ⅱ遇到的问题
  • uniapp uni-datetime-picker 日期和光标靠右
  • 关于axios请求中的GET、POST、PUT、DELETE的一些认知
  • go-zero 是如何做路由管理的?
  • Springboot集成ip2region离线IP地名映射-修订版
  • 智能驾驶系列报告之一:智能驾驶 ChatGPT时刻有望来临
  • 设计HTML5文档结构
  • vue echarts中按钮点击后修改值 watch数据变化后刷新图表
  • React antd tree树组件 - 父子节点没有自动关联情况下 - 显示半选、全选状态以及实现父子节点互动
  • 优漫动游 大厂需要什么样的ui设计师呢?
  • TiDB Bot:用 Generative AI 构建企业专属的用户助手机器人
  • uniapp 使用canvas画海报(微信小程序)
  • TiDB 应急运维脚本,更加方便的管理TiDB集群
  • 第二部分:AOP
  • 分享一组天气组件
  • 微服务中RestTemplate访问其他服务返回值转换问题
  • Centos7.9上(离线)安装Gitlab
  • pikachu中RCE出现乱码的解决的方案
  • airflow是什么