時序預測的深度學習算法介紹(3)
注意力機制(Attention)是一種用于解決序列輸入數(shù)據(jù)中重要特征提取的機制,也被應用于時序預測領域。Attention機制可以自動關注時間序列數(shù)據(jù)中的重要部分,為模型提供更有用的信息,從而提高預測精度。在應用Attention進行時序預測時,需要利用Attention機制自適應地加權輸入數(shù)據(jù)的各個部分,從而使得模型更加關注關鍵信息,同時減少無關信息的影響。Attention機制不僅可以應用于RNN等序列模型,也可以應用于CNN等非序列模型,是目前時序預測領域研究的熱點之一。
2.3.1 Transformer(2017)Paper:Attention Is All You Need
Transformer是一種廣泛應用于自然語言處理(NLP)領域的神經(jīng)網(wǎng)絡模型,其本質是一種序列到序列(seq2seq)的模型。Transformer將序列中的每個位置視為一個向量,并使用多頭自注意力機制和前饋神經(jīng)網(wǎng)絡來捕捉序列中的長程依賴性,從而使得模型能夠處理變長序列和不定長序列。
在時序預測任務中,Transformer模型可以將輸入序列的時間步作為位置信息,將每個時間步的特征表示為一個向量,并使用編碼器-****框架進行預測。具體來說,可以將預測目標的前N個時間步作為編碼器的輸入,將預測目標的后M個時間步作為****的輸入,并使用編碼器-****框架進行預測。編碼器和****都是由多個Transformer模塊堆疊而成,每個模塊由多頭自注意力層和前饋神經(jīng)網(wǎng)絡層組成。
在訓練過程中,可以使用均方誤差(MSE)或平均絕對誤差(MAE)等常見的損失函數(shù)來度量模型的預測性能,使用隨機梯度下降(SGD)或Adam等優(yōu)化算法來更新模型參數(shù)。在模型訓練過程中,還可以使用學習率調整、梯度裁剪等技術來加速模型的訓練和提高模型的性能。
# 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)和模態(tài)嵌入(Modality Embedding)。時間特征嵌入可以幫助模型更好地學習時序數(shù)據(jù)中的周期性和趨勢性等特征,而模態(tài)嵌入可以將外部的影響因素(如氣溫、節(jié)假日等)與時序數(shù)據(jù)一起進行預測。
TFT方法可以分為兩個階段:訓練階段和預測階段。在訓練階段,TFT方法使用訓練數(shù)據(jù)來訓練Transformer模型,并使用一些技巧(如隨機掩碼、自適應學習率調整等)來提高模型的魯棒性和訓練效率。在預測階段,TFT方法使用已訓練好的模型來對未來時序數(shù)據(jù)進行預測。
與傳統(tǒng)的時序預測方法相比,TFT方法具有以下優(yōu)點:
- 可以更好地處理不同尺度的時間序列數(shù)據(jù),因為Transformer模型可以對時間序列的全局和局部特征進行學習。
- 可以同時考慮時間序列數(shù)據(jù)和外部影響因素,從而提高預測精度。
可以通過端到端的訓練方式直接學習預測模型,不需要手動提取特征。
# 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,)
HT(Hierarchical Transformer)是一種基于Transformer模型的時序預測算法,由中國香港中文大學的研究人員提出。HT模型采用分層結構來處理具有多個時間尺度的時序數(shù)據(jù),并通過自適應注意力機制來捕捉不同時間尺度的特征,以提高模型的預測性能和泛化能力。
HT模型由兩個主要組件組成:多尺度注意力模塊和預測模塊。在多尺度注意力模塊中,HT模型通過自適應多頭注意力機制來捕捉不同時間尺度的特征,并將不同時間尺度的特征融合到一個共同的特征表示中。在預測模塊中,HT模型使用全連接層對特征表示進行預測,并輸出最終的預測結果。
HT模型的優(yōu)點在于,它能夠自適應地處理具有多個時間尺度的時序數(shù)據(jù),并通過自適應多頭注意力機制來捕捉不同時間尺度的特征,以提高模型的預測性能和泛化能力。此外,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 時間序列預測改進方法,包括卷積自注意力(生成具有因果卷積的查詢和密鑰,將局部環(huán)境納入注意力機制)和LogSparse Transformer(Transformer 的內存效率較高的變體,用于降低長時間序列建模的內存成本),主要用于解決Transformer時間序列預測與位置無關的注意力和記憶瓶頸兩個主要弱點。
2.3.5 DeepTTF(2020)DeepTTF(Deep Temporal Transformational Factorization)是一種基于深度學習和矩陣分解的時序預測算法,由美國加州大學洛杉磯分校的研究人員提出。DeepTTF模型將時間序列分解為多個時間段,并使用矩陣分解技術對每個時間段進行建模,以提高模型的預測性能和可解釋性。
DeepTTF模型由三個主要組件組成:時間分段、矩陣分解和預測器。在時間分段階段,DeepTTF模型將時間序列分為多個時間段,每個時間段包含連續(xù)的一段時間。在矩陣分解階段,DeepTTF模型將每個時間段分解為兩個低維矩陣,分別表示時間和特征之間的關系。在預測器階段,DeepTTF模型使用多層感知機對每個時間段進行預測,并將預測結果組合成最終的預測序列。
DeepTTF模型的優(yōu)點在于,它能夠有效地捕捉時間序列中的局部模式和全局趨勢,同時保持較高的預測精度和可解釋性。此外,DeepTTF模型還支持基于時間分段的交叉驗證,以提高模型的魯棒性和泛化能力。
2.3.6 PTST(2020)Probabilistic Time Series Transformer (PTST)是一種基于Transformer模型的時序預測算法,由Google Brain于2020年提出。該算法采用了概率圖模型來提高時序預測的準確性和可靠性,能夠在不確定性較大的時序數(shù)據(jù)中取得更好的表現(xiàn)。
PTST模型主要由兩個部分組成:序列模型和概率模型。序列模型采用Transformer結構,能夠對時間序列數(shù)據(jù)進行編碼和解碼,并利用自注意力機制對序列中的重要信息進行關注和提取。概率模型則引入了變分自編碼器(VAE)和卡爾曼濾波器(KF)來捕捉時序數(shù)據(jù)中的不確定性和噪聲。
具體地,PTST模型的序列模型使用Transformer Encoder-Decoder結構來進行時序預測。Encoder部分采用多層自注意力機制來提取輸入序列的特征,Decoder部分則通過自回歸方式逐步生成輸出序列。在此基礎上,概率模型引入了一個隨機變量,即時序數(shù)據(jù)的噪聲項,它被建模為一個正態(tài)分布。同時,為了減少潛在的誤差,概率模型還使用KF對序列進行平滑處理。
在訓練過程中,PTST采用了最大后驗概率(MAP)估計方法,以最大化預測的概率。在預測階段,PTST利用蒙特卡洛采樣方法來從后驗分布中抽樣,以生成一組概率分布。同時,為了衡量預測的準確性,PTST還引入了均方誤差和負對數(shù)似然(NLL)等損失函數(shù)。
2.3.7 Reformer(2020)Paper:Reformer: The Efficient Transformer
Reformer是一種基于Transformer模型的神經(jīng)網(wǎng)絡結構,它在時序預測任務中具有一定的應用前景??梢允褂肦eformer模型進行采樣、自回歸、多步預測和結合強化學習等方法來進行時序預測。在這些方法中,通過將已知的歷史時間步送入模型,然后生成未來時間步的值。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年提出。與傳統(tǒng)的Transformer模型不同,Informer在Transformer模型的基礎上引入了全新的結構和機制,以更好地適應時序預測任務。Informer方法的核心思想包括:
- 長短時記憶(LSTM)編碼器-****結構:Informer引入了LSTM編碼器-****結構,可以在一定程度上緩解時間序列中的長期依賴問題。
- 自適應長度注意力(AL)機制:Informer提出了自適應長度注意力機制,可以在不同時間尺度上自適應地捕捉序列中的重要信息。
- 多尺度卷積核(MSCK)機制:Informer使用多尺度卷積核機制,可以同時考慮不同時間尺度上的特征。
生成式對抗網(wǎng)絡(GAN)框架:Informer使用GAN框架,可以通過對抗學習的方式進一步提高模型的預測精度。
在訓練階段,Informer方法可以使用多種損失函數(shù)(如平均絕對誤差、平均平方誤差、L1-Loss等)來訓練模型,并使用Adam優(yōu)化算法來更新模型參數(shù)。在預測階段,Informer方法可以使用滑動窗口技術來預測未來時間點的值。
Informer方法在多個時序預測數(shù)據(jù)集上進行了實驗,并與其他流行的時序預測方法進行了比較。實驗結果表明,Informer方法在預測精度、訓練速度和計算效率等方面都表現(xiàn)出了很好的性能。
2.3.9 TAT(2021)TAT(Temporal Attention Transformer)是一種基于Transformer模型的時序預測算法,由北京大學智能科學實驗室提出。TAT模型在傳統(tǒng)的Transformer模型基礎上增加了時間注意力機制,能夠更好地捕捉時間序列中的動態(tài)變化。
TAT模型的基本結構與Transformer類似,包括多個Encoder和Decoder層。每個Encoder層包括多頭自注意力機制和前饋網(wǎng)絡,用于從輸入序列中提取特征。每個Decoder層則包括多頭自注意力機制、多頭注意力機制和前饋網(wǎng)絡,用于逐步生成輸出序列。與傳統(tǒng)的Transformer模型不同的是,TAT模型在多頭注意力機制中引入了時間注意力機制,以捕捉時間序列中的動態(tài)變化。具體地,TAT模型將時間步信息作為額外的特征輸入,然后利用多頭注意力機制對時間步進行關注和提取,以輔助模型對序列中動態(tài)變化的建模。此外,TAT模型還使用了增量式訓練技術,以提高模型的訓練效率和預測性能。
2.3.10 NHT(2021)Paper:Nested Hierarchical Transformer: Towards Accurate, Data-Efficient and Interpretable Visual Understanding
NHT(Nested Hierarchical Transformer)是一種用于時間序列預測的深度學習算法。它采用了一種嵌套的層次變換器結構,通過多層次嵌套的自注意力機制和時間重要性評估機制來實現(xiàn)對時間序列數(shù)據(jù)的精確預測。NHT模型通過引入更多的層次結構來改進傳統(tǒng)的自注意力機制,同時使用時間重要性評估機制來動態(tài)地控制不同層次的重要性,以獲得更好的預測性能。該算法在多個時間序列預測任務中表現(xiàn)出了優(yōu)異的性能,證明了其在時序預測領域的潛力。
2.3.11 Autoformer(2021)Paper:Autoformer: Decomposition Transformers with Auto-Correlation for Long-Term Series
ForecastingCode:https://github.com/thuml/Autoformer
AutoFormer是一種基于Transformer結構的時序預測模型。相比于傳統(tǒng)的RNN、LSTM等模型,AutoFormer具有以下特點:
- 自注意力機制:AutoFormer采用自注意力機制,可以同時捕捉時間序列的全局和局部關系,避免了長序列訓練時的梯度消失問題。
- Transformer結構:AutoFormer使用了Transformer結構,可以實現(xiàn)并行計算,提高了訓練效率。
多任務學習:AutoFormer還支持多任務學習,可以同時預測多個時間序列,提高了模型的效率和準確性。
AutoFormer模型的具體結構類似于Transformer,包括編碼器和****兩部分。編碼器由多個自注意力層和前饋神經(jīng)網(wǎng)絡層組成,用于從輸入序列中提取特征。****同樣由多個自注意力層和前饋神經(jīng)網(wǎng)絡層組成,用于將編碼器的輸出轉化為預測序列。此外,AutoFormer還引入了跨時間步的注意力機制,可以在編碼器和****中自適應地選擇時間步長??傮w而言,AutoFormer是一種高效、準確的時序預測模型,適用于多種類型的時間序列預測任務。
Paper:Pyraformer: Low-complexity Pyramidal Attention for Long-range Time Series Modeling and ForecastingCode: https://github.com/ant-research/Pyraformer
螞蟻研究院提出一種新的基于金字塔注意力的Transformer(Pyraformer),以彌補捕獲長距離依賴和實現(xiàn)低時間和空間復雜性之間的差距。具體來說,通過在金字塔圖中傳遞基于注意力的信息來開發(fā)金字塔注意力機制,如圖(d)所示。該圖中的邊可以分為兩組:尺度間連接和尺度內連接。尺度間的連接構建了原始序列的多分辨率表示:最細尺度上的節(jié)點對應于原始時間序列中的時間點(例如,每小時觀測值),而較粗尺度下的節(jié)點代表分辨率較低的特征(例如,每日、每周和每月模式)。
這種潛在的粗尺度節(jié)點最初是通過粗尺度構造模塊引入的。另一方面,尺度內邊緣通過將相鄰節(jié)點連接在一起來捕獲每個分辨率下的時間相關性。因此,該模型通過以較粗的分辨率捕獲此類行為,從而使信號穿越路徑的長度更短,從而為遠距離位置之間的長期時間依賴性提供了一種簡潔的表示。此外,通過稀疏的相鄰尺度內連接,在不同尺度上對不同范圍的時間依賴性進行建模,可以顯著降低計算成本。
*博客內容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。