基于渐消滤波的神经网络优化算法及其应用
高社生, 杨一, 高兵兵    
西北工业大学自动化学院, 陕西西安 710072
摘要: 针对BP神经网络在训练过程中易陷入局部极小值的问题,提出一种新的基于渐消滤波的神经网络学习算法。该算法采用渐消卡尔曼滤波对神经网络的权值进行更新,有效避免了梯度下降算法产生的局部极小问题;与卡尔曼滤波相比,在渐消滤波中充分考虑了最新量测值的影响,能更合理地利用新的有效信息,从而提高了学习算法的收敛速度。学习后的网络不仅具有普通神经网络的自主学习能力,而且具有渐消滤波的最优估计性能。将提出的神经网络算法应用于SINS/BDS组合导航系统进行仿真验证。结果表明,提出的算法在逼近精度方面优于BP算法和卡尔曼滤波算法,可以有效提高神经网络的泛化能力。
关键词: 神经网络     渐消滤波     学习算法     组合导航    

人工神经网络因其具有拓扑结构简单和全局逼近能力较强的特点,在时间序列预测、非线性系统建模与控制等方面得到了广泛的应用[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-1tk-1时刻至tk时刻的一步转移矩阵;Zk为量测变量;Hk为量测阵;WkVk都是零均值白噪声向量;其方差阵分别为QkRk

渐消卡尔曼滤波方程为[9]

式中,λk为渐消因子,也称遗忘因子,且λk≥1;Kk为滤波增益阵;Yk为预测残差;Pk/k-1Pk-1分别为预测误差协方差矩阵和滤波协方差矩阵。(2)~(7)式所列滤波方程与标准卡尔曼方程相比,区别在于将验前状态协方差矩阵膨胀λk倍,使历史状态信息的使用效率降低,从而达到了重用现时测量信息的目的。因此,渐消滤波的关键是渐消因子λk的确定。

1.2 渐消因子的求解

渐消滤波算法包括2类渐消因子,第1类是用最速下降法确定渐消因子,但是计算时需要经过多次迭代,且公式表示复杂,过程较繁琐。第2类渐消因子采用一步算法,如下式所示[8]

第2类渐消因子的简化算法为

式中,tr(·)表示矩阵求迹符号,MkNk的表达式为 式中 式中,预测残差Yk由(4)式给出。一般用开窗估计法确定Ck[9],类似于Sage滤波[10]

当预测残差Yk增大,将引起Ck增大,最佳渐消因子λk也相应增大,使滤波器达到最佳。

2 一种新的渐消滤波神经网络 2.1 BP神经网络

BP神经网络由输入层、若干隐层和输出层组成,其中输入层由线性神经元组成,隐含层和输出层神经元是Sigmoid函数。3层BP神经网络结构如图 1所示[11]

图 1 BP神经网络结构图

图 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)提供训练样本

选择网络输入和输出样本对,输入样本及目标输出样本分别为xydk

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所示。

图 2 飞行器飞行轨迹

图 3 BP算法位置误差

图 4 KF算法位置误差

图 5 FKF算法位置误差

从仿真结果可以看出,BP神经网络得到的位置误差曲线波动较大,约在[-9 m,+9 m]之间,其峰值超过了±10 m。基于卡尔曼滤波的神经网络得到的位置误差约在[-7 m,+7 m]之间,相比BP神经网络,其精度有一定提高。这是因为KF训练神经网络避免了陷入局部极小值的问题,提高了神经网络的泛化能力。与KF训练的神经网络相比,本文提出的渐消滤波神经网络算法得到的位置误差更小,大约控制在[-6 m,+6 m]之内。这是因为渐消滤波可以根据每次计算信息确定渐消因子,将验前状态协方差矩阵膨胀λk倍,调整历史状态信息和现时测量信息对滤波估值的贡献,从而提高了计算精度。

表 1 组合导航系统误差统计
训练算法 东向位置误差/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]
4 结 论

针对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
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)    
西北工业大学主办。
0

文章信息

高社生, 杨一, 高兵兵
Gao Shesheng, Yang Yi, Gao Bingbing
基于渐消滤波的神经网络优化算法及其应用
Neural Network Learning Algorithm Based on Fading Kalman Filtering and Its Application
西北工业大学学报, 2015, 33(2): 320-325
Journal of Northwestern Polytechnical University, 2015, 33(2): 320-325.

文章历史

收稿日期: 2014-09-18

相关文章

工作空间