时序必读论文10|ICLR23 Crossformer 跨维度依赖的多变量时序预测模型

news2024/12/23 15:05:10

图片

论文标题:iCROSSFORMER : TRANSFORMER UTILIZING CROSS DIMENSION DEPENDENCY FOR MULTIVARIATE TIME SERIES FORECASTING

开源代码:https://github.com/Thinklab-SJTU/Crossformer

前言

Crossformer是一篇非常典型的在transformer基础上魔改注意力机制的文章,这虽然现在时间序列中的多尺度、注意力基本已经做到头了,但是作为一篇学习论文,质量很高,值得阅读。另外,这篇文章也算是为patch找到了依据。Transformer的核心之一是注意力机制,而基础Transformer时序预测的注意力机制主要建模同一变量不同时刻的相关性(文中称跨时间依赖,如下图b),却忽视了不同变量之间的依赖性(文中称之为跨维度依赖,如下图c)。为了填补这一空缺,本文提出了 Crossformer,利用跨维度依赖性进行多变量时序预测。 

图片

图1

Crossformer 中,输入多维变量通过DSW(Dimension-Segment-Wise )过程嵌入为2D向量数组,保留时间和维度信息。然后提出TSA(Two-Stage Attention)两阶段注意力机制捕获跨时间和跨维度的依赖关系。利用DSW嵌入和TSA层,Crossformer建立了一个分层编码器-解码器(HED),以使用不同尺度的信息进行最终预测。对六个真实世界数据集的广泛实验结果表明,Crossformer相对于以往的最新技术的有效性。

上图中图c显示本文是不同时间、不同维度进行嵌入。

本文工作

1、DIMENSION - SEGMENT-WISE EMBEDDING(DSW)

本文的第一个创新点在于时序数据的embedding,我们先看图1。图1(a)显示了用于多变量时间序列预测的原始Transformer的典型注意力分数图。我们可以看到,注意力值有一种分段的趋势即相邻的数据点具有相似的注意力权重

基于以上两点,作者认为嵌入向量应该表示单个维度的一系列segment,如图1(c),而不是单个时间步中所有维度的值,图1(b)。为此作者提出Dimension-Segment-Wise(DSW)嵌入,其中每个维度中的点被分成长度为 L seg 的段。

图片

直观上理解,这是一种类似patch的分段策略,将嵌入的一维向量序列分成段以计算段相关性,以增强局部性并减少计算复杂性。

2、TWO-STAGE ATTENTION LAYER

这一部分作者提出两阶段注意力(TSA)层,以捕获二维向量数组之间的跨时间和跨维度依赖关系,如图2(a)所示:

跨时间步注意力机制(Cross-Time Stage)

作者直接对每个维度应用了多头自注意力,我们使用Z_i,: 来表示在时间步i时所有维度的向量,用Z:,d 表示在维度d中所有时间步的向量。

图片

MLP 表示多层(本文中为两层)前馈网络;MSA(Q, K, V) 表示多头自注意力层,其中Q, K, V 分别充当查询、键和值矩阵。所有维度(1 ≤ d ≤ D)共用相同的 MSA 层。Z^time 表示MSA和MLP输出的结果。

跨时间阶段的计算复杂度是O(DL^2)。在这一阶段之后,同一维度中时间段之间的依赖关系被捕捉在Z^time中。然后Z^time成为跨维度阶段的输入,以捕获跨维度的依赖关系。

图片

图2

跨维度注意力机制

在跨维度注意力机制阶段,作者没有简单地分割维度并直接应用多头自注意力机制(MSA)。因为这将导致计算复杂度达到O(D^2)(如图2(b)所示),D代表特征的个数,D相当大的数据集来说开销过大。为了应对这个问题,作者提出了一种路由器机制。如图2(c)所示,作者为每个时间步长i,设置了一个固定的(远小于D)的可学习向量作为路由器,公式中的R。首先使用这些路由器作为查询Q,利用注意力机制从所有维度收集信息,其中所有维度的向量充当KV。然后,路由器将收集到的信息按照维度分发,这一过程中采用维度向量作为Q,而聚合的信息作为KV。通过此方法,作者构建了D个维度间的全面连接关系。

图片

3、HIERARCHICAL ENCODER-DECODER

Crossformer中带有3层编码器的层次编解码器结构。每个向量的长度表示所涵盖的时间范围。编码器(左侧)使用TSA层和部分合并来捕捉不同尺度上的依赖性:上层中的向量涵盖更长的范围,从而在较粗略的尺度上形成依赖性。通过探索不同的尺度,解码器(右侧)通过在每个尺度上进行预测并将它们相加来做出最终预测。

图片

实验结果

图片

Crossformer在大多数数据集上展示了领先的性能,在不同的预测长度设置上,它在总共58个案例中取得了36个第一名和51个第二名的成绩。


 欢迎大家关注我的公众号【科学最top】,专注于时序高水平论文解读,回复‘论文2024’可获取,2024年ICLR、ICML、KDD、WWW、IJCAI五个顶会的时间序列论文整理列表和原文。

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

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

相关文章

k8s使用本地docker私服启动自制的flink集群

目标:使用本地flink环境自制flink镜像包上传到本地的私服,然后k8s使用本地的私服拉取镜像启动Flink集群 1、将本地的flink软件包打包成Docker镜像 从官网下载flink-1.13.6的安装包,修改其中的flink-conf.yaml,修改下面几项配置 …

鸿蒙开发之ArkTS 基础九 枚举类型

枚举把变量固定在特定的范围内 枚举的语法: enum 枚举名字 { 常量1 值1, 常量1 值1, 常量1 值1, ... } 定义具体如下: 使用具体如下:

【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)

摘要 为了克服常规PID控制方法在无人机俯仰姿态控制中的不足,本研究设计了一种基于模糊自适应PID控制的控制律。通过引入模糊控制器,实现了对输入输出论域的优化选择,同时解决了模糊规则数量与控制精度之间的矛盾。仿真结果表明,…

【探索数据结构与算法】希尔排序原理、实现与分析(图文详解)

目录 一、 引言 二、算法思想 三、算法步骤 四、代码实现 五、复杂度 💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:探索数据结构与算法 一、 引言 希尔排序(Shell Sort)是插入排序的一种更高效的改进版本&#x…

vulnhub靶机:Skytower

下载 下载地址:https://www.vulnhub.com/entry/skytower-1,96/ 导入靶机 解压发现是VirtualBox格式的,下载一个VirtualBox:Downloads – Oracle VirtualBox 选择解压后的vbox文件,然后点击左上角管理 点击导出虚拟电脑&#xff…

Datawhale------Tiny-universe学习笔记——Qwen

1. Qwen整体介绍 对于一个完全没接触过大模型的小白来说,猛一听这个名字首先会一懵:Qwen是啥。这里首先解答一下这个问题。下面是官网给出介绍:Qwen是阿里巴巴集团Qwen团队研发的大语言模型和大型多模态模型系列。其实随着大模型领域的发展&a…

卡尔曼滤波中Q和R与噪声的关系

卡尔曼滤波 一种用于估计系统状态的递归滤波器,通过融合传感器测量和系统模型,提供系统状态的最优估计。 Q和R是什么 在卡尔曼滤波中,Q和R分别表示过程噪声和测量噪声的协方差矩阵。 Q Q Q矩阵(过程噪声协方差矩阵)…

电子连接器温升仿真教程 一

电子连接器温升是指电子连接器的所有端子在施加额定电载荷的情况下,经过一段时间后,达成热平衡,连接器局部温度不再继续升高,此时规定测试点的温度与测试环境温度的差值。连接器的温升规格值因其应用环境不同,而不同。工业应用,且不与人体接触的电子连接器一般允许温升会…

日系编曲:电吉他音色制作 拾音器选择 电吉他音色制作逻辑 音箱分类 效果器单块分类

拾音器选择 拾音器:获取琴弦震动产生电信号经过线材传输到音箱(amp)使听众听到 一般的电吉他分为三块和两块拾音器,挡位分为三档或五档 Bridge(琴桥拾音器):声音更加清晰,音色更突…

[JAVA]介绍怎样在Java中通过字节字符流实现文件读取与写入

一,初识File类及其常用方法 File类是java.io包下代表与平台无关的文件和目录,程序中操作文件和目录,都可以通过File类来完成。 通过这个File对象,可以进行一系列与文件相关的操作,比如判断文件是否存在,获…

第3步VM的虚拟机无法用网络安装直接改用CDROM镜像包安装软件

精简版的CentOS只有ip add可用 ping命令可用其它软件版本太低都不能用,改用光盘镜像来安装软件。 步骤:1、修改Vm的设置,将光盘映像改为ISO文件。 步骤:2、在centos挂载cdrom 步骤:3、挂载成功后直接安装软件 发现软件…

认知杂谈68《燃爆!兄弟萌不可错过的人生开挂宝典》

内容摘要​: 生活如舞台,我们要做自己人生的导演兼主演。实现自我成长需打牢基础,如读《认知觉醒》等书并制定成长计划。 要向上生长,定短期和长期目标,学新技能、提升沟通能力,可借助在线平台和社群。用番…

面试经典150题——多数元素

目录 题目链接:169. 多数元素 - 力扣(LeetCode) 题目描述 示例 提示: 解法一:哈希表 Java写法: C写法: 解法二:它就在那里 Java写法: C写法: 解法…

求n至少为多大时,n个1组成的整数能被2013整除

题目&#xff1a;编写程序&#xff0c;求n至少为多大时&#xff0c;n个1组成的整数能被2013整除 #include<iostream> using namespace std; int main(){int n1;int m1;while(m%2013!0){m(m%2013)*101;n;}cout<<n<<endl;return 0; } 思路&#xff1a;直接用n…

2024年上海小学生古诗文大会倒计时一个月:做几道2024官方模拟题

2024年上海市小学生古诗文大会自由报名活动的初赛日期于10月19日开始&#xff0c;距离今天只有33天了。 那么如何准备2024年的小学生古诗文大会的自由报名初选呢&#xff1f;吃透&#xff08;记熟&#xff09;2024年小学生古诗文阅读专辑上的题目、知识点和往年真题及知识点。…

Linux memcg lru lock提升锁性能

内核关于per memcg lru lock的重要提交&#xff1a; f9b1038ebccad354256cf84749cbc321b5347497 6168d0da2b479ce25a4647de194045de1bdd1f1d 计算虚拟地址转换基本机制 为了处理多应用程序的地址冲突&#xff0c; linux 系统在应用中使用了虚拟地址&#xff0c;得益于硬件的…

【C++题目】1.日期差值

日期差值 题目&#xff1a; 链接&#x1f517;&#xff1a;日期差值 代码&#xff1a; #include <iostream> using namespace std; /* *思路&#xff1a; * 1. 分别求出每一个日期与0000年0月1日距离的天数 * 2. 两个距离天数相减即可得到两个日期相差的天数 *///平年…

AIGC图片相关知识和实战经验(Flux.1,ComfyUI等等)

最近看了网上的一些新闻&#xff0c;flux.1火出圈了&#xff0c;因此自己也尝试跑了一下&#xff0c;作图的质量还是蛮高的&#xff0c;在这里做个知识总结回顾。 flux.1是什么&#xff1f; 根据介绍&#xff0c;flux.1是由stable diffusion 一作&#xff0c;Stability AI的核…

基于ssm的个性化影片推荐系统设计与实现

需要项目源码请联系我&#xff0c;目前有各类成品 毕设 javaweb ssh ssm springboot等等项目框架&#xff0c;源码丰富。 专业团队&#xff0c;咨询就送开题报告&#xff0c;活动限时免费&#xff0c;有需要的朋友可以来咨询。 一、摘要 随着科学技术的飞速发展&#xff0c;社…

matlab DFT的点数与周期

只需要0——N-1个点就可以算得另一个域全部的信号 周期 时域信号的全部长度时一个周期&#xff0c;所以时域的周期化没有混叠 频域的周期与采样率有关&#xff0c;会混叠。 取一个周期进行傅里叶变换都是对于周期化后的信号取得&#xff0c;由于时域周期化不混叠&#xff0c;所…