第5章 神经网络控制 基于人工神经网络(Artificial Neural Network)的控制(ANN-based Control)简称神经控制(Neural Control)。神经网络是由大量人工神经元(处理单元)按照一定的拓扑结构相互连接而成的一种具有并行计 算能力的网络系统。它是在现代神经生物学和认识科学对人类信息处理研究的基础上提出来的,具有很强 的自适应和学习能力、非线性映射能力、鲁棒性和容错能力。充分将这些神经网络特性应用于控制领域, 可使控制系统的智能化向前迈进一大步。 神经网络的基本属性: 1) 非线性 2) 非局域性 3) 非定常性 4) 非凸性 人工神经网络在控制系统中的作用: 1) 基于模型的各种控制结构; 2) 用作控制器; 3) 在控制系统中起优化计算的作用。 5.1 概述 5.1.1 人工神经网络的发展与应用 1. 人工神经网络发展的回顾 一般认为,最早用数学模型对神经系统中的神经元进行理论建模的是美国心理学家麦卡洛克 (W.McCulloch)和数学家皮茨(W.Pitts)。他们于1943年建立了MP神经元模型。MP神经元模型首次简 单的数学模型模仿出生物神经元活动功能,并揭示了通过神经元的相互连接和简单的数学计算,可以进行 相当复杂的逻辑运算这一令人兴奋的事实。 1957年,美国计算机学家罗森布拉特(F.Rosenblatt)提出了著名的感知器(Perceptron)模型。它是一 个具有连续可调权值矢量的MP神经网络模型,经过训练可达到对一定输入矢量模式进行识别的目的。 1959 年,当时的另外两位美国工程师威德罗(B.Widrow)和霍夫(M.Hoff)提出了自适应线性元件 (Adaptive linear element,简称Adaline)。它是感知器的变化形式,尤其在权失量的算法上进行了改进,提高 了训练收敛速度和精度。成为第一个用于解决实际问题的人工神经网络。 美国学者霍普菲尔德(J.Hopfield)对人工神经网络研究的复苏起到了关键性的作用。1982年,他提出 了霍普菲尔的网络模型,将能量函数引入到对称反馈网络中,是网络稳定性有了明显的判据,并利用提出 的网络的神经计算能力来解决条件优化问题。另一个突破性的研究成果是儒默哈特(D.E.Rumelhart)等人 在1986年提出的解决多层神经网络权值修正的算法——误差反向传播法,简称BP算法,找到了解决明斯 基和帕伯特提出的问题的办法,从而给人工神经网络增添了活力。 2. 人工神经网络的应用 1) 模式信息处理和模式识别; 2) 最优化问题计算; 3) 复杂控制; 4) 通信。 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 5.1.2 神经元模型 1. 生物神经元模型 从生物控制与信息处理角度,神经元主要由细胞体、轴突、树突、突触等成分构成。 从生物控制论的角度,神经元作为控制和信息处理的基本单元,具有以下几个重要功能和特点: 1) 时空整合功能 2) 兴奋与抑制状态 3) 脉冲与电位转换 4) 神经纤维传导速度 5) 突触延时和不应期 6) 学习,遗忘和疲劳人工神经元模型 2. 典型的神经元模型 人工神经元的主要结构单元是信号的输入、综合处理和输出。人工神经元之间通过互相连接形成网络, 称为人工神经网络。 作为NN的基本单元的神经元模型,它有三个基本要素: 1) 一组连接(对应于生物神经元的突触),连接强度有个连接上的权值表示,权值为正表示激活, 为负表示抑制。 2) 一个求和单元,用于求取各输入信号的加权和(线性组合)。 3) 一个激活函数f(.),起映射作用并将神经元输出幅度限制在一定范围内。 激活函数f(.)决定神经元的输出,它通常有以下几种形式: 1) 阈值函数; 2) 分段线性函数,它类似于一个放大系数为1的非线性放大器; 3) 双曲函数; 4) Sigmoid函数。 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 5.1.3 人工神经网络模型 人工神经网络是一个并行和分布式的信息处理网络结构,该结构一般由多个神经元组成,每个神经元 有一个单一的输出,它可以连接到很多其它的神经元,其输入有多个连接通路,每个连接通路对应一个连 接权系数。 人工神经网络结构可分为以下几种类型: 1) 不含反馈的前向网络,见图a)。 2) 从输出层到输入层有反馈的前向网络,见图b)。 3) 层内有相互连接的前向网络,见图c)。 4) 反馈型全相互连接的网络,见图d)。 5.1.4 神经网络的学习方法 学习规则是修正神经元之间连接强度或加权系数的算法,使获得知识结构适用周围环境的变换。 1. 无监督Hebb学习规则 Hebb学习是一类相关学习,它的基本思想是:如果有两个神经元同时兴奋,则它们之间的连接强度的 增强与它们的激励的乘积成正比。用yi表示单元i的激活值(输出), y j 表 示 单元j的激活值,wij表示单 元j到单元i的连接加权系数,则Hebb学习规则可表示如下: )()()( kykykw jiij ?=? h 式中η为学习速率。 2. 有监督δ学习规则或Widow-Hoff学习规则 在Hebb学习规则中引入教师信号,将上式中的yi换成网络期望目标输出di 与实际输出yi之差,即 为有监督δ学习规则 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn )()()]()([)( kykykykdkw jjiiij ??=???=? dhh )()( kykd ii ?=d 上式表明,两神经元之间的连接强度的变化量与教师信号di(k)和网络实际输出yi之差成正比。 3. 有监督Hebb学习规则 将无监督Hebb学习规则和有监督学习规则两者结合起来,组成有监督Hebb学习规则,即 )()()]()([)( kykykykdkw jiiiij ????=? h 这种学习规则使神经元通过关联搜索对未知的 外界作出反应,即在教师信号di(k)-yi(k)的指导下,对环境信息进行相关学习和自组织,使相应的输出增 强或消弱。 5.2 前向神经网络 5.2.1 感知器网络 感知器是由美国计算机科学家罗森布拉特(F.Roseblatt)于1957年提出的。感知器(Perceptron)是一 个具有单层神经元的神经网络,并由线性阀值元件组成,是最简单的前向神经网络,它主要用于模式分类。 感知器的输出值是通过测试加权输入和值落在阈值函数的左右来进行分类的,即有: ?? ? < ≥== 00 01)( j j jj s ssfy 由感知器的网络结构,我们可以看出感知器的基本功能是将输入矢量转化成0或1的输出。 感知器利用其学习规则来调整网络的权值,以便使该网络对输人矢量的响应达到数值为0或1的目标 输出。 感知器的学习是有指导的学习,其训练算法的基本原理来源于著名的Hebb学习规则。基本思想是:逐 步地将样本集中的样本输入到网络中,根据输出结果和理想输出之间的差别来调整网络中的权系数。 感知器设计训练的步骤可总结如下: 1)对于所要解决的问题,确定输入矢量X,目标矢量D,并由此确定各矢量的维数以及确定网络结构大 小的神经元数目:r,s和q; 2)参数初始化: a.赋给权矢量w在(—l,1)的随机非零初始值; b.给出最大训练循环次数max; 3)网络表达式:根据输人矢量X以及最新权矢量W,计算网络输出矢量Y; 4)检查:检查输出矢量Y与目标矢量D是否相同,如果是,或已达最大循环次数,训练结束,否则转 入5); 5)学习:根据感知器的学习规则调整权矢量,并返回3)。 5.2.2 BP网络 反向传播网络(Back—Propagation Network,简称BP网络)是将W—H学习规则一般化,对非线性可微 分函数进行权值训练的多层网络。 BP网络是一种多层前向反馈神经网络,其神经元的变换函数是S型函数,因此输出量为0到1之间的 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 连续量,它可以实现从输入到输出的任意的非线性映射。 由于其权值的调整采用反向传播(Backpropagation)的学习算法,因此被称为BP网络。 BP网络的特点: 1、输入和输出是并行的模拟量; 2、网络的输入输出关系是各层连接的权因子决定,没有固定的算法; 3、权因子是通过学习信号调节的,这样学习越多,网络越聪明; 4、隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响 BP算法是由两部分组成:信息的正向传递与误差的反向传播。 在正向传播过程中,输入信息从输入经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一 层神经元的状态。如果在输出层没有得到期望的输出,则计算输出层的误差变化值,然后转向反向传播, 通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标。 BP 网络的主 要优点是: 1. 只要有足够多的隐层和隐节点,BP网络可以逼近任意的非线性映射; 2. BP网络的学习算法属于全局逼近的方法,因而它具有较好的泛化能力。 BP网络的主要缺点是: A. 收敛速度慢; B. 局部极值 C. 难以确定隐层和隐节点的个数。 5.2.3 BP网络学习算法的改进 BP网络的一个严重的缺点是收敛太慢,它影响了该网络在许多方面的实际应用。为此,许多人对BP 网络的学习算法进行了广泛的研究,提出了许多改进的算法,主要目标是为了加快训练速度,避免陷入局 部极小值。主要有: 1. 引入动量项 利用附加动量的作用则有可能滑过局部极小值。该方法所加入的动量实质上相当于阻尼项,它减小了 学习过程的振荡趋势,改善了收敛性,这是目前应用比较广泛的一种改进算法。 2. 变尺度法 标准的BP学习算法所采用的是一阶梯度法,因而收敛较慢。若采用二阶梯度法,则可以大大改善收敛 性,但是计算量较大。所以,一般不直接采用二阶梯度法,而常常采用变尺度法或共轭梯度法,它们具有 如二阶梯度法收敛较快的优点。 3. 变步长法 在使用该算法时,由于步长在迭代过程中自适应进行调整,因此对于不同的连接权系数实际采用了不 同的学习率。 5.2.4 神经网络的训练 为了训练一个BP网络,需要计算网络加权输入矢量以及网络输出和误差矢量,然后求得误差平方和。 当所训练矢量的误差平方和小于误差目标,训练则停止,否则在输出层计算误差变化,且采用反向传 播学习规则来调整权值,并重复此过程。 当网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将以泛化方式给出输出结果。 训练神经网络的具体步骤: 1. 产生数据样本集; 2. 确定网络的类型和结构; 3. 训练和测试。 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn 5.3 反馈神经网络 反馈网络(Recurrent Network),又称自联想记忆网络,其目的是为了设计一个网络,储存一组平衡点, 使得当给网络一组初始值时,网络通过自行运行而最终收敛到这个设计的平衡点上。 反馈网络能够表现出非线性动力学系统的动态特性。它所具有的主要特性为以下两点: 第一、网络系统具有若干个稳定状态。当网络从某一初始状态开始运动,网络系统总可以收敛到某一 个稳定的平衡状态; 第二,系统稳定的平衡状态可以通过设计网络的权值而被存储到网络中。 Hopfield网络是单层对称全反馈网络,根据其激活函数的选取不同,可分为离散型的Hopfield网络 (Discrete Hopfield Neural Network,简称DHNN)和连续型的Hopfield网络(Continuous Hopfield Neural Network,简称CHNN)。 离散Hopfield网络的激活函数为二值型的,其输入、输出为{0,1}的反馈网络,主要用于联想记忆。 离散 Hopfield 网络的激活函数的输入与输出之间的关系为连续可微的单调上升函数,主要用于优化计 算。 Hopfield网络是利用稳定吸引子来对信息进行储存的,利用从初始状态到稳定吸引子的运行过程来实现 对信息的联想存取的。 5.3.1 离散Hopfield网络 1. 网络的结构和工作方式 离散Hopfield网络是一个单层网络,有 n 个神经元节点,每个神经元的输出均接到其它神经元的输入。 各节点没有自反馈。每个节点都可处于一种可能的状态(1或-1),即 当 该 神经元所受的刺激超过其阀值时, 神经元就处于一种状态(比如1),否则神经元就始终处于另一状态(比如-1)。 整个网络有两种工作方式:即异步方式和同步方式。 2. 稳定性和吸引子 若网络的状态X满足 )( q?= WXfX ,则称X为网络的稳定点或吸引子。 定理1:对于离散Hopfield网络,若按异步方式调整状态,且连接权矩阵W为对称阵,则对于任意初 态,网络都最终收敛到一个吸引子。 定理2:对于离散Hopfield网络,若按同步方式调整状态,且连接权矩阵W为非负定对称阵,则对于 任意初态,网络都最终收敛到一个吸引子。 3. 连接权的设计 为了保证Hopfield网络在异步方式工作时能稳定收敛,连接权矩阵W应是对称的。而若保证同步方式 收敛,则要求W为非负定阵,这个要求比较高。因而设计W一般只保证异步方式收敛。另外一个要求是 对于给定的样本必须是网络的吸引子,而且要有一定的吸引域,这样才能正确实现联想记忆功能。为了实 现上述功能,通常采用Hebb规则来实际连接权,即当神经元输入与输出节点的状态相同(即同时兴奋或抑 制)时,从第j个到第i个神经元之间的连接强度则增强,否则则减弱。 4. 联想记忆 联想记忆功能是离散Hopfield网络的一个重要应用范围。要想实现联想记忆,反馈网络必须具有两个 基本条件: ①网络能收敛到稳定的平衡状态,并以其作为样本的记忆信息; ②具有回忆能力,能够从某一残缺的信息回忆起所属的完整的记忆信息。 离散Hopfield网络实现联想记忆的过程分为两个阶段:学习记忆阶段和联想回忆阶段。在学习记忆阶 段中,设计者通过某一设计方法确定一组合适的权值,使网络记忆期望的稳定平衡点。联想回忆阶段则是 网络的工作过程。 离散Hopfield网络用于联想记忆有两个突出的特点,即记忆是分布式的,而联想是动态的。 离散Hopfield网络局限性,主要表现在以下几点: PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn ①记忆容量的有限性; ②伪稳定点的联想与记忆; ③当记忆样本较接近时,网络不能始终回忆出正确的记忆等。 另外网络的平衡稳定点并不可以任意设置的,也没有一个通用的方式来事先知道平衡稳定点。 5.3.2 连续Hopfield网络 连续Hopfield 网络也是单层的反馈网络。其实质上是一个连续的非线性动力学系统,它可以用一组非 线性微分方程来描述。当给定初始状态,通过求解非线性微分方程组即可求得网络状态的运行轨迹。若系 统是稳定的,则它最终可收敛到一个稳定状态。 5.3.3 Boltzmann机 神经网络是由大量神经元组成的动力学系统。从宏观上看,各神经元的状态可看作是一个随机变量, 正如统计物理学中,把大量气体分子看作一个系统,每个分子状态服从统计规律。从统计观点分析,也可 寻找神经网络系统中某种神经元的状态的概率分布,分布的形式与网络的结构有关,其参数则是权系数。 Hinton 等人借助统计物理学的方法提出了 Boltzmann 模型,可用于模式分类、预测、组合优化及规划等方 面。 1.机网络结构和工作方式 Boltzmann机网络是一个相互连接的神经网络模型,具有对称的连接权系数,及 jiij ww = ,且 0=iiw 。 网络由可见单元(Visible Unit)和隐单元(Hidden Unit)构成。可见单元由输入、输出部分组成。每个单元 节点只取1或0两种状态。1代表接通或接受,0表示断开或拒绝。当神经元的输入加权和发生变化时,神 经元的状态随之更新。各单元之间状态的更新是异步的。可用概率来描述。 与Hopfield网络相似,Boltzmann机的实际运行也分为两个阶段:第一阶段是学习和训练阶段,即根据 学习样本对网络进行训练,将知识分布地存储于网络的连接权中;第二阶段是工作阶段,即根据输入运行 网络得到合适的输出,这一步实质上是按照某种机质将知识提取出来。 2. 网络的学习和训练 网络学习的目的是通过给出一组学习样本,经学习后得到Boltzmann机各种神经元之间的连接权 ijw 。 Boltzmann机网络学习的步骤可归纳如下: 1) 随机设定网络的连接权 )0(ijw 及初始高温。 2) 按照已知的概率 )( 0xp ,依次给定学习样本。在样本的约束下,按照模拟退火程度运行网络,直至 达到平衡状态,统计出各 ijp 。在无约束条件下,按同样的步骤并同样的次数运行网络,统计出各 'ijp 。 3) 按下述公式修改权值 0),()()1( ' >?+=+ hh ijijijij ppkwkw 4) 重复上述步骤,直到 'ijij pp ? 小于一定的容限。 PDF 文件使用 "pdfFactory Pro" 试用版本创建 www.fineprint.com.cn