阅读笔记 | Transformers in Time Series: A Survey

阅读论文:

Wen, Qingsong, et al. “Transformers in time series: A survey.” arXiv preprint arXiv:2202.07125 (2022).

这篇综述主要对基于Transformer的时序建模方法进行介绍。论文首先简单介绍了Transformer的基本原理,包括位置编码、多头注意力机制、前馈全连接网络等模块。接着提出了从网络结构和应用领域两个角度对时序Transformer进行分类。

  • 从网络结构角度,总结了在模块级别和架构级别对Transformer进行的改进,以适应时序建模的特点

    • 位置编码模块
      • 简单位置编码:经典Transformer中用到的,手工设计,能提取位置信息但无法充分利用时序数据的重要特征
      • 可学习位置编码:使用别的模型或增加Transformer嵌入层来学习时序的位置编码的向量表示,获得更灵活更expressive的位置编码
      • 时间戳编码:在Informer和Autoformer里将年月日时分秒和节假日等作为额外的位置编码信息,通过可学习位置编码方法得到其向量表示
    • 注意力模块
      • 引入稀疏偏差到注意力机制来降低普通注意力机制的平方复杂度
      • 探索自注意力矩阵的低秩特性来加速计算(例如Informer和FEDformer)
    • 分层架构设计
      • 基于max-pooling下采样实现分辨率折半(Informer)
      • 基于C叉树以不同分辨率序列作为节点,并设计相同分辨率尺度和不同分辨率尺度间的注意力机制以捕获其分辨率尺度间的时间依赖(Pyraformer)
  • 从应用角度,概述了Transformer在预测、异常检测和分类任务中的不同变体的应用情况。

    • 预测

      • 时序预测

        • 模块级的变体

          • 设计新的注意力模块(占大部分研究)
            请添加图片描述

            • LogTrans:提出卷积自注意力,使用因果卷积来生成自注意力层的queries和keys,并引入稀疏bias和Logsparse mask到自注意力层
            • Informer:根据queries和keys相似度选择主要的queries,还设计了生成式的decoder来避免在长期预测时做单步自回归预测的累积误差
            • AST:使用生成对抗编码器-解码器框架训练稀疏Transformer模型做时序预测,也可以避免累积误差
            • Pyraformer:设计了一个分层金字塔状注意力模块,基于上述的C叉树捕获不同分辨率时序的时间依赖
            • Quatformer:基于四元数提出learning-to-rotate注意力,引入了可学习的周期和相位信息使得模型可以学习到复杂的时序周期模式
            • FEDformer:通过傅里叶变换和小波变换在频域实现注意力操作以降低计算与存储复杂度
          • 增强可解释性

            • TFT:设计了一个针对多种输入数据优化的multi-horizon预测模型,通过合并全局、时序依赖和事件来实现可解释性
            • ProTran:Transformer和状态空间模型(SSM)结合,实现基于变分推理的生成建模和推理
            • SSDNet:Transformer和SSM结合,用Transformer学习时间模式并估计SSM参数,再用SSM对时序数据进行季节性趋势分解以实现可解释性
          • 探索新的时序数据标准化方法

            • 目前只有Non-stationary Transformer:探索了时序预测任务中的过度平稳化问题,并实现了用于序列平稳化和去平稳化的插件模块
          • 利用token输入的偏差

            • Autoformer:基于分段表示机制,设计了季节性趋势分解架构。
            • PatchTST:利用通道无关实现多通道序列embedding共享,子序列patch设计分割时序数据为子序列patch作为Transformer输入
            • Crossformer:利用了跨维度依赖进行多元时序预测,通过维度分段embedding将输入嵌入到二维向量以保留时间和维度信息,并用两阶段注意力层来捕获这种跨维度依赖。
        • 架构级的变体

          • Triformer:三角树形结构,轻量且线性复杂度
          • Scaleformer:提出多时间尺度架构,并可通过在多尺度上共享参数地迭代细化预测时间序列来提高性能
      • 时空预测

        • Traffic Transformer:加上图神经网络模块捕获空间依赖性
        • Spatial-temporal Transformer:在前者基础上加上了空间的Transformer block和图卷积神经网络来更好捕获空间依赖性
        • Spatio-temporal graph Transformer:设计了基于注意力的图卷积机制来学习复杂时空注意力模式
        • Earthformer:提出立方体注意力机制,将数据分解为立方体并应用该机制
      • 事件预测(不规则且时间间距不等的事件序列)

        • 在传统时间点过程(TPP)方法上结合Transformer,通过嵌入所有可能时间和时间来扩展该方案
    • 异常检测(可用于电力数据的跳变异常点检测)

      • TranAD提出使用对抗训练来放大重建误差,增强Transformer的异常检测能力。
      • MT-RVAE 设计了多尺度Transformer,同时整合全局和局部时序信息。
      • TransAnomaly将Transformer与VAE结合,实现训练成本的大幅降低。
      • GTA 借鉴图神经网络思想,模拟变量之间的影响传播机制。
      • AnomalyTrans通过建模先验关联和序列关联的方式增强异常点的区分度。
    • 分类任务

      • GTN使用双塔结构分别建模时间步和通道注意力,通过可学习加权融合特征,在多元时间序列分类任务上取得SOTA
      • [Rußwurm and Körner, 2020] 应用基于自注意力的Transformer获得了卫星图像时间序列分类的SOTA
      • TARNet设计了学习任务相关数据重构的Transformer,利用mask和重构时间步的注意力机制提升了分类性能
      • [Yuan and Lin, 2020] 在卫星图像时间序列分类中应用了自监督预训练的Transformer来缓解数据不足
      • [Zerveas et al., 2021] 提出了无监督预训练框架,使用比例mask数据进行模型预训练后微调
      • [Yang et al., 2021] 使用预训练语音模型进行时间序列分类任务迁移学习,在多个数据集上获

该论文还通过实验分析了 Transformer在时序建模中的鲁棒性、模型大小和季节性分解等多个方面。作者在ETTm2数据集上针对不同配置的时序Transformer进行了实验分析,以研究它们在时序建模中的工作方式。

鲁棒性分析表明,许多仔细设计的Transformers在输入序列加长时,性能快速恶化。这使它们在长期预测中实际效果有限。需要更多工作来充分利用长序列输入。

模型大小分析发现,增加Transformer层数并不一定改善预测效果,3-6层的Transformer通常效果更好。这提出了如何设计更深层Transformer架构的问题。

季节性-趋势分解分析发现,这种分解可以显著提升Transformer在时序预测中的表现,不同模块提升幅度在50-80%。这一发现值得进一步研究设计更高级的分解方案。

最后文章提出了未来可能的研究方向,包括为时序Transformer引入先验偏置、与图神经网络结合、预训练模型、架构级变体设计和神经架构搜索等。

个人思考

  • 该调研在时空预测方面的调研启发了对图神经网络的利用,而在电力负荷预测中的某些场景,也许可以对电网结构进行考虑,将电网的拓扑结构、输电距离和输电损耗等等要素加以考虑,并以立方体Transformer等方法将空间信息数据的embedding向量放到Transformer进行处理。
  • 在Transformer应用于异常检测的方面,无监督Transformer被广泛研究。但在考虑进一步应用落地到电力行业时,例如用于电负荷突变点等异常点检测时,可能需要考虑到如TFT中对多种数据源的利用,特别是未来可知数据的输入。能否将无监督重建任务范式与TFT中这种输入数据模式进行结合是一个值得思考的问题。

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

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

相关文章

OPENAI SORA:未来视频创作的新引擎——浅析其背后的人工智能算法

Sora - 探索AI视频模型的无限可能 随着人工智能技术的飞速发展,AI视频模型已成为科技领域的新热点。而在这个浪潮中,OpenAI推出的首个AI视频模型Sora,以其卓越的性能和前瞻性的技术,引领着AI视频领域的创新发展。本文将探讨SORA的…

回归预测 | Matlab实现RIME-BP霜冰算法优化BP神经网络多变量回归预测

回归预测 | Matlab实现RIME-BP霜冰算法优化BP神经网络多变量回归预测 目录 回归预测 | Matlab实现RIME-BP霜冰算法优化BP神经网络多变量回归预测预测效果基本描述程序设计参考资料 预测效果 基本描述 1.Matlab实现RIME-BP霜冰算法优化BP神经网络多变量回归预测(完整…

自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

文章目录 一、自动化测试1、什么是自动化测试?2、手工测试 vs 自动化测试3、自动化测试常见误区4、自动化测试的优劣5、自动化测试分层6、什么项目适合自动化测试 二、Selenuim1、小例子2、用法3、页面操作获取输入内容模拟点击清空文本元素拖拽frame切换窗口切换/标…

十五 超级数据查看器 讲解稿 外观设置

十五 超级数据查看器 讲解稿 外观设置 视频讲座地址 讲解稿全文: 大家好,今天讲解超级数据查看器,详情界面的外观设置。 首先,我们打开超级数据查看器。 本节课以成语词典为例来做讲述。 我们打开成语词典这个表,随便选一条记录点击&#x…

AutoSAR(基础入门篇)13.4-Mcal Dio代码分析

目录 一、文件结构 二、动态代码 1、arxml文件 2、Dio_Cfg.h 3、Dio_PBCfg.c 4、小结

【虚拟机安装centos7后找不到网卡问题】

最近开始学习linux,看着传智播客的教学视频学习,里面老师用的是centos6.5,我这边装的是centos7最新版的 结果到了网络配置的这一节,卡了我好久。 我在centos一直找不到我的网卡eth0,只有一个回环网口,在/…

什么是MVC和MVVM

**MVC和MVVM是两种流行的软件架构模式,它们在前端开发中被广泛采用来组织代码和管理应用程序的复杂性**。具体如下: MVC(Model-View-Controller): 1. 模型(Model):负责管理数据和业…

软考高级:主动攻击和被动攻击概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

第五套CCF信息学奥赛c++练习题 CSP-J认证初级组 中小学信奥赛入门组初赛考前模拟冲刺题(选择题)

第五套中小学信息学奥赛CSP-J考前冲刺题 1、不同类型的存储器组成了多层次结构的存储器体系,按存取速度从快到慢排列的是 A、快存/辅存/主存 B、外存/主存/辅存 C、快存/主存/辅存 D、主存/辅存/外存 答案:C 考点分析:主要考查计算机相关知识&…

静态链表(3)

尾插函数 尾插就比头插多了一步找尾巴,其他均一样 尾插步骤画图 1.找到空闲结点3 2.空链踢空点,穿透删除 先绑后面 再接前面,就完成插入了 综上所述,静态链表就是处理两条链表,静态链表总的执行一次插入或删除&#…

Netty NIO ByteBuffer 简单实验

1.概要 准备学一下Netty,先从NIO的三大组件开始。先ByteBuffer 2.代码 2.1 主函数 package com.xjc.springcloundtest;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.nio.ByteBuffer; import java.nio…

【大厂AI课学习笔记NO.62】模型的部署

我们历尽千辛万苦,总算要部署模型了。这个系列也写到62篇,不要着急,后面还有很多。 这周偷懒了,一天放出太多的文章,大家可能有些吃不消,从下周开始,本系列将正常更新。 这套大厂AI课&#xf…

[python] dict类型变量写在文件中

在Python中,如果你想要将一个字典变量以具有可读性的格式写入文件,并且指定缩进为2个空格,你可以使用json模块来实现。json模块提供了一种很方便的方法来进行序列化和反序列化Python对象。下面是一个具体的示例: 字典变量以具有可…

【剑指offer--C/C++】JZ3 数组中重复的数字

一、题目 二、本人思路及代码 这道题目它要求的时间空间利用率都是n,那么可以考虑创建一个长度为n的数组repeat初始化为0,下标代码出现的数字,下标对应的数组内容代表该下标数字出现的次数。然后遍历提供的数组,每出现一个数字&a…

超详细多表查询详解-多表关系-多表查询-子查询

多表关系 一对多关系:这是最常见的关系类型,它表示在两个表之间,一个表中的记录可以与另一个表中的多个记录相关联。例如,一个班级(父表)可以有多个学生(子表),但每个学…

市场复盘总结 20240301

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 40% 最常用的…

Linux高级编程:进程(一)

1、进程 1.1什么是进程&#xff1a;进行中的程序&#xff08;正在运行中的程序&#xff09;-process过程 程序的一次执行过程 - 进程 hello.c -- 程序源代码 a.out -- 可执行程序 1.2程序和进程的关系&#xff1a; 程序<------>进程 1.3进程怎么来的&#xff1a; 程…

http 协议深入介绍

一&#xff0c;http 相关概念 &#xff08;一&#xff09;关键名词 1&#xff0c;互联网 是网络的网络&#xff0c;是所有类型网络的母集 2&#xff0c;因特网 世界上最大的互联网网络。即因特网概念从属于互联网概念。习惯上&#xff0c;大家把连接在因特网上的计算机都成…

码界深潜:全面解读软件工程的艺术与科学

&#x1f3e1; 基石构筑篇——软件工程基础理论及技能 &#x1f522; 编程语言选型与精修 于软件工程之浩瀚宇宙中&#xff0c;编程语言犹如各色画笔&#xff0c;每种语言的特性对应不同的创作领域。譬如Java倚仗跨平台兼容性和强大的面向对象机制&#xff0c;在企业级应用程序…

【大厂AI课学习笔记NO.59】(12)过拟合与欠拟合

拟合就是调整参数和模型&#xff0c;让结果无限接近真实值的过程。 我们先来了解个概念&#xff1a; 偏差-方差窘境&#xff08;bias-variance dilemma&#xff09;是机器学习中的一个重要概念&#xff0c;它涉及到模型选择时面临的权衡问题。 偏差&#xff08;Bias&#xf…