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

上传人:206****923 文档编号:55424280 上传时间:2018-09-29 格式:PPT 页数:61 大小:387KB
返回 下载 相关 举报
我的人工神经网络6BP网络_第1页
第1页 / 共61页
我的人工神经网络6BP网络_第2页
第2页 / 共61页
我的人工神经网络6BP网络_第3页
第3页 / 共61页
我的人工神经网络6BP网络_第4页
第4页 / 共61页
我的人工神经网络6BP网络_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《我的人工神经网络6BP网络》由会员分享,可在线阅读,更多相关《我的人工神经网络6BP网络(61页珍藏版)》请在金锄头文库上搜索。

1、第6章 BP神经网络,武汉工程大学计算机科学与工程学院,2,一、内容回顾 二、BP网络 三、网络设计 四、改进BP网络 五、内容小结,内容安排,武汉工程大学计算机科学与工程学院,3,一、内容回顾,感知机 自适应线性元件,武汉工程大学计算机科学与工程学院,4,一、内容回顾,感知机 感知机简介 神经元模型 网络结构 功能解释 学习和训练 局限性 自适应线性元件,武汉工程大学计算机科学与工程学院,5,一、内容回顾,感知机 自适应线性元件 Adline简介 网络结构 网络学习 网络训练,武汉工程大学计算机科学与工程学院,6,内容回顾:学习算法,离散单输出感知器训练算法 W=W+X;W=W-X W=W+

2、(Y-O)X 离散多输出感知器训练算法 Wj=Wj+(yj-oj)X 连续多输出感知器训练算法 wij=wij+(yj-oj)xi,武汉工程大学计算机科学与工程学院,7,内容回顾:线性不可分问题,线性不可分问题的克服 两级网络可以划分出封闭或开放的凸域 多级网将可以识别出非凸域 隐藏层的联接权的调整问题是非常关键,武汉工程大学计算机科学与工程学院,8,2.1 BP网络简介 2.2 网络模型 2.3 学习规则 2.4 图形解释 2.5 网络训练,二、BP网络,武汉工程大学计算机科学与工程学院,9,2.1 BP网络简介,1、BP算法的出现 非循环多级网络的训练算法 UCSD PDP小组的Rumel

3、hart、Hinton和Williams1986年独立地给出了BP算法清楚而简单的描述 1982年,Paker就完成了相似的工作 1974年,Werbos已提出了该方法 2、弱点:训练速度非常慢、局部极小点的逃离问题、算法不一定收敛。 3、优点:广泛的适应性和有效性。,武汉工程大学计算机科学与工程学院,10,反向传播网络(Back-Propagation Network,简称BP网络)是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络 权值的调整采用反向传播(Back-propagation)的学习算法 它是一种多层前向反馈神经网络,其神经元的变换函数是S型函数 输出量为0到1

4、之间的连续量,它可实现从输入到输出的任意的非线性映射,2.1 BP网络简介,武汉工程大学计算机科学与工程学院,11,2.1 BP网络简介,BP网络主要用于下述方面 函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数 模式识别和分类:用一个特定的输出矢量将它与输入矢量联系起来;把输入矢量以所定义的合适方式进行分类; 数据压缩:减少输出矢量维数以便于传输或存储 具有强泛化性能:使网络平滑地学习函数,使网络能够合理地响应被训练以外的输入 泛化性能只对被训练的输入输出对最大值范围内的数据有效,即网络具有内插值特性,不具有外插值性。超出最大训练值的输入必将产生大的输出误差,武汉工程大学计算机科

5、学与工程学院,12,2.2 网络模型,一个具有r个输入和一个隐含层的神经网络模型结构,武汉工程大学计算机科学与工程学院,13,2.2 网络模型,感知器和自适应线性元件的主要差别在激活函数上:前者是二值型的,后者是线性的 BP网络具有一层或多层隐含层,除了在多层网络上与前面已介绍过的模型有不同外,其主要差别也表现在激活函数上。 BP网络的激活函数必须是处处可微的,因此它不能采用二值型的阀值函数0,1或符号函数1,1 BP网络经常使用的是S型的对数或正切激活函数和线性函数,武汉工程大学计算机科学与工程学院,14,2.2 网络模型,BP网络特点 输入和输出是并行的模拟量 网络的输入输出关系是各层连接

6、的权因子决定,没有固定的算法 权因子通过学习信号调节。学习越多,网络越聪明 隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响 只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数 在一般情况下,均是在隐含层采用S型激活函数,而输出层采用线性激活函数,武汉工程大学计算机科学与工程学院,15,2.2 网络模型,S型函数具有非线性放大系数功能,可以把输入从负无穷大到正无穷大的信号,变换成-1到l之间输出 对较大的输入信号,放大系数较小;而对较小的输入信号,放大系数则较大 采用S型激活函数可以处理和逼近非线性输入/输出关系,武汉工程大学计算机科

7、学与工程学院,16,网络的拓扑结构,武汉工程大学计算机科学与工程学院,17,网络的拓扑结构,BP网的结构 输入向量、输出向量的维数、网络隐藏层的层数和各个隐藏层神经元的个数的决定 实验:增加隐藏层的层数和隐藏层神经元个数不一定总能够提高网络精度和表达能力。 BP网一般都选用二级网络。,武汉工程大学计算机科学与工程学院,18,网络的拓扑结构,武汉工程大学计算机科学与工程学院,19,2.3 学习规则,BP算法属于算法,是一种监督式的学习算法 主要思想 对于q个输入学习样本:P1,P2,Pq,已知与其对应的输出样本为:T1,T2,Tq 使网络输出层的误差平方和达到最小 用网络的实际输出A1,A2,A

8、q, 与目标矢量T1,T2,Tq之间的误差修改其权值,使Am与期望的Tm,(ml,q)尽可能接近,武汉工程大学计算机科学与工程学院,20,2.3 学习规则,BP算法是由两部分组成,信息的正向传递与误差的反向传播 正向传播过程中,输入信息从输入层经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态 如果在输出层未得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标,武汉工程大学计算机科学与工程学院,21,2.3 学习规则,假设输入为P,输入神经元有r个,隐含层内有s1个神经元,激活函数为F1,

9、输出层内有s2个神经元,对应的激活函数为F2,输出为A,目标矢量为T,武汉工程大学计算机科学与工程学院,22,2.3 学习规则,信息的正向传递 隐含层中第i个神经元的输出输出层第k个神经元的输出定义误差函数,武汉工程大学计算机科学与工程学院,23,2.3 学习规则,利用梯度下降法求权值变化及误差的反向传播 输出层的权值变化其中同理可得,武汉工程大学计算机科学与工程学院,24,2.3 学习规则,利用梯度下降法求权值变化及误差的反向传播 隐含层权值变化其中同理可得,武汉工程大学计算机科学与工程学院,25,2.3 学习规则,对于f1为对数S型激活函数,对于f2为线性激活函数,武汉工程大学计算机科学与

10、工程学院,26,2.4 误差反向传播图形解释,误差反向传播过程实际上是通过计算输出层的误差ek,然后将其与输出层激活函数的一阶导数f2相乘来求得ki 由于隐含层中没有直接给出目标矢量,所以利用输出层的ki反向传递来求出隐含层权值的变化量w2ki。然后计算同样通过将ei与该层激活函数的一阶导数f1相乘,而求得ij,以此求出前层权值的变化量w1ij 如果前面还有隐含层,沿用上述同样方法依此类推,一直将输出误差ek逐层的反推算到第一层为止,武汉工程大学计算机科学与工程学院,27,2.4 误差反向传播图形解释,武汉工程大学计算机科学与工程学院,28,2.5 网络训练,样本:(输入向量,理想输出向量)

11、权初始化:“小随机数”与饱和状态;“不同”保证网络可以学。 1、向前传播阶段: (1)从样本集中取一个样本(Xp,Yp),将Xp输入网络; (2)计算相应的实际输出Op:Op=Fl(F2(F1(XpW(1)W(2)W(L),武汉工程大学计算机科学与工程学院,29,2.5 网络训练,2、向后传播阶段误差传播阶段: (1)计算实际输出Op与相应的理想输出Yp的差; (2)按极小化误差的方式调整权矩阵。 (3)网络关于第p个样本的误差测度:,(4) 网络关于整个样本集的误差测度:,武汉工程大学计算机科学与工程学院,30,2.5 网络训练,训练BP网络,需要计算网络加权输入矢量以及网络输出和误差矢量,

12、然后求误差平方和 当所训练矢量的误差平方和小于误差目标,训练停止;否则在输出层计算误差变化,且采用反向传播学习规则来调整权值,然后重复此过程 网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将以泛化方式给出输出结果,武汉工程大学计算机科学与工程学院,31,2.5 网络训练,为了能够较好地掌握BP网络的训练过程,我们用两层网络为例来叙述BP网络的训练步骤 初始化:用小的随机数初始化每一层的权值W和偏差B,保证网络不被大的加权输入饱和 期望误差最小值error_goal 最大循环次数max_epoch 修正权值的学习速率1r,一般情况下k0.0l,0.7,武汉工程大学计算机科学与工程学院,

13、32,2.5 网络训练,变量表达:计算网络各层输出矢量A1和A2以及网络误差E A1tansig(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,武汉工程大学计算机科学与工程学院,33,2.5 网络训练,计算权值修正后误差平方和 SSEs

14、umsqr(T-purelin(W2*tansig(W1*P,B1),B2) 检查:SSE是否小于err_goal。若是,训练结束;否则继续 以上所有的学习规则与训练的全过程,可以用函数trainbp.m来完成 它的使用只需定义有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率。调用后返回训练后权值,循环总数和最终误差 TPdisp_freq max_epoch err_goal 1r W,B,epochs,errorstrainbp(W,B,F,P,T,TP),武汉工程大学计算机科学与工程学院,34,三、网络设计,3.1 网络的层数 3.2 隐含层神经元数 3.3 初始权值的选取

15、3.4 学习速率 3.5 期望误差的选取 3.6 应用举例 3.7 局限性,武汉工程大学计算机科学与工程学院,35,3.1 网络的层数,理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数 增加层数主要可以进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。 一般情况下应优先考虑增加隐含层中神经元数 仅用具有非线性激活函数的单层网络来解决问题没有必要或效果不好,武汉工程大学计算机科学与工程学院,36,3.2 隐含层神经元数,网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更多的隐

16、含层简单得多 定理: 实现任意N个输入向量构成的任何布尔函数的前向网络所需权系数数目为在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量,武汉工程大学计算机科学与工程学院,37,3.3 初始权值的选取,一般取初始权值在(-1,1)之间的随机数 威得罗等人在分析了两层网络是如何对一个函数进行训练后,提出一种选定初始权值的策略 选择权值的量级为在MATLAB工具箱中可采用函数nwlog.m或nwtan.m来初始化隐含层权值W1和B1。 其方法仅使用在第一隐含层的初始值的选取上,后面层的初始值仍然采用随机取数,武汉工程大学计算机科学与工程学院,38,3.4 学习速率,学习速率决定每一次循环训练中所产生的权值变化量 大的学习速率可能导致系统的不稳定 小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值 所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01-0.8之间,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号