CMAC神经网络模糊控制器设计
扫描二维码
随时随地手机看文章
作者:哈尔滨工程大学 陆 军 哈尔滨翔宇自动化研究所 张秀梅 哈尔滨工程大学 李殿璞中国民用航空学院 华克强 来源:《电子技术应用》 cmac神经网络模糊控制器设计 摘 要: 详细介绍了cmac神经网络结构、中间层作用函数地址的计算方法、输出层权值的学习算法,并利用cmac神经网络对水下机器人深度模糊控制器进行了学习。仿真结果表明,训练得到的cmac神经控制器控制效果良好,中间层作用函数地址的计算方法正确。 关键词: cmac神经网络 模糊控制 水下机器人 小脑模型关节控制器神经网络(cerebella model articulation controller neural network,即cmac nn)由j.s.albus 于1975年首先提出并由w.t.miller等人成功运用于机械手的实时动态轨迹跟踪控制。与多层前项神经网络这样的全局逼近神经网络[1]相比,cmac神经网络在任意时刻的学习都是少数的输出层权值的调节过程,并且是一个线性优化过程,因此具有学习速度快的特点,非常适合于在线实时控制。对于大多数的控制问题,完全可以达到与多层前向神经网络相同的控制效果。目前,cmac神经网络被越来越多地应用于机器人控制、模式识别、信号处理以及自适应控制等领域。 1 cmac的结构及工作原理 cmac是类似于感知器的基于网格基的联想记忆神经网络。它由输入层、中间层和输出层组成。在输入层与中间层和中间层与输出层之间分别有由设计者预先确定的输入层非线性映射和输出层权值的自适应线性映射。在输入层对n维输入空间进行划分?形成一个n维网格基,任意一个输入都降落到此n维网格基的一个超立方体单元内。中间层由若干个基函数构成,对任意一个输入只有少数几个基函数的输出为非零值,我们称非零输出的基函数为作用基函数,作用基函数的个数为泛化参数ρ(generalization parameter)它规定了网络内部影响网络输出的区域大小。中间层基函数的个数用p表示,泛化参数应满足ρ<<p。在中间层的基函数与输出层的网络输出之间通过若干个连接权进行连接,它是一个全连接,在网络训练阶段,可以通过梯度下降算法对权值进行调整。cmac神经网络的设计主要包括输入空间的划分、输入层非线性映射的实现、输出层权值学习算法,下面给予详细介绍。 1.1 cmac 输入空间的划分 设计cmac神经网络的第一步是对输入空间的划分方法进行定义。设输入向量为?且xi∈ri,ri为一有限区间,定义为: 对该区间进行如下分割: 其中λi,j 称为xi的第j个内节点。 同样也可以定义xi的外节点: 通常,所有左边的外节点均置于,所有右边的外节点均置于。若两节点在同一位置,则称该节点为重节点。所有这些节点将整个区间ri分为ri+1个子区间rr,j(0≤j≤ri): 对于任意输入x?它在每一个输入坐标轴的子区间号为 内节点的选区办法可以是在区间[,]等间隔划分或是根据实际问题的需要非均匀划分,即在期望输出变化快的区域多划分,在期望输出变化慢的区域少划分。对输入空间的划分不仅影响网络的内存消耗,还影响网络的建模能力和学习收敛速度。 1.2 cmac输入层非线性映射的实现 设计cmac输入层非线性映射的目的是保证对任意一个输入,在中间层只有ρ个基函数的输出值为非零值,并且在输入沿某一输入坐标轴平行移动一个超立方体单元后,只有一个非零输