利用simulink对自适应控制系统模型进行仿真分析_第1页
利用simulink对自适应控制系统模型进行仿真分析_第2页
利用simulink对自适应控制系统模型进行仿真分析_第3页
利用simulink对自适应控制系统模型进行仿真分析_第4页
利用simulink对自适应控制系统模型进行仿真分析_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

第一章 前言1.1 课题的意义:本毕业设计旨在学习并比较各种自适应控制算法,掌握matlab语言,利用simulink对自适应控制系统模型进行仿真分析。自适应控制是人们要求越来越高的控制性能和针对被控系统的高度复杂化,高度不确定性的情况下产生的,是人工智能渗入到应用科技领域的必然结果。并在常规控制理论的基础上得到进一步的发展和提高。进入21世纪以来,智能控制技术和远程监测技术继续飞速发展,逐渐被应用到电力、交通和物流等领域。从卫星智能控制,到智能家居机器人;从公共场所的无线报警系统,到家用煤气、自来水等数据的采集。可以说,智能控制技术和远程监测技术己经渗透到了人们日常生活之中,节约了大量的人力和物力,给人们的日常生活带来了极大的便利。目前,自适应控制的研究以认知科学、心理学、社会学、系统学、语言学和哲学为基础,有效的把数字技术、远程通信、计算机网络、数据库、计算机图形学、语音与听觉、机器人学、过程控制等技术有机的结合,提供了解决复杂问题的有效手段。自适应控制是在人们在追求高控制性能、高度复杂化和高度不确定性的被控系统情况下产生的,是人工智能渗入到应用科技领域的必然结果,并在常规控制理论的基础上得到进一步的发展和提高。主要研究对象从单输入、单输出的常系数线性系统,发展为多输入、多输出的复杂控制系统。自适应控制理论的产生为解决复杂系统控制问题开辟了新的途径,成为当下控制领域的研究和发展热点。1.2 国内外研究概况及发展趋势:1943年,心理学家WMcculloch和数理逻辑学家WPitts在分析、总结神经元基本特性的基础上首先提出神经元的数学模型。此模型沿用至今,并且直接影响着这一领域研究的进展。因而,他们两人可称为人工神经网络研究的先驱。1945年冯诺依曼领导的设计小组试制成功存储程序式电子计算机,标志着电子计算机时代的开始。1948年,他在研究工作中比较了人脑结构与存储程序式计算机的根本区别,提出了以简单神经元构成的再生自动机网络结构。但是,由于指令存储式计算机技术的发展非常迅速,迫使他放弃了神经网络研究的新途径,继续投身于指令存储式计算机技术的研究,并在此领域作出了巨大贡献。虽然,冯诺依曼的名字是与普通计算机联系在一起的,但他也是人工神经网络研究的先驱之一。 50年代末,FRosenblatt设计制作了“感知机”,它是一种多层的神经网络。这项工作首次把人工神经网络的研究从理论探讨付诸工程实践。当时,世界上许多实验室仿效制作感知机,分别应用于文字识别、声音识别、声纳信号识别以及学习记忆问题的研究。然而,这次人工神经网络的研究高潮未能持续很久,许多人陆续放弃了这方面的研究工作,这是因为当时数字计算机的发展处于全盛时期,许多人误以为数字计算机可以解决人工智能、模式识别、专家系统等方面的一切问题,使感知机的工作得不到重视;其次,当时的电子技术工艺水平比较落后,主要的元件是电子管或晶体管,利用它们制作的神经网络体积庞大,价格昂贵,要制作在规模上与真实的神经网络相似是完全不可能的;另外,在1968年一本名为感知机的著作中指出线性感知机功能是有限的,它不能解决如异感这样的基本问题,而且多层网络还不能找到有效的计算方法,这些论点促使大批研究人员对于人工神经网络的前景失去信心。60年代末期,人工神经网络的研究进入了低潮。 另外,在60年代初期,Widrow提出了自适应线性元件网络,这是一种连续取值的线性加权求和阈值网络。后来,在此基础上发展了非线性多层自适应网络。当时,这些工作虽未标出神经网络的名称,而实际上就是一种人工神经网络模型。随着人们对感知机兴趣的衰退,神经网络的研究沉寂了相当长的时间。80年代初期,模拟与数字混合的超大规模集成电路制作技术提高到新的水平,完全付诸实用化,此外,数字计算机的发展在若干应用领域遇到困难。这一背景预示,向人工神经网络寻求出路的时机已经成熟。美国的物理学家Hopfield于1982年和1984年在美国科学院院刊上发表了两篇关于人工神经网络研究的论文,引起了巨大的反响。人们重新认识到神经网络的威力以及付诸应用的现实性。随即,一大批学者和研究人员围绕着 Hopfield提出的方法展开了进一步的工作,形成了80年代中期以来人工神经网络的研究热潮。 1985年,Ackley,Hinton,and Sejnowski将模拟退火算法应用到神经网络训练中,提出了Boltzmann机,该算法具有逃离极值的优点,但是训练时间需要很长。1986年,Rumelhart,Hinton,and Williams提出了多层前馈神经网络的学习算法,即BP算法。它从证明的角度推导算法的正确性,是学习算法有理论依据。从学习算法角度上看,是一个很大的进步。1988年,Broomhead and Lowe第一次提出了径向基网络:RBF网络。1.3 设计要求1、 设计要求1) 首先完成简单控制系统模块的仿真分析;2) 提出自适应控制系统设计的方法;3) 建立基于神经网络的自适应控制系统的仿真模型;4) 利用simulink对基于神经网络的自适应控制系统模型进行仿真;5) 从仿真结果分析基于神经网络模型的自适应控制算法的性能。2、 原始资料1) MATLAB语言;2) 控制系统设计的基础理论;3) Simulink中控制系统模块的应用;4) 翻译相关课题英文资料。第二章 神经网络2.1神经网络简介人工神经网络(artificial neural network,ANN)是模仿生物神经网络功能的一种经验模型。生物神经元受到传入的刺激,其反应又从输出端传到相联的其它神经元,输入和输出之间的变换关系一般是非线性的。神经网络是由若干简单(通常是自适应的)元件及其层次组织,以大规模并行连接方式构造而成的网络,按照生物神经网络类似的方式处理输入的信息。模仿生物神经网络而建立的人工神经网络,对输入信号有功能强大的反应和处理能力9。神经网络是由大量的处理单元(神经元)互相连接而成的网络。为了模拟大脑的基本特性,在神经科学研究的基础上,提出了神经网络的模型。但是,实际上神经网络并没有完全反映大脑的功能,只是对生物神经网络进行了某种抽象、简化和模拟8。神经网络的信息处理通过神经元的互相作用来实现,知识与信息的存储表现为网络元件互相分布式的物理联系。神经网络的学习和识别取决于各种神经元连接权系数的动态演化过程。若干神经元连接成网络,其中的一个神经元可以接受多个输入信号,按照一定的规则转换为输出信号。由于神经网络中神经元间复杂的连接关系和各神经元传递信号的非线性方式,输入和输出信号间可以构建出各种各样的关系,因此可以用来作为黑箱模型,表达那些用机理模型还无法精确描述、但输入和输出之间确实有客观的、确定性的或模糊性的规律。因此,人工神经网络作为经验模型的一种,在化工生产、研究和开发中得到了越来越多的用途。2.2神经网络结构与学习规则2.2.1 人工神经元模型图3-1表示出了作为人工神经网络(artificial neural network,以下简称NN)的基本单元的神经元模型,它有三个基本要素:图3-1 人工神经网络模型(i)一组连接(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激活,为负表示抑制。(ii)一个求和单元,用于求取各输入信号的加权和(线性组合)。(iii)一个非线性激活函数,起非线性映射作用并将神经元输出幅度限制在一定范围内(一般限制在或之间)。此外还有一个阈值(或偏置)。以上作用可分别以数学式表达出来: , , 式中为输入信号,为神经元之权值,为线性组合结果,为阈值,为激活函数,为神经元的输出。若把输入的维数增加一维,则可把阈值包括进去。例如 ,此处增加了一个新的连接,其输入为(或),权值为(或),如图3-2所示。图3-2 复杂人工神经网络模型激活函数可以有以下几种:(i)阈值函数 即阶梯函数。这时相应的输出为 其中,常称此种神经元为模型。(ii)分段线性函数 它类似于一个放大系数为1的非线性放大器,当工作于线性区时它是一个线性组合器,放大系数趋于无穷大时变成一个阈值单元。(iii)sigmoid函数最常用的函数形式为 参数可控制其斜率。另一种常用的是双曲正切函数 这类函数具有平滑和渐近性,并保持单调性。Matlab中的激活(传递)函数如下表所示:表2-1 传递函数函数名功 能purelin线性传递函数hardlim硬限幅传递函数hardlims对称硬限幅传递函数satlin饱和线性传递函数satlins对称饱和线性传递函数logsig对数S形传递函数tansig正切S形传递函数radbas径向基传递函数compet竞争层传递函数各个函数的定义及使用方法,可以参看Matlab的帮助(如在Matlab命令窗口运行help tansig,可以看到tantig的使用方法,及tansig的定义为)。2.2.2 网络结构及工作方式除单元特性外,网络的拓扑结构也是NN的一个重要特性。从连接方式看NN主要有两种。(i)前馈型网络各神经元接受前一层的输入,并输出给下一层,没有反馈。结点分为两类,即输入单元和计算单元,每一计算单元可有任意个输入,但只有一个输出(它可耦合到任意多个其它结点作为其输入)。通常前馈网络可分为不同的层,第层的输入只与第层输出相连,输入和输出结点与外界相连,而其它中间层则称为隐层。(ii)反馈型网络所有结点都是计算单元,同时也可接受输入,并向外界输出。NN的工作过程主要分为两个阶段:第一个阶段是学习期,此时各计算单元状态不变,各连线上的权值可通过学习来修改;第二阶段是工作期,此时各连接权固定,计算单元状态变化,以达到某种稳定状态。从作用效果看,前馈网络主要是函数映射,可用于模式识别和函数逼近。反馈网络按对能量函数的极小点的利用来分类有两种:第一类是能量函数的所有极小点都起作用,这一类主要用作各种联想存储器;第二类只利用全局极小点,它主要用于求解最优化问题。 2.2.3 神经网络的学习方式学习是神经网络的主要特征之一。学习规则就是修正神经元之间连接强度或加权系数的算法,使获得的知识结构适应周围环境的变化。在学习过程中,执行学习规则,修正加权系数。神经网络的学习方式主要分为有导师(指导式)学习、无导师(自学式)学习和再励学习(强化学习)三种: (l)有导师学习:就是在学习的过程中,有一个期望的网络输出,学习算法根据给定输入的神经网络实际输出与期望输出之间的误差来调整神经元的连接强度,即权值。因此学习需要有导师来提供期望输出信号。(2)无导师学习:就是在学习过程中不需要有期望输出,因而不存在直接的误差信息。网络学习需要建立一个间接的评价函数,每个处理单元能够自适应连接权值,以对网络的某种行为趋向作出评价。(3)再励学习:这种学习介于上述两种情况之间,外部环境对系统输出结果只给出评价(奖或罚)而不是给出正确答案,学习系统经过强化那些受奖励的行为来改善自身性能。2.2.4 神经网络的学习规则神经网络通常采用的网络学习规则包括以下三种:(l)误差纠正学习规则令是输入时神经元k在n时刻的实际输出,表示应有的输出(可由训练样本给出),则误差信号可写为: 误差纠正学习的最终目的是使某一基于的目标函数达到要求,以使网络中每一输出单元的实际输出在某种统计意义上逼近应有输出。一旦选定了目标函数形式,误差纠正学习就变成了一个典型的最优化问题,最常用的目标函数是均方误差判据,定义为误差平方和的均值:其中E为期望算子。上式的前提是被学习的过程是平稳的,具体方法可用最优梯度下降法。直接用J作为目标函数时需要知道整个过程的统计特性,为解决这一问题,通常用J在时刻n的瞬时值代替J,即: 问题变为求E对权值w的极小值,据梯度下降法可得:其中为学习步长,这就是通常所说的误差纠正学习规则。(2)Hebb学习规则由神经心理学家Hebb提出的学习规则可归纳为“当某一突触连接两端的神经元同时处于激活状态(或同为抑制)时,该连接的强度应增加,反之应减弱”用数学方式可描述为:由于与的相关成比例,有时称为相关学习规则。(3)竞争学习规则顾名思义,在竞争学习时,网络各输出单元互相竞争,最后达到只有一个最强者激活,最常见的一种情况是输出神经元之间有侧向抑制性连接,这样原来输出单元中如有某一单元较强,则它将获胜并抑制其它单元,最后只有此强者处于激活状态。最常用的竞争学习规则可写为:第三章 仿真环境3.1 Matlab简介MATLAB(Matrix Laboratory)是美国 MathWorks 公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境,是目前最好的科学计算类软件。MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件,成为了诸多领域的开发首选软件,并且, MATLAB 还具有500 余家第三方合作伙伴,分布在科学计算、机械动力、化工、计算机通讯、汽车、金融等领域,接口方式包括了联合建模、数据共享、开发流程衔接等等。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具体问题。3.2 MATLAB的主要组成部分: 3.2.1开发环境(development Environment):为MATLAB用户或程序编制员提供的一套应用工具和设施。由一组图形化用户接口工具和组件集成:包括MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口及帮助信息、工作空间、文件和搜索路径等浏览器;3.2.2 MATLAB数学函数库(Math Function Library):数学和分析功能在MATLAB工具箱中被组织成8个文件夹。 elmat 初步矩阵,和矩阵操作。 elfun 初步的数学函数。求和、正弦、余弦和复数运算等specfun 特殊的数学函数。矩阵求逆、矩阵特征值、贝塞尔函数等;matfun 矩阵函数用数字表示的线性代数。 atafun 数据分析和傅立叶变换。 polyfun 插值,多项式。 funfun 功能函数。 sparfun 稀疏矩阵。3.2.3 MATLAB 语言:MATLAB Language一种高级编程语言(高阶的矩阵/数组语言),包括控制流的描述、函数、数据结构、输入输出及面对对象编程;3.2.4 句柄图形(Handle Graphics) :MATLAB制图系统具有2维、三维的数据可视化,图象处理,动画片制作和表示图形功能。可以对各种图形对象进行更为细腻的修饰和控制。允许你建造完整的图形用户界面(GUI),以及建立完整的图形界面的应用程序。制图法功能在MATLAB工具箱中被组织成5个文件夹: graph2d 二维数图表。 graph3d 三维图表。 specgraph 专业化图表。 graphics 制图法。 uitools 图形用户界面工具。3.2.5 应用程序接口 (Applied Function Interface) :MATLAB的应用程序接口允许用户使用C或FORTRAN语言编写程序与MATLAB连接。图3-1 Matlab开发环境3.3 MATLAB的语言特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。具有FORTRAN和C等高级计算机语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN和C这样的高级语言编写至少需要好几十行。再如用双步QR方法求解矩阵特征值,如果用FORTRAN编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。以下为用MATLAB编写以上两个小程序的具体过程。用MATLAB求解下列方程,并求矩阵A的特征值。 其中:解为:x=Ab;设A的特征值组成的向量为e,e=eig(A)。可见,MATLAB的程序极其简短。更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短,具体运算符见附表。MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。功能强劲的工具箱是MATLAB的另一重大特色。MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。下表列出了MATLAB的核心部分及其工具箱等产品系列的主要应用领域。源程序的开放性。开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。第四章 基于BP神经网络的自适应控制算法4.1 BP神经网络4.1.1 BP神经网络定义 BP (Back Propagation)神经网络是一种神经网络学习算法。其由输入层、中间层、输出层组成的阶层型神经网络,中间层可扩展为多层。相邻层之间各神经元进行全连接,而每层各神经元之间无连接,网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,各神经元获得网络的输入响应产生连接权值(Weight)。然后按减小希望输出与实际输出误差的方向,从输出层经各中间层逐层修正各连接权,回到输入层。此过程反复交替进行,直至网络的全局误差趋向给定的极小值,即完成学习的过程。4.1.2 BP神经网络模型及其基本原理BP神经网络是误差反向传播神经网络的简称,它由一个输入层,一个或多个隐含层和一个输出层构成,每一次由一定数量的的神经元构成。这些神经元如同人的神经细胞一样是互相关联的。其结构如图4-1所示: 图4-1 BP神经网络模型生物神经元信号的传递是通过突触进行的一个复杂的电化学等过程, 在人工神经网络中是将其简化模拟成一组数字信号通过一定的学习规则而不断变动更新的过程,这组数字储存在神经元之间的连接权重。网络的输入层模拟的是神经系统中的感觉神经元,它接收输入样本信号。输入信号经输入层输入, 通过隐含层的复杂计算由输出层输出,输出信号与期望输出相比较,若有误差,再将误差信号反向由输出层通过隐含层处理后向输入层传播。在这个过程中,误差通过梯度下降算法,分摊给各层的所有单元,从而获得各单元的误差信号,以此误差信号为依据修正各单元权值,网络权值因此被重新分布。此过程完成后, 输入信号再次由输入层输入网络,重复上述过程。这种信号正向传播与误差反向传播的各层权值调整过程周而复始地进行着,直到网络输出的误差减少到可以接受的程度,或进行到预先设定的学习次数为止。权值不断调整的过程就是网络的学习训练过程。BP 神经网络的信息处理方式具有如下特点: 1)信息分布存储。人脑存储信息的特点是利用突触效能的变化来调整存储内容, 即信息存储在神经元之间的连接强度的分布上, B P神经网络模拟人脑的这一特点,使信息以连接权值的形式分布于整个网络。2) 信息并行处理。人脑神经元之间传递脉冲信号的速度远低于冯诺依曼计算机的工作速度,但是在很多问题上却可以做出快速的判断、决策和处理,这是由于人脑是一个大规模并行与串行组合的处理系统。BP神经网络的基本结构模仿人脑,具有并行处理的特征,大大提高了网络功能。3)具有容错性。生物神经系统部分不严重损伤并不影响整体功能,BP神经网络也具有这种特性,网络的高度连接意味着少量的误差可能不会产生严重的后果,部分神经元的损伤不破坏整体,它可以自动修正误差。这与现代计算机的脆弱性形成鲜明对比。4)具有自学习、自组织、自适应的能力。BP神经网络具有初步的自适应与自组织能力,在学习或训练中改变突触权值以适应环境,可以在使用过程中不断学习完善自己的功能,并且同一网络因学习方式的不同可以具有不同的功能,它甚至具有创新能力,可以发展知识,以至超过设计者原有的知识水平。4.1.3 BP神经网络的主要功能目前,在人工神经网络的实际应用中。绝大部分的神经网络模型都采用BP神经网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP网络主要用于以下四方面。函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数。模式识别:用一个待定的输出向量将它与输入向量联系起来。分类:把输入向量所定义的合适方式进行分类。数据压缩:减少输出向量维数以便传输或存储。4.2 基于BP神经网络的PID自适应控制实例4.2.1实例原理PID控制要取得好的控制效果,就必须通过调整好比例、积分和微分三种控制作用,在形成控制量中相互配合又相互制约的关系。神经网络具有逼近任意非线性函数的能力,而且结构和学习算法简单明确。可以通过对系统性能的学习来实现具有最佳组合的PID控制。采用基于BP神经网络的PID自适应控制,可以建立参数、自学习的神经PID控制,从而达到参数自行调整的。实例控制器由两部分组成:(1)经典的PID控制器:直接对被控对象进行闭环控制,仍然是靠改变三个参数、来获得满意的控制效果。(2)神经网络:根据系统的运行状态,调节PID控制器的参数,以其达到某种性能指标的最优化。采用如图4-2的系统结构,即使输出层神经元的输出状态对应于PID控制器的三个可调参数、,通过神经网络的自身学习、加权系数调整,从而使其稳定状态对应于某种最优控制规律下的PID的控制器各个参数。采用基于BP神经网络的PID控制的系统结构如图4-2所示:BP神经网络被控对象PID控制器+r kp ki kd u y - e 图4-2 基于BP神经网络的PID控制结构图图4-2中的BP神经网络选如图4-3的形式,采用三层结构:一个输入层,一个隐含层,一个输出层,j表示输入层节点,i表示隐层节点,l表示输出层节点。输入层有m个输入节点,隐含层有q个隐含节点,输出层有3个输出节点。输入节点对应所选的系统运行状态量,如系统不同时刻的输入量和输出量,偏差量等。输出节点分别对应PID控制器的三个参数、,由于、不能为负,所以输出层神经元活化函数取非负的Sigmoid函数。ijl 输入节点输出层节点隐层节点 图4-3 BP神经网络结构图由图可见,此处BP神经网络的输入层输出为 j=1,2,3m 隐层输入为: 隐层输出为: =1,2 式中,为输入层到隐含层加权系数,上标(1)、(2)、(3)分别代表输入层、隐含层、输出层,f(x)为正负对称的Sigmoid函数,即 。最后网络输出层三个节点的输入为 最后的输出层的三个输出为 : =1,2,3 即 式中,为隐层到输出层加权系数,输出层神经元活化函数为 取性能指标函数 用梯度下降法修正网络的权系数,并附加一使搜索快速收敛全局极小的惯性项,则有: 为学习率,为惯性系数。其中: (4-1)这里需要用到的变量,由于模型可以未知,所以未知,但是可以测出的相对变化量,即:也可以近似用符号函数: 取代,由此带来计算上的不精确可以通过调整学习速率来补偿。这样做一方面可以简化运算,另一方面避免了当很接近时导致式(4-1)趋于无穷。这种替代在算法上是可以的,因为是式(4-1)中的一个乘积因子,他的符号的正负决定着权值变化的方向,而数值变化的大小只影响权值变化的速度,但是权值变化的速度可以通过学习步长加以调节。由式:可得: (4-2)这样,可得BP神经网络输出层权计算公式为 把上式代入后得: 可令,则上式可写为: 由式(4-2)可确定,由符号函数代替,由可得。同理可得隐含层权计算公式为 =1,2, 令 则: =1,2, 该控制器的算法如下:(1)确定BP神经网络的结构,即确定输入节点数M和隐含层节点数Q,并给各层加权系数的初值和,选定学习速率和惯性系数,此时k=1;(2)采样得到rin(k)和yout(k),计算该时刻误差error(k)=rin(k)-yout(k);(3)计算神经网络NN各层神经元的输入、输出,NN输出层的输出即为PID控制器的三个可调参数,;(4)根据经典增量数字PID的控制算法(见下式)计算PID控制器的输出u(k); (5)进行神经网络学习,在线调整加权系数和实现PID控制参数的自适应调整;(6)置k=k+1,返回到(1)。4.2.2 实例运行结果(程序见附录一)仿真输入: rin(k)=1.0;仿真输出:a(k)=1.2*(1-0.8*exp(-0.1*k); yout(k)=a(k)*y_1/(1+y_12)+u_1;BP网络参数:IN=4;H=5;Out=3; 图4-4预想输出与实际输出图4-5 输入与输出间的误差图4-6 PID参数仿真输入: rin(k)=sin(1*2*pi*k*ts);仿真输出:a(k)=1.2*(1-0.8*exp(-0.1*k); yout(k)=a(k)*y_1/(1+y_12)+u_1;BP网络参数:IN=4;H=5;Out=3; 图4-7预想输出与实际输出图4-8 输入与输出间的误差图4-6 PID参数4.3 仿真结果通过仿真实例可以直观地看出:基于BP神经网络的PID控制器可以通过学习自动调整PID参数,使系统误差调整在允许误差范围内。4.4 结果分析BP神经网络最主要的优点是具有极强的非线性映射能力。理论上,对于一个三层和三层以上的BP网络,只要隐层神经元数目足够多,该网络就能以任意精度逼近一个非线性函数。其次,BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。这是因为它采用了分布并行的信息处理方式,对信息的提取必须采用联想的方式,才能将相关神经元全部调动起来。BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。再次,BP 神经网络对外界输入样本有很强的识别与分类能力。由于它具有强大的非线性处理能力,因此可以较好地进行非线性分类, 解决了神经网络发展史上的非线性分类难题。另外, BP 神经网络具有优化计算能力。BP神经网络本质上是一个非线性优化问题, 它可以在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小。不过,其优化计算存在局部极小问题,必须通过改进完善。由于BP网络训练中稳定性要求学习效率很小,所以梯度下降法使得训练很慢。动量法因为学习率的提高通常比单纯的梯度下降法要快一些,但在实际应用中还是速度不够,这两种方法通常只应用于递增训练。多层神经网络可以应用于线性系统和非线性系统中,对于任意函数模拟逼近。当然,感知器和线性神经网络能够解决这类网络问题。但是,虽然理论上是可行的,但实际上BP网络并不一定总能有解。对于非线性系统,选择合适的学习率是一个重要的问题。在线性网络中,学习率过大会导致训练过程不稳定。相反,学习率过小又会造成训练时间过长。和线性网络不同,对于非线性多层网络很难选择很好的学习率。对那些快速训练算法,缺省参数值基本上都是最有效的设置。非线性网络的误差面比线性网络的误差面复杂得多,问题在于多层网络中非线性传递函数有多个局部最优解。寻优的过程与初始点的选择关系很大,初始点如果更靠近局部最优点,而不是全局最优点,就不会得到正确的结果,这也是多层网络无法得到最优解的一个原因。为了解决这个问题,在实际训练过程中,应重复选取多个初始点进行训练,以保证训练结果的全局最优性。网络隐层神经元的数目也对网络有一定的影响。神经元数目太少会造成网络的不适性,而神经元数目太多又会引起网络的过适性。第五章 基于RBF神经网络的自适应控制算法5.1 RBF网络5.1.1 RBF网络的结构RBF神经元网络即Radial Basis Function Neural Network,它的产生具有很强的生物学背景。在人的大脑皮层区域中,局部调节及交叠的感受野(Receptive Field)是人脑反应的特点。基于感受野这一特性,Moody和Darken提出了一种神经网络结构,即RBF网络。图5-1是这种思想的结构图。图5-1 RBF神经网络这是一种前向网络的拓扑结构,隐含层的单元是感受野单元,每个感受野单元输出为i=Ri(X) =Ri(X-ci/i), i= 1,HX是N维输入向量,ci是与X同维数的向量,Ri()具有局部感受的特点。例如Ri()取高斯函数,即Ri(X)=exp(-X-ci2/2i),Ri()只有在ci周围的一部分区域内有较强的反应,这正体现了大脑皮质层的反应特点。RBF神经元网络不仅具有上述的生物学背景,而且还有数学理论的支持。利用正则化方法证明了如下结论。若S=(Xi,Yi)RnR i=1,N是训练集合,(,w)表示未知的函数,其中w也未知。正则化问题的学习过程是寻找及参数w使H =(Yi-(Xi,w)2+P2最小。用变分原理可以证明应该选择径向基函数(Ra-dial Basis Function) 。5.2 RBF网络的自适应控制算法RBF 网络是一种三层前馈网络, 由输入层、输出层和隐层组成。其中, 输入层和输出层皆由线性神经元组成; 隐层的激活函数( 核函数) 采用中心径向对称衰减的非负非线性函数, 其作用是对输入信号在局部产生响应。输入层与隐层之间的权值固定为1, 只有隐层与输出层之间的权值可调。设输入矢量 , 隐层节点个数为m, RBF 网络的输出可表示为: 式中: 是第i 个隐层节点与输出层之间的权值; 为隐层激活函数。通常采用如下高斯函数式中: 和分别表示该隐层节点的宽度和中心矢量;|.|是欧氏范数。RBF 选取得越多, 网络的逼近精度越高, 但同时也会使网络的泛化能力下降, 因此, 在满足一定逼近精度的条件下, 应选取尽可能少的中心向量, 以保证网络有较好的泛化能力。本文提出的算法, 根据网络的输出误差在输入空间的非均匀分布, 以及每个RBF 对网络所作贡献的大小, 通过相应的添加和删除策略对网络参数进行自适应调整, 使网络的逼近性能和泛化能力都达到较高的要求。同时, 网络的训练和工作可以交替进行,所以它能够适应外界环境的缓慢变化。5.2.1 添加策略添加策略综合考虑了网络输出误差在输入空间的非均匀分布。需要统计每个输入矢量产生的输出误差,然后通过比较找出误差相对较大的点, 再在这些点附近适当地插入隐层节点。设是一组训练样本, 初始时刻, 隐层节点数为零, 每次执行添加操作, 依据以下准则判断是否添加隐层节点: 式中: 是网络输出均方误差; 和分别对应与输入向量Xk 最接近的隐层节点中心和输入向量。如果满足添加条件, 则将设为新的隐层节点中心, 将ek 设为新节点的权值, 中心宽度取5.2.2 删除策略由于RBF 神经网络是一种局部感知场网络, 网络总的输出取决于隐层与输出层之间的权值和隐层节点中心与输入矢量之间的距离。进行训练时, 所选取的训练样本相对比较稀疏。当某一个隐层节点中心离每一个输入矢量都很远时, 即使其权值是一个较大的数, 也不会对输出产生太大的影响。在训练结束后进行检验的过程中, 检验的数据一般都比较密集, 若某些输入矢量离该隐层中心较近, 则输出会受到很大的影响,这使网络的泛化能力变差。因此需要制定一种策略来删除这样的隐层节点, 由此引入了删除策略。删除策略是针对每个隐层节点对整个网络所作贡献的大小不同而提出的。贡献大的节点, 继续保留; 贡献小的节点, 则删除。对任意隐层节点i, 用A i 来表示它对整个网络所作的贡献。A i 定义为: 执行删除操作前, 先对Ai 进行归一化处理, 即。最后的判断规则为: 若, 则删除第i 个隐层节点, 其中为判决门限。在采用梯度下降法调整隐层节点中心位置和权值的过程中, 需要计算每个输入矢量对应的输出误差ek ,以及每个隐层节点的输出值。而执行添加和删除操作时也需要计算ek 和。为了减小计算量, 提高运算效率, 可以在调整隐层的中心位置和权值的过程中先保存ek 和 的值。5.2.3 算法流程自适应RBF 神经网络学习算法的具体流程如图1所示。对RBF 进行训练之前, 先确定最大训练次数M和训练允许误差E r , 作为训练结束的条件。整个算法的流程大体可分成三个部分。第一个部分是调节隐层节点的中心位置和隐层与输出层之间的权值。本文采用梯度下降法, 每循环一次, 相应地调节一次。第二个部分是执行添加操作。添加的策略是根据输出误差在输入空间分布的不均匀性而提出的。如果执行该操作过频, 不但会减小隐层节点的中心位置和权值的调节速度, 而且会造成隐层节点数目过多, 计算量增大, 导致过度拟合。考虑到以上因素, 采用间歇的方式执行添加操作, 只有当i = 4n + 1( n = 0, 1, 2, )时, 才执行添加操作。第三个部分是执行删除操作。如果执行该操作过频, 对于一些新增加的隐层节点, 其中心位置和权值有可能还没来得及调整就已经被删除了, 所以也采用间歇的方式执行。当i = 8m + 7( m = 0, 1,2, ) 时, 才执行删除操作。图 5-2 算法流程图5.2.4 RBF 网络参数调整算法采用梯度下降法调整RBF 的隐层节点中心位置和权值。设隐层节点的数目为m, 一共有N 组训练样本: ( x, y ) = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x N , yN ) 。神经网络的实际输出为: y = y 1 , y 2 , , y N 。选取均方差为误差函数, 取和为学习率。( 1) 调整隐层节点的权值 得到:( 2) 调整隐层节点的中心位置5.3仿真实例 5.2.1 问题说明简单的运动系统动力学方程为:其中为角度,为控制输入。写成状态方程形式为: 其中为未知。位置指令为,则误差及其变化率为,定义误差函数为, 则。由式上式可见,如果,则且。5.2.2 RBF网络原理由于RBF网络具有万能逼近特性,采用RBF神经网络逼近,网络算法为: 其中为网络的输入,为网络隐含层第个节点, 为网络的高斯基函数输出,为网络的理想权值, 为网络的逼近误差,。网络输入取,则网络输出为: 5.2.3 控制算法设计与分析由于。定义Lyapunov函数为 其中,。则 设计控制律为 (5-1)则取,自适应律为 (5-2) 则。5.2.4仿真实例考虑如下被控对象其中。控制律采用式(5-1),自适应律采用式(5-2),取,。根据网络输入和的实际范围,高斯基函数的参数和取值分别取和3.0。网络权值矩阵中各个元素的初始值取0,10。仿真结果如图5-3和图5-4所示。图5-3 位置和速度跟踪 图5-4 及逼近5.2.5仿真程序Simulink主程序: rbf_ctrl_sim.mdl控制律及自适应律程序: rbf_ctrl.m被控对象程序: rbf_ctrl_plant.m作图程序: rbf_ctrl_plot.m图5-5 神经网络自适应控制Simulink仿真图5.4仿真结果与分析通过基于RBF网络自适应控制算法的simulink仿真可知,该算法可以实现系统自适应控制,通过学习功能使系统输出与理想输出之间的误差快速收敛,直至控制在可以接受的范围之内。RBF神经网络是一种性能优良的前馈型神经网络,RBF网络可以任意精度逼近任意的非线性函数,且具有全局逼近能力,从根本上解决了BP网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快。RBF网络和模糊逻辑能够实现很好的互补,提高神经网络的学习泛化能力。5.5 RBF神经网络与BP神经网络RBF神经网络除了具有一般神经网络的优点,如多维非线性映射能力,泛化能力,并行信息处理能力等,还具有很强的聚类分析能力,学习算法简单方便等优点;径向基函数(RBF) 神经网络是一种性能良好的前向网络L利用在多维空间中插值的传统技术, 可以对几乎所有的系统进行辩识和建模L它不仅在理论上有着任意逼近性能和最佳逼近性能, 而且在应用中具有很多优势L 如和Sigmoid 函数作为激活函数的神经网络相比, 算法速度大大高于一般的BP 算法。RBF 神经网络同BP 网络相比, 不但在理论上它是前向网络中最优的网络, 而且学习方法也避免了局部最优的问题。已经证明:一个RBF网络,在隐层节点足够多的情况下,经过充分学习,可以用任意精度逼近任意非

温馨提示

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

评论

0/150

提交评论