logo资料库

快速收敛的BP神经网络算法(LMBP)pdf.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
第33卷第4期 2o03年lO月 吉林大学学报(工学版) Journal of Jilin University(Engineering and Technology Edition) V01.33 No.4 Oct.2o03 文章缩号:1671—5497(2003)04—0079—06 快速收敛的BP神经网络算法 王贽松 ,许洪国2 (1.山东理_T-大学交通与车辆工程学院。山东济南 250014;2.吉林大学交通学院。吉林长春 130025) 摘要:以标准BP算法为基础,应用Levenberg-Marquardt最优化方法,提出了一种快速收敛 的BP算法——LM口E;P算法。经实验验证并与标准BP算法及其它改进形式比较,LMBP算法 大大提高了收敛速度,而且性能稳定。这为BP神经网络应用于实时性要求高的场合(如在线 检测)提供了算法基础。该算法的缺点是计算量大,所需计算机内存大,不适合大型网络的计 算。 关键词:神经网络;LMBP算法;Levenberg—Marquardt最优化方法 中图分类号:TP183 文献标识码:A Fast convergent algorithm·BP for trainning neural network WANG Yun—song。,XUHong-guo (1.College of Traffic and Vehicle Engineering。Shandong University of Technology,Jinan 250014。China;2.College of Traffic。Jilin University。Changchun 130025。China) Abstract:A new kind of BP algorithrn-LMBP that converges very fast is proposed in this paper by using Levenberg-Marquardt optimization method and standard BP algorithm.The experimental results prove that LMBP converges very rapidly and has good stability property compared with that 0f the standard BP algorithm and other improved ones.LMBP algorithm is suitable for the case with high demands of on-line computation.e.g .on-line measurement.But When the size of neural network iricreases,it needs enormous calculation and large computer memory space. Key words:neural network;LMBP algorithm;Levenberg—Marquardt optimization method 在人工神经网络的实际应用中,应用最广泛的要首推BP网络,约占80%以上,而在BP网络中,又 以单隐层BP网络为最多。 ,标准BP算法可以训练多层神经网络,近似最速下降法,其误差函数为平均平方误差。每个样本对 作用于网络时,权值或阈值得到一次修改。由于每次修改都是“本位主义”的,即没有考虑权值修改后当 其它模式对作用时,输出误差是否也减少(一般而言,很可能导致误差增大)。这将导致迭代次数增加, 故标准BP算法的训练时间长或收敛速度慢。从另一方面讲,BP网络的训练过程是一个非线性优化问 题,这就不可避免地存在局部极小点问题。解决的办法之一是用不同的初值对权值初始化,对网络多次 训练,直到每次训练后的误差基本稳定,此时可认为网络已收敛于全局极小点。但这一过程非常浪费时 间。为此,许多研究者利用最优化方法提出了各种不同的改进BP算法,如动量法、可变学习率法、共轭 收稿日期:2002.11-29。 作者简介:王赞松(1966一)。男。山东德州人。副教授。现在清华大学做博士后研究。 维普资讯 http://www.cqvip.com
.80. 吉林大学学报(工学版’) 第33卷 ——。———————————————————————————————————————————————————一 梯度法等。这些方法在不同程度上改善了网络性能,提高了收敛速度,但是并未从根本上加以解决。本 文以标准BP算法为基础,利用最优化方法和方法中的Levenberg—Marquardt算法,开发了一种新型的 BP算法——L BP算法。与其他算法相比,该算法大大提高了收敛速度[卜引。 1 Levenberg.Marquardt最优化方法 Levenberg-Marquardt算法类似于优化设计中的牛顿法,其误差函数为平均平方误差一(设牛顿法误 差函数为F(;)): ;^+1=主^一AZ g ^ (1) Z^+ Z^一^^ ^ 、‘, 式中:A^为海森矩阵;;^为梯度,即: 设: 第 个梯度元素为: A^=V2F(x^) g^=V F(;^) N F(;)=∑ (;)= r(;) (;) ilI c = =2 c; 写成矩阵形式为: F(;)=2Jr(;)y(;) 式中:J(主)称作雅可比矩阵,其表达式为: _,(;)= 海森矩阵的第 , 元素为: [V F(;)】^,j= 其矩阵形式为: a 1(;) a 1 a 2(;) a 1 a N(;) . a 1 a l(;) 3x2 a 2(;) 3x2 a N(;) a 2 a l(;) a ^ a 2(;) a ^ a N(;) a ^ 硒82F(x):2奎i=I{ ㈤塑8xtSx~II a ^a 一‘ 一l a ^ a 。 、 (2) (3) (4) (5) (6) (7) F( )=2JT(;)J(;)+2S( ) (8) N 式中: s(主)=∑"0i( )V ( ) (9) i=l 假设S(;)很小,则有: v2F(x)≈2JT(;)J(;) (1O) 将式(1O)和式(5)代人式(1),得高斯.牛顿法 ;^+1=;^一[2JT(;^)J( ^)]一 2JT(;^)y(;^)= ;^一【JT(;^)J(;^)]一 JT(;^)V( z^) (11) 与标准牛顿法相比,高斯一牛顿法不需要计算二阶导数。但在高斯一牛顿法中,H=jTj可能是不可逆矩 阵。因此,设: G:H+pI。 (12) 式中:,为单位矩阵。 维普资讯 http://www.cqvip.com
第4期 王黄松等:快速收敛的BP神经网络算法 ·81 · 假定H的特征值和特征向量分别为{.:I1,.:I2,…,.:I }和{z1,z2,…,z },则有: G =[H+ J]主i=Hz + i=.=I i+1.tZ一 =(.=Ii+ )主i (13) 因此,G的特征向量和H的相同,而特征值为.=Ii+1.t。若增加1.t使.:Ii+1.t>0,可使G变为正定矩阵,而 正定矩阵是可逆的。这就有Levenberg—Marquardt算法,即: ; +1=; 一【JT(; )J(; )+/l J]一 J丁(; )V(; )(14) 随着 的增加,它接近于最速下降法。即当 很大时,有: ; +1≈X一 一 T(; )V(x )=; 一 l_ F(;) (15) 卜 -rk 而当 减小到0时它变成高斯一牛顿法。 Leyenberg—Marquardt算法在开始时可将 取得很小(如/l =0.01)。如果迭代一次后,F(x)的函 数值仍很大,可将/l 乘以一个大于1的因子u>1(如£,=10),以使函数值减小;否则,将/l 除以一个大 于1的因子u,以加快收敛速度。此时算法接近高斯一牛顿法。由此可见,从收敛速度和收敛性来看, Levenberg.Marquardt算法是介于牛顿法和最速下降法的一种折中算法。 2基于Levenberg—Marquardt最优化方法的BP一算法 图1为3层BP网络,图中字母上标代表网络层序号。有R个输入,S 个输出。第1层的输出是 第2层的输入;第2层的输出是第3层的输入。每一层都有不同数目的神经元和不同的转移函数。为 了简单,网络结构可表示为R—S 一S 一S ,字母分别表示输入变量个数及各层的神经元数目。多层感知 器网络可用于模式识别、函数逼近等方面。 4‘=,( ‘户+6‘) 口 =尸(W2a‘+6 ) 口’=尸(W3a +6’) 图l 3层神经网络 Fig.1 Topological architecture ofthree-layerneural network 在多层神经网络中,前一层的输出为下一层的输入,其表达式为: 一a =尸 (WTM + ) (,,l=0,1,2,…,M一1) (16) 式中: 为某层的输出; 为转移函数;W为权矩阵或权向量; 为阈值;M为网络层数。 网络第1层接受外部输人 。= ,为迭代公式(16)提供了初始值。网络最后一层神经元的输出实 际上也是网络的输出。对于多层神经网络,误差函数为平均平方误差,若每一个目标元素发生的概率相 等,则平均平方误差与误差的平方和成正比,即: 0 0 0 N F(;)∑( 一一aq)丁( 一 ):∑eq'e :∑∑(ej, ) =∑( ) (17) 式中:Q为目标向量元素数目; , 为第q个输入即目标对的误差的第.『个元素。 LMBP算法中关键的一步是计算雅可比矩阵。标准BP算法需要计算平方误差对权值和阈值的导 维普资讯 http://www.cqvip.com
·82· 吉林大学学报(工学版) 第33卷 数。而该算法在构造雅可比矩阵时需要计算误差的导数。 设误差向量为: T=[v1 v2…v"]=[el,1e2,1…esu,1P1,2… 。Q] 参数向量为: 主T=[z1 2…z ]=[硼{。1硼{,2…硼lSt,R6{…6lSt硼},1…6 ] 式中:N=Q×SM;,2=S1(R+1)+S (S+1)+…+SM(SM一 +1)。 则多层网络的雅可比矩阵为: J(;)= 3el。1 a … 竺 : … a硼;.2 awlsl。R 3b{ …! 丝 … a叫;。1 a硼;,2 awls,.R 3b; —3es—U,1—3es—U,1… 竺 :!—3es—U,1 a叫;.1 a硼{。2 awls,,R ab; … a叫;.1 a硼;,2 i ! Owls1.R 3el。2 a6; 雅可比矩阵的每一项可通过BP算法的一种简单改进形式来计算,即: 对Levenberg.Marquardt算法,有: 由链规则可知: aF(;) a 一翌 azj = 一3ae k,~ 式中第研层的净输入是权值和阈值的显函数: 令s 为误差信号项: ,z =∑ z产7一 + j=l :旦£ an i (18) (19) (2O) (21) (22) (23) (24) BP算法通过网络最后一层到第一层的一种反馈联系来计算误差信号项,同理可计算雅可比矩阵。为此 定义Marquardt信号项: = =麓 , 式中:h=(q一1)SM+k。 雅可比矩阵的各元素为: [J]^.£= 若z 为阈值,则: a a zt一 [J]^.1= :一Si一,h X a硼ni~zq =j ×口7 =面3ek,q aek ,q:×篝 × nl,qOh? azf a6 a,2Z口 a6 “ ’ (26) (27) 笙 × II × 卫 口 a—a = 丑 堕沌 维普资讯 http://www.cqvip.com
第4期 王赘松等:快速收敛的BP神经网络算法 ·83· 仿照BP算法,最后一层的Marquardt信号项为: : : 堕 :一 :』一 ( 愚) (28) ‘’ Onim,口 a Z口 a Z口 a Z口 【0( ≠k) 、 因此,当输入 应用于网络且得到相应的输出 时,LMBP算法反向传播的初始化计算式为: ; =一 ( ) (29) 式中 ( )由下式定义: l, ( )0 …0 I b-.( :1 0. y-(.rt 2 0 7 l (30) l : : : I L 0 0 … ( 一)j j 的每一列必须用式(29)通过网络反向传播以产生雅可比矩阵的每一行。各列反向传播计算式为: j = ( )(WTM )Tj (31) 每层的Marquardt信号项为: j =[j ,i ,…,j ] (32) 对每一个输入,都将反向传播5 个信号项。这是因为需要计算单个误差的导数,而不是误差平方 和的导数。每一个输入有s 个误差,每一个误差对应雅可比矩阵的一行。信号项反向传播后,雅可比 矩阵可根据式(30)和式(31)计算。 3 LMBP算法的应用 目前,较成熟的BP神经网络算法有基本BP算法、动量法、共轭梯度法、变学习率法等。为比较各 种神经网络算法的收敛速度,作者以一个用神经网络对汽车进行故障诊断的实际例子进行验证。 怠速不稳是桑塔纳2000GSI型轿车AJR电控发动机常见的故障现象,其原因有喷油器堵塞、点火 系故障和真空泄漏。对此,可选取氧传感器、点火系、喷油器与真空度传感器四种传感器波形进行诊断, 经过特征选择和特征提取,选取7个参数作为诊断参数。这样,BP网络结构可取7-9—15.3,输入输出训 练对为200个,平均平方误差为0.1,隐层转移函数为S型,输出层为线性函数。表l为各种BP算法的 收敛速度比较结果。从表中看出,各种算法的收敛速度差别很大,LMBP算法最快。 各种BP算法各有特点,在实际应用中主要取决于问题的复杂性、样本的数量、网络权值的数目、误 差精度等因素。一般而言,具有几百个权值的网络,应用LMBP算法收敛最快,稳定性较好,若要求精 确训练,该算法优势更明显,但它所需计算机内存最大。在所有算法中,收敛速度最慢、性能最不稳定的 是基本BP算法,在实际中应尽量少用。动量法较基本BP算法,在收敛速度、稳定性方面有所改善。共 轭梯度法收敛较快,需要计算机内存较大,适于解决比较 裹l各种BP算法收敛速度比较 大的问题。变学习率法收敛速度仅比动量法快,但在勰Table 1 Comparisonof eonverging 决某些问题仍有其优势。 speed of BP algorithm 从理论推导可以看出,LMBP算法必须存储矩阵 ., .,,它是一个 × 矩阵,其中 为网络权值(含阈值 数目),而其它算法只需存储 维梯度向量。当网络参 数数目很大时,用LMBP算法计算神经网络是不可能 的,这取决于计算机的内存大小,一般情况下参数数目不 能超过几千个。这就是LMBP算法的缺点所在。 维普资讯 http://www.cqvip.com
·84· 吉林大学学报(工学版) 第33卷 4结束语 标准BP算法收敛速度慢是限制其广泛应用的主要原因。为此,本文基于Levenberg-Marquardt最 优化方法,提出一种快速的BP算法——L加3P算法。经实验验证,该方法性能稳定,收敛速度非常快。 但其计算量大,只要计算机内存足够,该方法用于实时性要求高(如在线检测)的场合是完全可能的。是 一种值得推广的方法。LMBP算法在国内有关神经网络的资料中尚未见报道。 参考文献: 【1]鲍立威.关于BP算法模型的缺陷的讨论【J].模式识别与人工智能,1995,8(1):1—5. [2]阎平凡.对多层前向神经网络研究的几点看法[J].自动化学报,1997。23(1):129—135. [3]胡守仁.神经网络导论[M].北京:国防科技大学出版社。1993. [4]戴葵.神经网络应用技术[M].北京:国防科技大学出版社,1998. [5]i.UENG H C.Applications of error backpropagation tO phonetic classification in advances in neural information processing systems[M】.New York:MorganKaufman,1989:206—231. [6]HECHTNR.Counter propagationnetworks[Z].Proc.oftheInternationalConferonceonNeuralNetworks,1987:19—32. [7]POLl ARD J F.Process identification using neural networks[J].Computer Chem.Eng.,1992,16(4):253—271. [8]FAN J Y.An approach tO fault diagnosis of chemical processes via neural networks[J].Journal of AICHE,1993,39(1):82 —87. [9]LEONARD J.Improvement of the backpropagation algorithm for traning neural networks[J].1990。14(3):337—340. 维普资讯 http://www.cqvip.com
分享到:
收藏