段超霞,田學(xué)民
(1.國(guó)家知識(shí)產(chǎn)權(quán)局專利局專利審查協(xié)作 廣東中心,廣州510530;2.中國(guó)石油大學(xué) 信息與控制工程學(xué)院,山東 青島266580)
神經(jīng)網(wǎng)絡(luò)由于其良好的非線性逼近性能而廣泛應(yīng)用于非線性系統(tǒng)的建模[1]。在使用神經(jīng)網(wǎng)絡(luò)解決給定的實(shí)際逼近問題時(shí),激活函數(shù)的選擇對(duì)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和逼近性能有很大影響,常用的激活函數(shù)有sigmoid函數(shù)、高斯函數(shù)、雙曲正切函數(shù)等。盡管這些函數(shù)在實(shí)際建模過程中已得到了廣泛應(yīng)用,但也存在一些缺點(diǎn),如過訓(xùn)練,易陷入局部極小點(diǎn),學(xué)習(xí)過程非常耗時(shí)等?;诟盗⑷~分析理論而建立的傅立葉神經(jīng)網(wǎng)絡(luò)[2-3]FoNN(Fourier Neural Network)則能避免上述問題,它以正交傅立葉復(fù)指數(shù)函數(shù)為激活函數(shù),使得網(wǎng)絡(luò)的輸出權(quán)值為給定目標(biāo)函數(shù)的頻譜,且網(wǎng)絡(luò)結(jié)構(gòu)也可依據(jù)系統(tǒng)的物理特性確定。訓(xùn)練FoNN時(shí),僅需對(duì)輸出權(quán)重進(jìn)行調(diào)整,訓(xùn)練參數(shù)少,因而收斂速度快;且正交激活函數(shù)的存在,使訓(xùn)練更易收斂到全局極值點(diǎn)[4]。由于FoNN使用正交的傅立葉復(fù)指數(shù)函數(shù)作為激活函數(shù),當(dāng)用于控制時(shí),能與閉環(huán)系統(tǒng)的頻域響應(yīng)緊密聯(lián)系起來(lái),因而ZUO Wei等將自適應(yīng)規(guī)則、迭代學(xué)習(xí)控制與FoNN結(jié)合起來(lái)應(yīng)用到非線性系統(tǒng)的跟蹤控制中[5-8]。
在FoNN中,影響其性能的關(guān)鍵因素是基頻和隱含層神經(jīng)元數(shù)目。如果基頻選擇較小,那么需要的隱含層節(jié)點(diǎn)就多,這樣就會(huì)增加網(wǎng)絡(luò)的復(fù)雜度;若基頻選擇較大,則會(huì)影響網(wǎng)絡(luò)的性能。因此,采用FoNN進(jìn)行建模,選擇基頻及隱含層節(jié)點(diǎn)的數(shù)目則成為關(guān)鍵問題?,F(xiàn)有的方法大多數(shù)是基頻和隱含層神經(jīng)元數(shù)目按照系統(tǒng)的周期和帶寬確定的。但在實(shí)際工業(yè)過程中,大多數(shù)過程是非周期過程,而且過程的帶寬也不易確定,限制了FoNN在工業(yè)過程建模中的應(yīng)用。因此,尋找合適方法確定FoNN結(jié)構(gòu)能進(jìn)一步擴(kuò)展FoNN的應(yīng)用。
筆者針對(duì)FoNN基頻選取及隱含層神經(jīng)元數(shù)目確定問題,提出將其當(dāng)作是激活函數(shù)的選擇問題,給定一個(gè)較小的基頻,把傅立葉級(jí)數(shù)中的一系列關(guān)于基頻整數(shù)倍的正余弦函數(shù)作為激活函數(shù)的選擇范圍,然后采用正交最小二乘OLS(Orthogonal Least Square)算法進(jìn)行選擇,保留對(duì)建模貢獻(xiàn)顯著的函數(shù),剔除貢獻(xiàn)小的函數(shù),從而確定FoNN的激活函數(shù),簡(jiǎn)化網(wǎng)絡(luò)結(jié)構(gòu)。最后,以聚合反應(yīng)器為對(duì)象進(jìn)行了仿真研究,仿真結(jié)果驗(yàn)證了OLS算法對(duì)FoNN訓(xùn)練的可行性和有效性。
FoNN是依據(jù)傅立葉級(jí)數(shù)及其逼近理論和神經(jīng)網(wǎng)絡(luò)的理論而建立的。FoNN將一組正交傅立葉基函數(shù)作為三層前向神經(jīng)網(wǎng)絡(luò)隱含層的激活函數(shù),以其加權(quán)和為網(wǎng)絡(luò)的輸出,結(jié)構(gòu)如圖1所示。
圖1 FoNN結(jié)構(gòu)
圖1中,WIH,k——輸入節(jié)點(diǎn)連接到第k個(gè)隱含層節(jié)點(diǎn)的權(quán)值,其值為1,k=-M,…,0,…M,k為整數(shù);激活函數(shù)σk(x(k))=eikωx(k),ω 為基頻;WOH,k——第k個(gè)隱含層節(jié)點(diǎn)連接到輸出節(jié)點(diǎn)的權(quán)值。FoNN的輸出為
在實(shí)際應(yīng)用中,復(fù)函數(shù)eikωx(k)無(wú)法實(shí)現(xiàn),可以利用Euler公式對(duì)其進(jìn)行變換,使用正余弦函數(shù)來(lái)代替,則FoNN的輸出可以表示為
式中:正余弦函數(shù)cos(nωx(k)),sin(nωx(k))——FoNN激活函數(shù),n=1,…,M;wi——輸出權(quán)重,i=0,…,2 M。由于FoNN采用傅立葉復(fù)指數(shù)函數(shù)作為激活函數(shù),wi也可看作給定目標(biāo)函數(shù)的頻譜。由傅立葉級(jí)數(shù)逼近理論可知,F(xiàn)oNN能以任意精度逼近任何非線性函數(shù)。
影響FoNN逼近性能的關(guān)鍵是基頻選取和隱含層神經(jīng)元的數(shù)目。通常,ω是根據(jù)系統(tǒng)周期T確定,即ω=2π/T;隱藏層神經(jīng)元數(shù)目M則根據(jù)系統(tǒng)的有限輸入帶寬ωc選擇,滿足M ≤Mc,其中,Mc=ωc/ω[7]。在實(shí)際系統(tǒng)中,大多數(shù)都是非周期的系統(tǒng),周期難以確定;有限輸入帶寬也不易確定;即使基頻和帶寬確定,F(xiàn)oNN隱含層神經(jīng)元數(shù)目只有大致選擇范圍。因此為使FoNN具有更好的逼近能力,則需要盡可能多的神經(jīng)元,使其結(jié)構(gòu)更復(fù)雜,訓(xùn)練時(shí)調(diào)整參數(shù)增加,訓(xùn)練速度減慢;FoNN節(jié)點(diǎn)數(shù)目越多,不可避免地存在冗余節(jié)點(diǎn),這些節(jié)點(diǎn)對(duì)網(wǎng)絡(luò)的性能影響并不大,但其存在會(huì)使得FoNN結(jié)構(gòu)更加復(fù)雜,但FoNN神經(jīng)元數(shù)目選擇較少時(shí),會(huì)影響FoNN逼近性能。因此,在采用FoNN進(jìn)行建模時(shí),如何選擇基頻和隱含層神經(jīng)元數(shù)目則成為關(guān)鍵問題。筆者采用OLS算法來(lái)解決這一問題。
OLS算法來(lái)源于線性回歸模型。文獻(xiàn)[9]將其用于RBF神經(jīng)網(wǎng)絡(luò)中心的選擇。令網(wǎng)絡(luò)的訓(xùn)練樣本集對(duì)為 {x(k),y(k)},k=1,…,N,N 為樣本數(shù)目。將FoNN輸出式(2)變換為
式 中:y(k)——實(shí) 際 輸 出;θi——網(wǎng) 絡(luò) 權(quán) 重;2 M——隱藏層神經(jīng)元數(shù)目;pi(k)——FoNN 關(guān)于x(k)的回歸算子。
假設(shè)誤差信號(hào)ε(k)與pi(k)不相關(guān),將FoNN模型寫成矩陣方程式的形式:
式中:y= [y(1),y(2),…,y(N)]T;P= [p0,p1,…,p2M];pi= [pi(1),pi(2),…,pi(N)]T,0≤i≤2 M;θ= [θ0,θ1,…,θ2M]T;e= [ε(1),ε(2),…,ε(N)]T。
求解式(4)的關(guān)鍵問題是回歸矢量pi的選擇。一旦回歸矩陣P已定,模型參數(shù)就可由最小二乘方法求解得到。確定一組激活函數(shù)φi對(duì)應(yīng)于輸入樣本就能得到一個(gè)pi。每個(gè)激活函數(shù)對(duì)降低殘差的貢獻(xiàn)不同,要選擇貢獻(xiàn)顯著的函數(shù),剔除貢獻(xiàn)小的函數(shù)。通過正交化pi,分析pi對(duì)降低殘差的貢獻(xiàn),選擇合適的回歸矢量,并根據(jù)誤差性能指標(biāo),確定回歸算子個(gè)數(shù)Ms。用傳統(tǒng)的Gram Sechmidt正交化方法對(duì)P進(jìn)行正交 -三角分解,即P=UA,A是一個(gè)(2 M+1)×(2 M+1)維的上三角矩陣,且主對(duì)角元素為1;U=[u0,u1,…,u2M],uTiuj=0,i≠j。所以,回歸方程(4)可轉(zhuǎn)化為
則正交最小二乘解為
假設(shè)式(7)中的矢量U g和e互不相關(guān),則輸出響應(yīng)的能量可表示為
上式兩邊除以yTy,得
式中:εi—— 誤差衰減比,εi=g2iuTiui/yTy;q——允許誤差,q=eTe/yTy。
由式(6)知,gi僅與y 和ui有關(guān),y已知,εi由ui決定。在采用OLS算法訓(xùn)練FoNN時(shí),為獲得良好訓(xùn)練效果,要使q盡可能小。由式(8)可知,當(dāng)εi越大,q越小,要選擇使εi盡可能大的回歸算子ui(pi),此時(shí),pi對(duì)應(yīng)函數(shù)即為所要選的FoNN 激活函數(shù)。
OLS算法訓(xùn)練FoNN的任務(wù)是通過對(duì)訓(xùn)練樣本學(xué)習(xí),選擇合適的回歸矢量pi及其個(gè)數(shù)Ms,使FoNN輸出滿足誤差要求。其選取步驟如下:
Step 1:給定基頻ω,給出預(yù)選的隱含層節(jié)點(diǎn)個(gè)數(shù) Mr,相 應(yīng)的激活函數(shù)選擇范圍設(shè)定允許誤差q;
Step 2:根據(jù)選擇的激活函數(shù)用輸入樣本矢量xi,i=1,…,N,計(jì)算回歸矩陣P;
Step 3:開始迭代,第k步時(shí),采用 Gram Sechmidt正交化方法,對(duì)回歸矩陣各列pi,i=1,…,2 M 正交化,得,由式(6)計(jì)算,利用計(jì)算,選擇最大,令er rk=,并記錄和。此時(shí)對(duì)應(yīng)pi即為所選的第k個(gè)回歸矢量,選出pi;
Step5:pi確定后,P,U 和已知,由P=UA計(jì)算上三角矩陣A,由方程求出輸出權(quán)值θ的估計(jì)
以甲基丙烯酸甲酯反應(yīng)的聚合反應(yīng)器為研究對(duì)象,該反應(yīng)以偶氮二異丁腈為引發(fā)劑,甲苯為溶劑,引發(fā)劑流量FI為系統(tǒng)輸入,聚合物的平均相對(duì)分子質(zhì)量(MW)作為系統(tǒng)輸出。該聚合反應(yīng)器的模型可描述為下述的非線性常微分方程:
系統(tǒng)輸出:MW(t)=DI(t)/D0(t)。
式中:F——溶劑流量;Cm,CI,D0,DI——系統(tǒng)的狀態(tài)變量;T——冷卻水溫度;聚合反應(yīng)器參數(shù)取值選自文獻(xiàn)[10]。
該過程動(dòng)靜特性符合 Wiener模型的特點(diǎn)[10],因而采用Wiener模型建立該對(duì)象的模型。Wiener模 型 的 線 性 動(dòng) 態(tài) 部 分 由 G(q-1)=表示,經(jīng)參數(shù)辨識(shí)得b1=-0.038 5,b2=0.015 3,a1=-1.296 9,a2=0.386 3。筆者主要對(duì) Wiener模型的非線性部分進(jìn)行建模,在辨識(shí)非線性靜態(tài)部分時(shí),隨機(jī)產(chǎn)生如圖2~3所示的訓(xùn)練和測(cè)試數(shù)據(jù)組,每組包含數(shù)據(jù)500個(gè)。
考慮到圖2~3中的輸入輸出數(shù)據(jù)范圍相差太大,需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將其轉(zhuǎn)換為相同數(shù)量級(jí),再用來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),即令y=0.000 1(MWMW0),u = 100(qVI-qVI,0),MW0=20t/kmol,qVI,0=0.028 331m3/h。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練中,誤差平方和為性能評(píng)價(jià)函數(shù):y(k)為神經(jīng)網(wǎng)絡(luò)輸出,yd(k)為訓(xùn)練目標(biāo)。
圖2 訓(xùn)練數(shù)據(jù)
圖3 測(cè)試數(shù)據(jù)
首先,為驗(yàn)證文中所提方法的可行性,采用擴(kuò)展卡爾曼濾波 EKF(Extend Kalman Filter)訓(xùn)練FoNN,改變基頻和隱含層神經(jīng)元個(gè)數(shù),觀察對(duì)訓(xùn)練結(jié)果的影響。為驗(yàn)證訓(xùn)練算法的魯棒性,在預(yù)處理后的訓(xùn)練和測(cè)試數(shù)據(jù)中分別加入均方差為0.02的白噪聲,觀察訓(xùn)練效果。EKF訓(xùn)練中,迭代200次。訓(xùn)練結(jié)果見表1所列。
從表1可知,采用EKF算法對(duì)FoNN進(jìn)行訓(xùn)練,當(dāng)ω=0.1時(shí),需要40個(gè)隱藏層神經(jīng)元,訓(xùn)練FoNN的SSE才能達(dá)到0.5左右,才具有較好的逼近性能;增大基頻至ω=1時(shí),僅需6個(gè)隱含層神經(jīng)元就能獲得較好的訓(xùn)練結(jié)果,此時(shí)再增加神經(jīng)元數(shù)目至10或20個(gè)時(shí),訓(xùn)練精度未顯著提高。因此,在增加的隱含層神經(jīng)元中,有一些對(duì)網(wǎng)絡(luò)逼近性能影響不大,卻使網(wǎng)絡(luò)結(jié)構(gòu)更復(fù)雜,所以采取合適方法對(duì)FoNN結(jié)構(gòu)進(jìn)行簡(jiǎn)化,仍保持FoNN逼近性能,是可行的。
采用OLS算法對(duì)FoNN進(jìn)行訓(xùn)練,先給出一個(gè)較小的基頻,再給出一系列的正余弦函數(shù)作為激活函數(shù)的選擇范圍,由OLS算法選擇對(duì)FoNN逼近性能貢獻(xiàn)顯著的函數(shù)作為FoNN激活函數(shù)。筆者選擇ω=0.01,激活函數(shù)的選擇范圍是[cosωx,sinωx ]到 [cos 250ωx,sin 250ωx]的500組正余弦函數(shù)的集合。根據(jù)圖2~3中的訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)采用OLS算法對(duì)FoNN進(jìn)行訓(xùn)練,結(jié)果列入表2中,并將表1神經(jīng)元數(shù)目為6時(shí)訓(xùn)練結(jié)果作為對(duì)比結(jié)果列入表2中。
同時(shí),為進(jìn)一步驗(yàn)證OLS算法訓(xùn)練FoNN的效果,再使用以雙曲正切函數(shù)為激活函數(shù)的多層感知機(jī)(MLP)網(wǎng)絡(luò)描述 Wiener模型非線性部分,采用EKF算法對(duì) MLP進(jìn)行訓(xùn)練[11],結(jié)果見表2所列。
由表2可以看出,采用OLS算法對(duì)FoNN進(jìn)行訓(xùn)練時(shí),僅需要4個(gè)隱含層神經(jīng)元就能得到良好的訓(xùn)練精度,且當(dāng)噪聲存在時(shí),F(xiàn)oNN網(wǎng)絡(luò)具有良好的抵抗噪聲能力。將基于EKF算法訓(xùn)練的FoNN結(jié)果與基于OLS算法的FoNN訓(xùn)練結(jié)果比較,發(fā)現(xiàn)OLS算法在訓(xùn)練精度和抵抗噪聲方面都優(yōu)于基于EKF算法的FoNN。將采用OLS算法訓(xùn)練的FoNN的SSE與采用EKF算法訓(xùn)練的MLP網(wǎng)絡(luò)的SSE進(jìn)行比較,得出當(dāng)無(wú)噪聲存在時(shí),基于EKF的MLP網(wǎng)絡(luò)的訓(xùn)練精度要優(yōu)于OLS算法的FoNN;當(dāng)噪聲存在時(shí),基于EKF算法的MLP網(wǎng)絡(luò)抵抗噪聲的能力低于基于OLS的FONN。通過對(duì)三種結(jié)構(gòu)的可調(diào)整參數(shù)進(jìn)行比較,基于OLS算法的FoNN需要調(diào)整參數(shù)最少。從圖4的測(cè)試結(jié)果可以進(jìn)一步驗(yàn)證,采用OLS算法確立FoNN結(jié)構(gòu),F(xiàn)oNN具有良好逼近性能。
因此,由以上仿真結(jié)果可以說(shuō)明,采用OLS算法能夠確立FoNN結(jié)構(gòu),它不僅能簡(jiǎn)化FoNN網(wǎng)絡(luò)的結(jié)構(gòu),而且使FoNN具有更好的逼近性能和抵抗噪聲的能力。
表1 采用EKF算法訓(xùn)練FoNN,改變基頻和隱含層節(jié)點(diǎn)的訓(xùn)練及測(cè)試結(jié)果
表2 采用EKF-MLP,EKF-FoNN及OLS-FoNN算法訓(xùn)練及測(cè)試的SSE
圖4 測(cè)試曲線示意
本文將OLS算法用于對(duì)FoNN的結(jié)構(gòu)確定,解決了FoNN的基頻選取及隱含層神經(jīng)元數(shù)目難以確定的問題。OLS算法選取對(duì)FoNN逼近性能貢獻(xiàn)顯著函數(shù)作為激活函數(shù),剔除貢獻(xiàn)小函數(shù),簡(jiǎn)化了網(wǎng)絡(luò)結(jié)構(gòu)。對(duì)聚合反應(yīng)器仿真結(jié)果表明,采用OLS算法能夠建立精簡(jiǎn)的FoNN,使用該方法對(duì)非線性系統(tǒng)建模時(shí),它能夠在保證逼近精度時(shí),建立精簡(jiǎn)的FoNN結(jié)構(gòu),并使其在收斂速度、訓(xùn)練精度、抗噪聲等方面優(yōu)于基于EKF算法的FoNN及MLP神經(jīng)網(wǎng)絡(luò)。
[1]JANCZAK A.Identification of Nonlinear Systems Using Neural Networks and Polynomial Models:A Block-Oriented Approach,Lecture Notes in Control and Information Sciences[M].Berlin:Springer,2005:16-19.
[2]PELAGOTTI A,PIURE V.Neural Spectral Composition for Function Approximation[C]//In Proc.IEEE-INNS Int.Joint Conf.Neural Networks IJCNN97.Houston,TX,1997:860-864.
[3]盧洪濤,戚飛虎.多維離散傅立葉變換神經(jīng)網(wǎng)絡(luò)函數(shù)逼近[J].上海交通大學(xué)學(xué)報(bào),2000,34(07):956-958.
[4]ZUO Wei.Fourier Neural Network Based on Tracking Control for Nonlinear System[D].Hong Kong:The Hong Kong University of Science and Technology,2008:22-32.
[5]ZUO Wei,CAI Lilong.Adaptive Fourier Neural Network Based Control for a Class of Uncertain Nonlinear Systems[J].IEEE Transactions on Neural Networks,2008,19(10):1689-1701.
[6]ZUO Wei, YANG Zhu,CAI Lilong.Fourier-Neural-Network-Based Learning Control for a Class of Nonlinear Systems with Flexible Components[J].IEEE Transactions on Neural Networks,2009,20(01):139-151.
[7]ZUO Wei,CAI Lilong.A New Iterative Learning Controller Using Variable Structure Fourier Neural Network[J].IEEE Transactions on Systems,Man and Cybernetics-Part B:Cybernetics,2010,40(02):458-468.
[8]ZUO Wei,CAI Lilong.Tracking Control of Nonlinear Systems Using Fourier Neural Network[C]//Proceedings of the 2005IEEE/ASME International Conference on Advanced Intelligent Mechatronics.Monterey,CA,2005:670-675.
[9]CHEN Sheng,GRANT P M,COWAN C F N.Orthogonal Least Squares Learning Algorithm for Radial Basis Function Networks [J].IEEE Transaction on Neural Network,1991,2(02):302-309.
[10]LAWRYN'CZUK M.Computationally Efficient Nonlinear Predictive Control Based on Neural Wiener Model [J].Neuro Computing,2010(74):401-417.
[11]YANG Huizhong,LI Jiang, DING Feng.A Neural Network Learning Algorithm of Chemical Process Modeling Based on the Extended Kalman Filter [J].Neuro Computing,2007(70):625-632.