iTransformer: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING

news/2024/5/19 21:10:25 标签: 推荐算法, python, 深度学习, 人工智能

#论文题目:ITRANSFORMER: INVERTED TRANSFORMERS ARE EFFECTIVE FOR TIME SERIES FORECASTING
#论文地址:https://arxiv.org/abs/2310.06625
#论文源码开源地址:https://github.com/thuml/Time-Series-Library
#论文所属会议:Machine Learning (cs.LG)
#论文所属单位:清华大学、蚂蚁集团

在这里插入图片描述

一、导读

最近,来自清华大学和蚂蚁集团的研究人员重新审视Transformer结构在时序分析中的应用,提出一个全新的反转视角——无需修改任何模块,即可实现Transformer在时序预测任务上的全面领先。
其中,作者提出的iTransformer,考虑多维时间序列的数据特性,未修改任何Transformer模块,而是打破常规模型结构,在复杂时序预测任务中取得了全面领先,试图解决Transformer建模时序数据的痛点。

二、研究背景

现实世界的时序数据往往是多维的,除了时间维之外,还包括变量维度。每个变量可以代表不同的观测物理量,例如气象预报中使用的多个气象指标(风速,温度,湿度,气压等),也可以代表不同的观测主体,例如发电厂不同设备的每小时发电量等。一般而言,不同的变量具有完全不同的物理含义,即使语义相同,其测量单位也可能完全不同。
传统的Transformer模型在时间序列预测中存在性能下降和计算爆炸的问题,同时对于具有较大回溯窗口的序列预测也存在挑战。此外,传统的Transformer模型将每个时间步的多个变量嵌入到同一个标记中,可能导致学习到的注意力图无意义。不同于自然语言中的每个词(Token)具有较强的独立语义信息,在同为序列的时序数据上,现有Transformer视角下看到的每个「词」(Temporal Token)往往缺乏语义性,并且面临时间戳非对齐与感受野过小等问题。也就是说,传统Transformer的在时间序列上的建模能力被极大程度地弱化了。
为此,作者提出了一种全新的倒置(Inverted)视角。如下图,通过倒置Transformer原本的模块,iTransformer先将同一变量的整条序列映射成高维特征表示(Variate Token),得到的特征向量以变量为描述的主体,独立地刻画了其反映的历史过程。此后,注意力模块可天然地建模变量之间的相关性(Mulitivariate Correlation),前馈网络则在时间维上逐层编码历史观测的特征,并且将学到的特征映射为未来的预测结果。相比之下,以往没有在时序数据上深入探究的层归一化(LayerNorm),也将在消除变量之间分布差异上发挥至关重要的作用。
在这里插入图片描述

三、模型结构

3.1 整体结构

不同于以往Transformer预测模型使用的较为复杂的编码器-解码器结构,iTransformer仅包含编码器,包括嵌入层(Embedding),投影层(Projector)和 个可堆叠的Transformer模块(TrmBlock)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 模块详解

3.2.1 层归一化:层归一化的提出最初是为了提高深度网络的训练的稳定性与收敛性。

在以往Transformer中,该模块将同一时刻的的多个变量进行归一化,使每个变量杂糅无法区分。一旦收集到的数据没有按时间对齐,该操作还将引入非因果或延迟过程之间的交互噪声。
在这里插入图片描述
而在倒置版本中(公式如上),层归一化应用于每个变量的特征表示(Variate Token),让所有变量的特征通道都处于相对统一的分布下。这种归一化的思想在处理时间序列非平稳问题时已经被广泛证明是有效的,只是在iTransformer中可以自然而然的通过层归一化实现。
此外,由于所有变量的特征表示都被归一化到正态分布,由变量取值范围不同造成的差异可以减弱。相反,在此前的结构中,所有时间戳的特征表示(Temporal Token)将被统一标准化,导致模型实际看到的是过平滑的时间序列。

3.2.2 前馈网络:Transformer利用前馈网络编码词向量

此前模型中形成「词」向量的是同一时间采集的多个变量,他们的生成时间可能并不一致,并且反映一个时间步的「词」很难提供足够的语义。在倒置版本中,形成「词」向量的是同一变量的整条序列,基于多层感知机的万能表示定理,其具备足够大的模型容量来提取在历史观测和未来预测中共享的时间特征,并使用特征外推为预测结果。
另一个使用前馈网络建模时间维的依据来自最近的研究,研究发现线性层擅长学习任何时间序列都具备的时间特征。对此,作者提出了一种合理的解释:线性层的神经元可以学习到如何提取任意时间序列的内在属性,如幅值,周期性,甚至频率谱(傅立叶变换实质是在原始序列上的全连接映射)。
因此相较以往Transformer使用注意力机制建模时序依赖的做法,使用前馈网络更有可能完成在未见过的序列上的泛化。

3.2.3 自注意力:自注意力模块在该模型中用于建模不同变量的相关性,这种相关性在有物理知识驱动的复杂预测场景中(例如气象预报)是极其重要的。

作者发现自注意力图(Attention Map)的每个位置满足如下公式:

在这里插入图片描述
其中 q q qi k k kj对应任意两个变量的Query和Key向量,作者认为整个注意力图可以在一定程度上揭示变量的相关性,并且在后续基于注意力图的加权操作中,高度相关的变量将在与其Value向量的交互中获得更大的权重,因此这种设计对多维时序数据建模更为自然和可解释。

综上所述,在iTransformer中,层归一化,前馈网络以及自注意力模块考虑了多维时序数据本身的特点,三者系统性互相配合,适应不同维度的建模需求,起到1+1+1 > 3的效果。

四、实验分析

在这里插入图片描述

作者在六大多维时序预测基准上进行了广泛的实验,同时在支付宝交易平台的线上服务负载预测任务场景的数据(Market)中进行了预测。
在这里插入图片描述
实验部分对比了10种不同的预测模型,包含领域代表性Transformer模型:PatchTST(2023)、Crossformer(2023)、FEDformer(2022)、Stationary(2022)、Autoformer(2021)、Informer(2021);线性预测模型:TiDE(2023)、DLinear(2023);TCN系模型:TimesNet(2023)、SCINet(2022)。
此外,文章分析了模块倒置给众多Transformer变体带来的增益,包括通用的效果提升,泛化到未知变量以及更加充分地利用历史观测等。

4.2 时序预测

如开篇雷达图所示,iTransformer在六大测试基准中均达到了SOTA,并在Market数据的28/30个场景取得最优效果(详见论文附录)。
在这里插入图片描述
在长时预测以及多维时间预测这一充满挑战的场景中,iTransformer全面地超过了近几年的预测模型。

五、iTransformer框架的通用性

在取得最佳效果的同时,作者在Reformer、Informer、Flowformer、Flashformer等Transformer变体模型上进行了倒置前后的对比实验,证明了倒置是更加符合时序数据特点的结构框架。

5.1 提升预测效果

通过引入所提出的框架,这些模型在预测效果上均取得了大幅度的提升,证明了iTransformer核心思想的通用性,以及受益于高效注意力研究进展的可行性。
在这里插入图片描述

5.2 泛化到未知变量

通过倒置,模型在推理时可以输入不同于训练时的变量数,文中将其与一种泛化策略——通道独立(Channel Independence)进行了对比,结果表明该框架在仅使用20%的变量时依然能够尽可能减少泛化误差。
在这里插入图片描述

5.3. 使用更长历史观测

以往Transformer系模型的预测效果不一定随着历史观测的变长而提升,作者发现使用该框架后,模型在历史观测增加的情况下展现出了惊人的预测误差减小趋势,在一定程度上验证了模块倒置的合理性。
在这里插入图片描述

作者此外在消融实验部分详细说明了iTransformer模块排布的合理性。

六、总结

作者受多维时间序列的本身的数据特性启发,反思了现有Transformer在建模时序数据的问题,提出了一个通用的时序预测框架iTransformer。
iTransformer框架创新地引入倒置的视角观察时间序列,使得Transformer模块各司其职,针对性完成时序数据两个维度的建模难题,展现出优秀的性能和通用性。
面对Transformer在时序预测领域是否有效的质疑,作者的这一发现可能启发后续相关研究,使Transformer重新回到时间序列预测的主流位置,为时序数据领域的基础模型研究提供新的思路。

参考1&&参考2


http://www.niftyadmin.cn/n/5136306.html

相关文章

envi5.3处理高分二号影像数据辐射定标大气校正

目录 一、多光谱影像处理 1. 辐射定标 2.大气校正 1. 需要准备一些数据: 2.大气校正过程 3、正射校正 二、全色影像处理 1. 辐射定标 2. 正射校正 三、图像融合 1.几何配准 2.图像融合 高分二号处理流程 envi5.3的安装教程: ENVI5.3安装 安装完ENVI5.3后&#xff0…

第N个斐波那契数列

第N个斐波那契数列 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 class Solution { public:int tribonacci(int n) {int a[4]{0,1,1,2};if(n<4) return a[n];int kn-3;for(int i0; i<k;i){int tmpa[3];a[3]a[1]a[2]a[3];//不是【0】开始&…

SpringSecurity6从入门到上天系列第一篇:SpringSecurity6开篇介绍从概念开始把SpringSecurity6送上天

文章目录 一&#xff1a;什么是SpringSecurity 1&#xff1a;核心内容 (一)&#xff1a;用户认证Authentication (二)&#xff1a;用户授权Authorization 2&#xff1a;安全框架对比 (一)&#xff1a;Shiro (二)&#xff1a;Spring Security (三)&#xff1a;Sa-Token …

C#__对Json文件的解析和序列化

Json: 存储和交换文本信息的语法。&#xff08;类似XML&#xff0c;语法独立&#xff09; 一种轻量级的数据交换格式。&#xff08;更小&#xff0c;更快&#xff0c;更易解析&#xff09; 语法规则: 数据在键值对里面&#xff0c;数据由逗号分隔开。 …

【代码随想录】算法训练计划06

1、242. 有效的字母异位词 题目&#xff1a; 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 输入: s “anagram”, t “nagaram” 输出…

Compose 如何配置布局?

Compose 是一个界面工具包&#xff0c;可让您轻松实现应用的设计。您只需描述自己想要的界面外观&#xff0c;Compose 会负责在屏幕上进行绘制。 Compose布局的优势 使用Compose布局还有许多其他优势&#xff1a; 灵活性&#xff1a;Compose布局支持组合任何数量的UI元素和自…

ROS noetic 运行python节点报错:/usr/bin/env: ‘python’: No such file or directory

ROS noetic用的是python3&#xff0c;所以要为其创造符号链接&#xff0c;使用如下命令&#xff1a; sudo ln -s /usr/bin/python3 /usr/bin/python参考&#xff1a;ROS noetic 报错 “/usr/bin/env: “python”: 没有那个文件或目录”

Panda3d 教程

Panda3d 教程 偶然之余看到了 Panda3d 这个3D引擎&#xff0c;觉得代码开源然后又比较轻量级&#xff0c;感觉还是比较好上手的&#xff0c;因此就想去学习一下&#xff0c;然后把学习过程记录下来。 网上也都找了不少关于Panda3d 方面的教程&#xff0c;但是感觉都不是很好&a…