社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

AI 科普丨系统盘点! 各类深度学习模型及原理!

中国人工智能学会 • 1 月前 • 148 次点击  

转自 python人工智能前沿


本文非常系统全面的地梳理了各类深度学习模型的介绍及算法原理。


1 正文

深度学习方法利用神经网络模型进行高级模式识别和自动特征提取,近年来在数据挖掘领域成果显著。常用模型有除了基础的DNN,还有RNN、LSTM、GRU、CNN、Attention和Mix混合模型等。

相较于复杂特征工程的机器学习,深度学习模型只需数据预处理、网络结构设计和超参数调整,即可输出预测结果。深度学习算法能自动学习时序数据中的模式和趋势,对复杂非线性模式有很好的表达能力。在应用时,需考虑数据平稳性和周期性,选择合适的模型和参数,进行训练和测试,并进行调优和验证。


2 深度学习算法概览

2.1 RNN类

在RNN中,每个时刻的输入及之前时刻的状态经过精心映射,融合成隐藏状态,并在当前输入与前期状态的共同作用下,精准预测下一个时刻的输出。RNN的一个显著特性在于其强大的变长序列数据处理能力,这使得它在处理时间序列数据时得心应手,为时序预测提供了得天独厚的优势。此外,为了进一步提升模型的表达能力和记忆能力,RNN还可以巧妙地融入LSTM、GRU、SRU等先进的门控机制,从而构建出更为强大、灵活的神经网络模型。


2.1.1 RNN(1990)

Paper:Finding Structure in Time

RNN(循环神经网络)作为一种强大的深度学习模型,广泛应用于时间序列预测任务中。它通过在时间维度上展开神经网络,有效地将历史信息传递给未来,进而处理时间序列数据中固有的时序依赖性与动态变化。在构建RNN模型时,LSTM和GRU模型备受青睐,它们能够应对长序列挑战,并凭借记忆单元和门控机制,精准捕捉时间序列中的时序依赖关系。


2.1.2 LSTM(1997)

Paper:Long Short-Term Memory

LSTM(长短期记忆)是一种常用的循环神经网络模型,经常被用于时间序列预测。相对于基本的RNN模型,LSTM具有更强的记忆和长期依赖能力,可以更好地处理时间序列数据中的时序依赖性和动态变化。在LSTM模型的构建中,关键的是对LSTM单元的设计和参数调整。LSTM单元的设计可以影响模型的记忆能力和长期依赖能力,参数的调整可以影响模型的预测准确性和鲁棒性。


# LSTMmodel = RNNModel(model="LSTM",hidden_dim=60,dropout=0,batch_size=100,n_epochs=200,optimizer_kwargs={"lr": 1e-3},    # model_name="Air_RNN",log_tensorboard=True,random_state=42,training_length=20,input_chunk_length=60,    # force_reset=True,    # save_checkpoints=True,)


2.1.3 GRU(2014)

Paper:Learning Phrase Representations using RNN Encoder–Decoder for Statistical Machine Translation

GRU(门控循环单元)作为一种常用的循环神经网络模型,其结构特点与LSTM模型颇为相似,专门设计用于捕捉时间序列数据中的深层次信息。相较于LSTM模型,GRU在保持处理时序依赖性和动态变化的能力的同时,拥有更精简的参数数量和更快的运算速度。其核心在于GRU单元的精妙设计及其参数的精细调整。GRU单元的设计不仅影响模型的记忆能力,还对其长期依赖性的捕捉能力产生深远影响;而参数的精确调整则直接关系到模型的预测精确度和鲁棒性。


GRUmodel = RNNModel(model="GRU",hidden_dim=60,dropout=0,batch_size=100,n_epochs=200,optimizer_kwargs={"lr": 1e-3},    # model_name="Air_RNN",log_tensorboard=True,random_state=42,training_length=20,input_chunk_length=60,    # force_reset=True,    # save_checkpoints=True,)



2.1.4 SRU(2018)

Paper:Simple Recurrent Units for Highly Parallelizable Recurrence

SRU(随机矩阵单元)是一种创新的循环神经网络模型,它基于高效的矩阵计算,专为处理时间序列数据而设计。相较于传统的LSTM和GRU模型,SRU在保持高效的时序依赖处理和动态变化捕捉能力的同时,显著减少了参数数量,从而提升了运算速度。SRU模型的性能取决于其单元设计的巧妙性以及参数的精准调整。精心设计的SRU单元可以强化模型的记忆能力和长期依赖捕捉能力,而参数的精细调整则对模型的预测精确度和鲁棒性起到至关重要的作用。


2.2 CNN类

CNN,凭借其独特的卷积层和池化层结构,能够自动从时间序列数据中提取出关键特征,从而实现高效且精准的时序预测。在实际应用中,我们需要将一维的时间序列数据转化为二维矩阵形式,并利用CNN的卷积和池化操作进行特征的提取和压缩。最后,通过全连接层进行预测。相较于传统的时序预测方法,CNN以其强大的特征学习能力、高效的计算效率以及卓越的预测精度,逐渐成为时序预测领域的佼佼者。



2.2.1 WaveNet(2016)

Paper:WAVENET: A GENERATIVE MODEL FOR RAW AUDIO

WaveNet,作为DeepMind团队在2016年提出的一种突破性神经网络模型,其核心思想在于利用卷积神经网络模拟音频信号的波形特征。通过残差连接和门控卷积操作的融合,WaveNet显著提升了模型的表示能力。除了在语音生成领域大放异彩,WaveNet同样适用于时序预测任务。在实际应用中,我们可将时间序列视为一维向量并输入至WaveNet模型,进而实现对未来时间步的精准预测。


在构建WaveNet模型时,卷积层的设计及参数调整至关重要。精心设计的卷积层能够提升模型的表达能力和泛化能力,而参数的精确调整则直接关系到模型的预测精确度和稳定性。


2.2.2 TCN(2018)

TCN,作为一种时间卷积网络,通过引入因果卷积和残差连接等创新结构,实现了对时间序列数据的高效处理。它不仅能够捕捉序列中的长期依赖关系,还具备出色的并行计算能力,从而大大提高了时序预测的效率和准确性。在实际应用中,TCN展现出强大的潜力和广阔的应用前景,为时序预测领域带来了新的突破和发展方向。


Paper:An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling

TCN(Temporal Convolutional Network)是一种创新的时序预测算法,其构建在卷积神经网络之上,旨在解决传统RNN(循环神经网络)在处理长序列时常遭遇的梯度消失和计算复杂度过高问题。相较于传统的RNN等序列模型,TCN凭借其卷积神经网络特性,能够更高效地捕捉长期依赖关系,同时展现出卓越的并行计算能力。


TCN模型由精心设计的卷积层和残差连接共同构成。每个卷积层负责提取序列数据的深层特征,并将其传递给下一层,从而实现数据的逐层抽象和特征提取。模型还巧妙地融入了类似ResNet的残差连接技术,有效减少了梯度消失和模型退化问题。此外,空洞卷积的应用进一步拓宽了卷积核的感受野,增强了模型的鲁棒性和准确性。


该模型的预测流程井然有序,具体步骤如下:

  • 输入层:负责接收时间序列数据的输入,为后续的处理奠定基础。

  • 卷积层:运用一维卷积技术,对输入数据进行特征提取和抽象。每个卷积层均包含多个卷积核,能够捕获不同尺度的时间序列模式。

  • 残差连接:借鉴ResNet的设计思路,通过残差连接技术将卷积层的输出与输入相结合,有效缓解了梯度消失和模型退化问题,提升了模型的稳定性。

  • 重复堆叠:通过重复堆叠多个卷积层和残差连接,模型能够逐层深入地提取时间序列数据的抽象特征。

  • 池化层:在模型深处设置全局平均池化层,对所有特征向量进行平均处理,得到具有固定长度的特征向量。

  • 输出层:经过全连接层的处理,将池化层的输出转化为时间序列的预测值。

TCN模型的优势显著:

  • 能够有效处理长序列数据,展现出优异的并行性能。

  • 借助残差连接和空洞卷积等先进技术,有效避免了梯度消失和过拟合现象。

  • 与传统RNN模型相比,TCN模型在计算效率和预测准确率方面均表现出色。


2.2.3 DeepTCN(2019)

Paper:Probabilistic Forecasting with Temporal Convolutional Neural Network

Code:deepTCN

DeepTCN(Deep Temporal Convolutional Networks)是对传统TCN模型的深化与拓展,是一种基于深度学习的时序预测模型。该模型利用一组精心设计的1D卷积层和最大池化层对时序数据进行深度处理,并通过层层堆叠,实现对不同特征的提取。在DeepTCN中,每个卷积层均配备多个1D卷积核和激活函数,同时融入残差连接和批量归一化技术,以加速模型的训练过程。


DeepTCN模型的训练流程严谨且高效,具体包括以下步骤:

  • 数据预处理:对原始时序数据进行标准化和归一化处理,消除不同特征尺度差异对模型训练的影响。

  • 模型构建:利用深度学习框架(如TensorFlow、PyTorch等)构建包含多个1D卷积层和最大池化层的DeepTCN模型。

  • 模型训练:使用训练数据集对DeepTCN模型进行精细训练,通过损失函数(如MSE、RMSE等)精确度量模型的预测性能。训练过程中,采用优化算法(如SGD、Adam等)调整模型参数,并运用批量归一化和DeepTCN等技术提升模型的泛化能力。

  • 模型评估:运用测试数据集对训练完成的DeepTCN模型进行全面评估,计算并比较各项性能指标,如平均绝对误差(MAE)、平均绝对百分比误差(MAPE)等。


2.3 Attention类


注意力机制(Attention)作为提取序列输入数据中重要特征的核心方法,在时序预测领域也发挥着举足轻重的作用。Attention机制能够精准地聚焦于时间序列数据中的关键部分,为模型提供更具价值的信息,进而显著提升预测精度。在运用Attention进行时序预测时,我们需借助其自适应地调节输入数据各部分权重的能力,使得模型能够更加集中注意力于核心信息,同时削弱无关信息的干扰。Attention机制不仅适用于RNN等序列模型,同样也能在CNN等非序列模型中发挥出色效果,已然成为当前时序预测领域的研究焦点。



2.3.1 Transformer(2017)

Paper:Attention Is All You Need

Transformer是一种在自然语言处理(NLP)领域大放异彩的神经网络模型,其根本性质是一种序列到序列(seq2seq)的映射模型。Transformer将序列中的每一个位置均视为独立向量,并利用多头自注意力机制以及前馈神经网络深入挖掘序列中蕴含的长程依赖关系,从而确保模型能够灵活应对各种长度的序列数据。


在时序预测任务中,Transformer模型能够巧妙地将输入序列的时间步转化为位置信息,进而将每个时间步的特征表达为向量形式。借助编码器-解码器框架,Transformer模型可高效完成预测任务。具体而言,我们将预测目标的前N个时间步作为编码器的输入,同时将预测目标的后M个时间步作为解码器的输入,进而利用编码器-解码器框架进行精准预测。编码器和解码器均由多个Transformer模块堆叠而成,每个模块又由多头自注意力层和前馈神经网络层构成。


在训练阶段,我们可选用均方误差(MSE)或平均绝对误差(MAE)等经典损失函数来衡量模型的预测性能,同时借助随机梯度下降(SGD)或Adam等优化算法不断调整模型参数以优化性能。此外,为提高训练效率和模型性能,我们还可采用学习率调整、梯度裁剪等先进技术。





    
model = 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(Temporal Fusion Transformers)作为一种融合时间融合的Transformer模型,为可解释性多尺度时间序列预测提供了有力工具。TFT通过引入时间融合机制,有效提升了模型在复杂时间序列数据中的预测精度。该模型不仅能应对单一时间尺度的预测需求,还可处理多尺度时间序列预测问题,进一步拓展了模型的应用范围。此外,TFT模型的强可解释性使得预测结果更具说服力,为决策制定提供了有力支持。TFT(Transformer-based Time Series Forecasting)是一种基于Transformer模型的时序预测方法,该方法由谷歌DeepMind团队于2019年匠心独运地提出。其核心思想在于,通过巧妙地融入时间特征嵌入(Temporal Feature Embedding)和模态嵌入(Modality Embedding),使Transformer模型能够更精准地捕捉时序数据中的周期性与趋势性特征,并综合考虑外部影响因素(如气温、节假日等)进行预测。


TFT方法分为两大阶段:训练与预测。在训练阶段,该方法运用丰富的训练数据来雕琢Transformer模型,并通过诸如随机掩码、自适应学习率调整等策略,有效提升模型的稳健性和训练效率。在预测阶段,借助训练好的模型,可以精确预见未来的时序数据动向。


相较于传统的时序预测方法,TFT方法独具优势:

  • 它能够灵活应对不同尺度的时间序列数据,因为Transformer模型擅长捕捉时间序列的全局和局部特征。

  • 它能够综合考量时间序列数据与外部影响因素,从而提高预测的精准度。

  • 无需手动提取特征,它可通过端到端的训练方式直接学习预测模型。


HT(Hierarchical Transformer)

作为另一种时序预测领域的翘楚,由中国香港中文大学的研究团队于2019年提出。该模型采用层次化结构,旨在处理具有多个时间尺度的时序数据。通过自适应注意力机制,HT模型能够精准捕捉不同时间尺度的特征,从而显著提升预测性能和泛化能力。


HT模型由两大核心组件构成:多尺度注意力模块和预测模块。在多尺度注意力模块中,HT模型运用自适应多头注意力机制,有效融合不同时间尺度的特征,形成统一的特征表示。在预测模块中,通过全连接层对特征表示进行精细预测,并输出最终的预测结果。


HT模型的卓越之处在于其自适应处理多时间尺度时序数据的能力,以及通过自适应多头注意力机制精准捕捉特征的能力。这使得它在时序预测任务中展现出卓越的预测性能和良好的泛化能力,同时还具备良好的可解释性,适用于多种时序预测场景。


至于LogTrans(2019),则是一种旨在增强局部性并打破Transformer在时序预测上的内存瓶颈的先进方法。该方法在论文《Enhancing the Locality and Breaking the Memory Bottleneck of Transformer on Time Series Forecasting》中得到了深入探讨,并提供了Autoformer这一实现代码,为时序预测领域的研究和应用提供了新的思路和方向。LogTrans提出了一种改进的时间序列预测Transformer方法,该方法巧妙地结合了卷积自注意力机制和LogSparse Transformer技术。其中,卷积自注意力机制通过生成具有因果卷积特性的查询和密钥,成功将局部环境融入注意力机制之中,增强了模型对时间序列数据局部特征的捕捉能力。而LogSparse Transformer则作为Transformer的高效变体,通过优化内存使用,有效降低了长时间序列建模的内存成本,使模型在处理大规模时间序列数据时更为高效。LogTrans的提出,有效解决了Transformer在时间序列预测中因位置无关注意力和记忆瓶颈导致的两大难题。


2.3.5 DeepTTF(2020)

DeepTTF(Deep Temporal Transformational Factorization)是加州大学洛杉矶分校研究人员提出的一种基于深度学习和矩阵分解技术的先进时序预测算法。该方法巧妙地将时间序列分解为多个独立的时间段,并借助矩阵分解技术深入剖析每个时间段内的潜在关系,从而大幅提升了模型的预测精度和可解释性。


DeepTTF模型的核心架构包括时间分段、矩阵分解和预测器三个关键环节。在时间分段阶段,模型将复杂的时间序列划分为多个易于处理的子序列,便于后续的精细化处理。在矩阵分解阶段,DeepTTF采用先进的矩阵分解技术,有效揭示时间序列中时间与特征之间的复杂交互关系。最后,预测器利用多层感知机对分解后的子序列进行精确预测,并通过巧妙的组合策略生成最终的预测结果。


DeepTTF模型的独特之处在于其强大的局部模式捕捉能力和全局趋势分析能力,使其在面对复杂多变的时间序列数据时仍能保持高度的预测准确性。此外,该模型还支持基于时间分段的交叉验证策略,有助于进一步提升模型的鲁棒性和泛化能力,使其在各类时序预测任务中表现出色。


2.3.6 PTST(2020)

PTST(Probabilistic Time Series Transformer)是Google Brain于2020年提出的一种创新型时序预测算法,该算法基于Transformer模型并结合概率图模型,旨在提高时序预测的准确性和可靠性。PTST通过引入概率图模型,成功捕捉时序数据中的不确定性和噪声,使得模型在处理不确定性较高的时序数据时具有更好的表现。


PTST模型的核心架构由序列模型和概率模型两大模块组成。序列模型采用先进的Transformer结构,通过多层自注意力机制实现对时间序列数据的深度编码和解码。概率模型则创新性地引入了变分自编码器(VAE)和卡尔曼滤波器(KF),共同作用于时序数据的噪声处理和平滑优化。


在训练过程中,PTST采用最大后验概率(MAP)估计方法,旨在最大化预测结果的概率。而在预测阶段,PTST则利用蒙特卡洛采样方法从后验分布中抽取样本,生成一组概率分布,为决策者提供丰富的信息支持。此外,PTST还引入了均方误差和负对数似然(NLL)等损失函数,以全面评估模型的预测性能。


2.3.7 Reformer(2020)

Reformer是2020年提出的一种高效Transformer模型,它在保持Transformer优越性能的同时,显著降低了模型在计算和存储资源上的消耗。Reformer通过引入局部敏感哈希(LSH)注意力机制和可逆层等创新技术,实现了对长序列的高效处理,使得Transformer模型在处理大规模时间序列数据时变得更加轻量级和高效。


LSH注意力机制是Reformer的核心技术之一,它通过哈希技术将注意力计算的空间复杂度从O(n²)降低到O(nlogn),显著提升了模型在处理长序列时的计算效率。此外,可逆层技术使得模型在训练过程中能够减少内存占用,进一步降低了模型在资源消耗方面的压力。


Reformer的提出,不仅为时间序列预测等任务提供了一种高效且性能优异的解决方案,还为深度学习领域的发展注入了新的活力。在未来,随着数据规模的不断扩大和计算资源的持续优化,Reformer有望在更多场景中发挥重要作用。Reformer,作为一种基于Transformer模型的神经网络结构,展现了在时序预测任务中广阔的应用前景。它能够通过采样、自回归、多步预测以及与强化学习相结合的方式,实现对未来时间步的精准预测。在此过程中,模型巧妙地运用了已知的历史时间步信息,确保预测的连续性与准确性。值得一提的是,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的核心思想在于:

  • 利用长短时记忆(LSTM)编码器-解码器结构,有效缓解时间序列中长期依赖问题所带来的挑战。

  • 引入自适应长度注意力(AL)机制,使模型能够灵活捕捉不同时间尺度上的关键信息,提升预测精度。

  • 融入多尺度卷积核(MSCK)机制,充分挖掘并利用不同时间尺度上的特征,增强模型的泛化能力。

  • 借助生成式对抗网络(GAN)框架,通过对抗学习的方式进一步提炼模型性能,优化预测结果。

在训练阶段,Informer支持多种损失函数以指导模型学习,并利用Adam优化算法精准调整模型参数。而在预测阶段,Informer则运用滑动窗口技术,实现对未来时间点的精准预测。经过多个时序预测数据集的验证与比较,Informer在预测精度、训练速度及计算效率等方面均展现出卓越性能。


2.3.9 TAT(2021)

TAT(Temporal Attention Transformer)是由北京大学智能科学实验室提出的时序预测算法,它在传统的Transformer模型基础上进行了创新性的拓展。其核心在于引入时间注意力机制,以更加精准地捕捉时间序列中的动态变化。


TAT模型在结构上继承了Transformer的经典设计,包括多个Encoder和Decoder层。每个Encoder层均融合了多头自注意力机制与前馈网络,从而实现对输入序列中关键信息的有效提取。而Decoder层则在自注意力机制的基础上增加了对Encoder输出的关注,并通过前馈网络生成最终的预测结果。尤为值得一提的是,TAT模型在多头注意力机制中创新性地融入了时间注意力机制。该机制通过将时间步信息作为额外特征纳入模型,使得模型能够更加敏锐地捕捉到时间序列中的动态变化。这种设计不仅提升了模型对复杂时间序列的建模能力,还为其在时序预测任务中的优异表现奠定了坚实基础。


此外,TAT模型还采用了增量式训练技术,以提高模型的训练效率和预测性能。这一技术的引入,使得模型能够在有限的时间和计算资源下实现更快速、更准确的收敛,从而满足实际应用中对时序预测的需求。


2.3.10 NHT(2021)

NHT作为一种前沿的时序预测方法,在近年来受到了广泛关注。其独特之处在于结合了深度学习与传统时间序列分析方法的优势,为时序预测任务提供了全新的解决思路。NHT模型不仅能够有效捕捉时间序列中的复杂动态变化,还具备强大的特征提取和模式识别能力。通过不断学习和优化,NHT模型能够在多个时序预测场景中展现出优异的性能表现。随着研究的深入和技术的不断发展,相信NHT模型将在未来时序预测领域发挥更加重要的作用。Paper:Nested Hierarchical Transformer:迈向精准、数据高效与可解释性的视觉理解


NHT(Nested Hierarchical Transformer)是一种专门应用于时间序列预测的深度学习算法。该算法凭借独特的嵌套层次变换器结构,巧妙融合了多层次嵌套的自注意力机制与时间重要性评估机制,从而实现对时间序列数据的精确洞察与预测。NHT模型通过对传统自注意力机制的升级优化,引入了更多的层次结构,同时辅以动态调控机制,即时间重要性评估机制,有效掌控不同层次在预测过程中的权重分配,从而显著提升预测性能。该算法在各类时间序列预测任务中屡创佳绩,充分展现其在时序预测领域的卓越潜力与无限可能。


2.3.11 Autoformer(2021)

Paper:Autoformer:基于自相关性的分解Transformer,用于长期序列预测

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

AutoFormer是一种基于Transformer结构的创新时序预测模型,相较于传统的RNN、LSTM等模型,它具备以下显著优势:

  • 自注意力机制:AutoFormer巧妙运用自注意力机制,能够同时捕捉时间序列中错综复杂的全局与局部关系,从而有效避免长序列训练时可能出现的梯度消失问题。

  • Transformer结构:AutoFormer充分利用Transformer结构的并行计算能力,大幅提升训练效率,满足现代大规模数据处理的需求。

  • 多任务学习能力:AutoFormer支持多任务学习范式,允许同时预测多个时间序列,从而在实现高效处理的同时,提升预测准确性。

AutoFormer模型的结构设计精巧,包含编码器和解码器两大核心组件。编码器通过堆叠多个自注意力层与前馈神经网络层,实现对输入序列特征的深度提取;解码器则通过类似的结构,将编码器的输出转化为精准的预测序列。此外,AutoFormer还引入跨时间步的注意力机制,使得编码器和解码器能够根据实际需要自适应地调整时间步长。总体而言,AutoFormer是一种高效、精准的时序预测模型,适用于多种复杂多变的时间序列预测任务。


2.3.12 Pyraformer(2022)

Paper:Pyraformer:用于长程时间序列建模与预测的低复杂度金字塔注意力机制

Code:https://github.com/ant-research/Pyraformer


Pyraformer是一种新型的时间序列预测模型,它以独特的低复杂度金字塔注意力机制为核心,为长程时间序列建模与预测提供了高效且准确的解决方案。该模型通过构建金字塔式的注意力结构,实现对不同时间尺度信息的精细捕捉与处理,从而有效应对长序列预测中的挑战。Pyraformer的优异性能使其在多种时间序列预测任务中脱颖而出,成为该领域的研究热点与前沿方向。蚂蚁研究院最新提出了Pyraformer,这是一种基于金字塔注意力的Transformer模型,旨在填补长距离依赖捕获与低时空复杂性实现之间的鸿沟。具体而言,Pyraformer通过构建金字塔图并传递基于注意力的信息来开发金字塔注意力机制,如图(d)所示。在此图中,边被巧妙地分为两组:尺度间连接和尺度内连接。尺度间连接精心构建了原始序列的多分辨率表示,其中最细尺度上的节点精确对应原始时间序列中的时间点(例如,每小时观测值),而较粗尺度下的节点则代表较低分辨率的特征(例如,每日、每周和每月模式)。这些潜在的粗尺度节点最初通过创新的粗尺度构造模块得以引入。另一方面,尺度内边缘通过将相邻节点紧密连接,巧妙地捕获了每个分辨率下的时间相关性。因此,Pyraformer以较粗的分辨率高效捕获这些行为,缩短了信号穿越路径的长度,从而为远距离位置间的长期时间依赖性提供了一种简洁而有效的表示。此外,通过稀疏的相邻尺度内连接,该模型在不同尺度上对不同范围的时间依赖性进行建模,从而显著降低了计算成本。


2.3.13 FEDformer(2022)

Paper:FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting

Code: https://github.com/MAZiqing/FEDformer

FEDformer,一种创新的Transformer神经网络结构,专为分布式时序预测任务量身打造。该模型巧妙地将时间序列数据分解为多个小分块,并通过分布式计算大幅加速训练过程。FEDformer不仅引入了局部注意力机制和可逆注意力机制,使模型能够更精准地捕捉时序数据中的局部特征,还具备卓越的计算效率。此外,它还支持动态分区、异步训练和自适应分块等先进功能,从而赋予模型更高的灵活性和可扩展性。


2.3.14 Crossformer(2023)

Paper:Crossformer: Transformer Utilizing Cross-Dimension Dependency for Multivariate Time Series Forecasting

Code: https://github.com/Thinklab-SJTU/Crossformer

Crossformer开创性地提出了一种新的层次Encoder-Decoder架构,该架构由左侧的Encoder(灰色)和右侧的Decoder(浅橘色)组成,融合了Dimension-Segment-Wise (DSW) embedding、Two-Stage Attention (TSA) 层和Linear Projection等创新元素。这一设计使得Crossformer能够充分利用跨维度依赖关系,为多元时间序列预测任务带来革命性的性能提升。



    2.4 Mix类

将ETS、自回归、RNN、CNN和Attention等算法进行融合,可以充分发挥它们各自的优势,进而显著提升时序预测的精确度和稳定性。这种巧妙的融合策略,通常被业界誉为“混合模型”。


在混合模型中,RNN独具匠心,能够自动捕捉时间序列数据中错综复杂的长期依赖关系;CNN则以其卓越的特征提取能力,擅长于挖掘时间序列数据中的局部和空间特征;而Attention机制则以其灵活的自适应性,精准地聚焦于时间序列数据中的关键部分。通过将这些算法有机结合,我们得以构建出更加稳健且精准的时序预测模型。


在实际应用中,我们可根据不同的时序预测场景,灵活选择适合的算法融合方式,并对模型进行细致的调试与优化,以确保其达到最佳性能。


2.4.1 Encoder-Decoder CNN(2017)

论文:《Deep Learning for Precipitation Nowcasting: A Benchmark and A New Model》

Encoder-Decoder CNN是一种针对时序预测任务而设计的先进模型,它巧妙地将编码器和解码器与卷积神经网络相结合。在此模型中,编码器负责深入挖掘时间序列数据的内在特征,而解码器则负责根据这些特征生成未来的时间序列数据。


Encoder-Decoder CNN模型进行时序预测的具体流程如下:

  • 首先,将历史时间序列数据作为输入,通过卷积层对其进行特征提取。

  • 接着,将卷积层输出的特征序列传递至编码器,利用池化操作逐步降低特征的维度,并妥善保存编码器的状态向量。

  • 然后,将编码器的状态向量输入至解码器,通过反卷积和上采样操作逐步还原并生成未来的时间序列数据。

  • 最后,对解码器的输出进行必要的后处理,如去均值或标准化,以得到最终精确可靠的预测结果。

值得注意的是,在Encoder-Decoder CNN模型的训练过程中,我们需选用恰当的损失函数(如均方误差或交叉熵),并根据实际需求调整超参数。此外,为提升模型的泛化能力,我们还需借助交叉验证等技术手段对模型进行评估和优选。


2.4.2 LSTNet(2018)

论文:《Modeling Long- and Short-Term Temporal Patterns with Deep Neural Networks》

LSTNet是一种专为时间序列预测而设计的深度学习模型,其全称为Long- and Short-term Time-series Networks。该模型巧妙地融合了长短期记忆网络(LSTM)和一维卷积神经网络(1D-CNN),从而能够同时处理时间序列中的长期和短期信息,并有效捕捉序列中的季节性和周期性变化。LSTNet由中国科学院计算技术研究所的Guokun Lai等人于2018年率先提出。


LSTNet模型的核心思想在于利用CNN对时间序列数据进行特征提取,随后将这些特征输入至LSTM中进行深入的序列建模。此外,LSTNet还引入了一种自适应权重学习机制,以便灵活调整长期和短期时间序列信息在预测中的权重。模型的输入为一个形状为(T, d)的时间序列矩阵,其中T代表时间步数,d代表每个时间步的特征维度。而模型的输出则是一个长度为H的预测向量,H代表需要预测的时间步数。在训练过程中,LSTNet采用均方误差(MSE)作为损失函数,并通过反向传播算法进行优化。


2.4.3 TDAN(2018)

论文:《TDAN: Temporal Difference Attention Network for Precipitation Nowcasting》

TDAN(Temporal Difference Attention Network)是一种针对降水临近预报任务而设计的创新模型,它充分利用了时序差分和注意力机制的优势。TDAN通过捕捉时间序列数据中的时序差分信息,并结合注意力机制来关注关键的时间段和区域,从而实现了对降水临近状况的精确预测。TDAN的出色表现证明了其在时序预测领域的潜力和应用价值。TDAN(Time-aware Deep Attentive Network)是一种先进的深度学习算法,专门用于时序预测。它通过融合卷积神经网络与注意力机制,精妙地捕捉时间序列中的时序特征。相较于传统的卷积神经网络,TDAN能够更高效地利用时间序列数据中的时间信息,进而显著提升时序预测的精准度。


具体而言,TDAN算法的时序预测过程可概括为以下几个步骤:

  • 首先,将历史时间序列数据作为输入,通过卷积层深入提取时间序列的核心特征。

  • 接着,将卷积层输出的特征序列传递至注意力机制,基于历史数据中与当前预测紧密相关的权重信息,精确计算加权特征向量。

  • 最终,将加权特征向量送入全连接层,进行精准且高效的预测。

值得注意的是,在TDAN算法的训练过程中,需选用恰当的损失函数(如均方误差)并根据实际需求调整超参数。此外,为提高模型的泛化能力,还需借助交叉验证等技术进行模型评估和筛选。


TDAN算法的一大优势在于,它能自适应地聚焦历史数据中与当前预测高度相关的部分,从而显著提升时序预测的准确度。同时,TDAN还能有效应对时间序列数据中的缺失值与异常值等问题,展现出卓越的鲁棒性。


2.4.4 DeepAR(2019)

论文:《DeepAR: 使用自回归循环网络的概率预测》

DeepAR 是一种创新的自回归循环神经网络,它巧妙地结合了递归神经网络 (RNN) 和自回归 AR 方法,专注于预测标量(一维)时间序列。在许多实际场景中,我们往往面临一系列具有代表性单元的相似时间序列。DeepAR 能够有效地整合这些多个相似的时间序列数据,例如不同口味的方便面销量数据,通过深度递归神经网络捕捉不同时间序列内部的关联特性。这种多元或多重的目标个数设置有助于提升整体的预测精确度。


DeepAR 不仅能够生成可选时间跨度的多步预测结果,而且每个时间节点的预测都是概率预测。默认情况下,它会输出P10、P50和P90三个值。这里的P10意味着有10%的可能性实际值会小于P10这个预测值。通过提供概率预测,我们既可以综合三个值给出一个确定的预测值,也可以利用P10至P90的预测区间制定更为灵活的决策方案。


2.4.5 N-BEATS(2020)

论文:《N-BEATS: 基于神经网络的基础扩展分析用于可解释时间序列预测》

代码仓库:

https://github.com/amitesh863/nbeats_forecast

N-BEATS(Neural basis expansion analysis for interpretable time series forecasting)是一种新颖的基于神经网络的时序预测模型,由Google Brain团队的Oriol Vinyals等人精心研发。N-BEATS采用基于学习的基函数对时间序列数据进行精确表示,从而在保持预测高精度的同时显著提升模型的可解释性。此外,N-BEATS模型还创新性地结合了堆叠的回归模块和逆卷积模块,使其能够有效应对多尺度时序数据和长期依赖关系带来的挑战。


通过如下代码示例,我们可以轻松创建并配置一个N-BEATS模型:

model = NBEATSModel(    input_chunk_length=30,     output_chunk_length=15,     n_epochs=100,     num_stacks=30,     num_blocks=1,     num_layers=4,     dropout=0.0,     activation='ReLU')


通过以上配置,我们可以根据具体任务需求调整模型的参数,以达到最佳的预测效果。


2.4.6 TCN-LSTM(2021)

论文:《利用LSTM和TCN模型检测时间序列数据中的异常研究》

TCN-LSTM,作为一种融合了Temporal Convolutional Network(TCN)和Long Short-Term Memory(LSTM)的先进模型,在时间序列预测任务中展现了卓越的性能。在这个协同合作的模型中,TCN层与LSTM层各司其职,共同捕捉时间序列的长期与短期特征。具体而言,TCN层通过堆叠多个卷积层,扩大了感受野范围,同时借助残差连接避免了梯度消失问题。而LSTM层则凭借其独特的记忆单元和门控机制,有效捕捉了时间序列中深藏的长期依赖关系。


在时序预测过程中,TCN-LSTM模型遵循以下逻辑:首先,通过TCN层对历史时间序列数据进行处理,精准提取出短期内的关键特征;接着,将这些经过处理的特征序列输入到LSTM层,让LSTM层发挥其优势,深入挖掘时间序列中的长期依赖关系;最后,将LSTM层输出的特征向量送入全连接层,通过一系列计算与整合,得出最终的预测结果。


值得注意的是,为了使TCN-LSTM模型达到最佳预测效果,训练过程中需选用合适的损失函数(如均方误差),并根据实际情况调整模型超参数。此外,为了提升模型的泛化能力,还应采用交叉验证等先进技术对模型进行评估与选择,确保其在实际应用中能够表现出色。


2.4.7 NeuralProphet(2021)

论文:《大规模神经网络预测》

NeuralProphet,作为Facebook精心打造的一款基于神经网络的时间序列预测框架,在Prophet框架的基础上融入了创新的神经网络结构,从而实现了对具有复杂非线性趋势和季节性特征的时间序列数据的精准预测。


NeuralProphet的核心思想在于巧妙地将深度神经网络的时间序列非线性特征学习能力与Prophet分解模型相结合,以提取并预测复杂的时间序列变化模式。该框架提供了多种神经网络结构和优化算法选项,用户可根据具体应用场景的需求进行灵活选择和调整。


NeuralProphet的特点显著:

  • 灵活性:NeuralProphet能够轻松应对具有复杂趋势和季节性的时间序列数据,并允许用户根据实际需求灵活配置神经网络结构和优化算法。

  • 准确性:得益于神经网络的强大非线性建模能力,NeuralProphet能显著提升时间序列预测的准确度,为用户提供更可靠的预测结果。

  • 可解释性:NeuralProphet提供了丰富的可视化工具,帮助用户直观理解预测结果及其影响因素,从而更好地指导实际应用。

  • 易用性:NeuralProphet与Python等编程语言无缝集成,提供了丰富的API和示例代码,使得用户能够轻松上手并快速应用于实际场景。

在实际应用中,NeuralProphet在金融、交通、电力等众多领域均展现出了广泛的应用价值。它不仅能够精准预测未来的趋势变化,还能为决策提供有力支持,助力用户更好地应对各种复杂的时间序列预测挑战。


2.4.8 N-HiTS(2022)

论文:《N-HiTS:基于神经网络的层次时序插值预测法》

N-HiTS(基于神经网络的层次时序预测模型)是Uber团队精心研发的一款针对多层次时间序列数据的深度学习预测模型。该模型充分利用了深度学习技术的优势,能够准确预测多层次时间序列数据如产品销售、流量、股票价格等的未来走势。


N-HiTS模型采用了独特的分层结构设计,通过对整个时间序列数据进行精细化的层次划分,实现了对不同时间粒度和特征的深入洞察。在每个层次上,模型都运用了先进的神经网络模型进行预测,确保能够捕捉到各层次数据间的内在关联和变化趋势。

此外,N-HiTS还引入了一种自适应学习算法,该算法能够根据实际数据特征动态调整预测模型的结构和参数,从而最大限度地提高预测精度。这一创新技术的运用使得N-HiTS在应对复杂多变的时间序列预测任务时表现出色。


综上所述,N-HiTS模型凭借其先进的分层结构设计、神经网络模型以及自适应学习算法,为多层次时间序列预测任务提供了一种高效、准确的解决方案。在未来,随着大数据和人工智能技术的不断发展,N-HiTS有望在更多领域展现出其强大的应用潜力。


model = NHiTSModel(input_chunk_length=30, output_chunk_length=15, n_epochs=100, num_stacks=3, num_blocks=1, num_layers=2, dropout=0.1, activation='ReLU')


2.4.9 D-Linear(2022)

Paper:Are Transformers Effective for Time Series Forecasting?

Code: https://github.com/cure-lab/LTSF-Linear

D-Linear(Deep Linear Model),是李宏毅团队倾力打造的神经网络时序预测模型,以线性的方式洞察时间序列数据的奥秘。它巧妙地利用神经网络结构进行线性预测,既确保了高精度的预测能力,又大幅提升了模型的可解释性。该模型内嵌多层感知器(Multilayer Perceptron)架构,并通过交替的训练与微调策略,持续优化模型性能。此外,D-Linear还独创性地提出一种基于稀疏编码的特征选择机制,可智能筛选出具有辨识度和预测价值的特征。与此异曲同工的是百度团队研发的N-Linear(Neural Linear Model),它同样是一款基于神经网络的线性时序预测模型。



【免责声明】本公众号发布的内容仅供学习交流使用,内容版权归原作者所有。如有侵犯您的权益,请及时与我们联系,我们将于第一时间删除内容。内容为作者个人观点,不代表本公众号立场和对其真实性负责。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/175644
 
148 次点击