Vol129 No14
长春师范学院学报(自然科学版)
JournalofChangchunNormalUniversity(NaturalScience)
2010年8月Aug.2010
一种BP神经网络学习率的改进方法
陈 思
(长春师范学院计算机科学与技术学院,吉林长春 130032)
[摘 要]针对动态BP神经网络学习率优化方法收敛速度慢而且对误差曲面变化不敏感等不利因素,
提出了一种改进的BP神经网络学习率的优化算法。通过判断网络误差变化的趋势来决定动态学习率的调整方向,尤其网络误差处于下降状态时,不需调整。该策略使网络对误差曲面变化敏感且收敛速度快。最后,对两种算法的仿真比较证明了优化算法的有效性。
[关键词]BP神经网络;学习率;收敛速度
[中图分类号]TP389 [文献标识码]A [文章编号]1008-178X(2010)04-0025-03
0 引言
近几年来人工神经网络技术在很多领域都得到广泛应用,尤其是Rumelhart[1]等人提出的BP算法已经成为训练前馈网络的有力工具.但传统的BP算法存在缺陷,首先使网络达不到全局最优,其次收敛时间长,速度慢[2],因此现在很多学者主要研究对BP算法的改进.在人工神经网络训练中,学习率是影响训练速度和训练精度的重要因素之一.如果学习率太小,收敛性容易得到保证,但收敛速度太慢;学习率太大,学习速度快,但可能导致振荡或发散[3].针对这个问题,笔者以前人的研究理论为基础,提出了一种BP神经网络的优化算法,该算法能有效地改善网络的学习率.1 BP神经网络
BP神经网络是一种通用性较强的前馈网络,它主要采用模式正向传递、误差信号反向传播的BP算法,实
现输入到输出的映射,并且是非线性的,具有结构简单、可操作性强等优点,目前已被广泛应用.其算法主要思想如下[4]:
网络训练过程即为学习过程,首先信号作用于输入层,由输入层进入隐含层,并且向输出层传递,这就是模式顺传播.如果输出信号不满足期望值,则将实际输出与期望输出的误差信号沿着逆向逐层返回,这个过程就是误差反向传播阶段,并且以此作为修改各层网络权值的依据.这种学习训练过程一直进行到网络输出误差达到预先设定的误差精度要求为止.2 网络学习率的优化方法
BP算法是通过不断调整网络权值进行学习的,修正量的大小受到学习率的控制,对学习率的改进是BP算
法改进的重要部分.为加速网络的学习速度,文献[5]提出了一种优化BP神经网络学习率的方法,其具体优化公式为
[收稿日期]2010-04-11
[作者简介]陈 思(1977-),女,吉林长春人,长春师范学院计算机科学与技术学院讲师,从事图像处理研究。
・25・
η=Ae-λn.
(1)
公式中n为网络训练过程中的迭代次数,情况不同,A和λ的取值也不同,一般1ΦAΦ50,010001ΦλΦ01001.虽然此算法优于学习率固定的传统BP算法,减少了网络训练过程中的学习次数,但同样存在着其他问
题.首先,模型中A的取值范围并不适用于所有神经网络,由于它的取值决定了网络学习率的初始值,通过A确定的网络初始学习率可能使网络不收敛.其次,当网络误差下降速度快时,该算法反倒使网络收敛速度比较慢,这说明此时网络不适应这种情况.3 改进的BP网络学习率的优化算法
上述模型主要采用在网络学习过程中,逐渐减小学习率的可变学习率法.该模型的另外一种表达形式为
η(k)=e-λη(k-1).
(2)
其中010001ΦλΦ01001,k为迭代次数.不难看出,此模型中学习率的比例系数是固定的,且小于1.但如果网络权值在实际情况中更新之后使误差值减小了,此时就没有必要再减小学习率,如果保持原学习率不变,不仅增加了训练速度,而且修改权值的幅度会大些,训练效果也会更好一些.改进后的模型为η(k)=η(k-1),eη(k-1),-λ
E(k) 其中010001ΦλΦ01001,k为迭代次数.此算法认为,如果网络误差下降速度明显增快时,则说明此时的学习率比较合适,不需调整.4 仿真实验及结果分析 利用Matlab神经网络工具箱,以函数f(x,y)=015(1+sin(2πx)cos(2πy))(0 从仿真结果图1和图2明显看出,未改进算法训练次数比改进算法多了3倍以上.在训练过程中,当网络误差处于下降状态,尤其下降趋势明显时,我们再减小学习率会影响网络的收敛速度,此时应保持不变学习率以较大幅度修改权值.由此可见改进算法比没经过改进的算法收敛速度更快,这说明了改进算法对误差梯度曲面发生变化的区域更为敏感,能更好地达到学习目的.另外,笔者用两种算法都各进行了多次训练,仿真结果如・26・ 表1所示,从表1中的数据可以看出改进算法的平均收敛速度要快一些. 表1 两种算法仿真结果比较 算 法 BP学习率优化模型 改进BP学习率优化模型 平均训练次数 406268 实际误差01009996280100999519 5 结束语 学习速率是BP神经网络中一个重要性能参数,本文提出了一种改进的学习率算法模型,根据实际均方误差变化在学习过程中适时地调整学习速率.分别对这两种算法进行仿真比较,结果表明改进算法对误差曲面的变化更为敏感,比原算法收敛速度更快,能达到较好的学习目的. [参考文献] [1]RumelhartDE,WolliansRJ.Learninginternalrepresenta-tionbyerror-propagation[J].ParallelDistributelProcessing,Cambridge,MAMITpress,1986(1):318-362. [2]杨东侯,年晓红,杨胜跃.两种改进的BP神经网络学习算法[J].长沙大学学报,2004,18(4):54-57.[3]龚安,张敏.BP网络自适应学习率研究[J].科学技术与工程,2006,6(1):64-66.[4]史忠植.智能科学[M].北京:清华大学出版社,2006. [5]刘幺和,陈睿,彭伟,等.一种BP神经网络学习率的优化设计[J].湖北工业大学学报,2007,22(3):1-3. AnImprovementofLearningRateofBPNeutralNetwork CHENSi (CollegeofComputerScienceandTechnology,ChangchunNormalUniversity,Changchun130032,China) Abstract:Inviewofthelowconvergencerateandthepoorsensitivitytothevariationoftheerrorcurvedsurfaceofthedy2namicBPneuralnetworkslearningrateoptimization,thispaperproposedanimprovementalgorithmoftheBPneuralnet2workslearningrate.Thedirectionoftheadjustmentofthedynamiclearningrateisdeterminedbyjudgingthetrendofnet2workerrorchanges,inparticularthenetworkerrorisinthestateofdecline,itneedsnoadjustment.Thestrategymakesnet2workmoresensitivetothevariationoftheerrorcurvedsurfaceandhasafastconvergencerate.Atlast,thecomparativesimu2lationresultsdemonstratetheeffectivenessoftheimprovementalgorithm.Keywords:BPneuralnetworks;learningrate;convergencerate ・27・ 因篇幅问题不能全部显示,请点此查看更多更全内容