我的人工神经网络6BP网络课件

上传人:仙*** 文档编号:241375674 上传时间:2024-06-21 格式:PPT 页数:64 大小:1.03MB
返回 下载 相关 举报
我的人工神经网络6BP网络课件_第1页
第1页 / 共64页
我的人工神经网络6BP网络课件_第2页
第2页 / 共64页
我的人工神经网络6BP网络课件_第3页
第3页 / 共64页
点击查看更多>>
资源描述
第6章 BP神经网络武汉工程大学计算机科学与工程学院2一、内容回顾二、BP网络三、网络设计四、改进BP网络五、内容小结内容安排武汉工程大学计算机科学与工程学院3一、内容回顾 感知机自适应线性元件武汉工程大学计算机科学与工程学院4一、内容回顾 感知机感知机简介神经元模型网络结构功能解释学习和训练局限性自适应线性元件武汉工程大学计算机科学与工程学院5一、内容回顾 感知机自适应线性元件Adline简介网络结构网络学习网络训练武汉工程大学计算机科学与工程学院6内容回顾:学习算法离散单输出感知器训练算法离散单输出感知器训练算法W=W+X;W=W-XW=W+(Y-O)X离散多输出感知器训练算法离散多输出感知器训练算法Wj=Wj+(yj-oj)X连续多输出感知器训练算法连续多输出感知器训练算法wij=wij+(yj-oj)xi武汉工程大学计算机科学与工程学院7内容回顾:线性不可分问题ax+by=1yx1(0,0)(1,1)线性不可分性不可分问题的克服的克服两两级网网络可以划分出封可以划分出封闭或开放的凸域或开放的凸域多多级网将可以网将可以识别出非凸域出非凸域隐藏藏层的的联接接权的的调整整问题是非常关是非常关键武汉工程大学计算机科学与工程学院82.1BP网络简介2.2网络模型2.3学习规则2.4图形解释2.5网络训练二、BP网络武汉工程大学计算机科学与工程学院92.1 BP网络简介1、BP算法的出现算法的出现非循环多级网络的训练算法非循环多级网络的训练算法UCSD PDP小小组组的的Rumelhart、Hinton和和Williams1986年年独独立立地地给给出出了了BP算法清楚而简单的描述算法清楚而简单的描述1982年,年,Paker就完成了相似的工作就完成了相似的工作1974年,年,Werbos已提出了该方法已提出了该方法2、弱弱点点:训训练练速速度度非非常常慢慢、局局部部极极小小点点的的逃逃离离问问题题、算算法法不不一一定定收敛。收敛。3、优点:、优点:广泛的适应性和有效性。广泛的适应性和有效性。武汉工程大学计算机科学与工程学院10反向传播网络(Back-PropagationNetwork,简称BP网络)是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络权值的调整采用反向传播(Back-propagation)的学习算法它是一种多层前向反馈神经网络,其神经元的变换函数是S型函数输出量为0到1之间的连续量,它可实现从输入到输出的任意的非线性映射2.1 BP网络简介武汉工程大学计算机科学与工程学院112.1 BP网络简介BP网络主要用于下述方面函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数模式识别和分类:用一个特定的输出矢量将它与输入矢量联系起来;把输入矢量以所定义的合适方式进行分类;数据压缩:减少输出矢量维数以便于传输或存储具有强泛化性能:使网络平滑地学习函数,使网络能够合理地响应被训练以外的输入泛化性能只对被训练的输入输出对最大值范围内的数据有效,即网络具有内插值特性,不具有外插值性。超出最大训练值的输入必将产生大的输出误差武汉工程大学计算机科学与工程学院122.2 网络模型一个具有r个输入和一个隐含层的神经网络模型结构 武汉工程大学计算机科学与工程学院132.2 网络模型感知器和自适应线性元件的主要差别在激活函数上:前者是二值型的,后者是线性的BP网络具有一层或多层隐含层,除了在多层网络上与前面已介绍过的模型有不同外,其主要差别也表现在激活函数上。BP网络的激活函数必须是处处可微的,因此它不能采用二值型的阀值函数0,1或符号函数1,1BP网络经常使用的是S型的对数或正切激活函数和线性函数武汉工程大学计算机科学与工程学院142.2 网络模型BP网络特点输入和输出是并行的模拟量网络的输入输出关系是各层连接的权因子决定,没有固定的算法权因子通过学习信号调节。学习越多,网络越聪明隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数在一般情况下,均是在隐含层采用S型激活函数,而输出层采用线性激活函数武汉工程大学计算机科学与工程学院152.2 网络模型S型函数具有非线性放大系数功能,可以把输入从负无穷大到正无穷大的信号,变换成-1到l之间输出对较大的输入信号,放大系数较小;而对较小的输入信号,放大系数则较大采用S型激活函数可以处理和逼近非线性输入/输出关系武汉工程大学计算机科学与工程学院16网络的拓扑结构x1o1输出出层隐藏藏层输入入层x2o2omxnW(1)W(2)W(3)W(L)武汉工程大学计算机科学与工程学院17网络的拓扑结构 1.BP网的结构网的结构2.2.输输入入向向量量、输输出出向向量量的的维维数数、网网络络隐隐藏藏层层的的层层数数和和各各个个隐隐藏藏层神经元的个数的决定层神经元的个数的决定3.3.实实验验:增增加加隐隐藏藏层层的的层层数数和和隐隐藏藏层层神神经经元元个个数数不不一一定定总总能能够够提高网络精度和表达能力。提高网络精度和表达能力。4.4.BPBP网一般都选用二级网络。网一般都选用二级网络。武汉工程大学计算机科学与工程学院18网络的拓扑结构x1o1输出出层隐藏藏层输入入层x2o2omxnWV武汉工程大学计算机科学与工程学院192.3 学习规则BP算法属于算法,是一种监督式的学习算法主要思想对于q个输入学习样本:P1,P2,Pq,已知与其对应的输出样本为:T1,T2,Tq使网络输出层的误差平方和达到最小用网络的实际输出A1,A2,Aq,与目标矢量T1,T2,Tq之间的误差修改其权值,使Am与期望的Tm,(ml,q)尽可能接近武汉工程大学计算机科学与工程学院202.3 学习规则BP算法是由两部分组成,信息的正向传递与误差的反向传播正向传播过程中,输入信息从输入层经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态如果在输出层未得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标武汉工程大学计算机科学与工程学院212.3 学习规则假设输入为P,输入神经元有r个,隐含层内有s1个神经元,激活函数为F1,输出层内有s2个神经元,对应的激活函数为F2,输出为A,目标矢量为T武汉工程大学计算机科学与工程学院222.3 学习规则信息的正向传递隐含层中第i个神经元的输出输出层第k个神经元的输出定义误差函数武汉工程大学计算机科学与工程学院232.3 学习规则利用梯度下降法求权值变化及误差的反向传播输出层的权值变化其中同理可得武汉工程大学计算机科学与工程学院242.3 学习规则利用梯度下降法求权值变化及误差的反向传播隐含层权值变化其中同理可得武汉工程大学计算机科学与工程学院252.3 学习规则对于f1为对数S型激活函数,对于f2为线性激活函数武汉工程大学计算机科学与工程学院262.4 误差反向传播图形解释误差反向传播过程实际上是通过计算输出层的误差ek,然后将其与输出层激活函数的一阶导数f2相乘来求得ki由于隐含层中没有直接给出目标矢量,所以利用输出层的ki反向传递来求出隐含层权值的变化量w2ki。然后计算同样通过将ei与该层激活函数的一阶导数f1相乘,而求得ij,以此求出前层权值的变化量w1ij如果前面还有隐含层,沿用上述同样方法依此类推,一直将输出误差ek逐层的反推算到第一层为止武汉工程大学计算机科学与工程学院272.4 误差反向传播图形解释武汉工程大学计算机科学与工程学院282.5 网络训练 样本:样本:(输入向量,理想输出向量输入向量,理想输出向量)权初始化:权初始化:“小随机数小随机数”与饱和状态;与饱和状态;“不同不同”保证网络可以学。保证网络可以学。1 1、向前传播阶段:、向前传播阶段:(1)从样本集中取一个样本)从样本集中取一个样本(Xp,Yp),将,将Xp输入网络;输入网络;(2)计算相应的实际输出)计算相应的实际输出Op:Op=Fl(F2(F1(XpW(1)W(2)W(L)武汉工程大学计算机科学与工程学院292.5 网络训练 2 2、向后传播阶段、向后传播阶段误差传播阶段:误差传播阶段:(1)计算实际输出)计算实际输出Op与相应的理想输出与相应的理想输出Yp的差;的差;(2)按极小化误差的方式调整权矩阵。)按极小化误差的方式调整权矩阵。(3)网络关于第)网络关于第p p个样本的误差测度:个样本的误差测度:(4)网网络关于整个关于整个样本集的本集的误差差测度:度:武汉工程大学计算机科学与工程学院302.5 网络训练训练BP网络,需要计算网络加权输入矢量以及网络输出和误差矢量,然后求误差平方和当所训练矢量的误差平方和小于误差目标,训练停止;否则在输出层计算误差变化,且采用反向传播学习规则来调整权值,然后重复此过程网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将以泛化方式给出输出结果武汉工程大学计算机科学与工程学院312.5 网络训练为了能够较好地掌握BP网络的训练过程,我们用两层网络为例来叙述BP网络的训练步骤初始化:用小的随机数初始化每一层的权值W和偏差B,保证网络不被大的加权输入饱和期望误差最小值error_goal最大循环次数max_epoch修正权值的学习速率1r,一般情况下k0.0l,0.7武汉工程大学计算机科学与工程学院322.5 网络训练变量表达:计算网络各层输出矢量A1和A2以及网络误差EA1tansig(W1*P,B1);A2purelin(W2*A1,B2);ET-A;权值修正:计算各层反传的误差变化D2和D1并计算各层权值的修正值以及新权值:D2deltalin(A2,E);D1deltatan(A1,D2,W2);dlWl,dBllearnbp(P,D1,lr);dW2,dB21earnbp(A1,D2,1r);W1W1十dW1;B1B1十dBl;W2W2十dW2;B2B2十dB2武汉工程大学计算机科学与工程学院332.5 网络训练计算权值修正后误差平方和SSEsumsqr(T-purelin(W2*tansig(W1*P,B1),B2)检查:SSE是否小于err_goal。若是,训练结束;否则继续以上所有的学习规则与训练的全过程,可以用函数trainbp.m来完成它的使用只需定义有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率。调用后返回训练后权值,循环总数和最终误差TPdisp_freq max_epoch err_goal 1rW,B,epochs,errorstrainbp(W,B,F,P,T,TP)武汉工程大学计算机科学与工程学院34三、网络设计3.1网络的层数3.2隐含层神经元数3.3初始权值的选取3.4学习速率3.5期望误差的选取3.6应用举例3.7局限性武汉工程大学计算机科学与工程学院353.1 网络的层数理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数增加层数主要可以进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。一般情况下应优先考虑增加隐含层中神经元数仅用具有非线性激活函数的单层网络来解决问题没有必要或效果不好武汉工程大学计算机科学与工程学院363.2 隐含层神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更多的隐含层简单得多定理:实现任意N个输入向量构成的任何布尔函数的前向网络所需权系数数目为在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量武汉工程大学计算机科学与工程学院373.3初始权值的选取一般取初始权值在(-1,1)之间的随机数威得罗等人在分析了两层网络是如何对一个函数进行训练后,提出一种选定初始权值的策略选择权值的量级为在MATLAB工具箱中可采用函数nwlog.m或nwtan.m来初始化隐含层权值W1和B1。其方法仅使用在第一隐含层的初始值的选取上,后面层的初始值仍然采用随机取数武汉工程大学计算机科学与工程学院383.4学习速率学习速率决定每一次循环训练中所产生的权值变化量大的学习速率可能导致系统的不稳定小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01-0.8之间武汉工程大学计算机科学与工程学院393.5期望误差值选取在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值这个所谓的“合适”,是相对于所需要的隐含层的节点数来确定,因为较小的期望误差值是要靠增加隐含层的节点,以及训练时间来获得一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络武汉工程大学计算机科学与工程学院403.6应用举例求解函数逼近问题有21组单输入矢量和相对应的目标矢量,试设计神经网络来实现这对数组的函数关系P=-1:0.1:1T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201测试集P2=-1:0.025:1武汉工程大学计算机科学与工程学院413.6应用举例目标矢量相对于输入矢量的图形初始网络的输出曲线 武汉工程大学计算机科学与工程学院423.6应用举例训练1000次 2000次武汉工程大学计算机科学与工程学院433.6应用举例训练3000次 5000次武汉工程大学计算机科学与工程学院443.7 几个问题的讨论 收敛速度问题收敛速度问题 需要较长的训练时间需要较长的训练时间局部极小点问题局部极小点问题 逃离逃离/避开局部极小点避开局部极小点:修改修改W、V的初值的初值并不是总有效。并不是总有效。逃离逃离统计方法;统计方法;Wasserman,1986将将Cauchy训练与训练与BP算法结合起算法结合起来,可以在保证训练速度不被降低的情况下,找到全局极小点。来,可以在保证训练速度不被降低的情况下,找到全局极小点。武汉工程大学计算机科学与工程学院453.7 几个问题的讨论 网络瘫痪问题网络瘫痪问题 在训练中,权可能变得很大,这会使神经元的网络输入变得很大,从在训练中,权可能变得很大,这会使神经元的网络输入变得很大,从而又使得其激活函数的导函数在此点上的取值很小。根据相应式子,而又使得其激活函数的导函数在此点上的取值很小。根据相应式子,此时的训练步长会变得非常小,进而将导致训练速度降得非常低,最此时的训练步长会变得非常小,进而将导致训练速度降得非常低,最终导致网络停止收敛终导致网络停止收敛 稳定性问题稳定性问题 用修改量的综合实施权的修改用修改量的综合实施权的修改连续变化的环境,它将变成无效的连续变化的环境,它将变成无效的 武汉工程大学计算机科学与工程学院463.7 几个问题的讨论 步长问题步长问题 BP网络的收敛是基于无穷小的权修改量网络的收敛是基于无穷小的权修改量步长太小,收敛就非常慢步长太小,收敛就非常慢步长太大,可能会导致网络的瘫痪和不稳定步长太大,可能会导致网络的瘫痪和不稳定自适应步长,使得权修改量能随着网络的训练而不断变化。自适应步长,使得权修改量能随着网络的训练而不断变化。1988年,年,Wasserman 武汉工程大学计算机科学与工程学院47四、BP网络的改进4.1目标4.2附加动量法4.3误差函数改进 4.4自适应学习速率武汉工程大学计算机科学与工程学院484.1目标加快训练速度避免陷入局部极小值武汉工程大学计算机科学与工程学院494.2附加动量法利用附加动量的作用则有可能滑过局部极小值修正网络权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响,其作用如同一个低通滤波器,它允许网络忽略网络上微小变化特性该方法是在反向传播法的基础上在每一个权值的变化上加上一项正比于前次权值变化量的值,并根据反向传播法来产生新的权值变化武汉工程大学计算机科学与工程学院504.2附加动量法带有附加动量因子的权值调节公式其中k为训练次数,mc为动量因子,一般取095左右附加动量法的实质是将最后一次权值变化的影响,通过一个动量因子来传递。当动量因子取值为零时,权值变化仅根据梯度下降法产生当动量因子取值为1时,新的权值变化则是设置为最后一次权值的变化,而依梯度法产生的变化部分则被忽略掉了促使权值的调节向着误差曲面底部的平均方向变化,当网络权值进入误差曲面底部的平坦区时,i将变得很小,于是,wij(k+1)wij(k),从而防止了wij=0的出现,有助于使网络从误差曲面的局部极小值中跳出武汉工程大学计算机科学与工程学院514.2附加动量法在MATLAB工具箱中,带有动量因子的权值修正法是用函数learnbpm.m来实现的trainbpm.m可以训练一层直至三层的带有附加动量因子的反向传播网络下面是对单层网络使用函数trainbpm.m的情形:W,B,epochs,errorstrainbpm(W,B,F,P,T,TP)武汉工程大学计算机科学与工程学院524.3误差函数改进当ak趋向1时,E趋向一个常数,即处于E的平坦区,f(n)0,可能造成完全训练的麻痹现象当一个网络的误差曲面存在着平坦区时,可以选用别的误差函数f(tk,ak)来代替(tk-ak)2的形式,只要其函数在ak=tk时能达到最小值武汉工程大学计算机科学与工程学院534.3误差函数改进包穆(Baum)等人于1988年提出一种误差函数为不会产生不能完全训练的麻痹现象武汉工程大学计算机科学与工程学院544.3误差函数改进与常规的误差函数的情况ij=f(n)(tk-ak)相比较,其中的f(n)项消失了当n增大,进入激活函数的平坦区,使f(n)0时,不会产生不能完全训练的麻痹现象但由于失去了f(n)对w的控制作用,过大的w又有可能导致网络过调或振荡1989年,范尔曼(S.Fahlman)提出一种折中的方案,即取kf(n)+0.1(tk-ak)一方面恢复了f(n)的某些影响另一方面当|n|变大时,仍能保持k有一定的大小,从而避免了麻痹现象的发生武汉工程大学计算机科学与工程学院554.4自适应学习速率通常调节学习速率的准则是,检查权值的修正值是否真正降低了误差函数,如果确实如此,则说明所选取的学习速率值小了,可以对其增加一个量;否则可认为产生过调,应该减小学习速率的值一种自适应学习速率的调整公式武汉工程大学计算机科学与工程学院564.4 自适应学习速率MATLAB工具箱中带有自适应学习速率进行反向传播训练的函数为trainbpa.m可训练直至三层网络。使用方法W,B,epochs,TEtrainbpa(W,B,F,P,T,TP)可以将动量法和自适应学习速率结合起来以利用两方面的优点。这个技术已编入了函数trainbpx.m之中函数的调用和其他函数一样,只是需要更多的初始参数而已TPdisp_freq max_epoch error_goal lr 1r_inc 1r_dec mom_const err_ratio;W,B,epochs,error;lrtrainbpx(W,B,F,P,T,TP)武汉工程大学计算机科学与工程学院57五、内容小结内容安排一、内容回顾二、BP网络三、网络设计四、改进BP网络武汉工程大学计算机科学与工程学院58五、内容小结反向传播法可以用来训练具有可微激活函数的多层前向网络,以进行函数逼近,模式分类等工作反向传播网络的结构不完全受所要解决的问题所限制。网络的输入神经元数目及输出层神经元的数目是由问题的要求所决定输入和输出层之间的隐含层数以及每层的神经元数是由设计者来决定的已经证明,两层S型线性网络,如果S型层有足够的神经元,则能够训练出任意输入和输出之间的有理函数关系武汉工程大学计算机科学与工程学院59五、内容小结反向传播法沿着误差表面的梯度下降,使网络误差最小,网络有可能陷入局部极小值附加动量法使反向传播减少了网络在误差表面陷入低谷的可能性并有助于减少训练时间太大的学习速率导致学习的不稳定,太小值又导致极长的训练时间。自适应学习速率通过在保证稳定训练的前提下,达到了合理的高速率,可以减少训练时间80-90的实际应用都是采用反向传播网络的。改进技术可以用来使反向传播法更加容易实现并需要更少的训练时间武汉工程大学计算机科学与工程学院60五、内容小结下次讲课内容反馈网络Hopfield网络武汉工程大学计算机科学与工程学院61作业 用BP神经网络对一个简单的非线性神经元进行训练。输入矢量 p=-3 2目标矢量 t=0.4 0.8后面内容直接删除就行资料可以编辑修改使用资料可以编辑修改使用资料仅供参考,实际情况实际分析主要经营:课件设计,文档制作,网络软件设计、图文设计制作、发布广告等秉着以优质的服务对待每一位客户,做到让客户满意!致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,打造全网一站式需求The user can demonstrate on a projector or computer,or print the presentation and make it into a film to be used in a wider field
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!