神经网络控制人工神经元网络模型与控制•引言•前向神经网络模型•动态神经网络模型•神经网络PID控制•小结第一节引言模糊控制解决了人类语言的描述和推理问题,为模拟人脑的感知推理等智能行为迈了一大步。但是在数据处理、自学习能力方面还有很大的差距。人工神经网络就是模拟人脑细胞的分布式工作特点和自组织功能实现并行处理、自学习和非线性映射等能力。1943年,心理学家McCmloch和数学家Pitts合作提出里神经元数学模型(MP);1944年,Hebb提出的改变神经元连接强度的Hebb规则;1957年,Rosenblatt引进感知概念;1976年,Grossberg基于生理和心理学的经验,提出了自适应共振理论;1982年,美国加州工学院物理学家Hopfield提出了HNN模型;1986年,Rummelhart等PDF研究小组提出了多层前向传播网络的BP学习算法。研究神经元网络系统主要有三个方面的内容:神经元模型、神经网络结构、神经网络学习方法。从神经元模型来分有:线性处理单元、非线性处理单元;从网络结构来分有:前向网络、反馈网络和自组织网络。神经元网络的特点:1)非线性2)分布处理3)学习并行和自适应4)数据融合5)适用于多变量系统6)便于硬件实现人工神经网络前向网络反馈网络自组织网络CMACMLPHopfieldRNNKohonenARTBoltzmanMachine图4-1神经网络结构分类示意图人脑大约包含1012个神经元,分成约1000种类型,每个神经元大约与102~104个其他神经元相连接,形成极为错综复杂而又灵活多变的神经网络。每个神经元虽然都十分简单,但是如此大量的神经元之间、如此复杂的连接却可以演化出丰富多彩的行为方式。同时,如此大量的神经元与外部感受器之间的多种多样的连接方式也蕴含了变化莫测的反应方式。一、神经元模型从生物控制论的观点来看,神经元作为控制和信息处理的基本单元,具有下列一些重要的功能与特性:•时空整合功能•兴奋与抑制状态•脉冲与电位转换•神经纤维传导速度•突触延时和不应期•学习、遗忘和疲劳图4-2神经元结构模型X1X2XnWi1Wi2WinUiyiSi神经元是生物神经系统的基本单元。神经元模型是生物神经元的抽象和模拟。神经元一般是多输入-三输出的非线性器件。图中为神经元内部状态;为阀值;为输入信号,j=1,2,3,…….n;表示从单元到单元的连接系数,为外部输入信号。iuiixijwjuiuis)34()()()24()()14(iiiiiiijjijiNethugyNetfusxwNet图4-2神经元结构模型X1X2XnWi1Wi2WinUiyiSi假如,即,常用的神经元非线性特性有四种:iiuug)()(iiNetfy(1)、阀值型iNet(2)、分段线性型iliiliiiiiiNetNetfNetNetNetkNetNetNetNetfmax000)(iNetilNet0iNet(3)、Sigmoid函数型TNetiieNetf11)(iNet0001)(iiiNetNetNetf(4)、Tan函数型TNetTNetTNetTNetiiiiieeeeNetf)(二、神经网络的模型分类(1)、神经元层次模型——研究由单个神经元的动态特性和自适应特性;(2)、组合式模型——由几种互相补充、互相协作的神经元组成,完成特定的任务;(3)、网络层次模型——由众多相同的神经元相互连接而成的网络,研究神经网络的整体性能;(4)、神经系统层次模型——一般有多个神经网络构成,以模拟生物神经系统更复杂、更抽象的特性。典型的神经网络有:BP网、Hopfield网络、CMAC小脑模型、ART自适应共振理论、BAM双向联想记忆、SOM自组织网络、Blotzman机网络和Madaline网络等等根据联结方式分:(1)、前向网络——神经元分层排列,组成输入层、隐含层和输出层。每层只能够接受前一层神经元的输入。(2)、反馈网络——在输入层到输出层存在反馈。(3)、相互结合型网络——相互结合网络属于网络结构。任意两个神经元之间可能有连接。(4)、混合型网络——层次形型网络和网状结构网络的一种结合。……输入输出输入输出(a)(b)(c)(d)三、神经网络的学习算法学习的实质就是针对一组给定输入Xp使网络产生相应的期望的输出的过程。网络学习分两大类:1、有导师学习——存在一个期望的网络输出。期望输出和实际输出之间的距离作为误差度量并用于调整权值。2、无导师学习——没有直接的误差信息,需要建立一个间接的评价函数,以对网络的某种行为进行评价。学习规则根据连接权系数的改变方式分:(1)、相关学习——根据连接之间的激活水平改变权系数。(2)、纠错学习——依赖关于输出节点的外部反馈改变权系数。(3)、无导师学习——学习表现为自动实现输入空间的检测和分类。第二节前向神经网络模型前向神经网络是由一层或者多层非线性处理单元组成的。相邻层之间通过突触权连接起来。由于前一层的输出作为下一层的输入,因此,称此类网络结构为前向神经网络。一、单一人工神经元)(x1X1X2Xn01w2wnwy图4-11单一人工神经元示意图)()(1010njjjnjjjxwNetyxwNet1xnx1x2xnx1x2xnx11w12wnw11nw2nwnnwy图4-12只含二次项的神经元结构示意图)()(11101110njnkkjjknjjjnjnkkjjknjjjxxwxwNetyxxwxwNet二、单层神经网络结构1x2xnx1y2yny图2-13单层前向传播网络结构示意图jnjijijixwy1)(三、多层神经网络结构kx1kx2knixky1ky2kny01ijw2ijw(a)kx1kx2knix1ijwLijwky1ky2kny0(b)图4-14多层前向传播网络结构示意图(a)含一个隐含层前向传播网络结构示意图(b)含L+1个隐含层前向传播网络结构示意图00211,3,2,1,3,2,1njxwynjxwhjnjilijjhnijljlj)}])]([[{(1211211LLLLLLLLX四、多层传播网络学习算法前向传播网络实质上表示的是一种从输入空间输出空间的映射。)(XTY网络的训练实质上是对突触权阵的调整,以满足当输入为Xp时其输出应为Tp.对于一组给定的权系数,网络对当前输入Xp的响应为:突触权系数的调整是通过对样本p=1,2,3,…….,N的误差指标达到极小的方法来实现的。)(ppXTY),(pppYTdE对于N个样本集,性能指标为:NpnipipiNppytEE1110)(对于具有n0个输出的单元网络,每一个期望输出矢量Tp和实际的输出矢量Yp之间的误差函数可以用平方差和来表示,即012)(21njpipipytE一般说,前向神经网络是通过期望输出与实际输出之间的误差平方的极小来进行权阵的学习和训练。通常一个周期一个周期进行训练,一个周期对所有的样本集,完成后下一个周期对此样本集进行重复训练,直到性能指标E满足要求为止。对于多层前向传播网络kx1kx2knix1ijwLijwky1ky2kny0(b)图4-14多层前向传播网络结构示意图(b)含L+1个隐含层前向传播网络结构示意图设输入模式Xp,则相应的隐含单元的输出为)(1111)1(jniipijipjxwo根据L层网络结构可知,网络输出为:0)1(1,,2,1)()(1njowNetyLjLpiniLjlLLpjLpjL第r+1个隐含层的输入是第r个隐含层的输出,所以:1,,2,1,0)(11)(11)1(Lrowornlrjrplrjirrpj多层前向传播网络的权系数训练算法是利用著名的误差反向传播学系算法得到的——BP算法012)(21njpipipytE因为:rjiprjiwEwrjirpjrpjprjipwNetNetEwEkrpirpkrjkrjirjirpjoo)1()1(rpjprpjNetE其中定义为广义误差则)1(rpirpjrpjpoNetE)1(rpirpjrpjpoNetE要使E安梯度下降,就必须按下式进行权值的调整)1(rpirpjrjiow式中:上标变量表示第r个隐含层,r=1,2,……,L;为第r-1层第i个单元到第r层的第j单元的连接系数;为学习步长。rjiw因为若r=L为输出单元层,则:)()(LpjLpjpjLpjpjpjprpjpLpjNetytNetyyENetE)()()()(1111rpjrkrkjrpkkrpjrrpjrpkrpkprpjrpjrpjprpjNetwNetoNetNetENetooE若为输出单元层,则:LrBP学习算法步骤:给定P组样本(X1,T1;X2,T2;……,Xp,Tp)。其中Xi为ni维输入矢量,T维n0维期望的输出矢量I=1,2,…..,p。假如矢量y和0分别表示网络的输出层和隐含层的输出矢量。则训练过程为:1)、选,作为最大容许误差,并将权系数,初始化成某小的随机权矩阵。0maxELlWll,,,、21,0,1Ep2)、训练开始,pppTTXo,)0(计算出各隐含层神经元的激励输出;计算各输出层神经的激励输出:按按1,,2,1,0)(11)(11)1(Lrowornlrjrplrjirrpj0)1(1,,2,1)()(1njowNetyLjLpiniLjlLLpjLpjL3)、计算误差02,,2,1,]2/)[(nEytEkk4)、按下式计算广义误差Lpj按下式计算广义误差rpj)()(LpjLpjpjLpjpjpjprpjpLpjNetytNetyyENetE)()()()(1111rpjrkrkjrpkkrpjrrpjrpkrpkprpjrpjrpjprpjNetwNetoNetNetENetooE5)、调整权阵系数rpjrjrpirpjrjiow)1(6)、。,否则转转若0072,1,ppPp7)、0max2,1,0,转结束,否则若pEEE实际上,对训练过程有较大影响的有:权系数的初值、学习方式、激励函数、学习速率等(1)、权系数的初值权系数通常初始化成小的初始值,尽可能覆盖整个权阵的空间域,避免出现初始阵系数相同的情况。(2)、学习方式学习方式不同,训练的效果也不同(3)、激励函数激励函数的选择对训练有较大的影响。(4)、学习速率一般来说,学习速率越快,收敛越快,但容易产生震荡;学习速率越小,收敛越慢。BP学习算法本质上是属于一次收敛的学习算法。所以BP算法不可避免存在局部极小问题,且学习速度很慢,在极点附近出现震荡现象,而且不能够平滑趋于最优解。为了减小这种现象,一般采用平滑的权值更新公式,即:)1(0)(1kwkwrjirpirpjrji例3-1如图3-15所示的多层前向传播神经网络结构。假设对于期望的输入。网络权系数的初始值见图,试用BP算法训练此网络。这里神经元激励函数为,学习步长为TTTTttxx]05.095.0[][,]31[][2121xexf11)(1图3-15神经网络结构图x1x211203-2-1o1o2110-21-23y1y2解:1)、输入最大容许逼近误差值和最大迭代学习次数设初始迭代学习