BP算法及其应用实例

2024-05-26

BP算法及其应用实例(共4篇)

BP算法及其应用实例 篇1

摘要:为了进一步优化神经网络算法,提高网络神经算法的速率并提高其稳定性,就现有BP算法所存在的收敛速度慢以及容易陷入局部极小值的弊病,我们将进一步通过一般改进算法解决在神经网络结构优化过程中依然无法解决的问题。依据遗传算法的特征,进一步在经过改进的压缩映射遗传的基础上提出了BP神经网络优化方案。泛函分析中压缩映射原理的应用,一方面解决了困扰人们的BP神经网络算法所固有的缺点,显著地提高了神经网络算法的收敛速度,而且解决了BP神经在运行的过程中和网络连接权值初值的取值紧密相连的缺点。经过大量的计算我们得到如下数据:经过优化改进后,训练时间节约了8.3%,训练步数降低了近17.4%。经过大量的研究实验表明:经过改进后的BP神经网络算法取得了良好的效果,十分具有应用价值。

关键词:改进BP算法,BP神经网络,压缩映射,优化,适应性

0 引言

作为智能控制领域内一个全新的分支,神经网络算法在现阶段许多领域内的运用都取得了不俗的成绩,对人们的生产生活产生了深远的影响。由于BP算法结构较简单而且可塑性强,因此而成为使用最为普遍的神经网络算法之一。同时,由于BP算法先天存在着收敛速度慢,易陷入局部极小点的不足,我们也一直对其进行着改进和优化。

1 BP 神经网络算法的运行

BP神经网络作为一种多层次前馈神经网络反馈系统,是通过误差反向传播算法运行的。BP神经系统是由许多相互连接的运算单元构成的,并且按照相应的规律有序连接。处于运行状态时,神经网络会把信息从输入层录入,然后依次经过每个节点所对应的函数、阈值再经过一系列系统的运算,再经过输入层、隐藏层流向输出层,输出运算结果。把输出结果与相应的期望输出值作对比,如果误差符合要求,那么就结束算法的运行,如果不符合要求,就需要把对应的误差信息按照和输入相反的方向传播,同时修改相应的各层权值,对应的函数和阈值。通过对BP神经网络多次反复的运行,直至结果符合标准为止。如此之后,便可以得到合适的收敛的网络和相应的比较稳定的权值信息。

2 BP 神经网络算法存在的问题

在实际的运行过程中,BP网络算法存在着如下问题:

(1)学习BP神经网络算法的收敛速度慢长,花费时间较多,需要经过无数次的调整、迭代。多种因素的共同作用使得算法的收敛速度缓慢,若加快收敛速度,又容易引起震荡。正是由于学习效率十分低下导致了这一系列问题的产生。因此,我们要十分注重BP神经网络算法中速率η的取值。

(2)BP网络神经算法在某些特殊的权初值条件下会陷入局部最小。产生这一现象的原因是在平坦的地区误差的改变很小,网络不能得到相应的训练。虽然输入一个值到BP算法能够得到某个具体的解,但是却不能保证所得到的是全局最优的结果。训练可能由于这个原因陷入某个局部极小点,不能满足相关要求。

3 BP 神经网络算法的改进和优化

针对上面分析的BP神经网络算法存在的问题,我们可以采取如下措施:在对BP神经网络进行训练之前应该注意对初始选值、隐藏节点数、学习率目标误差等参数的选取,以科学的理论依据作为指导。我们通常会选取不同的小伪随机数作为BP算法的初始权值,但是这里的随机性需要经过一些列的训练和伪真多次求取平均值。隐节点的个数较少导致网络容纳错误的特性降低,从而进一步降低了系统的非线性映射能力;若果盲目增加隐节点则又会陷入局部最小点,从而拖慢收敛效率,并且会导致网络泛化能力低下。细化到具体问题,我们应该区别对待,通过实验我们可以得到相应的最优数目。网络性对网络算法起着具足轻重的作用,近些年许多科学研究人员对其进行了细致深入的探究,同时他们也提供了许多改进的方案。有人提出可以在BP算法里同时引入动量项、自适应学习率调节、弹性算法以及其他的全局优化思想。在以梯度下降为基础的改进方案中,最优秀的方案是通过把动量因子和学习率相结合的动量项自适应学习率方法。这种方案把动量因子作为阻尼项,这种方法在降低震荡的同时也加速了收敛速率。把数学思想中的数值优化思想和BP算法结合同样能够使BP算法的训练速度得到飞速的提升而且经过测试发现改进后性能较好。BP神经网络算法实质上和非线性函数优化问题无异。因此,我们也可以考虑把训练算法和非线性优化算法相结合作为一个改进的途径。

在BP神经网络算法结构中,输入、输出节点往往是由问题自身所决定的,而且隐藏层的层数和隐节点的数目才是解决问题的关键所在。对于这个问题,众多的专家学者也进行了充分的理论研究,部分学者甚至认为2个隐层就能够解决任何形式的分类问题。Robert Hecht Hislson等研究人员更进一步指出:只有一个隐层的神经网络,只要节点足够多,就可以以任意精度逼近一个非线性函数相对来说,隐节点的选取很困难,隐节点过少学习过程可能不收敛,隐节点较多网络性能下降为了找到适合的隐节点数,最好的办法是在网络的学习过程中根据环境要求自组织的学习、调整网络结构,最后得到一个大小合适的神经网络模型。

4 改进后的 BP 神经网络算法的应用

经过改进后的BP神经网络算法在我们的日常生产生活中有着非常广泛的应用:

作为一种类似于生物神经系统的信息处理模型,BP神经网络有着其强大的自适应能力并能够高度自主并行处理相关问题,正是由于这些优势的存在,使得这一算法能够在处理大规模的模式识别问题上脱颖而出。以脱机手写体汉字识别为例,由于汉字总量大,结构复杂又无章可循,而且又不能得到类似于笔画顺序等重要的信息源,因此便显得十分困难。科研人员从人的大脑对脱机手写体汉字的鉴别过程中受到启迪,事实上是经过联想、识记、对比、推断以及总结的过程。BP神经网络算法通过对一系列人体生物神经系统的模拟,而成为脱机手写体汉字智能化最优解决方案。

改进后的BP神经网路算法同样对高校管理起着重要的作用,高等院校的教学工作水平的评估工作是一项十分复杂的工程,现有的评价体系不能公平公正的评价一所高校的教学水平,人为因素过多,从而影响了评价的准确性,不能客观的反映问题。但是如果我们使用经过改进的BP神经网络算法对学校教学工作水平水平进行评估,把学校的办学指导思想、教师水平、教育教学软硬件条件、学风建设、学生管理、教学成果等一系列标准作为评价一所学校的根据,在此基础上建立相关的BP算法系统。经过相应的处理我们比那可以得出一个比较客观公正的评价结果。

5 结论

BP神经网络算法是目前在生产生活中应用比较广泛的一种人工神经网络系统。面对BP算法存在的缺点和不足,人们提出了各种解决措施,有的人通过改进算法、提高算法的收敛速度来用于函数逼近,有的人则用来对故障进行诊断,在数值优化的基础上改进的算法比标准BP算法快的多,还不需要消耗太多的内存。因此,对于一个已经确定下来的问题,采用什么样的BP算法,取决于问题的复杂程度,训练样本的数量以及权值阈值等其他主客观因素。

BP神经网络的改进算法及其应用 篇2

1 BP神经网络算法分析及其改进

1.1 BP网络的缺点与不足

标准的BP算法因其简单、易行、计算量小、并行性强等优点,是目前神经网络训练采用最多也是最为成熟的训练算法之一。BP算法存在着训练时间长、收敛速度慢、易陷入局部最小点等缺陷。导致BP算法收敛速度慢的原因很多,譬如:学习步长、初始权值、目标函数等的选取都会对收敛速度产生影响。BP算法本质上采用的是梯度下降法,训练是从某一起点沿误差函数的斜面逐渐达到误差的最小值。误差曲面的多个极小点会使训练陷入局部极小。平坦区、局部最小值与全局最小值的二维示意图如图1所示。

以上两个问题都是BP算法的固有缺陷,其根源在于按误差梯度下降的权值调整原则是每一步求解都取局部最优,即所谓“贪心”(Greedy)算法的原则。

1.2 改进的BP网络学习算法

目前对于BP算法已得出了很多改进的方法,包括:加入动量项;采用较好的初始权值;S函数输出的限制法;变步长法等。如将误差函数进行改进,可以有效地避免神经元的输出落入Sigmoid型函数的饱和区,提高了学习速度;消除了局部极小;同时能提出自适应学习率的算法,但必须首先选定一些参数,才能在学习训练中改变学习率。

学习率η是对收敛速度有较大影响的参数,η取得越大,权值的改变越剧烈,收敛速度也越快,但易使学习训练过程产生振荡,η取得越小,权值的改变越小,也会使收敛速度下降。为了使学习训练的收敛速度尽可能加快,应选取合适的学习率。为了解决这一问题,一般是在保证收敛精度的前提下,尽可能提高η的数值,使收敛速度加快。

2 BP神经网络改进算法仿真及结果分析

BP神经网络的开发设计到目前为止还没有一套完整的理论,大多数是根据使用者的经验来设计网络结构,功能函数,学习算法,样本等。

2.1 BP神经网络算法及其改进算法实现及仿真

标准BP算法仿真结果如图2。

从结果图可以看出,标准BP算法不仅所要求的训练时间比较长,在效果上还存在较大的误差,本章把其中误差较大(效果比较差)的几个点进行编号并标志出来(见图3所示),以便与后面几种算法作比较。

与BP标准算法相比,BP动量项改进算法在训练时间上有了明显的减少,从训练迭代次数的155次减少到73次。但是,效果上还存在明显不足,误差比较大,特别是标号为(1)、(4)的点与期望的结果存在很大的误差,相对BP标准算法不仅没有多少改观,效果还更差。

和前两种算法相比,BP自适应学习率改进算法进一步缩短了学习训练时间,在训练效果上已经有了明显的提高,除了点(7)外,其他的各点基本上都已合乎要求,误差得到明显的降低与前三种算法相比,BP综合改进算法无论在训练时间还是训练效果上都可以说是非常不错的,每个点都能够与目标输出相符,真正达到了函数逼近的要求,就函数逼近这一应用领域来说,BP综合改进算法是四种算法中最好的一种算法。

2.2 BP神经网络算法仿真结果分析

就各种算法的学习训练时间和训练效果进行比较,我们不难发现:在同等错误率的要求下,综合改进算法得到的效果要明显优于其它算法,同时所用到的训练时间更少,也就是说网络训练次数更小。具体的算法比较见表1:

表1数据表明:同样在目标误差为0.02的网络训练中,未改进的标准BP学习算法存在收敛速度慢、已陷入局部极小点等缺陷;而改进后的BP学习算法都从不同程度上提高了算法的收敛速度,训练的次数大大减小了。同时,对表格数据进行分析,我们发现采用变步长法使得误差的跳动比较大,直接从高于目标误差的0.02经过一次训练就达到实际误差的0.0074,这是前两种算法所无法办到的。不难看出,综合改进算法继承了这一优点。由此,考虑引人动量法中的动量项不固定,而是自适应的,这样,在找到一种合适的自适应调整过程之后的算法可以兼顾众多的优点。当然,在具体实现方面还有很多问题需要解决:首先,就是合适的自适应调整过程需要经过大量的尝试才能提出来;其次,训练过程的稳定性是否会因此遭到破坏,即是否会因此陷入局部极小点。

3 手写体汉字识别系统的实现

3.1 设计思路

本系统是单字印刷体和手写单汉字识别程序。通过对教师文件的学习,记住教师文件中汉字的特征,得到权值和阈值,建立BP或者改进BP神经网络,这样,下次用户再输入图片或直接手写单汉字时,运用已建立的神经网络就可得到教师文件中与该用户输入汉字最接近的一个汉字,即完成了汉字的识别。

1)网络拓扑结构的确定根据汉字为方块字的特点,将汉字分成3232个单位,每个单位为一个输入,因此该神经网络有3232的输入节点。输出节点数应该和所能识别的汉字数相同。本程序只是演示神经网络,只识别10个手写体汉字,即输出节点为10。隐含层凭经验取33个结点。

2)输出目标模式的确定计算结点的输出,实质上是sigmoid函数的输出。由sigmoid函数曲线可知,此函数的值域为[0,1],而且在靠近其取值边界时,该函数的函数值对自变量的变化是不敏感的。因此,为了使结点的输出对输入敏感从而提高精度,在这里取SIG1(表示T)为0.99,SIG0(表示F)为0.01。对于输入,如果该点有笔画,则输入0.99,如无笔画,则输入0.01,对于输出也一样,是该汉字则输出0.99,否则输出0.01。

3)训练样本集的编辑样本集包含的样本越多,每个汉字模式对应的样本越多,用样本集训练后的神经网络的识别能力就越强,但是训练消耗的时间也会越长。根据实验的具体情况,本系统对每个汉字取30个样本即30种不同的写法。

3.2 实验结果分析

实验结果如表2。

由以上实验结果说明:

1)改进型BP神经网络的性能优于标准BP神经网络,其中综合改进算法识别率最高;

2)将神经网络技术应用于手写体汉字识别,识别率最高可达95.20%,优于一般的手写体汉字识别器。

4 结论及展望

从大量的实际应用来看,收敛速率慢,学习时间长,产生振荡,甚至达不到收敛精度是常规BP算法的主要缺陷。目前对于BP算法已得出了很多改进的方法,如:引入动量法、变步长法、综合改进算法等,它们对误差函数进行了改进,有效地避免了神经元输出落入Sigmoid型函数的饱和区,提高了学习速度;消除了局部极小。同时,自适应学习率的改进算法将会对于BP算法的改进起到积极作用,但必须首先选定一些参数,才能在学习训练中合理、高效地改变学习率。

将改进BP神经网络应用手写体汉字识别,并予以实现。实验结果表明:

1)在手写体汉字识别背景下,手写体汉字的预处理、特征提取、样本集的建立、网络权值的初始化和网络隐含层神经元的个数均会对神经网络的建立产生重大影响;

2)改进BP算法具有更快的收敛速度,同时加快了学习速度,提高了识别效率。

另外,在手写体汉字识别的应用领域中,神经网络技术不仅可以应用于识别阶段,还可以应用于手写体汉字识别的预处理与特征提取等阶段;而神经网络技术的多层次集成也将对识别效果产生积极的影响。

摘要:BP(Back-propagation neural network)神经网络是目前应用最为广泛和成功的多层前馈神经网络之一,分析了BP算法的基本原理,指出了BP算法具有收敛速度慢、易陷入局部极小点等缺陷以及这些缺陷产生的根源,并针对这些缺陷,通过在标准BP算法中引入变步长法、加动量项法等几种方法来优化BP算法。仿真实验结果表明,这些方法有效地提高了BP算法的收敛速度,避免陷入局部最小点。同时,将改进得BP神经网络算法应用于脱机手写体汉字识别系统的实现,使系统较好地回避了汉字结构复杂、变形难以预测等问题,提高了识别率。

关键词:BP神经网络,改进BP算法,脱机手写体汉字识别,学习率

参考文献

[1]Haykin S.神经网络原理[M].叶世伟,史忠植,译.北京:机械工业出版社,2004.

[2]Cunningham P,Carney J.Stability problem with artificial neural networks and the ensemble solution[J].Artificial Intelligence inMedicine,2000,20(3):217-225.

[3]贺昌政,李晓峰,俞海.BP人工神经网络模型的新改进及其应用[J].数学的实践与认识,2002,32(4):555-557.

[4]吴小培,费勤云.一种提高BP算法学习速度的有效途径[J].安徽大学学报:自然科学版,1998,22(3):66.

[5]陆金桂,王石刚,胡于进,等.多层神经网络BP算法的研究[J].计算机工程,1994,20(1):17-18.

[6]张铃,张钹,殷海风.多层前向网络的交叉覆盖设计算法[J].软件学报,1999,10(7):737-738.

[7]吴鸣锐,张钹.一种用于大规模模式识别问题的神经网络算法[J].软件学报,2001,12(6):851-854.

[8]马曾,赵时,汪拥军.BP神经网络在网络通信中的应用[J].电脑知识与技术,2008,32(2):2193-2194.

[9]Holland J H.Adaptation in Natural and Artificial System[M].MI:University of Michigan Press,1975.

[10]Fu H C,Xu Y Y.Recognition of handwiritten similar Chinese characters by self-growing probabilistic decision-based neural network[J].International Journal of Neural System,1999,9(6):545-561.

[11]Srihari S N,Yang Xuanshen,Ball G R.Offline Chinese Handwriting Recognition:A Survey[M].Beijing:Higher Education Press,2007.

BP神经网络算法及其改进研究 篇3

人工神经网络(Artificial Neural Networks,ANN),是基于人类大脑的生物活动所提出的,是一个数学模型。它由众多节点通过一定的方式互联组成,是一个规模巨大、自适应的系统。其中有一种学习算法是误差传递学习算法即BP算法。BP算法是人工智能最常用到的学习方法,从一定意义上来讲,BP算法的提出,终结了多层网络在学习训练算法上的空白史,是在实际应用中最有效的网络训练方法,对ANN的应用和发展起到了决定性的作用。

BP算法是使用从输出层得到的误差来估算前一层的误差,再利用该误差估算更前一层的误差。依次进行,就会获得其他所有各层的估算误差。这样就实现了将从输出层的得到误差沿着与输入信号传送相反的方向逐级向网络的输入端传递的过程[1]。但是,BP算法也存在着不可忽视的缺陷。基于此,该文总结介绍了BP的改进方法。

2 BP算法的基本思想

2.1 BP算法的基本原理

BP算法是有监督指导的算法,它的学习训练过程一般分为两步:首先是输入样本的正向传递;第二步误差的反向传递;其中信号正向传递,基本思想是样本值从输入层输入,经输入层传入隐藏层,最后通过输出层输出,中间层对样本数据进行处理操作,利用各层的权值和激活函数对数据进行操作然后在输出层获得输出[2];接下来就是反向传递,算法得到的实际输出值与期望目标输出之间必然会有误差,根据误差的大小来决定下一步的工作。如果误差值较小满足训练的精度要求,则认为在输出层得到的值满足要求,停止训练;反之,则将该误差传递给隐藏层进行训练,按照梯度下降的方式,对权值和阈值进行调整,接着进行循环,直到误差值满足精度要求停止训练[3]。

3 BP算法的缺陷

尽管BP算法有着显著的优点,但是在实际应用过程中,BP算法会出现很多问题。尤其是下面的问题,对BP神经网络更好的发展有很大影响。有的甚至会导致算法崩溃。

3.1 收敛速度的问题

BP算法在进行训练学习时,收敛速度慢,特别是在网络训练达到一定的精度时,BP算法就会出现一个长时间的误差“平原”,算法的收敛速度会下降到极慢[4]。如果盲目的加快收敛速度,则会使算法产生震荡现象。

3.2 局部极小点问题

在一些初始权值的条件下,BP算法在训练过程中会陷入局部极值。这是由于BP网络采用最速下降法,误差曲面非常复杂分布着许多局部极值点,一旦陷入,BP算法就很难逃脱,进而会使BP网络的训练停止。算法可以在某处得到一个收敛值,但是不能确定取到了误差曲面的最小值。这样就会使网络难以达到事先规定的误差精度[5]。

3.3 网络瘫痪问题

在算法的学习训练过程中,网络的权值会变得很大,从而使得节点的输入变大,这就会导致其激活函数的导函数在改点取得的值很小,接着会导致算法的训练速度变得极低,最终会导致BP网络停止收敛,网络瘫痪。

3.4 步长问题

BP的收敛是建立在无穷小权修改量的基础上,而这就意味着网络所需要的训练时间是无穷的,这显然是不可取的。因此,要限定权值修改量的值。这主要是因为,如果步长太小,那么网络的收敛速度就会下降,如果步长太大,就会使BP神经网络产生瘫痪和振荡。学者们经过研究提出一个较好的方法,就是用自适应的步长代替原来的定值步长,以使权值修改量随着BP网络的训练而不断变化[6]。

4 改进BP算法的方法

BP算法应用广泛,但它又存在很多缺陷,针对BP算法的问题,国内外许多学者提出各种改进方法,主要的改进方法分为两类:一是启发式改进,如附加动量法和自适应学习率等;二是结合新理论的改进。这些方法在不同程度上提高了网络的收敛速度,避免了局部最小问题。

4.1 启发式改进方法

启发式改进方法是建立在BP网络梯度下降规则的基础上,通过对BP神经网络的权值和学习率的改进,从而解决BP网络在学习训练过程中遇到的问题。它的核心思想是:使权重的调整量最大限度的适应误差下降的要求。该文主要介绍了附加动量法。

传统的BP算法实际上是运用最速下降规则来搜索最优点的算法,该规则是顺着梯度的反方向进行权值的修正,并不将前一阶段积累的经验考虑进来。因此会在训练过程中发生震荡,导致收敛速度缓慢。但是将动量项引入到BP网络中后,当输入样本依照顺序输入时,则可以将权值的修正公式看作为以t为变量的时间序列,那么权值的修改公式就改变为如下所示:

加入动量项以后若本次与前一次同号时,则加权和增大,使Δw(n) 增大;当与上一次符号相反时,说明算法存在一定的震荡,此时指数加权和减小,使Δw(n) 减小[7]。

4.2 BP网络结构的优化

在BP算法中,输入和输出节点的个数由实际问题确定,网络结构的优化主要是针对隐藏层的节点数和层数。许多研究表明,一个隐藏层就可以解决各种分类问题。那么对于隐藏层节点的个数的确定,有的学者给出了公式(其中NH表示隐藏层节点数,NI表示输入层节点数,NO表示输出层节点数),但是公式缺乏一定的理论支持,所以目前最好的方法是通过经验和在学习训练过程中不断的调整隐藏层节点数,最后得到一个合适的网络结构。

4.3 基于新理论的算法改进

随着对BP网络结构知识的研究,能够更加深刻的理解BP算法误差传递的本质。出现了许多基于新兴理论的BP算法的改进,这种改进方式是结合了其它领域比较成功的优化算法和理论,比如将遗传算法与BP算法相结合,将遗传算法高效的全局寻优能力引入进来,利用GA算法来优化BP算法的权值和阈值,解决BP神经网络存在容易陷入局部极值和收敛速度慢的问题,两种算法的结合实现了各自优势的互补,取得了良好的效果[8];将粒子群优化算法用于BP神经网络的学习训练,使算法更容易找到全局最优解,具有更好的收敛性[9]。很多研究者还将BP算法与模糊数学理论、小波理论、混沌算法等相结合。这些改进使得BP神经网络得到更进一步的应用。

5 小结

BP算法是目前在神经网络学习算法中得到最广泛应用的。该文总结了BP算法的原理,针对BP算法中出现的问题,虽然给出了BP算法的改进方法,但还是有很多不足之处。随着科学日新月异的发展,各种新的优化算法不断的提出,BP算法也会得到更广泛的发展。

摘要:BP算法是非循环多级网络的训练算法,对人工神经网络的发展起到了重大的推动作用,该文介绍了BP算法的基本原理及其缺陷,并提出了改进BP算法的方法。

BP算法及其应用实例 篇4

(1)设备复杂,维修人员的培训、熟悉和维修周期延长

随着科学技术的日益发展,通信技术也日新月异,通信设备的结构也随着功能的增强而复杂。这就造成维修保障能力落后于保障需要,使得通信设备在出现故障后不能得到及时的故障排除;在实际操作中,许多时候还需要将故障设备返厂进行维修,既耗费时间精力又影响通信业务的正常进行。

(2)设备的种类多而杂,维修人员不能一一掌握

维修人员对设备结构、原理不清楚、不熟悉,故而不能对故障原因进行正确的分析,不能准确判断故障部位,会存在盲目作业的问题。除此之外,在检修中一味地以换件取代修理,不更换小的零件器件,而是以直接更换整个部件以求方便,大大增加了维修费用。

(3)缺少高水平的技术人员,不可能人人是专家能手

维修人员技术水平的提高不但要靠知识的掌握,更要靠工作经验的累积,一名优秀的维修人员的成长也需要一个漫长的过程。

为解决以上问题,文中介绍一个用于某型通信设备的有源天线基于BP神经网络的故障诊断系统,解决维修人员对设备故障判断的困扰,该系统能更精准地定位故障部件,大大缩减诊断的周期与误判率。

1 故障诊断系统的简介

神经网络大概有以下几种:一是径向基函数网络(Radial Basis Function,RBF),是一种常用的前馈网络;二是Hopfield网络,是典型的反馈型神经网络(Feedback Neural Network);三是自组织特征映射网络;递归神经网络等;另外,反向传播网络(Back Propagation)也就是本文所要介绍和使用的BP神经网络。选择BP神经网络来构建诊断系统是因为BP网络诊断原理在于通过网络的自身学习来实现样本与输出之间的高度复杂的非线性映射。通过训练学习,BP网络将模式样本和期望输出的映射关系存储在网络的连接权值和阈值中。在实际测试中,网络接收一个输出信号,在输出端给出一个响应状态(即测试结果)。作为前馈网络的BP网络,它在某一时刻的输出状态是由该时刻的输入和网络连接权值决定的,而与前面时刻输入输出无关。因此,BP网络用于故障诊断,是一种静态系统。正因为该神经网络的特点,很适合应用于这型通信装备的故障诊断中。

该诊断系统是依靠MATLAB软件平台搭建的,系统软件的设计主要从以下几个方面进行介绍。

1.1 网络结构的确定

网络结构的选择和确定是在构建系统时遇到的首要问题,如果网络的结构没有选择好,即使对训练、算法做了很多改进,在网络特性的提高上,也难有大的进展。

BP神经网络有双隐层和单隐层之说,双隐层多应用于有比较复杂的映射关系;单隐层则可以应用在任何连续函数的网络中,基于所用的装备,选择单隐层的BP神经网络。根据Komogorov定理,对于任意一个连续函数,可以由一个三层网络来精确实现。选择使用一个具有三层结构的BP神经网络。如图1所示。

1.2 网络的训练

BP神经网络的训练是计算机自主学习的一个过程,在编程序时要做的就是确定隐含层神经元的数量以及训练精度,训练步数以及学习速率等参数。主要经过以下几个步骤:

(1)原始数据归一化

对样本数据进行归一化处理的目的在于加快训练网络的收敛性,把数据变为(0,1)之间的小数且把有量纲的数据经过转换,变成无量纲的数据。MATLAB关于神经网络归一化主要有三种方法:(1)线性函数转换,表达式如下:y=(x-Min Value)/(Max Value-Min Value),其中,x、y分别为转化前、后的值,MaxValue、Min Value分别为样本的最大值和最小值。(2)对数函数转换,表达式如下:y=log10x、y是输入输出值,以10为底的对数转化。(3)反余切函数转换,表达式如下:y=atan(x)*2/PI。

(2)设置网络,建立相应的BP网络

设置BP神经网络为一个三层的BP神经网络———输入层、隐层、输出层。确定输入层和输出层节点数。选输入层m个节点数。输出层神经元数依据输出故障类型定为n个节点数,输入层节点数是电路关键的测试点,输出层神经元数是故障的中类,主要依据设备在维修过程中实际数据的分析。确定隐层节点数。根据确定三层BP神经网络隐层节点数h的经验参考公式h≥+a,其中n为输入神经元数;m为输出神经元数;a为1~10之间的常数。

(3)训练网络,调用TRAINGDM算法训练BP网络,如图2所示。

(4)网络进行仿真

以实际测得数据作为样本值不断实施上述迭代过程,直到达到要求为止。这样通过训练而得到的网络,当再遇到同类故障时,网络会调用存入神经知识库中的推理知识模型进行分析,由此马上就可以得到分析结果,即故障诊断的结果。

(5)还原数据

以上步骤都基于MABTLAB平台实现。

2 结合实际应用过程介绍BP神经网络故障诊断系统

现以某型通信设备有源天线部分电路,来说明其在实际中的应用。通过对电路进行仿真,实际应用以及维修中所记录的实测数据为依据,分析各种故障现象、常见故障类型,选择下面给出的应用BP神经网络实现对该型装备的故障诊断方法:

第一步:给出BP神经网络训练的数据如表1所示。电路测试点说明如表2所示。

(单位为d Bm)

对应故障类型的说明如表3所示。

对样本数据进行归一化处理所得的数据如表4所示。

第二步:确定BP神经网络为一个三层的BP神经网络———输入层、隐层、输出层。

第三步;确定输入层和输出层节点数。

选输入层6个节点数。输出层神经元数依据输出故障类型定为10个节点数,输入层节点数是电路关键的测试点,输出层神经元数是故障的中类,主要依据设备在维修过程中实际数据的分析。

第四步:确定隐层节点数。

根据确定三层BP神经网络隐层节点数h的经验参考公式h≥+a,其中n为输入神经元数;m为输出神经元数;a为1~10之间的常数。依此,取中间层含有16个神经元数。

第五步:神经网络的训练

按照前文所示方法用表4数据进行训练,取隐含层数为16,E<0.01;学习率β、λ=0.06;动量因子δ、η=0.70,α=0.45,经过10005次训练后,网络达到所需要求,神经网络训练完毕。BP神经网络输出结果如表5所示。

表5中Y的值,接近1而不大于1时表示该对应故障现象出现,其余都为无故障。从该检验结果看,训练后的网络可以用于实际诊断。

根据实际检测表面,故障判断结果与实际数据相符。

3 结束语

本故障诊断系统采用BP神经网络故障诊断系统进行故障诊断,能有效解决本文引言中所提出的现代维修中所遇到的问题,本文介绍所采用的方法简单易行,为现实修理提供了可靠可行的新途径。

参考文献

[1]孟祥泽,刘新勇,车海平,等.基于遗传技术辅助设计的神经网络期货市场预测[J].信息与控制,1997(5):32-36.

[2]夏虹,刘永阔,谢春丽.设备故障诊断技术[M].哈尔滨:哈尔滨工业大学出版社,2010:108-203.

[3]曾凡智,李凤保.基于神经网络的设备故障诊断[J].计算机应用,2004,27(2):59-61.

[4]陈斌,王高山,杨林辉.基于BP神经网络的复杂电子设备实时故障诊断专家系统[J].海军工程大学学报,2004,16(5):105-108.

[5]宋广业,刘统玉,王晶,等.基于COM组件的VB与MATLAB混合编程实现振动信号处理[J].山东科学,2010,23(1):32-35.

[6]胡劲松,周方洁.基于COM的Matlab与Delphi混合编程研究[J].计算机应用研究,2005(1):165-166.

上一篇:性能恢复下一篇:海边部队军人