路 寬,王文寬,孟祥榮,李 軍,楊子江,張森燁
(1.國網(wǎng)山東省電力公司電力科學研究院,山東 濟南 250003;2.山東科技大學電氣與自動化工程學院,山東 青島 266590;3.國網(wǎng)山東省電力公司煙臺供電公司,山東 煙臺 264000)
火電機組在運行的過程中形成了海量高維數(shù)據(jù),集中儲存在廠級監(jiān)控信息系統(tǒng)(Supervisory Information System,SIS)和分布式控制系統(tǒng)(Distributed Control System,DCS)中,這為汽輪機閥門流量特性曲線辨識工作提供了豐富的基礎(chǔ)數(shù)據(jù)。汽輪機閥門流量特性的準確辨識以及調(diào)節(jié)參數(shù)的優(yōu)化能夠有效提升火電機組一次調(diào)頻品質(zhì)和自動發(fā)電控 制(Automatic Generation Control,AGC)協(xié)調(diào)水平[1]。傳統(tǒng)上,汽輪機閥門流量特性是通過現(xiàn)場試驗人員對目標機組進行解列后手動測試計算得到的。同時,不同工況下的閥門流量特性受主蒸汽壓力、主蒸汽流量、機組各閥后壓力等多個因素的影響。因此,在大數(shù)據(jù)背景下,反映這些因素的測點數(shù)據(jù)質(zhì)量會反過來影響閥門指令與閥門流量之間的關(guān)系[2-5]。
黃彥浩等[6]提供了在電力系統(tǒng)仿真領(lǐng)域開發(fā)大數(shù)據(jù)技術(shù)的基本框架。盛鍇等[7]為了實現(xiàn)汽輪機閥門流量特性問題的全過程管控,基于大數(shù)據(jù)運行環(huán)境開發(fā)了一套汽輪機閥門流量特性在線監(jiān)測優(yōu)化系統(tǒng),該系統(tǒng)可實現(xiàn)對閥門流量特性的在線監(jiān)測和閥門流量函數(shù)的滾動優(yōu)化。朱彥等[8]針對火電機組的熱力系統(tǒng)存在復(fù)雜、高維、非線性、時變性、參數(shù)冗余性等導致的傳統(tǒng)建模方法無法準確反映機組運行特性問題,采用聚類分析、多項式擬合的方法對168 萬組運行數(shù)據(jù)進行了調(diào)門特性辨識,并基于流量特性線性化考慮,優(yōu)化了汽輪機數(shù)字電液調(diào)節(jié)系統(tǒng)(Digital Electronic Hydraulic Control,DEH)閥門管理函數(shù),提升了機組變負荷能力和一次調(diào)頻能力。李存文等[9]基于多種經(jīng)典數(shù)據(jù)挖掘算法的對比分析,合理改進了K-medoids 算法,提出了一種用于汽輪機流量特性分析的多元線性回歸方法,有效解決了機組出現(xiàn)的線性度不合理問題。尚興宇等[10-11]利用流量校正的方法對閥門開度進行優(yōu)化,并使用反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)對優(yōu)化后的閥門流量特性進行了模擬還原。鄒包產(chǎn)等[12]在流量特性數(shù)據(jù)處理過程中應(yīng)用了神經(jīng)網(wǎng)絡(luò),并使用最小二乘法確定了最佳的汽輪機汽門流量曲線調(diào)節(jié)量;試驗結(jié)果表明,校正后的汽輪機調(diào)閥流量曲線具有良好的線性度,從而可提高機組網(wǎng)源協(xié)調(diào)能力。王志杰等[13]通過對機組的歷史運行數(shù)據(jù)進行篩選,提出了一種基于最小二乘支持向量機(Least Squares Support Vector Machines,LSSVM)的汽輪機閥門流量特性辨識方法。
雖然上述研究均給出了閥門流量曲線的辨識方法,但主要辨識模型往往采用了非線性函數(shù)。在實際優(yōu)化閥門函數(shù)的過程中,給定流量下得到最優(yōu)閥門指令值的過程實際是一個求解辨識模型反函數(shù)的過程。如果辨識的非線性函數(shù)不存在反函數(shù),那么就無法實現(xiàn)閥門函數(shù)的精準修正。利用前饋神經(jīng)網(wǎng)絡(luò)(Forward Neural Network,F(xiàn)NN)實現(xiàn)了對閥門流量特性數(shù)據(jù)的分段線性辨識,同時使用了貝葉斯優(yōu)化的方法得到了最優(yōu)分段數(shù),這就保證了閥門流量特性的辨識函數(shù)具有反函數(shù),從而在給定閥門流量時能夠提供唯一的閥門指令解。最后,所提方法在山東省某火電機組上進行了應(yīng)用與辨識,得到了驗證。
閥門流量的優(yōu)化主要包括閥門特性辨識和閥門調(diào)節(jié)參數(shù)優(yōu)化兩個部分。
在辨識過程中,火電機組汽輪機蒸汽流量獲取通常有直接測量、給水流量法、凝結(jié)水流量法以及間接計算等方法[8]。文獻[14]中基于弗留格爾公式演變的流量計算公式被主要應(yīng)用在基于大數(shù)據(jù)場景下的閥門流量特性識別中,如式(1)所示。
式中:Q為等效實際流量,%;pi為調(diào)節(jié)級壓力,MPa;p0為主蒸汽壓力,MPa;pie為額定工況下的調(diào)節(jié)級壓力;p0e為額定工況下主蒸汽壓力。辨識的結(jié)果則形成了閥門總指令μ與實際進汽流量Q之間的閥門流量曲線函數(shù):
在閥門調(diào)節(jié)參數(shù)優(yōu)化過程中,令PCV=f(μ)表示原始閥門管理函數(shù),PCV為單個閥門閥位指令[7],Q*=g*(μ)表示表示理想閥門流量特性曲線,那么,優(yōu)化后的閥門管理函數(shù)可以表示為:
顯然式(3)的有解需要閥門流量曲線函數(shù)g存在反函數(shù)。
由于流量曲線擬合是后續(xù)閥門優(yōu)化工作的先決條件,而機器學習中非線性擬合得到的輸入——輸出函數(shù)是無法計算反函數(shù)的,這就無法為閥門函數(shù)的優(yōu)化提供可操作的建議。把FNN作為閥門流量曲線函數(shù)g(·)的具體形式,同時通過在FNN 中引入ReLU 激活函數(shù)使其變成線性分段函數(shù),那么就可以確保g-1(·)的存在[15]。
人工神經(jīng)網(wǎng)絡(luò)(簡稱神經(jīng)網(wǎng)絡(luò)),是一種模仿生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能的數(shù)學模型或計算模型,其通過梯度下降法不斷更新每層網(wǎng)絡(luò)中的神經(jīng)元,從而具備了學習能力,一般用于對函數(shù)進行估計或近似。前饋神經(jīng)網(wǎng)絡(luò),是神經(jīng)網(wǎng)絡(luò)中最常見的一種。它采用一種單向多層結(jié)構(gòu),其中每一層包含若干個神經(jīng)元。在此種神經(jīng)網(wǎng)絡(luò)中,各神經(jīng)元可以接收前一層神經(jīng)元的信號,并產(chǎn)生輸出到下一層,如圖1所示。
圖1 前饋神經(jīng)網(wǎng)絡(luò)
FNN中的多層前饋神經(jīng)網(wǎng)絡(luò)是一個單輸入、輸出層和多中間層的前饋網(wǎng)絡(luò)結(jié)構(gòu)。它每一層都有多個神經(jīng)元,圖2給出了FNN中單個神經(jīng)元的詳細結(jié)構(gòu)。
圖2 神經(jīng)元結(jié)構(gòu)
圖中,xi和yi分別是神經(jīng)元的輸入、輸出,wi是對應(yīng)每個輸入的權(quán)重,f(·)表示激活函數(shù);θ是截距參數(shù)。這里,選取ReLU[16]作為FNN的激活函數(shù),即為
ReLU 函數(shù)由于具有稀疏性結(jié)構(gòu),使得神經(jīng)網(wǎng)絡(luò)在輸出的過程中并不激活所有的神經(jīng)元。相比于Sigmoid 激活函數(shù)和tanh 激活函數(shù),ReLU 激活函數(shù)由于沒有上下界,因此在訓練過程中不會存在神經(jīng)元飽和的情況;同時,由于對ReLU 函數(shù)求導為常數(shù),因此訓練過程中也不存在梯度消失的問題,這就為加深神經(jīng)網(wǎng)絡(luò)深度創(chuàng)造了條件。
通過在模型輸出層的上一層神經(jīng)元先進行ReLU 激活后再逐項相加,就可以得到自動分段的線性擬合函數(shù)。令倒數(shù)第二層神經(jīng)元個數(shù)為n,那么擬合的分段函數(shù)段數(shù)為n+1。
如圖3所示,最后一層網(wǎng)絡(luò)的數(shù)學表達式為
式中:x為網(wǎng)絡(luò)中倒數(shù)第二層中間層的輸出值,在圖3中就是(h1,h2,h3,h4),這些變量均通過了ReLU 函數(shù)進行激活;WT是倒數(shù)第二層網(wǎng)絡(luò)與最后一層連接的權(quán)重向量;ch是常數(shù)值;為了使最后一層網(wǎng)絡(luò)的輸出達到分段線性表達的效果,倒數(shù)第二層的輸出值要進行直接相加,因此需要用(1,…,1)T與(h1,h2,h3,h4)進行向量乘法,這里(1,…,1)T的維度是1×4,其中:4是一個超參數(shù),可以在建模時任意選取。
圖3 分段線性函數(shù)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
FNN 分段線性辨識模型能夠?qū)﹂y門流量進行分段線性辨識,但線性分段數(shù)目作為模型的超參數(shù)需要人為設(shè)定。為了能夠自動完成線性分段數(shù)量的確定,使用貝葉斯優(yōu)化方法。
2.2.1 高斯過程回歸
高斯過程(Gaussian Process,GP)是概率論和數(shù)理統(tǒng)計中隨機過程的一種,是一系列服從正態(tài)分布的隨機變量在一指數(shù)集內(nèi)的組合[17]。
高斯過程回歸(Gaussian Process Regression,GPR)[18]假定輸入向量與目標輸出之間的關(guān)系f為高斯過程,則f~GP(m,K)。其中:m表示過程f的均值向量,K表示協(xié)方差矩陣。對于訓練集D={(Xi,yi)|i=1,2..,n},其中Xi和yi分別表示第i個輸入和目標輸出,向量表示為X和y。構(gòu)建回歸模型為
式中:ε為噪音,服從正態(tài)分布,ε~N(0,σ2),σ2表示噪聲的標準差向量。
對于輸入向量X,假設(shè)f(xi)服從高斯分布,則f(X)服從多元高斯分布
f(X)~N(m(X),K(X,X))
通常均值向量設(shè)為0,那么有
f(X)+ε~N(0,K+σ2)
當出現(xiàn)新的輸入變量向量X*時,由于假設(shè)f(X*)服從高斯過程,滿足
f(X*)~N(0,K*)
那么訓練集和新輸入向量的聯(lián)合分布也滿足高斯過程
式中:K*=k(X,X*),K**=k(X*,X*),k(·)表示協(xié)方差函數(shù),也稱為核函數(shù)。變換式(7)得到的f(X*)的后驗概率分布也滿足高斯過程
其中,m(f*)和cov(f*)的具體形式如下:
2.2.2 基于貝葉斯的線性分段數(shù)尋優(yōu)
貝葉斯優(yōu)化(Bayesian Optimization,BO)是基于數(shù)據(jù)使用貝葉斯定理估計目標函數(shù)的后驗分布,然后再根據(jù)分布選擇下一個采樣的超參數(shù)組合。它充分利用了前一個采樣點的信息,其優(yōu)化的工作方式是通過對目標函數(shù)形狀的學習,并找到使結(jié)果向全局最大提升的參數(shù)[19]。目標函數(shù)和采集函數(shù)(Acquisition Function,AC)[20]構(gòu)成了BO 的兩個重要組成部分。這里的目標函數(shù)采用了GPR,采集函數(shù)選取了置信下限(Lower Confidence Bound,LCB)函數(shù),表達式為
式中:μ(x)=m(f*),σ(x)=cov(f*);X是已經(jīng)觀測到的點集,x是未知的候選點,相當于式(7)中的X*;β是人為設(shè)定的超參數(shù)。
綜合BO 應(yīng)用于FNN 的訓練過程以確定最優(yōu)線分段數(shù),主要包括神經(jīng)網(wǎng)絡(luò)訓練和超參數(shù)的貝葉斯優(yōu)化尋優(yōu)兩個階段。
步驟1:設(shè)定線性分段數(shù)的超參數(shù),對FNN 分段線性網(wǎng)絡(luò)進行訓練,觀測驗證集誤差的變化情況。
步驟2:使用BO 對步驟1 中設(shè)置的線性分段數(shù)進行尋優(yōu),重復(fù)步驟1 的過程直到驗證集誤差觸發(fā)閾值。這里,通過設(shè)定驗證集的均方根殘差(Root Mean Square Error,RMSE)作為停止步驟1、2的閾值,圖4給出了整個過程的流程展示。
圖4 基于BO的FNN線性分段數(shù)尋優(yōu)框架
選取山東省某電廠330 MW機組作為應(yīng)用對象,特征參數(shù)選取了有功功率、主汽流量、主控指令、調(diào)節(jié)級壓力信號。所有數(shù)據(jù)的時間長度為6 個月,時間周期為5 s,共計315萬組。
由于數(shù)據(jù)量較大,為減少閥門流量特性辨識過程中的誤差,針對海量機組運行數(shù)據(jù)進行了數(shù)據(jù)預(yù)處理,主要包括以下3個方面:
1)剔除異常值。使用了箱型圖法完成對異常數(shù)據(jù)的識別與剔除。
2)機組運行方式篩選。由于在提取數(shù)據(jù)的時間周期內(nèi),機組存在單閥和順序閥交替運行的情況,為了排除不同運行方式對特性辨識效果的影響,從剔除異常值后的數(shù)據(jù)中單獨提取了單閥運行方式下的數(shù)據(jù)。
3)等效流量計算。根據(jù)主汽壓力與調(diào)節(jié)級壓力的關(guān)系,使用式(1)計算出了不同調(diào)節(jié)級壓力下的等效流量。
數(shù)據(jù)預(yù)處理后的主要特征參數(shù)如表1所示。
表1 模型主要參數(shù)
按照70%和30%的比例劃分訓練集和驗證集,驗證集用來對BO 的優(yōu)化效果進行驗證。這里的FNN 模型選取了4 個隱藏層的全連接前饋神經(jīng)網(wǎng)絡(luò),每個隱藏層的神經(jīng)元數(shù)量分別為128、256、256和32;同時,將線性段數(shù)的超參數(shù)范圍設(shè)置為[1,20],其表明該網(wǎng)絡(luò)可以給出的潛在線性分段數(shù)區(qū)間。
在BO優(yōu)化的過程中,選擇了GPR作為FNN誤差函數(shù)的近似,采集函數(shù)函數(shù)選擇了LCB 函數(shù)。同時,使用了限制內(nèi)存的擬牛頓算法(Limited Memory Broyden Fletcher Goldfarb-Shanno,L-BFGS)求解AC函數(shù)的最優(yōu)解。此外,為了提高FNN訓練的速度,在Pytorch 建模的基礎(chǔ)上使用了圖形處理器(Graphics Processing Unit,GPU)進行訓練加速,并將Batch_size設(shè)置為128,最后使用了自適應(yīng)矩估計(Adaptive Moment Estimation,ADAM)進行參數(shù)優(yōu)化。
通過BO 尋優(yōu),本次應(yīng)用案例數(shù)據(jù)的最優(yōu)的線性分段數(shù)為4,此時對應(yīng)的驗證集誤差為0.004 56,圖6給出了模型的辨識結(jié)果,可知該模型能夠?qū)ζ啓C閥門流量特性實現(xiàn)較準確地辨識。
圖5 線性分段數(shù)BO尋優(yōu)
圖6 基于BO的FNN線性自分段模型辨識
通過將ReLU 激活函數(shù)引入FNN 網(wǎng)絡(luò)實現(xiàn)了閥門流量特性的分段線性可辨識,同時在FNN 的訓練過程中引入BO 方法實現(xiàn)了對線性分段數(shù)進行自動尋優(yōu)。所得到的線性分段函數(shù)可以較好地實現(xiàn)對閥門流量特性的辨識,同時滿足了辨識函數(shù)存在反函數(shù)的要求,進而為閥門控制函數(shù)的精準優(yōu)化提供了可靠的基礎(chǔ)。