馮 浩
(華北電力大學(xué) 控制科學(xué)與工程學(xué)院,河北 保定 071003)
相比復(fù)雜的機(jī)理建模,利用電廠采集到的大量歷史數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)來(lái)模擬實(shí)際系統(tǒng)是一種簡(jiǎn)單有效的方法。由于BP 神經(jīng)網(wǎng)絡(luò)較易陷入局部極小,使得辨識(shí)后的模型精度不是很高,而小波神經(jīng)網(wǎng)絡(luò)兼具小波分析優(yōu)良的時(shí)頻特性和神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)能力[1],擁有良好的性能,但必須要有較好的算法對(duì)網(wǎng)絡(luò)權(quán)值系數(shù)進(jìn)行優(yōu)化。本文采用一種簡(jiǎn)單耦合策略的粒子群混合算法,即在標(biāo)準(zhǔn)粒子群的基礎(chǔ)上利用梯度法優(yōu)化初始種群,在學(xué)習(xí)策略中加入生物免疫機(jī)制,加強(qiáng)全局探索能力。此外,在迭代后期再次利用梯度法強(qiáng)化局部開(kāi)發(fā)能力[2]。仿真結(jié)果表明網(wǎng)絡(luò)性能得到提升,并對(duì)二次再熱汽溫系統(tǒng)進(jìn)行建模。
圖1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Neural network structure
本文采用的三層小波神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
設(shè)輸入層節(jié)點(diǎn)個(gè)數(shù)為m,xi為輸入層第i 個(gè)輸入樣本(i=1,2,…m);隱含層小波元個(gè)數(shù)為h,φj為隱含層第j 個(gè)小波基函數(shù)(j=1,2,…h(huán));輸出層節(jié)點(diǎn)個(gè)數(shù)為n,yk為輸出層第k 個(gè)預(yù)測(cè)輸出,?k為輸出層第k 個(gè)期望輸出(k=1,2,…n);ωlj為輸入層到隱含層的連接權(quán)值,ωjk為隱含層到輸出層的連接權(quán)值;第j 個(gè)隱層節(jié)點(diǎn)的小波伸縮平移系數(shù)分別為aj和bj;隱含層激勵(lì)函數(shù)采用morlet 小波基函數(shù),輸出層激勵(lì)函數(shù)采用purelin 線性函數(shù)。
當(dāng)輸入樣本xi(i=1,2,…m)時(shí),隱含層第j 個(gè)小波元的輸出為:
輸出層第k 個(gè)預(yù)測(cè)輸出為:
網(wǎng)絡(luò)預(yù)測(cè)誤差函數(shù)為:
采用附加動(dòng)量的梯度法(gradient descent with momentum,GDM)可以實(shí)現(xiàn)對(duì)小波函數(shù)的伸縮平移系數(shù)ajbj以及網(wǎng)絡(luò)連接權(quán)值ωij、ωjk的修正,從而使小波神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出不斷逼近期望輸出。
其中,η1η2為學(xué)習(xí)率,α 為動(dòng)量因子(0<α<1)。由以上計(jì)算可知:aj,bj,ωlj,ωjk4 個(gè)參數(shù)的優(yōu)化修正直接影響著網(wǎng)絡(luò)的性能,選擇一個(gè)合理的算法是小波神經(jīng)網(wǎng)絡(luò)應(yīng)用的重點(diǎn)[3]。
雖然梯度法可以實(shí)現(xiàn)對(duì)小波神經(jīng)網(wǎng)絡(luò)的參數(shù)修正,但在網(wǎng)絡(luò)訓(xùn)練過(guò)程中存在著容易陷入局部極小值,收斂早熟等缺陷,影響了網(wǎng)絡(luò)訓(xùn)練的精度。粒子群算法(particle swarm optimization,PSO)是一種基于群體智能理論的優(yōu)化算法,在理論上粒子群具有全局優(yōu)化能力,應(yīng)用于小波神經(jīng)網(wǎng)絡(luò)參數(shù)的選取,可以提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率與預(yù)測(cè)精度,提升網(wǎng)絡(luò)的性能[4]。
在標(biāo)準(zhǔn)PSO 中,每個(gè)粒子的位置都代表著尋優(yōu)空間中的一個(gè)解,其位置好壞都由被優(yōu)化函數(shù)決定的適應(yīng)度來(lái)評(píng)價(jià)。在每一次迭代進(jìn)化中,粒子通過(guò)自身歷史最優(yōu)和群體歷史最優(yōu)位置來(lái)更新當(dāng)前的速度和位置。PSO 的適應(yīng)度函數(shù)為小波神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差均方差即:
搜索空間維數(shù)等于小波神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值個(gè)數(shù):D=m?h+h?n+2h。假設(shè)群體規(guī)模為P,在t 時(shí)刻,第i 個(gè)粒子第d 維的位置和速度分別為xid(t)和vid(t);個(gè)體和群體第d維的歷史最優(yōu)位置分別為pid(t)和pgd(t);t+1 時(shí)刻,粒子的更新公式為:
式中,i=(1,2,…P),d=(1,2,…D),ω 為慣性權(quán)重,c1和c2稱為學(xué)習(xí)因子。
免疫粒子群算法(immune particle swarm optimization,IPSO)是在標(biāo)準(zhǔn)粒子群算法中加入了生物免疫機(jī)制,它將優(yōu)化問(wèn)題的適應(yīng)度函數(shù)對(duì)應(yīng)為入侵生命體的抗原,把粒子的空間位置對(duì)應(yīng)為免疫系統(tǒng)產(chǎn)生的抗體。在免疫調(diào)節(jié)中,通過(guò)平衡抗原抗體親和力以及抗體濃度來(lái)保證種群的多樣性[5],提高算法的搜索能力。
如果連續(xù)迭代DS 次后群體中沒(méi)有出現(xiàn)明顯變優(yōu)的個(gè)體,則運(yùn)行免疫機(jī)制。首先利用梯度法產(chǎn)生M 個(gè)新個(gè)體,隨后對(duì)種群中P+M 個(gè)粒子(抗體)進(jìn)行計(jì)算。
抗體的濃度為:
由濃度決定的選擇概率為:
某抗體被選中的概率為:
式中,xi(i=1,2,…M)表示抗體(粒子),fit()為粒子群適應(yīng)度函數(shù),β∈[0,1]為權(quán)重系數(shù)??梢钥闯觯切┡c抗原親和力大并且濃度較低的抗體會(huì)受到促進(jìn),而與抗原親和力小或濃度較高的抗體將會(huì)受到抑制。所以可以在保留高適應(yīng)度個(gè)體的同時(shí),也保留了種群的多樣性,能避免早熟現(xiàn)象。按照Hi從大到小對(duì)M +P個(gè)抗體排序,挑選出前P個(gè)抗體,結(jié)束免疫程序跳回粒子群算法繼續(xù)尋優(yōu)。
在標(biāo)準(zhǔn)粒子群算法中,初始種群是在整個(gè)搜索空間中直接隨機(jī)生成的。 對(duì)于同一個(gè)優(yōu)化問(wèn)題采用同一種均勻隨機(jī)數(shù)生成方法,嘗試多種種群初始化狀態(tài),PSO的算法效率和尋優(yōu)結(jié)果都會(huì)因此發(fā)生變化,所以初始種群的質(zhì)量嚴(yán)重影響到算法的訓(xùn)練過(guò)程和尋優(yōu)結(jié)果。若初始種群生成的較為合理,能夠包括或者接近最優(yōu)解則可以明顯提高粒子群算法的收斂速度,優(yōu)化尋優(yōu)結(jié)果。本文采用梯度下降法優(yōu)化來(lái)優(yōu)化初始種群,可以解決初始種群質(zhì)量差的問(wèn)題。
PSO屬于隨機(jī)進(jìn)化搜索算法,雖然改進(jìn)后IPSO在全局探索方面表現(xiàn)優(yōu)異,但由于算法的隨機(jī)性沒(méi)有改變,其局部搜索能力相比較傳統(tǒng)的局部搜索算法(local search,LS)并沒(méi)有明顯的優(yōu)勢(shì)。所以將擁有全局探索能力的PSO與在局部收斂性能較強(qiáng)的LS結(jié)合起來(lái)具有重要的意義。本文在IPSO迭代后期最優(yōu)結(jié)果變化不明顯、收斂速度緩慢時(shí),結(jié)束IPSO尋優(yōu)并啟動(dòng)GDM對(duì)IPSO的優(yōu)化結(jié)果進(jìn)行細(xì)調(diào)。
為了測(cè)試混合粒子群對(duì)小波神經(jīng)網(wǎng)絡(luò)權(quán)值修正的有效性,本文選取了幾種常見(jiàn)的神經(jīng)網(wǎng)絡(luò)權(quán)值修正算法與其進(jìn)行實(shí)驗(yàn)仿真對(duì)比。給定非線性函數(shù)y=e-1.9(x+0.5)sin(10x),選取輸入樣本區(qū)間為[-1.45,0.26],計(jì)算輸出樣本值。共計(jì)產(chǎn)生180組輸入輸出數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行歸一化并分為兩部分,訓(xùn)練集90組數(shù)據(jù),測(cè)試集90組數(shù)據(jù)。將訓(xùn)練集數(shù)據(jù)送入小波神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,實(shí)現(xiàn)對(duì)非線性函數(shù)的擬合,并用測(cè)試集檢測(cè)擬合效果。設(shè)置WNN參數(shù)m=1,h=6,n=1,GDM參數(shù)η1=0.01,η2=0.001, α=0.7,PSO參數(shù)P=100, D=24, c1=c2=1.49, ω=0.8,IPSO參數(shù)eps=0.0001,為了體現(xiàn)公平性,各算法重復(fù)部分的參數(shù)均相同,最大迭代次數(shù)為3000,對(duì)小波神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,選擇訓(xùn)練誤差的均方差為評(píng)價(jià)指標(biāo),均方差越小訓(xùn)練出的模型越逼近測(cè)試函數(shù),各算法訓(xùn)練過(guò)程均方差隨迭代次數(shù)變化曲線如圖2所示。
圖2 各算法訓(xùn)練MSE隨迭代次數(shù)變化曲線圖Fig.2 Curves of MSE training with iterations
表1 各訓(xùn)練算法預(yù)測(cè)輸出 決定系數(shù)Table 1 Prediction output coefficient of each training algorithm
GDM-IPSO-GDM在幾種算法中最終均方差最小,表現(xiàn)最好。
網(wǎng)絡(luò)訓(xùn)練完成后用測(cè)試集數(shù)據(jù)進(jìn)行輸出預(yù)測(cè),并對(duì)5種算法的預(yù)測(cè)輸出和期望輸出進(jìn)行對(duì)比,選取r2決定系數(shù)作為性能指標(biāo)評(píng)估預(yù)測(cè)值和期望值的符合程度,r2越接近于1表明預(yù)測(cè)越準(zhǔn)確。GDM-IPSO-GDM最接近于1,說(shuō)明其預(yù)測(cè)值最接近期望值,在5種算法中預(yù)測(cè)最準(zhǔn)確。
本文基于國(guó)電泰州1000MW 二次再熱仿真機(jī)系統(tǒng),在80%負(fù)荷工況下對(duì)燃燒器傾角、擋板開(kāi)度以及一二次再熱減溫水4 種調(diào)溫方式進(jìn)行調(diào)節(jié)實(shí)驗(yàn),并以1s 為時(shí)間間隔,采集6 萬(wàn)組數(shù)據(jù)。歸一化處理后,選取其前3 萬(wàn)組作為訓(xùn)練數(shù)據(jù),后3 萬(wàn)組作為測(cè)試數(shù)據(jù)。小波神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點(diǎn)為4,即4 種調(diào)溫方式。隱含層為1 層,節(jié)點(diǎn)數(shù)經(jīng)多次嘗試設(shè)為15。輸出層節(jié)點(diǎn)數(shù)為2,即一次再熱汽溫溫度和二次再熱汽溫溫度。使用GDM-IPSO-GDM 算法對(duì)小波神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后進(jìn)行輸出預(yù)測(cè),預(yù)測(cè)輸出與實(shí)際輸出對(duì)比如圖3 所示。
可看出預(yù)測(cè)輸出較好的反映了系統(tǒng)實(shí)際輸出,滿足一般控制算法的精度要求。
圖3 二次再熱系統(tǒng)預(yù)測(cè)輸出對(duì)比圖Fig.2 Comparison of the predicted output of the secondary reheat system
本文針對(duì)小波神經(jīng)網(wǎng)絡(luò)權(quán)值訓(xùn)練優(yōu)化方面,提出一種與局部搜索算法簡(jiǎn)單耦合的混合粒子群算法。該方法結(jié)合了免疫粒子群的全局優(yōu)化能力與動(dòng)量梯度法的局部搜索能力,改進(jìn)了普通小波網(wǎng)絡(luò)依靠傳統(tǒng)訓(xùn)練方法易陷入局部最優(yōu)的缺陷,提高了網(wǎng)絡(luò)的性能。最后,用國(guó)電泰州1000MW二次再熱仿真機(jī)數(shù)據(jù)訓(xùn)練網(wǎng)絡(luò),得到了二次再熱汽溫系統(tǒng)模型。該模型能夠反映二次再熱機(jī)組再熱汽溫系統(tǒng)的動(dòng)態(tài)特性,可用于對(duì)二次再熱汽溫系統(tǒng)控制的后續(xù)研究。