段超霞,田學民
(1.國家知識產權局專利局專利審查協作 廣東中心,廣州510530;2.中國石油大學 信息與控制工程學院,山東 青島266580)
神經網絡由于其良好的非線性逼近性能而廣泛應用于非線性系統的建模[1]。在使用神經網絡解決給定的實際逼近問題時,激活函數的選擇對神經網絡的結構和逼近性能有很大影響,常用的激活函數有sigmoid函數、高斯函數、雙曲正切函數等。盡管這些函數在實際建模過程中已得到了廣泛應用,但也存在一些缺點,如過訓練,易陷入局部極小點,學習過程非常耗時等。基于傅立葉分析理論而建立的傅立葉神經網絡[2-3]FoNN(Fourier Neural Network)則能避免上述問題,它以正交傅立葉復指數函數為激活函數,使得網絡的輸出權值為給定目標函數的頻譜,且網絡結構也可依據系統的物理特性確定。訓練FoNN時,僅需對輸出權重進行調整,訓練參數少,因而收斂速度快;且正交激活函數的存在,使訓練更易收斂到全局極值點[4]。由于FoNN使用正交的傅立葉復指數函數作為激活函數,當用于控制時,能與閉環(huán)系統的頻域響應緊密聯系起來,因而ZUO Wei等將自適應規(guī)則、迭代學習控制與FoNN結合起來應用到非線性系統的跟蹤控制中[5-8]。
在FoNN中,影響其性能的關鍵因素是基頻和隱含層神經元數目。如果基頻選擇較小,那么需要的隱含層節(jié)點就多,這樣就會增加網絡的復雜度;若基頻選擇較大,則會影響網絡的性能。因此,采用FoNN進行建模,選擇基頻及隱含層節(jié)點的數目則成為關鍵問題。現有的方法大多數是基頻和隱含層神經元數目按照系統的周期和帶寬確定的。但在實際工業(yè)過程中,大多數過程是非周期過程,而且過程的帶寬也不易確定,限制了FoNN在工業(yè)過程建模中的應用。因此,尋找合適方法確定FoNN結構能進一步擴展FoNN的應用。
筆者針對FoNN基頻選取及隱含層神經元數目確定問題,提出將其當作是激活函數的選擇問題,給定一個較小的基頻,把傅立葉級數中的一系列關于基頻整數倍的正余弦函數作為激活函數的選擇范圍,然后采用正交最小二乘OLS(Orthogonal Least Square)算法進行選擇,保留對建模貢獻顯著的函數,剔除貢獻小的函數,從而確定FoNN的激活函數,簡化網絡結構。最后,以聚合反應器為對象進行了仿真研究,仿真結果驗證了OLS算法對FoNN訓練的可行性和有效性。
FoNN是依據傅立葉級數及其逼近理論和神經網絡的理論而建立的。FoNN將一組正交傅立葉基函數作為三層前向神經網絡隱含層的激活函數,以其加權和為網絡的輸出,結構如圖1所示。

圖1 FoNN結構
圖1中,WIH,k——輸入節(jié)點連接到第k個隱含層節(jié)點的權值,其值為1,k=-M,…,0,…M,k為整數;激活函數σk(x(k))=eikωx(k),ω 為基頻;WOH,k——第k個隱含層節(jié)點連接到輸出節(jié)點的權值。FoNN的輸出為

在實際應用中,復函數eikωx(k)無法實現,可以利用Euler公式對其進行變換,使用正余弦函數來代替,則FoNN的輸出可以表示為

式中:正余弦函數cos(nωx(k)),sin(nωx(k))——FoNN激活函數,n=1,…,M;wi——輸出權重,i=0,…,2 M。由于FoNN采用傅立葉復指數函數作為激活函數,wi也可看作給定目標函數的頻譜。由傅立葉級數逼近理論可知,FoNN能以任意精度逼近任何非線性函數。
影響FoNN逼近性能的關鍵是基頻選取和隱含層神經元的數目。通常,ω是根據系統周期T確定,即ω=2π/T;隱藏層神經元數目M則根據系統的有限輸入帶寬ωc選擇,滿足M ≤Mc,其中,Mc=ωc/ω[7]。在實際系統中,大多數都是非周期的系統,周期難以確定;有限輸入帶寬也不易確定;即使基頻和帶寬確定,FoNN隱含層神經元數目只有大致選擇范圍。因此為使FoNN具有更好的逼近能力,則需要盡可能多的神經元,使其結構更復雜,訓練時調整參數增加,訓練速度減慢;FoNN節(jié)點數目越多,不可避免地存在冗余節(jié)點,這些節(jié)點對網絡的性能影響并不大,但其存在會使得FoNN結構更加復雜,但FoNN神經元數目選擇較少時,會影響FoNN逼近性能。因此,在采用FoNN進行建模時,如何選擇基頻和隱含層神經元數目則成為關鍵問題。筆者采用OLS算法來解決這一問題。
OLS算法來源于線性回歸模型。文獻[9]將其用于RBF神經網絡中心的選擇。令網絡的訓練樣本集對為 {x(k),y(k)},k=1,…,N,N 為樣本數目。將FoNN輸出式(2)變換為

式 中:y(k)——實 際 輸 出;θi——網 絡 權 重;2 M——隱藏層神經元數目;pi(k)——FoNN 關于x(k)的回歸算子。

假設誤差信號ε(k)與pi(k)不相關,將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)的關鍵問題是回歸矢量pi的選擇。一旦回歸矩陣P已定,模型參數就可由最小二乘方法求解得到。確定一組激活函數φi對應于輸入樣本就能得到一個pi。每個激活函數對降低殘差的貢獻不同,要選擇貢獻顯著的函數,剔除貢獻小的函數。通過正交化pi,分析pi對降低殘差的貢獻,選擇合適的回歸矢量,并根據誤差性能指標,確定回歸算子個數Ms。用傳統的Gram Sechmidt正交化方法對P進行正交 -三角分解,即P=UA,A是一個(2 M+1)×(2 M+1)維的上三角矩陣,且主對角元素為1;U=[u0,u1,…,u2M],uTiuj=0,i≠j。所以,回歸方程(4)可轉化為

則正交最小二乘解為

假設式(7)中的矢量U g和e互不相關,則輸出響應的能量可表示為

上式兩邊除以yTy,得

式中:εi—— 誤差衰減比,εi=g2iuTiui/yTy;q——允許誤差,q=eTe/yTy。
由式(6)知,gi僅與y 和ui有關,y已知,εi由ui決定。在采用OLS算法訓練FoNN時,為獲得良好訓練效果,要使q盡可能小。由式(8)可知,當εi越大,q越小,要選擇使εi盡可能大的回歸算子ui(pi),此時,pi對應函數即為所要選的FoNN 激活函數。
OLS算法訓練FoNN的任務是通過對訓練樣本學習,選擇合適的回歸矢量pi及其個數Ms,使FoNN輸出滿足誤差要求。其選取步驟如下:
Step 1:給定基頻ω,給出預選的隱含層節(jié)點個數 Mr,相 應的激活函數選擇范圍設定允許誤差q;
Step 2:根據選擇的激活函數用輸入樣本矢量xi,i=1,…,N,計算回歸矩陣P;
Step 3:開始迭代,第k步時,采用 Gram Sechmidt正交化方法,對回歸矩陣各列pi,i=1,…,2 M 正交化,得,由式(6)計算,利用計算,選擇最大,令er rk=,并記錄和。此時對應pi即為所選的第k個回歸矢量,選出pi;
Step5:pi確定后,P,U 和已知,由P=UA計算上三角矩陣A,由方程求出輸出權值θ的估計
以甲基丙烯酸甲酯反應的聚合反應器為研究對象,該反應以偶氮二異丁腈為引發(fā)劑,甲苯為溶劑,引發(fā)劑流量FI為系統輸入,聚合物的平均相對分子質量(MW)作為系統輸出。該聚合反應器的模型可描述為下述的非線性常微分方程:

系統輸出:MW(t)=DI(t)/D0(t)。
式中:F——溶劑流量;Cm,CI,D0,DI——系統的狀態(tài)變量;T——冷卻水溫度;聚合反應器參數取值選自文獻[10]。
該過程動靜特性符合 Wiener模型的特點[10],因而采用Wiener模型建立該對象的模型。Wiener模 型 的 線 性 動 態(tài) 部 分 由 G(q-1)=表示,經參數辨識得b1=-0.038 5,b2=0.015 3,a1=-1.296 9,a2=0.386 3。筆者主要對 Wiener模型的非線性部分進行建模,在辨識非線性靜態(tài)部分時,隨機產生如圖2~3所示的訓練和測試數據組,每組包含數據500個。
考慮到圖2~3中的輸入輸出數據范圍相差太大,需要對數據進行預處理,將其轉換為相同數量級,再用來訓練神經網絡,即令y=0.000 1(MWMW0),u = 100(qVI-qVI,0),MW0=20t/kmol,qVI,0=0.028 331m3/h。在神經網絡訓練中,誤差平方和為性能評價函數:y(k)為神經網絡輸出,yd(k)為訓練目標。

圖2 訓練數據

圖3 測試數據
首先,為驗證文中所提方法的可行性,采用擴展卡爾曼濾波 EKF(Extend Kalman Filter)訓練FoNN,改變基頻和隱含層神經元個數,觀察對訓練結果的影響。為驗證訓練算法的魯棒性,在預處理后的訓練和測試數據中分別加入均方差為0.02的白噪聲,觀察訓練效果。EKF訓練中,迭代200次。訓練結果見表1所列。
從表1可知,采用EKF算法對FoNN進行訓練,當ω=0.1時,需要40個隱藏層神經元,訓練FoNN的SSE才能達到0.5左右,才具有較好的逼近性能;增大基頻至ω=1時,僅需6個隱含層神經元就能獲得較好的訓練結果,此時再增加神經元數目至10或20個時,訓練精度未顯著提高。因此,在增加的隱含層神經元中,有一些對網絡逼近性能影響不大,卻使網絡結構更復雜,所以采取合適方法對FoNN結構進行簡化,仍保持FoNN逼近性能,是可行的。
采用OLS算法對FoNN進行訓練,先給出一個較小的基頻,再給出一系列的正余弦函數作為激活函數的選擇范圍,由OLS算法選擇對FoNN逼近性能貢獻顯著的函數作為FoNN激活函數。筆者選擇ω=0.01,激活函數的選擇范圍是[cosωx,sinωx ]到 [cos 250ωx,sin 250ωx]的500組正余弦函數的集合。根據圖2~3中的訓練數據和測試數據采用OLS算法對FoNN進行訓練,結果列入表2中,并將表1神經元數目為6時訓練結果作為對比結果列入表2中。
同時,為進一步驗證OLS算法訓練FoNN的效果,再使用以雙曲正切函數為激活函數的多層感知機(MLP)網絡描述 Wiener模型非線性部分,采用EKF算法對 MLP進行訓練[11],結果見表2所列。
由表2可以看出,采用OLS算法對FoNN進行訓練時,僅需要4個隱含層神經元就能得到良好的訓練精度,且當噪聲存在時,FoNN網絡具有良好的抵抗噪聲能力。將基于EKF算法訓練的FoNN結果與基于OLS算法的FoNN訓練結果比較,發(fā)現OLS算法在訓練精度和抵抗噪聲方面都優(yōu)于基于EKF算法的FoNN。將采用OLS算法訓練的FoNN的SSE與采用EKF算法訓練的MLP網絡的SSE進行比較,得出當無噪聲存在時,基于EKF的MLP網絡的訓練精度要優(yōu)于OLS算法的FoNN;當噪聲存在時,基于EKF算法的MLP網絡抵抗噪聲的能力低于基于OLS的FONN。通過對三種結構的可調整參數進行比較,基于OLS算法的FoNN需要調整參數最少。從圖4的測試結果可以進一步驗證,采用OLS算法確立FoNN結構,FoNN具有良好逼近性能。
因此,由以上仿真結果可以說明,采用OLS算法能夠確立FoNN結構,它不僅能簡化FoNN網絡的結構,而且使FoNN具有更好的逼近性能和抵抗噪聲的能力。

表1 采用EKF算法訓練FoNN,改變基頻和隱含層節(jié)點的訓練及測試結果

表2 采用EKF-MLP,EKF-FoNN及OLS-FoNN算法訓練及測試的SSE

圖4 測試曲線示意
本文將OLS算法用于對FoNN的結構確定,解決了FoNN的基頻選取及隱含層神經元數目難以確定的問題。OLS算法選取對FoNN逼近性能貢獻顯著函數作為激活函數,剔除貢獻小函數,簡化了網絡結構。對聚合反應器仿真結果表明,采用OLS算法能夠建立精簡的FoNN,使用該方法對非線性系統建模時,它能夠在保證逼近精度時,建立精簡的FoNN結構,并使其在收斂速度、訓練精度、抗噪聲等方面優(yōu)于基于EKF算法的FoNN及MLP神經網絡。
[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].上海交通大學學報,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.