BP神经网络的学习过程与算法分析

时间:2022-10-16 02:25:38

BP神经网络的学习过程与算法分析

摘 要:目前在电子、信息与通信、计算机等学科都可以找到人工神经网络的影子,人工神经网络可用于动态系统建模、模式识别、智能控制和故障监测等实际工程问题。神经网络是一门综合性很强的交叉学科,神经网络具有分布式存储、并行处理、高容错能力以及良好的自学习、自适应、联想等特点。目前已经提出了多种神经网络模型,其中应用最广泛的是前馈型神经网络。而对于前馈型神经网络,对其训练使用最多的方法是bp算法。

关键词:神经网络;BP算法;网络模型

中图分类号:TP183

1 BP网络的定义

误差反向传播算法(Error Back Propagation,EBP,简称BP)在于利用输出层的误差来估计输出层的直接前导层的误差,再用这个误差估计更前一层的误差。如此下去,就获得了所有其他各层的误差估计。这样就形成了将输出表现出的误差沿着与输入信号传送相反的方向逐级向网络的输入端传递的过程。因此,人们就又将此算法称为向后传播算法,简称BP算法。使用BP算法进行学习的多层前向网络称为BP网络。虽然这种误差估计本身的精度会随着误差本身的“向后传播”而不断降低,但它还是给多层网络的训练提供了十分有效的办法。所以,多年来该算法受到了广泛的关注。BP网络应用广泛,学习采用最小均方差,由输入层、若干隐层和输出层构成,它是一种典型的前馈网络。

图1 三层神经网络模型

常用的BP网络是三层前向网络(如图1所示),即:输入层、中间层和输出层。它的学习分为以下几个过程:由每个神经元网络的输入节点经中间层向输出层的一个正向传播,若网络的实际输出与期望输出有误差,将这个误差经输出层到中间层再传给输入层调整权值再学习的一个逆传播。通过不断的学习,最后的输出要在误差范围之内。

2 BP算法的基本思想

BP算法的基本思想归结如下:BP网络对于输入信号,通过输入层传播到隐含层,经过激励函数的作用,再将隐含层的输出作为输出层的输入传播到输出层,最后输出结果。对于每一个输入样本,神经网络的实际输出与目标输出不可能完全一样,两者之间必然会有一定的误差,定义均方差为:

3 BP算法的学习过程及两种改进算法的思想

学习是人工神经网络最重要的一个特点,学习的目的在于能对任何一个样本的输入通过调整相关参数输出期望的结果。学习的方法可以从以下几步阐述:第一步,向神经网络模型输入一系列样本,每一个样本都有包含输入和期待的输出两部分,把采集到的样本向神经网络输入后,先由第一个隐层进行相关计算然后逐层向下一层传递,直到传至输出层。第二步,将输出的结果与期望输出的结果做比较,如果误差不能满足要求,就按原来的路径逐层返回,神经网络的自学习能力这时候就要发挥作用了,它要根据误差的结果对权值、阀值做适当修改,再从第一个隐层开始重复的计算传递,直到输出的结果满足要求。

本文论述的算法都是以三层网络结构出发进行讨论的。

BP算法的改进主要集中在两个方面:其一是避免陷入局部极小值,一旦陷入要想办法逃出;其二是改进迭代算法,加快收敛速度,较常用的方法是共轭梯度法、Levenberg-Marquardt法等。

BP网络学习过程收敛速度慢的因素有两方面:(1)学习率s和势态因子α在训练中值不变。BP网络实际就是优化计算中的梯度下降法,利用输出的误差作为对权值、阀值调整的参考,目的是确保最终的输出误差最小。考虑到算法的收敛性,学习率s必须小于某一固定上界。BP网络中的学习率s和惯性因子α在训练过程中为一固定值。这一限制决定了BP网络的收敛速度不可能很快。(2)学习过程中出现“假饱和”。实际输出和期望输出的误差产生以后,通过调整网络训练的权值,不断学习后这种误差应该越来越小,如果多次学习后误差没有减小,经过一段时间后,误差才下降,称这种现象为学习过程中的“假饱和”。在BP网络中,初始权值、阈值一般是在一个范围内人为确定的。若作为网络输入的神经元的个数与阈值差别较大,考虑到神经元具有饱和非线性特征,那么神经元的实际输出只有两种结果:极大值或极小值。当输出层接收到的神经元的总输入进入到饱和区,且实际输出与目标输出相互矛盾,就是“假饱和”。这时对权值作大的修改才行,而实际上,由于此时导数值趋近于零,导数权值修改量很小。导致学习速度下降。对中间层的神经元也是一样。学习一旦进入“假饱和”状态,很难退出这种“假饱和”状态,可能需要一定的时间,有时可能会陷入僵局,要重新开始网络训练。

传统的BP算法主要的优点是简单、易于实现。但是BP算法有两个不可克服的缺陷:(1)BP算法很可能陷入局部极小值;(2)收敛速度慢。

像热导气体分析仪这类的仪器经常会用于一些恶劣而又危险的环境中,且要求其测量周期短暂,所以系统需要较强的抗震荡学习网络。基于热导传感器测量的主要因素,提出一种新的BP网络学习算法,对学习因子进行模糊自适应调节,这样系统能够快速、准确地将干扰因素与热导传感器的原始测量值进行拟合,有效减小测量误差。这种模糊自适应算法思想一样可用于发电机匝间短路故障的在线检测。

4 结束语

通过以上对BP算法的学习与分析总结如下:(1)传统的BP算法采用最小均方差的学习方式,是使用最广泛的网络,可用于语言综合、语言识别、自适应控制等,它是一种典型的前馈网络,优点是简单、易于实现,缺点是可能陷入局部极小值、收敛速度慢。(2)BP算法的改进主要集中在两个方面:其一是避免陷入局部极小值,一旦陷入要想办法逃出;其二是改进迭代算法,加快收敛速度。(3)多层前馈神经网络学习过程中,对学习因子进行模糊自适应调节,自动调节步长、势态因子、可以明显地提高收敛速度和误差精度。在一些特殊领域的应用取得较好的效果。从目前已有的研究成果来看,设计的模糊自适应算法有良好的研究方向。

参考文献:

[1]黄丽.BP神经网络算法改进及应用研究[D].重庆师范大学图书馆,2007.

[2]刘彩红.BP神经网络学习算法的研究[D].重庆师范大学图书馆,2006.

[3]王建梅,覃文忠.基于L-M算法的BP神经网络分类器[J].武汉大学学报,2005(10):928-931.

作者简介:王俊平,女,河南驻马店人,本科,工程硕士,高校讲师,研究方向:计算机应用。

作者单位:河南职业技术学院,郑州 450046

上一篇:大数据时代如何安全有效的管理和使用信息 下一篇:对云计算在高校校园网的应用的思考