林康威,肖 紅,姜文超,楊建仁,熊廣思,黃冠儒
(1.廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州 510006;2.廣州云碩科技發(fā)展有限公司,廣州 511458)
近年來,隨著新能源產(chǎn)業(yè)迅速發(fā)展,我國能源結(jié)構(gòu)不斷發(fā)生調(diào)整,煤在能源消耗中所占的份額有所減少,但預(yù)計(jì)在未來很長(zhǎng)的一段時(shí)間內(nèi),燃煤發(fā)電產(chǎn)業(yè)仍占據(jù)著主導(dǎo)地位[1]。燃煤發(fā)電會(huì)產(chǎn)生污染有害氣體,其中含有SO2、NO、NO2等。因此,目前在火力發(fā)電廠實(shí)現(xiàn)控制NOX排放含量,常采用的成熟技術(shù)手段有SCR(選擇性催化還原法)和采用傳統(tǒng)的PID控制來實(shí)現(xiàn)噴氨以達(dá)到脫硝優(yōu)化的目的[2-4]。而實(shí)現(xiàn)精準(zhǔn)建立SCR脫硝過程參數(shù)與SCR脫硝出口NOX排放濃度之間的映射關(guān)系是優(yōu)化脫硝控制系統(tǒng)的關(guān)鍵基礎(chǔ)。隨著近年來人工智能算法技術(shù)的成熟,在現(xiàn)有的電站SCR脫硝系統(tǒng)出口NOX排放濃度的預(yù)測(cè)研究中,大多學(xué)者分別從機(jī)理建模與數(shù)據(jù)驅(qū)動(dòng)的方法進(jìn)行探究。其中,姚楚等[5]通過SCR脫硝系統(tǒng)的化學(xué)反應(yīng)機(jī)理建立SCR動(dòng)態(tài)預(yù)測(cè)模型,最終實(shí)驗(yàn)結(jié)果表明機(jī)理建模實(shí)現(xiàn)對(duì)脫硝系統(tǒng)的噴氨量控制效果優(yōu)于傳統(tǒng)的PID控制器的方法。但是,通過機(jī)理建模的方式,需要以研究對(duì)象為核心,根據(jù)化學(xué)反應(yīng)建立數(shù)學(xué)守恒關(guān)系式,而燃煤電廠脫硝過程是一個(gè)復(fù)雜、非線性和多變量耦合的系統(tǒng),導(dǎo)致機(jī)理建模很難精準(zhǔn)描述。而相對(duì)于機(jī)理建模的方法,通過數(shù)據(jù)驅(qū)動(dòng)建模的方式,不需要深入研究對(duì)象機(jī)理反應(yīng)過程,只需以數(shù)據(jù)為驅(qū)動(dòng),通過建立人工智能算法構(gòu)建預(yù)測(cè)模型。鉉佳歡等[6]利用BP神經(jīng)網(wǎng)模型應(yīng)用在SCR脫硝系統(tǒng)中,實(shí)現(xiàn)預(yù)測(cè)SCR脫硝出口NOX濃度,從而使噴氨量得到精準(zhǔn)控制,與傳統(tǒng)PID控制器方式相比,BP神經(jīng)網(wǎng)絡(luò)能夠很好對(duì)脫硝系統(tǒng)進(jìn)行有效地控制,但是其模型的泛化性有待提高。溫鑫等[7]通過構(gòu)建深度雙向LSTM神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)電站SCR脫硝系統(tǒng)的出口NOX排放預(yù)測(cè),實(shí)驗(yàn)結(jié)果顯示與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)模型相比較,誤差精度下降了約5%,但是雙向LSTM神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)復(fù)雜,且模型需要優(yōu)化的超參數(shù)較多。丁續(xù)達(dá)等[8]基于最小二乘支持向量機(jī)LSSVM模型,實(shí)現(xiàn)SCR脫硝系統(tǒng)在線NOX預(yù)測(cè),但是模型的預(yù)測(cè)精度和泛型性上還未能達(dá)到實(shí)際工業(yè)生產(chǎn)的需求。雖然上述的方法不依賴于過程的結(jié)構(gòu)與機(jī)理,適合非線性強(qiáng),過程復(fù)雜的預(yù)測(cè)對(duì)象,但針對(duì)火力發(fā)電站SCR系統(tǒng)中普遍存在著多參數(shù)耦合、調(diào)負(fù)荷、多工況等情形,單一模型的預(yù)測(cè)精度很難達(dá)到實(shí)際應(yīng)用于工業(yè)領(lǐng)域生產(chǎn)的需求。因此,針對(duì)電站脫硝系統(tǒng)在多參數(shù)、多變工況條件下NOX排放預(yù)測(cè)精度較低的問題,提出基于MiniBatchKMeans聚類與Stacking模型融合的SCR脫硝過程N(yùn)OX預(yù)測(cè)方法。首先對(duì)SCR脫硝系統(tǒng)的各運(yùn)行工況進(jìn)行聚類分析,然后在聚類劃分基礎(chǔ)上,在多工況樣本集以及在同工況樣本集上,利用Stacking-XRLL多模型融合預(yù)測(cè)模型對(duì)電站脫硝系統(tǒng)出口NOX濃度進(jìn)行預(yù)測(cè)。實(shí)驗(yàn)研究結(jié)果顯示,該模型在多工況下預(yù)測(cè)精度遠(yuǎn)優(yōu)于BP、LSTM、GRU神經(jīng)網(wǎng)絡(luò)模型,平均精度達(dá)到99%。
另外,實(shí)現(xiàn)脫硝系統(tǒng)出口氮氧化物超低排放是電站優(yōu)化控制的重要手段。由于燃煤電廠脫硝過程的NOX排放受機(jī)組負(fù)荷、噴氨質(zhì)量流量、SCR入口煙氣O2量、SCR入口煙氣溫度等運(yùn)行參數(shù)影響。因此,要實(shí)現(xiàn)SCR脫硝系統(tǒng)的NOX超低排放控制,首先需構(gòu)建SCR脫硝系統(tǒng)可控運(yùn)行參數(shù)與SCR出口NOX排放的映射關(guān)系模型[9-11],然后再建立含有約束條件的目標(biāo)優(yōu)化函數(shù),最后基于遺傳或粒子群優(yōu)化算法對(duì)目標(biāo)函數(shù)進(jìn)行尋優(yōu)[12-15],在滿足國家要求NOX排放濃度低于50 mg·m-3約束條件下,以獲取SCR脫硝過程各可控運(yùn)行參數(shù)的最優(yōu)值。但是,采用傳統(tǒng)遺傳和PSO優(yōu)化算法存在收斂性不足以及局部最優(yōu)解。符基高等[16]基于LSTM時(shí)間循環(huán)神經(jīng)模型結(jié)合深度強(qiáng)化學(xué)習(xí)A3C算法,實(shí)現(xiàn)燃煤電廠SCR脫硝效率的控制策略。但是LSTM神經(jīng)網(wǎng)絡(luò)模型與A3C深度強(qiáng)化學(xué)習(xí)算法相結(jié)合之后,存在模型訓(xùn)練速度慢,且優(yōu)化得到的是局部最優(yōu)解,并且評(píng)價(jià)策略通常不是非常高效,并且有很高的偏差。因此,在同時(shí)兼顧考慮煙氣NOX超低排放與脫硝效率之間的關(guān)系,基于MiniBatchKMeans聚類與Stacking模型融合的SCR脫硝過程建模方法,并利用深度確定性策略梯度DDPG算法對(duì)參數(shù)尋優(yōu),為實(shí)現(xiàn)現(xiàn)場(chǎng)實(shí)時(shí)優(yōu)化控制奠定重要的理論基礎(chǔ)。
1.1.1 MiniBatchKMeans聚類算法
MiniBatchKMeans算法是K-Means算法的變種,采用隨機(jī)產(chǎn)生的小批量數(shù)據(jù)子集進(jìn)行聚類,大大減少了計(jì)算時(shí)間,因此當(dāng)運(yùn)用在大數(shù)據(jù)集樣本上時(shí),MiniBatchKMeans能夠保持聚類準(zhǔn)確性并可以大幅度降低計(jì)算時(shí)間。
MiniBatchKMeans算法流程偽代碼如下:
function MiniBatchKMeans(輸入數(shù)據(jù),中心點(diǎn)個(gè)數(shù)K){
獲取輸入數(shù)據(jù)的維度D和個(gè)數(shù)N;
隨機(jī)生成K個(gè)D維的初始質(zhì)心;
while(算法未收斂){
從原始集隨機(jī)抽取N個(gè)樣本構(gòu)建小批量樣本集;
對(duì)N個(gè)點(diǎn):計(jì)算每個(gè)點(diǎn)屬于哪一類;
對(duì)于K個(gè)數(shù)據(jù)中心點(diǎn):
(1)找出所有屬于自己這一類的所有數(shù)據(jù)點(diǎn);
(2)將自己的坐標(biāo)值修改為這些數(shù)據(jù)點(diǎn)的中心點(diǎn)坐標(biāo);
}
輸出結(jié)果;
}
兩個(gè)樣本點(diǎn)a=(a1,a2,a3,…,an)和b=(b1,b2,b3,…,bn)之間距離計(jì)算如式(1)所示:
(1)
第i個(gè)類中心計(jì)算公式如式(2):
(2)
其中:ciq表示第i個(gè)類的類中心,Ni表示第i個(gè)類中的元素個(gè)數(shù),Ci表示第i個(gè)類。
加入批量大小為batch的小批量樣本集X={X1,X2,X3,…,Xbatch}后的類中心為ciq,計(jì)算方式如式(3):
(3)
另外,使用誤差的平方和作為度量聚類質(zhì)量的目標(biāo)函數(shù)func,定義如式(4):
(4)
1.1.2 XGBoost算法
極端梯度提升(XGBoost, extreme gradient boosting)是Tianqi Chen在2016年提出的基于Boosting Tree模型的分布式學(xué)習(xí)框架,該模型的基礎(chǔ)學(xué)習(xí)器為決策樹。與傳統(tǒng)的Boosting樹模型不同的是,傳統(tǒng)樹模型只使用一階導(dǎo)數(shù)信息,當(dāng)訓(xùn)練n棵樹時(shí),由于使用前n-1棵樹的殘差,因此很難實(shí)現(xiàn)分布式訓(xùn)練,而XGBoost對(duì)損失函數(shù)進(jìn)行了二階泰勒展開,它可以自動(dòng)使用CPU的多線程進(jìn)行分布式計(jì)算。另外,在目標(biāo)函數(shù)中引入正則項(xiàng),以避免模型過擬合,提高泛化性。假設(shè)有一個(gè)數(shù)據(jù)集D,D={(xi,yi):i=1…n,xi∈Rm,yi∈R},則可以得到n個(gè)觀測(cè)值,每個(gè)觀測(cè)值有m個(gè)特征以及相應(yīng)的變量y。因此,廣義模型定義如下:
(5)
在式(5)中,fk表示的是一個(gè)回歸樹,fk(xi)表示第k棵樹對(duì)數(shù)據(jù)中的第i個(gè)觀察值給出的分?jǐn)?shù)。為實(shí)現(xiàn)目標(biāo)函數(shù)fk,應(yīng)最小化以下正則項(xiàng)目標(biāo)函數(shù)。
(6)
其中:l是損失函數(shù),為防止模型過擬合,懲罰項(xiàng)中Ω應(yīng)包括以下項(xiàng):
(7)
其中:γ和λ分別表示葉子數(shù)量T和葉子權(quán)重w的懲罰參數(shù)。Ω(fk)目的是為了防止模型過擬合而簡(jiǎn)化該算法生成的模型。
為使目標(biāo)函數(shù)最小化,采用迭代法。在第j次迭代中添加fk,以最小化以下目標(biāo)函數(shù):
(8)
使用泰勒展開式來簡(jiǎn)化上述函數(shù),并推導(dǎo)出從給定節(jié)點(diǎn)分割樹后的損失函數(shù):
(9)
其中:I是當(dāng)前節(jié)點(diǎn)中可用觀測(cè)值的子集,IL,IR是分割后左右節(jié)點(diǎn)中可用觀測(cè)值的子集。函數(shù)gi和hi的定義如下:
(10)
(11)
1.1.3 Light GBM算法
Light GBM算法是基于GBDT(gradient boosting decision tree,梯度提升決策樹)模型提出的[17]。雖然GBDT在很多機(jī)器學(xué)習(xí)任務(wù)上都取得了較好的學(xué)習(xí)效果,但近年來隨著數(shù)據(jù)量的增長(zhǎng),傳統(tǒng)的GBDT算法在構(gòu)建決策樹時(shí)需要找到最優(yōu)的分割點(diǎn),一般的方法是對(duì)特征值進(jìn)行排序,然后枚舉所有可能的特征點(diǎn)。但是此種方法不僅在時(shí)間性能上表現(xiàn)較差,而且需要很大的內(nèi)存。因此,GBDT算法面臨著精度和效率性能的問題急需解決。
Light GBM算法使用了改進(jìn)的直方圖算法,它將連續(xù)的特征值劃分為k個(gè)區(qū)間,在k個(gè)值中選擇劃分點(diǎn)。因此,Light GBM算法在訓(xùn)練速率和內(nèi)存占用率上都優(yōu)于傳統(tǒng)的GBDT樹模型。同時(shí),決策樹是一個(gè)弱分類器,使用直方圖算法會(huì)有正則化效果,可以有效防止過擬合。在減少更多誤差方面,Light GBM算法采用leaf-wise生成策略。另外,在減少特征數(shù)量方面,傳統(tǒng)采用的方法是PCA,PCA一般用于特征冗余的情況下,因此有一定的局限性。Light GBM算法使用的EFB算法將高維數(shù)據(jù)的特征放在一個(gè)稀疏的特征空間中,以避免計(jì)算冗余特征,并根據(jù)算法構(gòu)造直方圖,可以加快計(jì)算的速度。綜合所述,Light GBM算法在不降低預(yù)測(cè)準(zhǔn)確率的同時(shí),加快預(yù)測(cè)速度,并降低內(nèi)存占用。
1.1.4 線性回歸算法
線性回歸分析是機(jī)器學(xué)習(xí)中的一種統(tǒng)計(jì)方法,可分為簡(jiǎn)單線性回歸和多元線性回歸,用于估計(jì)一個(gè)或多個(gè)輸入變量和輸出變量之間的關(guān)系。線性回歸用直線模擬輸入變量x和輸出變量y之間的關(guān)系。
一次方程定義如式(12):
y=β0+β1x
(12)
其中:參數(shù)β0和β1是回歸系數(shù)。而模型的擬合度衡量標(biāo)準(zhǔn),即它對(duì)輸出變量y的在n個(gè)數(shù)據(jù)點(diǎn)上εi的誤差大小。
(13)
為評(píng)估回歸模型的回歸預(yù)測(cè)精度與真實(shí)值之間的誤差,回歸模型常用最小二乘法(LSM, the least square method,)估計(jì)進(jìn)行擬合,找到誤差平方和最小時(shí)的最佳擬合曲線或直線,即最小化。
(14)
(15)
(16)
對(duì)上述兩個(gè)方程進(jìn)行化簡(jiǎn),可以得到:
(17)
(18)
Stacking是一種分層模型集成框架,在基于Stacking的集成學(xué)習(xí)模式下,通過融合多個(gè)機(jī)器學(xué)習(xí)算法的方式來提高整體模型的預(yù)測(cè)精度[18]。因此,在綜合考慮Stacking模型融合算法的預(yù)測(cè)精度與訓(xùn)練性能,將Stacking模型融合框架劃分為兩層:第一層選擇預(yù)測(cè)精度較高的XGBoost、RandomForest算法以及性能優(yōu)異且時(shí)間復(fù)雜度較低的LightGBM算法模型作為基學(xué)習(xí)器;第二層,采用泛化性能力較強(qiáng)和穩(wěn)健性較好的線性回歸算法作為元學(xué)習(xí)器,如圖1所示。
圖1 Stacking模型融合架構(gòu)圖
針對(duì)電站鍋爐脫硝系統(tǒng)在多變的工況環(huán)境條件下往往呈現(xiàn)出復(fù)雜的、大幅度滯后等特性,而單一模型在一定程度上很難準(zhǔn)確地描述具有復(fù)雜的、非線性的火力發(fā)廠電站鍋爐脫硝系統(tǒng)NOX排放問題,導(dǎo)致模型預(yù)測(cè)精度不高。因此,為了提高電站鍋爐脫硝系統(tǒng)在多變的工況條件下NOX排放預(yù)測(cè)的精度,提出了一種基于MiniBatchKMeans聚類與Stacking多模型融合框架的電站脫硝過程建模方法,如圖2所示,其建模步驟如下:1)將從DCS采集的數(shù)據(jù)集進(jìn)行預(yù)處理,其中包括剔除異常值樣本和篩選穩(wěn)態(tài)工況,并按照一定比例(4:1)來劃分訓(xùn)練集與測(cè)試集;2)利用MiniBatchKMeans算法對(duì)訓(xùn)練集參數(shù)進(jìn)行工況聚類和劃分,保存最優(yōu)的輪廓系數(shù)和聚類中心,得到Ci個(gè)聚類樣本;3)對(duì)這些聚類樣本,利用如圖1所示的融合方法,采用XGBoost、RandomForest、LightGBM機(jī)器學(xué)習(xí)算法作為Stacking模型融合框架的第一層(基學(xué)習(xí)器),以線性回歸作為第二層(元學(xué)習(xí)器),構(gòu)建嵌入多個(gè)機(jī)器學(xué)習(xí)模型的Stacking模型融合框架預(yù)測(cè)算法,用于處理多工況下NOX的預(yù)測(cè)問題。
圖2 基于MiniBatchKMeans與Stacking多模型融合框架的建模流程圖
2.1.1 基于Actor-Critic的深度策略梯度方法
Actor-Critic是由Actor和Critic兩個(gè)神經(jīng)網(wǎng)絡(luò)構(gòu)成。Actor負(fù)責(zé)針對(duì)Critic網(wǎng)絡(luò)評(píng)價(jià)來糾正動(dòng)作的偏向。Critic負(fù)責(zé)對(duì)Actor生成的動(dòng)作進(jìn)行評(píng)分。它們整個(gè)網(wǎng)絡(luò)的工作流程大致如下:1)首先Actor依據(jù)當(dāng)前的環(huán)境生成action;2)環(huán)境依據(jù)Action給與相應(yīng)的回報(bào)r;3)Critic會(huì)對(duì)action進(jìn)行評(píng)價(jià);4)Actor會(huì)依據(jù)Critic的評(píng)價(jià)來調(diào)整策略,輸出新的action;5)Critic會(huì)依據(jù)回報(bào)r來糾正評(píng)價(jià)規(guī)則。不斷循環(huán)(1)~(5),直至所有的網(wǎng)絡(luò)收斂或達(dá)到設(shè)定訓(xùn)練周期的閾值。
在Actor-Critic網(wǎng)絡(luò)中,通常情況下,Critic是一個(gè)狀態(tài)值函數(shù),在每次動(dòng)作選擇之后,Critic會(huì)評(píng)估新的狀態(tài)以確定事件是否比預(yù)期的好還是壞,這個(gè)評(píng)價(jià)就是時(shí)間差分法(temporal difference,TD),數(shù)學(xué)表達(dá)式如式(19)所示:
V(st)←V(st)+α[rt+1+γV(st+1)-V(st)]
(19)
其中:V是有評(píng)判者(Critic)實(shí)現(xiàn)的值函數(shù)。TD誤差用來評(píng)估所選擇動(dòng)作,即在某狀態(tài)下所采取的行動(dòng)。如果TD誤差是正的,表示未來應(yīng)加強(qiáng)選擇的傾向,而如果TD是負(fù)的,表明未來應(yīng)減弱這種傾向。這種假設(shè)動(dòng)作是由Gibbs Softmax方法產(chǎn)生的,如式(20)所示:
(20)
式中,p(s,a)是行為者(Actor)在時(shí)間t的可修改策略參數(shù),表示在每個(gè)狀態(tài)s時(shí)選擇每個(gè)動(dòng)作a的傾向。對(duì)上述的加強(qiáng)與減弱可通過調(diào)整p(s,a)來實(shí)現(xiàn),如式(21)所示:
p(st,at)←p(st,at)+βδt
(21)
式中,β是一個(gè)正的步長(zhǎng)參數(shù),這是一個(gè)獎(jiǎng)賞懲罰方法。無論TD誤差δ是正還是負(fù),都會(huì)對(duì)策略進(jìn)行更改。當(dāng)δ為正時(shí),增加動(dòng)作的概率,δ為負(fù)時(shí),減少動(dòng)作的概率。
2.1.2 基于DDPG深度確定策略梯度方法
DDPG算法一種強(qiáng)化學(xué)習(xí)框架,基于策略梯度與DQN算法,DDPG能夠解決Actor-Critic在連續(xù)動(dòng)作空間的問題。例如在Gym和TORCS領(lǐng)域中,DDPG可以直接使用原始狀態(tài)來學(xué)習(xí),并且在Atari領(lǐng)域比DQN使用更少的經(jīng)驗(yàn)學(xué)習(xí)步驟[19]。
DDPG的核心是使用一種隨機(jī)的方法來探索好的行為,但估計(jì)一個(gè)確定性的行為策略(如式(22)所示)。只需在狀態(tài)空間上進(jìn)行整合,使得學(xué)習(xí)策略變得更加容易,但它也有可能無法探索完整狀態(tài)和動(dòng)作空間的局限性,為克服這個(gè)局限性,在隨機(jī)探索的加入一個(gè)噪聲Nt。
at=μ(st|θμ)
(22)
at=μ(st|θμ)+Nt
(23)
DDPG中的Actor和Critic是由神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)的。Actor網(wǎng)絡(luò)根據(jù)確定性策略梯度規(guī)則進(jìn)行更新,而Critic網(wǎng)絡(luò)則根據(jù)TD誤差中獲得梯度進(jìn)行更新,如式(24)所示:
θμμ≈Εμ[αQ(s,a|θQ)|s=st,a=μ(st)θμμ(s|θμ)|s=st]
(24)
式中,為得到期望值,需要Critic網(wǎng)絡(luò)在行動(dòng)方面的梯度(w,r,t)以及Actor網(wǎng)絡(luò)(w,r,t)和其它參數(shù)。DDPG網(wǎng)絡(luò)參數(shù)的更新規(guī)則,采用小批量(mini-batch)數(shù)據(jù)樣本,通過最小化式(25)中的損失來更新Critic網(wǎng)絡(luò),Actor網(wǎng)絡(luò)使用采樣策略梯度更新,如式(26)所示:
(25)
其中:yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)。
(26)
而目標(biāo)Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)的參數(shù)更新如式(27)和(28)所示:
θQ′←τθQ+(1-τ)θQ′
(27)
θμ′←τθμ+(1-τ)θμ′
(28)
其中:τ是更新參數(shù),將其設(shè)置為τQ1。
構(gòu)建基于DDPG算法的SCR脫硝效率深度強(qiáng)化學(xué)習(xí)模型的整體框架如圖3所示。在網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)中,Actor網(wǎng)絡(luò)(主網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò))和Critic網(wǎng)絡(luò)(主網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò))都包含兩個(gè)隱藏層網(wǎng)絡(luò),每層神經(jīng)元個(gè)數(shù)分別設(shè)置為256和128。Actor網(wǎng)絡(luò)最后一層的激活函數(shù)為tanh函數(shù),使得每一層的動(dòng)作輸出控制在[-1,1]之間,最終依據(jù)脫硝效率狀態(tài)值限定范圍得到脫硝系統(tǒng)各運(yùn)行參數(shù)可控值。Critic網(wǎng)絡(luò)對(duì)Actor網(wǎng)絡(luò)得到的脫硝系統(tǒng)可控參數(shù)進(jìn)行評(píng)估,采用relu激活函數(shù)。經(jīng)過反復(fù)實(shí)驗(yàn)調(diào)試,DDPG模型的學(xué)習(xí)訓(xùn)練周期設(shè)置為500,Actor網(wǎng)絡(luò)學(xué)習(xí)率設(shè)置為0.001,Critic網(wǎng)絡(luò)學(xué)習(xí)率設(shè)置為0.002。
圖3 基于深度強(qiáng)化學(xué)習(xí)DDPG模型的脫硝過程優(yōu)化控制架構(gòu)
DDPG算法模型選取機(jī)組負(fù)荷、噴氨質(zhì)量流量、SCR入口煙氣O2量、SCR入口煙氣溫度、SCR入口NOX質(zhì)量濃度5個(gè)變量作為action動(dòng)作值,脫硝效率(計(jì)算方式如式(29)所示)作為state狀態(tài)值,且各參數(shù)變量取值范圍設(shè)置如表1所示。
表1 電站鍋爐各參數(shù)運(yùn)行范圍
(29)
式(29)中,η為脫硝效率,Inox_in為SCR入口NOX質(zhì)量濃度,Inox_out為SCR出口NOX質(zhì)量濃度。在SCR脫硝系統(tǒng)中,加大噴氨量,可以提高脫硝效率,但是過多的噴氨,另外會(huì)造成脫硝成本的提高。而噴氨量是衡量脫硝成本的重要指標(biāo),脫硝成本計(jì)算結(jié)果等于單位機(jī)組負(fù)荷下的噴氨量乘以相應(yīng)單價(jià)。通常情況下,一般每臺(tái)鍋爐配備兩臺(tái)脫硝設(shè)備,因此脫硝成本計(jì)算公式如式(30)所示:
(30)
式(30)中,T為總成本,PNH3為噴氨量的單價(jià)(按市場(chǎng)價(jià)約3 500元/t),MNH3為總噴氨量,L為機(jī)組負(fù)荷。
因此,在設(shè)置模型的獎(jiǎng)勵(lì)函數(shù)時(shí),應(yīng)兼顧噴氨量與脫硝效率之間的平衡關(guān)系。根據(jù)專家經(jīng)驗(yàn),當(dāng)脫硝效率(η)處在85%~95%的合理范圍區(qū)間,并同時(shí)滿足總脫硝成本T是最小化時(shí),應(yīng)當(dāng)給與獎(jiǎng)勵(lì)(reward=10)。其余情況下,都認(rèn)為是不合理的,應(yīng)當(dāng)給與懲罰(reward=-20)。
DDPG模型的偽代碼流程如下:
隨機(jī)初始化Critic Q(s,a|θμ)和Actorμ(s|θμ)主網(wǎng)絡(luò)參數(shù),初始權(quán)重為υQ和θμ;
初始化目標(biāo)網(wǎng)絡(luò)Q′和μ′,初始權(quán)重為θQ′←θQ,θμ′←θμ;
初始化記憶庫緩沖區(qū)大小為b;
for episode =1,...,M do
接收一個(gè)狀態(tài)值st;
for t =1,...,T do
基于ε貪婪算法選擇一個(gè)動(dòng)作值at:以概率ε選擇隨機(jī)選擇一個(gè)動(dòng)作,否則以at=μ(st|θμ)的當(dāng)前策略進(jìn)行選擇;
執(zhí)行動(dòng)作at,輸入到Stacking-XRLL模型中,預(yù)測(cè)SCR出口NOx濃度,然后計(jì)算的脫硝效率η,最后再根據(jù)設(shè)定獎(jiǎng)勵(lì)規(guī)則,生成回報(bào)rt和新的狀態(tài)值st+1;
將t時(shí)刻樣本數(shù)據(jù)(st,at,rt,st+1)存儲(chǔ)到記憶庫b中;
當(dāng)記憶庫的數(shù)據(jù)存滿,隨機(jī)采樣N個(gè)轉(zhuǎn)換數(shù)據(jù)(si,ai,ri,si+1),作為Actor、Critic目標(biāo)網(wǎng)絡(luò)的一個(gè)單位輸入組數(shù)據(jù)集進(jìn)行訓(xùn)練;
設(shè)置yi=rj+γQ′(sj+1,μ′(sj+1|θμ′)|θQ′);
使用策略梯度更新Actor網(wǎng)絡(luò)參數(shù):
最后更新目標(biāo)網(wǎng)絡(luò)參數(shù):
QQ′←νθQ+(1-ν)θQ′
θμ′←νθμ+(1-ν)θμ′);
end for
end for
根據(jù)上述的DDPG算法偽代碼流程,迭代訓(xùn)練500個(gè)周期,即過程通過不斷調(diào)整評(píng)判者網(wǎng)絡(luò)參數(shù)以修正行為網(wǎng)絡(luò)的參數(shù),直至Actor網(wǎng)絡(luò)和Critic網(wǎng)絡(luò)趨于穩(wěn)定,進(jìn)而優(yōu)化燃煤電廠電站鍋爐脫硝過程可控運(yùn)行參數(shù),使得基于Stacking-XRLL的多模型建模的SCR脫硝過程氮氧化物預(yù)測(cè)模型輸出滿足SCR脫硝出口NOX排放濃度(低于50 mg·m-3)、脫硝效率處于合理范圍區(qū)間內(nèi)(85%≤脫硝效率≤95%)以及總脫硝成本T最小化時(shí),最終可以獲得滿足條件的最優(yōu)可控動(dòng)作參數(shù)集。
本文進(jìn)行實(shí)驗(yàn)所需的硬件設(shè)備(計(jì)算機(jī))配置如下:中央處理器:Intel(R)Core(TM)i7-9750H CPU @2.60 GHz 2.59 GHz;計(jì)算機(jī)內(nèi)存:16 GB RAM;操作系統(tǒng):Windows10-64位;圖形處理器:NVIDIA GeForce GTX1660Ti 6 GB。
本文進(jìn)行實(shí)驗(yàn)所需的軟件平臺(tái)包括:運(yùn)用Python編程語言;編程環(huán)境:Python v3.7、Python IDEA:Pycharm v2020.1;Scikit-learn庫:v0.22.1;numpy:1.19.4;pandas:1.1.4;matplotlib:3.3.2。
在進(jìn)行實(shí)驗(yàn)時(shí)所需數(shù)據(jù)集是以廣東某電廠1 000 MW電站SCR脫硝系統(tǒng)為研究對(duì)象,根據(jù)SCR系統(tǒng)運(yùn)行狀況和專家經(jīng)驗(yàn)分析,從DCS信息數(shù)據(jù)采集系統(tǒng)中選取機(jī)組負(fù)荷、噴氨質(zhì)量流量、SCR入口煙氣O2量、SCR入口煙氣溫度、SCR入口NOX質(zhì)量濃度、SCR出口NOX質(zhì)量濃度等一共6個(gè)特征,數(shù)據(jù)如表1所示。其中可控變量:噴氨質(zhì)量流量。狀態(tài)變量:機(jī)組負(fù)荷、SCR入口煙氣O2量、SCR入口煙氣溫度和SCR入口NOX質(zhì)量濃度。輸出變量:SCR出口NOX質(zhì)量濃度。選取2018年4月1日-2018年4月30日時(shí)段內(nèi)SCR脫硝系統(tǒng)機(jī)組穩(wěn)態(tài)運(yùn)行狀態(tài)數(shù)據(jù),每間隔為60 s采集一次數(shù)據(jù),最終取10 000條樣本作為模型的數(shù)據(jù)集。對(duì)從DCS系統(tǒng)采集到的樣本數(shù)據(jù)集進(jìn)行數(shù)據(jù)預(yù)處理,其中包括剔除異常值樣本和篩選穩(wěn)態(tài)工況。穩(wěn)態(tài)工況可以利用滑動(dòng)窗口法進(jìn)行判斷,如式(31)所示[20]:
(31)
在式(31)中,其中n=35為窗口寬度,xj為歸一化后的特征變量參數(shù),可以選擇機(jī)組負(fù)荷,σc=0.65為穩(wěn)態(tài)工況的閾值。
從DCS系統(tǒng)采集10 000條穩(wěn)態(tài)工況數(shù)據(jù)樣本,按照4:1的比例劃分訓(xùn)練集與測(cè)試集,同時(shí)保證訓(xùn)練集和測(cè)試集涵蓋SCR系統(tǒng)各運(yùn)行工況。經(jīng)過與電廠專家交流分析后,將從DCS系統(tǒng)采集的6個(gè)特征變量作為模型的輸入變量,SCR出口氮氧化物濃度作為模型的輸出變量。設(shè)定初始聚類簇?cái)?shù)值在[2,11]范圍內(nèi),分別計(jì)算相應(yīng)值下的輪廓系數(shù),當(dāng)聚類簇個(gè)數(shù)Cf=7時(shí),總的輪廓系數(shù)最大,此時(shí)聚類效果最好,最終將訓(xùn)練集按機(jī)組負(fù)荷聚類為7個(gè)子簇。經(jīng)過MiniBatchKMeans聚類所得工況聚類劃分結(jié)果如表2所示。
表2 工況聚類劃分結(jié)果
對(duì)7個(gè)子集分別利用基于Stacking-XRLL多模型融合算法進(jìn)行建模,將獲得的10 000條樣本數(shù)據(jù),8 000條作為訓(xùn)練集,2 000條作為測(cè)試集。最后利用所建立的模型在測(cè)試集上進(jìn)行預(yù)測(cè),得到SCR脫硝出口NOX排放濃度預(yù)測(cè)結(jié)果如圖4所示。采用模型評(píng)估指標(biāo):平均絕對(duì)誤差(MAE)、均方誤差(MSE)和決定系數(shù)R2對(duì)模型進(jìn)行評(píng)價(jià)如表3所示。
表3 不同工況模型預(yù)測(cè)結(jié)果性能對(duì)比
由圖4與表3可知,對(duì)SCR系統(tǒng)的運(yùn)行工況進(jìn)行聚類劃分之后,在每一個(gè)子集工況下分別利用基于Stacking-XRLL模型進(jìn)行預(yù)測(cè),實(shí)驗(yàn)結(jié)果表明,未進(jìn)行工況劃分之前,模型預(yù)測(cè)精度MSE(均方誤差)=16.890 3、MAE(平均絕對(duì)誤差)=1.740 4和R2(決定系數(shù))=0.997 4。而鍋爐運(yùn)行工況進(jìn)行聚類劃分之后,在各個(gè)工況下進(jìn)行預(yù)測(cè),每一類工況下預(yù)測(cè)的精度都得到了提升,其中每個(gè)工況下總的均方誤差MSE=0.642 0、平均絕對(duì)誤差MAE=0.193 3和R2=0.999 4。
圖4 不同工況下模型的預(yù)測(cè)結(jié)果
為了充分驗(yàn)證本文所提出的基于Stacking-XRLL多模型融合算法的有效性,從7個(gè)工況中隨機(jī)選取工況2下的數(shù)據(jù)集,將其分別與單模型最優(yōu)模型參數(shù)條件下的BP神經(jīng)網(wǎng)絡(luò)、LSTM神經(jīng)網(wǎng)絡(luò)模型、GRU神經(jīng)網(wǎng)絡(luò)模型進(jìn)行對(duì)比實(shí)驗(yàn),如圖5所示。其中,BP神經(jīng)網(wǎng)絡(luò)為3層網(wǎng)絡(luò)架構(gòu),第一層有256個(gè)神經(jīng)元,relu為激活函數(shù),dropout率為0.2;第二層有128個(gè)神經(jīng)元,relu為激活函數(shù),dropout率為0.3;第三層為全連接層。LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)總共建立四層LSTM層,神經(jīng)元個(gè)數(shù)分別為128、128、64和32,dropout率為0.3,tanh為激活函數(shù),最后一層為全連層。GRU神經(jīng)網(wǎng)絡(luò)總共建立5層GRU層,神經(jīng)元個(gè)數(shù)分別為128、64、256、256和128,dropout率為0.3,tanh為激活函數(shù),最后一層為全連接層。
由圖5與表4可知:在同一工況條件下,單模型BP神經(jīng)網(wǎng)絡(luò)要優(yōu)于單模型GRU神經(jīng)網(wǎng)絡(luò),而單模型GRU神經(jīng)網(wǎng)絡(luò)要優(yōu)于單模型LSTM神經(jīng)網(wǎng)絡(luò),但是基于Stacking-XRLL多模型融合算法,無論是精度上還是泛化性能上都優(yōu)于BP神經(jīng)網(wǎng)絡(luò)、GRU神經(jīng)網(wǎng)絡(luò)、LSTM神經(jīng)網(wǎng)絡(luò),其中MSE=0.110、MAE=0.030和R2=0.999。因此,實(shí)驗(yàn)結(jié)果表明:Stacking-XRLL多模型融合算法,能夠有效且精準(zhǔn)地預(yù)測(cè)電站SCR系統(tǒng)脫硝出口NOX濃度。
表4 同工況下不同算法之間的預(yù)測(cè)結(jié)果性能對(duì)比
圖5 同工況下不同算法之間預(yù)測(cè)結(jié)果對(duì)比
由4.3小節(jié)的實(shí)驗(yàn)結(jié)果,得出Stacking-XRLL模型預(yù)測(cè)的精度最優(yōu)。因此,將Stacking-XRLL預(yù)測(cè)模型作為深度強(qiáng)化學(xué)習(xí)DDPG模型中的環(huán)境(ENV,Environment),以工況1作為實(shí)驗(yàn)的數(shù)據(jù)集,經(jīng)過反復(fù)實(shí)驗(yàn)調(diào)試,最終確定強(qiáng)化學(xué)習(xí)周期設(shè)置在500,每個(gè)周期100回合時(shí),實(shí)驗(yàn)的收斂效果最明顯,每回合取一個(gè)預(yù)測(cè)結(jié)果。當(dāng)模型迭代訓(xùn)練穩(wěn)定時(shí),得到實(shí)驗(yàn)結(jié)果如圖6中(a)~(d)所示。
圖6 硝過程參數(shù)優(yōu)化控制結(jié)果圖
從圖6(a)~(d)實(shí)驗(yàn)結(jié)果可以看出,DDPG深度學(xué)習(xí)優(yōu)化控制模型的總獎(jiǎng)勵(lì)值在200回合后趨于穩(wěn)定。即當(dāng)DDPG深度學(xué)習(xí)模型穩(wěn)定時(shí),模型的總獎(jiǎng)勵(lì)值由一開始懲罰到獎(jiǎng)勵(lì),不斷迭代訓(xùn)練,最終趨于最優(yōu)值穩(wěn)定。此時(shí),脫硝效率值穩(wěn)定在86%左右,處在合理范圍區(qū)間之內(nèi),且可控參數(shù)噴氨質(zhì)量流量穩(wěn)定在35.657 kg/h,且經(jīng)過優(yōu)化之后,脫硝成本總價(jià)格降低了27.56%。
脫硝效率作為衡量SCR脫硝系統(tǒng)主要指標(biāo),對(duì)脫硝系統(tǒng)乃至整個(gè)發(fā)電機(jī)組都有著重大影響。實(shí)現(xiàn)準(zhǔn)確預(yù)測(cè)脫硝效率,能夠?qū)C(jī)組的穩(wěn)定運(yùn)行和優(yōu)化控制起到推動(dòng)作用。將機(jī)組負(fù)荷、SCR入口煙氣溫度、SCR入口煙氣O2量、SCR入口NOX質(zhì)量濃度和噴氨質(zhì)量流量等參數(shù)作為輸入,基于Stacking-XRLL模型融合算法,構(gòu)建深度確定性策略梯度網(wǎng)絡(luò)優(yōu)化控制模型,實(shí)現(xiàn)對(duì)可調(diào)運(yùn)行參數(shù)的優(yōu)化,得到不同工況下的最優(yōu)操作參數(shù)值?;谀? 000 MW燃煤電廠機(jī)組實(shí)際運(yùn)行數(shù)據(jù)進(jìn)行仿真,結(jié)果表明通過優(yōu)化后機(jī)組的脫硝效率穩(wěn)定在86%左右,同時(shí)能滿足脫硝出口NOX排放濃度要求以及總脫硝成本相比未優(yōu)化之前降低了27.56%。