1、CMAC网络朱宇涛朱宇涛 双银锋双银锋 叶伟叶伟 CMAC网络是J.S.Albus于1975年最先提出来的,称为:“小脑模型关节控制器”,英文缩写是Cerebella Model Arculation Controller 。它是仿照小脑如何控制肢体运动的原理而建立的一种神经网络模型。 CMAC网络最初主要用来求解机械手的关节运动。W.T.Miller等人把CMAC网络成功的运用到机器人的控制上,S.Cetinkunt等又将其运用到高精度机械工具的伺服控制。CMAC网络的基本结构网络的基本结构Xa1a2amw1w2wmY图一图一CMAC网络的工作过程网络的工作过程 和BP网络一样,CMAC也可
2、以逼近任意的非线形关系。设待逼近的函数映射关系为其中Xx1,x2.xnT, Yy1,y2.yrT。如图一图一所示,CMAC网络通过两个阶段映射来实现上述关系。)(XfY 【1】(1)S:XA,即aS(X)。这一功能由CMAC网络的输入层来实现。 其中a=a1,a2,amT 是m维相联空间A中的向量。ai 的值只取1或0两个值。对于某个特定的X,只有其中少数C个元素为1,其余大部分元素为0。可见aS(X)实现的是一个特定的非线形映射。该非线形映射在设计网络时就已经确定。输入空间中的一个点对应于a中的C个元素1,也即对应相联空间A中的一个局部区域。AWF(x1)F(x2)图二图二x1x2x3XC=
3、3a3a4a5图三图三x1x2x3XaWF(x1)F(x2)C=3F(x3)(2)P:AY,即Y=P(a)=Wa ,这一功能由CMAC网络的输出层来实现。这是一线形映射,其中rmrrmwwwwwwW2111211maaa1对于第i个输出,则有mjjijiiawaPy1)((i=1,2,.,r) 【2】 类似于BP网络的误差反向传播算法,CMAC神经网络的连接权学习算法为aaayykwkwTjidiijij/)()() 1(【3】其向量形式为aaayykwkwTTidiii/)()() 1(【4】其中:ydi和yi分别表示第i个输出分量的期望值和实际值;为学习率。证明证明:令 , 则)()()(
4、)(xakwykyykeii didii可以证明,当02时可保证该学习算法的收敛性。)()()()() 1()() 1()()1()() 1(xakwxakwkwkykykyykyykekeiiiiiidiidiii)(kei【5】同时【4】式可以写为)()(/ )()()(xaxaxakekwTTii【6】将【6】式代入【5】式可得:即)()()(/ )()()(kexaxaxaxakeiTTi)(kei【7】)()1()1(kekeii【8】若要求迭代学习过程稳定,即0)()(limkekyyiidik11则根据离散系统的稳定性条件,要求 ,即要求02。得证。因为)() 1()(kekek
5、eiiiCMAC网络具有以下特性:网络具有以下特性:(1)可实现从输入到输出的任意映射,输入向量各分量的量化精度越高,分块越细,逼近任意函数的精度就越高。(2)具有局部扩展功能,即在输入空间中靠近的向量,对应的输出也是靠近的(见图三)。(3)采用LMS(最小均方规则)自适应算法,又称算法,可得到全局最小值。(4)由于相联空间中只有C个元素为1,其余全部为0,因此在一次训练中只有少数的连接权需要调整,计算量比BP网络要小(见图二、图三)。程序举例程序举例Ap存储器存储器固定增益固定增益控控 制制 器器CMAC网网 络络CMAC F(S0)学学 习习 算算 法法比较比较轨轨迹迹规规划划器器SdS0
6、F(Sd)S0S0S0CMAC网络在机械手控制中应用的框图网络在机械手控制中应用的框图SiE程程 序序 举举 例例设一个二维输入Si(S1,S2),量化级S1为5级,S2为7级Step1:从S到M的映射Step2:由M映射到AStep3:由A映射到ApStep4:Ap里的权值求和得到输出FStep5:权值的学习和调整F(Si)AMApM1M2SsiCMAC网络的详细模型网络的详细模型S1S2C=4C=4Sabcdefghijkl111110000000020111100000003001111000000400011110000050000111100006000001111000700000011110080000000111109000000001111表一表一C4,共12个感知器M=12,即量化级为12时,输入S的激励情况列表。Sm*1abcd2ebcd3efcd4efgd5efgh6ifgh7ijgh8ijkh9ijkl将表一按照下标重新列表得到表二。表二表二F(Si)AMApM1M2SsiCMAC网络的详细模型网络的详细模型S1S2