第三章模糊神经网路

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2模糊神经网络及其在运行系统中的应用2.1引言模糊控制和人工神经网络是多传感器数据融合中常用的两种算法,二者各有各的优点与不足,为了最大限度的发挥各自优点、弥补不足,模糊神经网络应运而生,并且越来越广泛地应用于各领域。模糊神经网络(FuzzyNeuralNetwork)系统是一种局部逼近网络,它将模糊逻辑推理的知识性结构和神经网络的自学习能力结合起来的,主要是通过神经网络结构来实现模糊推理,从而使神经网络的权值具有模糊逻辑中推理参数的意义,因此本文采用基于BP神经网络的模糊控制方法作为智能小车的信息融合算法。2.2BP神经网络BP神经网络通常是指基于误差反向传播算法(BP算法)的多层前向神经网络,已成为目前应用最为广泛的神经网络学习算法,据统计有近90%的神经网络应用是基于BP算法的。BP神经网络采用的传递函数通常是Sigmoid型可微函数,所以可以实现输入和输出间的任意非线性映射,这使得它在诸如函数逼近、模式识别、数据压缩等领域有着更加广泛的应用。2.2.1BP神经元和神经网络结构神经元是神经网络的基本处理单元,它是多输入多输出的非线性器件,其结构如图2.1所示。其中Xi为需要传输的输入信号,θi为阈值,ωij为权值,Yi为该神经元节点输出信号,Ui为神经元节点的输入信号线性组合结果,φ称为神经元的作用函数,也常称为传输函数。图4.1BP神经元结构模型该神经元模型的表达式为:BP神经网络结构通常采用基于BP神经元的多层前向神经网络的结构形式,典型的BP网络结构如图2.2所示。图2.2BP网络结构产生网络最终输出的网络层称为输出层,输入层和中间层也称为隐层。BP网络不仅有输入节点,输出节点,而且还有一层或多层隐含节点。对于输入信息,要先向前传播到隐含层的节点上,经过各单元的激活函数(又称为作用函数)运算后,把隐含节点的输出信息传播到输出节点,最后给出输出结果。神经网络的设计的主要方面是输出层、隐层、各层之间的传输函数和节点数的确定。对于BP神经网络,理论和实践已证明三层(只有一个隐层)的网络就可以完全实现任意的非线性映射,隐层增加,可以提高精度,但也使网络更加复杂,网络权值的训练时间增加。输入层的节点起缓冲存储的作用,它用于接收外部的输入数据,因此输入层单元数取决于实际问题的输入矢量维数。输出层的节点数一般取决于输出数据类型和表示该类型所需的数据大小,若输出结果以二进制形式表示,则输出层的节点数可根据分类模式确定。中间层的节点数与实际问题和输入输出单元都有关系,但节点数太多易导致学习时间、训练时间过长,而节点过少则容错性差,样本识别能力低,所以必须综合考虑多方面的影响因素。在BP网络中传输函数通常采用S(sigmoid)型函数或者是纯线性函数。2.2.2BP网络学习规则网络的学习过程由正向和反向传播两部分组成。在正向传播过程中,每一层神经元的状态只影响到下一层神经元网络。如果输出层不能得到期望输出,就是实际输出值与期望输出值之间有误差,那么转入反向传播过程,即将误差信号沿原来的连接线路返回,通过修改各层神经元的权值,逐次地向输入层传播去进行计算,再重复正向传播过程,这两个过程的反复运用,使得误差信号降到最低。其中误差的反向传播算法是一种使用最广泛的方法,下面以三层BP网络为例给出算法的步骤:(1)提供网络训练样本。包括输入向量X、期望输出向量Y以及实际输出与期望输出之间的允许误差;(2)初始化各权值或阈值:ωij(0)为随机数值;(3)计算网络各层输出;(4)计算训练误差,修正权值变量;(5)判断指标是否满足精度要求:E≤ε(ε为误差精度)(6)结束2.2.3BP网络不足与改进措施虽然BP网络得到了广泛应用,但其自身也存在一些缺点与不足,主要包括:首先,收敛速度慢,需要较长的训练时间,这是由于学习速率太小造成的,可采用变化速率或自适应的学习速率加以改进。其次目标函数存在局部极小,可以采用附加动量法来解决。(式2.4)再次,网络隐层的层数和单元数尚无理论指导,一般是根据经验或通过反复实验确定。2.3模糊控制理论1965年,美国的L.A.Zadeh创立了模糊集合论,从而为描述、研究和处理模糊性现象提供了一种新的工具。模糊控制(FuzzyControl)属于智能控制的一个重要分支,是近代控制理论中建立在模糊集合论上的一种基于语言规则与模糊推理的控制理论,是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术。模糊控制的主要思想就是通过模糊集合理论来描述控制算法,这种算法是用计算机语言来表达的人的控制策略。这种方法通过模拟人的思维方式对一些模型来实现有效的控制,而这些被控对象通常是无法构造精确数学模型的。2.3.1模糊控制系统基本结构模糊控制系统的基本结构组成如图2.3所示。模糊控制器主要由四部分组成,即模糊化运算、模糊控制规则库、模糊推理和解模糊运算。模糊控制规则库是由一系列if-then型的模糊条件所构成,条件句的前件为输入和状态,后件为控制变量。图2.3模糊控制结构框图由图可知,模糊控制过程可概括为3个步骤:①将输入变量的精确值转化为模糊量;②根据输入的模糊量及模糊控制规则,按照模糊推理计算输出控制量(模糊量);③根据解模糊法计算精确的输出量。2.3.2模糊化方法模糊化的作用是将输入的精确量转换成模糊化量。模糊化的基本思想是定义一个模糊语言映射,将数值域中的数值信号映射到语言域上,其实质就是求数值域的模糊集合的隶属度。在模糊语言里,元素对集合的隶属度不再仅是0或1,而是0到1之间的任意数,这一数值反映了元素对集合的隶属程度,这一数值越接近1说明该元素属于集合的程度越大。例如,有两个人,一个人20岁,另一个人30岁,他们同属于“青年’,这个集合,隶属度则给出了两者的差异:20岁正当青年,隶属度为1,30岁虽属青年,但年龄略大,其隶属度为0.8或0.6。因此模糊化过程的主要任务是:检测输入变量值,并将其表示成一种序数,即输入值不再是数字的表示形式,而是用语言值表示的某种限定码。根据隶属度函数的定义,每一个限定码代表论域内的一个模糊子集。模糊化的具体过程如下:例如把在[-66]之间变化的连续变量分为七个档次,每个档次对应一个模糊子集,如{PB、PM、PS、ZO、NS、NM、NB}为{“正大’”、“正中”、“正小”、“零”、“负小”、“负中”、“负大”}并确定每个模糊子集的求属度函数。常用的隶属度函数包括三角形、梯形、高斯型、双高斯型等。2.3.3解模糊方法通过模糊推理得到的结果是一个模糊集合,也可以说是一个模糊量,但实际模糊控制系统的控制信号所需要的必须是精确量,要用一个确定的值才能去控制执行机构。因此,模糊控制器经过推理后的模糊输出量必须经过精确化处理,才能去控制被控对象。2.4模糊神经网络模糊控制理论和神经网络理论相互结融合形成了模糊神经网络。模糊逻辑能有效地控制那些只可凭经验进行控制、很难建立精确数学模型的系统。神经网络能映射任意函数关系,具有自学习能力、联想存储功能和高速寻找优化解的能力。两者相结合产生的模糊神经网络就是具有模糊权系数或者输入信号是模糊量的神经网络,是一种函数估计器,而且不依赖于精确的数学模型,集学习、联想,识别、信息处理于一体。它除具有神经网络的功能外,还能处理模糊信息,完成模糊推理功能,其性能优于单纯的模糊控制和神经网络。模糊神经网络的优势已经越来越明显,它巨大的发展前景使其在数据融合中得到了大量的应用。2.4.1模糊神经网络结构模糊神经网络(FNN)由四层神经元组成,以两个输入一个输出为例,其结构和各层神经元功能如图2.4所示。假设x1和x2各定义n个模糊集合,则共有n²条规则,φ()代表隶属函数,用对第k层第J个结点的输入,表示第k层的第J个结点的输出,则FNN的各层处理过程可表示如下:第一层为输入层,该层的各个结点直接与输入向量的各分量连接,它起着将输入量传送到下一层的作用,即第二层为隶属函数层,每个结点代表一个语言变量值。该层与第一层相连的所有权值都为固定值1,每个节点的阈值(或偏置)都为固定值0。它的作用是计算各输入分量属于各语言变量值模糊集合的隶属度函数从μ,其中J=1,2,i=1~n,该层的结点数N=2*n,则图2.4模糊神经网络结构第三层为规则层,每个结点代表一条模糊规则,对应与模糊推理,每个节点输出表示一条规则的触发强度,即隶属函数的输出。因为各输入变量的每一模糊语言变量均要与其他输入变量的模糊语言变量合成,因此有n²个模糊规则,即该层的总结点数n²,第四层为解模糊层,对应于规则结论,它所实现的是完成推理合成,逆模糊运算,即:其中ωj为第三、第四层间的可调权系数。在这个模糊神经网络中,可调参数有二类,一类是规则中的数值ωj,它是第三、四层间的权系数,代表规则参数。第二类可调参数是第二层隶属度函数的参数。2.4.2模糊神经网络的学习方法模糊神经网络FNN具有多层感知器的结构形式,也通常用BP算法来修正其中的可调参数。其过程可以分成两个阶段,第一阶段是由输入层开始逐层计算各层神经元输入和输出直到输出层为止,这一阶段称为模式前向传输。第二阶段是由输出层开始逐层计算各层神经元的输出误差,并根据误差梯度下降原则调节各层的联结权值,使修改后的网络的最终输出能接近期望值,既使误差减小。这一阶段称为误差反向传播。在一次训练以后,还可重复训练,使输出误差最小,直到满足控制要求。具体过程见2.2.2BP神经网络学习规则。2.5模糊神经网络在运行系统中的应用2.5.1模糊神经网络模型的建立本设计系统中,智能小车共安装五路超声波,分别测量左方、左前方、前方、右前方、右方障碍物的距离,且小车是两轮驱动,基于此特点该模糊神经网络共有五个输入和两个输出。结构如图2.5所示。输入量分别代表五个方向障碍物的距离,由超声波传感器和红外传感器的数据经特征级融合得到,输出量分别为两个轮的停止与前进,以实现小车的转向。模糊神经网络的输入是五个方向的距离值,由于距离值正比于测量时间,且比例系数固定,为超声波的传播速度,所以此网络的输入实际是系统所测时间。红外传感器的输出是开关量,因此两种传感器数据融合时,若在红外传感器的感应范围内有障碍物,表示小车距障碍物很近,则取时间为0,若在超声波传感器允许接收的时间内没有回波信号产生,表示没有障碍物或障碍物距离很远,则取时间为单片机允许接收的最大时间,再将所得的融合数据按公式2.4变换到论域。第二层隶属函数层采用高斯型隶属函数,模糊语言变量为{N,F}={近,远},则第二层共有5×2=10个神经元。根据实际情况,高斯型隶属函数选取固定的参数,即对于图2.5网络结构模糊语言变量“近”选择高斯函数的均值和标准差为0和2,对于模糊语言变量“远”选择高斯函数的均值和标准差为5和1,图形如图2.6所示。第三层神经元的个数为32,因此本文所需调整参数的只是第三、四层之间的连接权值。图2.6高斯型隶属函数2.5.2带动量项批处理算法实现本文所设计的系统是基于BP神经网络的模糊控制,针对BP神经网络算法存在的缺点,本文采用带动量项的批处理梯度下降法。所谓动量项的加入就是指在网络每次的权值和阈值改变量中加入前一次的改变量,第k次循环中的权值改变量可以表示为其中表示当前性能函数对权值的梯度,η是学习率,α是动量因子。α的值在0到1之间,当α为0时,权值的改变量就由此计算处的负梯度来确定;当α为1时,权值的改变量就等于它前一时刻的改变量。动量法降低了网络对于误差曲面局部细节的敏感性,有效地抑制了网络陷于局部极小。所谓批处理意为每一个输入样本对网络并不立即产生作用,而是等到全部输入样本到齐,将全部误差求和累加,再集中修改权值一次,即根据总误差修正权值,以提高收敛速度。算法的具体实现如下:设为第K层的第i个结点的输入,为第k层第i个结点的输出,Y为系统的期望输出,y为系统的实际输出。第一层:第二层:分别为第i个输入变量对应近、远的隶属度。第三层:第四层:权值修正过程:设J为每个样本的输出误差,E为总误差,即:则:2.6模糊规则的建立和训练样本的确定(1)根据人的实际经验分析可知,左、

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功