王爾申,李興凱,龐濤(沈陽航空航天大學(xué)電子信息工程學(xué)院,遼寧沈陽110136)
基于BP神經(jīng)網(wǎng)絡(luò)的粒子濾波算法
王爾申,李興凱,龐濤
(沈陽航空航天大學(xué)電子信息工程學(xué)院,遼寧沈陽110136)
針對粒子濾波算法中的粒子退化問題,提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的提高粒子濾波多樣性的算法。利用BP神經(jīng)網(wǎng)絡(luò)的非線性映射功能,通過對權(quán)值進(jìn)行分裂、選擇,將粒子中的小權(quán)值粒子狀態(tài)作為神經(jīng)網(wǎng)絡(luò)的輸入,粒子的權(quán)值作為神經(jīng)網(wǎng)絡(luò)的權(quán)值,以觀測值作為神經(jīng)網(wǎng)絡(luò)的目標(biāo)信號,通過多次訓(xùn)練增大小權(quán)值粒子的權(quán)值,從而提高粒子濾波算法粒子的多樣性,改善算法的濾波性能。仿真結(jié)果表明:基于BP神經(jīng)網(wǎng)絡(luò)的粒子濾波算法的性能在有效粒子數(shù)和均方根誤差參數(shù)方面優(yōu)于基本粒子濾波算法,在改善濾波精度方面得到了較好的效果,驗證了BP神經(jīng)網(wǎng)絡(luò)在改進(jìn)粒子濾波算法中的有效性。
粒子濾波;粒子退化;重采樣;BP神經(jīng)網(wǎng)絡(luò)
粒子濾波(particle filter,PF)算法是一種基于蒙特卡羅模擬和遞推貝葉斯估計的濾波方法,隨著采樣粒子數(shù)的增大,逐漸趨向狀態(tài)的后驗概率密度,在處理非高斯、非線性系統(tǒng)的參數(shù)估計和狀態(tài)濾波問題方面有著明顯的優(yōu)勢。近年來,在目標(biāo)跟蹤、衛(wèi)星姿態(tài)估計、金融領(lǐng)域數(shù)據(jù)分析、圖像處理、衛(wèi)星導(dǎo)航動態(tài)定位等方面得到廣泛的應(yīng)用[1?5]。對于粒子濾波而言,其主要的缺陷是存在粒子退化現(xiàn)象。采用重采樣技術(shù)能抑制粒子退化現(xiàn)象,但同時也帶來了粒子的多樣性喪失、樣本枯竭等問題。
文獻(xiàn)[6]將卡爾曼濾波與粒子濾波結(jié)合提高估計精度。文獻(xiàn)[7]將粒子濾波與神經(jīng)網(wǎng)絡(luò)結(jié)合,可克服神經(jīng)網(wǎng)絡(luò)算法易陷于局部極小的缺陷。文獻(xiàn)[8]將粒子濾波與自組織模糊神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法相結(jié)合,利用粒子濾波對參數(shù)進(jìn)行學(xué)習(xí),其在結(jié)構(gòu)緊湊性和泛化性能上有所提高。上述這些算法是將粒子濾波用于神經(jīng)網(wǎng)絡(luò)算法的改善。
Gordon提出基于蒙特卡羅方法的序貫重要性重采樣粒子濾波算法以來,粒子濾波成為非線性非高斯系統(tǒng)狀態(tài)估計問題的一個研究熱點[9]。
假設(shè)描述動態(tài)系統(tǒng)的狀態(tài)方程和觀測方程為
式中:Xk為狀態(tài)向量,Zk為測量向量,fk為狀態(tài)轉(zhuǎn)移函數(shù),hk為狀態(tài)向量和觀測向量之間的傳遞函數(shù),vk-1為系統(tǒng)噪聲,nk為觀測噪聲?;玖W訛V波算法的步驟如下所示。
設(shè)k-1時刻有一組后驗粒子集:
{xk-1(i),ωk-1(i);i=1,2,…,N}
式中:N為粒子數(shù)目,xk-1(i)為k-1時刻的第i個粒子,ωk-1(i)為k-1時刻第i個粒子的權(quán)重。
1)粒子集初始化,k=0。
根據(jù)先驗概率密度p(X0)抽取隨機(jī)樣本,X0
(1),X0
(2),…,(N為隨機(jī)樣本數(shù))。
2)當(dāng)k=1,2,…時,執(zhí)行以下步驟:
①狀態(tài)預(yù)測。根據(jù)系統(tǒng)的狀態(tài)方程抽取k時刻的先驗粒子:
{Xk|k-1(i);i=1,2,…,N}~p(Xk|Xk-1)
②更新。首先,進(jìn)行權(quán)值更新。在獲得測量值之后,根據(jù)系統(tǒng)的觀測方程計算粒子的權(quán)值:
③估計。計算當(dāng)前時刻系統(tǒng)的狀態(tài)估計值:
基本粒子濾波算法在k時刻抽樣時保持了過去的樣本不變,而且重要性權(quán)是迭代計算的。但重要性權(quán)的方差經(jīng)過若干次迭代,某個權(quán)可能趨于1,其余的權(quán)趨于0,造成了權(quán)值退化現(xiàn)象。粒子濾波的重采樣可以抑制權(quán)值的退化,但重采樣后也帶來粒子不再獨立。
BP神經(jīng)網(wǎng)絡(luò)是一種有教師信號的按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò)。它的學(xué)習(xí)規(guī)則使用最速下降法,通過反向傳播來不斷調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,使網(wǎng)絡(luò)的誤差平方和最小。BP神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)包括輸入層、隱層和輸出層,如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.1 Diagram of BP neural network
設(shè)輸入樣本為p個:x1,x2,…,xp,與之對應(yīng)的教師信號為d1,d2,..,dp,實際輸出為y1,y2,…,yp,輸出誤差為
采用梯度法對各個層之間的權(quán)值進(jìn)行調(diào)整,以使總誤差減小,即
式中:η為學(xué)習(xí)步長,wjk為各層之間的權(quán)值,Δwjk為權(quán)值修改量,通過總誤差對權(quán)值進(jìn)行相應(yīng)地調(diào)整。
將BP神經(jīng)網(wǎng)絡(luò)與粒子濾波算法結(jié)合,改進(jìn)的粒子濾波在基本粒子濾波的基礎(chǔ)上增加了權(quán)值分裂和權(quán)值調(diào)整2個步驟,BP神經(jīng)網(wǎng)絡(luò)輔助的重要性權(quán)值調(diào)整粒子濾波(NNWA?PF)算法詳細(xì)步驟如下。
1)粒子集初始化,k=0。
根據(jù)先驗概率密度p(X0)產(chǎn)生隨機(jī)樣本,X0
(1),,…,(N為隨機(jī)樣本數(shù))。
2)當(dāng)k=1,2,…時,執(zhí)行以下步驟:
①狀態(tài)預(yù)測。根據(jù)系統(tǒng)的狀態(tài)方程抽取k時刻的先驗粒子:
②進(jìn)行權(quán)值更新。在獲得測量值之后,根據(jù)系統(tǒng)的觀測方程并計算粒子的權(quán)值:
③粒子分裂。將粒子矩陣按權(quán)值大小排序,分為高權(quán)值矩陣和低權(quán)值矩陣,將高權(quán)值矩陣中q個權(quán)值大的粒子分裂為2個小的、權(quán)值減半的粒子,同時將低權(quán)值矩陣中的q個權(quán)值最小的粒子舍棄。
④權(quán)值調(diào)整。將③的粒子權(quán)值矩陣進(jìn)行降序排列,取其中最小的q個粒子,利用BP神經(jīng)網(wǎng)絡(luò)調(diào)整粒子的權(quán)值。
設(shè)誤差能量定義為
式中:q為輸入/輸出層神經(jīng)元的數(shù)量,zk為教師信號,即系統(tǒng)在該時刻的量測值,yk為神經(jīng)網(wǎng)絡(luò)的輸出。輸入數(shù)據(jù)為具有較小權(quán)值的粒子,其狀態(tài)值作為BP神經(jīng)網(wǎng)絡(luò)的輸入,粒子權(quán)值作為神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,樣本的學(xué)習(xí)函數(shù)為系統(tǒng)量測方程。
對更新后的粒子的權(quán)值進(jìn)行歸一化,
⑥估計。計算當(dāng)前時刻系統(tǒng)的狀態(tài)估計值:
⑦時刻k=k+1,繼續(xù)計算。
3.1 實驗?zāi)P?/p>
為了進(jìn)一步驗證算法的有效性,本文引用如下的模型[10],該模型在大量文獻(xiàn)中均可看到,是研究比較各種粒子濾波算法性能的典型驗證模型之一。
狀態(tài)模型和觀測模型分別為
式中:k表示狀態(tài)時刻,xk表示狀態(tài)量,yk表示觀測量,狀態(tài)初始值為x0=0.1,wk、vk均服從零均值高斯分布,方差分別為和,狀態(tài)變量xk為一維變量,初始狀態(tài)x0服從高斯分布。
3.2 實驗結(jié)果性能分析
依據(jù)上述模型中的系統(tǒng)方程與測量方程,設(shè)定初始時刻狀態(tài)值x0和粒子總數(shù),神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)步長為0.05,神經(jīng)元個數(shù)為6,過程噪聲方差Q=1、量測噪聲方差R=1時。運行環(huán)境為MATLAB R2009a,Intel Core(TM)2 Duo CPU T6500,2.1 GHz,2 G內(nèi)存。為了對比不同粒子數(shù)目的實驗結(jié)果,選取50、100、150個粒子,結(jié)果如圖2~7所示。
圖2 粒子數(shù)為50時算法結(jié)果對比情況Fig.2 Com parison of the algorithms un?der the condition of 50 particles
圖3 粒子數(shù)為50時誤差對比情況Fig.3 Error comparison under the condition of 50 particles
圖4 粒子數(shù)為100時算法結(jié)果對比情況Fig.4 Com parison of the algorithm s under the condi?tion of 100 particles
圖5 粒子數(shù)為100時誤差對比情況Fig.5 Error comparison under the condition of 100 particles
圖6 粒子數(shù)為150時算法結(jié)果對比情況Fig.6 Com parison of the algorithm s under the condition of 150 particles
圖7 粒子數(shù)為150時誤差對比情況Fig.7 Error com parison under the condition of 150 particles
從圖中可以看出,BP神經(jīng)網(wǎng)絡(luò)輔助的粒子濾波算法比基本粒子濾波算法對狀態(tài)的估計性能更好。2種算法處理后的不同參數(shù)如表1所示。
從表1不難看出,粒子數(shù)目為N=50,NNWA?PF濾波算法的RMSE=3.539 9,基本粒子濾波算法的RMSE=3.816 3。此時,NNWA?PF濾波算法的有效樣本為30.415 5。粒子數(shù)目為N=100時,NNWA? PF濾波算法的RMSE=3.175,基本粒子濾波算法的RMSE=3.517 8。此時,NNWA?PF濾波算法的有效樣本為48.1209。粒子數(shù)目為N=150時,NNWA?PF濾波算法的RMSE=3.111 8。此時,NNWA?PF濾波的有效樣本為71.265 0。從中可以看出引入神經(jīng)網(wǎng)絡(luò)后的重要性權(quán)值調(diào)整粒子濾波算法能有效地抑制樣本退化,而且,在同等條件下,有效樣本數(shù)目增多,方差越小,估計精度越高。
表1 采用不同算法處理后的參數(shù)比較Table 1 Parameter comparison of particle filter algorithms
為了驗證不同算法復(fù)雜度與粒子濾波中粒子個數(shù)N的關(guān)系,分別選取50,100,…,350個粒子,仿真其運行時間(單位:s),得到的結(jié)果如圖8、9所示。
圖8 粒子濾波算法運行時間與粒子數(shù)目的關(guān)系Fig.8 Relation of PF running time and number of par?ticle
圖9 NNWA?PF算法運行時間與粒子數(shù)目的關(guān)系Fig.9 Relation of NNWA?PF running time and num?ber of particle
從圖8和圖9中可看出,基本粒子濾波算法的運行時間隨著粒子數(shù)目的增加基本成線性增長。NNWA?PF的運行時間隨著粒子數(shù)目的增加成非線性增長。
將BP神經(jīng)網(wǎng)絡(luò)和基本粒子濾波算法有機(jī)結(jié)合,通過理論分析和數(shù)學(xué)仿真,比較了相同粒子數(shù)樣本條件下,BP神經(jīng)網(wǎng)絡(luò)輔助的粒子濾波與基本粒子濾波的有效粒子數(shù)目和均方根誤差參數(shù),分析了不同粒子數(shù)目條件下算法的復(fù)雜度。結(jié)果表明:神經(jīng)網(wǎng)絡(luò)輔助的粒子濾波算法有效地改善了濾波性能,降低了估計方差,同時,粒子濾波器運行時間均與粒子數(shù)目呈遞增關(guān)系,BP算法的引入增加了算法的運行時間。
[1]程水英,張劍云.粒子濾波評述[J].宇航學(xué)報,2008,29(4):1099?1111.CHENG Shuiying,ZHANG Jianyun.Review on particle fil?ters[J].Journal of Astronautics,2008,29(4):1099?1111.
[2]LI P,KADIRKAMANATHAN V.Particle filtering based likelihood ratio approach to fault diagnosis in nonlinear sto?chastic systems[J].IEEE Trans Syst,Man,Cybern C,2001,31(3):337?343.
[3]GUSTAFSSON F,F(xiàn)REDRIK G.Particle filters for positio?ning,navigation,and tracking[J].IEEE Transactions on Signal Processing,2002,50(2):425?437.
[4]QINGMing,JO K H.A novel particle filter implementation for a multiple?vehicle detection and tracking system using tail light segmentation[J].International Journal of Control,Automation and Systems,2013,11(3):577?585.
[5]CHEN Zhimin,BO Yuming,WU Panlong,etal.Novelpar?ticle filter algorithm based on adaptive particle swarm opti?mization and its application to radar target tracking[J].Control and Decision,2013,28(2):193?200.
[6]夏楠,邱天爽,李景春,等.一種卡爾曼濾波與粒子濾波相結(jié)合的非線性濾波算法[J].電子學(xué)報,2013,41(1):148?152.XIA Nan,QIU Tianshuang,LIJingchun,et al.A nonlinear filtering algorithm combining the kalman filter and the parti?cle filter[J].Acta Electronica Sinica,2013,41(1):148?152.
[7]陳養(yǎng)平,王來雄,黃士坦.基于粒子濾波的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[J].武漢大學(xué)學(xué)報:工學(xué)版,2006,39(6):86?88.CHEN Yangping,WANG Laixiong,HUANG Shitan.Neural network learning algorithm based on particle filter[J].Engi?neering Journal ofWuhan University,2006,39(6):86?88.
[8]程洪炳,黃國榮,倪世宏,等.基于粒子濾波的自組織模糊神經(jīng)網(wǎng)絡(luò)算法研究[J].儀器儀表學(xué)報,2011,32(3):634?639.CHENG Hongbing,HUANG Guorong,NI Shihong,et al.Desighn of self?organizing fuzzy neural network based on particle filter[J].Chinese Journal of Scientific Instrument,2011,32(3):634?639.
[9]ARULAMPALAM M S,MASKELL S,GORDON N,et al.A tutorial on particle filters for online nonlinear/non?Gaussi?an Bayesian tracking[J].IEEE Transactions on Signal Pro?cessing,2002,50(2):174?188.
[10]馮馳,趙娜.有效粒子數(shù)MCMC粒子濾波算法研究[J].應(yīng)用科技,2009,36(4):19?22.FENG Chi,ZHAO Na.Research on MCMC particle filter algorithm[J].Applied Science and Technology,2009,36(4):19?22.
王爾申,男,1980年生,副教授,博士,主要研究方向為衛(wèi)星導(dǎo)航信號處理算法以及航空電子系統(tǒng)。主持多項縱向項目,發(fā)表學(xué)術(shù)論文20余篇。
李興凱,男,1988年生,碩士研究生,主要研究方向為衛(wèi)星導(dǎo)航信息處理。
龐濤,女,1976年生,講師,主要研究方向為機(jī)器人學(xué)、人工智能,發(fā)表學(xué)術(shù)論文10篇。
A particle filtering algorithm based on the BP neural network
WANG Ershen,LIXingkai,PANG Tao
(School of Electronic and Information Engineering,Shenyang Aerospace University,Shenyang 110136,China)
Aiming at the particle degeneracy phenomena in particle filtering algorithms,a particle filtering algorithm based on the BP neural network is presented for improving the diversity of particles.This algorithm utilizes the non?linearmapping function of the BP neuralnetwork.Firstof all,to sample particles from the importance density func?tion of particleweight division,theweighted particle is split into two smallweight particles.Next,theweightof ver?y small particles is abandoned and the particleswith smallerweightare adjusted using the neural network.The state of the remaining smallweight particles is used as the inputof neural network.The weights of particles are treated as the weights of neural network by using the observed value as the target signal of the neural network.The weights of many small particles can be increased through many times′trainings,thereby increasing the diversity of particle samples in the particle filter algorithm.Simulation results showed that the particle filter algorithm based on BP neu?ral network can increase the number of effective particles,reduce themean square error,and the filtering precision performance is improved.It is proven that this particle filter algorithm based on BP neural network is reliable and effective.
particle filter;particle degeneracy;resampling;BP neural network
TP391
A
1673?4785(2014)06?0709?05
王爾申,李興凱,龐濤.基于BP神經(jīng)網(wǎng)絡(luò)的粒子濾波算法[J].智能系統(tǒng)學(xué)報,2014,9(6):709?713.
英文引用格式:WANG Ershen,LIXingkai,PANG Tao.A particle filtering algorithm based on the BP neural network[J].CAAI Transactions on Intelligent Systems,2014,9(6):709?713.
10.3969/j.issn.1673?4785.201310057
http://www.cnki.net/kcms/doi/10.3969/j.issn.1673?4785.201310057.htm l
2013?10?22.
日期:2014?09?30.
國家自然科學(xué)基金資助項目(61101161);航空科學(xué)基金資助項目(2011ZC54010);遼寧省自然科學(xué)基金(聯(lián)合基金)資助項目(2013024003).
王爾申.E?mail:wes2016@sau.edu.cn.