【文章学习系列之模型】PatchTST

news2024/11/17 0:42:18

本章内容

  • 文章概况
  • 模型结构
  • 实验结果
    • 长期预测
    • 表征学习
  • 消融实验
    • 分块和通道独立性
    • 不同的回顾窗口
  • 总结

文章概况

《A Time Series is Worth 64 Words: Long-term Forecasting with Transformers》是2023年发表于ICLR的一篇文章。该文章借鉴了计算机视觉领域的Vision Transformer(ViT)的方法,提出了一种时序分块方法。

文章代码链接:
论文链接
代码链接

模型结构

文章的标题就很眼熟,翻阅至模型结构,确认参考了ViT,两张图片对比确实很像,不同的是所解决的问题。如下面表格所示,左侧为ViT模型结构,右侧为PatchTST的Transformer主干。

ViTPatchTST
在这里插入图片描述$1600

ViT的细节不做赘述,详细内容可见论文。

在这里插入图片描述
上图为PatchTST的整体结构,大致步骤如下:
1.输入多因子时序数据
2.多因子通道独立化
3.经过若干个Transformer主干后输出多因子独立通道的预测结果
4.通道拼接并输出预测数据

其中每一个Transformer主干(表格右侧)又包含如下步骤:
1.归一化(Norm)
2.分块(Patch Division)
3.语义编码(Projection)和位置编码(Position Embedding)
4.Transformer Encoder(和ViT一样,常规Transformer)
5.扁平化(Flatten)和全连接(Linear)

总体而言,和VIT相比有以下相同和不同
相同
1.对数据进行分块
2.使用常规Transformer结构
不同
1.PatchTST对多通道数据采取的独立化操作,而包括ViT在内的多数模型通畅采用通道混合的方法
2.PatchTST在每一个Transformer主干网络处均进行了分块操作,而ViT仅在模型输入数据后采用了一次
3.在分块操作中,PatchTST借鉴ViT及其衍生模型,采用了无重合分块和有重合分块的两种方式,其中需要注意的是在数据mask重建的实验中,为避免数据泄露,只采用了无重合分块的方式。

实验结果

长期预测

在这里插入图片描述
在该部分,作者以监督学习的方式对长期预测进行试验。如上图所示,第一列为8种常用公开数据集;使用以24, 36, 48, 60为输入长度预测以96, 192, 336, 720为输出长度的时序数据;PatchTST/64 、PatchTST/42的64和42表示分块数目。由表中加粗字体,可以看出本文所提方法占了较多的最优情况,总体而言效果更好一些。

表征学习

在这里插入图片描述
在该部分,作者先使用掩码自监督学习进行试验,对输入的分块给予了百分之四十的遮挡(设值为0),进行了100轮学习。然后在此基础上再进行上文的监督学习,通过对监督学习后的预测结果进行评估来判断表征学习的效果。在这边,作者的监督学习使用了两种方案,一种是线性微调(仅训练最后的线性层,其他参数冻结),另一种是端到端微调(先线性微调,再整个网络的参数一起训练)。实验结果表明微调方法确实起到了一定的效果,其中端到端微调方式效果显著。种种实验结果(包括附录部分的)共同论证了本文所提模型在表征学习方面有着优于其他模型的表现,同时也说明了PatchTST具有着优异的迁移学习的能力。
(更多实验结果见论文附录)

消融实验

分块和通道独立性

该文章对时序数据分块方法和多因子数据独立化训练方法进行了讨论。实验结果如下表。
其中,P+CI为同时具备分块和通道独立方法(即本文方法),CI表示只有通道独立法,P表示只有分块法,Original则是最原始的两种方法均不具备的实验结果。作者将他们和FDEformer进行对比,实验结果表明分块和通道独立性在提高模型的预测性能上确实具有一定的积极作用。
在这里插入图片描述

不同的回顾窗口

在这里插入图片描述
回顾窗口即输入模型的时序数据长度。按照常规思路来说,输入数据越多,时序特征越多,预测结果应该越好,然而事实并非如此。针对这一点,作者进行了讨论,使用不同长度的输入数据,验证相同预测目标的实验效果。横坐标表示输入数据长度,子图顶端T表示预测目标。从图中可以看出,对于多种预测模型而言并非都是输入数据越长预测结果越好,这表明不少模型并未从更长的输入数据中受益,相反,在增加了时间和空间的开销后,还降低了模型的预测性能。而本文所提模型则与之不同,表现出输入数据越多,预测结果越优异的情况,这说明PatchTST具备更优秀的长输入窗口学习能力。

总结

在附录部分,作者还进行了若干组实验,其中消融实验还包括分块长度、预测长度、分块和通道独立、归一化等等。主要讨论的是模型中各个参数和模块(方法)对整个实验效果的影响,在实验的充实性方面可谓是充足。
最让我感兴趣的还是通道独立方法的论述。在文章的附录部分,作者花大篇幅对此进行讨论分享和分析,以实验为支撑的前提下提出了许多观点。就我看来,事无绝对,混合通道和独立通道的效果需以数据为基础以实验为导向来讨论,空谈方法的优劣实属耍流氓。在我做的时序实验中,更倾向于将传统领域研究已具有明确关系的因子进行通道混合,以求通过模型学习的方法学习到他们之前的关系。但又有理论表示,两者存在关系则存在一者即可,过多的关系因子会造成特征的冗余和重复,甚至会干扰单因子的实验效果。我感觉都对,看数据,看实验,结果是啥,自圆其说。至于根因分析、深度学习最深层的原理,能挖就挖,不能就等大佬挖。

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

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

相关文章

树形DP分析

树形dp 简单来说树形 d p 就是在树上做 d p 罢了 简单来说树形dp就是在树上做dp罢了 简单来说树形dp就是在树上做dp罢了 树嘛,就要符合除了根节点外每个节点只有一个父节点 树嘛,就要符合除了根节点外每个节点只有一个父节点 树嘛,就要符合除…

# 从车灯模组的角度聊聊信息安全需求

文章目录 1. 前言2.信息安全需求2.1 硬件安全2.1.1 接口安全2.1.2 主板安全2.1.3 芯片安全 2.3 系统安全2.3.1 代码安全2.3.2 软件读保护2.3.3 安全启动2.3.4 安全升级2.3.5 安全诊断 2.4 通信安全2.5 数据安全 3. 安全启动流程3.1 基于签名技术的安全启动方案3.2 基于对称签名…

netty源码阅读--处理客户端请求

背景 netty是一个非常成熟的NIO框架,众多apache的顶级项目底层通信框架都是用的是netty,本系列博客主要是记录自己复习netty源码的过程,重在理解netty的关键如:如何启动,如何接受网络数据、netty的内存管理机制以及编解码器等&am…

Python学习笔记--面向对象

未完待续。。。。。 (一)面向对象的基本概念 我们之前学习的编程方式就是面向过程的 面相过程和面相对象,是两种不同的编程方式 对比面向过程的特点,可以更好地了解什么是面向对象 1.1过程和函数 过程是早期的一个编程概念 过程…

4.3 分段低次插值

学习目标: 如果我要学习分段低次插值,我可能会采取以下几个步骤: 学习插值的基本概念和方法 在学习分段低次插值之前,我需要先掌握插值的基本概念和方法,例如拉格朗日插值、牛顿插值和内维尔方法等。这些基础知识可…

C#调用C++封装的SDK库(dll动态库)——上

C#调用C封装的SDK库(dll动态库)——上 一、C封装库 通过前几篇文章,我们封装了C的动态DLL库,有Qt版的,有C版的,当然还有介绍了Pimpl模式在SDK封装中的使用: Qt创建SDK VS创建SDK Pimple在SDK封装中的应用 但是&a…

关于逻辑回归的几个函数

写作业时重新理了下,如果有问题欢迎指正! 说是回归,其实就是个分类,用【0,1】标记结果y是录取还是录取,而影响结果y的就是X(x0,x1,…xn-1)。怎么判断结果y是0还是1用到的是逻辑回归函数(也叫假…

java企业级信息系统开发学习笔记05 初探Spring AOP

文章目录 一、学习目标二、Spring AOP(一)AOP基本含义(二)AOP基本作用(三)AOP和OOP对比(四)AOP使用方式(五)AOP基本概念 三、采用配置方法使用AOP&#xff08…

windows下Tomcat安装

目录 1.安装java环境 2.配置Tomcat环境变量 3.安装服务 4.启动前修改配置文件 (1)设置tomcat端口 (2)设置临时日志等文件夹的位置 5.放入应用 6.启动Tomcat服务 1.安装java环境 安装tomcat版本对应的JDK 比如:…

Mysql的简介和选择

文章目录 前言一、为什么要使用数据库 数据库的概念为什么要使用数据库二、程序员为什么要学习数据库三、数据库的选择 主流数据库简介使用MySQL的优势版本选择四、Windows 平台下安装与配置MySQL 启动MySQL 服务控制台登录MySQL命令五、Linux 平台下安装与配置MySQL总结 前言…

Redis 分布式锁解决方案

1 背景 我们日常在电商网站购物时经常会遇到一些高并发的场景,例如电商 App 上经常出现的秒杀活动、限量优惠券抢购,还有我们去哪儿网的火车票抢票系统等,这些场景有一个共同特点就是访问量激增,虽然在系统设计时会通过限流、异步…

设计模式:行为型模式 - 责任链模式

文章目录 1.概述2.结构3.案例实现4.优缺点5.源码解析 1.概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经…

链表方式实现栈和队列(C语言)

目录 栈 队列 栈 栈(Stack)是一种常见的数据结构,它是一种线性数据结构,具有后进先出(Last In First Out, LIFO)的特点。栈可以看作是一个容器,只能在容器的一端进行插入和删除操作&#xff0c…

【12 Filter 学习笔记】

Filter 笔记记录 1. Filter 过滤器2. Filter介绍3. FilterChain3. Filter 过滤器的使用4. 过滤器使用细节5. Filter的声明周期6. FilterConfig7. 过滤器五种拦截行为 1. Filter 过滤器 2. Filter介绍 3. FilterChain 3. Filter 过滤器的使用 import javax.servlet.ServletExcep…

SQL:group by 的用法及其与 over(partition by)的区别

1.group by的作用 根据一定的规则将一个数据集划分成若干个小区域,然后针对每个区域进行数据处理。即分组查询,一般是和聚合函数配合使用。 重点说明(重要): 如果用Select选择某个字段,那么这个字段要么在G…

cpld 模拟iic 访问原理实现

1,因为 单片机访问sfp和ds125占用了6路iic,但是现在还有lm75需要使用iic访问,所以要么使用iic片选,但是扩展iic需要的总线不多,这里要么考虑使用互斥锁,也就是使用同一路iic时候加锁,使用完成后就释放。也可以考虑使用cpld模拟iic来访问lm75。 2,cpld 软件模拟iic总线原理…

初识MySql数据库

​​​​使用MySql数据库的英文打字小游戏: 英文打字小游戏 MySql学习 1:MySql是关系型数据库,跨平台的。Sql Server是微软出的啊。 2:Web服务器端运行原理图。 Web服务器:网页资源的获取 游戏服务器:游戏数据的同步…

WEB通讯技术。前端实现SSE长连接,nodejs+express搭建简单服务器,进行接口调试,通过curl请求数据

描述 长连接(Keep-Alive)是一种HTTP/1.1的持久连接技术,它允许客户端和服务器在一次TCP连接上进行多个HTTP请求和响应,而不必为每个请求/响应建立和断开一个新的连接。长连接有助于减少服务器的负载和提高性能。 长连接的HTTP请…

《Android性能优化》一次失败的启动速度优化

正文 在优化APP启动之前,我们首先需要知道,APP启动时究竟发生了什么,才能有的放矢的优化。 APP的启动过程 APP的启动过程就是指,在手机屏幕上点击某个APP的图标,到APP的首页显示在用户面前的过程。 一般APP的启动过…

Web自动化测试简介及web自动化测试实战交教程

一、认识web自动化测试 1.什么是自动化测试? 自动化测试的概念: 软件自动化测试就是通过测试工具或者其他手段,按照测试人员的预定计划对软件产品进行自动化测试,他是软件测试的一个重要组成部分,能够完成许多手工测试无法完成或…