?
基于漸消濾波的神經(jīng)網(wǎng)絡(luò)優(yōu)化算法及其應(yīng)用
高社生,楊一,高兵兵
(西北工業(yè)大學(xué)自動化學(xué)院,陜西西安710072)
摘要:針對BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中易陷入局部極小值的問題,提出一種新的基于漸消濾波的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。該算法采用漸消卡爾曼濾波對神經(jīng)網(wǎng)絡(luò)的權(quán)值進(jìn)行更新,有效避免了梯度下降算法產(chǎn)生的局部極小問題;與卡爾曼濾波相比,在漸消濾波中充分考慮了最新量測值的影響,能更合理地利用新的有效信息,從而提高了學(xué)習(xí)算法的收斂速度。學(xué)習(xí)后的網(wǎng)絡(luò)不僅具有普通神經(jīng)網(wǎng)絡(luò)的自主學(xué)習(xí)能力,而且具有漸消濾波的最優(yōu)估計(jì)性能。將提出的神經(jīng)網(wǎng)絡(luò)算法應(yīng)用于SINS/BDS組合導(dǎo)航系統(tǒng)進(jìn)行仿真驗(yàn)證。結(jié)果表明,提出的算法在逼近精度方面優(yōu)于BP算法和卡爾曼濾波算法,可以有效提高神經(jīng)網(wǎng)絡(luò)的泛化能力。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);漸消濾波;學(xué)習(xí)算法;組合導(dǎo)航
人工神經(jīng)網(wǎng)絡(luò)因其具有拓?fù)浣Y(jié)構(gòu)簡單和全局逼近能力較強(qiáng)的特點(diǎn),在時間序列預(yù)測、非線性系統(tǒng)建模與控制等方面得到了廣泛的應(yīng)用[1-2]。在各類神經(jīng)網(wǎng)絡(luò)模型中應(yīng)用最廣泛的是前饋神經(jīng)網(wǎng)絡(luò),前饋網(wǎng)絡(luò)中最常用的是基于梯度下降法的BP (back propagation)神經(jīng)網(wǎng)絡(luò)。然而,BP神經(jīng)網(wǎng)絡(luò)存在以下缺點(diǎn):①學(xué)習(xí)算法的收斂速度較慢,BP算法是以梯度下降法為基礎(chǔ),因此只具有線性收斂速度;②學(xué)習(xí)因子η沒有可遵循的選擇規(guī)則,完全根據(jù)經(jīng)驗(yàn)選取;③易陷入局部極小值,從數(shù)學(xué)角度看,BP算法是一種非線性的優(yōu)化問題,這就不可避免地存在局部極小問題[3-4]。
為了克服上述缺陷,文獻(xiàn)[5]提出基于擴(kuò)展卡爾曼濾波(extended kalman filtering,EKF)的神經(jīng)網(wǎng)絡(luò)權(quán)值更新算法。研究結(jié)果表明在逼近精度相同的情況下,該神經(jīng)網(wǎng)絡(luò)的計(jì)算量遠(yuǎn)小于梯度下降算法,有效克服了BP算法收斂速度慢,易陷入局部極小等問題。然而,EKF在計(jì)算過程中忽略二階以上誤差項(xiàng),在系統(tǒng)模型非線性較強(qiáng)時,濾波精度嚴(yán)重降低,從而影響權(quán)值更新的精度。為了進(jìn)一步提高EKF訓(xùn)練神經(jīng)網(wǎng)絡(luò)的精度,文獻(xiàn)[6]利用unscented卡爾曼濾波(UKF)在線調(diào)整神經(jīng)網(wǎng)絡(luò)的權(quán)值,并證明了該方案的可行性和有效性。然而,UKF算法中UT變換迭代會增大計(jì)算量,從而影響該神經(jīng)網(wǎng)絡(luò)算法的實(shí)時性。文獻(xiàn)[7]將基于輸入狀態(tài)穩(wěn)定性(ISS)的學(xué)習(xí)算法應(yīng)用于遞歸神經(jīng)網(wǎng)絡(luò),為系統(tǒng)辨識提供了魯棒控制技術(shù)。仿真結(jié)果表明,該算法可以有效提高非線性系統(tǒng)的辨識精度,并且避免了局部極小值等問題。然而,該算法僅適用于離散系統(tǒng)且計(jì)算量較大。漸消濾波是一種參數(shù)可自適應(yīng)調(diào)節(jié)的濾波算法,能有效利用系統(tǒng)的最新量測信息。在進(jìn)行濾波時,采用漸消因子限制Kalman濾波器的記憶長度,以便充分利用現(xiàn)時的觀測數(shù)據(jù),減小陳舊觀測值的影響,從而使系統(tǒng)具有更好的自適應(yīng)性和魯棒性[8]。
本文在研究漸消濾波和神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,提出一種新的基于漸消濾波的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法(fading Kalman filtering neural network,F(xiàn)KFNN)。該算法利用漸消濾波對神經(jīng)網(wǎng)絡(luò)的權(quán)值進(jìn)行更新,有效地避免了局部極值問題;并且采用漸消因子使歷史狀態(tài)信息的使用效率降低,抑制濾波發(fā)散,從而提高網(wǎng)絡(luò)訓(xùn)練的收斂速度。將該算法應(yīng)用于SINS/BDS組合導(dǎo)航系統(tǒng)進(jìn)行誤差估計(jì),仿真結(jié)果驗(yàn)證了該算法的有效性和實(shí)時性。
1.1漸消濾波原理
設(shè)系統(tǒng)的狀態(tài)模型和觀測模型分別為
式中,Xk為系統(tǒng)狀態(tài)變量;Φk,k-1為tk-1時刻至tk時刻的一步轉(zhuǎn)移矩陣; Zk為量測變量; Hk為量測陣; Wk和Vk都是零均值白噪聲向量;其方差陣分別為Qk和Rk。
漸消卡爾曼濾波方程為[9]
式中,λk為漸消因子,也稱遺忘因子,且λk≥1; Kk為濾波增益陣; Yk為預(yù)測殘差; Pk/k-1和Pk-1分別為預(yù)測誤差協(xié)方差矩陣和濾波協(xié)方差矩陣。(2)~(7)式所列濾波方程與標(biāo)準(zhǔn)卡爾曼方程相比,區(qū)別在于將驗(yàn)前狀態(tài)協(xié)方差矩陣膨脹λk倍,使歷史狀態(tài)信息的使用效率降低,從而達(dá)到了重用現(xiàn)時測量信息的目的。因此,漸消濾波的關(guān)鍵是漸消因子λk的確定。
1.2漸消因子的求解
漸消濾波算法包括2類漸消因子,第1類是用最速下降法確定漸消因子,但是計(jì)算時需要經(jīng)過多次迭代,且公式表示復(fù)雜,過程較繁瑣。第2類漸消因子采用一步算法,如下式所示[8]
第2類漸消因子的簡化算法為
式中,tr(·)表示矩陣求跡符號,Mk和Nk的表達(dá)式為
式中
式中,預(yù)測殘差Yk由(4)式給出。一般用開窗估計(jì)法確定Ck[9],類似于Sage濾波[10]
當(dāng)預(yù)測殘差Yk增大,將引起Ck增大,最佳漸消因子λk也相應(yīng)增大,使濾波器達(dá)到最佳。
2.1BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)由輸入層、若干隱層和輸出層組成,其中輸入層由線性神經(jīng)元組成,隱含層和輸出層神經(jīng)元是Sigmoid函數(shù)。3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示[11]。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
由圖1可以看出,3層前向網(wǎng)絡(luò)的傳遞關(guān)系為
式中,wji為輸入層的第i個神經(jīng)元到隱含層第j個神經(jīng)元的連接權(quán);θj為隱含層第j個神經(jīng)元的閾值; wkj為隱含層的第j個神經(jīng)元到輸出層的第k個神經(jīng)元的連接權(quán);θk是輸出層第k個神經(jīng)元的閾值; f(·)為S型激活函數(shù),滿足
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)通常采用誤差反向傳播法調(diào)整連接權(quán)。設(shè)神經(jīng)網(wǎng)絡(luò)的目標(biāo)函數(shù)為
式中,ydk表示神經(jīng)元k的期望輸出,p表示訓(xùn)練樣本數(shù)。
隱含層與輸出層的連接權(quán)值更新公式為輸入層與隱含層的連接權(quán)值更新公式為
式中,ηj,ηk均為學(xué)習(xí)速率系數(shù),即學(xué)習(xí)因子。
2.2漸消濾波學(xué)習(xí)算法
由于輸出誤差和連接權(quán)值之間存在非線性函數(shù)的關(guān)系,所以梯度下降算法在處理權(quán)值更新時收斂速度較慢??紤]將每個神經(jīng)元的非線性問題轉(zhuǎn)化為線性問題求解。神經(jīng)元由加權(quán)和輸出與S型激活函數(shù)兩部分組成,前一部分是權(quán)重的線性函數(shù),后一部分為權(quán)重的非線性函數(shù)。以輸出層節(jié)點(diǎn)k為例,當(dāng)所有節(jié)點(diǎn)的函數(shù)輸出yk以及加權(quán)和輸入Ik確定時,可以用權(quán)矢量wk與隱含層輸出以及節(jié)點(diǎn)的加權(quán)和輸入Ik組成一個線性系統(tǒng)模型。
以輸出層的一個神經(jīng)元k為例,假設(shè)其連接權(quán)wk作為狀態(tài)變量,該神經(jīng)元的加權(quán)和輸入作為量測值。對于一組學(xué)習(xí)樣本,在訓(xùn)練迭代達(dá)到(t-1)次時,狀態(tài)和量測的一步預(yù)測為
式中,vk是網(wǎng)絡(luò)的量測噪聲。wk是(j + 1)維列向量; S是(j + 1)維行向量,分別由下式表示
式中,wkj(t-1)表示第(t-1)次迭代時輸出層神經(jīng)元k與隱層各節(jié)點(diǎn)的連接權(quán)值; S(t)表示隱層各神經(jīng)元的函數(shù)輸出;θk(t-1)為第(t-1)次迭代時輸出層神經(jīng)元k的閾值。
假設(shè)在第t次迭代時,輸出層神經(jīng)元k的目標(biāo)輸出及輸出層的加權(quán)和輸入分別為ydk(t)和Ik(t/t-1),則量測值為
此時,(4)式中的預(yù)測殘差為
對于輸出層的第k個節(jié)點(diǎn),可得權(quán)向量在第t次迭代時的漸消濾波遞推公式為
式中,Pk為權(quán)值估計(jì)的均方誤差,初始值Pk(0)在計(jì)算中給出; Kk為增益矩陣;λk為漸消因子,其值由(9)~(13)式求取。
根據(jù)上述遞推公式,F(xiàn)KFNN學(xué)習(xí)算法的步驟可歸納如下:
1)初始化
設(shè)置各神經(jīng)元的閾值偏置為任意非零常值;網(wǎng)絡(luò)所有連接權(quán)值為小的隨機(jī)數(shù);初始方差陣為對角矩陣;
2)提供訓(xùn)練樣本
選擇網(wǎng)絡(luò)輸入和輸出樣本對,輸入樣本及目標(biāo)輸出樣本分別為x和ydk;
3)訓(xùn)練神經(jīng)網(wǎng)絡(luò)
根據(jù)輸入輸出樣本對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,計(jì)算網(wǎng)絡(luò)輸出層的加權(quán)和輸入為
Ik(t/t-1) = S(t) wk(t/t-1)
4)調(diào)用漸消濾波遞推方程計(jì)算漸消濾波的增益
計(jì)算更新的誤差協(xié)方差陣
式中,λk(t)為第t次迭代時的漸消因子,由(9)~(13)式求取。
5)求解網(wǎng)絡(luò)輸出層的目標(biāo)加權(quán)和輸入,即漸消濾波量測量為
6)權(quán)值的更新
7)重復(fù)步驟(2)~(6),直至均方誤差或訓(xùn)練次數(shù)滿足要求,訓(xùn)練結(jié)束。
在前向神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)中,非線性特性的學(xué)習(xí)主要由隱層和輸出層完成,因此本文提出的基于漸消濾波的權(quán)值更新算法僅用于隱含層和輸出層之間的權(quán)值和閾值。對于輸入層和隱含層之間的連接權(quán)值及閥值仍采用BP算法進(jìn)行更新。這樣可以在提高網(wǎng)絡(luò)學(xué)習(xí)精度的同時,減小算法的計(jì)算復(fù)雜度,有利于算法的實(shí)時性。
將提出的FKFNN學(xué)習(xí)算法應(yīng)用于SINS/BDS (strapdown inertial navigation system/ Beidou system)組合導(dǎo)航系統(tǒng)中,并與BP算法和基于KF的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法(KFNN)進(jìn)行仿真比較。SINS/BDS組合導(dǎo)航系統(tǒng)兼?zhèn)淞薙INS和BDS的優(yōu)點(diǎn),能夠克服各導(dǎo)航子系統(tǒng)的缺陷,提高整個導(dǎo)航系統(tǒng)的性能。以SINS輸出參數(shù)的誤差量作為系統(tǒng)狀態(tài)變量,系統(tǒng)的量測量由SINS輸出的位置和速度信息與BDS輸出的對應(yīng)信息相減獲得,并選取東北天(E,N,U)地理坐標(biāo)系為導(dǎo)航坐標(biāo)系。組合導(dǎo)航狀態(tài)方程和量測方程見文獻(xiàn)[11]。
作為仿真算例,采用SINS/BDS組合導(dǎo)航系統(tǒng)漸消卡爾曼濾波方程為神經(jīng)網(wǎng)絡(luò)提供仿真實(shí)驗(yàn)所需的訓(xùn)練樣本。隨機(jī)選取5 000對歷元數(shù)據(jù)作為訓(xùn)練樣本,2 000個歷元數(shù)據(jù)作為測試樣本。根據(jù)上述分析,設(shè)計(jì)3層前向神經(jīng)網(wǎng)絡(luò)模型,網(wǎng)絡(luò)的輸入為量測量,輸出為漸消卡爾曼濾法的狀態(tài)量[11]。由組合導(dǎo)航系統(tǒng)的動力學(xué)模型確定輸入和輸出的節(jié)點(diǎn)數(shù)分別為6和2。隱含層神經(jīng)元個數(shù)根據(jù)系統(tǒng)復(fù)雜程度、網(wǎng)絡(luò)訓(xùn)練目標(biāo)的精度以及訓(xùn)練速度等因素綜合確定。通過多次實(shí)驗(yàn),本文最終確定神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為6-12-9。系統(tǒng)采樣周期T= 1 s。當(dāng)網(wǎng)絡(luò)輸出與目標(biāo)值間的誤差滿足要求時,訓(xùn)練結(jié)束。網(wǎng)絡(luò)的權(quán)值也隨之確定,此時輸入一組新的樣本,可用該神經(jīng)網(wǎng)絡(luò)對系統(tǒng)進(jìn)行精確估計(jì)。
設(shè)飛行器的初始位置為東經(jīng)109°,北緯34°,飛行過程包括滑跑加速、拉起、改平、轉(zhuǎn)彎等過程,初始高度為1 000 m,平飛速度為400 m/s。飛行仿真軌跡如圖2所示,仿真時間取2 000 s。假設(shè)陀螺的隨機(jī)漂移為0.01(°) /h,隨機(jī)游走為0.001(°)/。加速度常值誤差為10-4g,隨機(jī)游走為10-5g/。SINS初始速度誤差為0.5 m/s,初始位置誤差為15 m; BDS位置誤差均方根為10 m,速度誤差均方根為0.3 m/s;東向和北向定位誤差的仿真結(jié)果如圖3~圖5所示。
圖2 飛行器飛行軌跡
從仿真結(jié)果可以看出,BP神經(jīng)網(wǎng)絡(luò)得到的位置誤差曲線波動較大,約在[-9 m,+9 m]之間,其峰值超過了±10 m?;诳柭鼮V波的神經(jīng)網(wǎng)絡(luò)得到的位置誤差約在[-7 m,+7 m]之間,相比BP神經(jīng)網(wǎng)絡(luò),其精度有一定提高。這是因?yàn)镵F訓(xùn)練神經(jīng)網(wǎng)絡(luò)避免了陷入局部極小值的問題,提高了神經(jīng)網(wǎng)絡(luò)的泛化能力。與KF訓(xùn)練的神經(jīng)網(wǎng)絡(luò)相比,本文提出的漸消濾波神經(jīng)網(wǎng)絡(luò)算法得到的位置誤差更小,大約控制在[-6 m,+6 m]之內(nèi)。這是因?yàn)闈u消濾波可以根據(jù)每次計(jì)算信息確定漸消因子,將驗(yàn)前狀態(tài)協(xié)方差矩陣膨脹λk倍,調(diào)整歷史狀態(tài)信息和現(xiàn)時測量信息對濾波估值的貢獻(xiàn),從而提高了計(jì)算精度。
圖3 BP算法位置誤差
圖4 KF算法位置誤差
圖5 FKF算法位置誤差
表1 組合導(dǎo)航系統(tǒng)誤差統(tǒng)計(jì)
針對BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練中易陷入局部極小點(diǎn)的問題,提出一種基于漸消濾波的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。該算法利用漸消濾波對神經(jīng)網(wǎng)絡(luò)權(quán)值進(jìn)行更新,有效避免了局部極小值問題;并且采用漸消因子將驗(yàn)前狀態(tài)協(xié)方差矩陣膨脹λ倍,使歷史狀態(tài)信息的使用效率降低,減小陳舊觀測值的影響,從而提高計(jì)算的精度。最后,將該算法應(yīng)用于SINS/BDS組合導(dǎo)航系統(tǒng)進(jìn)行仿真驗(yàn)證。結(jié)果表明,提出的算法在一定程度上克服了BP神經(jīng)網(wǎng)絡(luò)的缺點(diǎn);且改善了神經(jīng)網(wǎng)絡(luò)的泛化能力,從而提高了組合導(dǎo)航系統(tǒng)的解算精度。
參考文獻(xiàn):
[1]Aboelmagd N,Ahmed E,Mohamed B.GPS/INS Integration Utilizing Dynamic Neural Networks for Vehicular Navigation[J].Information Fusion,2011,12(1) : 48-57
[2]Alsmadi M K,Noah S A.Back Propagation Algorithm: The Best Algorithm among the Multi-Layer Perceptron Algorithm[J].International Journal of Computer Science and Network Security,2009,9(4) : 378-383
[3]Hamid M,Nitin K T.Cascading Artificial Neural Networks Optimized by Genetic Algorithm and Integrated with Global Navigation Satellite System to Offer Accurate Ubiquitous in Urban Environment[J].Computers,Environment and Urban Systems,2013,37(1) : 35-44
[4]Azami H,Sanei S,Mohammadi K.Improved the Neural Network Training for Face Recognition Using Adaptive Learning Rate,Resilient Back Propagation and Conjugate Gradient Algorithm[J].Journal of Computer Applications,2011,34(2) : 22-26
[5]Daniel J S.Training Radial Basis Neural Networks with the Extended Kalman Filter[J].Neurocomputing,2002,48(1/2/3/4) : 455-475
[6]馬野,王孝通,戴耀.基于UKF的神經(jīng)網(wǎng)絡(luò)自適應(yīng)全局信息融合方法[J].電子學(xué)報(bào),2005,33(10) : 1914-1916
Ma Ye,Wang Xiaotong,Dai Yao.Study on Nonlinear Optimal Estimation for Neural Networks Data Fusion[J].Acta Electronica Sinica,2005,33(10) : 1914-1916 (in Chinese)
[7]Wen Y.Nonlinear System Identification Using Discrete-Time Recurrent Neural Networks with Stable Learning Algorithm[J].Information Science,2004,158: 131-147
[8]高社生,薛麗,魏文輝.漸消自適應(yīng)Unscented粒子濾波及其在組合導(dǎo)航中的應(yīng)用[J].西北工業(yè)大學(xué)學(xué)報(bào),2012,30(1) : 27-31
Gao Shesheng,Xue Li,Wei Wenhui.Fading Adaptive UPF(Unscented Particle Filtering) Algorithm and Its Application to Integrated Navigation[J].Journal of Northwestern Polytechnical University,2012,30(1) : 27-31 (in Chinese)
[9]夏啟軍,孫優(yōu)賢,周春暉.漸消卡爾曼濾波器的最佳自適應(yīng)算法及其應(yīng)用[J].自動化學(xué)報(bào),1990,16(3) : 210-216
Xia Qijun,Sun Youxian,Zhou Chunhui.An Optimal Adaptive Algorithm for Fading Kalman Filter and Its Application[J].Acta Automatic Sinica,1990,16(3) : 210-216 (in Chinese)
[10]Yang Y,Xu T.An Adaptive Kalman Filter Based on Sage Windowing Weights and Variance Component[J].The Journal of Navigation,2003,56(2) : 231-240
[11]楊一,高社生,吳佳鵬,等.模型預(yù)測前向神經(jīng)網(wǎng)絡(luò)算法及其在組合導(dǎo)航中的應(yīng)用[J].中國慣性技術(shù)學(xué)報(bào),2014,22(2) : 221-226
Yang Yi,Gao Shesheng,Wu Jiapeng,et al.Feed-Forward Neural Network Algorithm Based on Model Predictive Filtering and Its Application in Integrated Navigation[J].Journal of Chinese Inertial Technology,2014,22(2) : 221-226 (in Chinese)
Neural Network Learning Algorithm Based on Fading Kalman Filtering and Its Application
Gao Shesheng,Yang Yi,Gao Bingbing
(Department of Automatic Control,Northwester Polytechnical University,Xi'an 710072,China)
Abstract:Aiming at the local minimum problem in the training process of BP neural network,this paper proposes a novel neural network learning algorithm based on the fading Kalman filtering.This algorithm avoids the problem of local minimum value because it provides the fading Kalman filtering for weights optimizing in neural network training.Compared with Kalman filtering,the fading Kalman filtering gives full consideration to the effects of the newest measurements and uses the effective information more reasonably.Consequently,the convergence speed of the algorithm is improved.The network after training not only has the autonomous learning ability of general neural network,but also has optimal estimation performance of the fading Kalman filtering.The proposed algorithm is applied to SINS/BDS integrated navigation system.Simulation results and their analysis demonstrate preliminarily that the approximation accuracy of the proposed learning algorithm is better than those of BP algorithm and Kalman filtering algorithm.The proposed algorithm,we believe,can improve the generalization capability of neural network effectively.
Key words:algorithms; back propagation algorithms,convergence of numerical methods,covariance matrix,efficiency,error analysis,errors,navigation,neural networks,fading factor,fading Kalman filtering,learning algorithm,integrated navigation,SINS/BDS(Strapdown Inertial Navigation System/ BeiDou System)
作者簡介:高社生(1956—),西北工業(yè)大學(xué)教授、博士生導(dǎo)師,主要從事導(dǎo)航、制導(dǎo)與控制的研究。
收稿日期:2014-09-18基金項(xiàng)目:國家自然科學(xué)基金(61174193)資助
文章編號:1000-2758(2015) 02-0320-06
文獻(xiàn)標(biāo)志碼:A
中圖分類號:TP301.6