摘 要:風電功率預測對電力調度和新能源管理極為重要。為準確高效預測多變量風電功率,提出一種基于輕量化Transformer(Light Transformer)的風電功率預測方法。首先,采用滾動序列建模方法,確定輸入數據,然后采用Transformer預測模型,改進和精簡原始結構,在前饋網絡模塊中使用GeLU激活函數來代替?zhèn)鹘y的ReLU激活函數,提升模型的質量,輕量化網絡結構,利用多頭注意力機制,加快模型訓練速度,提升預測模型精度。
關鍵詞:輕量化Transformer模型;風電功率;激活函數
中圖分類號:TP391 文獻標識碼:A 文章編號:2096-4706(2024)16-0141-05
Multivariate Wind Power Prediction with Lightweight Transformer Model
Abstract: Wind power prediction is extremely important for power dispatching and new energy management. In order to accurately and efficiently predict the multivariate wind power, a wind power prediction method based on Light Transformer is proposed. Firstly, the rolling sequence modeling method is used to determine the input data, and then the Transformer prediction model is used to improve and streamline the original structure and use the GeLU Activation Function instead of the traditional GeLU Activation Function in the feed-forward network module to improve the quality of the model. It lightens the network structure, utilizes the multi-attention mechanism, accelerates the training speed of the model and improves the accuracy of the prediction model.
Keywords: Lightweight Transformer model; wind power; Activation Function
0 引 言
為深入落實“雙碳”目標任務,風電功率成為加快推進能源綠色低碳轉型的整的重要保障。因風力發(fā)電的隨機性、波動性和不穩(wěn)定性特點,直接影響了風電的消納,進而在風電大規(guī)模并網時,將對電網系統的穩(wěn)定運行及電力系統做出合理的調度決策帶來挑戰(zhàn)[1]。因此,準確可靠的風電功率預測對于新型電網系統的安全穩(wěn)定運行以及提高風電場管理調度具有重要意義[2]。
目前,已有多數學者對風電功率預測做了深入研究,并且在短期風電功率預測方面取得了顯著成果。隨著人工智能的興起發(fā)展,深度神經網絡在擬合風電功率隨機波動能力不斷提高。因此,BP模型、LSTM模型和GRU模型在風電功率預測方面有了大量的應用。文獻[3]利用改進序列到序列的LSTM構建超短期風電功率預測模型,文獻[4]采用CNN對數據進行深層特征提取,然后將其送入到GRU進行風電功率預測。文獻[5]建立CNN-BiGRU模型進行特征挖掘,再利用ISSA對模型參數智能尋優(yōu)。文獻[6]提出基于偏自相關函數和BiLSTM神經網絡的預測方法進行風電功率預測。上述方法中采用的LSTM、GRU以及BiLSTM網絡由于自身串行結構的限制,只能順序讀取序列數據,容易出現梯度爆炸或梯度消失的問題,從而難以捕捉長期依賴關系。文獻[7]提出一種基于誤差修正的ILSTM短期風電功率預測方法;文獻[8]為提高風力發(fā)電功率短期預測的準確度,提出一種將自適應噪聲完備集成經驗模態(tài)分解與改進TCN結合的短期風電功率預測模型。文獻[9]采用動態(tài)權重選擇、孤立森林算以及鄰近節(jié)點算法篩選并處理數據,構建多元注意力框架,提高模型預測精度。
Transformer模型由于編碼器-解碼器的結構設計可以捕捉時間序列數據的全局依賴關系[10]。文獻[11]對離散化海上風電機組進行聚類,并采用Transformer模型進行海上風電功率的超短期預測。文獻[12]采用多級注意力機制捕捉風電功率序列的自相關性以及功率與氣象數據間的耦合關系,并通過全連接層進行點預測和區(qū)間預測。文獻[13]根據風電出力的季節(jié)性特點劃分風電功率大小不同的月份進行測,該方法需要更多的超參數且劃分較為粗糙,不具有普適性。
Transformer模型是一種強大的神經網絡模型,已經在自然語言處理、計算機視覺等領域取得了巨大突破。在風電功率預測領域,也可以利用Transformer模型來進行多變量風電功率預測研究。傳統的方法通常采用基于統計模型或者人工智能模型,但是這些方法無法充分利用多變量之間的復雜關系。
綜上所述,通過Transformer模型可以構建能處理多變量輸入的風電功率預測方法。本文針對風電預測中波動性和隨機性帶來的風電功率預測精低的問題,提出一種輕量化Transformer的風電功率預測模型。通過輕量化Transformer模型挖掘得到低維數據與風電功率序列間的時序關系,實現多變量風電功率的短期預測。最后,采用某風電場的實際數據對本文所提方法進行驗證,實驗結果表明,本文所提預測方法具有較高預測精度,且預測結果更穩(wěn)定,同時還降低了計算復雜性。
1 相關理論
1.1 位置編碼
原始Transformer模型借助其精巧的自注意力并行結構,既能進行并行計算,又同時解決了長期依賴性問題。雖然相較于LSTM模型,Transformer模型的訓練速度遙遙領先,但是由于并行計算結構,也帶來了上下文關系注入問題。因此,對于Transformer模型而言,序列的順序關系無法進行直接獲取,自注意力模塊在計算注意力分布時,只能給出輸出向量和輸入向量之間的權重關系,而不能給出位置信息。故而,需要融入位置編碼矩陣。
Transformer模型引入使用正余弦位置編碼。位置編碼通過使用不同頻率的正弦、余弦函數生成,提供輸入數據在風電功率序列中相對位置的信息,位置編碼表示為:
其中,Pos為數據在整個序列中的位置,i為特征的第i個維度,dm為特征的維度。
1.2 自注意力機制
注意力機制采取學習輸入元素的相關關系,通過神經網絡架構能夠智能權衡任意輸入的個別相關性,并在執(zhí)行時序建模計算時考慮權重自調整。其基本理念是計算輸入序列的權重分布,為密切相關的元素分配較大的權值。具體來講,注意力機制是將一組K鍵、V向量和Q向量進行計算后得到相應的輸出。
原始Transformer模型采用自注意力機制來處理長序列依賴問題[14],在Transformer模型中,其本質上就是使用Q向量和K鍵來計算“注意力權重”,對V向量進行加權求和并輸出。其按比例縮放的注意力公式如下:
Transformer模型不同于BP模型、LSTM模型,它是采用多頭注意力機制模塊并行計算,用于提高模型的表達能力。多頭注意力機制公式如下:
1.3 編碼器
編碼器模塊主要是對風電功率序列進行特征提取,然后將位置編碼加入,最后通過解碼器提取風電功率序列的高維特征。編碼器模塊包括多頭注意力機制、殘差連接和前饋神經網絡三大部分。Transformer模型通過層規(guī)范化和殘差連接對矩陣進行處理,層規(guī)范化和殘差連接能夠在一定程度上,解決深度神經網絡因層數過多而導致的梯度消失和網絡退化問題,加速模型預測結果的收斂。進入前饋神經網絡,前饋神經網絡的計算公式為:
其中,Fx為前饋神經網絡函數;k為層歸一化輸出值;ω1和b1為第1個線性層的權重矩陣和偏置向量;ω2和b2為第2個線性層的權重矩陣和偏置向量。
1.4 激活函數
GeLU函數也稱為更平滑的整流線性單元函數,被廣泛應用于如Google的BERT[15]和OpenAI的GPT-2[16]等較為先進的網絡模型中。其計算公式如下所示:
其中,X為輸入值,X為具有零均值和單位方差的高斯隨機變量。P(X<x)為X小于等于給定值x的概率。其近似結果為:
與ReLU和Sgmoid激活函數相比,GeLU激活函數引入了隨機正則化的理念,自適應地摒棄無關的結果輸出。神經元的輸入值越大,激活后的數值就增加了被保留的可能性,隨著輸入值的減小,激活值被歸0的概率也更大,因此激活后的輸出值更凸顯非線性化,特征的表達更為充分[17]。本實驗發(fā)現在前饋神經網絡層使用GeLU激活函數能夠取得更好的性能,可以促進L-Transformer模型非線性處理能力,提高預測模型的擬合能力。
2 基于L-Transformer的風電功率預測
2.1 預測模型結構
本文構建的L-Transformer模型由1個輸入層、1個Transformer層和輸出層組成。其中Transformer模型精簡化為由多層結構的編碼器和解碼器組成,其中編碼器每一層都包括一個多頭自注意力模塊和一個前饋神經網絡(FNN)子層模塊。編碼器將輸入序列映射到高維,而后將其饋送到解碼器生成輸出序列。L-Transformer的解碼器由全連接層代替。輕量化網絡結構如圖1所示。
2.2 預測流程
本文通過對風電功率及影響因素的分析,確定輸入數據,利用輕量化Transformer模型實現對風電功率短期預測,其預測流程如圖2所示。
風電功率預測具體步驟如下:
1)構建數據集。通過采集風電場70 m的風速、風向、溫度、濕度、氣壓、功率等構建數據集。
2)數據預處理。需要對輸入數據進行預處理,將多個變量的時間序列數據整合成一個輸入序列,利用Transformer模型的自我注意力機制來學習變量之間的關系。
3)構建預測模型。將分析后的數據按照8:2
劃分為訓練集和測試集,通過輸入訓練集調整L-Transformer模型中的超參數建立最優(yōu)模型,將測試集輸入到建立好的最優(yōu)模型中得到預測結果。
4)性能分析。選擇平均絕對誤差(MAE)、均方根誤差(RMSE)和決定系數R2等評價指標來衡量模型的預測精度。
3 實驗結果及分析
3.1 數據預處理
本文基于我國某地區(qū)某風電場2019年1月1日到2019年12月31日的實際數據進行實驗分析,數據主要包括測風塔70 m的風速、測風塔70 m的風向、溫度、氣壓、濕度、發(fā)電功率等數據,采樣周期為15 min。本文采用80%的數據作為訓練集數據,將其余20%的數據作為測試集數據。本文采用歸一化方法對數據進行歸一化處理,歸一化公式為:
其中,ynorm為歸一化后的值,y為實際值,ymin為原數據集中的最小值,ymax為原數據集中的最大值。
3.2 評價指標
為了準確反映預測效果,本文采取平均絕對誤差(MAE)、均方根誤差(RMSE)和決定系數(R2)來對L-Transformer模型進行精準評價。MAE、RMSE越小,或R2越接近于1,模型的預測性能越好。其中MAE、RMSE、R2的公式分別為:
3.3 實驗結果分析
3.3.1 預測環(huán)境
本文實驗運行均在相同環(huán)境下進行,在Windows 11操作系統,8核16線程,CPU是Intel Core i5-12400F @2.5 GHz,采用Python 3.6搭建模型框架,并在NVIDIA GeForce GTX 1660 SUPER平臺進行訓練測試,計算平臺選擇CUDA 10.1和cuDNN。經過多輪實驗后,對超參數進行調優(yōu),使用Adam優(yōu)化器訓練模型,MSE為損失函數,隱藏層的數量是256層,編碼器的數量4,解碼器是1個,學習率設置為0.001,并加入dropout防止過擬合,設定值為0.5,batch_size大小為256。
3.3.2 模型性能比較
為了驗證輕量化Transformer模型預測性能,分別與BP模型、LSTM模型和Transformer模型進行性能對比,預測結果對比如表1和圖3所示。
由此發(fā)現,Transformer模型與BP模型、LSTM模型相比,R2的值分別上升了0.015、0.009 8,RMSE分別降低了7.71%、6.21%,MAE分別減少了16.04%、3.20%,說明Transformer模型更擅長從長序列中學習特征。
L-Transformer模型與Transformer模型相比,R2的值提升了0.019 2,其MAE、RMSE值下降了14.38%,24.46%,輕量化的L-Transformer模型其預測精度更高,誤差更小,能更準確預測短期風電功率。
3.3.3 不同激活函數選擇
針對神經網絡的輸出結果,激活函數將對其展開非線性映射處理,故而選擇不同的激活函數直接影響網絡模型的輸出參數,進而影響到預測模型的性能。為驗證其結果,分別采用ReLU與GeLU激活函數對前饋神經網絡層的激活函數替換,使用GeLU激活函數相比ReLU激活函數增加了隨機性,且明顯在MAE、RMSE降低了10.92%,23.72%,R2提升了0.014 9。實驗結果如表2所示。
4 結 論
本文提出了一種基于輕量化Transformer模型的短期多變量風電功率預測方法,并在西北某風電場真實數據集上進行實驗,通過改進Transformer模型,替換激活函數,輕量化網絡結構,減半編碼器個數,進行多變量風電功率預測研究,根據實驗分析可知,L-Transformer模型在性能方面明顯優(yōu)于BP模型、LSTM模型和原始Transformer模型。結合多注意力機制,使用殘差連接防止出現梯度消失問題,L-Transformer模型表現出更優(yōu)越的性能,采用GeLU激活函數也可以進一步提升模型的預測性能。構建的輕量化Transformer模型進行風電功率預測,可以有效地挖掘風速、風向、溫度和濕度等多變量之間的關系,提高預測的準確性和魯棒性,為電力調度和風電場的運營和管理提供更準確的預測結果。
參考文獻:
[1] 王曉東,栗杉杉,劉穎明,等.基于特征變權的超短期風電功率預測 [J].太陽能學報,2023,44(2):52-58.
[2] 商立群,李洪波,黃辰浩,等.基于多變量相空間重構和優(yōu)化深度極限學習機的短期風電功率預測 [J].南方電網技術,2023,17(2):82-91.
[3] 郭恒寬,田建艷,劉豎威,等.基于改進Sequence2Sequence架構的LSTM超短期可解釋風電功率預測 [J/OL].控制工程:1-12[2024-02-24].https://doi.org/10.14107/j.cnki.kzgc.20230921.
[4] 楊芮,文武,徐虹.基于PCC-CNN-GRU的短期風電功率預測 [J].成都信息工程大學學報,2022,37(2):165-170.
[5] 王瑞,徐新超,逯靜.基于特征選擇及ISSA–CNN–BiGRU的短期風功率預測 [J].工程科學與技術,2024,56(3):228-239.
[6] 唐賢倫,張家瑞,郭祥麟,等.基于數據平穩(wěn)化和BiLSTM的短期風電功率預測方法 [J].重慶郵電大學學報:自然科學版,2023,35(6):1135-1144.
[7] 趙鐵成,謝麗蓉,葉家豪.基于誤差修正的NNA-ILSTM短期風電功率預測 [J].智慧電力,2022,50(1):29-36.
[8] 趙凌云,劉友波,沈曉東,等.基于CEEMDAN和改進時間卷積網絡的短期風電功率預測模型 [J].電力系統保護與控制,2022,50(1):42-50.
[9] 崔楊,王議堅,黃彥浩,等.基于多元注意力框架與引導式監(jiān)督學習的閉環(huán)風電功率超短期預測策略 [J].中國電機工程學報,2023,43(4):1334-1347.
[10] 施進煒,張程,原冬蕓.基于數據修正的概率稀疏自注意短期風電功率預測 [J].智慧電力,2023,51(10):54-61.
[11] 林錚,劉可真,沈賦,等.考慮海上風電多機組時空特性的超短期功率預測模型 [J].電力系統自動化,2022,46(23):59-66.
[12] 張越,臧海祥,程禮臨,等.基于自適應時序表征和多級注意力的超短期風電功率預測 [J].電力自動化設備,2024,44(2):117-125.
[13] 駱釗,吳諭侯,朱家祥,等.基于多尺度時間序列塊自編碼Transformer神經網絡模型的風電超短期功率預測 [J].電網技術,2023,47(9):3527-3537.
[14] 陳銳,丁凱,祖連興,等.基于AED-CEEMD-Transformer的鋰離子電池健康狀態(tài)估計 [J].儲能科學與技術,2023,12(10):3242-3253.
[15] LIU Y,WU H,WANG J,et al. Non-stationary Transformers: Exploring the Stationarity in Time Series Forecasting [J].Advances in Neural Information Processing Systems,2022,35:9881-9893.
[16] JIN W,ZHANG W,HU J,et al. Transformer for Sub-seasonal Extreme High Temperature Probabilistic Forecasting Over Eastern China [J].Theoretical and Applied Climatology,2023,151(1-2):65-80.
[17] 周嫻瑋,賴堅,陳瑋濤,等.RFC-Net:基于殘差結構的動作質量評估網絡 [J].計算機技術與發(fā)展,2022,32(11):146-153+163.