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

图片

论文标题: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.xdnf.cn/news/142226.html

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

相关文章

24/9/16 算法笔记 评估模型

评估机器学习模型的性能是一个关键步骤,它可以帮助我们了解模型在实际应用中的表现。以下是一些常用的评估模型的方法: 准确率(Accuracy): 最常见的评估指标,表示正确预测的样本数占总样本数的比例。 精确度…

Linux命令:文本处理工具sed详解

目录 一、概述 二、用法 1、基本语法 2、常用选项 3、命令格式 4、编辑命令 5、获取帮助 三、 示例 1、替换字符串 2、删除行 (1)删除包含"string"的所有行 ​编辑 (2)删除从第1行到第10行的所有行 3、插…

MySQL篇(运算符)(持续更新迭代)

目录 一、简介 二、运算符使用 1. 算术运算符 1.1. 加法运算符 1.2. 减法运算符 1.3. 乘法与除法运算符 1.4. 求模(求余)运算符 2. 比较运算符 2.1. 等号运算符 2.2. 安全等于运算符 2.3. 不等于运算符 2.4. 空运算符 2.5. 非空运算符 2.6.…

java -- JDBC

一.JDBC概述: 过java语言操作数据库中的数据。 1.JDBC概念 JDBC(Java DataBase Connectivity,java数据库连接)是一种用于 执行SQL语句的Java API。JDBC是Java访问数据库的标准规范,可以 为不同的关系型数据库提供统一访问,它由…

CORS跨域请求共享

参考文章: https://xz.aliyun.com/t/12001?time__1311GqGxRGiti%3Dd052x%2BxCwx7qGIxpbDulE%3DoD https://blog.csdn.net/weixin_46622976/article/details/128452494 跨域资源共享 自己的理解,一般来讲,我们使用未授权的接口漏洞,都是因…

Django学习实战篇四(适合略有基础的新手小白学习)(从0开发项目)

前言: 在本章中,我们开始编写面向用户的界面,其中只涉及简单的HTML结构,不会做太多美化,目的就是把后台创建的数据展示到前台。 从技术上来讲,这一节将涉及Django 中function view和 class-based view 的用…

robosuite基础教程(一)——基本概念

robosuite和robomimic都是由ARISE Initiative开发的开源工具,旨在推进机器人学习和机器人操作领域的研究。 一、基本概念 robosuite是一个由MuJoCo物理引擎驱动的模拟框架,专为机器人学习设计。它提供了一套基准环境,是Advancing Robot Int…

Linux实操笔记2 Ubuntu安装Nginx的不同方法

今天来了解Ubuntu或者说Linux系统安装Nginx的几种办法。包括从Ubuntu的库安装到官方源码编译安装。 一、Nginx是什么? 以下是来自Nginx中文文档的内容。 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器:相比…

瓶中水位检测系统源码分享

瓶中水位检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

研1日记13

正态分布: toTenor:转数字变为0-1 加载模型: model youmodel() model.load("路径") 测试单个样本:

模特妙善:一位多才多艺的短视频达人,绽放新光彩

模特妙善,在当今多元化的网络时代,短视频已成为人们生活中不可或缺的一部分。而在这一领域中,有一位以其独特魅力和多才多艺而备受瞩目的达人,她就是妙善,本名高艳芳。 模特妙善,出生于山西省的著名景点——…

fiddler抓包01:工具介绍

课程大纲 fiddler是一款常见的抓包工具,可以对web端和移动端的接口请求进行抓包(截获)、分析、编辑、模拟等,还可以导出jmeter、Loadrunner测试脚本。 1、原理 fiddler作为代理服务器,拦截请求和服务器响应。 2、使用…

PCIe进阶之TL:Request Handling Rules

1 Handling of Received TLPs 本节介绍接收到的 TLP 在数据链路层经过完整性验证之后,这些 TLP 在事务处理层时的处理方式。这些规则如下图所示: 接收侧会忽略保留字段。如果 Fmt 字段显示存在至少一个 TLP Prefix : (1)通过检查后续 DWORD 的第一个字节中的 Fmt 字段,…

【数据结构】第八节:链式二叉树

个人主页: NiKo 数据结构专栏: 数据结构与算法 源码获取:Gitee——数据结构 一、二叉树的链式结构 typedef int BTDataType; typedef struct BinaryTreeNode {BTDataType data;struct BinaryTreeNode* left; // 左子树根节点struct BinaryT…

day01 - Java基础语法

第一章 Java概述 1995年美国Sun推出Java,2009年Sun公司被甲骨文收购 Java之父:詹姆斯高斯林(James Gosling) Java编译器将源程序编译成与平台无关的字节码文件(class文件),然后由JVM对字节码文件解释执行。不同操作系统&#xf…

71、哪吒开发板试用结合oak深度相机进行评测

基本思想:收到intel的开发板-小挪吒,正好手中也有oak相机,反正都是openvino一套玩意,进行评测一下,竟然默认是个window系统,哈哈

鸿蒙媒体开发系列01——资源分类访问

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。 1、概述 应用开发过程中,经常需要用到颜色、字体、间距、图片等资源&am…

Vue3+Element Plus:使用el-dialog,对话框可拖动,且对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息

【需求】 使用Element Plus中的el-dialog默认是模态的(即它会阻止用户与对话框外部的元素进行交互),对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息,且对话框可拖动 【…

双三次插值及MATLAB实现

一、双三次插值的概念 双三次插值(Bicubic interpolation),又叫双立方插值。在数值分析这个数学分支中,双三次插值是二维空间中最常用的插值方法。在这种方法中,函数f在点 (x0 ,y0) 的值不仅考虑其直接邻接点对其的影响…

mybatis开启日志

步骤很详细,直接上教程 配置文件的文件格式可能有所不同,这里列举两种 配置方法 一. application.properties(默认 # 配置mybatis的日志信息 mybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl二. application.y…