馬良玉,梁書源
(華北電力大學(xué) 控制與計(jì)算機(jī)工程學(xué)院,河北 保定 071003)
隨著新能源發(fā)電所占比例的增加,大容量火電機(jī)組在自動(dòng)發(fā)電控制下深度調(diào)峰運(yùn)行已成為常態(tài)[1]。過(guò)熱汽溫作為鍋爐運(yùn)行過(guò)程中的一項(xiàng)重要指標(biāo),其控制效果直接關(guān)系著電廠的安全、經(jīng)濟(jì)、穩(wěn)定運(yùn)行[2]。鍋爐過(guò)熱汽溫存在較大的時(shí)延、慣性和較強(qiáng)的時(shí)變性[3]。當(dāng)機(jī)組大范圍變負(fù)荷時(shí),常規(guī)的過(guò)熱汽溫控制方法控制效果較差[4]。因此,提高過(guò)熱汽溫控制質(zhì)量一直是電廠優(yōu)化運(yùn)行的重要課題。
隨著人工智能技術(shù)的成熟,先進(jìn)智能預(yù)測(cè)控制方法在電廠運(yùn)行優(yōu)化和控制系統(tǒng)中逐漸得到應(yīng)用[5]。實(shí)現(xiàn)過(guò)熱汽溫的高精度預(yù)測(cè),是提高智能預(yù)測(cè)控制效果的前提。文獻(xiàn)[6]建立了基于改進(jìn)煙花算法優(yōu)化的過(guò)熱汽溫預(yù)測(cè)模型。該模型的泛化能力較強(qiáng),預(yù)測(cè)誤差較小。文獻(xiàn)[7]建立了基于極端梯度提升(extreme gradient boosting,XGBoost)算法的過(guò)熱汽溫預(yù)測(cè)模型,并通過(guò)隨機(jī)搜索(randomized search,RS)優(yōu)化算法對(duì)模型的初始參數(shù)進(jìn)行調(diào)優(yōu),使得最終的預(yù)測(cè)模型擬合程度高、泛化能力強(qiáng)。文獻(xiàn)[8]構(gòu)建了基于粒子群優(yōu)化算法優(yōu)化的支持向量機(jī)過(guò)熱汽溫預(yù)測(cè)模型,并將其應(yīng)用于快速甩負(fù)荷工況下的過(guò)熱汽溫預(yù)測(cè);該模型精度較高,但是樣本數(shù)據(jù)較少。
本文以某600 MW超臨界火電機(jī)組為研究對(duì)象,基于機(jī)組變負(fù)荷運(yùn)行歷史數(shù)據(jù),利用 SAE(stacked autoencoder)對(duì)鍋爐過(guò)熱汽溫系統(tǒng)特性進(jìn)行建模;為了加快模型訓(xùn)練速度,引入 Adam算法對(duì)模型進(jìn)行梯度下降優(yōu)化,最終構(gòu)建較高精度的SAE過(guò)熱汽溫預(yù)測(cè)模型。
自編碼器(autoencoder,AE)是一種人工神經(jīng)網(wǎng)絡(luò),其通過(guò)最小化重構(gòu)誤差,以無(wú)監(jiān)督訓(xùn)練來(lái)提取原始數(shù)據(jù)的降維特征[9]。如圖1所示,AE由編碼器f(x)和解碼器g(h)構(gòu)成。
AE編碼器和解碼器的權(quán)重與偏置是依據(jù)最小化誤差函數(shù)而進(jìn)行優(yōu)化的[10],即:
式中:L ( x, g( h))為重構(gòu)誤差;ωe為編碼器的激活函數(shù);w1為編碼器權(quán)重;b1為編碼器偏置;dω、w2、b2分別為解碼器的激活函數(shù)、權(quán)重、偏置;K為數(shù)據(jù)的樣本個(gè)數(shù)。
SAE是由多個(gè)AE堆疊而成的深層網(wǎng)絡(luò)[11]。SAE網(wǎng)絡(luò)的訓(xùn)練是通過(guò)逐層貪婪算法實(shí)現(xiàn)的[12]。SAE訓(xùn)練過(guò)程如下:假設(shè)訓(xùn)練一個(gè)有n層隱藏層的SAE。首先,訓(xùn)練第一層的隱藏層。在訓(xùn)練完畢、網(wǎng)絡(luò)參數(shù)基本確定后,將其輸出作為第二層的輸入。在此基礎(chǔ)上,訓(xùn)練第二層,得到第二層的權(quán)重與偏置。依次訓(xùn)練,直到第n層隱藏層訓(xùn)練結(jié)束。然后,通過(guò)最小化誤差函數(shù)及反向傳播對(duì)SAE模型的權(quán)值對(duì)偏置進(jìn)行微調(diào)。最終,完成整個(gè)SAE網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練。
為了加快 SAE模型的訓(xùn)練速度,首先利用Mini-batch將訓(xùn)練數(shù)據(jù)分為128組,然后對(duì)每一個(gè)batch利用Adam算法進(jìn)行優(yōu)化。
Adam算法廣泛應(yīng)用于深度學(xué)習(xí)的優(yōu)化過(guò)程中,適用于較大規(guī)模數(shù)據(jù)集參數(shù)優(yōu)化的情況[13]。Adam算法的優(yōu)勢(shì)在于對(duì)每個(gè)模型參數(shù)都有相應(yīng)的學(xué)習(xí)速率和動(dòng)量,從而可以加快模型的收斂速度、減小波動(dòng),且按照其默認(rèn)的初始配置參數(shù)就可以達(dá)到較好的效果。
設(shè)模型訓(xùn)練第 t輪時(shí),模型權(quán)值和閾值的更新規(guī)則為[14]:
式中:1α、2α為超參數(shù),初始值一般為0.9、0.999;vdw、sdw分別為權(quán)重的累計(jì)梯度和累計(jì)平方梯度;vdb、sdb分別為偏置的累計(jì)梯度和累計(jì)平方梯度;dw、db 分別為權(quán)重梯度和偏置梯度;vd′w、sd′w分別為權(quán)重的累計(jì)梯度和累計(jì)平方梯度的偏差修正;vd′b、sd′b分別為偏置的累計(jì)梯度和累計(jì)平方梯度的偏差修正;wt、bt為更新的權(quán)重和偏置;η為學(xué)習(xí)率;ξ為一個(gè)超參數(shù),初始值一般設(shè)為10-8。
本文研究對(duì)象為某 600 MW 超臨界火電機(jī)組,型號(hào)為DG1900/25.4-Ⅱ1。建模與實(shí)驗(yàn)數(shù)據(jù)取自該機(jī)組的全工況仿真機(jī)系統(tǒng)。
將機(jī)組負(fù)荷從600 MW降低到420 MW,再升至600 MW,共獲取28 000組秒級(jí)數(shù)據(jù)。將20 000組數(shù)據(jù)用來(lái)訓(xùn)練SAE預(yù)測(cè)模型,其余8 000組數(shù)據(jù)作為測(cè)試集。
考慮模型訓(xùn)練時(shí)的預(yù)測(cè)精度和收斂加速,在將訓(xùn)練樣本和測(cè)試樣本輸入到SAE預(yù)測(cè)模型前,先進(jìn)行[0,1]歸一化處理[15]。
在 Pycharm仿真軟件上,選擇編程語(yǔ)言Python進(jìn)行編程,構(gòu)建SAE過(guò)熱汽溫預(yù)測(cè)模型。
過(guò)熱器噴水減溫系統(tǒng)采用二級(jí)噴水減溫控制結(jié)構(gòu),目的在于更精確地控制屏過(guò)出口汽溫與末過(guò)出口汽溫。
噴水減溫器布置圖如圖2所示:一、二級(jí)噴水減溫器都有 A、B側(cè)。每級(jí)噴水由兩側(cè)噴入,可各自控制減溫水量,以有效地減小屏過(guò)出口汽溫與末過(guò)出口汽溫偏差。
運(yùn)行過(guò)程中,水煤比會(huì)影響中間點(diǎn)溫度,從而影響后續(xù)各級(jí)汽溫;因此,模型輸入變量中考慮了總煤量、進(jìn)水冷壁的給水流量。
變負(fù)荷過(guò)程中,一、二級(jí)噴水量直接影響屏式過(guò)熱器出口汽溫和末級(jí)過(guò)熱汽溫。噴水量與各級(jí)噴水閥開(kāi)度、給水壓力、主汽壓力有關(guān)。給水溫度、總風(fēng)量變化也會(huì)對(duì)汽溫產(chǎn)生影響[16]。所以,最終確定一級(jí)過(guò)熱汽溫預(yù)測(cè)模型的輸入變量為總煤量、總風(fēng)量、高壓加熱器出口給水壓力、高壓加熱器出口給水溫度、主汽壓力、進(jìn)水冷壁給水流量、一級(jí)噴水閥開(kāi)度、低過(guò)出口汽溫;輸出變量為屏過(guò)出口汽溫。二級(jí)過(guò)熱汽溫預(yù)測(cè)模型的輸入變量為總煤量、總風(fēng)量、高壓加熱器出口給水壓力、高壓加熱器出口給水溫度、主汽壓力、進(jìn)水冷壁給水流量、二級(jí)噴水閥開(kāi)度、屏過(guò)出口汽溫;輸出變量為末過(guò)出口汽溫(以一、二級(jí)左側(cè)減溫器為例)。
考慮過(guò)熱蒸汽溫度具有慣性、遲延特性,因此選擇輸入、輸出帶有時(shí)延的SAE模型結(jié)構(gòu)。
保持其他條件一致,僅改變輸入輸出變量延遲階次,進(jìn)行相關(guān)實(shí)驗(yàn)。
以均方誤差(MSE),平均絕對(duì)誤差(MAE)來(lái)作為判定指標(biāo)。
在不同的輸入輸出延遲階數(shù)條件下,預(yù)測(cè)模型對(duì)應(yīng)測(cè)試集預(yù)測(cè)結(jié)果如表1所示。
表1 兩級(jí)過(guò)熱汽溫預(yù)測(cè)模型輸入輸出階次實(shí)驗(yàn)結(jié)果Tab. 1 The experimental results of inputs and outputs order of the two-stage SST prediction model
由表1可知,在兩級(jí)過(guò)熱器出口汽溫預(yù)測(cè)模型中輸入輸出延遲階次都為2時(shí),對(duì)應(yīng)模型精度最高;因此,選擇輸入輸出延遲階數(shù)都為2的模型結(jié)構(gòu)。
設(shè)當(dāng)前時(shí)刻為t。將預(yù)測(cè)模型輸入變量的t、(t-1)(t-2)這3個(gè)時(shí)刻的值和輸出變量的(t-1)(t-2)這2個(gè)時(shí)刻的值,一起作為模型的輸入;輸出為輸出變量 t時(shí)刻的值[17]——以此來(lái)構(gòu)建SAE模型,進(jìn)一步提高模型的精度。SAE模型一般結(jié)構(gòu)如圖3所示。
圖3 SAE模型一般結(jié)構(gòu)圖Fig. 3 SAE model general structure diagram
對(duì)于屏式過(guò)熱器、末級(jí)過(guò)熱器出口汽溫SAE預(yù)測(cè)模型,圖3中的m為8,n為1。由此可確定:屏式過(guò)熱器、末級(jí)過(guò)熱器出口汽溫SAE預(yù)測(cè)模型均有26個(gè)輸入,1個(gè)輸出。
比較隱藏層采用relu、swish、leaky_relu、elu這4種不同激活函數(shù)對(duì)模型預(yù)測(cè)精度的影響,結(jié)果如圖4所示。
圖4 不同激活函數(shù)對(duì)預(yù)測(cè)精度影響結(jié)果對(duì)比Fig. 4 Comparison of effects of different activation functions on prediction accuracy
為消除隱藏層層數(shù)及各隱藏層節(jié)點(diǎn)數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響,初始確定SAE預(yù)測(cè)模型的隱藏層層數(shù)為2層,第一層節(jié)點(diǎn)為30個(gè),第二層節(jié)點(diǎn)為27個(gè);模型其他訓(xùn)練參數(shù)均一致。采用不同激活函數(shù)的模型訓(xùn)練結(jié)果和測(cè)試結(jié)果如表2所示。
表2 不同激活函數(shù)測(cè)試結(jié)果Tab. 2 Different activation function test results
由表2可知,elu激活函數(shù)具有更優(yōu)異的表現(xiàn),模型預(yù)測(cè)精度更高,所以本文模型的激活函數(shù)采用elu函數(shù)。
考慮輸入輸出變量的維度、網(wǎng)絡(luò)的復(fù)雜程度等因素,經(jīng)多次實(shí)驗(yàn),確定2個(gè)SAE過(guò)熱汽溫預(yù)測(cè)模型的最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)為:26-30-26-1。
訓(xùn)練完成的屏過(guò)出口汽溫預(yù)測(cè)模型、末過(guò)出口汽溫預(yù)測(cè)模型針對(duì)訓(xùn)練集、測(cè)試集的計(jì)算和測(cè)試結(jié)果及誤差分別如圖5、圖6所示。
圖5 屏過(guò)出口汽溫預(yù)測(cè)模型訓(xùn)練和測(cè)試結(jié)果Fig. 5 Train and test results of the PSH outlet steam temperature prediction model
圖6 末過(guò)出口汽溫預(yù)測(cè)模型訓(xùn)練和測(cè)試結(jié)果Fig. 6 Train and test results of the FSH outlet steam temperature prediction model
由圖 5(a)(c)、圖 6(a)(c)可知,Adam優(yōu)化的SAE過(guò)熱汽溫預(yù)測(cè)模型不論在訓(xùn)練還是測(cè)試過(guò)程中,所對(duì)應(yīng)的預(yù)測(cè)精度都很高;由圖5(b)(d)、圖6(b)(d)可知,模型在訓(xùn)練或者預(yù)測(cè)的時(shí),絕對(duì)誤差都很小,比較穩(wěn)定。
以均方誤差MSE、平均絕對(duì)誤差MAE以及相關(guān)系數(shù)R2為判定效果優(yōu)劣的指標(biāo),比較Adam優(yōu)化的SAE預(yù)測(cè)模型與機(jī)器學(xué)習(xí)中具有預(yù)測(cè)高精度優(yōu)點(diǎn)的XGBoost預(yù)測(cè)模型的預(yù)測(cè)結(jié)果。
為消除初始參數(shù)對(duì)XGBoost模型的影響,選用隨機(jī)搜索算法來(lái)對(duì)此參數(shù)模型進(jìn)行優(yōu)化[5]。
不同方法訓(xùn)練效果對(duì)比結(jié)果如表3所示;測(cè)試效果對(duì)比結(jié)果如表4所示。
由表3、表4可知,與隨機(jī)搜索(randomized search, RS)算法優(yōu)化的XGBoost預(yù)測(cè)模型相比,Adam優(yōu)化的SAE過(guò)熱汽溫模型預(yù)測(cè)精度更高,泛化能力更強(qiáng)。
表3 過(guò)熱汽溫系統(tǒng)的訓(xùn)練集預(yù)測(cè)效果Tab. 3 The prediction result of the training set of the superheated vapor temperature system
表4 過(guò)熱汽溫系統(tǒng)的測(cè)試集預(yù)測(cè)效果Tab. 4 The prediction result of the test set of the superheated steam temperature system
針對(duì)600 MW超臨界火電機(jī)組過(guò)熱汽溫系統(tǒng)一、二級(jí)汽溫對(duì)象,建立了Adam優(yōu)化的SAE過(guò)熱汽溫預(yù)測(cè)模型:隱層采用了elu激活函數(shù)使得模型精度更高;為加快SAE預(yù)測(cè)模型的訓(xùn)練速度,采用Adam算法和Mini-batch對(duì)模型進(jìn)行了優(yōu)化。
將Adam優(yōu)化的SAE過(guò)熱汽溫預(yù)測(cè)模型與RS優(yōu)化的XGBoost過(guò)熱汽溫預(yù)測(cè)模型的預(yù)測(cè)效果進(jìn)行對(duì)比,結(jié)果表明:Adam優(yōu)化的SAE過(guò)熱汽溫預(yù)測(cè)模型有著更高的預(yù)測(cè)精度。