您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > PID神经元网络及控制算法
PID神经网络及控制算法神经元又称神经细胞神经元由树突、胞体、轴突、神经末梢等结构组成。轴突的主要功能是将神经冲动由胞体传至其他神经元,树突的主要功能是接受刺激并将冲动传入细胞体。PID参数调整在PID参数调整里面提到了一些结论如:增大比例系数,有利于减小静差;积分环节可以消除静差;增加积分时间有利于减小超调,减小震荡,使系统稳定性增加;由于PID属于无模型控制,调节三个环节的参数会产生什么影响根据控制对象的不同也会有很大差别。PID参数整定的结论是根据普遍经验总结的,但是针对某个具体的系统不一定完全适用。假设我们面对的系统是一个简单的水箱的液位,要从空箱开始注水直到达到某个高度,而你能控制的变量是注水笼头的开关大小.那么这个简单的数学模型就是dxu其中puke.kp为比例系数,模型中kp大小代表了水龙头的粗细(即出水量大小对液位误差的敏感程度,假设水龙头开度与误差正比关系),越粗调的越快,也就是所谓的增大比例系数一般会加快系统响应.假设水箱假设咱们这个水箱不仅仅是装水的容器了,还需要持续稳定的给用户供水。dx=u-ccdx=0e=.ke.kpppek当时,在系统稳定时不为零,这就是所谓的静差.如果c固定,增大那么就会减小增大比例系数有利于在有静差的情况下减小静差.积分的意义在于相当于你增加了一个水龙头,这个水龙头的规则是,水位比预定水位低就一直往大拧,比预定高度高就往小拧.如果漏水速度不变,那么总有一天这个水龙头的出水速度恰好和漏水速度相同.我们把之前的控制器变成:比例环节+积分环节,积分环节可以消除系统静差.0tpiukekedtk,piiikTT其中就是积分时间常数积分时间常数越大,积分环节系数越小,积分环节就越不敏感(第二个水龙头越细).但是当咱们用俩水龙头注水的时候,在没到预定高度前第二个积分环节的水龙头可以一直在往大了拧的,那当到达预定高度的时候它恰好拧到最大,自然而然就会注水注多了。而多出去的这部分水就叫做“超调”。第二个水龙头越粗,多注的水就会越多,它调到恰好等于漏水速度的时间就会越快,但同时会多更多波折。增大积分时间有利于减小超调,减小震荡,使系统稳定性增加,但是系统静差消除时间变长.在传统的控制中,往往只考虑控制系统和受控系统所组成的独立体系,忽略了环境所施与的影响,而现在的大规模复杂的控制和决策问题,必须把外界环境和对象,以及控制系统作为一个整体来进行分析和设计。工程用语到数学描述的映射过程中,一方面使问题作了很多简化,但另一方面却使原问题丢失了很多信息。(1)不适应不确定系统的控制(2)不适应非线性系统的控制(3)不适应时变系统的控制(4)不适应多变量系统的控制神经元网络是以大脑生理研究成果为基础模拟大脑的某些机理或者机制,由人工建立的以有向图为拓扑结构的网络,它通过对连续或断续的的输入做响应处理。神经元网络具有很强的信息综合能力,它能处理大量不同类型的输入信息。基于神经元的智能控制系统也称基于连接机制的智能控制系统,随着人工智能网络越来越多地应用于控制领域的各个方面。从过程控制,机器人控制,生产制造,模式识别,直到决策支持都有许多应用神经元网络的例子。它在系统的辨识、建模、自适应控制中特别收到重视,尤其是他比较好地解决了具有不确定性、严重非线性、时变和滞后的复杂系统的建模和控制问题。但是,一般神经元网络的弱点,制约了其在控制系统中的应用.1.神经元网络的收敛速度很慢,训练和学习时间很长2.神经元网络隐含单元个数的选取尚无定则3.神经元网络连接权重初值多被取为随机数,存在陷入局部最小值的可能,使控制性能难以达到预期效果4.神经元的结构、参数和机能,难以与控制系统所要求的响应快、超调小、无静差和动态性能指标相联系5.为了满足系统需求时,大量增加隐含层神经元个数,网络计算量很大,使在当前的技术水平下很难控制的实时性比例、积分、微分(PID)神经元人工神经元网络是由大量的、同时又是简单的处理单元广泛地相互连接而形成的复杂网络系统,从拓扑结构上看是以处理单元为节点,用加权有向弧相连接而成的有向图。人工神经元网络反映了生理神经元网络的许多基本特性,是对生理神经元网络系统的许多基本特性。神经元假说:(1)某种生物神经元接受来自其他神经元的输入信息后,该神经元的状态将与所接受的信息一定比例的规律发生变化,并按此规律进行发放。(2)某种生物神经元接受来自其他神经元的输入信息后,该神经元的状态将与输入信息的累积量有关,并按此规律进行发放。(3)某种生物神经元接受来自其他神经元的输入信息后,该神经元的状态将与输入量的变化(微分)有关,并按此规律进行发放。神经元网络的处理单元,称之为神经元,是神经元网络最基本的组成部分.尽管有不同类型的神经元,但他们具有共同的特征和共同的性质.神经元基本结构模型形式:其中net表示输入层,u表示隐藏层,x表示输出层.神经元模型结构框图:神经元的输入:1(),njijiinetwxtij神经元的状态:(1)(,())jjjjutgnetut神经元的输出:()(())jjxtfut比例阀值函数:PIDNN的基本形式——SPIDNN,将PID神经元放入多层向前网络,就构成PIDNN,PIDNN是动态多层向前网络,它的动态性不是通过网络连接方式或者反馈方式实现的,而是通过内部的神经元实现的.PIDNN的基本形式为2*3*1结构,包括输入层的两个神经元、隐含层的三个神经元、输出层的一个神经元,称PIDNN的基本形式为单输出PIDNN(single.outputPIDNN),简称为SPIDNN.SPIDNN向前算法:输入层:SPIDNN输入层有两个神经元,在构成控制系统可分别输入系统被调量的给定值,其输入:12()()()()netkrknetkyk输入层神经元的状态为:()()iiuknetk.输入层神经元的输出:1()()1iixkuk()11()1()1jjjukukuk隐含层:隐含层是神经元网络最重要的层次,SPIDNN的隐含层有三个神经元,分别为比例元、积分元、微分元,它们各自的输入总值为:2'1()()jijiinetkwxk1,2,3.j比例元的状态为:''11()()uknetk积分元的状态为:'''222()(1)()ukuknetk微分元的状态:'''333()()(1)uknetknetk隐含层各神经元的输出:''1()1jjxuk'''()11()1()1jjjukukuk1,2,3j输出层:SPIDNN的输出结构比较简单,它包含一个神经元,完成网络的总和输出功能,其总输入为:3''''1()().jjjnetkwxk输出层神经元的状态:''''()()hhuknetk输出层神经元的输出:''''1,(),1,hhxuk''''''()11()1.()1hhhukukukSPIDNN反传算法:反传算法即误差反向传播学习算法,它完成网络权重值的修改,完成学习和记忆的功能,SPIDNN的反传算法与传统向前多层神经元网络的反传算法类似.机器学习可以看作是数理统计的一个应用,在数理统计中一个常见的业务就是拟合,也就是给定一些样本点,用合适的曲线揭示这些样本点随着自变量的变化.深度学习同样也是这个目的,只不过此时,样本点不再限定为(x,y)点对,而可以是由向量、矩阵等等等等组成的广义点(X,Y).然而人们发现可以用多层神经网络来表示这样的关系,而多层神经网络的本质就是一个多层复合的函数.其对应的表达公式:(2)(1)(1)(1)(1)11111221331().afWxWxWxb(2)(1)(1)(1)(1)11111221331().afWxWxWxb(2)(1)(1)(1)(1)33113223333().afWxWxWxb(3)(2)(2)(2)(2)(2)(2)(2),11111221331()().WbhxafWaWaWabWij上面式中就是相邻两层神经元之间的权重,他们就是深度学习的参数.相当于与直线y=ax+b的求参数:k,b.和直线拟合一样,深度学习的训练也有一组目标函数,一般采用成本函数costfunction来衡量拟合出的参数算不算的上一组好的参数。我们经常采用梯度下降法,就能有效的解决最小化cost函数的问题,梯度下降法需要给定一个初始点,并求该点的梯度向量,然后以负梯度方向为搜索方向,以一定的步长进行搜索,从而确定下一个迭代点,再计算新的梯度方向,如此重复直至cost收敛。梯度下降的思想是:开始时我们随机选择一个参数01(,,....,)n计算代价函数,然后寻找下一个能使代价函数值下降最多的参数组合。我们持续这么做直到到达一个局部最小值(localminimum),因为我们没有尝试所有不同参数的组合,所以不能确定我们得到的局部最小值是否是(globalminimum)全局最小值,选择不同的参数组合,可能会找到不同的局部最小值.想象一下你正站在上顶这一点,站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋转360度,看看我们周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?我们站在山坡上这一点,你看一下周围,然后再一次想想,我应该从哪个方向迈着小碎步下山。这些小碎步需要朝什么方向?环顾四周,并决定从什么方向将会最快下山,然后又迈进了一步,并依次类推,直到你接近局部最小的位置.假设我们把cost函数表示为1112H(,,...,,...,)ijmn我们需要求出costfunction对每一个权重值的偏导数.而BP算法正是用来求解所有变量偏导数的利器.利用链式法则我们知道:*eecaca**eecedbcbdbaebebeea的值等与到上的偏导值的乘积,而的值等于从到的路径1(b-c-e)上的偏导数的乘积加上路径2(b-d-e)上偏导数的乘积这样做是十分冗余的,冗余所导致的计算量是相当大的,同样是链式法则,BP算法避开了这种冗余,它对于每个路径只访问一个顶点对所有下层节点的偏导值.设输入矢量的集合为:12R={R,R,...,R,....}p其中某个训练输入的矢量为:1,2R()Tppprr式中:r{(1),(2),...,()}plplplplrrrlSPIDNN的实际输出矢量的集合为:12V(,,....,,....)Tpvvv式中:v{(1),(2),...,()}ppppvvvl为输出量的时间序列,l为采样点数SPIDNN训练和学习的目的是使网络实际输出和理想输出的对应时间序列的偏差平方均值:'211E[()()]lkvkvkl按梯度法调节SPIDNN权重值,经过n步训练和学习后,SPIDNN各层权重值的迭代方程:00W(n+1)=W(n)-EW'wwjkij隐含层至输出层的权重和输入层至隐含层的权重值的具体计算方法分别由以下各式确定
本文标题:PID神经元网络及控制算法
链接地址:https://www.777doc.com/doc-4305472 .html