《神经网络控制.ppt》由会员分享,可在线阅读,更多相关《神经网络控制.ppt(162页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1第一部分第一部分 神经网络控制神经网络控制2课件下载:课件下载:帐号帐号 iCiC密码密码 iControliControl3神经网络学术组织神经网络学术组织4神经网络期刊神经网络期刊5v1.1 1.1 神经网络的基本概念神经网络的基本概念 v1.2 1.2 典型神经网络的模型典型神经网络的模型v1.3 1.3 神经网络控制系统神经网络控制系统 第第1章章 神经网络控制理论神经网络控制理论 6 人脑是一部不寻常的智能机,它能以惊人的高速度解释感觉器官传来的含糊不清的信息。它能觉察到喧闹房间内的窃窃私语,能够识别出光线暗淡的胡同中的一张面孔,更能通过不断地学习而产生伟大的创造力。古今中外,许许
2、多多科学家为了揭开大脑机能的奥秘,从不同的角度进行着长期的不懈努力和探索,逐渐形成了一个多学科交叉的前沿技术领域神经网络(Neural Network)。7 人工神经系统的研究可以追溯到1800年Frued的精神分析学时期,他已经做了一些初步工作。1913年人工神经系统的第一个实践是由Russell描述的水力装置。1943年美国心理学家Warren S McCulloch与数学家Walter H Pitts合作,用逻辑的数学工具研究客观事件在形式神经网络中的描述,从此开创了对神经网络的理论研究。他们在分析、总结神经元基本特性的基础上,首先提出神经元的数学模型,简称MP模型。从脑科学研究来看,M
3、P模型不愧为第一个用数理语言描述脑的信息处理过程的模型。后来MP模型经过数学家的精心整理和抽象,最终发展成一种有限自动机理论,再一次展现了MP模型的价值,此模型沿用至今,直接影响着这一领域研究的进展。8 1949年心理学家D.O.Hebb提出关于神经网络学习机理的“突触修正假设”,即突触联系效率可变的假设,现在多数学习机仍遵循Hebb学习规则。1957年,Frank Rosenblatt首次提出并设计制作了著名的感知机(Perceptron),第一次从理论研究转入过程实现阶段,掀起了研究人工神经网络的高潮。今天,随着科学技术的迅猛发展,神经网络正以极大的魅力吸引着世界上众多专家、学者为之奋斗。
4、在世界范围内再次掀起了神经网络的研究热潮,难怪有关国际权威人士评论指出,目前对神经网络的研究其重要意义不亚于第二次世界大战时对原子弹的研究。9 人工神经网络特有的非线性适应性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域得到成功应用。人工神经网络与其他传统方法相结合,将推动人工智能和信息处理技术不断发展。近年来,人工神经网络正向模拟人类认知的道路上更加深入发展,与模糊系统、遗传算法、进化机制等结合,形成计算智能,成为人工智能的一个重要方向,将在实际应用中得到发展。10 使用神经网络的主要优
5、点是能够自适应样本数据,当数据中有噪声、形变和非线性时,它也能够正常地工作,很容易继承现有的领域知识,使用灵活,能够处理来自多个资源和决策系统的数据;提供简单工具进行自动特征选取,产生有用的数据表示,可作为专家系统的前端(预处理器)。此外,神经网络还能提供十分快的优化过程,尤其以硬件直接实现网络时,而且可以加速联机应用程序的运行速度。当然,过分夸大神经网络的应用能力也是不恰当的,毕竞它不是无所不能的。这就需要在实际工作中具体分析问题,合理选择。11 基于神经网络的控制称为神经网络控制(NNC),简称神经控制(NCNeurocontrol)这 一 新 词 是 在 国 际 自 控 联 杂 志 自
6、动 化(Automatica)1994年No.11首次使用的,最早源于1992年HTolle和EErsu的专著Neurocontrol。基于神经网络的智能模拟用于控制,是实现智能控制的一种重要形式,近年来获得了迅速发展。本节介绍神经控制的基本概念、基本结构、神经控制系统的组成及其实现神经控制和神经模糊控制的基本方法。121.1 神经网络的基本概念神经网络的基本概念 1.1.1 生物神经元的结构与功能特点生物神经元的结构与功能特点 神经生理学和神经解剖学证明了人的思维是由人脑完成的。神经元是组成人脑的最基本单元,它能够接受并处理信息,人脑大约由10111012个神经元组成,其中每个神经元约与10
7、4105个神经元通过突触连接,因此,人脑是一个复杂的信息并行加工处理巨系统。探索脑组织的结构、工作原理及信息处理的机制,是整个人类面临的一项挑战,也是整个自然科学的前沿领域。131生物神经元的结构 生物神经元(以下简称神经元),也称神经细胞,是构成神经系统的基本单元。神经元主要由细胞体、树突和轴突构成,其基本结构如图1-1所示。图11 生物神经元的结构14(1)细胞体 细胞体由细胞核、细胞质与细胞膜等组成。一般直径为5100m,大小不等。细胞体是神经元的主体,它是神经元的新陈代谢中心,同时还负责接收并处理从其他神经元传递过来的信息。细胞体的内部是细胞核,外部是细胞膜,细胞膜外是许多外延的纤维,
8、细胞膜内外有电位差,称为膜电位,膜外为正,膜内为负。15(2)轴突 轴突是由细胞体向外伸出的所有纤维中最长的一条分枝。每个神经元只有一个轴突,长度最大可达1m以上,其作用相当于神经元的输出电缆,它通过尾部分出的许多神经末梢以及梢端的突触向其他神经元输出神经冲动。16(3)树突 树突是由细胞体向外伸出的除轴突外的其他纤维分枝,长度一般均较短,但分枝很多。它相当于神经元的输入端,用于接收从四面八方传来的神经冲动。突触是轴突的终端,是神经元之间的连接接口,每一个神经元约有104105个突触。一个神经元通过其轴突的神经末梢,经突触与另一神经元的树突连接,以实现信息的传递。17 2生物神经元的功能特点
9、从生物控制论的观点来看,作为控制和信息处理基本单元的神经元,具有以下功能特点。(1)时空整合功能 神经元对于不同时间通过同一突触传入的信息,具有时间整合功能;对于同一时间通过不同突触传入的信息,具有空间整合功能。两种功能相互结合,是使生物神经元具有时空整合的输入信息处理功能。18(2)动态极化性 在每一种神经元中,信息都是以预知的确定方向流动的,即从神经元的接收信息部分(细胞体、树突)传到轴突的起始部分,再传到轴突终端的突触,最后再传给另一神经元。尽管不同的神经元在形状及功能上都有明显的不同,但大多数神经元都是按这一方向进行信息流动的。19(3)兴奋与抑制状态 神经元具有两种常规工作状态,即兴
10、奋状态与抑制状态。所谓兴奋状态是指神经元对输入信息经整合后使细胞膜电位升高,且超过了动作电位的阈值,此时产生神经冲动并由轴突输出。抑制状态是指对输入信息整合后,细胞膜电位值下降到低于动作电位的阈值,从而导致无神经冲动输出。20(4)结构的可塑性 由于突触传递信息的特性是可变的,也就是它随着神经冲动传递方式的变化,传递作用强弱不同,形成了神经元之间连接的柔性,这种特性又称为神经元结构的可塑性。(5)脉冲与电位信号的转换 突触界面具有脉冲与电位信号的转换功能。沿轴突传递的电脉冲是等幅的、离散的脉冲信号,而细胞膜电位变化为连续的电位信号,这两种信号是在突触接口进行变换的。21(6)突触延期和不应期
11、突触对信息的传递具有时延和不应期,在相邻的两次输入之间需要一定的时间间隔,在此期间,无激励,不传递信息,这称为不应期。(7)学习、遗忘和疲劳 由于神经元结构的可塑性,突触的传递作用有增强、减弱和饱和的情况。所以,神经细胞也具有相应的学习、遗忘和疲劳效应(饱和效应)。221.1.2 人工神经元模型 生物神经元经抽象化后,可得到如图1-2所示的一种人工神经元模型,它有三个基本要素。1连接权 连接权对应于生物神经元的突触,各个神经元之间的连接强度由连接权的权值表示,权值为正表示激活,为负表示抑制。图1-2 基本神经元模型232求和单元 用于求取各输入信号的加权和(线性组合)。3激活函数 激活函数起非
12、线性映射作用,并将神经元输出幅度限制在一定范围内,一般限制在(0,1)或(-1,1)之间。激活函数也称传输函数。此外还有一个阈值k(或偏值b k=-k)。以上作用可分别以数学式表达出来:式中 为输入信号,为神经元k的权值,为线性组合结果,为阈值,为激活函数,为神经元k的输出,24图1-2 输入扩维后的神经元模型 若把输入的维数增加一维,则可把阈值k包括进去。即 此处增加了一个新的连接,其输入 ,权值 或 ,如图1-2所示。激活函数 ,一般有以下几种形式:(1)阶跃函数函数表达式:25(2)分段线性函数 函数表达式:(3)Sigmoid函数 最常用的Sigmoid型函数为式中 参数a可控制其斜率
13、。另一种常用的Sigmoid型函数为双曲正切S型函数,即 这类函数具有平滑和渐近线,并保持单调性。261.1.3 神经网络的结构 人工神经网络(Artificial Neural Networks,ANN)是由大量人工神经元经广泛互连而组成的,它可用来模拟脑神经系统的结构和功能。人工神经网络可以看成是以人工神经元为节点,用有向加权弧连接起来的有向图。在此有向图中,人工神经元(以下在不易引起混淆的情况下,人工神经元简称神经元)就是对生物神经元的模拟,而有向加权弧则是轴突突触树突对的模拟。有向弧的权值表示相互连接的两个人工神经元间相互作用的强弱。27 人工神经网络是生物神经网络的一种模拟和近似。它
14、主要从两个方面进行模拟。一种是从生理结构和实现机理方面进行模拟,它涉及到生物学、生理学、心理学、物理及化学等许多基础科学。由于生物神经网络的结构和机理相当复杂,现在距离完全认识它们还相差甚远;另外一种是从功能上加以模拟,即尽量使得人工神经网络具有生物神经网络的某些功能特性,如学习、识别、控制等功能。本书仅讨论后者,从功能上来看,人工神经网络(以下简称神经网络,NN)根据连接方式主要分为两类。28图1-4 前馈网络1前馈型网络 前馈神经网络是整个神经网络体系中最常见的一种网络,其网络中各个神经元接受前一级的输入,并输出到下一级,网络中没有反馈,如图1-4所示。节点分为两类,即输入单元和计算单元,
15、每一计算单元可有任意个输入,但只有一个输出(它可耦合到任意多个其他节点作为输入)。29 通常前馈网络可分为不同的层,第i层的输入只与第i-1层输出相连,输入和输出节点与外界相连,而其他中间层称为隐层,它们是一种强有力的学习系统,其结构简单而易于编程。从系统的观点看,前馈神经网络是一静态非线性映射,通过简单非线性处理的复合映射可获得复杂的非线性处理能力。但从计算的观点看,前馈神经网络并非是一种强有力的计算系统,不具备有丰富的动力学行为。大部分前馈神经网络是学习网络,并不注意系统的动力学行为,它们的分类能力和模式识别能力一般强于其他类型的神经网络。302反馈型网络 反馈神经网络又称递归网络,或回归
16、网络。在反馈网络中(Feedback NNs),输入信号决定反馈系统的初始状态,然后系统经过一系列状态转移后,逐渐收敛于平衡状态。这样的平衡状态就是反馈网络经计算后输出的结果,由此可见,稳定性是反馈网络中最重要的问题之一。图1-5 单层全连接反馈网络 31 如果能找到网络的Lyapunov函数,则能保证网络从任意的初始状态都能收敛到局部最小点。反馈神经网络中所有节点都是计算单元,同时也可接受输入,并向外界输出,可画成一个无向图,如图1-5(a)所示,其中每个连接弧都是双向的,也可画成图1-4(b)的形式。若总单元数为n,则每一个节点有n-l个输入和一个输出。32 神经网络的工作过程主要分为两个
17、阶段:第一阶段是学习期,此时各计算单元状态不变,各连接权上的权值可通过学习来修改;第二阶段是工作期,此时各连接权固定,计算单元变化,以达到某种稳定状态。从作用效果看,前馈网络主要是函数映射,可用于模式识别和函数逼近。反馈网络按对能量函数的极小点的利用来分类有两种:第一类是能量函数的所有极小点都起作用,这一类主要用作各种联想存储器;第二类只利用全局极小点,它主要用于求解最优化问题。1.1.4 神经网络的工作方式331.1.5 神经网络的学习1学习方式通过向环境学习获取知识并改进自身性能是神经网络的一个重要特点,在一般情况下,性能的改善是按某种预定的度量调节自身参数(如权值)随时间逐步达到的,学习
18、方式(按环境所供信息的多少分)有以下三种。34(1)有监督学习(有教师学习)图1-6 有监督学习框图 这种学习方式需要外界存在一个“教师”,他可对一组给定输入提供应有的输出结果(正确答案),这组已知的输入输出数据称为训练样本集。学习系统可根据已知输出与实际输出之间的差值(误差信号)来调节系统参数,如图1-6所示。35在有监督学习当中,学习规则由一组描述网络行为的训练集给出:x1,t1,x1,t1,xN,tN其中 xi为网络的输入,ti为相应的目标输出。当输入作用到网络时,网络的实际输出与目标输出相比较,然后学习规则调整网络的权值和域值,从而使网络的实际输出越来越接近于目标输出。36(2)无监督
19、学习(无教师学习)无监督学习时不存在外部教师,学习系统完全按照环境所提供数据的某些统计规律来调节自身参数或结构(这是一种自组织过程),以表示外部输入的某种固有特性(如聚类,或某种统计上的分布特征),如图1-7所示。在无监督学习当中,仅仅根据网络的输入调整网络的权值和域值,它没有目标输出。乍一看这种学习似乎并不可行:不知道网络的目的是什么,还能够训练网络吗?实际上,大多数这种类型的算法都是要完成某种聚类操作,学会将输入模式分为有限的几种类型。这种功能特别适合于诸如向量量化等应用问题。图1-7 无监督学习框图37(3)强化学习(或再励学习)图1-8 强化学习框图 这种学习介于上述两种情况之间,外部
20、环境对系统输出结果只给出评价(奖或罚)而不是给出正确答案,学习系统通过强化那些受奖励的动作来改善自身性能,如图1-8所示。强化学习与有监督的学习类似,只是它不像有监督的学习一样为每一个输入提供相应的目标输出,而是仅仅给出一个级别。这个级别(或评分)是对网络在某些输入序列上的性能测度。当前这种类型的学习要比有监督的学习少见。它最为适合控制系统应用领域。382学习算法(1)学习规则(误差修正规则)令yi(k)为输入x(k)时神经元i在k时刻的实际输出,ti(k)表示相应的期望输出,则误差信号可写为:ei(k)=ti(k)-yi(k)误差纠正学习的最终目的是使某一基于ei(k)的目标函数达最小,以使
21、网络中每一输出单元的实际输出在某种统计意义上最逼近于期望输出。一旦选定了目标函数形式,误差纠正学习就成为一个典型的最优化问题。39最常用的目标函数是均方误差判据,定义为:其中 E是统计期望算子,上式的前提是被学习的过程是宽平稳的,具体方法可用最陡梯度下降法。直接用J作为目标函数时,需要知道整个过程的统计特性,为解决这一困难用J在时刻k的瞬时值J(k)代替J,即 40 问题变为求J(k)对权值wij的极小值,根据最陡梯度下降法可得:式中,为学习速率或步长(00。定义 63因此输出层的任意神经元k的加权系数修正公式为 (1-21)式中 okp输出节点k在样本p作用时的输出;oip隐含节点i在样本p
22、作用时的输出;tkp在样本p输入输出对作用时输出节点k的目标值。64 (2)隐含层权系数的调整 根据梯度法,可得隐含层每个神经元权系数的修整公式为式中 为学习速率,0。65 由于隐含层一个单元输出的改变会影响与该单元相连接的所有输出单元的输入,即 因此隐含层的任意神经元i的加权系数修正公式为 (1-22)式中 oip隐含节点i在样本p作用时的输出;ojp输入节点j在样本p作用时的输出,即输入节点j的输入(因对输入节点两者相当)。66输出层的任意神经元k在样本p作用时的加权系数增量公式为:(1-23)隐含层的任意神经元i在样本p作用时的加权系数增量公式为:(1-24)由式(1-23)和式(1-2
23、4)可知,对于给定的某一个样本p,根据误差要求调整网络的加权系数使其满足要求;对于给定的另一个样本,再根据误差要求调整网络的加权系数使其满足要求,直到所有样本作用下的误差都满足要求为止。这种计算过程称在线学在线学习习过程。67如果学习过程按使误差函数J减小最快的方向调整加权系数,采用类似的推导过程可得输出层和隐含层的任意神经元k在所有样本作用时的加权系数增量公式为:(1-25)(1-26)式中 kp和ip的计算方法同上,即 (1-27)(1-28)根据式(1-25)和式(1-26)所得权的修正是在所有样本输入后,计算完总的误差后进行的,这种修正称为批处理学习学习。批处理修正可保证其总误差J向减
24、少的方向变化,在样本多的时候,它比分别处理时的收敛速度快。68 因此,BP网络的学习可采用两种方式即在线学习在线学习和离线学习离线学习。在线学习是对训练集内每个模式对逐一更新网络权值的一种学习方式,其特点是学习过程中需要较少的存储单元,但有时会增加网络的整体输出误差,以上推导即为在线学习过程。因此,使用在线学习时一般使学习因子足够小,以保证用训练集内每个模式训练一次后,权值的总体变化充分接近于最快速下降。69 所谓离线学习也称为批处理学习批处理学习,是指用训练集内所有模式依次训练网络,累加各权值修正量并统一修正网络权值的一种学习方式,它能使权值变化沿最快速下降方向进行。其缺点是学习过程中需要较
25、多的存储单元,好处是学习速度较快。具体实际应用中,当训练模式很多时,可以将整个训练模式分成若干组,采用分组批处理学习方式。70 4BP网络学习算法的计算步骤(1)初始化:置所有的加权系数为最小的随机数;(2)提 供 训 练 集:给 出 顺 序 赋 值 的 输 入 向 量x1,x2,xM和期望的输出向量(训练集)t1,t2,tL;(3)计算实际输出:按式(1-11)式(1-17)计算隐含层、输出层各神经元的输出。(4)按式(1-18)或式(1-19)计算期望值与实际输出的误差(5)按式(1-23)或式(1-25)调整输出层的的加权系数wki(6)按式(1-24)或式(1-26)调整隐含层的的加权
26、系数wij(7)返回计算(3)步,直到误差满足要求为止。71 5使用BP算法时应注意的几个问题 (1)学习速率的选择非常重要。在学习初始阶段选得大些可使学习速度加快,但当临近最佳点时,必须相当小,否则加权系数将产生反复振荡而不能收敛。采用变学习速率方案,令学习速率随着学习的进展而逐步减少,可收到较好的效果。引入惯性系数a的办法,也可使收敛速度加快,a的取值可选在0.9左右。(2)采用S形激活函数式(1-13)时,由于输出层各神经元的理想输出值只能接近于l或0,而不能达到l或0。这样在设置各训练样本的期望输出分量tkp时,不能设置为 1或 0,以设置为 0.9或0.1较为适宜。72(3)由式(1
27、-13)及图1-17知,S型非线性激活函数g(x)随着|x|的增大梯度下降,即|g(x)|减小并趋于0,不利于权值的调整,因此希望|x|工作在较小的区域,故应考虑网络的输入。若实际问题给以网络的输入量较大,需做归一化处理,网络的输出也要进行相应的处理。对于具体问题,需经调试而定,且需经验知识的积累。(4)学习开始时如何设置加权系数wij和wki的初值非常重要,如将所有初值设置为相等值,则由式(1-22)可知;所有隐含层加权系数的调整量相同,从而使这些加权系数总相等,同此各加权系数的初值以设置为随机数为宜。73 (5)BP网络的另一个问题是学习过程中系统可能陷入某些局部最小值,或某些静态点,或在
28、这些点之间振荡。在这种情况下,不管进行多少次迭代,系统都存在很大误差。因此,在学习过程中,应尽量避免落入某些局部最小值点上,引入惯性项有可能使网络避免落入某一局部最小值。746BP网络学习算法的改进BP网络总括起来,具有以下主要优点:只要有足够多的隐层和隐节点,BP网络可以逼近任意的非线性映射关系;BP网络的学习算法属于全局逼近的方法,因而它具有较好的泛化能力。它的主要缺点是:收敛速度慢;局部极值;难以确定隐层和隐节点的个数。从原理上,只要有足够多的隐层和隐节点,即可实现复杂的映射关系,但是如何根据特定的问题来具体确定网络的结构尚无很好的方法,仍需要凭借经验和试凑。75 BP网络能够实现输入输
29、出的非线性映射关系,但它并不依赖于模型。其输入与输出之间的关联信息分布地存储于连接权中。由于连接权的个数很多,个别神经元的损坏只对输入输出关系有较小的影响,因此BP网络显示了较好的容错性。BP网络由于其很好的逼近非线性映射的能力,因而它可应用于信息处理、图象识别、模型辨识、系统控制等多个方面。对于控制方面的应用,其很好的逼近特性和泛化能力是一个很好的性质。而收敛速度慢却是一个很大的缺点,这一点难以满足具有适应功能的实时控制的要求,它影响了该网络在许多方面的实际应用。为此,许多人对BP网络的学习算法进行了广泛的研究,提出了许多改进的算法,下面介绍典型的几种。76(l)引入惯性项有时为了使收敛速度
30、快些,可在加权系数修正公式中增加一个惯性项,使加权系数变化更平稳些。输出层的任意神经元k在样本p作用时的加权系数增量公式为:(1-29)隐含层的任意神经元i在样本p作用时的加权系数增量公式为:(1-30)式中 为惯性系数。00。为动量项因子,00,使J,否则返回(2)重新计算,直到误差满足要求为止。881.3 神经网络的训练神经网络的训练 1.神经网络的特点神经网络的特点 根据前面介绍的几种典型神经网络可知,神经网络可应用于许多方面,它主要有以下一些特点。(1)具有自适应功能 它主要是根据所提供的数据,通过学习和训练,找出和输出之间的内在联系,从而求得问题的解答,而不是依靠对问题的先验知识和规
31、则,因而它具有很好的适应性。89(2)具有泛化功能 它能处理那些未经训练过的数据。而获得相应于这些数据的合适的解答。同样,它也能够处理那些有噪声或不完全的数据,从而显示了很好的容错能力。对于许多实际问题来说,泛化能力是非常有用的,因为现实世界所获得的数据常常受到一定的污染或残缺不全。(3)非线性映射功能。现实的问题常常是非常复杂的,各个因数之间互相影响,呈现出复杂的非线性关系,神经元网络为处理这些问题提供了有用的工具。90(4)高度并行处理 神经网络的处理是高度并行的,因此用硬件实现的神经网络的处理速度可远远高于 通常计算机的处理速度。与常规的计算机程序相比较,神经网络主要基于所测量的数据对系
32、统进行建模、估计和逼近,它可应用于如分类、预测及模式识别等众多方面。例如,函数映射是功能建模的一个典型例子。91 传统的计算机程序也可完成类似的任务,在某些方面它们可以互相替代。然而更主要 的是它们各有所长。传统的计算机程序比较适合于那些需要高精度的数值计算或者需要 符号处理的那些任务。例如财务管理和计算,它比较适合于采用计算机程序,而不适合于 采用神经网络。对于那些几乎没有规则,数据不完全或者多约束优化问题,则适合于用神 经网络。例如用神经网络来控制一个工业过程便是这样的例子,对于这种情况很难定义规 则,历史数据很多而且充满噪声,准确的计算是毫无必要的。92 某些情况下应用神经网络会存在严重
33、的缺点。当所给数据不充分或不存在可学习的 映射关系时,神经网络可能找不到满意的解。其次,有时很难估价神经网络给出的结果。神经网络中的连接权系数是千万次数据训练后的结果,对它的意义很难给出明显的解释,它对输出结果的影响也是非常复杂的。神经网络的训练是很慢的,而且有时需要付出很高的代价,这一方面是由于需要收集、分析和处理大量的训练数据,同时还需要相当的经验来选择合适的参数。93 神经网络在实际应用时的执行时间也是需要加以检验的。执行时间取决于连接权的个数,它大体与网络节点数的平方成正比。因此网络节点的稍许增加便可能引起执行时间的很大增长。对于有些应用问题尤其是控制,太大的执行时间则可能阻碍它的实际
34、应用。这种情况下必须采用专用的硬件。总之,应根据实际问题的特点来确定是采用神经网络还是常规的计算机程序。这两者可以结合起来使用,例如,神经网络可用作一个大的应用程序中的一个组成部分,其作用类似于可调用的一个函数,应用程序将一组数据传给神经网络,神经网络将结果返回给应用程序。94 2.神经网络的训练步骤神经网络的训练步骤下面讨论训练神经网络的具体步骤和几个实际问题。(1)产生数据样本集 为了成功地开发出神经网络,产生数据样本集是第一步,也是十分重要和关键的一步。这里包括原始数据的收集、数据分析、变量选择以及数据的预处理,只有经过这些步骤后,才能对神经网络进行有效的学习和训练。95 首先要在大量的
35、原始测量数据中确定出最主要的输入模式。例如,若两个输入具有很强的相关性,则只需取其中一个作为输入,这就需要对原始数据进行统计分析,检验它们之间的相关性。又如工业过程可能记录了大量的压力、温度和流量数据。这时就需要对它们进行相关分析,找出其中一、二个最主要的量作为输入。96 在确定了最重要的输入量后,需进行尺度变换和预处理。尺度变换常常将它们变换到-1,1或0,1的范围。在进行尺度变换前必须先检查是否存在异常点(或称野点),这些点必须剔除。通过对数据的预处理分析还可以检验其是否存在周期性、固定变化趋势或其它关系。对数据的预处理就是要使得经变换后的数据对于神经网络更容易学习和训练。例如在过程控制中
36、,采用温度的增量或导数比用温度值本身更能说明间题,也更容易找出变量之间的实质联系。在进行数据预处理时主要用到信号处理或特征抽取技术。如计算数据的和、差、倒数、乘幂、求根、对数、平均、滑动平均以及富立叶变换等。甚至于神经网络本身也可以作为数据预处理的工具,为另一个神经网络准备数据。97 对于一个复杂问题应该选择多少数据,这也是一个很关键的问题。系统的输入输出关系就包含在这些数据样本中。所以一般说来,取的数据越多,学习和训练的结果便越能正确反映输入输出关系。但是选太多的数据将增加收集、分析数据以及网络训练所付出的代价。当然,选太少的数据则可能得不到正确的结果。事实上数据的多少取决于许多因素,如网络
37、的大小、网络测试的需要以及输入输出的分布等。其中网络大小最关键。通常较大的网络需要较多的训练数据。一个经验规则是:训练模式应是连接权总数的5至10倍。98 在神经网络训练完成后,需要有另外的测试数据来对网络加以检验,测试数据应是独立的数据集合。最简单的方法是:将收集到的可用数据随机地分成两部分,譬如说其中三分之二用于网络的训练,另外三分之一用于将来的测试,随机选取的目的是为了尽量减小这两部分数据的相关性。影响数据大小的另一个因数是输入模式和输出结果的分布,对数据预先加以分类可以减少所需的数据量。相反,数据稀薄不匀甚至互相覆盖则势必要增加数据量。99(2)确定网络的类型和结构 在训练神经网络之前
38、,首先要确定所选用的网络类型。神经网络的类型很多,需根据问题的性质和任务的要求来合适地选择网络类型。一般是从已有的网络类型中选用一种比较简单而又能满足要求的网络,若新设计一个网络类型来满足问题的要求往往比较困难。在网络的类型确定后,剩下的问题是选择网络的结构和参数。以BP网络为例,需选择网络的层数、每层的节点数、初始权值、阈值、学习算法、数值修改频度、节点变换函数及参数、学习率及动量项因子等参数。这里有些项的选择有一些指导原则,但更多的是靠经验和试凑。100 对于具体问题若确定了输入和输出变量后,网络输入层和输出层的节点个数也便随之确定了。对于隐层的层数可首先考虑只选择一个隐层。剩下的问题是如
39、何选择隐层的节点数。其选择原则是:在能正确反映输入输出关系的基础上,尽量选取较少的隐层节点数,而使网络尽量简单。具体选择可有如下两种方法;a先设置较少的节点,对网络进行训练,并测试网络的逼近误差(后面还将介绍训练和测试的具体方法),然后逐渐增加节点数,直到测试的误差不再有明显的减小为止。101b先设置较多的节点,在对网络进行训练时,采用如下的误差代价函数其中 J仍与以前的定义相同,它表示输出误差的平方和。引入第二项的作用相当于引入一个“遗忘”项,其目的是为了使训练后的连接权系数尽量小。可以求得这时Jf对wij的梯度为(1-84)102 利用该梯度可以求得相应的学习算法。利用该学习算法,在训练过
40、程中只有那些确实必要的连接权才予以保留,而那些不很必要的连接将逐渐衰减为零。最后可去掉那些影响不大的连接权和相应的节点,从而得到一个适当规模的网络结构。若采用上述任一方法选择得到的隐层节点数太多。这时可考虑采用二个隐层。为了 达到相同的映射关系,采用二个隐层的节点总数常常可比只用一个隐层时少。103(3)训练和测试 最后一步是对网络进行训练和测试,在训练过程中对训练样本数据需要反复地使用。对所有样本数据正向运行一次并反传修改连接权一次称为一次训练(或一次学习),这样 的训练需要反复地进行下去直至获得合适的映射结果。通常训练一个网络需要成百上千 次。104 特别应该注意的一点是,井非训练的次数越
41、多,越能得到正确的输入输出的映射关系。训练网络的目的在于找出蕴含在样本数据中的输入和输出之间的本质联系,从而对于 未经训练的输入也能给出合适的输出,即具备泛化功能。由于所收集的数据都是包含噪声的,训练的次数过多,网络将包含噪声的数据都记录了下来,在极端情况下,训练后的网络可以实现相当于查表的功能。但是对于新的输入数据却不能给出合适的输出,也即并不具备很好的泛化功能。网络的性能主要用它的泛化能力来衡量,它并不是用对训练数据的拟合程度来衡量,而是要用一组独立的数据来加以测试和检验。在用测试数据检验时,保持连接权系数不改变,只用该数据作为网络的输入,正向运行该网络,检验输出的均方误差。105 实际操
42、作时应该训练和测试交替进行,即每训练一次,同时用测试数据测试一遍,画出均方误差随训练次数的变化曲线,如图1-43所示。图1-43 均方误差曲线 从误差曲线可以看出,在用测试数据检验时,均方误差开始逐渐减小,当训练次数再增加时,测试检验误差反而增加。误差曲线上极小点所对应的即为恰当的训练次数,若再训练即为“过度训练”了。106 对于网络隐层节点数的选择如果采用试验法,也必须将训练与测试相结合,最终也用测试误差来衡量网络的性能。均方误差与隐层节点数也有与图1-41相类似的关系,因此也不是节点数越多越好。网络的节点数对网络的泛化能力有很大影响,节点数太多,它倾向于记住所有的训练数据,包括噪声的影响,
43、反而降低了泛化能力;而节点数太少,它不能拟合样本数据,因而也谈不上有较好的泛化能力。选择节点数的原则是:选择尽量少的节点数以实现尽量好的泛化能力。107 在用试验法选择其它参数时也必须最终检验测试数据的误差。例如初始权值的选择。一般可用随机法产生。为避免局部极值问题,可选取多组初始权值,最后选用最好的一种,这里也是靠检验测试数据误差来进行比较。1081.4 神经网络控制系统神经网络控制系统 神经网络发展至今已有半个多世纪的历史,概括起来经历了三个阶段:20世纪4060年代的发展初期;70年代的研究低潮期;80年代,神经网络的理论研究取得了突破性进展。神经网络控制是将神经网络在相应的控制系统结构
44、中当做控制器或辨识器。神经网络控制的发展,虽仅有十余年的历史,但已有了多种控制结构。1091.4.1 神经控制的基本原理神经控制的基本原理 传统的基于模型的控制方式,是根据被控对象的数学模型及对控制系统要求的性能指标来设计控制器,并对控制规律加以数学解析描述;模糊控制是基于专家经验和领域知识总结出若干条模糊控制规则,构成描述具有不确定性复杂对象的模糊关系,通过被控系统输出误差及误差变化和模糊关系的推理合成获得控制量,从而对系统进行控制。这两种控制方式都具有显式表达知识的特点,而神经网络不善于显式表达知识,但是它具有很强的逼近非线性函数的能力,即非非线线性性映映射射能力。把神神经经网网络络用于控
45、控制制正是利用它的这个独特优点独特优点。110 众所周知,控制系统的目的在于通过确定适当的控制量输入,使得系统获得期望的输出特性。图1-44(1)给出了一般反馈控制系统的原理图,其中图1-44(2)采用神经网络替代图1-44(1)中的控制器,为了完成同样的控制任务,我们来分析一下神经网络是如何工作的。图1-44 反馈控制与神经网络 111 设被控制对象的输入u和系统输出y之间满足如下非线性函数关系 (1-85)控制的目的是确定最佳的控制量输入u,使系统的实际输出y等于期望的输出yd。在该系统,可把神经网络的功能看作输入输出的某种映射,或称函数变换,并设它的函数关系为:(1-86)112为了满足
46、系统输出y等于期望的输出yd,将(1-86)式代入(1-85)式,可得 (1-87)显然,当f()=g-1()时,满足y=yd的要求。113 由于要采用神经网络控制的被控对象一般是复杂的且多具有不确定性,因此非线性函数g()是难以建立的,可以利用神经网络具有逼近非线性函数的能力来模拟g-1(),尽管g()的形式未知,但通过系统的实际输出y与期望输出yd之间的误差来调整神经网络中的连接权值,即让神经网络学习,直至误差 e=yd-y=0 (1-88)的过程,就是神经网络模拟g-1()的过程,它实际上是对被控对象的一种求逆过程,由神经网络的学习算法实现这一求逆逆过程,就是神经网络实现直接控制的基本思
47、想。1141.4.2 神经网络在控制中的主要作用神经网络在控制中的主要作用 由于神经网络具有许多优异特性,所以决定了它在控制系统中应用的多样性和灵活性。为了研究神经网络控制的多种形式,先来给出神经网络控制的定义,所谓神神经经网网络络控控制制,即基于神经网络的控制或简称神经控制,是指在控制系统中采用神经网络这一工具对难以精确描述的复杂的非线性对象进行建模,或充当控制器,或优化计算,或进行推理,或故障诊断等,以及同时兼有上述某些功能的适应组合,将这样的系统统称为基于神经网络的控制系统,称这种控制方式为神经网络控制。115 根据上述定义,可以将神经网络在控制中的作用分为以下几种:1在基于精确模型的各
48、种控制结构中充当对象的模型;2在反馈控制系统中直接充当控制器的作用;3在传统控制系统中起优化计算作用;4在与其它智能控制方法和优化算法,如模糊控制、专家控制及遗传算法等相融合中,为其提供非参数化对象模型、优化参数、推理模型及故障诊断等。由于人工智能中的新技术不断出现及其在智能控制中的应用,神经网络必将在和其它新技术的相融合中,在智能控制中发挥更大的作用。116 神经网络控制主要是为了解决复杂的非线性、不确定、不确知系统在不确定、不确知环境中的控制问题,使控制系统稳定性好、鲁棒性强,具有满意的动静态特性。为了达到要求的性能指标,处在不确定、不确知环境中的复杂的非线性不确定、不确知系统的设计问题,
49、就成了控制研究领域的核心问题。为了解决这类问题,可以在系统中设置两个神经网络,如图1-45所示。图1-45 神经网络控制系统 117 图中的神经网络NNI作为辨识器,由于神经网络的学习能力,辨识器的参数可随着对象、环境的变化而自适应地改变,故它可再线辨识非线性不确定、不确知对象的模型。辨识的目的是根据系统所提供的测量信息,在某种准则意义下估计出对象模型的结构和参数。图中的神经网络NNC作为控制器,其性能随着对象、环境的变化而自适应地改变(根据辨识器)。118 在图1-45所示的系统中,对于神经控制系统的设计,就是对神经辨识器NNI和神经控制器NNC结构(包括神经网络种类、结构)的选择,以及在一
50、定的准则函数下,它们的权系数经由学习与训练,使之对应于不确定、不确知系统与环境,最后使控制系统达到要求的性能。由于该神经网络控制结构有两个神经网络,它是在高维空间搜索寻优,网络训练时,可调参数多,需调整的权值多,且收敛速度与所选的学习算法、初始权值有关,因此系统设计有相当难度。除了设计者所掌握的知识和经验外,还必须应用计算机硬件、软件技术作为神经网络控制设计的工具。1191.4.3 神经网络控制系统的分类神经网络控制系统的分类 神经网络控制的结构和种类划分,根据不同观点可以有不同的形式,目前尚无统一的分类标准。1991年Werbos将神经网络控制划分为学习控制、直接逆动态控制、神经自适应控制、