新闻  |   论坛  |   博客  |   在线研讨会
时序预测的深度学习算法介绍(3)
数据派THU | 2023-07-25 07:32:28    阅读:343   发布文章

2.3 Attention类

注意力机制(Attention)是一种用于解决序列输入数据中重要特征提取的机制,也被应用于时序预测领域。Attention机制可以自动关注时间序列数据中的重要部分,为模型提供更有用的信息,从而提高预测精度。在应用Attention进行时序预测时,需要利用Attention机制自适应地加权输入数据的各个部分,从而使得模型更加关注关键信息,同时减少无关信息的影响。Attention机制不仅可以应用于RNN等序列模型,也可以应用于CNN等非序列模型,是目前时序预测领域研究的热点之一。

2.3.1 Transformer(2017)

Paper:Attention Is All You Need

Transformer是一种广泛应用于自然语言处理(NLP)领域的神经网络模型,其本质是一种序列到序列(seq2seq)的模型。Transformer将序列中的每个位置视为一个向量,并使用多头自注意力机制和前馈神经网络来捕捉序列中的长程依赖性,从而使得模型能够处理变长序列和不定长序列。

图片

在时序预测任务中,Transformer模型可以将输入序列的时间步作为位置信息,将每个时间步的特征表示为一个向量,并使用编码器-****框架进行预测。具体来说,可以将预测目标的前N个时间步作为编码器的输入,将预测目标的后M个时间步作为****的输入,并使用编码器-****框架进行预测。编码器和****都是由多个Transformer模块堆叠而成,每个模块由多头自注意力层和前馈神经网络层组成。

在训练过程中,可以使用均方误差(MSE)或平均绝对误差(MAE)等常见的损失函数来度量模型的预测性能,使用随机梯度下降(SGD)或Adam等优化算法来更新模型参数。在模型训练过程中,还可以使用学习率调整、梯度裁剪等技术来加速模型的训练和提高模型的性能。

# Transformermodel = TransformerModel(    input_chunk_length=30,    output_chunk_length=15,    batch_size=32,    n_epochs=200,    # model_name="air_transformer",    nr_epochs_val_period=10,    d_model=16,    nhead=8,    num_encoder_layers=2,    num_decoder_layers=2,    dim_feedforward=128,    dropout=0.1,    optimizer_kwargs={"lr": 1e-2},    activation="relu",    random_state=42,    # save_checkpoints=True,    # force_reset=True,)

图片


2.3.2 TFT(2019)

Paper:Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting

TFT(Transformer-based Time Series Forecasting)是一种基于Transformer模型的时序预测方法,它是由谷歌DeepMind团队于2019年提出的。TFT方法的核心思想是在Transformer模型中引入时间特征嵌入(Temporal Feature Embedding)和模态嵌入(Modality Embedding)。时间特征嵌入可以帮助模型更好地学习时序数据中的周期性和趋势性等特征,而模态嵌入可以将外部的影响因素(如气温、节假日等)与时序数据一起进行预测。

图片

TFT方法可以分为两个阶段:训练阶段和预测阶段。在训练阶段,TFT方法使用训练数据来训练Transformer模型,并使用一些技巧(如随机掩码、自适应学习率调整等)来提高模型的鲁棒性和训练效率。在预测阶段,TFT方法使用已训练好的模型来对未来时序数据进行预测。

与传统的时序预测方法相比,TFT方法具有以下优点:

  • 可以更好地处理不同尺度的时间序列数据,因为Transformer模型可以对时间序列的全局和局部特征进行学习。
  • 可以同时考虑时间序列数据和外部影响因素,从而提高预测精度。
  • 可以通过端到端的训练方式直接学习预测模型,不需要手动提取特征。

# TFTmodel = TransformerModel(    input_chunk_length=30,    output_chunk_length=15,    batch_size=32,    n_epochs=200,    # model_name="air_transformer",    nr_epochs_val_period=10,    d_model=16,    nhead=8,    num_encoder_layers=2,    num_decoder_layers=2,    dim_feedforward=128,    dropout=0.1,    optimizer_kwargs={"lr": 1e-2},    activation="relu",    random_state=42,    # save_checkpoints=True,    # force_reset=True,)

图片

2.3.3 HT(2019)

HT(Hierarchical Transformer)是一种基于Transformer模型的时序预测算法,由中国香港中文大学的研究人员提出。HT模型采用分层结构来处理具有多个时间尺度的时序数据,并通过自适应注意力机制来捕捉不同时间尺度的特征,以提高模型的预测性能和泛化能力。

HT模型由两个主要组件组成:多尺度注意力模块和预测模块。在多尺度注意力模块中,HT模型通过自适应多头注意力机制来捕捉不同时间尺度的特征,并将不同时间尺度的特征融合到一个共同的特征表示中。在预测模块中,HT模型使用全连接层对特征表示进行预测,并输出最终的预测结果。

HT模型的优点在于,它能够自适应地处理具有多个时间尺度的时序数据,并通过自适应多头注意力机制来捕捉不同时间尺度的特征,以提高模型的预测性能和泛化能力。此外,HT模型还具有较好的可解释性和泛化能力,可以适用于多种时序预测任务。

2.3.4 LogTrans(2019)

Paper:Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting

Code:Autoformer

LogTrans提出了一种 Transformer 时间序列预测改进方法,包括卷积自注意力(生成具有因果卷积的查询和密钥,将局部环境纳入注意力机制)和LogSparse Transformer(Transformer 的内存效率较高的变体,用于降低长时间序列建模的内存成本),主要用于解决Transformer时间序列预测与位置无关的注意力和记忆瓶颈两个主要弱点。

2.3.5 DeepTTF(2020)

DeepTTF(Deep Temporal Transformational Factorization)是一种基于深度学习和矩阵分解的时序预测算法,由美国加州大学洛杉矶分校的研究人员提出。DeepTTF模型将时间序列分解为多个时间段,并使用矩阵分解技术对每个时间段进行建模,以提高模型的预测性能和可解释性。

DeepTTF模型由三个主要组件组成:时间分段、矩阵分解和预测器。在时间分段阶段,DeepTTF模型将时间序列分为多个时间段,每个时间段包含连续的一段时间。在矩阵分解阶段,DeepTTF模型将每个时间段分解为两个低维矩阵,分别表示时间和特征之间的关系。在预测器阶段,DeepTTF模型使用多层感知机对每个时间段进行预测,并将预测结果组合成最终的预测序列。

DeepTTF模型的优点在于,它能够有效地捕捉时间序列中的局部模式和全局趋势,同时保持较高的预测精度和可解释性。此外,DeepTTF模型还支持基于时间分段的交叉验证,以提高模型的鲁棒性和泛化能力。

2.3.6 PTST(2020)

Probabilistic Time Series Transformer (PTST)是一种基于Transformer模型的时序预测算法,由Google Brain于2020年提出。该算法采用了概率图模型来提高时序预测的准确性和可靠性,能够在不确定性较大的时序数据中取得更好的表现。

PTST模型主要由两个部分组成:序列模型和概率模型。序列模型采用Transformer结构,能够对时间序列数据进行编码和解码,并利用自注意力机制对序列中的重要信息进行关注和提取。概率模型则引入了变分自编码器(VAE)和卡尔曼滤波器(KF)来捕捉时序数据中的不确定性和噪声。

具体地,PTST模型的序列模型使用Transformer Encoder-Decoder结构来进行时序预测。Encoder部分采用多层自注意力机制来提取输入序列的特征,Decoder部分则通过自回归方式逐步生成输出序列。在此基础上,概率模型引入了一个随机变量,即时序数据的噪声项,它被建模为一个正态分布。同时,为了减少潜在的误差,概率模型还使用KF对序列进行平滑处理。

在训练过程中,PTST采用了最大后验概率(MAP)估计方法,以最大化预测的概率。在预测阶段,PTST利用蒙特卡洛采样方法来从后验分布中抽样,以生成一组概率分布。同时,为了衡量预测的准确性,PTST还引入了均方误差和负对数似然(NLL)等损失函数。

2.3.7 Reformer(2020)

Paper:Reformer: The Efficient Transformer

Reformer是一种基于Transformer模型的神经网络结构,它在时序预测任务中具有一定的应用前景。可以使用Reformer模型进行采样、自回归、多步预测和结合强化学习等方法来进行时序预测。在这些方法中,通过将已知的历史时间步送入模型,然后生成未来时间步的值。Reformer模型通过引入可分离的卷积和可逆层等技术,使得模型更加高效、准确和可扩展。总之,Reformer模型为时序预测任务提供了一种全新的思路和方法。

2.3.8 Informer(2020)

Paper:Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting

Code: https://github.com/zhouhaoyi/Informer2020

Informer是一种基于Transformer模型的时序预测方法,由北京大学深度学习与计算智能实验室于2020年提出。与传统的Transformer模型不同,Informer在Transformer模型的基础上引入了全新的结构和机制,以更好地适应时序预测任务。Informer方法的核心思想包括:

  • 长短时记忆(LSTM)编码器-****结构:Informer引入了LSTM编码器-****结构,可以在一定程度上缓解时间序列中的长期依赖问题。
  • 自适应长度注意力(AL)机制:Informer提出了自适应长度注意力机制,可以在不同时间尺度上自适应地捕捉序列中的重要信息。
  • 多尺度卷积核(MSCK)机制:Informer使用多尺度卷积核机制,可以同时考虑不同时间尺度上的特征。
  • 生成式对抗网络(GAN)框架:Informer使用GAN框架,可以通过对抗学习的方式进一步提高模型的预测精度。

在训练阶段,Informer方法可以使用多种损失函数(如平均绝对误差、平均平方误差、L1-Loss等)来训练模型,并使用Adam优化算法来更新模型参数。在预测阶段,Informer方法可以使用滑动窗口技术来预测未来时间点的值。

Informer方法在多个时序预测数据集上进行了实验,并与其他流行的时序预测方法进行了比较。实验结果表明,Informer方法在预测精度、训练速度和计算效率等方面都表现出了很好的性能。

2.3.9 TAT(2021)

TAT(Temporal Attention Transformer)是一种基于Transformer模型的时序预测算法,由北京大学智能科学实验室提出。TAT模型在传统的Transformer模型基础上增加了时间注意力机制,能够更好地捕捉时间序列中的动态变化。

TAT模型的基本结构与Transformer类似,包括多个Encoder和Decoder层。每个Encoder层包括多头自注意力机制和前馈网络,用于从输入序列中提取特征。每个Decoder层则包括多头自注意力机制、多头注意力机制和前馈网络,用于逐步生成输出序列。与传统的Transformer模型不同的是,TAT模型在多头注意力机制中引入了时间注意力机制,以捕捉时间序列中的动态变化。具体地,TAT模型将时间步信息作为额外的特征输入,然后利用多头注意力机制对时间步进行关注和提取,以辅助模型对序列中动态变化的建模。此外,TAT模型还使用了增量式训练技术,以提高模型的训练效率和预测性能。

2.3.10 NHT(2021)

Paper:Nested Hierarchical Transformer: Towards Accurate, Data-Efficient and Interpretable Visual Understanding

NHT(Nested Hierarchical Transformer)是一种用于时间序列预测的深度学习算法。它采用了一种嵌套的层次变换器结构,通过多层次嵌套的自注意力机制和时间重要性评估机制来实现对时间序列数据的精确预测。NHT模型通过引入更多的层次结构来改进传统的自注意力机制,同时使用时间重要性评估机制来动态地控制不同层次的重要性,以获得更好的预测性能。该算法在多个时间序列预测任务中表现出了优异的性能,证明了其在时序预测领域的潜力。

2.3.11 Autoformer(2021)

Paper:Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series 

ForecastingCode:https://github.com/thuml/Autoformer

AutoFormer是一种基于Transformer结构的时序预测模型。相比于传统的RNN、LSTM等模型,AutoFormer具有以下特点:

  • 自注意力机制:AutoFormer采用自注意力机制,可以同时捕捉时间序列的全局和局部关系,避免了长序列训练时的梯度消失问题。
  • Transformer结构:AutoFormer使用了Transformer结构,可以实现并行计算,提高了训练效率。
  • 多任务学习:AutoFormer还支持多任务学习,可以同时预测多个时间序列,提高了模型的效率和准确性。

AutoFormer模型的具体结构类似于Transformer,包括编码器和****两部分。编码器由多个自注意力层和前馈神经网络层组成,用于从输入序列中提取特征。****同样由多个自注意力层和前馈神经网络层组成,用于将编码器的输出转化为预测序列。此外,AutoFormer还引入了跨时间步的注意力机制,可以在编码器和****中自适应地选择时间步长。总体而言,AutoFormer是一种高效、准确的时序预测模型,适用于多种类型的时间序列预测任务。

图片

2.3.12 Pyraformer(2022)

Paper:Pyraformer: Low-complexity Pyramidal Attention for Long-range Time Series Modeling and ForecastingCode: https://github.com/ant-research/Pyraformer

蚂蚁研究院提出一种新的基于金字塔注意力的Transformer(Pyraformer),以弥补捕获长距离依赖和实现低时间和空间复杂性之间的差距。具体来说,通过在金字塔图中传递基于注意力的信息来开发金字塔注意力机制,如图(d)所示。该图中的边可以分为两组:尺度间连接和尺度内连接。尺度间的连接构建了原始序列的多分辨率表示:最细尺度上的节点对应于原始时间序列中的时间点(例如,每小时观测值),而较粗尺度下的节点代表分辨率较低的特征(例如,每日、每周和每月模式)。

这种潜在的粗尺度节点最初是通过粗尺度构造模块引入的。另一方面,尺度内边缘通过将相邻节点连接在一起来捕获每个分辨率下的时间相关性。因此,该模型通过以较粗的分辨率捕获此类行为,从而使信号穿越路径的长度更短,从而为远距离位置之间的长期时间依赖性提供了一种简洁的表示。此外,通过稀疏的相邻尺度内连接,在不同尺度上对不同范围的时间依赖性进行建模,可以显著降低计算成本。

图片图片


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客