资源描述:
《神经元控制ppt课件》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
神经元网络控制对象神经网络控制是20世纪80年代末期发展起来的控制领域的前沿学科之一。它是智能控制的一个新的分支,为解决复杂非线性、不确定、不确知系统的控制问题开辟了新途径。
1第一章概论神经网络系统是由大量的、同时也是很简单的神经元广泛地互相连接而形成的复杂网络系统。它反映了人脑功能的许多基本特性,但它并不是人脑神经网络系统的真实写照,而只是对其作某种简化抽象和机制模拟。研究神经网络系统的目的在于探索人脑加工、存储和处理信息的机制,进而研制基本具有人类智能的机器。一般认为,神经网络系统是一个高度复杂的非线性动力学系统。虽然每个神经元的结构和功能十分简单,但由大量神经元构成的网络系统的行为却是丰富多彩和十分复杂的。什么是神经网络(neuralnetwork)神经网络是人类对其大脑信息处理机制的模拟
2人工神经网络的特点人工神经网络是由人工神经元互联组成的网络,从微观结构和功能上对人脑的抽象、简化,是模拟人类智能的一条重要途径。人工神经网络反映了人脑功能的若干基本特征,如,并行信息处理、学习、联想、模式分类、记忆等。
3神经网络控制取得的进展神经网络用于控制领域,取得了如下进展。1.神经网络系统辩识:重点在于非线性系统的建模与辨识。2.神经网络控制:对不确定、不确知系统及扰动进行有效的控制,使控制系统达到所要求的特性。3.神经网络与其它算法结合:与专家系统、模糊逻辑、遗传算法等相结合,为系统提供非参数模型、控制器模型。4.优化计算5.控制系统的故障诊断本课程介绍前三个方面的问题
4神经网络控制属于智能控制由于神经网络具有模拟人的部分智能的特性,因此,神经网络控制是具有学习能力的,对环境的变化具有自适应性,成为基本上不依赖于模型的一类控制。神经网络控制主要解决非线性系统的控制问题。能学习、自适应性、非线性控制是神经网络控制的特点。神经网络控制属于智能控制
5第二章神经网络理论基础对象1.介绍模拟生物神经元的人工神经元模型2.控制中常用的前馈与反馈型网络的理论基础阐述其中若干种网络的模型、学习算法、逼近非线性函数的能力、泛化能力、收敛性等本章主要内容
6
7
82.1生物神经元和人工神经元模型生物神经元构成神经系统的基本功能单元。虽其形态有很大的差异,但基本结构相似。从信息处理和生物控制角度,简述其结构和功能。人工神经元模型简称神经元模型依据:生物神经元的结构和功能;模拟:生物神经元的基本特征,建立的多种神经元模型。
9一生物神经元的结构(1)细胞体:由细胞核、细胞质和细胞膜等组成。(2)树突:胞体上短而多分枝的突起。相当于神经元的输入端,接收传入的神经冲动。(3)轴突:胞体上最长枝的突起,也称神经纤维。端部有很多神经末稍传出神经冲动。(4)突触:神经元间的连接接口,每个神经元约有1万~10万个突触。神经元通过其轴突的神经末稍,经突触与另一神经元的树突联接,实现信息的传递。由于突触的信息传递特性是可变的,形成了神经元间联接的柔性,称为结构的可塑性。(5)细胞膜电位:神经细胞在受到电的、化学的、机械的刺激后,能产生兴奋,此时,细胞膜内外有电位差,称膜电位。电位膜内为正,膜外为负。
10二、神经元功能(1)兴奋与抑制:当传入神经元的冲动,经整和,使细胞膜电位升高,超过动作电位的阈值时,为兴奋状态,产生神经冲动,由轴突经神经末稍传出。当传入神经元的冲动,经整和,使细胞膜电位降低,低于阈值时,为抑制状态,不产生神经冲动。(2)学习与遗忘:由于神经元结构的可塑性,突触的传递作用可增强与减弱,因此,神经元具有学习与遗忘的功能。
11三、人工神经元模型
12MP模型
13MP模型
14其他形式的作用函数不同的作用函数,可构成不同的神经元模型
15
163.对称型阶跃函数
17非线性激励函数
18S型(Sigmoid)函数的特点具有非线性放大增益。对任意输人的增益等于该输入点处的函数曲线的斜率值。当输入由-∞增大到零时,其增益由0增至最大;当输入由0增加至+∞时,其增益又由最大逐渐降低至0,并总为正值。利用S型函数可以使同一神经网络既能处理小信号,也能处理大信号。因为该函数的中间高增益区解决了处理小信号的问题,而在伸向两边的低增益区正好适用于处理大信号的输入。
192.2人工神经网络
20一、神经网络连接结构
21单层神经元网络连接结构将多个的简单的神经元并联起来,使每个神经元具有相同的输入矢量,即可组成一个神经元层,其中每一个神经元产生一个输出,图示单层神经元网络。输入矢量P的每个元素通过权矩阵W与每个输出神经元相连;每个神经元通过一个求和符号,在与输入矢量进行加权求和运算后,形成激活函数的输入矢量,并经过激活函数f作用后得到输出矢量A。
22输入、权值、输出矩阵输入矩阵权值矩阵输出矩阵连接强度
23多层神经元网络结构三层的神经网络结构图b:偏差,阈值,门限值。
24二、神经网络的信息处理和存储神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适用于处理需要同时考虑许多因素和条件不精确和模糊的信息处理问题。神经网络两大的能力信息存储能力计算能力神经网络的主要特点分布存储与冗余性容错性并行处理信息处理与存储合一自组织自适应自学习鲁棒性神经网络的能力
25神经网络与传统计算机的比较传统计算机的计算与存储是完全独立的两个部分。也就是说计算机在计算之前要从存储器中取出指令和待处理的数据,然后进行计算,最后将结果又放入到存储器中。这样,独立的存储器与运算器之间的通道就成为提高计算机计算能力的瓶颈,并且只要这两个部分是独立存在的,就始终存在这一问题。神经网络模型则从本质上解决了传统计算机的这个瓶颈问题。这是因为神经网络的运行是从输入到输出的值传递过程,在值传递的同时就完成了信息的存储和计算,从而将信息的存储与信息的处理(计算)完善地结合在一起。
26三、神经网络的学习和训练该系统在进行字符识别之前要用环境中的样本进行训练(学习),以使其具备对各种字符进行分类的能力。能够正确“认识”待识别的字符,该学习过程也称为训练过程、慢过程。它主要是改变神经元之间的连接权值以便将有关字符的信息存储到神经网络中。举例字符识别
27神经网络的学习方法之一一个神经网络的拓扑结构确定之后,为了使它具有某种智能特性,必须对它进行训练。通过向环境学习获取知识并改进自身性能是神经网络的一个重要特点。学习方法归根结底就是网络连接权值的调整方法,修改权值的规则称为学习算法。学习方式(按环境提供信息量的多少)主要有三种。监督学习(有教师学习)这种学习方式需要外界存在一个“教师”,他可对给定一组输入提供应有的输出结果(正确答案),这组已知的输入输出数据称为训练样本集,学习系统(NN)可根据已知输出与实际输出之间的差值(误差信号)来调节系统参数。
28神经网络的学习方法之二、三这种学习介于上述两种情况之间,外部环境对系统输出结果只给出评价信息(奖或惩)而不是给出正确答案。学习系统通过强化那些受奖的动作来改善自身的性能。非监督学习(无教师学习)非监督学习时不存在外部教师,学习系统完全按照环境提供数据的某些统计规律来调节自身参数或结构(这是一种自组织过程),以表示出外部输入的某种固有特性(如聚类或某种统计上的分布特征)。再励学习(强化学习)
29四、神经网络学习算法基础如果单元ui接收来自另一单元uj的输出,那么,如果两个单元都高度兴奋,则从uj到ui的权值wij便得到加强。Hebb学习规则的基本思想:该思想用数学来表达:ti(t)是对于单元ui的一种理想输入该式意味着,从uj到ui的连接权值的修改量是由单元ui的活跃值ai(t)和它的理想输入ti(t)的函数g,及ui的输出值oj(t)和连接强度wij的函数h的积确定。在Hebb学习规则的最简单形式中没有理想输入,而且函数g和h与它们的第一个自变量成正比。因此有:η——学习速率
30两种基本的学习算法Widrow-Hoff(威德罗-霍夫)规则,又称作Delta规则若定义则有修正量与目标活跃值和实际的活跃值之差(或称Delta)成正比Grossberg规则—相近学习规则Delta规则可由二次误差函数的梯度法导出,故Delta规则实际上是一种梯度方法。用于ART、SOFM等自组织竞争型网络的学习
31神经网络的计算过程无论是在训练(慢过程)学习中,还是在快过程识别中,神经元的计算过程都是一样的。神经元从环境中或是从其它神经元接收信息,利用传播规则将这些接收到的信息融合成一总的输入值,这一输入值和神经元原来的活跃值在活跃规则的作用下形成神经元新的活跃状态,输出函数根据神经元新的活跃状态产生神经元的输出;这一输出值又传送给网络中的其它神经元。系统的计算实际上是信息在神经网络中沿神经元之间的连接流动并通过神经元作相应的处理而完成的。这个过程也就是一个信息传递和神经元状态变换的过程。
32五、神经网络的类型神经网络可以分成以下四种类型前向型反馈型随机型竞争型BP前向神经网络是中广为应用的一种网络,其原理及算法也是某些其他网络的基础。还有辐射基函数(RBF)神经网络。Hopfield神经网络用于非线性动力学问题分析。已在联想记忆和优化计算中得到成功的应用。具有随机性质的模拟退火(SA)算法解决了优化计算过程陷于局部极小的问题,并已在神经网络的学习及优化计算中得到成功的应用。竞争型网络的特点是能识别环境的特征,并自动聚类。广泛用于自动控制、故障诊断等各类模式识别中。
33六、人工神经网络与自动控制人工神经网络对自动控制具有多种有吸引力的特点,主要有:⑴它能以任意精度逼近任意连续非线性函数。⑵对复杂不确定问题具有自适应和自学习能力。⑶它的信息处理的并行机制可以解决控制系统中大规模实时计算问题,而且并行机制中的冗余性可以使控制系统具有很强的容错能力。⑷它具有很强的信息综合能力,能同时处理定量和定性的信息,能很好地协调多种输入信息的关系,适用于多信息融合(Fusion)和多媒体技术。⑸神经计算可以解决许多自动控制计算问题,如优化计算和矩阵代数计算等。⑹便于用VLSI或光学集成系统实现或用现有计算机技术虚拟实现。
34人工神经网络在控制系统中的应用神经网络的兴起为非线性系统的控制提供了新的活力。神经网络在控制系统中的应用是多种多样的,就其在控制系统中所起的作用而言有如下几种方式:⑴为控制系统提供某种模型。⑵充当各类控制器。⑶作为计算部件实现某种优化计算。
35人工神经网络的主要应用领域语音识别、图象识别与理解、计算机视觉、智能机器人、故障检测、实时语言翻译、企业管理、市场分析、决策优化、物资调运、自适应控制、专家系统、智能接口、神经生理学、心理学和认知科学研究等等。模式识别、信号处理、知识工程、专家系统、优化组合、智能控制
362.3多层前馈网络与BP学习算法多层前馈网络的反向传播(BP)学习算法,简称BP算法,是有导师的学习,它是梯度下降法在多层前馈网中的应用。网络结构u、y是网络的输入、输出向量,神经元用节点表示,网络由输入层、隐层和输出层节点组成,隐层可一层,也可多层(图中是单隐层),前层至后层节点通过权联接。由于用BP学习算法,所以常称BP神经网络。
37一、BP学习算法的基本思想已知网络的输入/输出样本,即导师信号。BP学习算法由正向传播和反向传播组成:正向传播是输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。反向传播是将误差(样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。正向传播反向传播通过连续不断地在相对于误差函数斜率下降的方向上计算网络权值和偏差的变化而逐渐逼近目标。每一次权值和偏差的变化都与网络误差的影响成正比,并以反向传播的方式传递到每一层的。在正向传播过程中,输入信息从输人经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。
38二、BP学习算法框图⑴权值和阈值初始化:随机地给全部权值和神经元的阈值赋以初始值;⑵给定输入/输出样本对;⑶计算实际输出y;⑹反向传播计算:从输出层开始,将误差信号沿连接通路反向计算,逐层修正各权值。⑷计算网络的目标函数J(t);⑸判别:若J(t)≤ε(预先确定,ε>0),算法结束。否则,至步骤⑹。⑺达到误差精度或循环次数要求,则输出结果,否则回到⑵。
39三、BP学习算法步骤⑴正向传播
40三、BP学习算法步骤⑵正向传播
41三、BP学习算法步骤⑶反向传播具体算法
42三、BP学习算法步骤⑷ml是节点i后边一层的第ml个节点。节点ml的第j个输入。当i=j时,
43四、BP学习算法有关的几个问题
44四、BP学习算法有关的几个问题(5)改进的BP算法梯度下降法的不足,是BP算法收敛速度慢的原因,有改进的BP算法克服其不足,如:
45四、BP学习算法有关的几个问题
46四、BP学习算法有关的几个问题
47EBP学习算法示意图⑴
48EBP学习算法示意图⑵
49五、BP网络的设计网络的层数每层的神经元个数激活函数的选择初始权值学习速率
50网络的层数理论上己经证明:具有偏差和至少一个s型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。这实际上已经给了我们一个基本的设计BP网络的原则。增加层数主要可以更进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。而误差精度的提高实际上也可以通过增加隐含层中的神经元数目来获得,其训练效果也比增加层数更容易观察和调整。所以一般情况下,应优先考虑增加隐含层中的神经元数。
51隐含层的神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更多的隐含层要简单得多。那么究竟选取多少个隐含层节点才合适?这在理论上并没有一个明确的规定。在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,然后适当地加上一点余量。
52初始权值的选取由于系统是非线性的,初始值对于学习是否达到局部最小、是否能够收敛以及训练时间的长短的关系很大。如果初始权值太大,使得加权后的输入和n落在了S型激活函数的饱和区,从而导致其导数非常小,而在计算权值修正公式中,因为η∝导数,当导数→0时,则有η→0。这使得ΔW→0,从而使得调节过程几乎停顿下来。所以,一般总是希望经过初始加权后的每个神经元的输出值都接近于零,这样可以保证每个神经元的权值都能够在它们的S型激活函数变化最大之处进行调节。所以,一般取初始权值在(-1,1)之间的随机数。
53学习速率学习速率决定每一次循环训练中所产生的权值变化量。大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值。所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.01-0.8之间。在一个神经网络的设计过程中。网络要经过几个不同的学习速率的训练,通过观察每一次训练后的误差平方和的下降速率来判断所选定的学习速率是否合适。如果误差平方和下降很快,则说明学习速率合适,若误差平方和出现振荡现象,则说明学习速率过大。对于每一个具体网络都存在一个合适的学习速率。但对于较复杂网络,在误差曲面的不同部位可能需要不同的学习速率。为了减少寻找学习速率的训练次数以及训练时间,比较合适约方法是采用变化的自适应学习速率,使网络的训练在不同的阶段自动设置不同学习速率的大小。
54EBP算法学习速率的调整在EBP算法中,连接权的调整决定于学习速率和梯度,但是,在基本的EBP算法中,学习速率是不变的。实际上学习速率对收敛速度的影响也很大,通过对它的在线调整,可以大大提高收敛速度。学习速率的调整原则上是使它在每一步保持尽可能大的值,而又不致使学习过程失稳。学习速率可以根据误差变化的信息和误差函数对连接权梯度变化的信息进行启发式调整,也可以根据误差函数对学习速率的梯度直接进行调整。对于成批处理可以根据总误差变化的信息进行启发式调整,其规则是:(1)若总误差E减小(即新误差比老误差小),则学习速率增加(例如将实际值乘以因子a=1.05)。(2)若总误差E增加(即新误差比老误差大),则学习速率减小。当新误差与老误差之比超过一定值(例如1.04),则学习速率快速下降(例如将实际值乘以因子b=0.7)。
55期望误差的选取在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值,这个所谓的"合适",是相对于所需要的隐含层的节点数来确定,因为较小的期望误差值是要靠增加隐含层的节点,以及训练时间来获得的。一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络。
56六、基于MATLAB的BP网络程序设计T=[-0.9602-0.5770.07290.37710.64050.66000.4609-0.2013-0.4344-0.5-0.39300.16470.09880.30720.39600.34490.1816-0.0312-0.2183-0.3201]。举例:设计一BP网络,使之完成下面的非线性映射。已知训练样本集为:输入矢量:X=-1:0.1:1;目标矢量:
57⒈网络结构设计现已证明,具有一个隐层,隐层作用函数采用S函数,输出层采用线性函数的前馈神经网络,能以任意精度逼近任意非线性函数,或者说可以实现从Rm空间到Rn空间的任意非线性映射。对隐层的结点数,有这样的结论:隐结点数越多,逼近误差越小,但泛化误差越大。逼近误差就是网络对训练样本的输出误差平方和,泛化误差就是网络对测试样本的输出误差平方和。因而隐结点数的选择,应综合考虑对逼近误差和泛化误差的影响,这方面的研究可查相关文献,一般按2P+1确定(P为输入层结点数)。这里初始隐结点数取为5。因此,实现本题的非线性映射,采用一个1×5×1的单隐层前馈网络就行了。一个网络的训练,不仅要给出最终训练完成后网络各层的权值矩阵和阈值矢量,还应该让设计者看到中间过程,看到图形显示,看到逼近误差等等。下面是采用标准BP算法训练网络的命令文件,取名为×××.m。
58⒉程序设计⑴%文件名:×××.m%(1)初始设置clf;figure(gcf)colordef(gcf,'none')echoonclcpause%按任意键看输入数据clc%(2)输入数据X=-1:0.1:1;T=[-0.9602-0.5770-0.07290.37710.64050.66000.4609...0.1336-0.2013-0.4344-0.5000-0.3930-0.16470.0988...0.30720.39600.34990.1816-0.0312-0.2189-0.3201];
59⒉程序设计⑵pause%按任意键看X-T图clc%(3)绘X-T图plot(X,T,'+');title('Trainingvectors');xlabel('inputvectorX');ylabel('TargetvectorT');pause%按任意键看初始化及训练网络clc%(4)初始化网络n1=5;[W1,b1,W2,b2]=initff(X,n1,'tansig',T,'purelin');
60⒉程序设计⑶%(5)训练网络fpd=100;%学习过程显示频率mne=20000;%最大训练步骤sse=0.001;%误差平方和指标lr=0.01;%学习率tp=[fpd,mne,sse,lr];[W1,b1,W2,b2,te,tr]=trainbp(W1,b1,'tansig',W2,b2,'purelin',X,T,tp);pause%按任意键看误差相对训练步数曲线图Clc%(6)绘误差平方和相对训练步数曲线图ploterr(tr,sse);pause%按任意键看函数逼近clc%(7)函数逼近x=0.5;%训练样本的一个输入t=0.3960;%训练样本的对应目标y=simuff(x,W1,b1,'tansig',W2,b2,'purelin')err=y-t%检查网络对训练样本的逼近误差echooff
61⒊讨论⑴隐节点数n1及训练参数tp⑴隐节点数n1及训练参数tp不改变时,每次运行程序时的实际训练次数te和实际误差平方和pe是不同的。下表是连续四次运行网络获得的te、pe值。为什么会出现这种现象呢?网络的初始值是随机选取的,因而每次的初始值必不相同,这就使得网络各神经元的净输入可大可小,落在传递函数不同的位置,因而获得的导数值也是不同的。而权值修正公式中,δ函数正比于导数值,导数值较大时,修正量较大,故收敛也较快;反之网络处于麻痹状态,收敛较慢。由此看来,当网络训练情况不理想时,不要急于改变各参数值,而是试着再训练几次,直到满意为止。如果连续几次训练情况都不好,那就再考虑改变一些参数的设定。
62⑵隐结点数对训练误差的影响上表给出n1=3及n1=8时连续四次运行结果。当nl=3时,连续四次运行,当训练步数达到最大值时,误差平方和均未达到其目标值,因而可以认为,隐结点数少了。nl=8时,情况与nl=5时差不多,网络误差平方和均少于给定目标值。那么,选择nl=5还是nl=8呢?如前所述,隐结点数越多,训练误差越小,但泛化误差越大。因此,在达到训练误差的前提下,隐结点数越少越好。
63⑶学习率对训练速度及稳定性的影响从图1中可知,当学习率lr较小时,误差稳步下降,直到收敛;加大lr,误差在开始急剧下降,但后期趋于平坦,收敛较慢;进一步加大lr,误差开始出现剧烈波动,后期趋于平坦,收敛也较慢;再加大lr,误差除早期剧烈波动外,在规定的最大训练次数内不收敛。因此,宁可选择较小的学习率,以求稳步收敛。
64⑷过度拟合与泛化能力假设训练样本的输入为X=[-1.0-0.7-0.4-0.10.20.50.8],目标为T=X。现将目标值改动一下,在部分点上加入0.5的摄动量,即T=[-1.0-0.2-0.4-0.60.21.00.8],观察网络逼近效果。当mne=200时,逼近曲线如图2。此时,pe=0.59998,当mne=15000时,逼近曲线如图3,此时pe=0.000999701。可看出,当训练次数较少时,网络只学到样本的共性,即逼近函数接近无摄动时的情况,接近一条直线,这样,网络将有较好的泛化能力。而训练次数加大时,网络将充分拟合样本点,从而丧失了原样本所含的规律,这样,网络的泛化能力较差。因此,当样本数据含有噪声时,过分追求减小训练误差对泛化能力无益。因此,在确定最佳训练次数时,一定要综合考虑训练误差和泛化误差。为了评判泛化误差,还要准备测试集。