馬良玉,左曉桐,王永軍
(華北電力大學(xué)控制與計算機工程學(xué)院,河北 保定 071003)
火力發(fā)電廠中,鍋爐燃燒狀態(tài)的優(yōu)劣直接影響機組煤耗。鍋爐燃燒過程中,空氣過剩系數(shù)α直接反映風(fēng)煤比,間接反映燃燒是否處于最佳狀態(tài)。因此,煙氣含氧量是影響鍋爐燃燒效率的一個重要參數(shù)[1]。傳統(tǒng)火力發(fā)電廠大多采用氧化鋯氧量分析儀、熱磁式氧量分析儀測量煙氣含氧量。但這些儀表測量精度低,維護(hù)成本高且使用壽命短,不利于實現(xiàn)長期實時監(jiān)控。近年來,在過程控制和檢測領(lǐng)域出現(xiàn)了一種間接測量參數(shù)的軟測量技術(shù),有效地解決了傳統(tǒng)測量方法存在的問題[2]。本文以某1 000 MW鍋爐機組的大量歷史運行數(shù)據(jù)為樣本,建立了基于反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)的煙氣含氧量軟測量模型,并通過仿真對比驗證了該模型的精度,能夠較準(zhǔn)確地對氧量進(jìn)行實時預(yù)測。
軟測量作為一種新型的參數(shù)檢測技術(shù),為解決復(fù)雜工業(yè)過程的參數(shù)檢測提供了一條有效的途徑。近年來,軟測量技術(shù)發(fā)展迅速,在理論研究和實際應(yīng)用方面都取得了顯著的成效。軟測量模型是軟測量技術(shù)的核心,它構(gòu)建了易測過程變量(常稱為輔助變量或二次變量)與難以直接測量的待測過程變量(常稱為主導(dǎo)變量)之間的數(shù)學(xué)模型[2]。依據(jù)該模型,利用相關(guān)軟件實現(xiàn)對待測變量的實時測量或估計。
目前,煙氣含氧量的軟測量方法主要有基于工藝機理分析的方法、基于過程對象動態(tài)數(shù)學(xué)模型的方法、基于人工神經(jīng)網(wǎng)絡(luò)的軟測量建模方法和基于支持向量機回歸的軟測量方法[3]。
基于人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)的軟測量是過程控制領(lǐng)域發(fā)展快、研究多、應(yīng)用廣泛的一種軟測量技術(shù)。它具有大規(guī)模并行處理能力、分布式存儲能力、自適應(yīng)能力以及適用于求解非線性、容錯性和冗余性等問題,因而得到迅速發(fā)展[4],為解決復(fù)雜系統(tǒng)過程參數(shù)軟測量提供了一種行之有效的方法。近年來,人工神經(jīng)網(wǎng)絡(luò)在建立軟測量模型方面呈現(xiàn)出很大優(yōu)勢,有著廣闊的應(yīng)用前景。
人工神經(jīng)網(wǎng)絡(luò)是一種對生物神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和功能進(jìn)行某種模擬和簡化而成的數(shù)學(xué)模型,其基本組成單位是神經(jīng)元。BP神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用最為廣泛和成熟的神經(jīng)網(wǎng)絡(luò)之一。典型的3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Three-layer BP neural network structure
BP神經(jīng)網(wǎng)絡(luò)是一個包含輸入層、隱含層和輸出層3層結(jié)構(gòu)的多層前饋型神經(jīng)網(wǎng)絡(luò),層與層之間通過權(quán)值連接,每層各個神經(jīng)元之間相互獨立、互不影響。網(wǎng)絡(luò)學(xué)習(xí)過程包括信號的前向傳播和誤差的反向傳播。采用梯度下降法,通過誤差的反向傳播及修正誤差的方向不斷調(diào)整各層權(quán)值和閾值,以期達(dá)到輸出數(shù)據(jù)與期望數(shù)據(jù)的誤差性能函數(shù)最小的目的[5-7]。
BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值包括隱含層與輸出層神經(jīng)元之間的權(quán)值Vjt、輸出層的閾值γt以及隱含層與輸入層神經(jīng)元之間的權(quán)值Wij、隱含層的閾值θj,它們分別按照式(1)~式(4)進(jìn)行調(diào)整。
輸出層權(quán)值:
(1)
輸出層閾值:
(2)
隱含層權(quán)值:
(3)
隱含層閾值:
(4)
上述誤差反向傳播算法作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練的基本算法,存在收斂速度慢、容易陷入局部最小以及出現(xiàn)“過擬合”等問題。為克服BP神經(jīng)網(wǎng)絡(luò)的這些不足,相關(guān)研究人員提出了許多改進(jìn)算法,例如附加動量法、牛頓法、自適應(yīng)學(xué)習(xí)率法以及Levenberg-Marquardt(L-M)算法等[8]。
L-M算法在使用時不需要過多調(diào)整參數(shù),具有較快的網(wǎng)絡(luò)收斂速度和較高的網(wǎng)絡(luò)訓(xùn)練精度。因此,本文采用L-M算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
L-M算法是一種求解非線性最小二乘問題的有效方法,它是改進(jìn)的高斯-牛頓法,既有牛頓法的局部收斂性,又有梯度下降法的全局搜索特性,從而使網(wǎng)絡(luò)能夠有效收斂[9]。其基本原理如下所述[10-11]。
將BP神經(jīng)網(wǎng)絡(luò)各層權(quán)值和閾值用向量W表示,輸出結(jié)果的誤差性能函數(shù)如式(5)所示。
(5)
式中:ei(W)為誤差;M為訓(xùn)練樣本數(shù)。
設(shè)e(W)=[e1(W),e2(W),…,ei(W)]T,則:
ΔE(W)=JT(W)e(W)
(6)
式中:ΔE(W)為E(W)的梯度;J(W)為Jacobian矩陣。
(7)
式中:M為訓(xùn)練樣本數(shù);N為神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的個數(shù)。
對于L-M算法,網(wǎng)絡(luò)權(quán)值和閾值的變化ΔWk為:
(8)
新的權(quán)值和閾值W為:
Wk+1=Wk+ΔWk
(9)
式中:I為單位矩陣;μ為常量系數(shù)。
當(dāng)μ=0時,上式就變成了高斯-牛頓法;當(dāng)μ值較大時,近似于梯度下降法。在迭代過程中,μ是一個變化的參數(shù)。對于給定的μ初始值,如果ΔWk可以使誤差性能函數(shù)E(W)下降,則減小μ值;反之則增加μ值[6]。
L-M算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)實現(xiàn)步驟如下[11]。
①初始化網(wǎng)絡(luò)的權(quán)值閾值,給定訓(xùn)練誤差限定值ε、常量系數(shù)的初值μ0。令迭代次數(shù)k=0,μ=μ0。
②計算誤差性能函數(shù)E(Wk)。
③如果E(Wk)≤ε,算法收斂,轉(zhuǎn)到步驟⑧;否則轉(zhuǎn)到步驟④。
④依據(jù)式(7)計算Jacobian矩陣J(Wk)。
⑤依據(jù)式(8)計算ΔWk。
⑥依據(jù)式(9)計算新的權(quán)值和閾值Wk+1,并以其計算誤差性能函數(shù)E(Wk+1)。
⑧算法結(jié)束。
火電廠測量變量的類型、數(shù)目、測點的位置繁多且復(fù)雜,測量數(shù)據(jù)冗余且相關(guān)性強,因此需要對輔助變量進(jìn)行選擇。合理選擇輔助變量不僅可以增強軟測量的精度,而且還可以簡化軟測量模型,便于理解。影響風(fēng)煙系統(tǒng)煙氣含氧量的因素有很多,選擇輔助變量的主要依據(jù)是對過程機理的分析。為了保證預(yù)測的精確性,應(yīng)從可測變量中選取相關(guān)性強的信息變量。風(fēng)煙系統(tǒng)煙氣含氧量神經(jīng)網(wǎng)絡(luò)模型中的輔助變量要選擇對煙氣含氧量有直接或間接關(guān)系的可實時檢測變量[12]。結(jié)合風(fēng)煙系統(tǒng)的結(jié)構(gòu)以及各變量參數(shù)之間的影響關(guān)系,確定網(wǎng)絡(luò)模型的7個輸入?yún)?shù)和1個輸出參數(shù)。模型輸入、輸出參數(shù)如表1所示。
表1 模型輸入、輸出參數(shù)Tab.1 Model input and output parameters
本研究采用的數(shù)據(jù)源自某1 000 MW超臨界燃煤機組真實的分散控制系統(tǒng)(distributed control system,DCS)歷史數(shù)據(jù)庫。由于數(shù)據(jù)量巨大,因此依據(jù)負(fù)荷涵蓋范圍寬、氧量變化范圍大等原則對原始數(shù)據(jù)進(jìn)行一定的優(yōu)選,最終選定了時間間隔為5 s的69 120組數(shù)據(jù)。以60 s為采樣時間,均勻選取5 760組數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練樣本完成模型的訓(xùn)練,隨后從69 120組原始數(shù)據(jù)中按照一定的規(guī)則抽取若干數(shù)據(jù)段作為模型的測試樣本。
從DCS中獲取的數(shù)據(jù)由于有著不同的工程單位,各變量的大小在數(shù)值上相差幾個數(shù)量級。為了預(yù)防因不同數(shù)據(jù)數(shù)量級相差較大而造成模型訓(xùn)練時各變量作用差異大,影響模型精度和泛化性能,需要提前對測量數(shù)據(jù)進(jìn)行歸一化處理,即進(jìn)行適當(dāng)?shù)臉?biāo)度變換,將所有的數(shù)據(jù)都轉(zhuǎn)換為[-1,1]之間的數(shù)。本文采用的歸一化的公式為:
(10)
式中:y為原始數(shù)據(jù)x經(jīng)過歸一化后的數(shù)據(jù);xmax和xmin分別為所有樣本中x的最大值和最小值;ymax和ymin分別為歸一化后的最大和最小值,本文分別選用1和-1。
采用歸一化后的數(shù)據(jù)構(gòu)建網(wǎng)絡(luò)模型,最終得到的輸出結(jié)果需要進(jìn)行反歸一化,這樣才能得到實際工程單位的煙氣含氧量[13]。
BP神經(jīng)網(wǎng)絡(luò)的設(shè)計主要包括輸入層、隱含層以及輸出層傳遞函數(shù)和節(jié)點數(shù)的確定。本文隱含層節(jié)點傳遞函數(shù)采用非對稱型S函數(shù),輸出層節(jié)點傳遞函數(shù)采用線性函數(shù)。輸入層和輸出層節(jié)點數(shù)可分別確定為6和1,因此整個網(wǎng)絡(luò)結(jié)構(gòu)中只有隱含層節(jié)點數(shù)還有待確定。
目前,關(guān)于隱含層節(jié)點數(shù)并沒有準(zhǔn)確的確定方法。隱含層節(jié)點數(shù)對BP神經(jīng)網(wǎng)絡(luò)性能影響較大。若節(jié)點數(shù)過少,則網(wǎng)絡(luò)不能充分描述輸入?yún)?shù)和輸出參數(shù)之間的關(guān)系;若節(jié)點數(shù)過多,則會延長網(wǎng)絡(luò)學(xué)習(xí)時間,甚至出現(xiàn)“過擬合”現(xiàn)象。因此,通過試驗,選用均方誤差和決定系數(shù)作為評價指標(biāo)[14],對比不同節(jié)點數(shù)對網(wǎng)絡(luò)性能的影響,從而確定隱含層節(jié)點數(shù)。其計算公式分別如式(11)、式(12)。均方誤差(mean square error,MSE)和決定系數(shù)R2的計算式為:
(11)
(12)
其中,均方誤差越小,表示模型的性能越好。決定系數(shù)又稱擬合優(yōu)度,其數(shù)值在[0,1]之間,決定了曲線的相關(guān)程度。R2越接近1,表示相關(guān)曲線參考價值越高(模型性能好);反之,參考價值越低(模型性能差)。
在基于梯度下降法的神經(jīng)網(wǎng)絡(luò)含氧量軟測量模型中,以10 000次為訓(xùn)練周期時,隱含層節(jié)點數(shù)對網(wǎng)絡(luò)性能的影響如圖2所示。從圖2可以看出,當(dāng)隱含層節(jié)點數(shù)為41時,均方誤差最小,決定系數(shù)最接近1。因此,隱含層節(jié)點數(shù)確定為41。
由于風(fēng)煙系統(tǒng)是復(fù)雜的非線性系統(tǒng),權(quán)值和閾值的初始值對于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)是否能夠收斂影響很大。通常情況要求初始權(quán)值在經(jīng)過累加后能夠使每個節(jié)點的輸出值都趨近于零,因此初始權(quán)值和閾值一般取[-1,1]之間的隨機數(shù)。同時,為消除初始權(quán)值和閾值的隨機性對不同算法下煙氣出口含氧量模型的影響,本文選用一組在[-1,1]之間的固定數(shù)值作為權(quán)值和閾值的初始值。
圖2 隱含層節(jié)點數(shù)對BP神經(jīng)網(wǎng)絡(luò)性能的影響Fig.2 Influence of number of nodes in hidden-layer on the performance of BP neural network
根據(jù)上文所述,構(gòu)建煙氣含氧量軟測量模型。為了評價不同算法的BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練效果,分別采用梯度下降法和L-M算法對BP神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練并對結(jié)果進(jìn)行對比分析。
對選取的5 760組樣本,分別用梯度下降法和改進(jìn)的L-M算法對BP神經(jīng)網(wǎng)絡(luò)[21]進(jìn)行訓(xùn)練。訓(xùn)練參數(shù)的設(shè)定值與實際值見表2,模型訓(xùn)練結(jié)果如圖3所示。由圖3可以看出,L-M算法網(wǎng)絡(luò)模型可以達(dá)到期望誤差。
表2 訓(xùn)練參數(shù)的設(shè)定值與實際值Tab.2 Set value and actual value of training parameters
圖3 模型訓(xùn)練結(jié)果Fig.3 Training result of model
為測試模型的性能,從周期為5 s的69 120組數(shù)據(jù)中抽取17 280組作為測試樣本,采用相對誤差這個指標(biāo)對軟測量模型性能進(jìn)行評價。測試結(jié)果對比與相對誤差曲線如圖4所示。
圖4 測試結(jié)果對比與相對誤差曲線Fig.5 Comparison and relative error curves of test result
從圖4(a)可以看出,基于梯度下降法和L-M算法的BP神經(jīng)網(wǎng)絡(luò)模型都可以預(yù)測煙氣出口含氧量,其預(yù)測值都能夠較好地反映真實值的變化。圖4(b)表明,兩個模型的相對誤差總體上都在零軸附近波動,而基于L-M算法訓(xùn)練得到的模型優(yōu)于梯度下降法。
為了進(jìn)一步驗證模型的預(yù)測效果,從其他未經(jīng)訓(xùn)練的運行數(shù)據(jù)中以5 s為周期抽取17 280組數(shù)據(jù),對模型的預(yù)測性能進(jìn)行測試。含氧測試輸出與實際值曲線如圖5所示。
圖5 含氧測試輸出與實際值曲線Fig.5 Test output and actual value curves
為分析兩個模型的精度,采用絕對誤差(absolute error,AE)和相對誤差(relative error,RE)的最大值以及均方誤差(mean square error,MSE)等三個評價指標(biāo)對上述兩個模型進(jìn)行比較。不同訓(xùn)練算法神經(jīng)網(wǎng)絡(luò)模型精度對比如表3所示。
表3 不同訓(xùn)練算法神經(jīng)網(wǎng)絡(luò)模型精度對比Tab.3 Accuracy comparison of neural network models trained with different algorithm
表3表明,與梯度下降法相比,基于L-M算法的BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測值更接近尾部煙氣出口含氧量平均值,具有更高的預(yù)測精度。
近年來,軟測量技術(shù)作為一種新型的過程變量檢測技術(shù),發(fā)展迅速且已經(jīng)得到應(yīng)用。它解決了傳統(tǒng)測量方式的諸多問題,是一種實現(xiàn)在線測量變量的十分有效的檢測方式。本文以火電廠風(fēng)煙系統(tǒng)為研究對象,以某1 000 MW機組為對象,采用神經(jīng)網(wǎng)絡(luò)構(gòu)建尾部煙氣出口含氧量軟測量模型,并應(yīng)用火電廠真實歷史數(shù)據(jù)對模型進(jìn)行訓(xùn)練和驗證,比較了基于梯度下降法和L-M算法的BP神經(jīng)網(wǎng)絡(luò)模型精度。驗證結(jié)果表明,與梯度下降法相比,L-M算法網(wǎng)絡(luò)模型可以更好地預(yù)測煙氣含氧量,具有更高的預(yù)測精度?;谏窠?jīng)網(wǎng)絡(luò)的煙氣出口含氧量軟測量為火電廠提供了一種較精確的氧量測量方式,便于運行人員得到良好的在線數(shù)據(jù),從而進(jìn)一步對鍋爐燃燒系統(tǒng)進(jìn)行優(yōu)化。