BP神经网络算法学习_第1页
BP神经网络算法学习_第2页
BP神经网络算法学习_第3页
BP神经网络算法学习_第4页
BP神经网络算法学习_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

讲课目录1.误差反向传播神经网络的提出2.误差反向传播神经网络结构3.误差反向传播神经网络处理单元模型4.误差反向传播学习算法5.误差反向传播学习算法的数学基础6.误差反向传播学习算法的改进7.小结第1页/共26页误差反向传播神经网络的提出单层感知机模型及其学习算法的提出,曾经使人工神经网络的研究迈出了历史性的一步,但它只能对线性分类模式进行识别,对非线性模式的识别则无能为力。造成单层感知机模型不具有非线性分类能力的主要原因是由于没有隐含层对输入模式进行内部表示,在输入层和输出层之间增加一个或多个隐含层,即形成多层感知机模型,解决“异或”这样一些简单的非线性分类问题,提高神经网络模型的分类能力,但是由于多层感知机模型采用的是单层感知机模型的学习算法,隐含层神经元不具备学习能力,存在很大的局限性。1986年,以Rumelhart和McCelland为首的科学界小组在《并行分布式处理》一书中,对误差反向传播算法进行了详尽的分析与介绍,并对BP算法的潜在能力进行了深入探讨,实现了当年Minsky关于多层神经网络的设想。BP算法采用非线性连续变换函数,使隐含层神经元有了学习能力。其基本思想直观,易于理解,数学意义明确、步骤分明,一经提出就被广泛的接受,因此多层神经网络的训练采用了该算法。人们通常将采用误差反向传播学习算法的多层感知机模型称为误差反向传播神经网络。第2页/共26页误差反向传播神经网络结构典型的BP神经网络是一种具有三层或三层以上结构的无反馈的、层内无互连结构的前向网络(典型的三层BP神经网络结构如下页图所示,)其中首尾两层分别称为输入层和输出层,中间各层为隐含层(也称中间层)。BP神经网络中各层之间的神经元为全连接关系,层内的各个神经元之间无连接。第3页/共26页误差反向传播神经网络结构输入信号输入层节点隐含层节点输出层节点输出结果教师信号修改权值阈值修改权值阈值图:三层BP神经网络结构第4页/共26页误差反向传播神经网络结构BP神经网络的训练过程也就是“正向计算输出——反向传播误差”的过程不断重复进行,直至误差降低到可以接受的范围,BP神经网络的学习训练过程也就随之结束。BP神经网络随着误差反向传播不断的进行修正,从而不断提高对输入模式识别的正确率,因此,BP神经网络采用的学习算法称之为误差反向传播算法,是一种误差函数按梯度下降的学习方法。第5页/共26页误差反向传播神经网络处理单元模型…L1L2…j

图:BP神经网络的处理单元第6页/共26页误差反向传播神经网络处理单元模型连接权向量为W={wij}i=1,2,3,4,…n,j=1,2,…P。L1层的n个处理单元的输出构成了L2层各个处理单元的输入列向量。L2层各个处理单元的阈值为,j=1,2,……p。L2层各个处理单元接收的输入加权和为,j=1,2,…P。L2层各个处理单元的输出由转移函数决定。sigmoid函数作为转移函数,数学表达式为,L2层各个处理单元的输出为BP神经网络选取sigmoid函数作为转移函数是因为sigmoid函数的输出接近生物神经元的信号输出形式,能够模拟生物神经元的非线性特征。同时,sigmoid函数具有的非线性特征也能够增强神经网络的非线性映射能力。第7页/共26页Sigmoid函数特性1.Sigmoid函数的输出曲线。2.L2层各个处理单元的阈值是为模拟生物神经元的动作电位设置的。3.Sigmoid函数的一阶导数为

第8页/共26页误差反向传播学习算法开始连接权值及阈值初始化将学习模式对提供给网络计算隐含层各个单元净输入与输出计算输出层各个单元净输入与输出计算输出层各个单元一般化误差计算隐含层各个单元一般化误差调整隐含层至输出层之间的连接权值及输出层各个单元的阈值调整输入层至隐含层之间的连接权值及隐含层各个单元的阈值更新学习模式对全部学习模式训练完毕?更新学习次数误差<或学习次数<结束11NNYYBP学习算法流程图第9页/共26页误差反向传播学习算法BP神经网络采用BP算法进行学习,其学习过程分四个阶段:“模式顺传播”过程;“误差逆传播”过程;“记忆训练”过程;“学习收敛”过程。以三层BP神经网络为例,介绍标准的BP算法

输入模式向量为

对应输入模式的期望输出向量为

中间隐含层净输入向量

输出向量输出层净输入向量实际输出向量为输入层至隐含层的连接权值隐含层至输出层的连接权值隐含层各个单元的阈值为输出层各个单元的阈值为第10页/共26页误差反向传播学习算法(BP算法描述)

(1)初始化。(2)随机选取一个学习模式对()提供给网络。(3)计算输入层的输出。输入层的输出向量与输入模式向量相同。(4)计算中间隐含层各个神经元的净输入和输出。

(5)计算输出层各个神经元的净输入和实际输出。(6)根据指定的期望输出,计算出各个神经元的校正误差

(7)计算隐含层各个神经元的校正误差

(8)修正隐含层至输出层的连接权值v和输出层神经元的阈值,学习速率为(9)修正输入层至隐含层的连接权值w和隐含层神经元的阈值,学习速率为

第11页/共26页误差反向传播学习算法(BP算法描述)(10)随机选取下一个学习模式对提供给网络,返回3,直至全部m个学习模式对训练完毕。(11)判断网络全局误差E是否满足精度要求,即,若满足,则转至13,否则继续。(12)更新网络学习次数,若学习次数小于规定的次数,返回2(13)结束。

以上学习步骤中3~5为输入学习模式的顺传播过程6~9为网络误差的逆传播过程10为完成训练11~12为收敛过程

第12页/共26页BP学习算法需要注意的问题学习模式对中的期望输出是对模式分类的一种表示。误差逆传播过程是输出层误差向隐含层传递的过程,并且每一个隐含层处理单元的校正误差都是由q个输出层处理单元传递过来的校正误差综合作用产生的。训练过程是一个不断重复进行的学习过程,每次学习时都要根据期望输出和网络实际输出之间的误差值调节各层之间的连接权值和阈值,每次学习时网络的实际输出会逐渐向对应的期望输出逼近。收敛过程就是网络全局误差趋向极小值的过程,也就是网络的实际输出非常逼近期望输出的过程。由于Bp神经网络采用Sigmoid函数作为转移函数,因此,网络的实际输出是一个实数,而不是单层感知机模型中的二值离散值,所以,在网络收敛时,实际网络输出与期望输出之间的逼近关系不能简单地用是或否来衡量,Bp神经网络中的逼近是一个模糊的概念,表示的是实际输出与期望输出的接近程度。第13页/共26页误差反向传播学习算法的数学基础BP学习算法仍然是基于最小均方误差准则,采用误差函数按梯度下降的方法进行学习.修正隐含层至输出层的连接权值V第k个学习模式的期望输出与实际输出的偏差为因此的均方差为按照误差按梯度下降原则,隐含层至输出层之间的连接权值,应按照下式进行调整为了使随着连接权值的调整按梯度下降,则有由可得由式子输出层各个神经元的校正误差以及上面式子可得第14页/共26页误差反向传播学习算法的数学基础同理,由输入层至隐含层之间的连接权值也应给予误差按梯度下降的原则,按照右式进行调整:定义输出层各个神经元的校正误差

由上式和可得由隐含层各个神经元的校正误差第15页/共26页误差反向传播学习算法的改进BP算法存在的问题累积误差校正算法Sigmoid函数输出限幅的BP算法增加动量项的BP算法学习速率自适应调整算法第16页/共26页BP算法存在的问题学习算法的收敛速度慢。影响BP学习算法收敛速度的关键之一就是学习速率。存在局部极小点。影响Bp学习算法产生局部极小点的关键因素之一是初始连接权值。隐含层层数及节点数的选取缺乏理论指导。训练时学习新样本有遗忘旧样本的趋势。Bp神经网络的学习与记忆具有不确定性。针对Bp神经网络的这些问题,研究人员投入了大量的精力,对其性能的改善进行了大量的研究工作,并提出了许多改进方案。

第17页/共26页累积误差校正算法一般的Bp算法称为标准误差反向传播算法,这种算法并不是真正全局意义上的梯度下降。要想做到真正全局意义上的误差按梯度下降,首先需要计算m个学习模式对的一般化误差之和,即按照下式计算网络全局误差:

计算完m个学习模式对的累积误差后,用累积后的误差,也即网络全局误差校正输出层与隐含层,隐含层与输入层之间的连接权值以及输出层与隐含层的阈值,这种改进的Bp算法称为累积误差校正算法。

第18页/共26页累积误差校正算法流程图开始将学习模式对提供给网络计算学习模式的输出计算学习模式的一般化误差更新学习模式误差累加校正各连接权值和阈值更新学习次数全部模式学习完?误差<或学习次数>结束11NNYY第19页/共26页累积误差校正算法与一般化误差校正算法的区别

累积误差校正算法与标准误差反向传播算法相比,每个连接权值及阈值的校正次数明显减少,每一次学习减少m-1次校正,因此学习时间也随之减短,尤其是在学习模式集合不太大学习模式对较少时,累积误差校正算法的收敛速度要快于标准误差反向传播算法,但是因为累积误差校正算法对连接权值的调整时在计算所有m个学习模式对的误差和之后进行的,因此容易将各个学习模式的误差平均化,并在某些情况下容易引起网络的震荡。第20页/共26页Sigmoid函数输出限幅的BP算法分析标准的BP算法中对连接权值W和V的调整过程,对这些连接权值的调整都与隐含层的输出相关。而隐含层的输出时由sigmoid函数的输出决定的,由sigmoid函数的饱和非线性输出特性图可知,当其输入小于或大于某一数值后,其输出接近于0或者1。因而在相当次数的学习过程中,连接权值真正的校正量很小,校正过程十分缓慢,因此限制sigmoid函数的输出,能够加速网络的收敛。用伪代码描述的sigmoid函数输出限幅的BP算法如下:IFf(x)<=0.01THENf(x)=0.01ELSEIFf(x)>=0.99THENf(x)=0.99ELSEf(x)保持不变第21页/共26页增加动量项的BP算法标准BP算法在调整连接权值时,只考虑了本次调整时的误差梯度下降方向,因而经常使训练过程发生振荡,收敛缓慢。因此,为了减小振荡,提高网络的训练速度,可以再对连接权值进行调整时,按一定比例加上前一次学习时的调整量,即动量项。带有动量项的连接权值调整公式如下:为动量项,其中n为学习次数,为动量系数,。加入动量项的本质是使得学习过程中的学习速率不再是一个恒定的值,在引入动量项后,总是力图使连接权值的调整向着同一方向进行,即使两次连接权值调整的方向不同,也可以减少振荡,提高训练速度,加速网络的收敛。

第22页/共26页增加动量项的BP算法但是上面式子中,动量系数是一个常量,因此,动量项在每次学习校正时所引起的作用是相同的,为了发挥随着学习过程不断调节动量项所起的作用,可以将式子修改如下

在式子中动量系数是一个变量,随着学习过程的不断进行,动量系数逐渐改变,动量项在调整过程中所占的比重也逐渐改变,这样可以使连接权值的调整随着训练过程的不断进行而逐渐沿平均方向变化。在实际应用中发现,采用增加动量项的BP算法会加快网络的收敛速度,但该算法也存在一个明显的缺点,即对于动量系数的确定并无理论指导,需要通过试验确定,通常来说,动量系数不易过大,如果动量系数太大,动量项所占的比重过重,则本次误差修正项的作用会消减太多,以致完全不起作用,反而会延长收敛时间,甚至引起振荡,一般情况下,动量项系数的最大值在0.9左右。第23页/共26页学习速率自适应调整算法学习速率是影响BP学习算法的关键因素之一,因此需要为BP算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论