神经网络-第四章bp

上传人:mg****85 文档编号:55655594 上传时间:2018-10-03 格式:PPT 页数:51 大小:416KB
返回 下载 相关 举报
神经网络-第四章bp_第1页
第1页 / 共51页
神经网络-第四章bp_第2页
第2页 / 共51页
神经网络-第四章bp_第3页
第3页 / 共51页
神经网络-第四章bp_第4页
第4页 / 共51页
神经网络-第四章bp_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《神经网络-第四章bp》由会员分享,可在线阅读,更多相关《神经网络-第四章bp(51页珍藏版)》请在金锄头文库上搜索。

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

5、(minmax(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.t

6、rainParam.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.m 调用格式: net=newff(minmax(P),5,1,(tansig,purelin),traingdx) 例题,7 反向传播法的改进,3 弹性BP算法 标准的BP法中利用S型函数,其不足之处在于当输入绝对值很大时, ,训练可出现完全不能训练; 弹性BP算法:只取的符号,它决定了权值变化的方向,确定一个“更新值”;若连续两次“同号”,增加更新值;否则,减少更新值。算法出现“振荡”,减少“更新值”。,

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

当前位置:首页 > 生活休闲 > 科普知识

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