APP下载

PSO-BP网络算法在运动要素解算中的应用

2018-12-20程国胜周祥龙

数字海洋与水下攻防 2018年3期
关键词:权值神经元粒子

程国胜,周祥龙

(1.中国船舶重工集团公司第七一○研究所,湖北 宜昌 443003;2.海军潜艇学院,山东 青岛 266003)

0 引言

水下无人航行器(Unmanned Underwater Vehicle,简称UUV)在海洋工程装备领域中的一个重要作用是对预定水域进行警戒监视,并对特定目标进行定位,这需要对目标的运动要素进行解算。在实际应用过程中,由于受海洋环境的影响或者收到水文气象等条件的影响,导致目标方位信息的测量误差和目标的距离误差,因此,在解算的过程中,经常存在超正常误差的现象。为了降低误差,提高目标运动要素解算的精度,通常会采用一系列的算法剔除严重偏离均值的采样数据,例如可以采用最常用的最小二乘估计原理,可以采用基于小波去噪算法[1]去除采样数据中的白噪声,可以采用应用数理统计参数估计方法[2]估算出误差模型,去掉异常数据,提高估计精度。此外,研究人员还对不同的算法的误差估计判别准则进行比较分析[3]综合归纳,给出了应用这些判别准则的建议。还有一些其他目标运动要素解算的方法[4-5]。这些方法能很好地解决一些具体情况,但是都需要构造一个判别的方程,并对判别方程进行反复修正参数后获得较好效果,在实际应用过程中受到一定约束。

本文则提出了将粒子群(PSO)算法作为BP网络的学习机制,形成PSO-BP网络算法,并将其应用到目标运动要素解算中。这种方法采用粒子群优化算法作为BP网络的学习算法,并将其应用于BP网络的权值优化,使BP网络算法精度更高,收敛速度更快,动态估计采样值的残差矢量,提高运动要素估计的质量,进而提高运动要素的解算精度。具体算法将在下面详细阐述。

1 PSO-BP神经网络算法

神经网络算法是一种人工智能算法,是一种应用于类似大脑神经突触连接的结构进行信息处理的数学模型,主要应用在非线性计算及模型预测等领域。神经网络算法由大量的简单基本神经元相互联接而成的自适应非线性动态系统。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂,人们根据对神经网络算法的应用不同,开发了多种神经网络模型,例如BP网络。BP网络全称为Back-Propagation Network,即反向传播网络,该网络是一个前向多层网络,它利用误差反向传播算法对网络进行训练,标准的BP网络模型由输入层、隐含层、输出层组成。各层次的神经元之间形成全互连接,各层次内的神经元之间没有连接[6-7],如图1所示。

对于BP模型的输入层来说,其神经元的输出和输入相同,即oi=ii,中间层隐含层和输出层的神经元的操作特性为

(1)

opj=fj(netpj)

(2)

式中:p表示当前的输入样本;wji为从神经元i到神经元j的连接权值;opi为神经元j的当前输入;opj为其输出;fj为非线性可微非递减函数,一般取s型函数,即:

fj(x)=1/(1+e-x)

(3)

对BP网络进行训练时,首先要提供一组训练样本,其中的每个样本由输入样本和理想样本输出对组成。当网络的所有实际输出与理想输出一致时,表明训练结束。否则,通过修正权值,使网络的理想输出与实际输出一致。标准的BP算法沿着目标函数下降最快的方向即负梯度方向来调整权值,其算法如下:

wk+1=wk-akδk

(4)

式中:wk是当前的权重矢量;δk为当前梯度;ak为学习速率。

从式(4)可以看出:网络连接权值的修改完全依赖于梯度值,这种采用非线性梯度优化算法,极易导致在调整权值中形成局部极小而得不到整体的优化。同时,采用这种方法学习次数比较多,因而收敛速度慢。为此本文采用了一种新的学习算法:粒子群优化算法(Particle Swarm Optimization,简称PSO)。

在PSO中,每个优化问题的解都是搜索空间中的一只鸟,称之为“粒子(Particle)”。所有粒子都有一个由被优化的函数通过计算而决定的适应度值(Fitness value),每个粒子还有一个速度(Velocity)决定它们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索。PSO在优化时,首先要初始化,并赋值为一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪2个最优值来更新自己。第一个就是粒子自己找到的最优解,这个解叫做个体极值pbest;另一个极值是整个种群目前找到的最优解,这个极值是全局极值gbest。

设粒子群中的每个粒子在n空间中飞行,则Xi=(xi1,xi2,…,xin)为粒子i的当前位置;pi-best=(pi1,pi2,…,pin)为粒子i所经历过的最好位置;gbest=(gi1,gi2,…,gin)为粒子群所经历过的最好位置;Vi=(vi1,vi2,…,vin)为粒子i的当前飞行速度。

按照以上的定义,粒子群优化算法方程为

vij(t+1)=vij(t)+c1r1j(t)(pij(t)-xij(t))+

c2r2j(t)(gj(t)-xij(t))

(5)

xij(t+1)=xij(t)+vij(t+1)

(6)

式中:j表示粒子的第j维;i表示第i个粒子;c1、c2为加速常数;r1、r2为2个相互独立的随即函数。

将式(5)和(6)应用到BP网络的学习机制中,把BP网络的各个神经元之间的连接权值组合成为一个向量Wi=[w1,w2…wn],并把这个向量看成一个粒子,即Wi=Xi=[x1,x2,…xn],于是,通过随机函数可以产生多个粒子X,即产生多组BP网络神经元连接权值,并形成粒子群,该粒子群按照式(5)和(6)计算的飞行速度和飞行方向最终找到最优的位置gbest,这个位置的坐标即为该BP网络结构中最优的连接权值。由于该方法选取所有粒子中最好的位置,因此其全局优化能力更好,此外,由于多个粒子同时寻找最优位置,所以采用这种方法比标准BP网络训练算法具有更快的收敛速度[8]。其收敛速度对比图如图2、图3所示。

图2、图3分别通过MATLAB语言对同一组输入向量和目标向量进行仿真训练,其训练误差均为0.01。图2是采用BP网络对目标向量进行训练的,当误差达到0.01时,BP网络用了30步,而到达相同精度的PSO-BP网络则只用了10步,这说明采用粒子群算法的BP网络,由于在训练的过程中是一群粒子同时在寻找最优权值,所以他的收敛速度要比采用梯度下降的BP标准网络训练算法快,而且初始化网络时,设定的粒子数越多其收敛速度也越快。

2 在目标运动要素解算中的应用

2.1 最小二乘法解算运动要素

在阐述PSO-BP神经网络在解算目标运动要素之前先介绍一下最常用的最小二乘法解算运动要素,以便比较采用神经网络的优势。

首先介绍最小二乘法的基本算法,假设需要将观测到的数据进行曲线拟合,并采用n阶拟合函数描述该曲线:

f(x)=a0+a1+a2x2+…+anxn

式中a0,a1,a2,an为上式函数的待定参数,如果通过测定得到一组测量数据并形成如下矩阵

并将上述矩阵代入函数中,可以得到拟合后的函数值与测量值的误差,采用矢量表示为

E=∑e2=∑(f(xi)-yi)2

根据上式的E值寻找出最小值,采用导数理论,对其求导,得到导数方程将系数计算出即可[9-10]。这是最小二乘法的基本原理。该方法在观测数据存在较大误差,同时拟合曲线自身也存在误差的情况下,不能及时去除大偏差数据,因此,存在一定的约束性。

2.2 PSO-BP网络解算目标运动要素

下面将阐述PSO-BP神经网络算法在运动要素解算中的应用,假设观测设备的初始位置为A点,初始方位133°,初始速度4 kn,被观测运动目标为B,目标B相对于A的初始方位130°,目标B的航行方向为-50°,航行速度为18 kn,A点与B点的初始距离为8.6 kn,3 min后进行第一次机动以获得不同方位的目标信息,机动后的航向为70°,速度为4 kn,大约在5 min后再进行一次机动以获得不同方位的目标信息,第二次机动后的航向为150°,航速为4 kn,观测点A和被观测目标B的初始位置关系如图4所示。

对目标运动要素解算的前提条件是对各个模型进行初始化和设定初始参数。BP网络初始化时要将其参数归一化,使得变量参数统一到[-1,1,]这样便于加快BP网络的计算速度,待BP网络收敛完成后将变量参数反归一化处理,将数据还原。在测试中,通常取c1=c2=2,ω=0.8,粒子群中,每个粒子飞行位置的极限值ximin、ximax分别为变量的极限值,最大飞行速度vmax为参量的最大距离,据此,该神经网络的初始值参数如表1所示。

图5-7为采用神经网络算法计算的运动目标要素解算结果。图5是将历史数据作为训练数据对网络进行训练,训练的目标精度为误差期望值不大于0.2训,最大迭代次数不大于1 000,为了简化转换计算量,将迭代频率设定为1 Hz,从图5中可以看出,大约迭代400次后,方位误差即可以达到0.2方以内,满足要求。图6为采用历史数据训练过程中,PSO-BP网络的训练曲线,从图6中可以看出,当迭代到200步时,收敛速度加快,并在迭代350步后,误差达到期望要求,并趋于平稳。图7为利用PSO-BP算法解算目标运动要素过程中,对目标方位的计算结果,从图7中可以看出,在570 s时目标方位计算精度满足期望要求,并在700 s时,目标方位误差达到0.128位,具有良好的收敛效果。

3 结束语

本文根据被测运动目标的运动要素解算的特点,提出了采用BP神经网络对被测运动目标的运动要素进行解算,同时为了提高BP网络的计算精度和速度,将PSO算法引入,作为修正BP网络权值的传递函数,从试验中可以看出,采用PSO-BP神经网络算法的计算精度可以达到0.128°,相比传统方法可以提高计算精度和计算速度,并为后续的运动目标运动要素解算提供了技术支撑。

猜你喜欢

权值神经元粒子
一种融合时间权值和用户行为序列的电影推荐模型
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于5G MR实现Massive MIMO权值智能寻优的技术方案研究
AI讲座:神经网络的空间对应
混沌粒子群算法在PMSM自抗扰控制中的优化研究
基于膜计算粒子群优化的FastSLAM算法改进
一种基于互连测试的综合优化算法∗
仿生芯片可再现生物神经元行为
这个神经元负责改变我们的习惯
研究人员精确定位控制饮酒的神经元