transformer模型参数个数(Transformer时间序列分析一篇搞定)
transformer模型参数个数(Transformer时间序列分析一篇搞定)Attention ModulePositional Encoding,即增加位置编码,其主要是解决Transformer中Position部分与时间序列场景适配的问题。原始的Transformer主要是相对和绝对位置编码,NLP里面还有许多其它特定任务的编码方法,而这些方式放在时间序列里面相当不适用。由于对Transformer来说相互交换位置是等价的,但是对时间序列来说顺序信息是很重要的。例如,在现实场景中对时间序列进行建模时,通常可以访问时间戳信息,包括日历时间戳(秒、分钟、小时、周、月和年)和特殊时间戳(例如,假期和事件)。这些时间戳在实际应用中非常有用,但在普通 Transformers 中几乎没有使用。因此最近的一些工作会将输入时间序列的位置编码进行输入。一种常见的设计是,首先将位置信息编码为向量,然后将其作为附加输入与输入时间序列一起注入模型。在NLP的许多任务中Transf
最近Transformer在统一建模方面表现出了很大的威力,是否可以将Transformer应用到时序异常检测上引起了很多学者的研究兴趣。最近来自阿里达摩院、上海交通大学的几位学者就近年来针对时间序列场景中的Transformer模型进行了汇总,在Arxiv上发表了一篇综述。综述涵盖了Transformer针对时序问题下的具体设计,包含预测、异常检测、分类等诸多工业界常用场景,并开源了代码,是非常不错的学习资料。
本期文章将为大家简要分享这篇文章中的精华要点,供广大研究者开发者们参考。
论文地址:https://arxiv.org/abs/2202.07125
论文源码:https://github.com/qingsongedu/time-series-transformers-review
在NLP的许多任务中Transformer取得了很优异的效果,这引发了时间序列社区对其极大兴趣。Transformer捕捉长期依赖和彼此交互的突出能力对于时间序列建模特别有吸引力,能在各种时间序列应用程序中取得令人兴奋的进展。
本文总结了Tansformer在时间序列方面应用的最近进展,从网络架构创新和使用场景两方面进行了分析。网络架构方面创新主要包括增加位置编码,注意力模块修改和架构层面创新。应用方面主要是预测,异常检测和分类三种任务。
Positional Encoding
Positional Encoding,即增加位置编码,其主要是解决Transformer中Position部分与时间序列场景适配的问题。原始的Transformer主要是相对和绝对位置编码,NLP里面还有许多其它特定任务的编码方法,而这些方式放在时间序列里面相当不适用。由于对Transformer来说相互交换位置是等价的,但是对时间序列来说顺序信息是很重要的。例如,在现实场景中对时间序列进行建模时,通常可以访问时间戳信息,包括日历时间戳(秒、分钟、小时、周、月和年)和特殊时间戳(例如,假期和事件)。这些时间戳在实际应用中非常有用,但在普通 Transformers 中几乎没有使用。因此最近的一些工作会将输入时间序列的位置编码进行输入。一种常见的设计是,首先将位置信息编码为向量,然后将其作为附加输入与输入时间序列一起注入模型。
Attention Module
Transformer的核心是self-attention 计算消耗非常大,原始的Transformer的时间和内存复杂度均是O(L^2)。最近一些新的工作关注如何减少Transformer的时间和内存复杂度。下面是最新一些工作复杂度的对比展示。
模型架构
除了修改 Transformers 中的各个模块以对时间序列进行建模外,还有许多工作寻求在架构层面对 Transformers 进行改造。考虑到时间序列的多分辨率(多周期,多趋势叠加等等),最近的工作将 Transformer 修改为分层架构。
Informer [AAAI 2021] 在注意力块之间插入步幅为 2 的最大池化层,这可以将序列下采样到其半片中。Pyraformer [ICLR 2022] 设计了基于 ary 树的注意力机制,其中最精细尺度的节点对应于原始时间序列中的时间点,而较粗尺度的节点代表分辨率较低的序列。Pyraformer 进行尺度内和尺度间注意,它们分别捕获单个分辨率中的时间依赖性并构建原始系列的多分辨率表示。分层架构的优点有两个:
1.分层架构允许模型以较少的计算复杂度处理长时间序列;
2.分层建模可以生成可能对特定任务有益的
多分辨率表示。
应用
01时间序列预测1. Informer [AAAI 2021]在没有明确引入稀疏偏差的情况下,Informer使用查询和键之间的 Kullback-Leibler 散度分布测量来选择 O(logL) 主导查询,从而降低了注意力模块的复杂性。它还设计了一种生成式解码器,只需向前一步即可产生长序列输出,以避免累积错误。
2. AST [NeurIPS 2020]使用生成对抗编码器-解码器框架来训练用于时间序列预测的稀疏 Transformer 模型。它表明,对抗性训练可以通过直接塑造网络的输出分布来改善时间序列预测,从而避免通过一步超前推理的错误累积。
3. Autoformer [NeurIPS 2021]
Autoformer设计了一种简单的季节性趋势分解架构,其自相关机制用作注意力模块。自相关块不是传统的注意力块。它测量输入信号之间的时延相似性,并聚合前 k 个相似的子序列以产生具有降低复杂度 O(LlogL) 的输出。
4. FEDformer [Arxiv 2022]
FEDformer设计了两个注意模块,分别用傅里叶变换和小波变换处理频域中的注意操作。它通过傅里叶变换中的随机模式部分实现了线性复杂度。需要指出的是,自 Autoformer 和 FEDformer 以来,时间序列在频域或时频域中的独特属性在社区中引起了更多的关注。
5. TFT [IJoF 2021]
TFT设计了一个包含静态协变量编码器、门控特征选择模块和时间自注意力解码器的多水平预测模型。它编码并从各种协变量信息中选择有用的信息来执行预测。它还保留了包含全局、时间依赖性和事件的可解释性。
6. SSDNet [ICDM 2021]
SSDNet和ProTran将 Transformer 架构与状态空间模型相结合,以提供概率预测。SSDNet 使用 Transformer 部分学习时间模式和估计 SSM 的参数,并使用 SSM 部分进行季节趋势分解并保持可解释能力。ProTran 设计了基于变分推理的生成建模和推理程序。
7. Pyraformer [ICLR 2022]
Pyraformer设计了一个带有二叉树跟随路径的分层金字塔注意模块,以捕获具有线性时间和内存复杂度的不同范围的时间依赖性
8. Aliformer [IJCAI 2021]
Aliformer使用 Knowledge-guided attention 和一个分支进行时间序列销售预测,以修改和去噪注意力图
02时空预测
在时空预测中,我们需要同时考虑时间依赖性和时空依赖性来进行准确的预测。Traffic Transformer [GIS 2020] 设计了一个编码器-解码器结构,使用自注意力模块来捕获时间-时间依赖关系,并使用图神经网络模块来捕获空间依赖关系。
用于交通流预测的Spatial-Temporal Transformer [Arxiv 2020] 网络更进一步,除了引入时间 Transformer 模块来捕获时间依赖关系外,它还设计了一个空间 Transformer 模块来辅助图卷积网络捕获更多的空间空间依赖关系。
此外,Spatial-Temporal Graph Transformer [ECCV 2020] 网络设计了一种基于注意力的图卷积机制来学习更复杂的时空注意力模式,以改进行人轨迹预测。
03事件预测
在许多实际应用中自然会观察到具有不规则和异步时间戳的事件序列数据,这与具有相等采样间隔的规则时间序列数据形成对比。事件预测或预测旨在根据过去事件的历史来预测未来事件的时间和标记,它通常由时间点过程建模。
最近,一些神经 TPP 模型开始结合 Transformers 来提高事件预测的性能。自注意力霍克斯过程 (SAHP) [ICML 2020] 和 Transformer Hawkes 过程 (THP) [ICML 2020] 采用 Transformer 编码器架构来总结历史事件的影响并计算事件预测的强度函数。他们通过将时间间隔转换为正弦函数来修改位置编码,以便可以利用事件之间的间隔。
后来,提出了一种更灵活的名为attentive neural Datalog through time (ANDTT) [ICLR 2022],通过嵌入所有可能的事件和时间以及注意力来扩展 SAHP/THP 方案。实验表明,它可以比现有方法更好地捕获复杂的事件依赖关系。
04异常检测该方向的工作基本是基于原来的LSTM异常检测模型进行修改,使用Transformer的并行训练能力提高效率。TranAD [VLDB 2022] 提出了一种对抗性训练程序来放大重建错误,因为简单的基于 Transformer 的网络往往会错过小的异常偏差。
MT-RVAE [Measurement 2022] 和 TransAnomaly [CCDC 2021] 都将 VAE 与 Transformer 结合在一起,它们有不同的用途。TransAnomaly 将 VAE 与 Transformer 相结合,可实现更多并行化并将训练成本降低近 80%。
GTA [IEEE IoT 2021] 针对多变量时间序列场景设计Transformer异常检测模型,它们将 Transformer 与基于图形的学习架构相结合。
AnomalyTrans [ICLR 2022] 结合 Transformer 和 Gaussian Prior-Association 使罕见的异常更易区分。
05分类回归
GTN [Arxiv 2021] 使用双塔式变压器,每个塔式变压器分别用于时间步长注意和通道注意。为了合并两个塔的特征,使用了可学习的加权连接(也称为“门控”)。
ISPRS 2020 有一篇工作研究了基于自注意力的 Transformer 用于原始光学卫星时间序列分类,并与循环模型和卷积模型相比获得了最佳结果。
也有研究者研究 Transformer 用于原始光学卫星图像时间序列分类。由于标记数据的稀有性,作者使用自我监督的预训练模式。或引入了一个无监督的预训练框架,并且该模型是使用按比例屏蔽的数据进行预训练的。然后在分类等下游任务中对预训练模型进行微调。
Voice2series [ICML 2021] 提出使用大规模预训练语音处理模型来解决下游时间序列分类问题,并在 30 个流行的时间序列分类数据集上生成 19 个有竞争力的结果。