《1 引言》
1 引言
BP神经网络是神经网络中应用最为广泛的一种
《2 BP神经网络及其改进》
2 BP神经网络及其改进
《2.1 BP神经网络》
2.1 BP神经网络
BP神经网络是典型的前向神经网络
BP神经网络的学习算法采用δ学习规则, 学习方式采用有导师学习机制。BP网络每层有n个神经元, 特性函数取S型函数, 训练集中包含m个样本模式 (xp, yp) , p=1, 2, …, m。wij表示神经元j到神经元i的连接权重, 对于第p个训练样本, 神经元的输入总和记为upi, 输出记为opi, 阈值取为θi, 并取wi0=-1, op0=θi, 则有
误差的计算分为两种情况:输出层误差和隐层误差。
输出层误差计算:
隐层误差计算:
所以
综合后, BP神经网络权值修正公式可统一表示为
通常, η取值小, 收敛性好, 但训练时间长;η取值大, 权值变化剧烈, 可能导致振荡
《2.2 改进算法与仿真》
2.2 改进算法与仿真
改进算法的基本思想是:BP神经网络在权值需要大范围调整时, η取值较大;而网络趋于稳定时, η取值较小。设原来未改进时学习因子的取值为η0, 改进后的学习因子为
由该式可知, 改进后的学习因子最大值为1.5η0, 最小值为0.5η0, 即在理想值dpi与实际输出值opi之间差距较大时, η=1.5η0, 而理想值dpi与实际值opi较接近时, η=0.5η0。图2给出改进算法 (线②) 与未改进算法 (线③) 对于理想输出曲线 (线①) 跟踪的收敛性能比较。
比较结果显示:改进算法的实际输出值在几个周期之后, 非常接近理想输出值, 而且, 从仿真过程的动态曲线可以看出, 改进算法的收敛性能明显优于未改进算法的。 (仿真源程序略)
《3 BP神经网络改进后的应用》
3 BP神经网络改进后的应用
为了验证BP神经网络改进算法的可行性, 对其在导弹中的应用进行了仿真。导弹的操纵指令通过舵机执行, 舵机不可避免地含有死区和饱和特性
《图2》
Fig.2 Improved algorithms compare with normal algorithms of restrain performance
对象的方块图如图3所示。
输入节点数为6, 第一隐层节点数为7, 第二隐层节点数为8, 输出层节点数为1。死区宽度s为0.65, 饱和值v取2。仿真结果如图4所示, 导弹指令为0101110101。
《图4》
Fig.4 Improved algorithms compare with normal algorithms of missile order
从曲线可以看出, 经过改进后的神经网络学习控制, 系统能跟踪方波指令, 基本克服了死区及饱和非线性的影响, 而且, 各项性能指标均优于未改进算法。
《4 结语》
4 结语
笔者提出了一种改进的BP神经网络方法, 给出了其在导弹武器系统上的应用。仿真结果表明, 改进后的算法各项性能指标均优于未改进算法。当然, 改变学习因子还有其他方法, 比如使η = (0.5~2.5) η0等, 收敛的速度会更高, 收敛性能会更明显, 而且, 稳定性会更好。但是, η0的取值范围应该有限定, 否则, 网络会震荡。