BP算法分析与改进 BP算法分析与改进

BP算法分析与改进

  • 期刊名字:计算机技术与发展
  • 文件大小:322kb
  • 论文作者:贾丽会,张修如
  • 作者单位:中南大学
  • 更新时间:2020-09-25
  • 下载次数:
论文简介

计算机技术与发展第16卷第10期voicth .2006"2006年10月OOMPUTER TECHNOLOGY AND DEVELOPMENTBP算法分析与改进贾丽会,张修如(中南大学信息科学与工程学院,湖南长沙410075)摘要:在人工神经网络中 ,BP神经网络是-种应用广泛的多层前馈神经网络。分析了BP算法的基本原理,指出了BP算法具有收敛速度慢、易陷人局部极小点等缺陷以及这些缺陷产生的根源。针对这些觖陷通过在标准BP算法中引人变步长法加动量项祛遗传算法.模拟退火算法等几种方法来优化BP算法。实验结果表明,这些方法有效地提高了BP算法的收敛性,避免陷人局部最小点。关键词:BP算法;收敛速度;局部极小点;遗传算法;模拟退火算法中圈分类号:TP183文献标识码:A文章编号:1673 - 629<(2006010-0101 -03Analysis and Improvements of BP AlgorithmJIA Li-hui,ZHANG Xiu-ru(College of Information Science & Enginering,Central South University ,Changsha 410075,China)Abstract :Beck - propagatio neural network is an extensively applied multi - layer feedforward neurl network in artificial neurel network.Besic principle of BP algorithm is analyzed frstly. Then some defects such as slow convergence reste and getting into local minimum in BPalgorithm are pointed our,and the root of the defects is presented. Finly,in view of these litionse, several methods such is genetic algorithm and simulated anealing egorithtm etr. are led to optimize BP algorithm. Experiment results show that these methods increase eficiently the convergence performance of BP algorithim and awoid local minimum.Key words:BP algorithm;overgence rete;bcal mininium;genetic algorithm;imulated0引盲阙值为0ho于是隐层各神经元的输出为:由于BP (back propagation)神经网络结构简单、算法输入层隐层输出层成熟且具有很强的非线性映射能力,故它在模式识别、故障诊断、医学工程等各个领城得到了广泛的应用。虽然理论上BP网络能逼近任意的非线性函数,但由于BP算法的误差函数曲面高度复杂,并且按梯度下降法调整权值,使得网络在学习过程中出现了收敛速度慢易陷入局部极0→m小点等缺点(1,2 ,从而限制了BP神经网络的应用。文中图1典型的3层BP神经网络针对这些缺陷,介绍了几种改进方法来优化BP算法。x';= f(Zwg-0),j= 1,2.,1 BP神经网络与学习算法输出层各神经元的输出为:BP神经网络含有输人层、输出层以及处于输人输出. 为= f(Zwx;-Q), k= 1,2",m层之间的隐含层。隐含层又包括单层或多层。图1是一BP算法也称误差反向传播算法(Error Back - propa-个典型的3层BP神经网络,只有一层隐含层。.设输人为x= (x",x,);隐层有r个神经元;gation Algorithm),是一类有指导学习算法,用于BP网的输出层有m个神经元,输出为y= (wr.,".,..);输人权值和阈值学习。BP算法实质是求均方误差函数的最小层到隐层的权为tvo,阈值为0;:隐层到输出层的权为wp,值向题。这种算法采用非线性规划中的最速下降法,按误差函数的负梯度方向修改权系数。设有p个学习样本矢量,对应的期望输出为d"),d(2) ,..学习是通过误收稿日期:2005-12-06差校中国煤化工内简化推导,把各计作者简介:贾丽会(1976- ),女,湖北钟样人,硕士研究生,讲师,研究算二样本输入网络,并方向为图形图像处理技术、信号处理、模式识别;张修如,副教授,研产生iY片CN M H G元误差平方之和,究方向为信息系统,GIS.图形團像处理技术、模式识别。即102●计算机技术与发展第16卷E')= 22(a(0)-y1M)2输出之间的误差在某-个值的左右徘徊,但是无法再减少,这时就表明网络的训练陷人了局部极小值而不是全局当所有样本都输入一次后,总误差为:最小值。En=之E()=号之之(d{)-y)2平坦区局部最小值与全局最小值的二维示意图如图设wp为网络中的一个连接权值,则根据梯度下降法,权2所示。.值修正量应为:▲EOwp =- η其中,若是批量学习,则E = Ea;若是增量学习,则E =E(P。采用梯度法,通过每次调整的增量Ow;和Oruyg,使平坦区局部最小值总的误差向减小的方向变化,直到满足一定的条件。这里以批量学习为例,通过求解,各层权值第no+1次与第no全局最小值次的关系为:图2误差平坦区 、局部最小值与全局最小值二维示意困wx(no+1)= w(no) + n乙%x$P以上两个问题都是BP算法的固有缺陷,其根源在于wo(no+ 1)= wo(no) +之跑2按误差梯度下降的权值调整原则是每- -步求解都取局部最优,即所谓“贪心"(Greedy)算法的原则。式中,8% = (d{)- y?)s{P(1 - y)8物)= ZfPrwx'?)(1-x'{)3 BP 算法的几种改进方法显然,BP网络学习分两个阶段:由前向后正向计算各3.1 变步长法隐层和输出层的输出,由后向前误差反向传播,用于权值BP算法的有效性和收敛性在很大程度上取决于学习修正。步长η的值。采用一般的固定长梯度下降法求解时,起码可能导致两个主要问题:局部极小解;收敛速度慢。所以,2 BP 算法存在的不足及原因分析一般要求是,当训练到误差曲面的平坦区时,梯度较小,为BP算法是目前应用最广泛的神经网络学习算法,但加快收敛应使7增大;当训练到深而窄的误差曲面时,应人们在使用过程中发现BP算法也存在训练时间长、收使n减小,以免因步长过大而出现振荡现象。为加快收敛,敛速度慢、易陷人局部最小点等缺陷。应使力合理化,可采用变步长算法。变步长算法的基本思2.1收敛速度慢想是,先设一个初始步长η,若-次迭代后误差增大,则将在BP算法中,对于比较简单的问题也要经过几千次步长乘以8(< 1),沿原方向重新计算该迭代点;若一次迭才能达到充分的学习。BP算法实质是求均方误差函数的代后误差减小,则将步长乘以a(> 1),计算下一个迭代最小值问题。为保证算法的收敛性,学习率必须小于某一点,以缩短学习时间。上限。这就决定了BP算法的收敛速度不可能很快。另3.2c加动项法外,在BP网络的训练过程中,有时侯会进入误差曲面的为了加速BP算法的收敛,根据Rumelhart等人的建平坦区。这时,误差虽然也在减少,但在一定时间内的减议,可考虑在权值调整算式中加人动量项[4],即少极度缓慢,从而使训练次数大大增加,影响了收敛速度。.Aw(n+1)=- nw(n) + aSwu(n)导致BP算法收敛速度慢的原因很多,譬如:学习步长、初式中,a为动量因子,一般取0.1~0.8。这时权值修正量始权值、目标函数等的选取都会对收敛速度产生影响。Fahlman等人间认为,导致BP算法收敛速度慢的主要原加上了有关上一时刻权值修改方向的记忆,加速了网络的因有两个:学习步长问题和变动目标问题,并提出了著名收敛。加动量项法的具体原理:若相邻两次迭代点处的梯的神经网络构造方法:级联相关(Cascade - Correlation,度方向是一致的,引入动量项可使权值的调整量增大,从0C)算法,解决了传统BP算法收敛速度慢的缺点。而加速收敛;若相邻两次迭代点处的梯度方向相反,引人2.2募陷入局部最小点动量项可使权值的调整量减小,避免了来回振荡,加快了BP算法本质上采用的是梯度下降法,训练是从某一收敛。起点沿误差函数的斜面逐渐达到误差的最小值。误差曲).3 串连法面的多极小点会使训练陷人局部极小。实质上,误差函数中国煤化工人一输出模式间非为一个凹凸不平的多维空间的超曲面,存在非常多的“低线性YH二我性映射关系越复谷”。因而在BP神经网络进行训练时,可能陷入某-小杂,收c N M H G杂的非线性问题,谷区(局部最小点),在这一小谷区里,网络的输出与期望用两个串连的BP网络代替一个BP网络,能够有效地缩第10期贾丽会等:BP算法分析与改进103短训练时间。(2)利用BP算法求权值W ,达到状态a。3.4利用遗传算法优化 BP算法(3)在所有的权上加一个噪声,获得新状态a(在状态BP算法的优点是寻优具有精确性,但它易陷入局部a的领域内)。.极小、收敛速度慢,而遗传算法(Geneic Agorithm,GA)是(4)计算△E= E:'- Eno基于自然选择和遗传规律的全局优化搜索算法,具有很强(5)△E≤0时,接受新状态,转到步骤(6);△E > 0的宏观搜索能力和寻优全局性。因此,在BP神经网络理时,若exp(- OE/T) > randon(0,1), 接受新状态(爬论中引人遗传算法的思想,则可以很好地达到全局寻优和坡),转到步骤(6);否则转到步骤(3),再随机改变状态。快速高效的目的。用GA优化神经网络主要包括3个方(6)从新状态起,用BP算法继续进行权值修正,直到面:优化网络结构、优化权系数及同时优化网络结构和学稳定平衡状态b。习规则等[5]。文中主要介绍在BP网络结构固定的前提(7)若Eo≥E。,搜索失败,转到步骤(3);若E.< E,下,先用GA优化BP网络的初始权值,然后用BP算法精转到步骤(8)。确地搜索出权值最优解的实现方法,其具体步骤如下:(8)若E。<ε,停止;否则k=k+1,T= T/(1+k),(1)初始化种群p,包括种群规模、交叉概率、突变概转到步骤(3) ,从状态b继续模拟退火。率和随机产生的个体。种群中的每个个体代表I -个网络很显然,采用模揿退火算法改进BP算法,可以使原所有初始权值(包括阈值)编码的集合。来一味追求网络误差单调下降(即只会“下坡")的情况增(2)将种群中的每个个体解码成网络的各个权值,然加了“爬坡"能力,使网络能跳出局部极小点而收敛于全局后运行网络,计算各个个体的适应度函数(评价函数)并将极小点。利用模拟退火算法虽然可以有效地达到全局能其排序。量最小状态,但收敛速度很慢,往往和上面提到的方法结(3)对当代种群,按交叉概率和突变概率分别进行交合使用。叉操作和变异操作产生新个体。(4)计算新个体的适应度函数值并根据值的大小将新4仿真实验与结果个体插人到种群p中。异或问题是典型的线性不可分问题,常用于网络算法(5)根据评价函数的顺序,仅选择-半具有较高适应的验证,因此文中用它进行仿真实验。异或问题比较简度的个体,形成下- -代种群。如果找到了满意的个体,或单,没必要采用串连法。这里,BP神经网络采用2-2-1达到最大进化代数,则转(6);否则转(3)。的结构,输人模式为l0,0}, {0,1},1,0,1,1};对应的输(6)将满意的个体进行解码,从而得到通过GA优化出模式为{01,{1},{1},10}。网络所有的初始权值和阚值后的BP网络的初始权值。在[ - 20,20]范围内随机取值,分别用标准BP算法和改(7)按照BP学习算法不断进行网络权值的调整,若进的算法进行实验,实验结果如表1所示。BP网络达到指定精度( E

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。