论文笔记-时序预测-Triformer

news2025/1/14 0:57:09

在这里插入图片描述

论文标题:
Triformer: Triangular, Variable-Specific Attentions for Long Sequence Multivariate Time Series Forecasting
论文链接:
https://arxiv.org/abs/2204.13767v1
代码链接:
https://github.com/razvanc92/triformer

摘要

各种现实应用依赖于遥远未来的信息来进行决策,因此需要高效和准确的长序列多元时间序列预测。尽管最近的基于注意力的预测模型在捕捉长期依赖性方面表现出很强的能力,但它们仍然受到两个关键限制。首先,典型自注意的复杂度基于输入时间序列长度是二次的,因此效率较低。其次,不同变量的时间序列往往具有不同的时间动态,而现有的研究由于对所有变量的时间序列使用相同的模型参数空间(如投影矩阵)而未能捕捉到这一点,因此准确性不足。为了确保高效率和准确性,我们提出了Triformer,一种三角形的、变量特定的注意。(i)线性复杂度:我们引入了一种具有线性复杂度的新的小区域注意。当多层小区域注意叠加时,提出了一种三角形结构,使层尺寸呈指数递减,从而保持线性复杂度。(ii)变量特定参数:我们提出了一种轻量级方法,为不同变量的时间序列启用不同的模型参数集,以提高精度,而不影响效率和内存使用。来自多个领域的4个数据集的强有力的经验证据证明了我们的设计选择,并证明Triformer在准确性和效率方面都优于最先进的方法。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(抽象的看,有点类似于填数字的游戏,相邻数字做差法来预测未来的数字序列)

主要贡献
(i)提出了一种新颖的、有效的注意机制,即小区域注意及其三角形的多层结构。这确保了一个整体的线性复杂性,从而实现了很高的效率。(ii)提出了一种轻量级的方法来实现可变特定的模型参数,使从不同的变量中捕获不同的时间模式成为可能,从而提高准确性。(iii)对来自不同领域的四个公共的、常用的多元时间序列数据集进行了广泛的实验,证明了设计选择的合理性,并证明了该方案优于最先进的方法。

方法

线性小区域注意
在这里插入图片描述
循环连接中的门控规则
在这里插入图片描述
三角堆叠
当使用PAs时,只将小区域的伪时间戳提供给下一层,这使得层的大小以指数级缩小。更具体地说,(x+1)层的大小只有第1层的1/Sx,其中Sx是第x层的小区域大小。
在多层三角机中,每一层由不同数量的小区域组成,因此具有不同数量的输出,即伪时间戳。不是只使用每层的最后一个伪时间戳,而是将每层的所有伪时间戳聚合到一个聚合的输出中。
在这里插入图片描述
最后,将来自所有层的聚合输出连接到预测器上。这比使用最后一层的聚合输出带来两个好处。首先,聚合输出代表了来自不同时间尺度的特征,从而导致不同的时间视图。其次,它提供了多条梯度反馈短路径,从而简化了学习过程。

变量特异性模型

通过为每个变量引入不同的投影矩阵,可以实现一种简单的变量特殊建模,从而得到一个非常大的参数空间。图4 (a)显示,朴素方法需要学习每个投影矩阵的Ndd参数。这可能会导致过度转换,导致高内存使用,并且不能很好地扩展w.r.t.变量的数量为N。
为了应对上述挑战,提出了一种轻量级的方法来生成可变的特殊参数。此外,该方法是纯粹的数据驱动的,只依赖于时间序列本身,而不需要任何额外的先验知识。整个过程如图4 (b).所示首先,我们为每个变量引入一个m维内存向量M (i)∈Rm和i∈[1,N]。内存是随机初始化的和可学习的。这使得该方法纯粹是数据驱动的,并可以学习每个变量最突出的特征。
在这里插入图片描述

实验

在这里插入图片描述
在这里插入图片描述
效果还是很不错的。

总结

提出了三角结构,三角结构采用新的小区域注意,确保了线性复杂度。此外,提出了一种轻量值的方法来生成可变特定的投影矩阵,该矩阵可以捕获每个变量的时间序列的不同时间模式。

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

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

相关文章

[附源码]计算机毕业设计基于JEE平台springbt技术的订餐系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

Spring源码解析-环境变量

“不积跬步,无以至千里”。 今天聊一聊Spring中环境变量的动态添加和填充Bean属性的时候一些带“$”符号的属性值的解析问题。 因为最近做项目的时候发现了一个有意思的问题,之前也没关注过。因为项目中使用的容器类型是GenericXmlApplicationContext&a…

从GPT-3到CHAT-GPT(CHAT-GPT如何申请)

回顾2020年7月 2020年7月份有一个重大新闻,人工智能科研公司OpenAI,推出了它的新一代语言模型 GPT-3(Generative Pretrained Transformer 3),这个事情在社交媒体影响甚广,甚至有一篇文章《一个新型 AI 震惊…

动态代理详解

目录 一、动态代理_代理模式简介 二、动态代理_JDK动态代理 dynamic 三、动态代理_CGLib动态代理 四、JDK和CGLib动态代理的区别 一、动态代理_代理模式简介 代理模式是23种设计模式之一。设计模式是前人总结的,在软件开发过程遇到常用问题的解决方案&#xff0…

微服务框架 SpringCloud微服务架构 微服务保护 30 初识Sentinel 30.4 引入cloud-demo

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 微服务保护 文章目录微服务框架微服务保护30 初识Sentinel30.4 引入cloud-demo30.4.1 引入cloud-demo30.4.2 微服务整合Sentinel30 初识Sent…

尝试使用CubeMX做stm32开发之十三:Clock Configuration(时钟树配置)

参考《STM32中文参考手册_V10》,研究CubeMX中有关时钟树配置。 一、系统时钟配置 三种不同的时钟源可被用于驱动系统时钟(SYSCLK): HSI振荡器时钟HSE振荡器时钟PLL时钟 时钟源选择对应时钟配置寄存器(RCC_CFGR&…

Android -- 每日一问:修改 SharedPreferences 后两种提交方式有什么区别?

知识点 SharedPreferences 类是一个接口类,真正的实现类是 SharedPreferencesImpl 。修改 SharedPreferences 需要获取它的 Editor,在对Editor进行put操作后,最后通过 commit 或者 apply 提交修改到内存和文件。当然有了两种都可以提交的方法…

Java进程线程介绍创建和执行销毁并理解线程安全和线程池 Native Method

目录1.进程和线程2.多线程的核心3.操作系统的多任务--以非常小的时间间隔交替执行4.native 修饰的方法5.Thread创建线程的两种方式1.普遍采用实现Runnable接口的方式2.继承Thread方式6.自定义线程用 new Thread(Runnable target) 启动源码分析6.1-new Thread(myThread)6.2对实例…

mysql8.0.21安装配置方法图文教程

记录了mysql 8.0.21 的安装配置方法,分享给大家。 一、下载 1、下载安装包 mysql下载路径 2、解压压缩包 3、在此目录下新建my.ini配置文件 [mysqld] # 设置 3306 端口 port3306 # 设置 mysql 的安装目录 basedirD:\mysql-8.0.21-winx64 # 设置 mysql 数据…

破案了!不会讲笑话不会作诗的chatGPT!

热出圈的chatGPT, 必须亲手试试热出圈的chatGPT, 必须亲手试试1 猜猜我是谁2 问网传图片李白风格注释代码3 写个程序看看4 帮我猜猜世界杯(发了发了,偷笑脸)5 知道李白吗?6 那你会写诗吗?6 那你讲脑经急转弯吗&#xf…

linux服务器安装docker(学习中)

linux服务器安装docker1、docker官网寻找官方文档1.1、卸载之前的docker1.2、安装yum工具类1.3、配置docker下载源的地址1.4、安装最新稳定版的docker1.5、启动docker1.6、docker镜像下载加速2、docker-卷-映射和挂载2.1、nginx1、docker官网寻找官方文档 然后根据官网文档进行…

高性能零售IT系统的建设08-9年来在互联网零售O2O行业抗黑产、薅羊毛实战记录及打法

前言 2012年左右转入互联网应用,由于本身在学校时就涉足过远程医疗影像中的DICOM安全领域这块,因此也是机缘巧合我进入互联网第一年就遇上了一次亿级的DDOS攻击以及千万级CC攻击短信系统的对抗。那时在公司一战成名,直接从team leader升到了主…

adb remount原理

1, 输入"fastboot flashing unlock" in adb ,waiting for the device 2, 输入"fastboot flashing unlock_critical"in adb ,waiting for the device 3, 输入"fastboot reboot" reboot the stb, press any key entering the boot mode 4, after…

tensorflow入门(三)tensorflow下神经网络参数的设置

参考 Tensorflow入门 - 云社区 - 腾讯云 神经网络中的参数是神经网络实现分类或回归问题中重要的部分。在tensorflow中,变量(tf.Variable)的作用就是保存和更新神经网络中的参数的。在tensorflow中,变量(tf.Variable)的作用就是保存和更新神经网络的参…

Educational Codeforces Round 123 (Rated for Div. 2) D. Cross Coloring

Problem - D - Codeforces 翻译: 有一张纸,可以用大小为𝑛𝑚:𝑛行和𝑚列的单元格表示。所有的细胞最初都是白色的。 𝑞操作已应用到工作表。他们的𝑖-th可以描述如下: &#x1d4…

前端工程化项目的思考

这是一篇个人使用前端工程开发项目的思考,希望可以帮助到你。完全是一篇综合概念应该是很多东西,我也不清楚会有多少字,估计会对刚刚开始的人看起来比较迷,但也是没有办法的事情 1.前端脚本语言开发的作者我想应该也想不到js会发展…

Spark

1 Spark作业提交流程 2 Spark提交作业参数 1)在提交任务时的几个重要参数 executor-cores —— 每个executor使用的内核数,默认为1,官方建议2-5个 num-executors —— 启动executors的数量,默认为2 executor-memory —— executor…

【OpenCV学习】第9课:形态学操作的应用-提取水平线丶垂直线

仅自学做笔记用,后续有错误会更改 理论 图像在进行形态学操作的时候, 可以通过自定义的结构元素实现结构元素对输入图像的一些对象敏感丶对另外一些对象不敏感, 这样就会让敏感的对象改变而不敏感的对象保留输出。 通过使用两个最基本的形态学操作 - 膨…

华为云服务-运维篇-弹性负载均衡

文章目录一、什么是负载均衡二、我们为什么需要负载均衡1、生活中需要它的类似场景2、生活场景中协调者(负载均衡)作用3、协调者(负载均衡)引入后的变化三、华为云平台-如何做负载均衡弹性负载均衡-ELB四、总结一、什么是负载均衡 负载均衡构建在原有网…

【数据挖掘】薪酬分段对应工作经验/学历画柱状图【招聘网站的职位招聘数据预处理】

文章目录一.需求背景1.1 需求分析二.数据处理(对给定职位,汇总薪酬分段对应工作经验要求数据,画柱状图;)2.1 事前准备2,1 处理开始三.数据处理(对给定职位,汇总薪酬分段对应学历要求数据,画柱状图;)四.附源…