首页 > 其他分享 >Transformer王者归来!无需修改任何模块,时序预测全面领先

Transformer王者归来!无需修改任何模块,时序预测全面领先

时间:2023-10-23 12:46:14浏览次数:59  
标签:Transformer 预测 王者 模型 时序 模块 变量

前言 最近,来自清华大学和蚂蚁集团的研究人员重新审视Transformer结构在时序分析中的应用,提出一个全新的反转视角——无需修改任何模块,即可实现Transformer在时序预测任务上的全面领先!

本文转载自新智元

仅用于学术分享,若侵权请联系删除

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!

近年来,Transformer在自然语言处理以及计算机视觉任务中取得了不断突破,成为深度学习领域的基础模型。受此启发,众多Transformer模型变体在时间序列领域中被提出。然而,最近越来越多的研究发现,使用简单的基于线性层搭建的预测模型,就能取得比各类魔改Transformer更好的效果。

最近,针对有关Transformer在时序预测领域有效性的质疑,清华大学软件学院机器学习实验室和蚂蚁集团学者合作发布了一篇时间序列预测工作,在Reddit等论坛上引发热烈讨论。

其中,作者提出的iTransformer,考虑多维时间序列的数据特性,未修改任何Transformer模块,而是打破常规模型结构,在复杂时序预测任务中取得了全面领先,试图解决Transformer建模时序数据的痛点。

论文地址:https://arxiv.org/abs/2310.06625代码实现:https://github.com/thuml/Time-Series-Library在iTransformer的加持下,Transformer完成了在时序预测任务上的全面反超。

问题背景

现实世界的时序数据往往是多维的,除了时间维之外,还包括变量维度。

每个变量可以代表不同的观测物理量,例如气象预报中使用的多个气象指标(风速,温度,湿度,气压等),也可以代表不同的观测主体,例如发电厂不同设备的每小时发电量等。

一般而言,不同的变量具有完全不同的物理含义,即使语义相同,其测量单位也可能完全不同。

以往基于Transformer的预测模型通常先将同一时刻下的多个变量嵌入到高维特征表示(Temporal Token),使用前馈网络(Feed-forward Network)编码每个时刻的特征,并使用注意力模块(Attention)学习不同时刻之间的相互关联。

然而,这种方式可能会存在如下问题:

设计思路

不同于自然语言中的每个词(Token)具有较强的独立语义信息,在同为序列的时序数据上,现有Transformer视角下看到的每个「词」(Temporal Token)往往缺乏语义性,并且面临时间戳非对齐与感受野过小等问题。也就是说,传统Transformer的在时间序列上的建模能力被极大程度地弱化了。

为此,作者提出了一种全新的倒置(Inverted)视角。

如下图,通过倒置Transformer原本的模块,iTransformer先将同一变量的整条序列映射成高维特征表示(Variate Token),得到的特征向量以变量为描述的主体,独立地刻画了其反映的历史过程。

此后,注意力模块可天然地建模变量之间的相关性(Mulitivariate Correlation),前馈网络则在时间维上逐层编码历史观测的特征,并且将学到的特征映射为未来的预测结果。相比之下,以往没有在时序数据上深入探究的层归一化(LayerNorm),也将在消除变量之间分布差异上发挥至关重要的作用。

iTransformer

整体结构

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

建模变量的特征表示对于一个时间长度为 、变量数为 的多维时间序列 ,文章使用 表示同一时刻的所有变量,以及 表示同一变量的整条历史观测序列。考虑到 比 具有更强的语义以及相对一致的测量单位,不同于以往对 进行特征嵌入的方式,该方法使用嵌入层对每个 独立地进行特征映射,获得 个变量的特征表示 ,其中 蕴含了变量在过去时间内的时序变化。该特征表示将在各层Transformer模块中,首先通过自注意力机制进行变量之间的信息交互,使用层归一化统一不同变量的特征分布,以及在前馈网络中进行全连接式的特征编码。最终通过投影层映射为预测结果。基于上述流程,整个模型的实现方式非常简单,计算过程可表示为:

其中 即为每个变量对应的预测结果,嵌入层和投影层均基于多层感知机(MLP)实现。值得注意的是,因为时间点之间的顺序已经隐含在神经元的排列顺序中,模型不需要引入Transformer中的位置编码(Position Embedding)。模块分析调转了Transformer模块处理时序数据的维度后,这篇工作重新审视了各模块在iTransformer中的职责。

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

在以往Transformer中,该模块将同一时刻的的多个变量进行归一化,使每个变量杂糅无法区分。一旦收集到的数据没有按时间对齐,该操作还将引入非因果或延迟过程之间的交互噪声。

而在倒置版本中(公式如上),层归一化应用于每个变量的特征表示(Variate Token),让所有变量的特征通道都处于相对统一的分布下。这种归一化的思想在处理时间序列非平稳问题时已经被广泛证明是有效的,只是在iTransformer中可以自然而然的通过层归一化实现。此外,由于所有变量的特征表示都被归一化到正态分布,由变量取值范围不同造成的差异可以减弱。相反,在此前的结构中,所有时间戳的特征表示(Temporal Token)将被统一标准化,导致模型实际看到的是过平滑的时间序列。

2. 前馈网络:Transformer利用前馈网络编码词向量。

此前模型中形成「词」向量的是同一时间采集的多个变量,他们的生成时间可能并不一致,并且反映一个时间步的「词」很难提供足够的语义。

在倒置版本中,形成「词」向量的是同一变量的整条序列,基于多层感知机的万能表示定理,其具备足够大的模型容量来提取在历史观测和未来预测中共享的时间特征,并使用特征外推为预测结果。

另一个使用前馈网络建模时间维的依据来自最近的研究,研究发现线性层擅长学习任何时间序列都具备的时间特征。

对此,作者提出了一种合理的解释:线性层的神经元可以学习到如何提取任意时间序列的内在属性,如幅值,周期性,甚至频率谱(傅立叶变换实质是在原始序列上的全连接映射)。

因此相较以往Transformer使用注意力机制建模时序依赖的做法,使用前馈网络更有可能完成在未见过的序列上的泛化。

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

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

其中 对应任意两个变量的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变体带来的增益,包括通用的效果提升,泛化到未知变量以及更加充分地利用历史观测等。时序预测

如开篇雷达图所示,iTransformer在六大测试基准中均达到了SOTA,并在Market数据的28/30个场景取得最优效果(详见论文附录)。

在长时预测以及多维时间预测这一充满挑战的场景中,iTransformer全面地超过了近几年的预测模型。iTransformer框架的通用性在取得最佳效果的同时,作者在Reformer、Informer、Flowformer、Flashformer等Transformer变体模型上进行了倒置前后的对比实验,证明了倒置是更加符合时序数据特点的结构框架。1. 提升预测效果

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

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

3. 使用更长历史观测

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

模型分析

1. 模型消融实验

作者进行了消融实验验证iTransformer模块排布的合理性。结果表明在变量维使用自注意力,在时间维上使用线性层的建模方式在绝大部分数据集上都取得了最优效果。

 

2. 特征表示分析

为了验证前馈网络能够更好地提取序列特征的观点,作者基于CKA(Centered Kernel Alignment)相似度进行特征表示分析。CKA相似度越低,代表模型底层-顶层之间的特征差异越大。

值得注意的是,此前研究表明,时序预测作为一种细粒度特征学习任务,往往偏好更高的CKA相似度。

作者对倒置前后的模型分别计算底层-顶层CKA,得到了如下的结果,印证了iTransformer学习到了更好的序列特征,从而达到了更好的预测效果。

3. 变量相关性分析

如上图所示,作用在变量维的注意力机制在学习到的注意力图中展现出更加强的可解释性。通过对Solar-Energy数据集的样例进行了可视化,有如下观察:

  • 在浅层注意模块,学习到的注意力图与历史序列的变量相关性更加相似。
  • 当深层注意模块,学习到的注意力图与待预测序列的变量相关性更加相似。

这说明注意力模块学到了更加可解释的变量相关性,并且在前馈网络中进行了对历史观测的时序特征编码,并能够逐渐解码为待预测序列。

总结

作者受多维时间序列的本身的数据特性启发,反思了现有Transformer在建模时序数据的问题,提出了一个通用的时序预测框架iTransformer。

iTransformer框架创新地引入倒置的视角观察时间序列,使得Transformer模块各司其职,针对性完成时序数据两个维度的建模难题,展现出优秀的性能和通用性。

面对Transformer在时序预测领域是否有效的质疑,作者的这一发现可能启发后续相关研究,使Transformer重新回到时间序列预测的主流位置,为时序数据领域的基础模型研究提供新的思路。

参考资料:https://arxiv.org/abs/2310.06625

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

分享一个CV知识库,上千篇文章、专栏,CV所有资料都在这了

明年毕业,还不知道怎么做毕设的请抓紧机会了

LSKA注意力 | 重新思考和设计大卷积核注意力,性能优于ConvNeXt、SWin、RepLKNet以及VAN

CVPR 2023 | TinyMIM:微软亚洲研究院用知识蒸馏改进小型ViT

ICCV2023|涨点神器!目标检测蒸馏学习新方法,浙大、海康威视等提出

ICCV 2023 Oral | 突破性图像融合与分割研究:全时多模态基准与多交互特征学习

听我说,Transformer它就是个支持向量机

HDRUNet | 深圳先进院董超团队提出带降噪与反量化功能的单帧HDR重建算法

南科大提出ORCTrack | 解决DeepSORT等跟踪方法的遮挡问题,即插即用真的很香

1800亿参数,世界顶级开源大模型Falcon官宣!碾压LLaMA 2,性能直逼GPT-4

SAM-Med2D:打破自然图像与医学图像的领域鸿沟,医疗版 SAM 开源了!

GhostSR|针对图像超分的特征冗余,华为诺亚&北大联合提出GhostSR

Meta推出像素级动作追踪模型,简易版在线可玩 | GitHub 1.4K星

CSUNet | 完美缝合Transformer和CNN,性能达到UNet家族的巅峰!

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

聊聊计算机视觉入门

标签:Transformer,预测,王者,模型,时序,模块,变量
From: https://www.cnblogs.com/wxkang/p/17782145.html

相关文章

  • Transformer一作来卷多模态!学术图表也能看懂,100毫秒极速响应|免费试玩
    前言 最近多模态大模型是真热闹啊。这不,Transformer一作携团队也带来了新作,一个规模为80亿参数的多模态大模型Fuyu-8B。而且发布即开源,模型权重在HuggingFace上可以看到。本文转载自量子位仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结......
  • Transformer-based Encoder-Decoder Models
    整理原链接内容方便阅读https://colab.research.google.com/github/patrickvonplaten/notebooks/blob/master/Encoder_Decoder_Model.ipynbtitle:"Transformer-basedEncoder-DecoderModels"thumbnail:/blog/assets/05_encoder_decoder/thumbnail.pngauthors:user:p......
  • swin transformer v1.0环境配置训练(mmsegmentation/pascalvoc数据集)
    本文选用mmlab的mmsegmentationv1.1.0的语义分割为例。吨吨吨弟弟123554###1.配置环境要求官网中的最低要求为cuda10.2+以及pytorch1.8+.......
  • 论文阅读:Point-BERT: Pre-training 3D Point Cloud Transformers with Masked Point M
    Point-BERT:Pre-training3DPointCloudTransformerswith MaskedPointModeling摘要我们提出了Point-BERT,一个学习注意力的新范式,将BERT[8]的概念推广到三维点云。受BERT的启发,我们设计了一个掩蔽点建模(MPM)任务来预先训练点云注意力。具体来说,我们首先将点云划分为几个局部的......
  • 论文阅读:Knowledge Distillation via the Target-aware Transformer
    摘要Knowledgedistillationbecomesadefactostandardtoimprovetheperformanceofsmallneuralnetworks.知识蒸馏成为提高小型神经网络性能的事实上的标准。Mostofthepreviousworksproposetoregresstherepresentationalfeaturesfromtheteachertothes......
  • 【小白必看】轻松获取王者荣耀英雄皮肤图片的Python爬虫程序
    前言当谈到王者荣耀游戏时,无法忽视的是其丰富多样的英雄皮肤。这些皮肤不仅为玩家提供了个性化的游戏体验,还展示了设计师们的创造力和努力。然而,要手动下载每个英雄的皮肤图片是一项枯燥且费时的任务。幸运的是,我们可以利用编程的力量来自动化这一过程。本文将介绍如何使用Pytho......
  • transformer结构
    Transformer模型采用了一个特殊的神经网络架构,它主要包括编码器(Encoder)和解码器(Decoder)两个部分。这一架构是Transformer的关键组成部分,它被广泛用于自然语言处理(NLP)等任务。编码器(Encoder):编码器是Transformer模型的第一个部分,用于处理输入序列。它通常包括多个相同的编码器层,......
  • 大模型与KG(三)——时序知识图谱调研
    因为后面还是打算继续做时序知识图谱的方向,所以借着这次看论文的机会,把时序KG的论文也都看一下,以对这块有个了解。中间过了个国庆,又夹杂上别的乱七八糟的事情,之前看的都断片了,又翻了一遍才勉强回忆起来,最近看论文也基本是粗读,因为总想着尽快着手做自己的东西。目录时序知识图谱数......
  • 数字电路硬件设计系列(十七)之上电时序控制电路
    1简介上电时序,也叫做Power-upSequence,是指电源时序关系。下面就是一系列电源的上电的先后关系:2方案介绍2.1电容实现延时采用不同的电容来控制上电延时时间的长短,具体的电路见下图:这种上电时序控制的方式,电路结构简单,但是延时时间难以精确的控制。在FPGA的电源......
  • Transformer
    自注意力机制(self-attention)一堆向量asetofvector:词语、图(每个节点可以看作一个向量)一对一:SequenceLabelingself-attention会吃一整个sequence的咨询全连接是定长的,attention是不定长的α计算关联性(自己也得和自己计算关联性)过程:b1b2b3b4是一致同时计算......