人工神经网络因其具有拓扑结构简单和全局逼近能力较强的特点,在时间序列预测、非线性系统建模与控制等方面得到了广泛的应用[1, 2]。在各类神经网络模型中应用最广泛的是前馈神经网络,前馈网络中最常用的是基于梯度下降法的BP(back propagation)神经网络。然而,BP神经网络存在以下缺点:①学习算法的收敛速度较慢,BP算法是以梯度下降法为基础,因此只具有线性收敛速度;②学习因子η没有可遵循的选择规则,完全根据经验选取;③易陷入局部极小值,从数学角度看,BP算法是一种非线性的优化问题,这就不可避免地存在局部极小问题[3, 4]。
为了克服上述缺陷,文献[5]提出基于扩展卡尔曼滤波(extended kalman filtering,EKF)的神经网络权值更新算法。研究结果表明在逼近精度相同的情况下,该神经网络的计算量远小于梯度下降算法,有效克服了BP算法收敛速度慢,易陷入局部极小等问题。然而,EKF在计算过程中忽略二阶以上误差项,在系统模型非线性较强时,滤波精度严重降低,从而影响权值更新的精度。为了进一步提高EKF训练神经网络的精度,文献[6]利用unscented卡尔曼滤波(UKF)在线调整神经网络的权值,并证明了该方案的可行性和有效性。然而,UKF算法中UT变换迭代会增大计算量,从而影响该神经网络算法的实时性。文献[7]将基于输入状态稳定性(ISS)的学习算法应用于递归神经网络,为系统辨识提供了鲁棒控制技术。仿真结果表明,该算法可以有效提高非线性系统的辨识精度,并且避免了局部极小值等问题。然而,该算法仅适用于离散系统且计算量较大。渐消滤波是一种参数可自适应调节的滤波算法,能有效利用系统的最新量测信息。在进行滤波时,采用渐消因子限制Kalman滤波器的记忆长度,以便充分利用现时的观测数据,减小陈旧观测值的影响,从而使系统具有更好的自适应性和鲁棒性[8]。
本文在研究渐消滤波和神经网络的基础上,提出一种新的基于渐消滤波的神经网络学习算法(fading Kalman filtering neural network,FKFNN)。该算法利用渐消滤波对神经网络的权值进行更新,有效地避免了局部极值问题;并且采用渐消因子使历史状态信息的使用效率降低,抑制滤波发散,从而提高网络训练的收敛速度。将该算法应用于SINS/BDS组合导航系统进行误差估计,仿真结果验证了该算法的有效性和实时性。
1 渐消滤波算法 1.1 渐消滤波原理设系统的状态模型和观测模型分别为
式中,Xk为系统状态变量;Φk,k-1为tk-1时刻至tk时刻的一步转移矩阵;Zk为量测变量;Hk为量测阵;Wk和Vk都是零均值白噪声向量;其方差阵分别为Qk和Rk。渐消卡尔曼滤波方程为[9]
式中,λk为渐消因子,也称遗忘因子,且λk≥1;Kk为滤波增益阵;Yk为预测残差;Pk/k-1和Pk-1分别为预测误差协方差矩阵和滤波协方差矩阵。(2)~(7)式所列滤波方程与标准卡尔曼方程相比,区别在于将验前状态协方差矩阵膨胀λk倍,使历史状态信息的使用效率降低,从而达到了重用现时测量信息的目的。因此,渐消滤波的关键是渐消因子λk的确定。 1.2 渐消因子的求解渐消滤波算法包括2类渐消因子,第1类是用最速下降法确定渐消因子,但是计算时需要经过多次迭代,且公式表示复杂,过程较繁琐。第2类渐消因子采用一步算法,如下式所示[8]
第2类渐消因子的简化算法为
式中,tr(·)表示矩阵求迹符号,Mk和Nk的表达式为 式中 式中,预测残差Yk由(4)式给出。一般用开窗估计法确定Ck[9],类似于Sage滤波[10]当预测残差Yk增大,将引起Ck增大,最佳渐消因子λk也相应增大,使滤波器达到最佳。
2 一种新的渐消滤波神经网络 2.1 BP神经网络BP神经网络由输入层、若干隐层和输出层组成,其中输入层由线性神经元组成,隐含层和输出层神经元是Sigmoid函数。3层BP神经网络结构如图 1所示[11]。
由图 1可以看出,3层前向网络的传递关系为
式中,wji为输入层的第i个神经元到隐含层第j个神经元的连接权;θj为隐含层第j个神经元的阈值;wkj为隐含层的第j个神经元到输出层的第k个神经元的连接权;θk是输出层第k个神经元的阈值;f(·)为S型激活函数,满足传统的BP神经网络通常采用误差反向传播法调整连接权。设神经网络的目标函数为
式中,ydk表示神经元k的期望输出,p表示训练样本数。隐含层与输出层的连接权值更新公式为
输入层与隐含层的连接权值更新公式为
式中,ηj,ηk均为学习速率系数,即学习因子。 2.2 渐消滤波学习算法由于输出误差和连接权值之间存在非线性函数的关系,所以梯度下降算法在处理权值更新时收敛速度较慢。考虑将每个神经元的非线性问题转化为线性问题求解。神经元由加权和输出与S型激活函数两部分组成,前一部分是权重的线性函数,后一部分为权重的非线性函数。以输出层节点k为例,当所有节点的函数输出yk以及加权和输入Ik确定时,可以用权矢量wk与隐含层输出以及节点的加权和输入Ik组成一个线性系统模型。
以输出层的一个神经元k为例,假设其连接权wk作为状态变量,该神经元的加权和输入作为量测值。对于一组学习样本,在训练迭代达到(t-1)次时,状态和量测的一步预测为
式中,vk是网络的量测噪声。wk是(j+1)维列向量;S是(j+1)维行向量,分别由下式表示 式中,wkj(t-1)表示第(t-1)次迭代时输出层神经元k与隐层各节点的连接权值;S(t)表示隐层各神经元的函数输出;θk(t-1)为第(t-1)次迭代时输出层神经元k的阈值。假设在第t次迭代时,输出层神经元k的目标输出及输出层的加权和输入分别为ydk(t)和Ik(t/t-1),则量测值为
此时,(4)式中的预测残差为
对于输出层的第k个节点,可得权向量在第t次迭代时的渐消滤波递推公式为
式中,Pk为权值估计的均方误差,初始值Pk(0)在计算中给出;Kk为增益矩阵;λk为渐消因子,其值由(9)~(13)式求取。
根据上述递推公式,FKFNN学习算法的步骤可归纳如下:
1)初始化
设置各神经元的阈值偏置为任意非零常值;网络所有连接权值为小的随机数;初始方差阵为对角矩阵;
2)提供训练样本
选择网络输入和输出样本对,输入样本及目标输出样本分别为x和ydk;
3)训练神经网络
根据输入输出样本对网络进行训练,计算网络输出层的加权和输入为
4)调用渐消滤波递推方程计算渐消滤波的增益
计算更新的误差协方差阵
式中,λk(t)为第t次迭代时的渐消因子,由(9)~(13)式求取。5)求解网络输出层的目标加权和输入,即渐消滤波量测量为
6)权值的更新
7) 重复步骤(2)~(6),直至均方误差或训练次数满足要求,训练结束。
在前向神经网络学习中,非线性特性的学习主要由隐层和输出层完成,因此本文提出的基于渐消滤波的权值更新算法仅用于隐含层和输出层之间的权值和阈值。对于输入层和隐含层之间的连接权值及阀值仍采用BP算法进行更新。这样可以在提高网络学习精度的同时,减小算法的计算复杂度,有利于算法的实时性。
3 仿真实验及分析将提出的FKFNN学习算法应用于SINS/BDS(strapdown inertial navigation system/ Beidou system)组合导航系统中,并与BP算法和基于KF的神经网络学习算法(KFNN)进行仿真比较。SINS/BDS组合导航系统兼备了SINS和BDS的优点,能够克服各导航子系统的缺陷,提高整个导航系统的性能。以SINS输出参数的误差量作为系统状态变量,系统的量测量由SINS输出的位置和速度信息与BDS输出的对应信息相减获得,并选取东北天(E,N,U)地理坐标系为导航坐标系。组合导航状态方程和量测方程见文献[11]。
作为仿真算例,采用SINS/BDS组合导航系统渐消卡尔曼滤波方程为神经网络提供仿真实验所需的训练样本。随机选取5 000对历元数据作为训练样本,2 000个历元数据作为测试样本。根据上述分析,设计3层前向神经网络模型,网络的输入为量测量,输出为渐消卡尔曼滤法的状态量[11]。由组合导航系统的动力学模型确定输入和输出的节点数分别为6和2。隐含层神经元个数根据系统复杂程度、网络训练目标的精度以及训练速度等因素综合确定。通过多次实验,本文最终确定神经网络结构为6-12-9。系统采样周期T=1 s。当网络输出与目标值间的误差满足要求时,训练结束。网络的权值也随之确定,此时输入一组新的样本,可用该神经网络对系统进行精确估计。
设飞行器的初始位置为东经109°,北纬34°,飞行过程包括滑跑加速、拉起、改平、转弯等过程,初始高度为1 000 m,平飞速度为400 m/s。飞行仿真轨迹如图 2所示,仿真时间取2 000 s。假设陀螺的随机漂移为0.01(°)/h,随机游走为0.001(°)/h。加速度常值误差为10-4g,随机游走为10-5g/s。SINS初始速度误差为0.5 m/s,初始位置误差为15 m;BDS位置误差均方根为10 m,速度误差均方根为0.3 m/s;东向和北向定位误差的仿真结果如图 3~图 5所示。
从仿真结果可以看出,BP神经网络得到的位置误差曲线波动较大,约在[-9 m,+9 m]之间,其峰值超过了±10 m。基于卡尔曼滤波的神经网络得到的位置误差约在[-7 m,+7 m]之间,相比BP神经网络,其精度有一定提高。这是因为KF训练神经网络避免了陷入局部极小值的问题,提高了神经网络的泛化能力。与KF训练的神经网络相比,本文提出的渐消滤波神经网络算法得到的位置误差更小,大约控制在[-6 m,+6 m]之内。这是因为渐消滤波可以根据每次计算信息确定渐消因子,将验前状态协方差矩阵膨胀λk倍,调整历史状态信息和现时测量信息对滤波估值的贡献,从而提高了计算精度。
训练算法 | 东向位置误差/m | 北向位置误差/m |
BPNN | [-9.3,+9.1] | [-8.9,+8.2] |
KFNN | [-6.9,+7.2] | [-7.3,+7.1] |
FKFNN | [-6.1,+5.9] | [-6.0,+6.2] |
针对BP神经网络在训练中易陷入局部极小点的问题,提出一种基于渐消滤波的神经网络学习算法。该算法利用渐消滤波对神经网络权值进行更新,有效避免了局部极小值问题;并且采用渐消因子将验前状态协方差矩阵膨胀λ倍,使历史状态信息的使用效率降低,减小陈旧观测值的影响,从而提高计算的精度。最后,将该算法应用于SINS/BDS组合导航系统进行仿真验证。结果表明,提出的算法在一定程度上克服了BP神经网络的缺点;且改善了神经网络的泛化能力,从而提高了组合导航系统的解算精度。
[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 |
Click to display the text | |
[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 |
Click to display the text | |
[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 |
Click to display the text | |
[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 |
Click to display the text | |
[5] | Daniel J S. Training Radial Basis Neural Networks with the Extended Kalman Filter[J]. Neurocomputing, 2002, 48(1/2/3/4):455-475 |
Click to display the text | |
[6] | 马野,王孝通,戴耀.基于UKF的神经网络自适应全局信息融合方法[J].电子学报,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) |
Cited By in Cnki (21) | Click to display the text | |
[7] | Wen Y. Nonlinear System Identification Using Discrete-Time Recurrent Neural Networks with Stable Learning Algorithm[J]. Information Science, 2004, 158:131-147 |
Click to display the text | |
[8] | 高社生,薛丽,魏文辉.渐消自适应Unscented粒子滤波及其在组合导航中的应用[J].西北工业大学学报,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) |
Cited By in Cnki (10) | Click to display the text | |
[9] | 夏启军,孙优贤,周春晖.渐消卡尔曼滤波器的最佳自适应算法及其应用[J].自动化学报,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) |
Cited By in Cnki (106) | Click to display the text | |
[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 |
Click to display the text | |
[11] | 杨一,高社生,吴佳鹏,等.模型预测前向神经网络算法及其在组合导航中的应用[J].中国惯性技术学报, 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) |
Cited By in Cnki (2) | Click to display the text |