《1 引言》

1 引言

BP神经网络是神经网络中应用最为广泛的一种 [1], 而对于BP神经网络中收敛性能与收敛速度的问题, 主要集中在学习因子η上;η较小时, 收敛性能较好, 但训练时间很长;相反, η较大时, 权值变化剧烈, 收敛时间较短, 但收敛效果不好, 可能使网络振荡。针对这一问题, 笔者提出了一种用改变η值的方法, 使得网络的收敛性能和收敛效果均达到较优。

《2 BP神经网络及其改进》

2 BP神经网络及其改进

《2.1 BP神经网络》

2.1 BP神经网络

BP神经网络是典型的前向神经网络 [2], 其信息传播是向前的, 但在训练中的误差传播是反向的, 其原理结构如图1所示。

BP神经网络的学习算法采用δ学习规则, 学习方式采用有导师学习机制。BP网络每层有n个神经元, 特性函数取S型函数, 训练集中包含m个样本模式 (xp, yp) , p=1, 2, …, mwij表示神经元j到神经元i的连接权重, 对于第p个训练样本, 神经元的输入总和记为upi, 输出记为opi, 阈值取为θi, 并取wi0=-1, op0=θi, 则有upi=j=0nwijopj,opi=f(upi)=1/(1+e-upi), 输入模式p的网络误差为Ep=12i=1n(dpi-opi)2, 其中, dpi表示神经元i的期望输出。网络的总误差为E=p=1mEp,δ学习规则实质上是梯度最速下降法, 权值沿误差函数的负梯度方向改变, 即Δpwij=η(-Epwij)。学习因子η>0, 又因为Epwij=Epupiupiwij=Epupiopi=-δpiopi, 式中δpi=-Epupi, 所以Δpwij=ηδpiopj

《图1》

图1 BP神经网络原理结构图

图1 BP神经网络原理结构图  

Fig.1 Structure chart of the BPNN principle

误差的计算分为两种情况:输出层误差和隐层误差。

输出层误差计算:

δpi=-Epupi=-Epopiopiupi=-[-(dpi-opi)]f(upi)=f(upi)(dpi-opi)

隐层误差计算:

δpi=-Epupi=-Epopiopiupi=-Epopif(upi)=-kEpupkupkopif(upi)=-[-(kδpkwki)]f(upi)

所以δpi=f(upi)kδpkwki

综合后, BP神经网络权值修正公式可统一表示为

wij(t+1)=wij(t)+ηδpiopjδpi={f(upi)(dpi-opi)f(upi)kδpkwki

通常, η取值小, 收敛性好, 但训练时间长;η取值大, 权值变化剧烈, 可能导致振荡 [3]

《2.2 改进算法与仿真》

2.2 改进算法与仿真

改进算法的基本思想是:BP神经网络在权值需要大范围调整时, η取值较大;而网络趋于稳定时, η取值较小。设原来未改进时学习因子的取值为η0, 改进后的学习因子为

η=dpi+|dpi-opi|2dpiη0

由该式可知, 改进后的学习因子最大值为1.5η0, 最小值为0.5η0, 即在理想值dpi与实际输出值opi之间差距较大时, η=1.5η0, 而理想值dpi与实际值opi较接近时, η=0.5η0。图2给出改进算法 (线②) 与未改进算法 (线③) 对于理想输出曲线 (线①) 跟踪的收敛性能比较。

比较结果显示:改进算法的实际输出值在几个周期之后, 非常接近理想输出值, 而且, 从仿真过程的动态曲线可以看出, 改进算法的收敛性能明显优于未改进算法的。 (仿真源程序略)

《3 BP神经网络改进后的应用》

3 BP神经网络改进后的应用

为了验证BP神经网络改进算法的可行性, 对其在导弹中的应用进行了仿真。导弹的操纵指令通过舵机执行, 舵机不可避免地含有死区和饱和特性 [4]。从舵偏角δ到导弹迎角的传递函数是二阶传送函数

《图2》

图2 改进算法与未改进算法收敛性能比较

图2 改进算法与未改进算法收敛性能比较  

Fig.2 Improved algorithms compare with normal algorithms of restrain performance

Wda=ΚaΤa2s2+2ξaΤas+1

对象的方块图如图3所示。

《图3》

图3 导弹操纵系统方框图

图3 导弹操纵系统方框图  

Fig.3 Control system block-diagram of guided missile

输入节点数为6, 第一隐层节点数为7, 第二隐层节点数为8, 输出层节点数为1。死区宽度s为0.65, 饱和值v取2。仿真结果如图4所示, 导弹指令为0101110101。

《图4》

图4 改进算法与未改进算法对于
导弹指令跟踪性能的比较

图4 改进算法与未改进算法对于 导弹指令跟踪性能的比较  

Fig.4 Improved algorithms compare with normal algorithms of missile order

从曲线可以看出, 经过改进后的神经网络学习控制, 系统能跟踪方波指令, 基本克服了死区及饱和非线性的影响, 而且, 各项性能指标均优于未改进算法。

《4 结语》

4 结语

笔者提出了一种改进的BP神经网络方法, 给出了其在导弹武器系统上的应用。仿真结果表明, 改进后的算法各项性能指标均优于未改进算法。当然, 改变学习因子还有其他方法, 比如使η = (0.5~2.5) η0等, 收敛的速度会更高, 收敛性能会更明显, 而且, 稳定性会更好。但是, η0的取值范围应该有限定, 否则, 网络会震荡。