




免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
BP神经网络的发展综述 江中正 (中山大学 工学院, 广东 广州)摘要:本文简要介绍BP神经网络的发展背景,然后针对其存在的不足,详细地介绍了各种BP神经网络的改进方法以及改进后的各种应用,并对BP网络以后的发展方向进行展望。关键词:BP网络;应用;发展现状;改进方法1. BP神经网络的发展背景人工神经网络(Artificial Neural Network, ANN),简称“神经网络”,作为对人脑最简单的一种抽象和模拟,是探索人类智能奥秘的有力工具。神经网络起源于20世纪40年代,至今已有半个多世纪,大致经历三个阶段。20世纪5060年代是第一次研究高潮。在1943年,由心理学家McCulloch 和数学家Pitts共同提出MP模型,开创神经科学理论研究的时代。到了6070年代,Minsky 证明了感知器不能实现异或问题,也不能实现其他事的谓词函数。1969年他和Papert的一本论著Percertrons对当时与感知器有关的研究工作产生恶劣影响,使许多人对神经网络研究失去信心,神经网络研究转入低潮时期。在这时期Werbos提出了BP理论及反向传播原理。而80年代至今神经网络研究进入第二次研究高潮。1986年Romelhart 和 Mcclelland 提出了误差反向传播算法 ( Error Back Propagation Algorithm ,简称BP算法) ,由于多层前馈网络的训练经常采用误差反向传播算法 ,人们也常把多层前馈网络称为BP网络。由于具有结构简单、 工作状态稳定、 易于硬件实现等优点,BP网络是迄今为止最常用、最普通的神经网络。目前在神经网络世纪应用中,80%90%的人工神经网络模型都是采用BP网络或其变化形式。BP网络是前向网络的核心部分,体现了人工神经网络最精华的部分,广泛应用于模式识别及分类、 系统仿真、 故障智能诊断、 图像处理、 函数拟合、 最优预测等各个领域当中。2. BP网络的描述BP神经网络也称误差反向传播神经网络,是一种有非线性变换单元组成的多层前馈型神经网络,具有输入层、隐含层和输出层,层与层之间多采用全连接方式,同一层单元之间不存在相互连接。图一给出一个典型3层BP神经网络结构。BP学习算 图 一法是训练人工神经网络的基本方法,其实质是求解误差函数的最小值问题,利用它可实现多层前馈神经网络权值的调整。BP网络学习算法包括两个过程,一是信息的正向传播,另一个是误差的方向传播。正向传播过程:输入样本从输入层传入 ,经各隐层逐层处理后,传向输出层。误差反向传播过程:如果输出响应与期望输出样式有误差不满足要求,那么就转入误差反向传播,将输出误差以某种形式通过隐层向输入层逐层反传, 并将误差分摊给各层的所有单元, 从而获得各层单元的误差信号, 此误差信号作为修正各单元权值的依据。由“模式顺传播”与“误差逆传播”是反复交替进行的网络“记忆训练”过程;网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。简言之,就是由“模式顺传播”“误差逆传播” “记忆训练” “学习收敛”的过程。三层前馈网中 ,输入向量为 X = ( x1 , x2 , , xi , ,xn)T,隐层输出向量为 Y = ( y1 , y2 , , yj , , ym )T ,输出层输出向量为 O = ( o1 , o2 , , ok , or)T。期望输出向量为 d = ( d1 , d2 , , dk , dr )T。输入层到隐层之间的权值矩阵用 V 表示, V = ( V 1 , V 2 , ,V j , V m) ,其中列向量 V j 为隐层第 j 个神经元对应的权向量; 隐层到输出层之间的权值矩阵用 W 表示, W = ( W1 ,W2 , , W K , , Wr) ,其中列向量 W K 为输出层第 k 个神经元对应的权向量。它们之间的关系为:OK =fnetk k=1,2,r 1netk=j=0mwik yj k=1,2,r 2yj=fnetj j=1,2,m 3netj=i=0nvijxi j=1,2,m 4其中传递函数一般为(0,1)S型函数fx=11+e-x 5以上算式(1)(5)为三层前馈网的数学模型。BP学习算法的权值调整计算公式为:wjk=k0yj=dk-OkOk1-Okyj 6vij=k=0rk0wjkyj1-yjxi 7其中(0 ,1) ,表示学习率。训练过程不断调整权值和阈值,使得神经网络的表现函数达到最小。前馈型神经网络表现函数默认为网络输出向量与期望输出向量的均方差。3. BP神经网络的发展现状将BP算法用于具有非线性转移函数的三层前馈网络,可以以任意精度逼近任何非线性函数 ,这一非凡优势使三层前馈网络得到越来越广泛的应用。然而标准的 BP 算法在应用中暴露出不少内在的缺陷。3.1. BP网络的局限性1)收敛速度慢;为保证算法的收敛性,学习率q必须小于一个上限。这就决定了BP算法的收敛速度不可能较快,并且越是接近极小值处,由于梯度变化值逐渐趋于零,算法的收敛速度就越慢;2)所得的网络容错能力差;3)算法不完备,易陷入局部极小。不能保证收敛到全局最小点。实际问题的求解空间往往是极其复杂的多维曲面,存在着很多局部极小点,使得陷于局部极小的可能性大大增加,这使权值的初始值选择对网络学习结果有较大的影响,通过随机设置的初始权值经训练而达到全局最优点较难;4)网络隐含层层数及隐含层单元数的选取尚无理论上的指导而是根据经验确定。因此,网络往往有很大的冗余性,无形中增加了网络学习的时间。3.2. BP网络的改进方法传统的BP算法存在以上种种问题,但最重要可归根为两个突出的本质问题( 收敛速度慢, 易陷人局部极小点) 使其应用受到了一定限制。目前,国内外对B P网络这两个问题已提出不少有效的改进算法:3.2.1 对BP网络收敛速度的改进方法1) 动量BP算法标准BP算法中,首先k时刻的权值调整只考虑k时刻的梯度变化,而没有考虑在此之前的梯度变化方向,即网络训练积累的经验,导致训练过程发生震荡,收敛速度过慢。为此,许多学者提出了动量项改进方法。该方法为权值调整量在当前变化量基础上加上一个正比于前一个权值调整量的量,这样会导致收敛加快。其权值调整公式为wjk (n+1)= wjk (n+1)+wjk (n),为动量因子,wjk (n)是附加动量项,利用附加动量项可以平滑梯度方向的剧烈变化,增加算法的稳定性。据有关文献介绍,0.2学习率0.5,0.90.98时,收敛速度比较快。2) 学习速率可变的BP算法学习率也称为步长 ,在标准的 BP 算法定为常数,然而,在平坦区域内学习率太小会使训练次数增加,在误差变化剧烈的区域 ,学习率太大会使训练出现震荡 ,反而使迭代次数增加。主要思想是:先对训练中权值的修正值进行检查分析,看它有没有降低误差函数。如果权值的修正值确实使网络的输出值与期望输出值之间的差值减小了,则说明所选的学习速率偏小了,可以对其增加一个量;否则,调整过度了,就应该减小学习速率的值。3) 弹性BP算法一般 BP 网络的隐含层激活函数采用S型 (Sigmoid)函数,S型函数将神经元的输入范围从 ( - ,+ )射到(0, 1) , 当输入变量很大时,S型函数的斜率将接近于0, 这可能会导致产生在利用 S型函数训练 BP网络中梯度下降的问题, 由于即使梯度有很小的变化, 也会引起权值的变化, 使权值远离最优值. 弹性 BP 算法的原理就是打算消除对偏导数的大小有害的影响权步, 因此, 惟有导数的符号被认为表示权更新的方向,导数的大小对权值更新没有影响. 权值改变量的大小仅由专门的 “更新值” (i) 来确定:4) LM算法其权值的调整方法为:w=-(JTJ+J)-1JTe其中, J 为误差对权值微分的 Jacobian 矩阵,e为误差向量. 该方法光滑地在两种极端情况之间变化: 即牛顿法 (当 m0 时) 和最陡下降法 (当-时) . L - M 法的收敛速度较快。5) 正则化方法网络的推广能力是衡量神经网络性能好坏的重要标志. 为了提高 BP 神经网络的推广性能,文献【2】提出正则化方法。正则化方法是通过修正神经网络的训练性能函数来提高推广能力的。在正则化方法中, 网络性能函数由原来的均方误差函数mse改为msereg=mse+(1-)msw, msw为所有权值平方和的平均值,为比例系数。文献【2】作出实验表明,该方法收敛速度稍逊LM,却明显快于前三种。6) BP算法与 DFP变尺度算法相结合进行权值修正的方法其它算法在误差寻优时都是完全独立于标准 BP算法,而文献【1】则给我们提出一种有别其它算法的方法,该算法建立在标准 BP算法的基础之上, 将标准BP 算法与DFP变尺度算法相结合, 从而达到减少迭代次数, 提高收敛速度的目的。在误差寻优初期, 首先采用采用负梯度方向下降法进行迭代, 当接近最优时采用DFP变尺度算法加快收敛速度。变尺度算法修正算法表示为Wjk(n+1)=Wjk(n)+H(n)D(n),其中,为学习因子,H(n)为 Hesse矩阵, 并取 H(0)=I, I为单位矩阵。该算法也存在明显的不足,尽管提高了收敛速度,但牺牲了存储空间: 由于需要计算Hesse矩阵使得计算量突增。若问题更强调在误差寻优时注重收敛速度, 则这种优化算法有一定的使用价值。除了以上几种,其实还有很多种改进方法,如变梯度BP算法、拟牛顿算法,文献【3】提出的带动量的批处理梯度下降算法等等。对于一个给定的问题,采用哪种训练方法其训练速度最快,是很难预知的,因为这取决于众多因素,包括问题的复杂性、训练样本集的数量、网络权值和阈值的数量、误差目标、网络途径等。有些速度快,但精度不够,有些收敛速度稍慢却能很好的收敛。所以对于不同的问题需要选择恰当的方法。3.2.2 对BP网络局部极小值问题的改进方法1) 合理选择初始权值和阈值通过选择合适的权值和阈值或在训练过程进行恰当调整,以跳出局部极小区域。文献【4】在对经过旋转任意角度的二值图像的训练和识别 ,提出了具有一定借鉴性的网络初始权值的选取范围wi j6.2169 n/(m+1),分别从理论推导和实验验证方面证明其正确性。另外,设置多种初始权值,然后比较选出训练效果最好的一个,能有效避免局部极小值,达到全局最优值,这种方法是目前比较行之有效、应用最多的一种。2) 模拟退火算法模拟退火算法是模拟金属退火过程的一种全局寻优算法。随机取权值增量w,按如下原则判断是否接受新的权值调整:若w使网络代价函数E(w)减少,则接受w;若w使代价函数增加,则按一定概率分布接受w。实际上等效给变量引入“噪声”,使得网络有可能跳出代价函数的局部极小点,而向全局极小点收敛。3) 遗传算法文献【5】中详细地介绍了遗传算法。遗传算法是模拟生物在自然环境中的遗传和进化过程而形成的一种自适应全局优化概率搜索算法。该算法从多点开始并行操作,可以有效防止收敛于局部最优解;使用概率法则引导其搜索,在解空间进行高效启发式搜索,而非盲目地穷举或完全随机搜索,避免局部极小值可能性很大。使用中可首先利用遗传算法的全局搜索性能找到问题最优解所在区域,再利用误差反向传播方法找到最优解。遗传算法的步骤具体如下:(1)编码,在求解问题之前,应该将问题的可行解表示成易于遗传操作的染色体。(2)用随机方法生成初始化群体;(3)利用适应度函数计算群体上每个个体的适应度值;(4)如果没有满足某种停止条件,则转(5),否则进入(8);(5)按某个规则根据个体适应度值选择将进入下一代的个体;(6)按概率Pc进行交叉操作;(7)按概率Pm进行变异操作,转第(3);(8)输出种群中适应度值最优的染色体作为问题的满意解或最优解;4) 改进激活函数如果将Sigmoid的值接近0或1,两端区域定义为饱和区,中间定义为非饱和区。在饱和区,函数值对自变量变化不敏感,连接权的微小变化不会对该神经元输出产生影响,受到后面学习样本的影响不大,如果此时不是期望的输出值,则很难讲神经元状态调整过来,出现“平台”现象。为解决这问题,可将隐含层激活函数改为这个形式f(x)=1/(a + be-c x ),通过调整a,b,c改变函数饱和区,从而达到调整神经元输出值的目的。3.3. BP网络的应用BP网络作为一种很重要的神经网络模型在许多领域都得到了应用。1) 函数逼近函数逼近是BP网络比较简单普遍的应用。BP网络可以看成是输入到输出的高度非线性映射,即G:RnRm ,g(y) = x ,对于样本集合 ,输入 yi Rn、输出 xi Rm ,可以认为存在某一映射 h ,使 h ( yi) = xi ( I = 1 ,2 , ,n)。现须求出映射 g,通常在最小二乘意义下 ,g 是 h 的最佳逼近。神经网络通过对简单的非线性函数进行数次复合,可近似任意复杂的函数或映射。2) 图像压缩编码图像压缩编码原理是,把一组输入模式通过少量的隐层节点映射到一组输出模式 ,并使输出模式等同与输入模式。当中间隐层的节点数比输入模式维数少时 ,就意味着隐层能更有效地表现输入模式 ,并把这种表现传给输出层。在这个过程中 ,输入层和隐层的变换可以看成是压缩编码的过程;而隐层和输出层的变换可以看成是解码过程。3) 飞行参数估测飞行参数分析具有很强的实时性和精确性,飞行数据记录器中飞行参数的采集速率一般为1s,通常由于随机干扰因素的影响会造成1 -3 s 飞行数据中断或误码。因此,必须对此误码或中断数据进行正确判读和估测,才能有效滤除虚假事件警告,准确反映飞机状态信息。文献【6】 运用时间序列预测法,由已知的时间序列参数推测出下一个未来时刻将出现的数据结果,在原来网络模型的基础上根据当前数据修正模型并同时进行估测。实验中用2 个结构相同的B P网络分别估测经度和纬度参数, 通过观测i,i-1时刻经度( 或纬度) 、 地速、 航向参数值, 同步并行估测i 十1 时刻的经度 ( 纬度) 参数值。 通过动态并发过程不断以实际置后的译码数据值逐步与估测值相比较, 若译码值判定为误码数据, 则以估测值替代译码值, 否则由译码值更新估测值。由于BP算法稳定,容错性强,具有联想记忆功能,在这方面的运用取得很好的效果。4) 图像识别数字图像识别前景广阔,广泛应用于交通、银行、教育和邮政等多个领域,BP神经网络具有较强的容错性和自适应学习能力, 因而在数字图像识别领域有着广泛的应用。无论是手写汉字还是英文,实际情况总会存在一些噪声干扰,或者一些非线性因素。为了达到更高的精度要求,可以设计更大的网格形式,也就是让输入向量有更多的元素,携带更多的信息。也可以延长网络训练时间或者增加网络隐层神经元数目。文献【17】在经典 BP神经网络的基本算法的基础上, 对 BP算法的参数设置进行了优化, 实现了一种基于分类的改进 BP神经网络算法。实验结果证明改进后的算法对数字图像分类识别有很好的实用价值。5) 人脸识别近年来,随着人们对人机交互兴趣的增加,表情识别逐渐成为其中一个研究热点。人脸表情根据人脸活动性或者根据情感基本可分为中性(Neutral)、 微笑(Smile)、 悲伤(Sadness)、 惊奇(Surprise)、愤怒(Anger)、厌恶(Abomination)、恐惧(Fear)7类。而人的脸部表情识别系统包括人脸检测、 人的脸部特征定位与提取和人的脸部表情的分类三个重要环节。BP网络用于人脸识别时,网络的每一个输入节点对应样本的一个特征,而输出节点数等于类别数,一个输出节点对应一个类。在训练阶段,如果输入训练样本的类别标点是i,则训练时的期望输出假设第i 个节点为1,而其余输出节点均为0。在识别阶段,当一个未知类别样本作用到输入端时,考察各输出节点对应的输出,并将这个样本类别判定为具有最大值的输出节点对应的类别。如果有最大值的输出节点与其它节点之间的距离较小(小于某个阈值),则作出拒绝判断。经过竞争选择,获得识别结果。文献【7】和文献【8】中提出了一种DCT-BP算法来识别面部表情,首先对图像进行灰度均衡和图像平滑的预处理,灰度均衡处理就是增加对比度,图像平滑的预处理用以减少噪音,然后利用离散余弦变换(即傅立叶变换的实部运算)获取图像的表情特征参数,最后利用前向反馈算法进行识别。文献【9】则认为对于有特征提取部分的系统实际上利用人的经验来获取模式特征以及神经网络分类能力来识别目标图像,容易丢失表征表情特征的细节信息,因此不对人脸表情图像作特征提取, 直接把图像数据作为神经网络识别器的输入,即缺少文献【7】中的离散余弦变换步骤,同时在预处理进行对图像进行切割和归一化处理,结果表明抗干扰能力很强。文献【10】研究了基于面部运动特征的表情识别方法,其特征提取利用脸部运动编码系统(FACS) 进行,采用的是脸部运动单元分析法,通过定义运动单元(Action Units,即 AU)来对应于面部运动,并分析了这些运动单元的运动特征及其所控制的主要区域以及与之相关的表情。文献【11】提出了基于主分量分析 ( PCA) 与 BP 神经网络的人脸识别算法, 该算法利用小波变换对人脸图像进行小波分解, 形成低频小波子图,然后用主分量分析法构造特征脸子空间, 将人脸图像在特征空间的投影作为 BP 神经网络的输入,再根据 BP 神经网络较强的学习、归纳分类能力, 得到人脸主分量与所属人类别的函数映射关系, 从而实现人脸识别。文献【12】将遗传算法和BP神经网络算法相结合,改进BP算法并应用在表情识别阶段,用优化的神经网络提高识别率。4. 展望21世纪初,在近10年神经网络理论研究趋向的背景下,神经网络理论主要前沿领域包括:对智能和机器关系问题、神经计算和进化计算问题、神经网络结构和神经元芯片的发展而BP神经网络作为重要的一员,将发挥不可比拟的作用。但是BP 网络存在自身的弊端,加上不同的问题的样本数、阀值数的复杂性,期望误差的不同,很难说那个方法好,只能说哪类问题更适合那种算法,因此在处理某具体问题时只能通过改进BP算法来解决具体问题。BP网络的发展将会通过不断改进的方式发展下去,广泛应用于各个领域当中。参考文献【1】 王青海. BP神经网络算法的一种改进. 青海 大通:青海大学学报 (自然科学版),第22卷 第 3期, 2004【2】 范 磊,张运陶,程正军. 基于 Matlab 的改进 BP 神经网络及其应用. 四川 南充:西华师范大学学报(自然科学版),第26卷 第 1期, 2005【3】 陈桦, 程云艳. BP神经网络算法的改进及在 MATLAB中的实现. 陕西 咸阳:陕西科技大学学报,Vol 22,No. 2,2004【4】 乔 双, 董智红. BP网络初始权值的选取方法. 吉林 长春:东北师大学报自然科学版,第36卷 第 3期,2004【5】 黄庆斌. BP算法的改进及其应用研究. 西南交通大学硕士研究生学位论文 2010【6】 李志田,白振兴. 基于B P 神经网络的飞行参数估测方法. 陕西 西安:现代电子技术 2005年第12期总第203期【7】 杨 霞 潘晓露 李一民 王冲青鸟. DCT-BP 神经网络在表情识别中的应用. 昆明: 科技广场 2007【8】 董戎萍 唐伯良. 基于 DCT- BP 神经网络的人脸表情识别. 微计算机信息(测控自动化),2005 年第 21 卷第 10-1 期【9】 胡继胜,赵 力. 基于 BP 神经网络的人脸表情识别. 安徽 合肥:微型机与应用 第 11 期,2010 年【10】 王 志. 一种基于多层BP神经网络面部表情识别方法. 黑龙江 哈尔滨【11】 赵立强, 张晓华, 高振波, 张洪亮. 基于BP 神经网络的主分量分析人脸识别算法. Computer Engineering and Applications 计算机工程与应用,2007, 43( 36)【12】 赵翠杰. 基于优化的BP神经网络在表情识别中的研究. 天津:计算机科学,第36卷 第4A期,2009年4月【13】 周敬利,吴桂林,余胜生. 基于BP神经网络的人脸检测算法. 武汉:计算机工程,第30卷第11期,2004年6月【14】 黎 奎, 宋 宇, 邓建奇, 刘 民, 陈忠林, 周激流. 基于特征脸和 BP神经网络的人脸识别. 四川 成都:计算机应用研究,第六期,2005年【15】 杜经纶,姚志剑,谢世平,史家波,曹燕翔,滕皋军. 中国面部表情视频系统的初步建立. 中国心理卫生杂志 2007年 第 21卷 第 5期【16】 朱树先,张仁杰. BP和 RBF神经网络在人脸识别中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论