梁 露,劉遠龍,劉韶華,張智晟
(1.青島大學電氣工程學院,青島 266071;2.山東大學電氣工程學院,濟南 250013;3.水發集團有限公司,濟南 250013)
電力行業發展日新月異,可再生能源的并入以及電動汽車等各種新負荷的加入給電網的安全性和穩定性帶來極大挑戰[1]。高精度的電力系統短期負荷預測對電網資源的科學調度[2]以及電網的高效、安全、穩定運行具有重要意義[3]。
短期負荷預測的發展大致可分為數學統計模型方法預測和人工智能方法預測兩個階段[4]。常見的數學統計模型方法有卡爾曼濾波和自回歸模型等[5],這些方法雖然計算量小、效率高,但受模型自身結構的限制,在處理復雜且帶有非線性因素數據方面表現較差[6]。隨著人工智能技術的蓬勃發展,決策樹、隨機森林、支持向量機、人工神經網絡等機器學習方法在電力負荷預測領域應用十分廣泛,然而此類方法一般采用淺層結構,在面對數以百萬計的數據時,容易出現參數不收斂和穩定性差等問題[7]。因此,具有出色的數據特征挖掘和建模能力的深度學習方法,如卷積神經網絡CNN(convolution neural network)、深度置信神經網絡等模型備受青睞。文獻[8]使用自編碼器預處理輸入數據,并利用粒子群算法選取最優參數優化卷積神經網絡,進而對電力數據進行負荷預測;文獻[9-10]提出了基于混合神經網絡的負荷預測模型,該模型利用卷積神經網絡在數據挖掘領域的優勢提取數據在高維空間中的聯系,輸入到LSTM、GRU循環神經網絡中獲得了很好的預測精度。由于LSTM、GRU神經網絡存在訓練速度慢、選取合適參數較難等問題[11],而傳統卷積神經網絡由于其卷積核大小的限制,也不能很好地抓取長時的依賴信息。Lea等[12]在2017年開創性地提出了融合擴張因果卷積及殘差連接的時間卷積神經網絡TCN(temporal convolutional network)。由于在TCN中可以對輸入數據進行大規模地并行計算,訓練和測試網絡需要的時間都會變短[13];通過堆疊更多的卷積層、使用更大的擴張系數這兩種手段,為TCN更加靈活地調整感受野大小提供了便利,同時加強對模型記憶長短的控制;TCN具有不同于輸入序列時間方向的反向傳播路徑,這避免了循環神經網絡RNN(recurrent neural network)中時常發生的梯度爆炸或消失問題。尤其是在處理長輸入序列問題時,TCN不需要存儲大量的門結構,相較于LSTM、GRU在訓練時需要的內存更少。
雖然TCN使用了擴張卷積可以擴大感受野,但仍然會受到卷積核大小的限制,導致其不能獲得足夠大的感受野,在抓取任意長度的相關信息特征方面表現稍差。研究人員發現在改善卷積神經網絡的性能方面,通道注意力機制極具潛質。然而,現有的各種方法大都致力于開發更復雜的注意力模塊來提高模型的性能,增加模型的復雜性在所難免。為了解決模型性能和模型復雜性二者之間的矛盾,文獻[14]提出了一種高效通道注意力ECA(efficient channel attention)模塊,該模塊只需要增加少量的參數,就可以使模型獲得顯著的性能增益。
針對上述研究現狀,本文提出一種基于高效通道注意力模塊優化的時間卷積神經網絡ECA-TCN模型。該模型利用TCN模型充分挖掘時序數據之間的關聯信息,并利用一維卷積高效地實現不降維的局部跨通道交互,突顯重要信息[15],使模型更容易處理序列間的依賴關系,提升負荷預測的準確性。仿真結果表明,該模型可以在保持較快訓練速度的同時有效地提高負荷預測的準確性和穩定性。
時間卷積神經網絡是由具有相同輸入和輸出長度的擴張因果一維卷積層組成,并利用殘差連接來避免梯度消失的新網絡結構。
因果卷積是指,每一層中t時刻的狀態只與它前一層t時刻以及之前時刻的狀態有關。它看不到未來的序列信息,是一個完全單向的結構,只有根據前面的“因”才能得到后面相應的“果”。
單純的因果卷積因為受到卷積核尺寸的限制,當其想要捕獲更長時間序列之間的依賴關系,考慮的輸入變量就會越早,參與運算所需要的輸入變量也越多,就需要線性地堆疊更多的層。隨之而來就會出現梯度消失、訓練復雜、擬合效果不好的問題。為了解決這些問題,研究人員提出了擴張卷積(dilated convolution),其結構如圖1所示。

圖1 擴張因果卷積Fig.1 Dilated causal convolution
擴張卷積與普通卷積的不同之處在于它允許在卷積時對輸入數據進行間隔采樣,受圖中的采樣率d控制。圖中輸入層采樣率d=1,代表對每個輸入數據都進行采樣,中間隱藏層的d=2,表示每2個點取一個數據作為輸入。通常,越高的層級會使用越大的采樣率。所以,擴張卷積可以使有效窗口的大小隨層數呈指數型增長。這樣網絡就可以用較少的卷積層,獲得足夠大的感受野,解決了因果卷積帶來的問題。對于輸入的時間序列x,擴張卷積的計算公式為

式中:F(t)為經過一次擴張卷積運算后的輸出;d為采樣率即擴張系數;k為卷積核尺寸;f(i)為卷積核中第i個元素;xt-di為只對過去的數據進行卷積操作。
TCN由多個TCN殘差塊堆疊而成。TCN殘差塊結構如圖2所示。

圖2 TCN殘差塊Fig.2 TCN residual block
一個TCN殘差塊中包含2個一維擴張因果卷積層。為了使TCN不僅僅是一個過于復雜的線性回歸模型,在卷積層的頂部添加ReLU激活函數來引入非線性。在每層中還加入了權值歸一化層(weight norm)規范隱含層的輸入以抵消網絡的梯度爆炸問題;隨機丟失部分神經元(Dropout)使網絡正則化,避免過擬合。最后如圖2左側部分所示,引入殘差連接對輸入進行直接映射,解決深層網絡的退化問題[16]。
近年來,將通道注意力整合到卷積塊中來提升CNN性能的方法引起了人們的廣泛關注。其中一個代表性的方法就是SENet(squeeze-and-excitation network),在SENet中設置擠壓(即特征聚合)和激勵(即特征重新校準)后學習每個卷積塊的通道注意力,為各種深度CNN體系結構帶來了明顯的性能增益[17]。因為SENet需要捕獲所有通道的依賴關系,通常會帶來更高的模型復雜性和更大的計算負擔,導致它的效率很低。一般會通過對數據降維來控制模型的復雜性,然而維數減少會對通道注意預測產生副作用。因此,Wang等[14]在2020年提出了一種針對卷積神經網絡的ECA模塊,該模塊避免了降維,能夠有效捕捉局部跨通道交互信息。
ECA模塊相較于SENet的優勢在于適當地捕獲局部跨道信息交互,該模塊提出了一種當前通道特征只與其近鄰的k個通道進行信息交互的局部跨通道交互方式。為了抓取到合適的局部通道交互信息,合理地確定通道交互信息的大致范圍(即一維卷積的卷積核大小k)顯得尤為重要。為了避免通過交叉驗證手動調整k,引入了一種根據輸入通道C的大小自適應確定交互覆蓋率k的方法,計算公式為

式中:|t|odd為離t最近的奇數;C為當前總通道數;γ和b分別為固定值2和1。自適應確定好k值后,為了進一步簡化模型,所有通道共同分享學習到的注意力權重參數,則第i個通道yi的權重wi可以表示為

ECA模塊的工作原理如圖3所示。

圖3 ECA模塊工作原理Fig.3 Working principle for ECA module
圖3中:H、W、C分別代表輸入數據的長度、寬度以及通道數,GAP表示全局平均池化,σ代表Sigmoid激活函數。從圖中可以看到,最左邊為原始輸入的特征,鑒于SEnet的數據降維操作會丟失注意力權重與原始數據間的直接對應關系,ECA模塊不再進行降維操作,直接對輸入序列進行全局平均池化GAP(global average pooling)獲得未降維的所有特征;在此基礎上,ECA通過自適應選擇的尺寸為k的快速一維卷積(1D convolution)來有效地捕獲局部的跨通道交互信息,之后使用Sigmoid函數生成各通道的權重占比,再將原始輸入特征與通道權重結合獲得具有通道注意力的特征。以此模塊構建的網絡更易于在通道維度的基礎上提取出輸入的特征,在帶來明顯改進的同時,并沒有增加模型的復雜性。
ECA-TCN預測框架由ECA-TCN殘差模塊堆疊而成,每個ECA-TCN殘差模塊是由基本的TCN殘差塊嵌套ECA模塊構成。以基本TCN殘差塊為基準,利用TCN卷積層對輸入特征進行學習,經WeightNorm、ReLU、Dropout層引入非線性正則化網絡。改進基本TCN殘差塊下采樣位置,嵌入ECA模塊,將輸入特征進行全局平均池化,利用自適應選擇尺寸為k的一維卷積生成通道權重,抓取局部跨通道交互信息。最后將ECA模塊提取的注意權重通過乘法加權到原始特征上進行融合輸出。具體結構如圖4所示。

圖4 ECA-TCN短期負荷預測框架Fig.4 ECA-TCN short-term load forecasting framework
本文使用山東某地區電網的電力負荷作為數據集。該數據集包含電力負荷、天氣、溫度、日類型等影響因素數據,采樣間隔均為15 min,即將1 d的時間平均分為96個點。以預測日前14 d的負荷數據作為訓練集構造訓練矩陣,預測日當天數據為測試集。輸入矩陣共29維,其中包括與預測日t時刻相關性最大的前3天對應的t-1時刻、t時刻、t+1時刻的9維電力負荷數據;以及預測日當天和預測日前3天的溫度數據(最高、最低和平均溫度)、天氣因素和日類型數據共20維影響因素數據。將預測日t時刻的預測值作為輸出矩陣(共1維)。
仿真實驗采用了4個ECA-TCN模塊堆疊的預測模型,各模塊的濾波器數量為[32,16,8,4],擴張系數為[1,2,4,8],卷積核尺寸均為2,丟失率為0.2。模型選取Adam算法作為網絡優化器,MSE為損失函數,初始學習率設置為0.001,訓練回合數100,當2個輪次損失值無變化時,學習率減半。
為了模型能夠更好地訓練,需要對輸入數據進行預處理。首先對負荷與溫度原始數據進行歸一化,以便統一不同數據間的量綱差異。在天氣數據中用1表示晴天,0.5表示多云,0表示雨雪天氣;日類型數據中工作日為1,休息日為0.5,節假日為0。
本文引入最大相對誤差(MAX)、平均絕對百分比誤差(MAPE)和均方根誤差(RMSE)作為驗證預測結果精度的評價指標。
為了驗證ECA-TCN預測框架的有效性,用該模型對山東某地區電網春季典型工作日4月21日的電力負荷進行預測。同時,選取了未改進的原始TCN模型及一維卷積神經網絡(1D CNN)模型作為對比模型進行仿真實驗。所有模型的預測曲線如圖5所示。

圖5 3種模型工作日負荷預測曲線對比Fig.5 Comparison of load forecasting curve on working day among three models
從圖5中可以看出,ECA-TCN模型的負荷預測曲線與實際的負荷曲線更接近。3種預測模型的工作日誤差對比見表1。各模型的預測效率及參數量對比如表2所示。

表1 3種模型工作日誤差對比Tab.1 Comparison of error on working day among three models

表2 3種模型預測效率及參數量對比Tab.2 Comparison of prediction efficiency and number of parameters among three models
通過分析圖5和表1可知,本文提出的ECA-TCN模型相較于原始TCN模型和1D CNN模型,在各個誤差評估指標上都有顯著地下降。其中,MAPE分別降低了0.46%和0.85%;RMSE分別降低了0.17MW和57.74 MW;MAX分別降低了2.15%和1.87%。綜合表1和表2可知,ECA模塊在增加了極少量的參數情況下,有效地提升了模型訓練速度及準確率。充分說明本文提出的模型可以在保持較快速度的同時,擁有更高的預測精度,取得了更好的負荷預測效果。
為了驗證本文提出的ECA-TCN模型的穩定性,分別用3種模型對該地區電網春季4月19日—4月25日連續一周的電力負荷進行預測,各預測模型7 d的誤差對比見表3。

表3 3種模型7 d的誤差對比Tab.3 Comparison of seven-day error among three models
從表3中可知,在連續7 d的負荷預測中,ECATCN模型都有非常不錯的表現,該模型7 d的平均預測精度可以達到98.80%,相較于原始TCN模型精度提高了0.46%;比1D CNN模型精度提高了0.94%。同時平均RMSE分別降低了0.18 MW和60.01 MW;平均MAX分別降低了0.83%和2.54%。
為驗證本文提出的模型在不同季節也有良好的預測精度,分別在夏季、秋季、冬季各選取一個工作日和休息日作為典型日進行預測;同時,選取了某法定假日作為典型節假日進行預測。預測結果如表4所示。

表4 不同季節各類型典型日預測結果Tab.4 Forecasting results on typical days in different seasons
由表4可知,本文提出的ECA-TCN模型在不同季節的各類型日都能保持不錯的預測精度,能夠很好地完成不同季節負荷變化下的預測任務。
本文針對短期電力負荷預測提出了一種ECATCN模型。該模型具有以下優勢:
(1)TCN具有強大的挖掘時序特征能力以及可并行運算的高效數據處理能力,能夠有效縮短訓練和驗證的時間,提升預測精度;
(2)ECA模塊具有對通道間信息的高效捕獲能力,有效彌補了TCN由于卷積核大小限制引起的感受野不夠大的缺陷,協調了預測模型精度與模型復雜度、參數量之間的關系,提升了預測效率。
經過仿真驗證,本文提出的ECA-TCN模型在負荷預測方面具有較好的精度和穩定性,且擁有較快的模型訓練速度。