课件:前馈神经网络 (2).ppt_第1页
课件:前馈神经网络 (2).ppt_第2页
课件:前馈神经网络 (2).ppt_第3页
课件:前馈神经网络 (2).ppt_第4页
课件:前馈神经网络 (2).ppt_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

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

文档简介

第三章 前馈神经网络,本章主要介绍最常用的两种前馈网络: BP (Back Propagation)神经网络和径向基函数神经网络,以及它的前身感知器、自适应线性单元。,2,前馈神经网络是神经网络中的一种典型的分层 结构,信息从输入层进入网络后逐层向前传递 至输出层。根据前馈网络中神经元转移函数、 隐层数以及权值调整规则的不同,可以形成具 有各种功能特点的神经网络。,3,3.1 感知器 3.2 自适应线性单元 3.3 BP网络 3.4 BP网络变通结构 3.5BP网络学习算法的改进 3.6BP网络设计基础 3.7 BP网络应用与设计实例 3.8 小结,4,1958年,美国心理学家Frank Rosenblatt提出一种具有单层计算单元的神经网络,即感知器。感知器是模拟人的视觉接受环境信息,并由神经冲动进行信息传递。感知器研究中首次提出了自组织、自学习的思想,而且对说解决的问题存在着收敛算法,并能从数学上严格证明,因而对神经网络的研究起了非常重要的推动作用。 单层感知器的结构和功能都很简单,以至于在解决实际问题是很少采用,但由于它在神经网络研究中具有重要意义,是研究其他网络的基础,而且较易学习和理解,适合于作为神经网络的起点。,3.1 感知器,5,3.1.1 感知器模型,j=1,2,m,6,净输入:,输出:,3.1.1感知器模型,7,(1)设输入向量X=(x1 ,x2)T,输出:,则由方程 wijx1+w2jx2-Tj=0 确定了二维平面上的一条分界线。,3.1.2感知器的功能,8,感知器的功能(二维),9,wij x1+w2j x2 Tj = 0 wij x1 = Tj - w2j x2 x1 = (Tj -w2j x2) / wij = - ( w2j/ wij ) x2 +Tj / wij = a x2 +c,10,设输入向量X=(x1,x2,x3)T,输出:,则由方程 wijx1+w2jx2+w3j Tj=0 确定了三维空间上的一个分界平面。,11,wij x1+w2j x2 +w3j x3 Tj = 0 x1 = a x2 +b x3 +c,是什么?,12,设输入向量X=(x1, x2, , xn)T,则由方程 wijx1+w2jx2+wnj Tj=0 确定了n维空间上的一个分界平面。,13,一个最简单的单计算节点感知器具有分类功能。其分类原理是将分类知识存储于感知器的权向量(包含了阈值)中,由权向量确定的分类判决界面将输入模式分为两类。,3.1.2感知器的功能,14,例 用感知器实现逻辑“与”功能,15,例一 用感知器实现逻辑“与”功能,感知器结构,w1x1+w2x2 -T=0 0.5x1+0.5x2-0.75=0,16,例 用感知器实现逻辑“或”功能,17,用感知器实现逻辑“或”功能,感知器结构,w1x1+w2x2 -T=0 x1+x2-0.5=0,18,问题:能否用感知器实现“异或”功能?,19,关键问题就是求,20,3.1.3感知器的学习,Perceptron(感知器)学习规则,式中,当实际输出与期望值相同时,权值不需要调整。感知器学习规则代表一种有导师学习。,21,感知器学习规则的训练步骤:,(1) 对各权值w0j(0),w1j(0),wnj(0),j=1, 2,m (m为计算层的节点数)赋予较小的非零随机数;,(2) 输入样本对Xp,dp,其中Xp=(-1,x1p,x2p,xnp), dp为期望的输出向量(教师信号),上标p代表 样本对的模式序号,设样本集中的样本总数为P, 则p=1,2,P;,3.1.3感知器的学习,22,(3)计算各节点的实际输出ojp(t)=sgnWjT(t)Xp, j=1,2,.,m;,(4)调整各节点对应的权值,Wj(t+1)= Wj(t)+djp-ojp(t)Xp, j=1, 2,m, 其中为学习率,用于控制调整速度,太大 会影响训练的稳定性,太小则使训练的收敛速度变慢, 一般取01;,(5)返回到步骤(2)输入下一对样本,周而复始直到对所有 样本,感知器的实际输出与期望输出相等。,3.1.3感知器的学习,23,感知器学习规则的训练步骤:,(1)权值初始化 (2)输入样本对 (3)计算输出 (4)根据感知器学习规则调整权值 (5)返回到步骤(2)输入下一对样本,周而复始直到对所有样本,感知器的实际输出与期望输出相等。,24,设初始权向量W(0)=(0.5,1,-1,0)T,=0.1。注意,输入向量中第一个分量x0恒等于-1,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。,3.1.3感知器的学习,25,解:第一步 输入X1,得 WT(0)X1=(0.5,1,-1,0)(-1,1,-2,0)T=2.5 o1(0)=sgn(2.5)=1,W(1)= W(0)+d1- o1(0) X1 =(0.5,1,-1,0)T+0.1(-1-1)(-1,1,-2,0)T =(0.7,0.8,-0.6,0)T,3.1.3感知器的学习,26,第二步 输入X2,得 WT(1)X2=(0.7,0.8,-0.6,0)(-1,0,1.5,-0.5)T=-1.6 o2(1)=sgn(-1.6)=-1,W(2)= W(1)+d2- o2(1) X2 =(0.7,0.8,-0.6,0)T+0.1-1-(-1)(-1,0,1.5,-0.5)T =(0.7,0.8,-0.6,0)T,由于d2= o2(1),所以W(2)= W(1)。,3.1.3感知器的学习,27,第三步 输入X3,得 WT(2)X3=(0.7,0.8,-0.6,0)(-1,-1,1,0.5)T=-2.1 O3(2)=sgn(-2.1)=-1,W(3)= W(2)+d3- o3(2) X3 =(0.7,0.8,-0.6,0)T+0.11-(-1)(-1,-1,1,0.5)T =(0.5,0.6,-0.4,0.1)T,第四步 返回到第一步,继续训练直到dp- op=0,p=1,2,3。,3.1.3感知器的学习,28,3.1.4单层感知器的局限性,问题:能否用感知器解决如下问题?,29,3.1.4单层感知器的局限性,无法解决“异或”问题 只能解决线性可分问题,30,双层感知器,“异或”问题分类,例四 用两计算层感知器解决“异或”问题。,3.1.5多层感知器,31,给出具有一个具有单隐层的感知器,其中隐层的两个节点相当于两个独立的符号单元(但计算节点感知器)。这两个符号单元可分别在由x1、x2构成的平面上确定两条分界直线S1和S2,从而构成一个开放式凸域。显然通过适当调整两条直线的位置,可使两类线性不可分样本分别位于该开放式凸域内部和外部。此时对于隐节点1来说,直线S1下面的样本使其输出y1=1,而直线上面的样本使其输出为y2=1,而直线下面的样本使其输出为y2=0。 当输入样本为o类时,其位置位于开放式凸域外部,即或者同时同时处在两直线S1、S2上方,使y1=0,y2=1;或者同时处在两直线S1、S2下方,使y1=1,y2=0。 输出层节点一隐层两节点的输出y1、y2作为输入,其结构也相当于一个符号单元。如果经过训练,使其具有逻辑“与非”功能,则疑惑问题即可得到解决。根据“与非”逻辑,当隐节点输出为y1=1,y2=1时,该节点输出为o=0,当隐节点输出为y1=1,y2=0时,或y1=0,y2=1时,该节点输出o=1。可以看出单隐层感知器确实可以解决异或问题,因此具有解决线性不可分问题的能力。,32,多层感知器的提出,单计算层感知器的局限性 只能解决线性可分问题,而大量的分类问题是线性不可分的。 解决的有效办法 在输入层与输出层之间引入隐层作为输入模式的“内部表示”,将单计算层感知器变成多(计算)层感知器。 采用非线性连续函数作为转移函数,使区域边界线的基本线素由直线变成曲线,从而使整个边界线变成连续光滑的曲线。,33,3.1.5多层感知器,34,Wj(t)=dj-oj (t)X,3.1.5多层感知器,具有不同隐层数的感知器的分类能力对比,返回,35,3.2自适应线性单元,1962年美国斯坦福大学教授Widrow提出一种自适应可调的神经网络,其基本构成单元称为自适应线性单元。这种自适应可调的神经网络主要适用于信号处理中的自适应滤波、预测和模式识别。,返回,36,3.3 BP网络,误差反向传播神经网络,简称BP (Back Propagation)网络,是一种单向传播的多层前向网络。在模式识别、图像处理、系统辨识、函数拟合、优化计算、最优预测和自适应控制等领域有着较为广泛的应用。,BP网络的示意图,37,误差反向传播算法简称BP算法,其基本思想是最小二乘法。它采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差均方值为最小。 BP算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并传向输出层,每层神经元(节点)的状态只影响下一层神经元的状态。如果在输出层不能得到期望输出,则转入反向传播,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,使误差信号最小。,38,基于BP算法的多层前馈网络模型,误差反传(BP)算法,39,模型的数学表达 输入向量: X=(x1,x2,xi,xn)T 隐层输出向量: Y=(y1,y2,yj,ym)T 输出层输出向量: O=(o1,o2,ok,ol)T 期望输出向量:d=(d1, d2,dk,dl)T 输入层到隐层之间的权值矩阵:V=(V1,V2,Vj,Vm) 隐层到输出层之间的权值矩阵:W=(W1,W2,Wk,Wl) 各个变量之间如何建立联系,来描述整个网络?,40,BP学习算法,41,双极性Sigmoid函数:,BP学习算法,42,将以上误差定义式展开至隐层:,(3. 7),BP学习算法,43,进一步展开至输入层:,(3. 8),BP学习算法,44,j=0,1,2,m; k=1,2,l (3. 9a),i=0,1,2,n; j=1,2,m (3. 9b),式中负号表示梯度下降,常数(0,1)表示比例系数。,在全部推导过程中,对输出层有j=0,1,2,m; k=1,2,l 对隐层有 i=0,1,2,n; j=1,2,m,BP学习算法,45,对于输出层,式(3.9a)可写为,(3. 10a),BP学习算法,46,综合应用式(3.2)和(3.11a),可将式 (3.10a)的权值调整式改写为,综合应用式(3.4)和(3.11b),可将式 (3.10b)的权值调整式改写为,(3. 12a),(3. 12b),可以看出,只要计算出式(3.12)中的误差信号o和y,权值调整量的计算推导即可完成。下面继续推导如何求误差信号o和y 。,47,对于输出层, o可展开为,对于隐层, y可展开为,下面求式(3.13)中网络误差对各层输出的偏导。,(3. 13a),(3. 13b),48,对于输出层,利用式(3.6):,对于隐层,利用式(3.7):,49,将以上结果代入式(3.13),并应用式(3.15),(3.15b),至此两个误差信号的推导已完成。,50,将式(3.15)代回到式(3.12),得到三层前馈网的BP学习算法权值调整计算公式为:,51,52,BP学习算法流程: 1) 初始化 置所有权值为最小的随机数; 2) 提供训练集 给定输入向量和期望的目标输出向量; 3) 计算实际输出 计算隐含层、输出层各神经元输出; 4) 计算目标值与实际输出的偏差; 5) 计算局部梯度; 6) 调整各层权重; 7) 返回2) 重复计算,直到误差满足要求为止。,53,54,在使用BP算法时,应注意的几个问题是: 学习开始时,各隐层连接权系数的初值应以设置较小的随机数较为适宜。 采用S型激发函数时,由于输出层各神经元的输出只能趋于1或0,不能达到1或0。在设置各训练样本时,期望的输出分量不能设置为1或0,以设置为0.9或0.1较为适宜。 在学习开始阶段,选较大的值可以加快学习速率。学习接近优化区时,学习速率必须相当小,否则权值将产生振荡而不收敛。,55,网络包含一个隐层,设输入层与隐层的权值wjk,隐层与输出层的权值wij初始值,BP网络权值学习举例,样本:输入和期望输出,激发函数,学习速率,56,迭代1次后的BP网络,57,迭代8000次后的BP网络,58,迭代11050次后的BP网络,返回,59,标准连接(Standard Connection),每个单元都与下一层的单元相连。一般三层网络能够解决大多数问题。如果需要选用一个以上的中间层,学习时间需要大大增加。,3.4 BP网络变通结构,60,跳跃连接(Jump Connections) Recurrent网络,返回,61,多层前馈网的主要能力,(1)非线性映射能力,多层前馈网能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供BP网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。,62,多层前馈网的主要能力,(2)泛化能力,当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为多层前馈网的泛化能力。,(3)容错能力,输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。,63,误差曲面与BP算法的局限性,误差函数的可调整参数的个数nw等于各层权值数加上阈值数,即:,误差E是nw+1维空间中一个形状极为复杂的曲面,该曲面上的每个点的“高度”对应于一个误差值,每个点的坐标向量对应着nw个权值,因此称这样的空间为误差的权空间。,64,误差曲面的分布BP算法的局限性,曲面的分布特点-算法的局限性 (1)存在平坦区域-误差下降缓慢,影响收敛速度 (2)存在多个极小点-易陷入局部最小点,65,曲面分布特点1:存在平坦区域,平坦误差的梯度变化小 接近于零,66,曲面分布特点2:存在多个极小点,误差梯度为零 多数极小点都是局部极小,即使是全局极小往往也不是唯一的。,单权值,双权值,67,曲面分布特点2:存在多个极小点,BP算法 以误差梯度下降为权值调整原则 误差曲面的这一特点 使之无法辨别极小点的性质 导致的结果: 因而训练经常陷入某个局部极小点而不能自拔,从而使训练无法收敛于给定误差。,68,BP算法存在的问题,BP网络收敛太慢影响了该网络在许多方面的实际应用。为此,许多人对BP网络的学习算法进行了广泛的研究,提出了许多改进的算法。,学习时间过长 泛化能力较低 容易陷入局部最小而中断学习过程 中间层单元个数、网络的大小如何确定 (实际应用多采用三层网络),69,标准BP算法的改进,误差曲面的形状固有的 算法的作用是什么? 调整权值,找到最优点 那么如何更好地调整权值? 利用算法使得权值在更新的过程中,走合适的路径,比如跳出平坦区来提高收敛速度,跳出局部最小点等等 如何操作? 需要在进入平坦区或局部最小点时进行一些判断,通过改变某些参数来使得权值的调整更为合理。,70,引入动量项 标准BP算法实质上是一种简单的最速下降静态寻优算法, 在修正w(t)时,只按t时刻的负梯度方式进行修正,而没有考 虑以前积累的经验,即以前时刻的梯度方向,从而常使学 习过程发生振荡,收敛缓慢。为此提出如下改进算法:,增加动量项即从前一次权值调整量中提取出一部分迭代到本 次权值调整量中。该方法所加入的动量项实质上相当于阻尼 项,它减小了学习过程的振荡趋势,改善了收敛性,这是目 前应用比较广泛的种改进算法。,71,变尺度法 标准BP学习算法采用一阶梯度法,因而收敛较慢。若采用二阶梯度法,则改善收敛性。该算法为,其中 虽然二阶梯度法具有比较好的收敛性,但需要计算E对w的二阶导数,计算量很大。一般不直接采用二阶梯度法,而采用变尺度法或共轭梯度法,它们具有如二阶梯度法收敛快的优点,而又无需直接计算二阶梯度。,72,下面具体给出变尺度法的算法:,73,变步长法 一阶梯度法寻优收敛较慢的一个重要原因是 (学习率)不好选择。 选的太小,收敛太慢,若选的太大,则有可能修正过头,导致振荡甚至发散。下面给出的变步长法即是针对这个问题而提出的。,这里w表示某个连接权系数。,74,上面的算法说明,当连续两次迭代其梯度方法相同时,表明下降太慢,这时可使步长加倍;当连续两次迭代其梯度方向相反时,表明下降过头,这时可使步长减半。当需要引入动量项时,上述算法的第二项可修改为,在使用该算法时,由于步长在迭代过程中自适应调整,因此对于不同的连接权系数实际采用了不同的学习率,也就是说误差代价函数E在超曲面上在不同地方按照各自比较合理的步长向极小点逼近。,返回,75,一 、训练样本集的准备 1.输入输出量的选择 2.输入量的提取与表示 3.输出量的表示 二、输入输出数据的归一化 三、网络训练与测试,3.6 BP网络设计基础,76,1. 输出量的选择,输出量:代表系统要实现的功能目标 系统的性能指标 分类问题的类别归属 非线性函数的函数值,一 、训练样本集的准备,77,2.输入量的选择,输入量选择的两条基本原则 必须选择那些对输出影响大且能够检测或提取的变量 各输入变量之间互不相关或相关性很小,78,输入输出量的性质,从输入、输出量的性质来看,可分为两类:一类是数值变量,一类是语言变量。 数值变量的值是数值确定的连续量或离散量。 语言变量是用自然语言表示的概念,其“语言值”是用自然语言表示的事物的各种属性。 当选用语言变量作为网络的输入或输出变量时,需将其语言值转换为离散的数值量。,79,输入量的提取与表示,XC=(111100111)T XI=(111100111)T XT=(111100111)T,(1)文字符号输入,80,(2)曲线输入,p=1,2,P,81,(3)函数自变量输入 一般有几个输入量就设几个分量,1个输入分量对应1个输入层节点。 (4)图象输入 在这类应用中,一般先根据识别的具体目的从图象中提取一些有用的特征参数,再根据这些参数对输入的贡献进行筛选,这种特征提取属于图象处理的范畴。,82,3. 输出量的表示,(1)“n中取1”表示法,“n中取1”是令输出向量的分量数等于类别数,输入样本被判为哪一类,对应的输出分量取1,其余 n-1 个分量全取0。例如,用0001、0010、0100和1000可分别表示优、良、中、差4个类别。,(2)“n-1”表示法,如果用n-1个全为0的输出向量表示某个类别,则可以节省一个输出节点。例如,用000、001、010和100也可表示优、良、中、差4个类别。,(3)数值表示法,对于渐进式的分类,可以将语言值转化为二值之间的数值表示。数值的选择要注意保持由小到大的渐进关系,并要根据实际意义拉开距离。,83,二、输入输出数据的归一化,归一化也称为或标准化,是指通过变换处理将网络的输入、输出数据限制在0,1或-1,1区间内。,进行归一化的主要原因: 归一化的方法:,84,进行归一化的主要原因:,网络的各个输入数据常常具有不同的物理意义和不同的量纲,归一化给各输入分量以同等重要的地位; BP网的神经元均采用Sigmoid转移函数,变换后可防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区; Sigmoid转移函数的输出在0-1或-1-1之间。教师信号如不进行归一化处理,势必使数值大的输出分量绝对误差大,数值小的输出分量绝对误差小。,85,归一化的方法:,86,三、网络训练与测试,网络的性能好坏主要看其是否具有很好的泛化能力,对泛化能力的测试不能用训练集的数据进行,而要用训练集以外的测试数据来进行检验。,87,在隐节点数一定的情况下,为获得好的泛化能力,存在着一个最佳训练次数。,88,3.7 BP网络应用与设计实例,BP算法应用于催化剂配方建模 本例采用BP神经网络对脂肪醇催化剂配方的式样数据进行学习,训练后的网络作为数学模型映射配方与优化指标之间的复杂非线性关系。获得了较高的精度。 网络结构设计与训练 寻找学习样本 确定网络结构 影响因素的个数为输入个数 优化指标的个数为输出个数,89,脂肪酸甲脂转化率TR 脂肪醇产率YOH 脂肪醇选择性SOH,神经网络学习 得到结果,90,BP网络应用于汽车变速的最佳档位判定,汽车在不同状态参数下运行时,获得最佳动力性与经济性的档位称为最佳档位。最佳档位与汽车运行状态参数之间具有某种非线性关系

温馨提示

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

评论

0/150

提交评论