基于BP神经网络的粒子滤波算法

2014-05-24 16:22王尔申李兴凯庞涛沈阳航空航天大学电子信息工程学院辽宁沈阳110136
智能系统学报 2014年6期
关键词:数目权值滤波

王尔申,李兴凯,庞涛(沈阳航空航天大学电子信息工程学院,辽宁沈阳110136)

基于BP神经网络的粒子滤波算法

王尔申,李兴凯,庞涛
(沈阳航空航天大学电子信息工程学院,辽宁沈阳110136)

针对粒子滤波算法中的粒子退化问题,提出了一种基于BP神经网络的提高粒子滤波多样性的算法。利用BP神经网络的非线性映射功能,通过对权值进行分裂、选择,将粒子中的小权值粒子状态作为神经网络的输入,粒子的权值作为神经网络的权值,以观测值作为神经网络的目标信号,通过多次训练增大小权值粒子的权值,从而提高粒子滤波算法粒子的多样性,改善算法的滤波性能。仿真结果表明:基于BP神经网络的粒子滤波算法的性能在有效粒子数和均方根误差参数方面优于基本粒子滤波算法,在改善滤波精度方面得到了较好的效果,验证了BP神经网络在改进粒子滤波算法中的有效性。

粒子滤波;粒子退化;重采样;BP神经网络

粒子滤波(particle filter,PF)算法是一种基于蒙特卡罗模拟和递推贝叶斯估计的滤波方法,随着采样粒子数的增大,逐渐趋向状态的后验概率密度,在处理非高斯、非线性系统的参数估计和状态滤波问题方面有着明显的优势。近年来,在目标跟踪、卫星姿态估计、金融领域数据分析、图像处理、卫星导航动态定位等方面得到广泛的应用[1⁃5]。对于粒子滤波而言,其主要的缺陷是存在粒子退化现象。采用重采样技术能抑制粒子退化现象,但同时也带来了粒子的多样性丧失、样本枯竭等问题。

文献[6]将卡尔曼滤波与粒子滤波结合提高估计精度。文献[7]将粒子滤波与神经网络结合,可克服神经网络算法易陷于局部极小的缺陷。文献[8]将粒子滤波与自组织模糊神经网络训练算法相结合,利用粒子滤波对参数进行学习,其在结构紧凑性和泛化性能上有所提高。上述这些算法是将粒子滤波用于神经网络算法的改善。

1 基本粒子滤波算法

Gordon提出基于蒙特卡罗方法的序贯重要性重采样粒子滤波算法以来,粒子滤波成为非线性非高斯系统状态估计问题的一个研究热点[9]。

假设描述动态系统的状态方程和观测方程为

式中:Xk为状态向量,Zk为测量向量,fk为状态转移函数,hk为状态向量和观测向量之间的传递函数,vk-1为系统噪声,nk为观测噪声。基本粒子滤波算法的步骤如下所示。

设k-1时刻有一组后验粒子集:

{xk-1(i),ωk-1(i);i=1,2,…,N}

式中:N为粒子数目,xk-1(i)为k-1时刻的第i个粒子,ωk-1(i)为k-1时刻第i个粒子的权重。

1)粒子集初始化,k=0。

根据先验概率密度p(X0)抽取随机样本,X0

(1),X0

(2),…,(N为随机样本数)。

2)当k=1,2,…时,执行以下步骤:

①状态预测。根据系统的状态方程抽取k时刻的先验粒子:

{Xk|k-1(i);i=1,2,…,N}~p(Xk|Xk-1)

②更新。首先,进行权值更新。在获得测量值之后,根据系统的观测方程计算粒子的权值:

③估计。计算当前时刻系统的状态估计值:

基本粒子滤波算法在k时刻抽样时保持了过去的样本不变,而且重要性权是迭代计算的。但重要性权的方差经过若干次迭代,某个权可能趋于1,其余的权趋于0,造成了权值退化现象。粒子滤波的重采样可以抑制权值的退化,但重采样后也带来粒子不再独立。

2 BP神经网络辅助的粒子滤波算法

BP神经网络是一种有教师信号的按误差逆传播算法训练的多层前馈网络。它的学习规则使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层、隐层和输出层,如图1所示。

图1 BP神经网络结构示意图Fig.1 Diagram of BP neural network

设输入样本为p个:x1,x2,…,xp,与之对应的教师信号为d1,d2,..,dp,实际输出为y1,y2,…,yp,输出误差为

采用梯度法对各个层之间的权值进行调整,以使总误差减小,即

式中:η为学习步长,wjk为各层之间的权值,Δwjk为权值修改量,通过总误差对权值进行相应地调整。

将BP神经网络与粒子滤波算法结合,改进的粒子滤波在基本粒子滤波的基础上增加了权值分裂和权值调整2个步骤,BP神经网络辅助的重要性权值调整粒子滤波(NNWA⁃PF)算法详细步骤如下。

1)粒子集初始化,k=0。

根据先验概率密度p(X0)产生随机样本,X0

(1),,…,(N为随机样本数)。

2)当k=1,2,…时,执行以下步骤:

①状态预测。根据系统的状态方程抽取k时刻的先验粒子:

②进行权值更新。在获得测量值之后,根据系统的观测方程并计算粒子的权值:

③粒子分裂。将粒子矩阵按权值大小排序,分为高权值矩阵和低权值矩阵,将高权值矩阵中q个权值大的粒子分裂为2个小的、权值减半的粒子,同时将低权值矩阵中的q个权值最小的粒子舍弃。

④权值调整。将③的粒子权值矩阵进行降序排列,取其中最小的q个粒子,利用BP神经网络调整粒子的权值。

设误差能量定义为

式中:q为输入/输出层神经元的数量,zk为教师信号,即系统在该时刻的量测值,yk为神经网络的输出。输入数据为具有较小权值的粒子,其状态值作为BP神经网络的输入,粒子权值作为神经网络的初始权值,样本的学习函数为系统量测方程。

对更新后的粒子的权值进行归一化,

⑥估计。计算当前时刻系统的状态估计值:

⑦时刻k=k+1,继续计算。

3 实验仿真与结果分析

3.1 实验模型

为了进一步验证算法的有效性,本文引用如下的模型[10],该模型在大量文献中均可看到,是研究比较各种粒子滤波算法性能的典型验证模型之一。

状态模型和观测模型分别为

式中:k表示状态时刻,xk表示状态量,yk表示观测量,状态初始值为x0=0.1,wk、vk均服从零均值高斯分布,方差分别为和,状态变量xk为一维变量,初始状态x0服从高斯分布。

3.2 实验结果性能分析

依据上述模型中的系统方程与测量方程,设定初始时刻状态值x0和粒子总数,神经网络的学习步长为0.05,神经元个数为6,过程噪声方差Q=1、量测噪声方差R=1时。运行环境为MATLAB R2009a,Intel Core(TM)2 Duo CPU T6500,2.1 GHz,2 G内存。为了对比不同粒子数目的实验结果,选取50、100、150个粒子,结果如图2~7所示。

图2 粒子数为50时算法结果对比情况Fig.2 Com parison of the algorithms un⁃der the condition of 50 particles

图3 粒子数为50时误差对比情况Fig.3 Error comparison under the condition of 50 particles

图4 粒子数为100时算法结果对比情况Fig.4 Com parison of the algorithm s under the condi⁃tion of 100 particles

图5 粒子数为100时误差对比情况Fig.5 Error comparison under the condition of 100 particles

图6 粒子数为150时算法结果对比情况Fig.6 Com parison of the algorithm s under the condition of 150 particles

图7 粒子数为150时误差对比情况Fig.7 Error com parison under the condition of 150 particles

从图中可以看出,BP神经网络辅助的粒子滤波算法比基本粒子滤波算法对状态的估计性能更好。2种算法处理后的不同参数如表1所示。

从表1不难看出,粒子数目为N=50,NNWA⁃PF滤波算法的RMSE=3.539 9,基本粒子滤波算法的RMSE=3.816 3。此时,NNWA⁃PF滤波算法的有效样本为30.415 5。粒子数目为N=100时,NNWA⁃ PF滤波算法的RMSE=3.175,基本粒子滤波算法的RMSE=3.517 8。此时,NNWA⁃PF滤波算法的有效样本为48.1209。粒子数目为N=150时,NNWA⁃PF滤波算法的RMSE=3.111 8。此时,NNWA⁃PF滤波的有效样本为71.265 0。从中可以看出引入神经网络后的重要性权值调整粒子滤波算法能有效地抑制样本退化,而且,在同等条件下,有效样本数目增多,方差越小,估计精度越高。

表1 采用不同算法处理后的参数比较Table 1 Parameter comparison of particle filter algorithms

为了验证不同算法复杂度与粒子滤波中粒子个数N的关系,分别选取50,100,…,350个粒子,仿真其运行时间(单位:s),得到的结果如图8、9所示。

图8 粒子滤波算法运行时间与粒子数目的关系Fig.8 Relation of PF running time and number of par⁃ticle

图9 NNWA⁃PF算法运行时间与粒子数目的关系Fig.9 Relation of NNWA⁃PF running time and num⁃ber of particle

从图8和图9中可看出,基本粒子滤波算法的运行时间随着粒子数目的增加基本成线性增长。NNWA⁃PF的运行时间随着粒子数目的增加成非线性增长。

4 结束语

将BP神经网络和基本粒子滤波算法有机结合,通过理论分析和数学仿真,比较了相同粒子数样本条件下,BP神经网络辅助的粒子滤波与基本粒子滤波的有效粒子数目和均方根误差参数,分析了不同粒子数目条件下算法的复杂度。结果表明:神经网络辅助的粒子滤波算法有效地改善了滤波性能,降低了估计方差,同时,粒子滤波器运行时间均与粒子数目呈递增关系,BP算法的引入增加了算法的运行时间。

[1]程水英,张剑云.粒子滤波评述[J].宇航学报,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,FREDRIK 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]夏楠,邱天爽,李景春,等.一种卡尔曼滤波与粒子滤波相结合的非线性滤波算法[J].电子学报,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]陈养平,王来雄,黄士坦.基于粒子滤波的神经网络学习算法[J].武汉大学学报:工学版,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].仪器仪表学报,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]冯驰,赵娜.有效粒子数MCMC粒子滤波算法研究[J].应用科技,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年生,副教授,博士,主要研究方向为卫星导航信号处理算法以及航空电子系统。主持多项纵向项目,发表学术论文20余篇。

李兴凯,男,1988年生,硕士研究生,主要研究方向为卫星导航信息处理。

庞涛,女,1976年生,讲师,主要研究方向为机器人学、人工智能,发表学术论文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].智能系统学报,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.

国家自然科学基金资助项目(61101161);航空科学基金资助项目(2011ZC54010);辽宁省自然科学基金(联合基金)资助项目(2013024003).

王尔申.E⁃mail:wes2016@sau.edu.cn.

猜你喜欢
数目权值滤波
一种融合时间权值和用户行为序列的电影推荐模型
移火柴
CONTENTS
基于EKF滤波的UWB无人机室内定位研究
程序属性的检测与程序属性的分类
基于权值动量的RBM加速学习算法研究
《哲对宁诺尔》方剂数目统计研究
牧场里的马
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法