鐘振興,馬曉波,安 巍
(同濟大學(xué)機械與能源工程學(xué)院,上海 201804)
太陽能光伏發(fā)電具有功率波動大,穩(wěn)定性差的缺點,生產(chǎn)、消耗量的不匹配會導(dǎo)致嚴(yán)重的棄光問題,造成能源浪費.為了提高太陽能利用效率,實現(xiàn)太陽能光伏、光熱產(chǎn)品產(chǎn)能的預(yù)測,輻照度的準(zhǔn)確預(yù)測是其中重要的前提條件.近年來,許多學(xué)者針對這一問題展開了深入的研究.Heinle[1]采用K最近鄰域(K-Nearest Neighbors,KNN)分類法對晴空、積云、卷云、層云、積雨云等7種天空類型進(jìn)行判斷,并各自訓(xùn)練子模型作輻照度預(yù)測,其天空分類識別準(zhǔn)確率可達(dá)74.58%.Zhang[2]等利用光伏發(fā)電系統(tǒng)附近的天空云圖,分別采用多層感知器、卷積神經(jīng)網(wǎng)絡(luò)、長短時記憶模塊構(gòu)造模型,實現(xiàn)了1 min~10 min內(nèi)的光伏系統(tǒng)性能預(yù)測,其卷積神經(jīng)網(wǎng)絡(luò)模型預(yù)測均方根誤差比持續(xù)模型降低了12.1%.蔣俊霞[3]等采用粒子圖像測速法計算云的速度矢量,利用地基云圖建立云識別和云量反演方法,預(yù)報未來時刻云的位置和云量,進(jìn)而實現(xiàn)輻照度的超短期預(yù)測,其預(yù)測結(jié)果的均方根誤差為144.89 W/m2.周海[4]等以非線性方法集成了自回歸、神經(jīng)網(wǎng)絡(luò)、支持向量機模型,從而克服了單一模型的局限性,以光伏電站周圍氣象數(shù)據(jù)及當(dāng)前輻照度作輸入,預(yù)測未來4小時內(nèi)輻照度,對比持續(xù)模型表現(xiàn),其均方根誤差降低了約60%.馬燕峰[5]等對9項氣象參數(shù)共511種組合進(jìn)行了分析,確定了最優(yōu)輸入值,構(gòu)建了非線性自回歸網(wǎng)絡(luò)模型,其在晴、低云量、高云量、陰雨等四種典型氣象條件測試中,標(biāo)準(zhǔn)均方根誤差取得了7%至54%不等的改善.
縱觀上述研究,其應(yīng)用場景均為大型的光伏電場,在訓(xùn)練過程中,其云圖特征往往是人為標(biāo)定的,不僅標(biāo)準(zhǔn)難以統(tǒng)一,而且需要耗費大量人力時間.這些模型的結(jié)構(gòu)通常比較復(fù)雜,需要高性能計算機的支持,預(yù)測速度也往往較慢.從實用性角度來看,在光伏電站現(xiàn)場采樣預(yù)測過程中,能夠提供的算力條件往往有限,但使用智能算法自動提取云圖特征已成為一種必要的預(yù)測手段.這樣的矛盾導(dǎo)致發(fā)展有限算力的輕量化預(yù)測模型成為必然的選擇.
輕量化預(yù)測模型是指為了使模型能夠適用性能較低的計算條件,而對深度學(xué)習(xí)模型的訓(xùn)練參數(shù)、預(yù)測準(zhǔn)確率與預(yù)測耗時進(jìn)行仔細(xì)的對比和調(diào)控的輻照度預(yù)測模型.除了上述的大型光伏電站應(yīng)用場景外,隨著太陽能光電、光熱利用技術(shù)的成熟,太陽能產(chǎn)品在家庭用戶的普及率也在逐年上升.在小規(guī)模太陽能用戶的應(yīng)用場景下,大型預(yù)測模型響應(yīng)速度慢的缺陷更加難以忍受.同時,受原始數(shù)據(jù)集限制,大型模型往往僅使用地基云圖或氣象數(shù)據(jù)進(jìn)行預(yù)測,沒有兩者兼顧,準(zhǔn)確率還有較大的優(yōu)化空間.因此,太陽輻照度輕量化預(yù)測技術(shù)研究有著深刻的理論意義和廣闊的應(yīng)用前景.
本文利用深度學(xué)習(xí)技術(shù),采取卷積神經(jīng)網(wǎng)絡(luò)提取云圖特征,提出了一個整合地基云圖與氣象數(shù)據(jù)的輻照度輕量化預(yù)測模型.通過優(yōu)化其算法網(wǎng)絡(luò)結(jié)構(gòu),大幅降低了預(yù)測模型的計算時間,能夠為家庭、個體用戶的太陽能產(chǎn)品提供準(zhǔn)確快速的性能預(yù)測.
深度學(xué)習(xí)算法通常需要進(jìn)行大量的計算,但在許多實際應(yīng)用的場合如光伏現(xiàn)場的檢修與調(diào)試中,往往只有便攜式計算機,算力條件十分有限,數(shù)據(jù)采集及預(yù)測系統(tǒng)需要做出有效的輕量化改進(jìn)措施.Movidius神經(jīng)網(wǎng)絡(luò)計算棒集成了英特爾視覺處理器和深度神經(jīng)網(wǎng)絡(luò)硬件加速器,能以極低的功耗執(zhí)行高性能視覺推理運算[6].考慮到模型準(zhǔn)確率與設(shè)備便攜性,本文采用了樹莓派卡片式計算機與Movidius神經(jīng)網(wǎng)絡(luò)計算棒結(jié)合的硬件平臺,完成了數(shù)據(jù)采集與實時預(yù)測計算,如圖1所示.連接樹莓派的輻照度、溫濕度、風(fēng)速、風(fēng)向等傳感器定時記錄氣象訊息,廣角攝像頭用于采集天空云圖,神經(jīng)網(wǎng)絡(luò)計算棒負(fù)責(zé)加速預(yù)測.各傳感器的性能參數(shù),如表1所示.
表1 各氣象記錄傳感器參數(shù)
圖1 數(shù)據(jù)采集預(yù)測系統(tǒng)示意圖圖2 輻照度預(yù)測模型算法流程
深度學(xué)習(xí)算法具有多層次的網(wǎng)絡(luò)結(jié)構(gòu)和重復(fù)訓(xùn)練特征的迭代方式,能較好地應(yīng)對輻照度預(yù)測問題.輻照度預(yù)測模型的訓(xùn)練流程及預(yù)測流程,如圖2所示.首先,導(dǎo)入原始數(shù)據(jù),清洗部分存在異常的節(jié)點;其次,對數(shù)據(jù)作批量歸一化,劃分訓(xùn)練樣本及測試樣本;然后,建立模型進(jìn)行迭代訓(xùn)練,并作參數(shù)調(diào)優(yōu)測試;最終,訓(xùn)練完畢獲取模型輸出文件.在實際預(yù)測場景下,將采集到的數(shù)據(jù)進(jìn)行合適的預(yù)處理后,可利用訓(xùn)練完畢導(dǎo)出的模型作預(yù)測,以得到合理結(jié)果.
決策樹模型具有誤差低、收斂快的特點,在數(shù)據(jù)預(yù)測工業(yè)案例中得到了廣泛應(yīng)用.其代表Gradient Boosting[7]的核心思想為逐層學(xué)習(xí),即不直接擬合最終的強模型F(x),而是在n步的迭代中每一步迭代都得到一個基礎(chǔ)擬合函數(shù)fn(x),通過累加的方式來推理得到最終的擬合函數(shù)
(1)
設(shè)x為輸入數(shù)據(jù),y為數(shù)據(jù)真實值,則可定義損失函數(shù)L(y,F(xiàn)(x)).常設(shè)L為平方誤差損失函數(shù),即L(y,F(xiàn)(x))=(y-F(x))2.在第m步的迭代開始前,已有前m-1步的累加模型Fm-1(x)、殘差項(y-Fm-1(x))和損失函數(shù)L(y,F(xiàn)m-1(x)),第m步中迭代訓(xùn)練fm(x)的目的為盡量擬合上一步的殘差項,使得該步的總擬合函數(shù)Fm(x)=Fm-1(x)+fm(x)能更接近真實值y.Gradient Boosting算法利用損失函數(shù)L的負(fù)梯度在當(dāng)前模型F(x)=Fm-1(x)的值來作為殘差的近似值,其負(fù)梯度r定義為
(2)
在第m步迭代中,在Fm-1(x)的基礎(chǔ)上嘗試用弱擬合函數(shù)hm(x)來進(jìn)一步逼近真實數(shù)據(jù)y,并求出對應(yīng)的損失函數(shù)L.調(diào)整hm(x)及其它參數(shù),當(dāng)L處于該步迭代的最小值時,可求出對應(yīng)的負(fù)梯度rm.將rm作為權(quán)重與hm(x)相乘可以得到本次迭代的基礎(chǔ)擬合函數(shù)即fm(x)=rm×hm(x),并以此進(jìn)一步得到了該步的累加模型Fm(x).
研究表明,上述決策樹模型僅使用氣象數(shù)據(jù)作輻照度預(yù)測,容易出現(xiàn)過擬合,在實際測試時往往難以達(dá)到令人滿意的結(jié)果,使用云圖和配套氣象參數(shù)作訓(xùn)練可為模型預(yù)測性能帶來明顯的提升[8].在對云圖的識別處理中,如何判斷云層厚度及運動趨勢是關(guān)鍵所在.卷積神經(jīng)網(wǎng)絡(luò)一般由卷積層、池化層和全連接層組成,有效模仿了生物的視覺機制,在處理圖像識別任務(wù)中得到了廣泛應(yīng)用.因此,常用卷積神經(jīng)網(wǎng)絡(luò)分析云圖特征.卷積層主要對輸入進(jìn)行卷積運算,設(shè)在2維空間有函數(shù)F和G,則其卷積為
(3)
其中,F(xiàn)(a,b)即為卷積核,卷積核大小為(2n+1)×(2n+1).卷積通過加權(quán)求和運算可以提取圖像特征,而池化層負(fù)責(zé)對卷積層輸出特征進(jìn)行降維,根據(jù)降維方法可分為最大值池化與平均值池化.引入云圖識別任務(wù)后,模型數(shù)據(jù)計算量會大幅提升,亟需有效的輕量化措施以在保證準(zhǔn)確率的前提下,改善運行速度.
LightGBM模型[9]針對傳統(tǒng)Gradient Boosting算法速度和可擴展性的不足做出了優(yōu)化,采用互斥特征捆綁與梯度單邊采樣策略,具有更低的內(nèi)存消耗與更高的準(zhǔn)確率,有效緩解了計算數(shù)據(jù)量過大的問題.互斥特征捆綁指在稀疏特征空間中,若滿足大量特征同時取0值的條件,可將這些互斥特征合并,以降低特征維度和模型復(fù)雜度.梯度單邊采樣指相比傳統(tǒng)導(dǎo)入所有數(shù)據(jù)進(jìn)行訓(xùn)練的方法,其在每次訓(xùn)練過程中只選取部分具有高梯度的樣本數(shù)據(jù)來嘗試擬合計算.LightGBM在保證預(yù)測準(zhǔn)確率的前提下,降低了算力要求,但其在訓(xùn)練時需要仔細(xì)調(diào)整樹的深度和葉子節(jié)點等參數(shù),以避免過擬合現(xiàn)象的發(fā)生.
為了充分挖掘氣象數(shù)據(jù)變化對輻照度產(chǎn)生的影響,使用特征交叉的方式來擴充特征,即令溫度、濕度、風(fēng)速、風(fēng)向、當(dāng)前輻照度等特征進(jìn)行兩兩(或多個)相乘以構(gòu)建非線性關(guān)系,從而達(dá)到更佳的訓(xùn)練效果,有效提升模型預(yù)測性能[10].本文利用LightGBM算法對所有的特征進(jìn)行了相關(guān)性分析,繪制了特征相關(guān)性示意圖如圖3所示.可以看出,實際輻照度與當(dāng)前輻照度、小時、溫度×濕度等參數(shù)存在較高相關(guān)性.考慮到模型復(fù)雜度與精確度的要求,本文最終選取了9個交叉特征:輻照度×輻照度、溫度×濕度、輻照度×溫度、輻照度×濕度、風(fēng)向×風(fēng)向、風(fēng)速×濕度、風(fēng)向×濕度、風(fēng)速×風(fēng)向、風(fēng)速×溫度,與日期時間、溫濕度、風(fēng)速風(fēng)向及當(dāng)前輻照度等基礎(chǔ)氣象信息一起共18個特征作為氣象數(shù)據(jù)輸入.
圖3 預(yù)測輻照度與輸入?yún)?shù)間的相關(guān)性
如上所述,為了提升預(yù)測的準(zhǔn)確性,在預(yù)測模型中需要引入地基云圖信息來預(yù)測未來時刻的輻照度.然而,一般處理圖像的預(yù)測算法往往計算量較重,并不適用于輕量化的預(yù)測設(shè)備.因此,為了能夠使用輕量化的計算設(shè)備處理云圖信息,就必須對云圖采取輕量化的深度學(xué)習(xí)模型.MobileNet預(yù)測模型專注于移動端或嵌入式設(shè)備,可有效減少計算量,在處理圖像識別任務(wù)中相對于傳統(tǒng)的深度學(xué)習(xí)模型有很大優(yōu)勢[11].相較于傳統(tǒng)的卷積步驟,MobileNet創(chuàng)新地采用深度可分離卷積方法(Depthwise Separable Convolution)以降低計算復(fù)雜度與參數(shù)個數(shù).傳統(tǒng)卷積步驟的計算量X1為
X1=DF×DF×M×DK×DK×N
(4)
其中:DF為輸入圖尺寸,M為輸入圖通道數(shù),DK為卷積核尺寸,N為輸出通道數(shù);而深度可分離卷積首先根據(jù)輸入通道進(jìn)行按位相乘的計算,此時通道數(shù)不變;然后使用1×1的卷積核進(jìn)行傳統(tǒng)的卷積運算,此時通道數(shù)改變.深度可分離卷積的計算量X2為
X2=DF×DF×M×DK×DK+1×1×M×DF×DF×N
(5)
例如,在如圖4所示的深度計算網(wǎng)絡(luò)結(jié)構(gòu)中,若設(shè)DK=3,則傳統(tǒng)卷積方法計算量約為271萬,深度可分離卷積計算量約為165萬,可節(jié)省39%的計算量,而且其在模型大小、運行速度層面都有較大優(yōu)化.
圖 4 傳統(tǒng)卷積(左)與MobileNet卷積(右)核心方法區(qū)別
受MobileNet模型參數(shù)少、體量輕等特點的啟發(fā),如圖5所示.本文計算模型的網(wǎng)絡(luò)結(jié)構(gòu)與MobileNet設(shè)計相似,但有三點不同:(1)為了表達(dá)云的運動趨勢,模型中將相鄰時刻的兩幅地基云圖圖像權(quán)重平均值組合成了一張新云圖,相鄰時刻的兩幅地基云圖和融合所得的新云圖組合,可以在一定程度上表達(dá)出此階段內(nèi)云的運動趨勢.本模型輸入端不是單一圖片,而是由上述相鄰時刻的云圖及融合得新云圖組成的,而且在全連接層中添加了在LightGBM模型中篩選得到的18個氣象特征作為輸入;(2)本模型舍棄了MobileNet的頂端網(wǎng)絡(luò)結(jié)構(gòu),以自行構(gòu)造的全連接層與回歸層取而代之.而且,與常規(guī)的遷移學(xué)習(xí)思路不同,考慮到云圖圖像的特殊性,其與網(wǎng)絡(luò)圖像交叉部分極少,本模型只使用了部分MobileNet的網(wǎng)絡(luò)結(jié)構(gòu),而沒有使用MobileNet的模型權(quán)重;(3)本模型的預(yù)測目標(biāo)為具體數(shù)值,即下一節(jié)點時刻的GHI,而不是圖像分類.
圖5 數(shù)據(jù)預(yù)測流程圖
本文所用云圖及配套氣象數(shù)據(jù)由部署于上海市同濟大學(xué)嘉定校區(qū)氣象觀測站提供.其中,天空云圖使用魚眼攝像頭捕獲,采集時間為5分鐘,并用圖像處理庫OpenCV對云圖邊緣存在畸變處進(jìn)行批量剪裁.配套氣象數(shù)據(jù)實測于2019年11月至12月及2020年6月至8月,共收集了3 671組數(shù)據(jù),其中3 234組數(shù)據(jù)用于模型訓(xùn)練及驗證,437組數(shù)據(jù)用于測試模型預(yù)測結(jié)果.
對于預(yù)測結(jié)果的準(zhǔn)確性評價,可以定義如下的誤差評價指標(biāo):
(6)
(7)
(8)
(9)
其中,MAE(Mean Absolute Error)為平均絕對誤差,反映了預(yù)測值誤差的實際情況.nMAE(Normalized Mean Absolute Error)為相對平均絕對誤差,nRMSE(Normalized Root Mean Square Error)為相對均方根誤差,它們均反映了預(yù)測值整體的相對誤差,且nRMSE更關(guān)注數(shù)據(jù)的異常值表現(xiàn).技能得分SS(Skill Score)可定量評估模型改善程度.上式中:N為整體樣本個數(shù);xt為樣本實際值;x′t為樣本預(yù)測值;x為樣本整體平均值;ε0為參照模型的某個性能參數(shù)(如MAE、nMAE、nRMSE等);ε1為對應(yīng)的測試模型性能參數(shù).
本文以Keras 2.3+TensorFlow 1.14為學(xué)習(xí)框架,并利用開源圖像處理函數(shù)庫OpenCV 4.1處理云圖數(shù)據(jù).模型采用Adam優(yōu)化算法,學(xué)習(xí)率衰減策略:當(dāng)驗證集損失值持續(xù)10步不下降時則減少學(xué)習(xí)率為原來的1/10.模型訓(xùn)練完成后,將權(quán)重數(shù)據(jù)與推斷程序打包轉(zhuǎn)換成輕量化的專用文件供現(xiàn)場預(yù)測的樹莓派計算平臺使用.
以不同方法對30分鐘后輻照度進(jìn)行預(yù)測的結(jié)果,如表2所示.由前兩組不同輸入的對比實驗可見,單純的圖像輸入或者氣象數(shù)據(jù)輸入較圖像與數(shù)據(jù)結(jié)合模型的預(yù)測效果差.以基礎(chǔ)卷積-回歸網(wǎng)絡(luò)模型、卷積-徑向基函數(shù)(CNN-RBF)預(yù)測模型[7]做性能對比,結(jié)果顯示:在不同的典型天氣類型下,卷積-多層感知器(MobileNet-MLP)輕量化預(yù)測模型的相對均方根誤差均低于其他預(yù)測方法.與未作輕量化處理的原模型相比,由于輕量化模型預(yù)先對權(quán)重文件進(jìn)行了轉(zhuǎn)換,并針對數(shù)據(jù)流讀取方式做了優(yōu)化,在加載模型與讀圖速度方面都有明顯提升,以單組圖片為例,在不損失準(zhǔn)確率的前提下,預(yù)測時間縮短了71%.
表2 預(yù)測模型的性能比較
圖6展示了各模型在多種典型天氣情況下的預(yù)測結(jié)果.圖6(a)為冬季晴天天氣,圖6(b)為夏季晴天天氣,圖6(c)為夏季多云轉(zhuǎn)陰天氣,圖6(d)為夏季陰雨天氣.可以看出,晴天天氣輻照度隨時間變化規(guī)律較為明顯,而多云天氣及陰雨天氣輻照度波動較大,預(yù)測難度也有所上升;從季節(jié)角度來看,季節(jié)更替時輻照度波動沒有明顯變化,最主要的區(qū)別體現(xiàn)在輻照度峰值上,夏季輻照度峰值可達(dá)近1 100 W/m2,而冬季輻照度峰值往往只有約600 W/m2;圖6-d)中的夏季陰雨天氣氣象參數(shù)波動劇烈,從而導(dǎo)致各模型預(yù)測輻照度誤差較大,預(yù)測出現(xiàn)了一定的滯后.由上述圖表可知,本輕量化模型的預(yù)測結(jié)果最接近真實值,MAE,nMAE,nRMSE的技能得分相對基礎(chǔ)模型分別提高了24.6%、19.5%、25.5%.
圖 6 各模型在不同天氣條件下預(yù)測結(jié)果
在短時輻照度預(yù)測中,本文利用深度學(xué)習(xí)技術(shù)對相連地基云圖作融合變換,自動判斷天空的變化趨勢,并基于LightGBM模型完成了氣象參數(shù)的篩選,從而有效提升了輻照度的預(yù)測精度.通過優(yōu)化輸入?yún)?shù)、重構(gòu)MobileNet網(wǎng)絡(luò)結(jié)構(gòu)和使用Movidius計算棒轉(zhuǎn)換模型等輕量化措施,合理簡化了預(yù)測模型,有效提升了預(yù)測速度,實現(xiàn)了輻照度的輕量化預(yù)測.
算例結(jié)果表明,本文提出的輕量化預(yù)測模型在進(jìn)行超短期輻照度預(yù)測時,平均均方根誤差在16%左右,誤差值較傳統(tǒng)預(yù)測方法下降了5.5%,同時,在預(yù)測速度上也提升了71%,有效緩解了大型光伏預(yù)測模型臃腫遲滯的問題.本模型具有輕便快捷、準(zhǔn)確高效的特點,既可供大型光伏電場工作人員現(xiàn)場調(diào)試使用,也為家庭太陽能產(chǎn)品的高效利用提供了新思路.