張 勇,孫亞民,吳建洪
(1.佛山科學技術(shù)學院 電子與信息工程學院,廣東 佛山 528000;2.南京理工大學計算機科學與技術(shù)學院,江蘇 南京 210094)
從功能上來說,模糊系統(tǒng)和神經(jīng)網(wǎng)絡都是無模型的函數(shù)逼近器,更明確地說,它們旨在從一個函數(shù)f中提取樣本,從而得到未知函數(shù)f:Rr→Rs的逼近[1]。理論研究表明:無論是神經(jīng)網(wǎng)絡還是模糊推理系統(tǒng)都是通用逼近器,換言之,只要給出足夠多的隱層神經(jīng)元或者模糊規(guī)則,它們就能以任意規(guī)定的精度逼近任意函數(shù)。由于模糊神經(jīng)網(wǎng)絡不僅吸取了模糊邏輯和神經(jīng)網(wǎng)絡二者的優(yōu)點,還克服了各自具有的缺點,即模糊神經(jīng)網(wǎng)絡有著明確的物理意義,專家知識很容易結(jié)合到模糊神經(jīng)網(wǎng)絡中,這對提高收斂速度、縮短訓練時間是很有幫助的[2]。正因如此,模糊神經(jīng)網(wǎng)絡成為當前研究的一個熱點,并形成了一個較為完善的體系。本文提出了一種動態(tài)模糊神經(jīng)網(wǎng)絡結(jié)構(gòu)的快速學習算法,該模糊神經(jīng)網(wǎng)絡結(jié)構(gòu)基于擴展的徑向基神經(jīng)網(wǎng)絡。
本文所研究的動態(tài)模糊神經(jīng)網(wǎng)絡在結(jié)構(gòu)邏輯上分5層。第1層稱為輸入層,每個節(jié)點分別表示一個輸入的語言變量;第2層稱為隸屬函數(shù)層,每個節(jié)點分別代表一個隸屬函數(shù);第3層稱為T-范數(shù)層,每個節(jié)點分別代表一個可能的模糊規(guī)則中的IF-部分;第4層稱為歸一化層,稱這些節(jié)點為N節(jié)點。第5層稱為輸出層,該層中的每個節(jié)點分別表示一個輸出變量,該輸出是所有輸入信號的疊加。模糊神經(jīng)網(wǎng)絡等同于一個擴展的RBF神經(jīng)網(wǎng)絡。多輸入單輸出的RBF網(wǎng)絡結(jié)構(gòu)如圖1所示,圖2 是RBF神經(jīng)網(wǎng)絡逼近[3]。
圖1 RBF神經(jīng)網(wǎng)絡結(jié)構(gòu)
圖2 RBF神經(jīng)網(wǎng)絡逼近
在RBF網(wǎng)絡結(jié)構(gòu)中,X=[x1,x2,…,xn]T為網(wǎng)絡的輸入向量。設(shè)RBF網(wǎng)絡的徑向基向量μ=[μ1,μ2,…,μm]T,其中μj為高斯函數(shù):
(1)
其中RBF網(wǎng)絡第j個節(jié)點的高斯函數(shù)的中心為cj=[cj1,…,cjm]
設(shè)高斯函數(shù)寬度為
σ=[σ1,σ2,…,σm]T
(2)
σj為節(jié)點j的高斯函數(shù)寬度,且大于零的數(shù)。網(wǎng)絡的權(quán)向量為
W=[w1,w2,…,wm]T
(3)
RBF網(wǎng)絡的輸出為
ym(t)=w1μ1+w2μ2+…+wmμm
(4)
RBF網(wǎng)絡性能指標函數(shù)[5]:
(5)
RBF網(wǎng)絡輸出權(quán)值、高斯函數(shù)中心及高斯函數(shù)寬度的迭代算法如下:
wj(t)=wj(t-1)+η(y(t)-ym(t)μj+
α(wj(t-1)-wj(t-2))
(6)
(7)
σj(t)=σj(t-1)+ηΔσj+
α(σj(t-1)-σj(t-2))
(8)
(9)
cji(t)=cji(t-1)+ηΔcji+
α(cji(t-1)-cji(t-2))
(10)
其中,η為學習速率,α為動量因子[4]。與一個標準的RBF相比,所謂的“擴展的RBF神經(jīng)網(wǎng)絡” 這個術(shù)語是指:具有超過3層的網(wǎng)絡結(jié)構(gòu);未考慮偏置量;權(quán)值可以是輸入的函數(shù)而不是實常數(shù)[5]。
本文采用列主元SVD-QR方法作為修剪策略。Mouzouris和Mendel用列主元SVD-QR方法從給定的規(guī)則庫中提取重要的模糊規(guī)則[6]。這種方法的基本思想是用H(b)θ(b)替換如下線性回歸問題中的Hθ
D=Hθ+E
(11)
其中,H(b)∈Rn×b由H的b個列構(gòu)成,這b個列在H中的位置決定了用規(guī)則庫中哪些規(guī)則來逼近向量D。
從本質(zhì)上來說,該方法同特征值分解方法是緊密相關(guān)的,它可以看作是把H=U∑ST式代入Φpp
Φpp=HTH=(U∑ST)TU∑ST=S∑2ST
(12)
ISVD-QR= [ISVD-QR 1,ISVD-QR2,…,ISVD-QRv]=
[‖s1‖2,‖s2‖2,…,‖sv‖2]T=
(13)
IED= [IED1,IED2,….IEDv]T=
(14)
式(14)替換式(13)或者用式(13)替換式(14),則這兩種算法本質(zhì)上是相同的。SVD-QR算法不需要明確地構(gòu)造相關(guān)矩陣,因此,避免了不必要的數(shù)字和舍入誤差。如果在學習進行時,用SVD-QR算法檢測到不活躍的模糊規(guī)則并加以剔除,則可獲得更為緊湊的D-FNN結(jié)構(gòu)[9]。
分級學習算法能自動地確定模糊規(guī)則并能達到系統(tǒng)的特定性能。模糊規(guī)則是否加入,加入的條件是什么?本文引入了分級學習算法。增加一條新的模糊規(guī)則條件:一是系統(tǒng)誤差,二是可容納邊界。
設(shè)
‖ei‖=‖ti-yi‖
(15)
當
‖ei‖>ke
(16)
時需要增加一條新規(guī)則。其中ti是期望的輸出,yi是D-FNN系統(tǒng)的輸出,ei是系統(tǒng)誤差,ke是預先選定的精度。
設(shè)
di(j)=‖Xi-Cj‖j=1,2,…,u
(17)
dmin=argmin(di(j))
(18)
當
dmin>kd
(19)
時需要增加一條新模糊規(guī)則。其中di(j)是輸入向量Xi和高斯函數(shù)中心Cj之間的距離,u是模糊規(guī)則數(shù)或RBF單元數(shù)。kd是可容納邊界有效半徑。
分級學習主要思想式(17)和式(18)中的ke、kd不是常數(shù),而是動態(tài)地調(diào)節(jié)的:
ke=max[emax×βi,emin]
(20)
kd=max[dmax×γi,dmin]
(21)
其中,emax是最大誤差,emin是期望的精度,β(0<β<1)是收斂常數(shù),dmax是輸入空間的最大長度,dmin是最小長度,γ(0<γ<1)是衰減常數(shù)。
在這里,被逼近的函數(shù)為如下的Hermite多項式:
(22)
為了學習這個被逼近的函數(shù),使用區(qū)間[-4,4]內(nèi)的隨機樣本函數(shù)來產(chǎn)生250個輸入輸出數(shù)據(jù)作為訓練集。預先確定的參數(shù)如下,且跟文獻[10]和文獻[11]所選一樣:dmax=2,dmin=0.2,γ=0.977,β=0.9,σ0=2,emax=1.1,emin=0.02,k=1.1,kw=1.1,kerr=0.001 5采用列主元SVD-QR方法修剪策略與分級學習仿真程序輸出的模糊規(guī)則及均方根誤差如圖3和圖4所示。
圖3 模糊規(guī)則產(chǎn)生過程
圖4 訓練數(shù)據(jù)均方根誤差
表1列出了使用不同算法的均方根誤差輸出結(jié)果對比。輸入49個訓練數(shù)據(jù)后,系統(tǒng)規(guī)則數(shù)趨于穩(wěn)定,如圖3所示。由于D-FNN系統(tǒng)結(jié)構(gòu)是動態(tài)變化的,當模糊規(guī)則處于不活躍的狀態(tài)時將被剔出,使得系統(tǒng)規(guī)則處于不斷更新狀態(tài)。在本次實驗中,當?shù)?51個訓練數(shù)據(jù)到來時,系統(tǒng)產(chǎn)生了一條新規(guī)則,原來不活躍模糊規(guī)則被剔出,如圖4所示,產(chǎn)生了陡峭的均方根誤差。
表1 不同算法的均方根誤差輸出結(jié)果對比
D-FNN和這些系統(tǒng)結(jié)構(gòu)上主要不同之處在于模糊規(guī)則的結(jié)論部分。D-FNN的結(jié)論是一個線性函數(shù)而不像OLS、RANEKF和M-RAN的結(jié)論那樣是個常數(shù)。如果這些系統(tǒng)具有相同的復雜性,當非線性參數(shù)以相同的方法選擇時,D-FNN中的更多參數(shù)就得到了全局估計。這也許就是TSK模糊推理和神經(jīng)網(wǎng)絡的結(jié)合可以更加有利于設(shè)計智能系統(tǒng)的原因之一。從仿真結(jié)果來看(表1),也可以得出這樣的結(jié)論。
RBF單元的誤差指數(shù)和有效半徑是根據(jù)式(20)和式(21)動態(tài)調(diào)節(jié)的。開始時,誤差指數(shù)ke和有效半徑kd設(shè)置較大,稱為初學習;隨著不斷學習,誤差指數(shù)ke和有效半徑kd的逐漸減小,開始進入細學習。由于分級學習策略的使用使得學習速度快而有效,網(wǎng)絡結(jié)構(gòu)不會持續(xù)增長,本算法應用于實時學習和控制成為可能。
圖5、圖6顯示了用Hermite函數(shù)逼近的仿真結(jié)果,在這里沒有使用分級學習方法,而其他的參數(shù)選擇和使用分級學習方法一樣。表2列出了使用和不使用分級學習的D-FNN性能比較。由圖5、圖6以及表2可以看出,不使用分級學習的D-FNN,由于RBF單元的有效半徑kd和誤差指數(shù)ke總是很小,因此具有更小的輸出誤差和RMSE。然而,盡管兩者的RMSE幾乎相同,但采用分級學習的算法能保證更小的D-FNN結(jié)構(gòu)和快速的學習速度。
圖5 模糊規(guī)則產(chǎn)生
圖6 訓練數(shù)據(jù)均方根誤差
表2 使用和不使用分級學習的D-FNN性能比較
Table 2 Performance comparison of use and do not use the classification to learn D-FNN
方 法規(guī)則數(shù)訓練時均方根誤差運行時間/s采用分級學習的D?FNN系統(tǒng)70 00555 77未采用分級學習的D?FNN系統(tǒng)90 00546 56
D-FNN算法中,非線性參數(shù)(前提參數(shù))是由訓練樣本(中心)和啟發(fā)式方法(高斯寬度)直接決定的,而沒有用優(yōu)化算法來確定。雖然高斯寬度在學習時可以自適應地調(diào)整,但學習規(guī)則卻很簡單。另一方面,線性參數(shù)(結(jié)論參數(shù))在每一步由LLS或KF進行修正,用這種方法得到的解是全局最優(yōu)的,因此,只需一步訓練就可達到而目標而不需要迭代學習。這種方法的學習速度顯然比文獻[12-14]中采用的BP算法快得多。運行非線性系統(tǒng)辨識、函數(shù)逼近和Mackey-Glas時間序列預測仿真時間列于表3中。
表3 仿真運行時間
值得一提的是,D-FNN學習的快速性是以它不能獲得最優(yōu)為代價的。D-FNN采用在線學習方法,每個樣本只學習一次,而不像文獻[12-14]那樣,一個學習過程是基于整個學習樣本,并對整個神經(jīng)網(wǎng)絡參數(shù)優(yōu)化處理,這一點可以從Mackey-Glas時間序列預測中看出來。
仿真結(jié)果表明,D-FNN具有以下明顯優(yōu)點:
1)學習速度更快。線性參數(shù)在每一步由LLS或KF進行修正,用這種方法得到的解是全局最優(yōu)的,因此,只需一步訓練就可達到而目標而不需要迭代學習。這種方法的學習速度顯然比采用的BP算法快得多。
2)系統(tǒng)結(jié)構(gòu)緊湊。仿真結(jié)果均表明:分級學習的思想能保證更簡潔的結(jié)構(gòu)和更短的學習時間。
3)泛化能力強大。從泛化能力的角度來看,仿真結(jié)果均表明:對測試數(shù)據(jù)的誤差與對訓練數(shù)據(jù)的訓練誤差很接近。這就是說,D-FNN具有很強的泛化能力。
參考文獻:
[1]HONG Z. Algebraic feature extraction of image for recognition[J]. Patt Recog, 2009,24(2): 211-219.
[2]TURK M A, PENTLAND A P. Eigenfaces for recognition[J]. Cognitive Neuroscience, 2010,3(1): 71-86.
[3]CHELLAPPA R, WILSON C L, SIROHEY S. Human and machine recognition of faces: a survey[J]. Proc. IEEE, 2011,93(2): 705-740.
[4]劉金琨. 機器人控制系統(tǒng)的設(shè)計與MATLAB仿真[M]. 北京:清華大學出版社, 2008.
[5]POLYCARPOU M M, CONWAY J Y. Indirect adaptive nonlinear control of drug delivery systems[J]. IEEE Trans Automat Contr, 2009, 43:849-856.
[6]何正風, 張德豐, 孫亞民. 高斯激活函數(shù)特征值分解修剪技術(shù)的D-FNN算法研究[J]. 中山大學學報:自然科學版, 2013, 52(1): 34-39.
[7]WANG L X, MENDEL J M. Fuzzy basis function, universal approximation, and orthogonal least squares learning[J]. IEEE Trans Neural Networks, 2012, 3: 907-914.
[8]任愛紅. 模糊隨機過程函數(shù)列均方差一致Henstock積分的可積性[J]. 中山大學學報:自然科學版, 2010, 51(4): 41-44.
[9]WU S Q, ER M J. Dynamic fuzzy neural networks: a novel approach to function approximation[J]. IEEE Trans Syst, Man, Cybern: Part B, 2011, 30: 358-36.
[10]LU Y, SUNDARARAJAN N, SARATCHANDRAN P. A sequential learning scheme for function approximation by Using minimal radial basis function networks[J]. Neural Computation, 2012, 19(2):461-478.
[11]KADIRKAMANATHAN V, NIRANJAN M. A function estimation approach to sequential learning with neural networks[J]. Neural Computation,2011, 16(4): 954-975.
[12]CHO C B, WANG B H. Radial basis function based adaptive fuzzy systems and their application to system identification and prediction[J]. Fuzzy Sets and Systems, 2011, 83:325-339.
[13]CHAO C T, CHEN Y J, TENG C C. Simplification of fuzzy neural systems using similarity analysis[J]. IEEE Trans Syst, Man, Cybern:Part B, Cybern, 2011, 26: 344-354.
[14]JANG J-S R. ANFIS: adaptive-net work-based fuzzy inference system[J]. IEEE Trans Syst, Man, Cybern, 2012, 23: 665-684.