论文阅读_时序模型_iTransformer

2024-03-18 07:20

本文主要是介绍论文阅读_时序模型_iTransformer,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1
2
3
4
5
6
7
8
英文名称: ITRANSFORMER: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING
中文名称: ITRANSFORMER:倒置Transformers在时间序列预测中的有效性
链接: https://openreview.net/forum?id=X6ZmOsTYVs
代码: https://github.com/thuml/iTransformer
作者: Yong Liu, Tengge Hu, Haoran Zhang, Haixu Wu, Shiyu Wang, Lintao Ma, Mingsheng Long
机构: 清华大学软件学院, 清华大学国家数字化治理工程技术研究中心, 蚂蚁集团
日期: 2023-10-10
引用次数: 0

读后感

作者提出了一个疑问:为什么在很多情况下,时序问题使用 Transformer 结构反而不如线性模型好?按理说,Transformer 作为预测序列化数据的模型,应该更擅长处理时序问题。作者认为可能是数据组织方式不够优化引起。

文章主要讨论了多变量时序预测的问题,即使用多变量的 X 来预测 Y,例如使用过去的天气数据和地域数据等来预测未来的天气。

之前我们处理时序数据也存在相同的问题:每种数据的频率和范围都不一样,如果在某个时间点上对所有数据进行采样也不太合适。

因此,作者提出了针对时间序列的另一种输入方式。以前是将每个时间点的所有变量作为一个 token 传递给模型;而现在,将每个变量的整个时间序列独立地嵌入到一个 token 中。简单来说:如果想要预测明天的天气,就将之前一段时间的天气打包成一个 token 传入模型。这样既可以学习到数据时序的前后关系,也可以学习到不同特征之间的相互作用。

图 -2 基础模型 (上) 与将每个时间步嵌入到时间 token 的 Transformer,iTransformer 将单个变量的整个序列独立嵌入到变量 token 中,这样多变量相关性可以通过注意力机制来描述,序列表示由前馈网络编码。

摘要

目标: 解决 Transformer 模型在预测具有大范围回溯窗口的时间序列时性能下降和计算爆炸的问题。

方法: 提出 iTransformer 的模型,该模型通过重新利用 Transformer 架构的基本组件来解决问题。iTransformer 只对转置的维度应用注意力机制和前馈网络。将与单个变量相关联的一系列时间点嵌入到变量 token 中,这些 token 被注意力机制用于捕捉多变量之间的相关性;同时,对每个变量 token 应用前馈网络以学习非线性表示的时序规律。

结果: iTransformer 模型在具有挑战性的实际数据集上取得了最先进的结果。它提高了不同变量之间的泛化能力,并更好地利用了任意回溯窗口,成为时间序列预测的良好基础骨架。

方法

预测使用前 T 步的 X 来预测将来 S 步的 Y,其中 X,Y 都包含 N 个变量。模型结构如下:

图 4:iTransformer 的整体结构,它与 Transformer 的编码器有着相同的模块结构:(a)不同变量的原始系列独立嵌入到 token 中。(b)自注意力应用于嵌入的变量 token,具有增强的可解释性,揭示了多变量相关性。(c)每个 token 的序列表示由共享前馈网络提取。(d)采用层归一化法来减少变量之间的差异。

简单地说,该模型使用了自我注意力机制来学习变量之间的关系,并且利用前馈神经网络(MLP)来学习时序变化的规律。最后,通过一个简单的投影层(Projection)生成对未来各个变量的预测 Y。

实验

实验包括 6 个真实世界的数据集:ETT、天气、电力、交通、能源等。

主实验多变量预测结果如下:

这篇关于论文阅读_时序模型_iTransformer的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/821609

相关文章

Java领域模型示例详解

《Java领域模型示例详解》本文介绍了Java领域模型(POJO/Entity/VO/DTO/BO)的定义、用途和区别,强调了它们在不同场景下的角色和使用场景,文章还通过一个流程示例展示了各模型如何协... 目录Java领域模型(POJO / Entity / VO/ DTO / BO)一、为什么需要领域模

深入理解Redis线程模型的原理及使用

《深入理解Redis线程模型的原理及使用》Redis的线程模型整体还是多线程的,只是后台执行指令的核心线程是单线程的,整个线程模型可以理解为还是以单线程为主,基于这种单线程为主的线程模型,不同客户端的... 目录1 Redis是单线程www.chinasem.cn还是多线程2 Redis如何保证指令原子性2.

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot