版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、神经网络原理,第4章 反向传播网络,反向传播网络也称为BP (Back Propagation) 网络,采用推广的W-H学习规则-BP算法 BP网络的主要用途: 函数逼近 模式识别 分类 数据压缩: 在人工神经网络的实际应用中,80%90%的网络模型都是BP网络及其变化形式。,1 BP网络模型与结构,BP网络模型,输入层,隐层,输出层,1 BP网络模型与结构, BP网络的激活函数一定要可微 多数情况下,隐层为S型,输出层为线性。 输入与输出关系要求:非线性、光滑、取值连续,分类精确 网络误差测定 第p个样本的误差测度 网络关于整个样本集的误差测度,1 BP网络模型与结构,权值与偏差: 隐层 输
2、出层,,,1 BP网络模型与结构,一组输入与输出 多组输入与输出,,,,,关系表达式: 1.输入向量、输出向量的维数、网络隐藏层的层数和 各个隐藏层神经元的个数的决定。 2. BP网很多都选用二级网络。,1 BP网络模型与结构,2 BP学习规则,是有指导训练的前馈多层网络训练算法,靠调节各层的加权,使网络学会由输入输出对组成的训练组。 类似于感知器中线性单元和非线性单元的训练算法,执行优化的基本方法是梯度下降法。 求多元函数的U(x1,x2,xn)的极小值: 若出发点是M0=(x10,x20,xn0), 则自变量按如下规则改变:,,,2 BP学习规则, BP算法的主要思想: 通过引入误差函数,
3、对于学习样本P及目标输出T,利用梯度下降法来调整权值W和B,使网络的实际输出A与T尽可能接近,而使误差尽量达到最小。 其过程是用输出层的误差估计输出层的直接前导层的误差,再用输出层前导层误差估计更前一层的误差。如此获得所有其它各层的误差估计,并用这些估计实现对权矩阵的修改。形成将输出端表现出的误差沿着与输入信号相反的方向逐级向输入端传递的过程 BP算法从形式上看,分为两个计算过程: 1信息的正向传递; 2. 调整W和B的误差反向传播,2 BP学习规则,1.信息的正向传递 隐层中第i个神经元输出: 输出层中第k个神经元输出:,2 BP学习规则, 误差函数 一组输入情形:,其中,,2 BP学习规则
4、,q组输入情形:,2 BP学习规则,2.误差反向传播 输出层权值、偏差的调整 因为 故由最速下降法,得 权值改变量:,2 BP学习规则,偏差改变量: 其中 隐层权值、偏差的调整 因为,2 BP学习规则,故由最速下降法,得 其中,误差反向传播的流程图与图形解释,3 误差反向传播的流程图与图形解释,S型激活函数,4 BP网络的训练及其设计过程, 设计Bp网络的结构包括以下内容: 网络的层数,每层神经元数,每层的激活函数等 BP网络的训练步骤: 1)初始化 每层权值和偏差,期望误差,最大循环次数,学习率等 2)建立多层前向网络 函数newcf.m或newff.m,格式如下: net=newcf(mi
5、nmax(P), 5,1,tansig purelin, traingd); 3) 训练 net=train(net,P,T),4 BP网络的训练及其设计过程,例4.1 用于函数逼近的BP网络的设计。 迭代次数:经过4000-7000次训练成功,误差小于 给定的门限误差0.02。 误差变化图:逼近曲线效果良好 结论:二层BP网络可很好地逼近非线性函数。,算法traingd.m的缺省参数: Net.trainParam.epochs=10; %最大训练次数 Net.trainParam.goal=0; %训练误差门限值 Net.trainParam.lr=0.15; %学习率 Net.train
6、Param.min_grad=le-10 %最小执行梯度 Net.trainParam.show=25; %显示循环间隔数 Net.trainParam.time=inf %最大训练时间,5 BP网络的设计,考虑因素:层数,每层神经元数,初始化,学习率等 1 网络的层数 理论结果:具有偏差和至少一个S型隐含层的网络,能够逼近任意的有理函数。 层数对网络影响:增加层数可进一步降低误差,提高精度;不足之处是使网络结构复杂化。 隐层节点数对网络影响:可提高精度,降低误差;虽然也增加了一点网络的复杂度,但比增加层数要低 设计的原则:首先应选择层数较少的网络,这样可降低复杂度;同时为了提高精度和降低误差
7、,应先考虑增加隐层的神经元数目。,5 BP网络的设计,例4.2 考虑两个单元输入的联想问题:其输入和输出为: P=-3 2, T=0.4, 0.8 目标误差:0.001 该问题可采用自适应网络解决: w=0.08, b=0.64, e=T-A=0 利用Bp网络解决:有一定误差。 结论:能利用自适应网络或感知器解决的问题,应尽量不用Bp网络;能利用单层网络解决的问题,应尽量多层网络解决。,5 BP网络的设计,例4.3 用一层网络来实现下面的输入/输出关系: P=-6 -6.1 -4.1 -4 4 4.1 6 6.1 T=0.0 0.0 0.97 0.99 0.01 0.03 1 1 理论分析:约
8、束等式共8个,参数1个权值+1个偏差。因此,可能无准确解。 仿真计算:可求出近似解。但效果与线性网络相当。 逼近图效果:近似解相当于一种分类功能。 结论:利用单层网络解决问题,应先考虑利用感知 器和自适应线性元件。,5 BP网络的设计,例4.4 非线性误差曲面特性观察 BP网络的误差函数E凸凹不平,有些地方很平坦,另外的地方很陡峭,这对算法的效果有较大影响。 从提高算法的效率上讲,在陡峭的地方应选择小的学习率,以避免“过调”,在平坦的地方利用大学习率,以加快收敛速度。 结论:常学习率在误差曲面非常不规则时可能效果不好。,5 BP网络的设计,2 隐含层的神经元数 问题:隐含层的神经元数应选择为多
9、少才适合? 例 用两层BP网络实现“异或”问题。 数学描述:输入及目标输出矢量 隐层神经元数分别为:2,3,4,5,6,20,25,30 对二值型离散数据也能利用BP网络逼近: 训练时可将二值型激活函数利用S型代替,训练成功后,将输出层的激活函数换成二值型函数,则训练达到一定精度时,实际输出与目标输出一致。,5 BP网络的设计, 训练效果表,5 BP网络的设计, 分析: 神经元太少,影响学习效果,精度不高,易训练失败 理论上讲,神经元越多,网络功能越强,但神经元越多训练时间会增加,并可能出现不协调的拟合。 s1=3,4,5,6的效果相当,s1小,循环一次的时间少 结论:在隐层神经元数设计的原则
10、是在能解决问题的情况下,增加12个神经元。,5 BP网络的设计,3 初始权值的选取 饱和区域:误差曲面中非常平坦的区域,通常出现在 为很小的值,因 ,且 初始值的选取应避免取在饱和区域。 隐层的初始值:在工具箱中,可采用initnw.m函数初始化W1和B1,5 BP网络的设计,例4.6. 好的初始值的训练效果观察。(例1数据) 旧方法:随机初始化的训练次数为5000次左右; 新方法:用initnw产生初始值的训练次数为400次左右 在同样的目标误差下,训练速度加快了。 一个好的学习算法应在统计的基础上来评价,5 BP网络的设计,4 学习速率 学习率的大小对算法的影响: 过大的学习率使计算不稳定
11、,出现“震荡” 过小的学习率导致计算时间长,收敛慢。 学习率选取一般在0.010.8之间 问题:由于误差曲面的复杂性,有的地方要求大学习率,另外地方要求小的学习率。 例4.7,5 BP网络的设计,5 期望误差的选取 期望误差的大小对训练的影响: 期望误差的大小受问题本身的影响,应选择适当; 期望误差过小,往往要求多的隐含层的节点数,并可能增加训练时间。 实际训练时,可选择2-3个不同的期望误差进行比较后,进行综合考虑,6 限制与不足,BP算法存在问题: 完全不能训练 网络的麻痹现象 局部最小 训练时间过长,复杂问题甚至要训练几天到几周时间。 选取了不适当的学习速率,6 限制与不足,网络的麻痹现
12、象 在训练过程中,加权调得较大可能迫使所有的或大部分的加权和输出sj较大,从而使得操作会在S型函数的饱和区进行,此时函数处在其导数f(s)非常小的区域内。 由于在计算加权修正量时,正比于f( s),因此当f( s)-0时 -0, 这使得 ,相当于调节过程几乎停顿下来。 为了避免这种现象,可将学习(训练)速率系数减小,但这又会增加训练时间。,6 限制与不足,局部最小 BP训练算法实际上采用梯度下降法,训练过程从某一起始点沿误差函数的斜面最陡方向逐渐达到最小点E-0。 对于复杂的网络,其误差函数面在多维空间,其表面可能凹凸不平,因而在训练过程中可能会陷入某一个小谷区,称之为局部最小点。 由此点向各
13、方向变化均使E增加,以致无法逃出这个局部最小点。,6 限制与不足,局部最小点示意图 初始随机加权的影响。如果这些加权太大,可能一开始就使网络处于S型函数饱和区,系统就很有可能陷入局部最小。 为此,可采用如下策略选取随机加权值: 使结点输入加权和的绝对值|sj|1,但又不可太小。 可选择各加权值的量级为 ,其中ki为连接到结点j的所有前层结点的数目。,6 限制与不足,学习速率大小 如果选得太小,收敛会很慢; 如果选得太大,可能出现麻痹现象或连续不稳定。 需按照实验和经验确定。 Wasserman曾提出自适应学习速率算法,在训练过程中自动调节阶距的大小。 举例,7 反向传播法的改进,1 附加动量法
14、 基本思想:在BP法的调整权值方法的基础上,增加一个正比于前次权值变化量的值,称之为附加动量(法) 附加动量法的计算公式: 其中,k为训练次数,mc为动量因子,可取0.95左右。,7 反向传播法的改进, 附加动量法的一个显著特点:避免局部极小值 在误差曲面很平坦的地方, 接近0,此时BP法的权值修正量几乎为0,但 。这样防止了 ,并可从误差曲面的局部极小值中跳出来。 相关函数的动量因子的调整公式 工具函数:traingdm.m作为train.m或newcf.m的一个选项。,7 反向传播法的改进,附加动量法的几个问题 学习速率的选择:不能太大,或太小 训练次数的选择:要给予足够的训练次数 初始值
15、的选择:误差下降方向,位置选择,7 反向传播法的改进,2 自适应学习速率 恰当学习率的选取很困难,主要凭经验或训练 过大或过小的学习率对训练都不利 固定学习率的不足之处在于没有利用误差曲面的特 性,因此影响了学习效果;自适应学习利用误差曲面特性,可增强学习效果。 基本思想: 在误差曲面平坦之处利用大学习率,可避免无法“训练”现象,加快收敛速度等;在误差曲面非常狭窄陡峭之处,利用小学习率,可避免出现“过调”现象。,7 反向传播法的改进, 一种自适应学习率的调整公式: 注: 的选取有任意性。 工具函数:taningda.m作为train.m的参数。 动量法和变学习率算法可结合起来:taningdx
16、.m 调用格式: net=newff(minmax(P),5,1,(tansig,purelin),traingdx) 例题,7 反向传播法的改进,3 弹性BP算法 标准的BP法中利用S型函数,其不足之处在于当输入绝对值很大时, ,训练可出现完全不能训练; 弹性BP算法:只取的符号,它决定了权值变化的方向,确定一个“更新值”;若连续两次“同号”,增加更新值;否则,减少更新值。算法出现“振荡”,减少“更新值”。,8 基于数值优化方法的训练算法,BP网络训练实质是一个非线性目标函数优化问题。 求误差函数极小值,除了可利用“最速下降法”-BP法外,还存在其他求极小值方法称为“优化”法。 BP法是利用
17、误差函数的一阶导数信息,此外,还有利用“二阶导数”信息的“优化”算法,例如: 拟牛顿法,Levenberg-Marquardt法,共轭梯度法等。,8 基于数值优化方法的训练算法, 优化算法的统一表示如下: 寻优分二步: 确定当前迭代的最佳搜索方向 ; 在该方向上寻找最优步长 ; 梯度下降法、拟牛顿法、Levenberg-Marquardt法、共轭梯度法等是其中的几种寻优方法。他们的主要区别在于“寻优”的技巧不一样。,8 基于数值优化方法的训练算法,拟牛顿法 牛顿法的步骤: 第一次迭代的搜索方向:负梯度方向 调整公式为 以后的各次迭代的搜索方向: 调整公式为,8 基于数值优化方法的训练算法,其中
18、 是海森(Hessian)矩阵: 一个问题: 海森(Hessian)矩阵的计算量和存储量大,因此,利用不同的简化计算方法得到不同的“拟牛顿法”,8 基于数值优化方法的训练算法,1BFGS拟牛顿法: 海森矩阵的近似计算公式: 其中, 。 的调整与牛顿法一致。 近似的海森矩阵存储量仍然巨大,计算较为复杂。,8 基于数值优化方法的训练算法,2正割拟牛顿法 搜索方向: 其中 与BFGS法相比,正割法减少了存储量和计算量。,8 基于数值优化方法的训练算法,共轭梯度法 共轭梯度法可避免梯度下降法中速度慢,拟牛顿法计算复杂的弊端,其过程如下: 第1次迭代的搜索方向为负梯度方向: 其后的搜索方向 其中, 的不同选法可构成不同的共轭梯度法。,8 基于数值优化方法的训练算法,常见的两种形式: 其中 共轭梯度法通常比梯度下降法速度要快,且减少存储量和计算量 。,或,8 基于数值优化方法的训练算法,L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东深圳医学科学院粤港澳大湾区国际临床试验中心招聘备考题库附答案详解(巩固)
- 2026陕西铜川市招聘国家公费师范毕业生及优师计划毕业生36人备考题库含答案详解(预热题)
- 2026广东技术师范大学招聘教学科研人员75人备考题库有答案详解
- 2026安徽芜湖市鸠江区官陡街道社区卫生服务中心招聘劳务派遣人员17人备考题库附答案详解(a卷)
- 2026四川绵阳市盐亭国有投资管理有限公司招聘管理岗位和业务岗位10人备考题库附答案详解(完整版)
- 2026北京化工大学材料科学与工程学院马兆昆教授团队科研助理招聘1人备考题库及答案详解(全优)
- 2026广西百色市平果市芦仙湖国家湿地公园服务所城镇公益性岗位人员招聘1人备考题库含答案详解(培优)
- 2026贵州黔晟投资有限公司第一批社会招聘8人备考题库及一套完整答案详解
- 2026浙江温州市少年宫招聘合同制员工1人备考题库完整参考答案详解
- 2026江苏南通市通州区第三人民医院招聘21人备考题库含答案详解(巩固)
- 区块链金融(第二版)课件 项目三 区块链赋能数字银行业务
- 2026年见证取样员试卷含答案详解【培优】
- 雨课堂学堂在线学堂云人工智能技术与应用(江南大学)单元测试考核答案
- T-CSEM 0024-2024 智慧消防 火灾防控系统建设要求
- 动脉取栓术后护理查房课件
- 《电机原理及拖动(第3版)》彭鸿才(习题与思考题解答)
- GB/T 18926-2008包装容器木构件
- 朱自清:桨声灯影里的秦淮河课件
- 配饰礼仪课件
- 领导科学正式完整版课件
- 西安地产项目产品定位报告
评论
0/150
提交评论