技术标签: 论文阅读(Paper) 时间序列预测 时间序列分析(Time Series) transformer 时间序列分类 异常检测
论文名称:Transformers in Time Series: A Survey
论文下载:https://arxiv.org/abs/2202.07125
论文源码:https://github.com/qingsongedu/time-series-transformers-review
论文作者:阿里巴巴达摩院
论文年份:2022
这篇论文的源Github仓库里,对参考文献进行了归类,并给出了论文地址,非常清晰。根据 Transformer的架构和应用进行论文分类,对了解 Transformer 在时间序列中的应用大有裨益。
Transformer 相关知识已经在之前的博客中介绍过了:
Transformers 在自然语言处理和计算机视觉的许多任务中都取得了优异的表现,这也引发了时间序列社区的极大兴趣。在 Transformer 的众多优势中,捕获长距离依赖和交互的能力对于时间序列建模特别有吸引力,从而在各种时间序列应用程序中取得了令人兴奋的进展。在本文中,我们通过强调它们的优势和局限性,系统地回顾了用于时间序列建模的 Transformer 方案。特别地,我们从两个角度审视了时间序列 Transformers 的发展。从网络结构的角度,我们总结了对 Transformer 进行的调整和修改,以适应时间序列分析中的挑战。从应用的角度来看,我们根据预测、异常检测和分类等常见任务对时间序列 Transformers 进行分类。根据经验,我们进行稳健分析、模型大小分析和季节性趋势分解分析,以研究 Transformers 在时间序列中的表现。最后,我们讨论并提出未来的方向,以提供有用的研究指导。可以在 GitHub 存储库中找到相应的论文列表,该列表将持续更新。
自从2017年,Transformer 被提出以来,其已经广泛应用于NLP,CV,语音处理等各个领域。过去几年中,Transformer 的变体也如雨后春笋般的涌现出来。
对于时间序列数据,Transformer 能够出色地对长距离依赖和交互进行建模。并且其变体广泛应用于时间序列预测,时间序列分类,异常检测等任务。此外,季节性或周期性是时间序列的一个重要特征。如何有效地模拟长期和短期依赖,并同时捕捉季节性仍然是一个挑战。Transformer 提供了解决这个问题的方案。
本文总结了时间序列 Transformer 的主要发展。我们首先简要介绍了 vanilla Transformer,然后从网络修改和时间序列 Transformer 应用领域的角度提出了一种新的分类法。对于网络修改,我们讨论了对 Transformer 的低级(即模块)和高级(即架构)所做的改进,旨在优化时间序列建模的性能。对于应用程序,我们分析和总结了 Transformer 用于流行的时间序列任务,包括预测、异常检测和分类。对于每个时间序列 Transformer,我们分析了它的洞察力、优势和局限性。为了提供有关如何有效使用 Transformer 进行时间序列建模的实用指南,我们进行了广泛的实证研究,检查时间序列建模的多个方面,包括稳健性分析、模型大小分析和季节性趋势分解分析。我们通过讨论时间序列 Transformer 可能的未来方向来结束这项工作,包括:
原生的 Transformer 是一个具有编码器-解码器结构的最具竞争力的神经序列模型。编码器和解码器都由多个相同的块组成。每个编码器块由一个多头自注意模块(Multi-Head Self-Attention)和一个位置前馈网络(position-wise Feed-Forward Network ,FFN)组成,而每个解码器块在多头自注意模块和位置前馈网络之间插入交叉注意模型(cross-attention model)。
与 LSTM 或 RNN 不同,Transformer 没有递归,也没有卷积。相反,它利用输入嵌入中添加的位置编码来对序列信息进行建模。我们在下面总结了一些位置编码。
Absolute Positional Encoding
在原生的 Transformer 中,对于每个位置索引 t,编码向量由下式给出:
其中 ωi 是每个维度的人工设计的频率(hand-crafted frequency)。另一种方法是为每个位置学习一组位置嵌入,这更灵活 。
Relative Positional Encoding
遵循输入元素之间的成对位置关系比元素的位置更有益的直觉,提出了相对位置编码方法。例如,其中一种方法是将可学习的相对位置嵌入添加到注意力机制的键中。
除了绝对和相对位置编码之外,还有一些使用混合位置编码的方法将它们组合在一起。通常,位置编码被添加到标记嵌入中并输入到 Transformer。
使用 Query-Key-Value (QKV) 模型,Transformer 使用的缩放点积注意力(scaled dot-product attention)由下式给出:
为了总结现有的时间序列 Transformer,我们从网络修改和应用领域的角度提出了一种分类法,如图 1 所示。基于分类法,我们系统地回顾了现有的时间序列 Transformer。从网络修改的角度,我们总结了 Transformer 在模块级别和架构级别所做的更改,以适应时间序列建模中的特殊挑战。从应用的角度,我们根据时间序列 Transformer 的应用任务进行分类,包括预测、异常检测、分类和聚类。
由于 Transformer 是置换等价的,并且时间序列的顺序很重要,因此将输入时间序列的位置编码到 Transformer 中非常重要。一种常见的设计是首先将位置信息编码为向量,然后将它们作为附加输入与输入时间序列一起喂给模型。在使用 Transformer 建模时间序列时如何获得这些向量可以分为三大类。
Vanilla Positional Encoding
原生 Transformer 的位置编码可以从时间序列中提取一些位置信息,但它们无法充分利用时间序列数据的重要特征。
Learnable Positional Encoding
由于原生 Transformer 的位置编码是人工设计的,表达性和适应性较差,一些研究发现,从时间序列数据中学习适当的位置嵌入会更有效。与固定的位置编码相比,学习嵌入更灵活,可以适应特定的任务。主要有两种方式:
Timestamp Encoding
在现实场景中对时间序列进行建模时,通常可以访问时间戳信息,包括日历时间戳(例如,秒、分钟、小时、周、月和年)和特殊时间戳(例如,假期和事件)。这些时间戳在实际应用中非常有用,但在普通 Transformers 中几乎没有使用。为了缓解这个问题,Informer 提出通过使用可学习的嵌入层将时间戳编码为额外的位置编码。 Autoformer 和 FEDformer 中使用了类似的时间戳编码方案。
Transformer 的核心是自注意力模块。它可以被视为一个全连接层,其权重是基于输入模式的成对相似性动态生成的。因此,它与全连接层共享相同的最大路径长度,但参数数量要少得多,使其适合建模长期依赖关系。
原生的 Transformer 中的自注意力模块具有 O(L2) 的时间和内存复杂度(L 是输入时间序列长度),这成为处理长序列时的计算瓶颈。提出了许多有效的 Transformer 来降低二次复杂度,可分为两大类:
除了容纳 Transformers 中用于时间序列建模的各个模块之外,还有许多工作寻求在架构层面对 Transformers 进行改造。最近的工作将分层架构引入到 Transformer 中,以考虑时间序列的多分辨率(multi-resolution)。 Informer 在注意块之间插入步幅为 2 的最大池化层,将序列下采样到其半片中。 Pyraformer 设计了一种基于 C-ary Tree 的注意力机制,其中最精细尺度的节点对应于原始时间序列,而较粗尺度的节点代表较低分辨率的序列。 Pyraformer 开发了尺度内和尺度间的注意力,以便更好地捕捉不同分辨率的时间依赖性。除了能够以不同的多分辨率集成信息外,分层架构还具有高效计算的优势,特别是对于长时间序列。
本节回顾了 Transformer 在重要的时间序列任务中的应用,包括预测、异常检测和分类。
我们在这里研究三种类型的预测任务,即时间序列预测、时空预测和事件预测。
预测是时间序列最常见和最重要的应用。
在时空预测中,需要同时考虑时间(temporal)和时空(spatio-temporal)依赖性以进行准确的预测。
Traffic Transformer 设计了一种编码器-解码器结构,使用自注意力模块来捕获时间-时间依赖关系,并使用图神经网络模块来捕获空间依赖关系。
用于交通流量预测的 Spatial-temporal Transformer 更进一步。除了引入时间 Transformer 块来捕获时间依赖关系之外,它还设计了一个空间 Transformer 块,以及一个图卷积网络,以更好地捕捉空间-空间依赖关系。
Spatio-temporal graph Transformer 设计了一种基于注意力的图卷积机制,能够学习复杂的时空注意力模式来改进行人轨迹预测。
在许多实际应用中自然会观察到具有不规则和异步时间戳的事件序列数据(event sequence data),这与具有相等采样间隔的规则时间序列数据形成对比。事件预测或预测旨在根据过去事件的历史来预测未来事件的时间和标记,它通常由时间点过程 (temporal point processes,TPP) 建模。
最近,一些神经 TPP 模型开始合并 Transformer,以提高事件预测的性能。Self-attentive Hawkes process (SAHP) 和 Transformer Hawkes Process (THP) 采用 Transformer 编码器架构来总结历史事件的影响并计算事件预测的强度函数。他们通过将时间间隔转换为正弦函数来修改位置编码,以便可以利用事件之间的间隔。后来,提出了一种更灵活的名为 attentive neural Datalog through time (A-NDTT),通过嵌入(Embedding)所有可能的事件和时间以及注意力来扩展 SAHP/THP 方案。实验表明,它可以比现有方法更好地捕获复杂的事件依赖关系。
深度学习促进了异常检测的发展。由于深度学习是一种表示学习,重建(reconstruction)模型在异常检测任务中起着重要作用。重建模型旨在学习将向量从简单的预定义源分布 Q 映射到实际输入分布 P+ 的神经网络。 Q 通常是高斯或均匀分布。异常分数由重建误差定义。直观地说,重构误差越高,意味着来自输入分布的可能性越小,异常得分就越高。设置阈值以区分异常与正常。
有工作证明了 使用 Transformer 进行异常检测相对于其他传统的时间依赖性模型(例如 LSTM)的优势。除了更高的检测质量(由 F1 衡量)外,基于 Transformer 的异常检测明显比基于 LSTM 的方法更有效,这主要是由于 Transformer 架构中的并行计算。在包括 :
研究人员提出将 Transformer 与神经生成模型相结合,例如作为 VAEs 和 GANs,用于在异常检测中更好的重建模型。
TranAD 提出了一种对抗性训练程序来放大重建错误,因为简单的基于 Transformer 的网络往往会错过小的异常偏差。GAN 风格的对抗训练程序由两个 Transformer 编码器和两个 Transformer 解码器设计,以获得稳定性。消融研究表明,如果更换基于 Transformer 的编码器解码器,F1 得分性能下降近 11%,表明 Transformer 架构对异常检测的重要性。
虽然 MT-RVAE 和 TransAnomaly 都将 VAE 与 Transformer 结合在一起,但它们有不同的用途。 TransAnomaly 将 VAE 与 Transformer 相结合,可实现更多并行化并将训练成本降低近 80%。在 MT-RVAE 中,多尺度 Transformer 旨在提取和整合不同尺度的时间序列信息。它克服了传统 Transformer 只提取局部信息进行顺序分析的缺点。
几个时间序列 Transformer 是为多变量时间序列设计的,它们将 Transformer 与基于图形的学习架构相结合,例如 GTA。注意,MT-RVAE 也适用于多变量时间序列,但在图神经网络模型效果不佳的序列之间维度很少或紧密关系不足。为了应对这样的挑战,MT-RVAE 修改了位置编码模块并引入了特征学习模块。 GTA 包含图卷积结构来模拟影响传播过程。与 MT-RVAE 类似,GTA 也考虑“全局”信息,但通过用多分支注意力机制代替普通多头注意力机制,即全局学习注意力、普通多头注意力和邻域卷积的组合。
AnomalyTrans 将 Transformer 和 Gaussian Prior-Association 结合起来,使罕见的异常更容易区分。尽管与 TranAD 有着相似的动机,但 AnomalyTrans 以非常不同的方式实现了这一目标。与正常相比,异常更难与整个系列建立强烈的关联,而与相邻时间点相比更容易。在 AnomalyTrans 中,先验关联和序列关联是同时建模的。除了重建损失之外,异常模型还通过极小极大策略优化,以约束先验和系列关联,以获得更可区分的关联差异。
Transformer 被证明在各种时间序列分类任务中是有效的,因为它在捕获长期依赖方面具有突出的能力。分类转换器通常采用简单的编码器结构,其中自注意力层执行表示学习,前馈层产生每个类别的概率。
GTN 使用两塔 Transformer,每个塔分别用于时间步长注意和通道注意。为了合并两个塔的特征,使用了可学习的加权连接(也称为“门控”)。 该 Transformer 在 13 个多元时间序列分类上实现了最先进的结果。有的工作研究了基于 self-attention 的 Transformer 用于原始光学卫星时间序列分类,与循环和卷积神经网络相比,获得了最好的结果。
在分类任务中也研究了预训练的 Transformer。 [Yuan and Lin, 2020] 研究 Transformer 用于原始光学卫星图像时间序列分类。由于标记数据有限,作者使用自监督的预训练模式。 [Zerveas et al., 2021] 引入了一个无监督的预训练框架,并且该模型是使用按比例掩蔽的数据(masked data)进行预训练的。然后在分类等下游任务中对预训练模型进行微调。 [Yang et al., 2021] 提出使用大规模预训练语音处理模型来解决下游时间序列分类问题,并在 30 个流行的时间序列分类数据集上生成 19 个有竞争力的结果。
在本节中,我们进行实证研究以分析 Transformer 如何处理时间序列数据。具体来说,我们在典型的基准数据集 ETTm2 [Zhou et al., 2021] 上测试具有不同配置的不同算法。
我们在上面描述的许多工作都仔细设计了注意力模块以降低二次计算和内存复杂度,尽管他们实际上使用较短的固定大小输入来在他们报告的实验中获得最佳结果。这让我们质疑这种高效设计的实际用途。我们进行了一个延长输入序列长度的稳健实验,以验证它们在处理长期输入序列时的预测能力和稳健性。
如表 2 所示,当我们将预测结果与延长输入长度进行比较时,各种基于 Transformer 的模型迅速恶化。这种现象使得许多精心设计的 Transformer 在长期预测任务中变得不切实际,因为它们不能有效地利用长输入信息。除了简单地运行它之外,还需要做更多的工作来充分利用长序列输入。
在被引入时间序列预测领域之前,Transformer 在 NLP 和 CV 社区中已经显示出主导性能 。 Transformer 在这些领域的主要优势之一是能够通过增加模型大小来提高预测能力。通常模型容量由Transformer的层数控制,在CV和NLP中通常设置在12到128之间。
但如表 3 中的实验所示,当我们将预测结果与具有不同层数的不同 Transformer 模型进行比较时,具有 3 到 6 层的最浅 Transformer 胜出。它提出了一个问题,即如何设计一个适当的具有深层的 Transformer 架构,以增加模型的容量并实现更好的预测性能。
在最新的研究中,研究人员开始意识到季节性趋势分解是 Transformer 在时间序列预测中表现的关键部分。作为表 4 所示的一个简单实验,我们使用 [Wu et al., 2021] 中提出的移动平均趋势分解架构来测试各种注意力模块。季节性趋势分解模型可以将模型的性能显着提高 50% 到 80%。这是一个独特的块,通过分解来提升性能似乎是 Transformer 应用时间序列预测中的一致现象,值得进一步研究。
在这里,我们强调了一些在时间序列中对 Transformers 的研究具有潜在前景的方向。
时间序列 Transformer 的归纳偏差。
原生的 Transformer 不对数据模式和特征做任何假设。虽然它是用于建模长距离依赖关系的通用网络,但它也有代价,即需要大量数据来训练 Transformer 以避免数据过拟合。时间序列数据的关键特征之一是其季节性/周期性和趋势模式。最近的一些研究表明,将序列周期性或频率处理纳入时间序列 Transformer 可以显着提高性能。因此,未来的一个方向是基于对时间序列数据和特定任务特征的理解,考虑更有效的方法将归纳偏差引入 Transformer。
多变量和时空时间序列在应用程序中变得越来越普遍,需要额外的技术来处理高维,尤其是捕捉维度之间潜在关系的能力。
引入图神经网络 (GNN) 是对空间依赖或维度之间的关系进行建模的一种自然方式。最近,一些研究表明,GNN 和Transformer/attention 的结合不仅可以带来显着的性能提升,如交通预测和多模态预测,同时也更好地理解了时空动态和潜在偶然性。将 Transformer 和 GNN 结合起来,在时间序列中进行有效的时空建模是一个重要的未来方向。
大规模预训练的 Transformer 模型显着提升了 NLP 和 CV 中各种任务的性能。然而,关于时间序列的预训练 Transformers 的工作有限,现有研究主要集中在时间序列分类上。因此,如何为时间序列中的不同任务开发合适的预训练 Transformer 模型仍有待未来研究。
超参数,例如嵌入维度、头数和层数,会在很大程度上影响 Transformer 的性能。手动配置这些超参数非常耗时,并且通常会导致性能欠佳。神经架构搜索 (NAS) [Elsken et al., 2019; Wang et al., 2020] 一直是一种流行的技术,用于发现有效的深度神经架构,并且在最近的研究中可以发现在 NLP 和 CV 中使用 NAS 自动进行 Transformer 设计。对于既可以是高维又可以是大长度的行业规模时间序列数据,自动发现内存和计算效率的 Transformer 架构具有实际意义,使其成为时间序列 Transformer 未来的重要方向。
在本文中,我们对各种任务中的时间序列 Transformer 进行了全面调查。我们将审查的方法组织在一个新的分类法中,该分类法由网络修改和应用程序组成。我们总结了每个类别中的代表性方法,通过实验评估讨论了它们的优势和局限性,并突出了未来的研究方向。
文章浏览阅读3.2k次。本文研究全球与中国市场分布式光纤传感器的发展现状及未来发展趋势,分别从生产和消费的角度分析分布式光纤传感器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。主要生产商包括:FISO TechnologiesBrugg KabelSensor HighwayOmnisensAFL GlobalQinetiQ GroupLockheed MartinOSENSA Innovati_预计2026年中国分布式传感器市场规模有多大
文章浏览阅读1.1k次,点赞2次,收藏12次。常用组合逻辑电路结构——为IC设计的延时估计铺垫学习目的:估计模块间的delay,确保写的代码的timing 综合能给到多少HZ,以满足需求!_基4布斯算法代码
文章浏览阅读3.3k次,点赞3次,收藏5次。OpenAI Manager助手(基于SpringBoot和Vue)_chatgpt网页版
文章浏览阅读2.2k次。USACO自1992年举办,到目前为止已经举办了27届,目的是为了帮助美国信息学国家队选拔IOI的队员,目前逐渐发展为全球热门的线上赛事,成为美国大学申请条件下,含金量相当高的官方竞赛。USACO的比赛成绩可以助力计算机专业留学,越来越多的学生进入了康奈尔,麻省理工,普林斯顿,哈佛和耶鲁等大学,这些同学的共同点是他们都参加了美国计算机科学竞赛(USACO),并且取得过非常好的成绩。适合参赛人群USACO适合国内在读学生有意向申请美国大学的或者想锻炼自己编程能力的同学,高三学生也可以参加12月的第_usaco可以多次提交吗
文章浏览阅读394次。1.1 存储程序1.2 创建存储过程1.3 创建自定义函数1.3.1 示例1.4 自定义函数和存储过程的区别1.5 变量的使用1.6 定义条件和处理程序1.6.1 定义条件1.6.1.1 示例1.6.2 定义处理程序1.6.2.1 示例1.7 光标的使用1.7.1 声明光标1.7.2 打开光标1.7.3 使用光标1.7.4 关闭光标1.8 流程控制的使用1.8.1 IF语句1.8.2 CASE语句1.8.3 LOOP语句1.8.4 LEAVE语句1.8.5 ITERATE语句1.8.6 REPEAT语句。_mysql自定义函数和存储过程
文章浏览阅读188次。半导体二极管——集成电路最小组成单元。_本征半导体电流为0
文章浏览阅读2.8k次,点赞3次,收藏18次。游戏水面特效实现方式太多。咱们这边介绍的是一最简单的UV动画(无顶点位移),整个mesh由4个顶点构成。实现了水面效果(左图),不动代码稍微修改下参数和贴图可以实现岩浆效果(右图)。有要思路是1,uv按时间去做正弦波移动2,在1的基础上加个凹凸图混合uv3,在1、2的基础上加个水流方向4,加上对雾效的支持,如没必要请自行删除雾效代码(把包含fog的几行代码删除)S..._unity 岩浆shader
文章浏览阅读5k次。广义线性模型是线性模型的扩展,它通过连接函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。广义线性模型拟合的形式为:其中g(μY)是条件均值的函数(称为连接函数)。另外,你可放松Y为正态分布的假设,改为Y 服从指数分布族中的一种分布即可。设定好连接函数和概率分布后,便可以通过最大似然估计的多次迭代推导出各参数值。在大部分情况下,线性模型就可以通过一系列连续型或类别型预测变量来预测正态分布的响应变量的工作。但是,有时候我们要进行非正态因变量的分析,例如:(1)类别型.._广义线性回归模型
文章浏览阅读69次。环境保护、 保护地球、 校园环保、垃圾分类、绿色家园、等网站的设计与制作。 总结了一些学生网页制作的经验:一般的网页需要融入以下知识点:div+css布局、浮动、定位、高级css、表格、表单及验证、js轮播图、音频 视频 Flash的应用、ul li、下拉导航栏、鼠标划过效果等知识点,网页的风格主题也很全面:如爱好、风景、校园、美食、动漫、游戏、咖啡、音乐、家乡、电影、名人、商城以及个人主页等主题,学生、新手可参考下方页面的布局和设计和HTML源码(有用点赞△) 一套A+的网_垃圾分类网页设计目标怎么写
文章浏览阅读614次,点赞7次,收藏11次。之前找到一个修改 exe 中 DLL地址 的方法, 不太好使,虽然能正确启动, 但无法改变 exe 的工作目录,这就影响了.Net 中很多获取 exe 执行目录来拼接的地址 ( 相对路径 ),比如 wwwroot 和 代码中相对目录还有一些复制到目录的普通文件 等等,它们的地址都会指向原来 exe 的目录, 而不是自定义的 “lib” 目录,根本原因就是没有修改 exe 的工作目录这次来搞一个启动程序,把 .net 的所有东西都放在一个文件夹,在文件夹同级的目录制作一个 exe._.net dll 全局目录
文章浏览阅读1.5k次。本文为转载,原博客地址:http://blog.csdn.net/hujingshuang/article/details/46910259简介 BRIEF是2010年的一篇名为《BRIEF:Binary Robust Independent Elementary Features》的文章中提出,BRIEF是对已检测到的特征点进行描述,它是一种二进制编码的描述子,摈弃了利用区域灰度..._breif description calculation 特征点
文章浏览阅读4.1k次,点赞21次,收藏79次。本文是《基于SpringBoot的房屋租赁管理系统》的配套原创说明文档,可以给应届毕业生提供格式撰写参考,也可以给开发类似系统的朋友们提供功能业务设计思路。_基于spring boot的房屋租赁系统论文