Transformer的序列建模才干,让其自然就比拟适宜期间序列这种也是序列类型的数据结构。 然而,期间序列相比文本序列也有很多特点,例如期间序列具备自相关性或周期性、期间序列的预测经常触及到周期十分长的序列预测义务等 。这些都给Transformer在期间序列预测场景中的运行带来了新的应战,也使业内产生了一批针对期间序列义务的Transformer变革。上方给大家引见Transformer在期间序列预测中的运行,基本上依照期间顺序,到2023年近期的Transformer典型代表上班,共 10篇 顶会相关论文汇总。
Transformer-based Model
论文标题 :Deep Transformer Models for Time Series Forecasting: The Influenza Prevalence Case
下载地址 :
在我印象里,这篇文章应该是第一篇正式宣布的在期间序列预测中经常使用Transformer结构的文章。其全体结构就是间接将Transformer的Encoder-Decoder搬上来,没做什么特意的更新,并且运行层面也是一个共性化场景。然而从此关上了Transformer在期间序列预测中运行的大门。
论文标题 :Temporal fusion transformers for interpretable multi-horizon time series forecasting(2019)
下载地址 :
这篇文章中则驳回了LSTM+Transformer的方式。期间序列首先输入到LSTM中,这里的LSTM既可以起到相似于CNN提取每个点高低文消息的作用,也可以起到Position Encoding的作用,应用LSTM的顺序建模才干,代替原来Transformer中随模型训练的Position Embedding。关于特色的输入,TFT也启动了详细设计,在每个期间步的输入特色上,都会经常使用一个特色选用模块(一个attention)给期间步每个特色计算关键性。这个关键性前面也被用于对期间序列预测结果启动可视化剖析,看每个时辰各个特色关于预测的关键性狂。
Log-Sparse Transformer
论文标题 :Enhancing the locality and breaking the memory bottleneck of transformer on time series forecasting(2019)
下载地址 :
Transformer的Attention操作是点对点的,而期间序列上高低文消息十分关键。例如下图中,左侧只管两个点期间序列值相反,然而由于周边序列状态差异很大,因此这两个点之间不具备参考价值。而右侧图中,只管两个区域的期间序列值差异很大,然而全体状态是十分相似的,因此这两个局部具备较大参考价值,应该参与attention权重。从这个例子可以看出,在期间序列疑问中,不能只用相似NLP中的两点之间的留意力机制,而应该思考点周围的高低文消息。
本文驳回卷积+Transformer的方式,期间序列会首先输入到一个一维卷积中,应用卷积提取每个节点周围的消息,而后再经常使用多头留意力机制学习节点之间的相关。这样就能让attention不只思考每个点的值,也能思考每个点的高低文消息,将具备相似状态的区域建设起咨询。
论文标题 :Informer: Beyond efficient transformer for long sequence timeseries forecasting(AAAI 2021)
下载地址 :
Informer针对长周期期间序列预测,关键从效率角度对Transformer启动了优化,这篇上班也是AAAI 2021的best paper。关于长周期期间序列,输入的维度很高,而Transformer的期间复杂度随着输入序列长度参与指数增长。为了优化Transformer在长序列上的运转效率,经过让key只和关键query构成稠密的attention缩小少量运算量。作者经过试验方法,attention score具备十分清楚的长尾性,少数的score比拟大,大少数score很小,因此只需重点建模那些关键的相关即可。假设一个query和其余key的attention score凑近平均散布,那么这个query就是便捷的把其余value加和求平均,意义不大。因此Informer中提出计算每个query的attention score打分散布敌对均散布的KL散度,关于关键性不大的query,key就和睦这些query计算attention,构成了sparse attention的结构,带来计算效率的大幅优化。
此外,针对期间序列义务,Informer还引入了self-attention distillation,在每两层Transformer之间参与一个卷积,将序列长度缩减一半,进一步缩小了训练开支。在Decoder阶段,则驳回了一次性性预测多个期间步结果的方法,相比传统GPT等autoregressive的方法缓解了累计误差疑问。
Autoformer
论文标题 :Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series Forecasting(NIPS 2021)
下载地址 :
Autoformer是Transformer的更新版本,针对期间序列疑问的特性对原始Transformer启动了一系列优化。模型的全体结构如下图,**是Series Decomposition Block模块和对多头留意力机制的更新Auto-Correlation Mechanism。这里介绍想详细了解Autoformer细节的同窗参考杰少的这篇文章:,整顿的十分片面深化。上方给大家便捷引见一下Auroformer的各个模块。
第一个模块是Series Decomposition Block,这个模块关键目的是将期间序列合成成趋向项和节令项 。在最基础的期间序列剖析畛域,一个期间序列可以被视为趋向项、节令项、周期项和噪声。关于这4个起因的拆借,有加法模型、乘法模型等,其中加法模型以为这4个起因相加构成了期间序列。本文驳回了加法模型,以为期间序列由趋向项+节令项构成。为了提取出节令项,本文驳回了滑动平均法,经过在原始输入期间序列上每个窗口计算平均值,获取每个窗口的趋向项,进而获取整个序列的趋向项。同时,依据加法模型,将原始输入序列减去趋向项,即可获取节令项。整个Series Decomposition Block的公式可以示意为:
模型的输入联合Series Decomposition Block模块。Encoder局部输入历史期间序列,Decoder局部的输入包括趋向项和节令项两个局部。趋向项由两局部组成,一局部是历史序列经过Series Decomposition Block合成出的趋向项的后半局部,相当于用历史序列近期的趋向项作为Decoder的初始化;趋向项的另一局部是0填充的,即目前尚不知道的未来序列的趋向项,用0启动填充。节令项和趋向项相似,也是由两局部组成,第一局部为Encoder合成出的近期节令项,用于初始化;第二局部为Encoder序列均值作为填充,公式如下。
Encoder局部的关键目的是对复杂的节令项启动建模。经过多层的Series Decomposition Block,不时从原始序列中提取节令项。这个节令项会作为指点Decoder在预测未来时节令项的消息。Encoder局部的公式如下,Auto-correlation代表Auto-Correlation Mechanism,咱们在上方再启动引见。
Decoder局部也是相似的结构,应用Encoder消息和Decoder输入启动预测,公式如下:
第二个模块是Auto-Correlation Mechanism,是对传统Transformer在期间序列预测场景的更新 。Auto-Correlation Mechanism的**理路是应用期间序列的自相相关数,寻觅期间序列最相关的片段。期间序列的自相相关数计算期间序列和其滑动一个步长后的期间序列的相相关数。举例来说,假设一个期间序列是以年为周期,那么序列平移365天后,原序列敌对移后的序列相相关数是很高的。AutoFormer应用了这共性质,计算各个滑动步长的自相相关数,并选用相相关数top k的滑动步长。
在详细成功上,Auto-Correlation Mechanism代替了Transformer中的self-attention结构,其公式如下。首先,将输入的期间序列经过全衔接映射成Q、K、V,这和multi-head attention相反。接上去,计算Q和K之间各个周期的相相关数,选用相相关数最高的top k,这k个周期代表着Q和K的高相关性周期。这个环节可以了解为计算attention,与以往attention不同的是,这里计算的是片段的相似相关而非点的相似相关。最后,应用softmax获取每个周期归一化的权重,对V的对应周期平移结果启动加权求和。
文中经常使用极速傅里叶变换(FFT)计算自相相关数。下图区分展现了Auto-Correlation Mechanism,以及这种自相关机制相比Transformer中的自留意力机智的区别。自相关机制应用期间序列的平移寻觅相似的片段,而自留意力机制关注点之间的相关。
Pyraformer
论文标题 :Pyraformer: Low-complexity pyramidal attention for long-range time series modeling and forecasting(ICLR 2022)
下载地址 :
在长周期的期间序列预测疑问中,如何平衡运算复杂度以及缩短两个期间点之间的交互距离不时是钻研的焦点(如下表为各个模型的运算复杂度及两点最长门路)。RNN、CNN这种模型关于输入长度为L的序列,两个期间点的最长门路为L,在长周期中节点之间消息交互比拟艰巨。而Transformer引入了Attention机制,让两两节点之间可以间接交互,然而优化了期间复杂度。
本文提出了一种树形结构的Transformer,用于处置长周期期间序列预测疑问。从下到上,期间序列的粒度逐突变粗。最底层为原始输入的期间序列,下层为经常使用卷积累合获取的粗粒度序列。每个节点和3种节点做attention:该节点的子节点、该节点的相邻街坊节点、该节点的父节点。经过这种方式,任何两个节点之间都可以间接交互,并且期间复杂度大幅降落。
在预测时,一种是把经过上述编码获取的示意间接接全衔接映射到预测空间。另一种方法是经常使用一个额外的Decoder,驳回相似Transformer中的方式启动解码。
论文标题 :FEDformer: Frequency enhanced decomposed transformer for long-term series forecasting(2022)
下载地址 :
FEDformer的关键思绪也是将Transformemr和 seasonal-trend decomposition联合起来。经常使用个别的Transformer启动期间序列预测时,经常会产生预测的数据散布和实在散布存在比拟大的gap。这关键是由于Transformer在启动预测每个期间点是独立的应用attention预测的,这个环节中或者会疏忽期间序列全体的属性。为了处置这个疑问,本文驳回了两种方法,一种是在基础的Transformer中引入 seasonal-trend decomposition,另一种是引入傅里叶变换,在频域经常使用Transformer,协助Transformer更好的学习全局消息。
FEDformer的**模块是傅里叶变换模块和时序合成模块。傅里叶变换模块将输入的期间序列从时域转换到频域,而后将Transformer中的Q、K、V交流成傅里叶变换后的频域消息,在频域中启动Transformer操作。
Non-stationary Transformer
论文标题 :Non-stationary Transformers: Rethinking the Stationarity in Time Series Forecasting(NIPS 2022)
下载地址 :
期间序列的不颠簸性(non-stationarity)是一个比拟难处置,且实在环球中很经常出现的疑问。业内处置这种统计量随期间变动的不颠簸疑问关键方法是,对期间序列数据做一些诸如归一化等颠簸化处置。例如对每个序列样本经常使用z-normalization处置成0均值1方差的,这样就可以处置不同期间步的样本统计量不分歧的疑问。然而这种处置方法会对Transformer模型带来一个负面影响:颠簸化后的序列只管统计量分歧了,然而这个环节中也让数据损失了一些共性化的消息,造成不同序列的Transformer中的attention矩阵趋同。文中将这个现象叫作over-stationarization。
这篇文章提出了一种新的Transformer结构Non-stationary Transformers,**包括两个局部:一个是对输入序列的归颠簸化处置的预测结果反颠簸化处置方法;另一个是让Transformer能够处置颠簸化序列的同时,学习不颠簸化数据中的attention法令。
为了让Transformer能够间接从颠簸化前的期间序列中学习attention pattern,本文提出了De-stationary Attention。关于每个Attention层,由于输入的是颠簸化后的序列,其和颠簸化前序列的相关可以表白成如下公式:
并可以进一步转换为如下表白式:
因此,想要经常使用颠簸化前的序列计算attention,**就是去计算3项:颠簸化的方差、Q在期间维度上的均值、颠簸化前的序列得的K。文中驳回原始序列和一个MLP网络来学习这两个局部:
经过这种方式,既能让模型在颠簸化后的序列上学习,又能让模型依据非颠簸化前完整的序列消息学习Transforomer的attention pattern。模型的全体结构如下图所示。
论文标题 :A TIME SERIES IS WORTH 64 WORDS: LONG-TERM FORECASTING WITH TRANSFORMERS(ICLR 2023)
下载地址 :
这篇文章提出了基于Transformer时序预测和时序示意学习新方法,将期间序列数据转换成相似Vision Transformer中的patch方式,取得十分清楚的成果。
本文提出的Transformer多元期间序列预测模型,**理路为以下2点:
CrossFormer
之前用Transformer处置期间序列疑问的上班,大多集中在如何更正当的启动期间维度的相关建模上。应用期间维度的自留意力机制,建设不同期间步之间的相关。
而在多元期间序列预测中,各个变量之间的相关也很关键。之前的解法,关键是将每个期间步的多元变量紧缩成一个embedding(如下图中的b),再启动期间维度的attention。这种方法的疑问是缺少对不同变量之间相关的建模。由于期间序列不同变量的含意是不同的,每个变量应该在哪个期间片段启动对齐不可提早预知,间接每个期间步融合的方式显然太毛糙了。
基于以上思考,本文对Transformer在多元期间序列预测的运行中启动了变革,将多元期间序列转换成patch,参与了变量维度之间的attention(如上图中的c),并思考到效率疑问,提出了基于路由的变量间attention机制。
模型全体蕴含3个关键模块:
本文转载自,作者: