丁正凱,傅啟明*,陳建平,陸 悠,吳宏杰,方能煒,邢 鑌
(1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;2.江蘇省建筑智慧節(jié)能重點(diǎn)實(shí)驗(yàn)室(蘇州科技大學(xué)),江蘇 蘇州 215009;3.蘇州科技大學(xué) 建筑與城市規(guī)劃學(xué)院,江蘇 蘇州 215009;4.重慶工業(yè)大數(shù)據(jù)創(chuàng)新中心有限公司,重慶 400707)
太陽能作為最受歡迎的可再生能源之一,具有無污染、價(jià)格低、易獲取和無運(yùn)輸?shù)忍攸c(diǎn)[1]。隨著全球“碳達(dá)峰和碳中和”目標(biāo)的提出,清潔能源得到進(jìn)一步重視,其中太陽能便是備受關(guān)注的能源。太陽能發(fā)電主要是光伏(PhotoVoltaic,PV)發(fā)電,它能為世界提供清潔能源,在經(jīng)濟(jì)社會(huì)發(fā)展過程中減少對(duì)化石燃料的依賴,因此,光伏發(fā)電在全球范圍內(nèi)快速增長(zhǎng)。太陽能雖然來源廣泛,但它極易受光照隨機(jī)性和晝夜周期性的影響,所以光伏發(fā)電系統(tǒng)發(fā)電具有不穩(wěn)定性和不可控性。以上問題均可能會(huì)在電力系統(tǒng)的運(yùn)行、調(diào)度和規(guī)劃中造成嚴(yán)重的混亂,因此,需要對(duì)光伏發(fā)電功率進(jìn)行精準(zhǔn)預(yù)測(cè)。而精確度高的光伏功率預(yù)測(cè)同樣會(huì)提高光伏電能的有效利用率以及電網(wǎng)運(yùn)轉(zhuǎn)效率,為減少經(jīng)濟(jì)損失提供幫助。
光伏預(yù)測(cè)研究可以通過不同的預(yù)測(cè)方法實(shí)現(xiàn),包括物理方法、統(tǒng)計(jì)方法和深度學(xué)習(xí)。物理預(yù)測(cè)方法通常不需要?dú)v史數(shù)據(jù),而是依賴地理信息、精確的氣象數(shù)據(jù)和完整的光伏電池物理模型信息[2];然而由于地理數(shù)據(jù)分辨率低,很難得到準(zhǔn)確的光伏組件的物理模型以及操作參數(shù),導(dǎo)致物理預(yù)測(cè)方法的精確度不高。統(tǒng)計(jì)方法通過建立一種映射關(guān)系,使用歷史數(shù)據(jù)來預(yù)測(cè)未來的功率[3];但由于光伏功率的波動(dòng)性大,導(dǎo)致統(tǒng)計(jì)方法的泛化能力不強(qiáng)。近年來,深度學(xué)習(xí)由于有足夠的特征提取和轉(zhuǎn)換能力,得到了大量研究者的關(guān)注。文獻(xiàn)[4]中提出了一種基于人工神經(jīng)網(wǎng)絡(luò)的太陽能功率預(yù)測(cè)模型,并選擇氣象數(shù)據(jù)作為模型的輸入,但模型精度較低。光伏發(fā)電功率的預(yù)測(cè)屬于時(shí)間序列預(yù)測(cè)的范疇,因此文獻(xiàn)[5]中提出了使用基于長(zhǎng)短時(shí)記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)的深度學(xué)習(xí)方法捕捉太陽輻照度行為,利用日前天氣預(yù)報(bào)數(shù)據(jù)作為預(yù)測(cè)輸入;然后,利用物理理論建立了輻照度與光伏功率之間的數(shù)學(xué)模型,實(shí)現(xiàn)了間接預(yù)測(cè)。為進(jìn)一步提高預(yù)測(cè)精度,文獻(xiàn)[6]中提出Attention-LSTM 模型預(yù)測(cè)超短期光伏功率,利用注意力(attention)機(jī)制通過對(duì)LSTM 的輸入特征賦予合理的權(quán)重來提高準(zhǔn)確率;而且文獻(xiàn)[7]中同樣利用Attention-LSTM 模型預(yù)測(cè)短期風(fēng)力發(fā)電功率。文獻(xiàn)[8]中使用模態(tài)分解來分解序列,然后利用LSTM 預(yù)測(cè)光伏系統(tǒng)短期發(fā)電量。文獻(xiàn)[9]中則利用多個(gè)深度學(xué)習(xí)模型預(yù)測(cè)多個(gè)結(jié)果,然后利用強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)尋找多個(gè)預(yù)測(cè)模型的最優(yōu)權(quán)重,以此來預(yù)測(cè)光伏功率值(并未直接使用強(qiáng)化學(xué)習(xí)預(yù)測(cè)光伏功率值)。雖然深度學(xué)習(xí)在光伏功率預(yù)測(cè)方面取得了大量的研究成果,但受光伏功率波動(dòng)性以及復(fù)雜天氣因素等的影響,上述模型仍具有一定的預(yù)測(cè)誤差,得到準(zhǔn)確預(yù)測(cè)結(jié)果以及泛化能力強(qiáng)的模型仍然非常困難。
深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)作為深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)交叉的一個(gè)領(lǐng)域,它整合了深度學(xué)習(xí)的非線性擬合能力以及強(qiáng)化學(xué)習(xí)的決策能力,同樣活躍在人工智能領(lǐng)域。DRL 在游戲[10]、機(jī)器人[11]以及其他控制決策領(lǐng)域得到了大量的研究及應(yīng)用。在PV 領(lǐng)域,最近的一些研究工作已經(jīng)開發(fā)了基于DRL 的模型應(yīng)用于PV 系統(tǒng)的優(yōu)化控制,并取得良好的性能。文獻(xiàn)[12]中利用DRL 方法調(diào)度光伏電池儲(chǔ)能系統(tǒng)容量,能夠在連續(xù)動(dòng)作空間確定具體的充電/放電量,以此確保系統(tǒng)的安全和經(jīng)濟(jì)運(yùn)行。文獻(xiàn)[13]提出的基于DRL 的光伏系統(tǒng)控制方法能夠在部分陰影條件下獲取PV 系統(tǒng)的最大功率點(diǎn),使PV 系統(tǒng)高效運(yùn)行,獲得最大化效益。綜上所述,DRL 技術(shù)已經(jīng)應(yīng)用于PV 系統(tǒng)決策控制領(lǐng)域,但在光伏功率預(yù)測(cè)領(lǐng)域的研究還不多。
針對(duì)上述問題,本文提出兩種基于attention 機(jī)制的DRL模型——基于attention 機(jī)制的深度確定性策略梯度(Attention mechanism based Deep Deterministic Policy Gradient,ADDPG)模型和基于attention 機(jī)制的循環(huán)確定性策略梯度(Attention mechanism based Recurrent Deterministic Policy Gradient,ARDPG)模型來預(yù)測(cè)光伏功率,將光伏功率預(yù)測(cè)問題建模成強(qiáng)化學(xué)習(xí)問題,即將預(yù)測(cè)問題轉(zhuǎn)化為決策問題。本文系統(tǒng)地研究了DRL 算法在光伏功率預(yù)測(cè)中的潛力,對(duì)ADDPG 和ARDPG 模型和其他深度學(xué)習(xí)模型進(jìn)行了詳細(xì)的比較與分析,驗(yàn)證了DRL 在PV 預(yù)測(cè)領(lǐng)域的可行性與可靠性。
強(qiáng)化學(xué)習(xí)(RL)[14]是一種通過與環(huán)境互動(dòng)進(jìn)行的試錯(cuò)學(xué)習(xí),目標(biāo)是使agent 在環(huán)境互動(dòng)中獲得最大的累積獎(jiǎng)勵(lì)。RL問題可以建模為馬爾可夫決策過程(Markov Decision Process,MDP),如圖1 所示。MDP 是五元組
圖1 MDP示意圖Fig.1 Schematic diagram of MDP
1)S代表狀態(tài)空間。st∈S表示智能體(agent)在時(shí)刻t的狀態(tài)。
2)A代表示動(dòng)作空間。at∈A表示智能體在時(shí)刻t選取的動(dòng)作。
3)r:S×A→R表示獎(jiǎng)賞函數(shù)。
4)p1表示狀態(tài)的初始分布。
5)P:S×A×S→[0,1]表示狀態(tài)遷移概率分布函數(shù)。
經(jīng)典強(qiáng)化學(xué)習(xí)算法如Q 學(xué)習(xí)便是將Q值存入Q 表中,但當(dāng)環(huán)境過于復(fù)雜,導(dǎo)致空間維度過大時(shí),經(jīng)典算法便很難處理這類問題。深度強(qiáng)化學(xué)習(xí)(DRL)的提出,能夠一定程度上解決以上問題。
Lillicrap 等[15]提出了基于Actor-Critic 框架的策略梯度DRL 算法——深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG),主要用于解決連續(xù)動(dòng)作空間的問題。
在強(qiáng)化學(xué)習(xí)中,策略梯度(Policy Gradient,PG)被用來處理連續(xù)動(dòng)作空間問題,PG 直接參數(shù)化策略πθ(a|s)(θ∈Rn),則目標(biāo)函數(shù)變?yōu)镴(πθ)=E[G1|πθ]。Sutton 等[16]提出了如下的隨機(jī)策略梯度定理:
在隨機(jī)問題中,由于狀態(tài)空間和動(dòng)作空間的整合,隨機(jī)策略梯度(Stochastic Policy Gradient,SPG)可能需要更多的樣本,這也增加了計(jì)算成本。Silver 等[17]提出了確定性策略梯度(Deterministic Policy Gradient,DPG)算法,使用確定性策 略μθ:S→A(θ∈Rn),目標(biāo)函 數(shù)變?yōu)镴(μθ)=E[G1|μθ]。確定性策略梯度理論如下:
在DDPG 中,Actor 網(wǎng)絡(luò)用于評(píng)估狀態(tài)s下選擇的動(dòng)作,Critic 網(wǎng) 絡(luò)用于評(píng)估Q(s,a)。DDPG中有一對(duì)Actor網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò),如圖2 所示。在線Actor 網(wǎng)絡(luò)和目標(biāo)Actor 網(wǎng)絡(luò)分別被定義為μ(s|θμ)和μ(s|θμ'),在線Critic 網(wǎng)絡(luò)和目標(biāo)Critic網(wǎng)絡(luò)分別由Q(s,a|θQ)和Q(s,a|θQ')表示,其中θμ、θμ'、θQ以及θQ'都是網(wǎng)絡(luò)參數(shù)。如圖2 所示,agent 觀察到當(dāng)前狀態(tài)s,通過在線Actor 網(wǎng)絡(luò)執(zhí)行動(dòng)作a,動(dòng)作a繼而影響環(huán)境,從而agent 觀察到下一個(gè)狀態(tài)s'以及從環(huán)境中根據(jù)獎(jiǎng)賞函數(shù)得到獎(jiǎng)賞r,從而得到經(jīng)驗(yàn)樣本(s,a,r,s'),再將樣本存儲(chǔ)到經(jīng)驗(yàn)池中。當(dāng)經(jīng)驗(yàn)池達(dá)到了一定的容量,agent 便開始學(xué)習(xí)。在線Actor 網(wǎng)絡(luò)則根據(jù)在線Critic 網(wǎng)絡(luò)輸出的Q值,繼而使用確定性策略梯度定理來更新網(wǎng)絡(luò)參數(shù),并不斷接近最優(yōu)策略來作出最優(yōu)的動(dòng)作,目標(biāo)函數(shù)為J(θμ)=E[Q(s,μ(s|θμ)|θQ) ],它的梯度如下:
圖2 DDPG模型Fig.2 DDPG model
Critic 網(wǎng)絡(luò)是用來評(píng)估Q值的神經(jīng)網(wǎng)絡(luò),用yi=r(s,a) +Q(s',μ(s'|θμ')|θQ')定義在線Critic 網(wǎng)絡(luò)的目標(biāo),yi通過獎(jiǎng)賞以及目標(biāo)Critic 網(wǎng)絡(luò)輸出的Q值得出。在線Critic 網(wǎng)絡(luò)使用以下梯度更新:
目標(biāo)Actor 網(wǎng)絡(luò)和目標(biāo)Critic 網(wǎng)絡(luò)的參數(shù)都采用軟更新方法來保證算法的穩(wěn)定性,如下所示:
其中:τ是一個(gè)遠(yuǎn)小于1 的正數(shù)。
在傳統(tǒng)的DDPG 方法中,多層感知器(Multi-Layer Perceptron,MLP)由多層全連接層組成,用于Actor 網(wǎng)絡(luò)和Critic 網(wǎng)絡(luò)。但簡(jiǎn)單的全連接層都是前向傳播,并沒有記憶的功能,為改善這一問題,將Actor 網(wǎng)絡(luò)全連接層替換為L(zhǎng)STM 網(wǎng) 絡(luò)。LSTM 網(wǎng) 絡(luò)[18]是一種 改進(jìn)的 循環(huán)神 經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)。由于梯度消失和梯度爆炸的問題,傳統(tǒng)RNN 的學(xué)習(xí)能力仍然有限,實(shí)際效果往往不理想。LSTM 在對(duì)有價(jià)值信息進(jìn)行相對(duì)長(zhǎng)時(shí)間記憶的優(yōu)勢(shì)使它在時(shí)間序列預(yù)測(cè)中得到廣泛應(yīng)用。LSTM 的改進(jìn)在于引入三個(gè)門的概念,結(jié)構(gòu)如圖3 所示。LSTM 模型含有3 個(gè)輸入,分別是當(dāng)前時(shí)刻輸入樣本xt、上一時(shí)刻的短期記憶信息ht-1以及上一時(shí)刻的長(zhǎng)期記憶信息Ct-1;結(jié)構(gòu)內(nèi)部有3 個(gè)門來控制記憶信息與當(dāng)前信息的遺留與舍棄,分別為遺忘門ft、輸入門it和輸出門Ot:
圖3 LSTM模型結(jié)構(gòu)Fig.3 LSTM model structure
其中:w、b為控制門的權(quán)重矩陣與偏置向量;σ為Sigmoid 激活函數(shù)。由式(6)計(jì)算得到3 個(gè)控制門的輸出后,可以進(jìn)一步計(jì)算得到長(zhǎng)期記憶信息Ct、短期記憶信息ht與單元最終輸出qt:
其中:tanh()為雙曲正切函數(shù);*為Hadamard 積。
循環(huán)確定性策略梯度(Recurrent Deterministic Policy Gradient,RDPG)的Actor 網(wǎng)絡(luò)由全連接層替換為L(zhǎng)STM 網(wǎng)絡(luò),增加了記憶功能,但LSTM 的模型參數(shù)遠(yuǎn)大于全連接層的參數(shù),會(huì)導(dǎo)致訓(xùn)練時(shí)間過長(zhǎng)。RDPG 與DDPG 唯一不同的地方在于Actor 網(wǎng)絡(luò)的全連接網(wǎng)絡(luò)替換為L(zhǎng)STM 網(wǎng)絡(luò),具體模型結(jié)構(gòu)可參考圖2。
attention 機(jī)制[19]模擬人類大腦如何處理信息,提高了神經(jīng)網(wǎng)絡(luò)處理信息的能力。它的本質(zhì)在于學(xué)習(xí)出一個(gè)對(duì)輸入特征的權(quán)重分布,再把這個(gè)權(quán)重分布施加在原來的特征上,使任務(wù)主要關(guān)注一些重點(diǎn)特征,忽略不重要特征,提高任務(wù)效率。在輸入的序列后加入attention 網(wǎng)絡(luò),設(shè)輸入序列向量為E=[e1,e2,…,et],則attention 機(jī)制的計(jì)算公式如下:
其中:W是權(quán)重矩陣,與輸入序列E作矩陣運(yùn)算再經(jīng)過Softmax 激活函數(shù),最后和輸入序列相乘得出新序列E'。
attention 機(jī)制能突出重要影響的特征,減小無用的特征影響,使模型作出更優(yōu)的選擇,提高預(yù)測(cè)的準(zhǔn)確度。
在預(yù)測(cè)領(lǐng)域中,深度學(xué)習(xí)憑借強(qiáng)大的非線性能力以及特征提取能力表現(xiàn)出不錯(cuò)的性能。DDPG 和RDPG 作為深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的結(jié)合體,同時(shí)具有這兩者的優(yōu)勢(shì)。將預(yù)測(cè)問題建模為一個(gè)MDP 問題,即將預(yù)測(cè)問題轉(zhuǎn)化為決策問題,便可通過DRL 來求解最優(yōu)問題。DRL 不需要樣本標(biāo)簽,而且是動(dòng)態(tài)學(xué)習(xí)的過程。DRL 能夠在一個(gè)未知的環(huán)境中,通過與環(huán)境的不斷交互學(xué)習(xí)到其中的關(guān)鍵信息,作出最有利的決策。在光伏功率預(yù)測(cè)問題中,可以將已有的歷史數(shù)據(jù)建模為一個(gè)環(huán)境,DRL 便可以在該環(huán)境中進(jìn)行訓(xùn)練,在觀察到一個(gè)未知狀態(tài)后,DRL agent 能夠利用所學(xué)到的經(jīng)驗(yàn)知識(shí)作出準(zhǔn)確的預(yù)測(cè)。
DDPG 和DRPG 模型都采用Actor-Critic 架構(gòu),其中Actor網(wǎng)絡(luò)通過觀察當(dāng)前狀態(tài)來執(zhí)行動(dòng)作,Critic 網(wǎng)絡(luò)則評(píng)估當(dāng)前狀態(tài)-動(dòng)作的價(jià)值函數(shù),Critic 網(wǎng)絡(luò)通過更新近似最優(yōu)的狀態(tài)-動(dòng)作價(jià)值函數(shù)來指導(dǎo)Actor 網(wǎng)絡(luò)執(zhí)行動(dòng)作,同樣Actor 網(wǎng)絡(luò)執(zhí)行更優(yōu)的動(dòng)作使Critic 網(wǎng)絡(luò)學(xué)到更加準(zhǔn)確的狀態(tài)-動(dòng)作價(jià)值函數(shù),Actor 網(wǎng)絡(luò)與Critic 網(wǎng)絡(luò)互相影響與指導(dǎo),最終來作出最優(yōu)的選擇。
在PV 預(yù)測(cè)問題中,輸入量通常為前幾個(gè)時(shí)刻的歷史功率數(shù)據(jù)以及當(dāng)前的天氣數(shù)據(jù),其中存在對(duì)下一時(shí)刻功率影響較大的量,同樣也會(huì)存在影響較小的量。傳統(tǒng)DDPG 和RDPG 中的Actor 網(wǎng)絡(luò)由全連接網(wǎng)絡(luò)和LSTM 網(wǎng)絡(luò)構(gòu)成,它們很容易忽略其中的關(guān)鍵信息,從而導(dǎo)致預(yù)測(cè)精度下降。文獻(xiàn)[6,8]的研究工作說明,attention 機(jī)制能夠提高模型的光伏功率預(yù)測(cè)精度,因此,本文考慮將attention 機(jī)制加入DDPG 和RDPG 中的Actor 網(wǎng)絡(luò)中,Actor 網(wǎng)絡(luò)利用attention 機(jī)制捕捉狀態(tài)中的重要信息,幫助Actor 網(wǎng)絡(luò)作出最優(yōu)的動(dòng)作預(yù)測(cè),即給出最準(zhǔn)確的光伏功率預(yù)測(cè)值。
傳統(tǒng)的深度學(xué)習(xí)模型如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和LSTM 雖然有很強(qiáng)的非線性擬合能力,但它們還是缺乏DRL 的決策能力,易受功率隨機(jī)波動(dòng)性影響,對(duì)于某些時(shí)刻不能作出準(zhǔn)確的光伏功率預(yù)測(cè),導(dǎo)致精度下降。而將attention 機(jī)制加入DRL,使得DRL agent 能夠從當(dāng)前觀察的狀態(tài)中捕捉到影響光伏功率的關(guān)鍵因素,從而作出準(zhǔn)確的光伏功率預(yù)測(cè)。
本章將詳細(xì)介紹基于attention 機(jī)制的DRL 的模型——ADDPG 和ARDPG。圖4 是本文的研究框架。首先,從案例光伏系統(tǒng)收集功率數(shù)據(jù),分辨率為5 min。此外,還引入了影響光伏功率的一些相關(guān)的氣象數(shù)據(jù),以提高預(yù)測(cè)精度和穩(wěn)健性。然后,建立數(shù)據(jù)集,對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。最后輸入ADDPG 和ARDPG 模型進(jìn)行預(yù)測(cè)。
圖4 本文研究框架Fig.4 Research framework of this paper
數(shù)據(jù)預(yù)處理過程主要包括兩個(gè)任務(wù),即異常值檢測(cè)和數(shù)據(jù)標(biāo)準(zhǔn)化。模型開發(fā)前應(yīng)移除數(shù)據(jù)中的異常值,因?yàn)檫@些異常值和低質(zhì)量的數(shù)據(jù)會(huì)對(duì)模型產(chǎn)生負(fù)面影響,因此剔除明顯不符合實(shí)際情況的值后,用線性插值法來完成代替。在數(shù)據(jù)標(biāo)準(zhǔn)化方面,采用如式(9)的最大最小值歸一化,目的是使每個(gè)輸入特征處于相似的尺度上,有助于在應(yīng)用預(yù)測(cè)技術(shù)時(shí)通過Adam 算法找到全局最優(yōu)。
其中:X為樣本值,Xmin為樣本中的最小值,Xmax為樣本中的最大值,Xnorm即為歸一化后的值。
使用強(qiáng)化學(xué)習(xí)解決問題,需要先將本次預(yù)測(cè)問題建模成MDP。在本次研究中,所有的模型預(yù)測(cè)都是單步預(yù)測(cè),即使用前1 h 內(nèi)的所有功率數(shù)據(jù)以及當(dāng)前時(shí)刻的氣候數(shù)據(jù)作為輸入,輸出即為當(dāng)前時(shí)刻的預(yù)測(cè)功率。狀態(tài)、動(dòng)作和獎(jiǎng)賞定義如下:
1)狀態(tài)空間。狀態(tài)空間如表1 所示。agent 在每個(gè)時(shí)間步上所 觀察到 的狀態(tài) 向量為[WSt,TEt,RHt,GHRt,DHRt,WDt,RGTt,RDTt,APt-1,APt-2,…,APt-13],包括當(dāng)前時(shí)刻的天氣和氣候狀況及前1 h 內(nèi)的功率數(shù)據(jù),以此來預(yù)測(cè)當(dāng)前時(shí)刻的功率輸出。狀態(tài)空間由每個(gè)時(shí)間步的狀態(tài)組成。
表1 狀態(tài)空間Tab.1 State space
2)動(dòng)作空間。動(dòng)作空間由0 到22.2 的連續(xù)功率值組成(該范圍根據(jù)歷史數(shù)據(jù)設(shè)定)。在訓(xùn)練過程中,agent 根據(jù)觀察到的狀態(tài)輸出[0,22.2]中的功率值,輸出值即為功率預(yù)測(cè)值。
3)獎(jiǎng)賞函數(shù)。獎(jiǎng)勵(lì)函數(shù)設(shè)置如下:
其中:APt表示時(shí)間步t的實(shí)際功率值;at表示agent 在時(shí)間步t執(zhí)行的動(dòng)作即預(yù)測(cè)功率值。如果輸出動(dòng)作接近實(shí)際輸出功率,則獎(jiǎng)勵(lì)將接近于零,否則獎(jiǎng)勵(lì)會(huì)變小。
一旦光伏功率預(yù)測(cè)問題轉(zhuǎn)化為決策問題,就可以應(yīng)用DRL 技術(shù)來解決?;赼ttention 機(jī)制的DRL 的預(yù)測(cè)模型的訓(xùn)練框圖如圖5 所示。在模型中,都是使用前1 h 內(nèi)的所有功率數(shù)據(jù)以及當(dāng)前時(shí)刻的氣候數(shù)據(jù)來預(yù)測(cè)當(dāng)前時(shí)刻的功率。首先將歷史光伏數(shù)據(jù)以及氣象數(shù)據(jù)建立成一個(gè)供DRL agent學(xué)習(xí)的環(huán)境;然后agent 觀察到當(dāng)前狀態(tài)s,通過在線Actor 網(wǎng)絡(luò)執(zhí)行動(dòng)作a即光伏功率預(yù)測(cè)值,動(dòng)作a繼而影響環(huán)境,從而使agent 觀察到下一個(gè)狀態(tài)s'以及從環(huán)境中根據(jù)獎(jiǎng)賞函數(shù)得到的獎(jiǎng)賞r,得到經(jīng)驗(yàn)樣本(s,a,r,s')后存儲(chǔ)到經(jīng)驗(yàn)池中。在線Critic 網(wǎng)絡(luò)從經(jīng)驗(yàn)池中隨機(jī)選取一小批樣本利用式(4)更新網(wǎng)絡(luò)參數(shù),從而逼近最優(yōu)的Q值;目標(biāo)Critic 網(wǎng)絡(luò)則通過式(5)軟更新網(wǎng)絡(luò)參數(shù)。在線Actor 網(wǎng)絡(luò)根據(jù)在線Critic 網(wǎng)絡(luò)輸出的Q值,利用確定性策略梯度即式(3)來更新網(wǎng)絡(luò)參數(shù);目標(biāo)Actor 網(wǎng)絡(luò)則同樣通過式(5)軟更新網(wǎng)絡(luò)參數(shù)。最終Actor網(wǎng)絡(luò)能夠觀察當(dāng)前狀態(tài)并作出最優(yōu)的動(dòng)作,即最準(zhǔn)確的光伏功率預(yù)測(cè)。
圖5 基于attention機(jī)制的DRL的訓(xùn)練框圖Fig.5 Training block diagram of DRL based on attention mechanism
2.3.1 ADDPG
圖6 的attention 網(wǎng)絡(luò)由一個(gè)全連接層以及Softmax 激活函數(shù)組成。首先,輸入向量經(jīng)過第一個(gè)全連接層,然后經(jīng)過Softmax 激活函數(shù)得出輸入向量中各個(gè)分量的權(quán)重Wi,再與輸入向量作乘法得出新的向量。ADDPG 中的Actor 網(wǎng)絡(luò)使用attention 網(wǎng)絡(luò)代替全連接層,結(jié)構(gòu)如圖7 所示。使用attention 網(wǎng)絡(luò)結(jié)構(gòu)來代替圖中虛線框中的結(jié)構(gòu),輸入向量為觀察到的狀態(tài)st,經(jīng)過attention 網(wǎng)絡(luò)對(duì)狀態(tài)中的各個(gè)分量施以不同的權(quán)重以捕捉其中重要的信息,從attention 網(wǎng)絡(luò)輸出經(jīng)過一個(gè)全連接層再經(jīng)過Sigmoid 激活函數(shù)得出功率預(yù)測(cè)值。接著便可使用ADDPG 進(jìn)行光伏功率預(yù)測(cè)。
圖6 Attention網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Attention network structure
首先根據(jù)式(9)將訓(xùn)練數(shù)據(jù)歸一化,使數(shù)據(jù)都變換到相似的尺度上。然后,根據(jù)算法1 訓(xùn)練模型,詳細(xì)訓(xùn)練過程描述如下:首先,隨機(jī)初始化在線Critic 網(wǎng)絡(luò)和在線Actor 網(wǎng)絡(luò),并將它們的參數(shù)復(fù)制給相關(guān)的目標(biāo)Critic 網(wǎng)絡(luò)和目標(biāo)Actor網(wǎng)絡(luò);經(jīng)驗(yàn)池D初始化為空集。對(duì)于每一次迭代,狀態(tài)都會(huì)初始化為s0;在每一個(gè)時(shí)間步長(zhǎng)上,動(dòng)作at基于在線Actor 網(wǎng)絡(luò)選取并在其中添加噪聲Nt來增強(qiáng)算法的探索性能,然后從環(huán)境中觀察到下一個(gè)狀態(tài)st+1,并根據(jù)式(8)從環(huán)境中得到獎(jiǎng)賞rt;將經(jīng)驗(yàn)樣本(st,at,rt,st+1)存儲(chǔ)到經(jīng)驗(yàn)池D中供算法訓(xùn)練;當(dāng)經(jīng)驗(yàn)池D中收集到足夠多的樣本后,便會(huì)從中隨機(jī)選取一小批樣本來更新在線Critic 網(wǎng)絡(luò)和在線Actor 網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)。其中,在線Critic 網(wǎng)絡(luò)的損失函數(shù)L是目標(biāo)Q值yi和當(dāng)前Q 值Q(si,ai|θQ)的均方誤差;在線Actor 網(wǎng)絡(luò)則利用采樣的確定性策略梯度來更新網(wǎng)絡(luò)參數(shù)。最后,目標(biāo)Critic 網(wǎng)絡(luò)和目標(biāo)Actor 網(wǎng)絡(luò)的參數(shù)都通過軟更新即式(5)以保證算法訓(xùn)練的穩(wěn)定性。
算法1 用于光伏功率預(yù)測(cè)的ADDPG 算法。
2.3.2 ARDPG
ARDPG 的Actor 網(wǎng)絡(luò)使用attention 網(wǎng)絡(luò)來代替LSTM 層后面的全連接層,詳細(xì)結(jié)構(gòu)如圖8 所示。輸入觀察到的狀態(tài)st經(jīng)過LSTM 層,使用attention 網(wǎng)絡(luò)結(jié)構(gòu)來代替圖中虛線框中的結(jié)構(gòu)即全連接層,再經(jīng)過Sigmoid 激活函數(shù)得出功率預(yù)測(cè)值。通過attention 機(jī)制,LSTM 網(wǎng)絡(luò)能夠篩選出更具有價(jià)值的信息,以此來提高預(yù)測(cè)精度。綜上所述,attention 網(wǎng)絡(luò)能夠捕捉到狀態(tài)之間的依賴關(guān)系,并且能夠給出各個(gè)分量的權(quán)重以及降低功率的非穩(wěn)定性,以此來作出準(zhǔn)確的預(yù)測(cè)。
圖8 ARDPG的Actor網(wǎng)絡(luò)結(jié)構(gòu)Fig.8 Network structure of Actor in ARDPG
然后便可使用ARDPG 來進(jìn)行光伏功率預(yù)測(cè)。與ADDPG 類似,同樣將訓(xùn)練數(shù)據(jù)根據(jù)式(9)歸一化,將數(shù)據(jù)都變換到相似的尺度上;然后,便可根據(jù)算法1 來進(jìn)行訓(xùn)練模型。ADDPG 和ARDPG 的唯一區(qū)別在ARDPG 在Actor 網(wǎng)絡(luò)中使用LSTM 網(wǎng)絡(luò),其余的訓(xùn)練方式和ADDPG 都相同。
本文選用1B DKASC、Alice Springs 光伏系統(tǒng)數(shù)據(jù)[21],選取2016 年4 月1 日至2016 年6 月1 日的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
原始數(shù)據(jù)的分辨率為5 min,由于光伏組件在早上和晚上的功率輸出明顯較低,即大部分時(shí)間為0 或接近0。因此,只考慮在6:55~18:30 的功率,數(shù)據(jù)被標(biāo)準(zhǔn)化,去掉離群值,使用插值算法根據(jù)上下時(shí)刻信息對(duì)缺失值進(jìn)行填充。圖9顯示了案例數(shù)據(jù)中連續(xù)幾天的歷史數(shù)據(jù)??梢钥闯觯形鐣r(shí)的功率最大,上午和下午的功率相對(duì)較小,而晚上趨于0。下載的數(shù)據(jù)主要包括當(dāng)前有功功率、風(fēng)速、天氣溫度攝氏度、天氣相對(duì)濕度、水平面總輻射、水平面漫射輻射、風(fēng)向等。數(shù)據(jù)集被分成兩部分,比例為8∶2,分別用于模型訓(xùn)練和測(cè)試。
圖9 部分光伏數(shù)據(jù)Fig.9 Partial PV data
通過不斷的參數(shù)調(diào)整、組合與尋優(yōu),DDPG、RDPG、ADDPG 和ARDPG 的參數(shù)設(shè)置如下:學(xué)習(xí)率α為0.001,由于更加關(guān)注當(dāng)前的獎(jiǎng)賞,所以折扣因子γ設(shè)為0.1,τ為0.005,DDPG 網(wǎng)絡(luò)的隱藏層為2 個(gè)全連接網(wǎng)絡(luò),分別有64 個(gè)神經(jīng)元和32 個(gè)神經(jīng)元,RDPG 的LSTM 為50 個(gè)神經(jīng)元,attention 網(wǎng)絡(luò)的神經(jīng)元為21 個(gè),優(yōu)化算法均為Adam,經(jīng)驗(yàn)池大小均為10 000,采樣大小均為64,強(qiáng)化學(xué)習(xí)里的超參數(shù)為常用參數(shù)設(shè)置。
基于相同的輸入變量,本文基于圖4 的框架還開發(fā)了基于CNN、LSTM、BP 神經(jīng)網(wǎng) 絡(luò)(Back Propagation Neural Network,BPNN)、DDPG、RDPG、CNN+attention 和LSTM+attention 的預(yù)測(cè)模型。LSTM、CNN 和BPNN 的參數(shù)設(shè)置如下:LSTM 網(wǎng)絡(luò)有50 個(gè)神經(jīng)元;CNN 有30 個(gè)過濾器,卷積核的尺寸為2×2,步長(zhǎng)為2;BPNN 為2 個(gè)全連接網(wǎng)絡(luò),分別有64 個(gè)神經(jīng)元和32 個(gè)神經(jīng)元,深度學(xué)習(xí)模型的學(xué)習(xí)率、優(yōu)化算法都與DRL 模型相同。
本文使用均方根誤差(Root Mean Square Error,RMSE)、平均絕對(duì)誤差(Mean Absolute Error,MAE)和決定系數(shù)(R2)評(píng)估所提出模型的預(yù)測(cè)精度。MAE 用絕對(duì)誤差表示實(shí)際值和預(yù)測(cè)值之間的平均偏差,而RMSE 表示實(shí)際值和預(yù)測(cè)值殘差的標(biāo)準(zhǔn)偏差。MAE 和RMSE 都是與尺度相關(guān)的指數(shù),并在其原始尺度中描述預(yù)測(cè)誤差,值越小代表模型預(yù)測(cè)越精確。回歸模型中通常使用R2來評(píng)估回歸模型的預(yù)測(cè)值和實(shí)際值之間的擬合度,值越接近1 代表模型越精確。上述指標(biāo)的計(jì)算公式如下:
其中:zi是時(shí)間點(diǎn)i的實(shí)際值;pi是時(shí)間點(diǎn)i的預(yù)測(cè)值;表示N個(gè)實(shí)際光伏功率值的平均值;N表示樣本數(shù)。
3.3.1 ADDPG、ARDPG與DDPG、RDPG的比較
光伏功率數(shù)據(jù)和氣象數(shù)據(jù)都是連續(xù)數(shù)據(jù),這4 個(gè)模型都能夠處理連續(xù)問題,它們的獎(jiǎng)賞如圖10 所示??梢钥闯鲈谇?0 個(gè)episode 內(nèi)ADDPG 的獎(jiǎng)賞還在上升階段但最終會(huì)收斂,其他三個(gè)模型的獎(jiǎng)賞在前10 個(gè)episode 內(nèi)都幾乎已經(jīng)趨于穩(wěn)定,最終ADDPG 的獎(jiǎng)賞略高于對(duì)比模型;ADDPG 和ARDPG 的獎(jiǎng)賞都要比未加入attention 機(jī)制的DDPG 和RDPG的獎(jiǎng)賞要高。這表明attention 機(jī)制能夠提高模型的性能。在開始的幾個(gè)episode 內(nèi)獎(jiǎng)賞都很低,這是由于前期存儲(chǔ)經(jīng)驗(yàn)池隨機(jī)選取,一旦開始學(xué)習(xí),這4 個(gè)模型很快便能學(xué)到數(shù)據(jù)的關(guān)鍵知識(shí),并能根據(jù)當(dāng)前觀察到的狀態(tài)來選取最優(yōu)動(dòng)作,即功率預(yù)測(cè)值,以得到最大的獎(jiǎng)賞,從而作出準(zhǔn)確的預(yù)測(cè)。
圖10 四個(gè)模型的獎(jiǎng)賞圖Fig.10 Reward diagram for 4 models
圖11 顯示了單步預(yù)測(cè)中9 個(gè)模型(包括CNN、LSTM、BPNN、DDPG、RDPG、CNN+attention、LSTM+attention、ADDPG和ARDPG)的預(yù)測(cè)結(jié)果。其中:實(shí)線表示理想擬合線,表示預(yù)測(cè)值與真實(shí)值相等;兩條虛線代表±20%的誤差線,表明預(yù)測(cè)值比真實(shí)值大20%或小20%;橫軸是真實(shí)光伏功率值,縱軸為光伏功率預(yù)測(cè)值??梢杂^察到,ADDPG 和ARDPG 的預(yù)測(cè)的準(zhǔn)確性比DDPG 和RDPG 都要高,在±20%的誤差線外的預(yù)測(cè)點(diǎn)都有所減少。從圖11(a)、(b)對(duì)比可以看到,更多的預(yù)測(cè)點(diǎn)從偏離理想擬合線到集中到理想擬合線的附近。從圖11(c)、(d)可以看到,RDPG 模型預(yù)測(cè)值更多地偏向+20%的誤差線即預(yù)測(cè)值偏高,ARDPG 模型能夠有效緩解這種情況,將預(yù)測(cè)值集中到理想擬合線附近。但RDPG 模型與DDPG 相比并沒有顯示出優(yōu)勢(shì),這一結(jié)果與預(yù)期不符,這可能是由于單步超前光伏功率預(yù)測(cè)并不復(fù)雜,DDPG 模型足以捕獲序列之間的關(guān)系。ADDPG 模型與ARDPG 模型的性能并沒有明顯的差距。由于ADDPG 與ARDPG 的Actor 網(wǎng)絡(luò)利用attention 機(jī)制對(duì)觀察到的狀態(tài)向量進(jìn)行合理的權(quán)重分配,提高了對(duì)歷史光伏功率數(shù)據(jù)以及天氣數(shù)據(jù)的敏感度,強(qiáng)化了特征提取能力,因此預(yù)測(cè)的準(zhǔn)確性更高。
圖11 九個(gè)模型的預(yù)測(cè)結(jié)果Fig.11 Prediction results of nine models
3.3.2 ADDPG和ARDPG與深度學(xué)習(xí)方法比較
圖11(e)~(i)顯示了單步預(yù)測(cè)中深度學(xué)習(xí)模型預(yù)測(cè)結(jié)果,從中可以觀察到,ADDPG 和ARDPG 模型明顯優(yōu)于深度學(xué)習(xí)模型,這表明基于attention 的深度強(qiáng)化學(xué)習(xí)方法可以產(chǎn)生比深度學(xué)習(xí)方法更具前景的結(jié)果。
ADDPG 和ARDPG 模型預(yù)測(cè)的準(zhǔn)確性相比深度學(xué)習(xí)方法均有明顯提升,在±20%的誤差線外的預(yù)測(cè)點(diǎn)減少很多。對(duì)比圖11(b)、(d)和圖11(e)~(i)可以看到,更多的預(yù)測(cè)點(diǎn)從偏離理想擬合線到集中到理想擬合線的附近。從圖11(b)、(d)和(f)可以看到,LSTM+attention 模型的預(yù)測(cè)點(diǎn)在開始的前一段時(shí)間內(nèi)超過+20%的誤差線較多,ADDPG 和ARDPG 能夠很好地預(yù)測(cè)在理想擬合線附近,在后一段中LSTM+attention 模型預(yù)測(cè)的結(jié)果偏向于-20%的誤差線,即比ADDPG 和ARDPG 預(yù)測(cè)結(jié)果偏低。其次,LSTM 略差于DDPG模型,LSTM 本身便具有很好的記憶功能,能夠較好地處理時(shí)間序列。CNN 和BPNN 都是前向神經(jīng)網(wǎng)絡(luò),不具有記憶功能,處理時(shí)間序列能力比LSTM 要略差,因此比以上兩個(gè)方法的性能要差。
從圖11(e)、(g)中可以看到,原始的LSTM 和CNN 模型預(yù)測(cè)的結(jié)果都偏向+20%誤差線,即預(yù)測(cè)偏高;在原始模型中加入attention 機(jī)制,從圖11(f)、(h)可以直觀看到,attention機(jī)制有效減少了偏高的預(yù)測(cè)點(diǎn),尤其是CNN 模型,原始CNN模型更多地偏離誤差線之外,attention 機(jī)制使其預(yù)測(cè)結(jié)果很大一部分都落入誤差線范圍以內(nèi),提高了預(yù)測(cè)精度。LSTM+attention 模型則同樣利用attention 機(jī)制將經(jīng)過LSTM 層輸出的量進(jìn)行權(quán)重分配,從關(guān)注全局到關(guān)注重點(diǎn),快速得到有效的信息,從而提高預(yù)測(cè)精度。CNN+attention 模型同樣篩選出重要信息、忽略無關(guān)信息,模型性能得到有效提升。在圖11(i)中,BPNN 的預(yù)測(cè)結(jié)果很大一部分預(yù)測(cè)偏高。
使用3.2 節(jié)的三個(gè)評(píng)估指標(biāo)來評(píng)估上述模型對(duì)測(cè)試數(shù)據(jù)的預(yù)測(cè)精度,并統(tǒng)計(jì)它們的訓(xùn)練時(shí)間(所有的計(jì)算都在Python 3.7 以及Pytorch 平臺(tái)上執(zhí)行),結(jié)果如表2 所示。
表2 測(cè)試數(shù)據(jù)的預(yù)測(cè)精度和訓(xùn)練時(shí)間對(duì)比Tab.2 Comparison of prediction accuracy and training time of test data
在MAE 和RMSE 的評(píng)估指標(biāo)下:ADDPG 模型比DDPG降低了26.59%、24.24%;ARDPG 模型比RDPG 分別降低了31.12%、31.34%。在R2的評(píng)估指標(biāo)下,ADDPG 模型比DDPG 提高了1.990%;ARDPG 模型比RDPG 提高了3.751%。可以看出,ADDPG 和ARDPG 比其他模型的預(yù)測(cè)精度都要高;而且無論是DRL 還是深度學(xué)習(xí)模型,加入attention 機(jī)制都能夠更好地提升原始模型的預(yù)測(cè)精度。
DRL 的訓(xùn)練時(shí)間都要長(zhǎng)于深度學(xué)習(xí)方法,其中BPNN 的訓(xùn)練時(shí)間最短,這是因?yàn)锽PNN 結(jié)構(gòu)最簡(jiǎn)單,僅由兩層全連接層組成;所有模型中,RDPG 的時(shí)間成本最高,這是因?yàn)長(zhǎng)STM 的復(fù)雜結(jié)構(gòu)使訓(xùn)練時(shí)間變長(zhǎng)。同樣可以看出各個(gè)模型加入attention 機(jī)制都可以略微減少訓(xùn)練時(shí)間,因?yàn)閍ttention機(jī)制能使網(wǎng)絡(luò)訓(xùn)練更有效率。
本文針對(duì)超短期光伏功率預(yù)測(cè),提出了基于attention 機(jī)制的深度強(qiáng)化學(xué)習(xí)(DRL)模型:ADDPG 和ARDPG,將光伏預(yù)測(cè)問題建模為MDP,再利用DRL 求解MDP。與三種常見的深度學(xué)習(xí)模型LSTM、CNN 和BPNN,加入attention 機(jī)制的深度學(xué)習(xí)模型以及未加入attention 機(jī)制的DRL 模型相比,ADDPG 和ARDPG 在RMSE、MAE 和R2上均取得了 最優(yōu)結(jié)果;ADDPG 和ARDPG 在單步預(yù)測(cè)方面也都優(yōu)于對(duì)比模型,驗(yàn)證了它們的有效性;不足之處在于ARDPG 的計(jì)算時(shí)間成本高。實(shí)驗(yàn)結(jié)果同時(shí)表明,在原始模型中加入attention 機(jī)制可以提高模型的性能,DRL 模型的光伏預(yù)測(cè)性能顯著優(yōu)于深度學(xué)習(xí)模型。未來將深入研究以提高多步預(yù)測(cè)的準(zhǔn)確性,提出更具泛化能力的預(yù)測(cè)方案。