1、第 5 章 CMAC 小脑神经网络前面几章介绍的 BP 神经网络、Hopfield 神经网络和 BAM 神经网络分别属于前馈和反馈神经网络,这主要是从网络的结构来划分的。如果从神经网络的函数逼近功能这个角度来分,神经网络可以分为全局逼近网络和局部逼近网络。若神经网络的一个或多个可调参数(权值和阈值)在输入空间的每一点对任何一个输出都有影响,则称该神经网络为全局逼近网络,前面介绍的多层前馈 BP 网络是全局逼近网络的典型例子。对于每个输入输出数据对,网络的每一个连接权均需进行调整,从而导致全局逼近网络学习速度变慢,对于有实时性要求的应用来说常常是不可容忍的。如果对网络输入空间的某个局部区域只有少
2、数几个连接权影响网络输出,则称网络为局部逼近网络。对于每个输入输出数据对,只有少量的连接权需要进行调整,从而使局部逼近网络具有学习速度快的优点,这一点对于有实时性要求的应用来说至关重要。目前常用的局部逼近神经网络有 CMAC 网络、径向基函数RBF 网络和 B 样条网络等,其结构原理相似,本书主要介绍 CMAC 神经网络和 RBF 神经网络。1975 年 J.S.Albus 提出一种模拟小脑功能的神经网络模型,称为 Cerebellar Model Articulation Controller1-2,简称 CMAC。CMAC 网络是仿照小脑控制肢体运动的原理而建立的神经网络模型。小脑指挥运动
3、时具有不假思索地作出条件反射迅速响应的特点,这种条件反射式响应是一种迅速联想。CMAC 网络有 3 个特点: 作为一种具有联想功能的神经网络,它的联想具有局部推广(或称泛化)能力,因此相似的输入将产生相似的输出,反之则产生独立的输出。 对于网络的每一个输出,只有很少的神经元所对应的权值对其有影响,哪些神经元对输出有影响则由输入决定。 CMAC 的每个神经元的输入输出是一种线性关系,但其总体上可看做一种表达非线性映射的表格系统。由于 CMAC 网络的学习只在线性映射部分,因此可采用简单的 算法,其收敛速度比 BP 算法快得多,且不存在局部极小问题。CMAC 最初主要用来求解机械手的关节运动,后来
4、被进一步应用于机械人控制、模式识别、信号处理以及自适应控制等领域 3-4。5.1 CMAC 结构及工作原理 55.1.1 CMAC 结构简单的 CMAC 结构如图 5-1 所示,图中 表示 维输入状态空间, 为具有 个单元XpAn的存储区(又称为相联空间或概念记忆空间) 。设 CMAC 网络的输入向量用 维输入状态空p间 X 中的点 表示,对应的输出向量用 表示,图中Tipiixx),(21 ),(21iii xFy,输入空间的一个点 将同时激活 中的 个元素(图 5-1 中 4) ,使其同3,21i ALNLN时为 1,而其他大多数元素为 0,网络的输出 即为 中 4 个被激活单元的对应权值
5、累加iy和。 称为泛化参数,反应网络泛化能力大小,也可将其看做信号检测单元的感受野大LN小。对 CMAC 来说,其工作过程一般包括两个方面: 结果输出计算及误差生成阶段; 权值调整阶段。1XX2X3XC A1a23a41w234w1iai1ia2i3ia4i 1iwi1i2iw3i4i)(11Xfy)(22Xfy)(33Xfy图 5-1 CMAC 网络的结构5.1.2 CMAC 工作原理1CMAC 的结果输出计算及误差产生阶段一般来说,实际应用时输入向量的各分量来自不同的传感器,其值多为模拟量,而中每个元素只取 0 或 1 两种值。为使 空间的点映射为 空间的离散点,必须先将模拟AXA量 量化
6、,使其成为输入状态空间的离散点。设输入向量 的每一个分量可量化为 个iX Xq等级,则 个分量可组合为输入状态空间 种可能的状态 , 。其中每一个ppqi p,21状态 都要映射为 空间存储区的一个集合 , 的 个元素均为 1。从图 5-1 可以看iAiiLN出,在 空间接近的样本 和 在 中的映射 和 出现了交集 ,即它们对23A233A应的 4 个权值中有两个是相同的,因此有权值累加和计算的两个输出也较接近,从函数映射的角度看,这一特点可起到泛化的作用。显然,对相距很远的样本 和 ,映射到1X中的 为空集,这种泛化不起作用,因此是一种局部泛化。输入样本在输入空间距A31离越近,映射到 存储
7、区后对应交集中的元素就越接近 ,其对应的输入样本在 中产ALN生的交集起到了将相近样本聚类的作用。为使对于 空间的每一个状态在 空间均存在惟一的映射,应使 存储区中单元的个XAA数至少等于 空间的状态个数,即 。设将三维输入的每个分量量化为 10 个等级,pqn则 。对于许多实际系统, 往往要比这个数字大得多,但由于大多数学习问题不10n会包含所有可能的输入值,实际上不需要 个存储单元来存放学习的权值。 相当于一种虚拟的内存地址,每个虚拟地址和输入状态空间的一个样本点相对应。通过哈希编码(Hash-coding)可将具有 个存储单元的地址空间 映射到一个小得多的物理地址连接pqA中。iA对于每
8、个输入, 中只有 个单元为 1,而其余的均为 0,因此 是一个稀疏矩阵。ALNA哈希编码是压缩稀疏矩阵的常用技术,具体方法是通过一个产生随机数的程序来实现的。以 的地址作为随机数产生的程序的变量,产生的随机数作为 的地址。由于产生的随机A iA数限制在一个较小的整数范围内,因此 远比 小得多。显然,从 到 的压缩是一种多iAi对少的随机映射。在 中,对每一个样本有 个随机地址与之对应, 个地址存放的权iALNLN值通过学习得到,其累加和即作为 CMAC 的输出。其表达式为:(5-1)mixawyLNjji ,1)(1其中, 为第 j 个存储单元的权值,若 激活,则其值为 1,否则为 0,只有
9、个存j )(xaj LN储单元对输出有影响。相近的输入激活的存储单元有交叠,产生相近的输出,不相近的输入将产生不相近的输出。对应的误差表达式为:(5-mixawyELNjjsi ,21)(12)2CMAC 的权值调整阶段CMAC 算法中结果输出阶段从 CMAC 存储单元产生一实际输出,学习过程根据期望输出与实际输出的误差大小来更新 CMAC 存储单元中的权值。在常规 CMAC 算法中误差被平均分配到所有被激活的存储单元。设 为某一状态, 是经过第 次迭代后存储在第 个存s)(twjtj储单元中的权值。常规 CMAC 更新 算法为:)(tj(5-LNjjsjLjj txaytwt 1)()1()
10、3)为状态 的期望输出, 为状态 的实际输出, 为学习常数。syLNjjtwxa1)(s5.2 CMAC 改进学习算法在 CMAC 神经网络应用中,一般来说其实时性要求都较高。如非线性动态系统的在线辨识,不仅要求精度高,而且要求快速学习。但是,常规的 CMAC 仍然需要多个周期才能达到一定的收敛精度,也就是说,常规 CMAC 虽然其收敛速度快于 BP 网络,但作为在线学习来说,仍难满足其快速性的要求。为此,近些年来,一些学者提出了许多相关算法,大多是在常规 CMAC 算法上进行改进。下面介绍几种重要的改进算法。5.2.1 模糊 CMAC 神经网络算法为提高 CMAC 学习的实时性和准确性。Ni
11、e J.和 Geng Z.J.等人将模糊自组织竞争算法引入 CMAC 中,来改造常规的 CMAC 神经网络,提出了一种模糊 CMAC 算法 6-7,10,作如下定义:定义 5-1 设 CMAC 中某个输入 激活的 个的存储单元可看作中心为 , xLNjz,宽度为 的一个邻域 ,称 为联想域。对常规 CMAC 来说,若 ,LNj,212jj a则 ,否则为 0。联想域有交叠,使网络有局部泛化能力。ja定义 5-2 设输入 ,联想域 ( )的中心为 ,半径为 ,将每个nRxj L,21jz存储单元用一与输入同维的向量 表示,则联想度为:ja(5-其 他0xajjfj4)基于联想度的概念,可获得一模
12、糊化的联想向量 ,进而得到TfNffj Laxa),()1FCMAC 的输出:(5- LNj Lfji Njmixawy1 ,21,2,1)( 5)若令 ,其他情况 ,则 退化为二进制向量 ,可见常规Lfj, 0ia)(xfj )(xajCMAC 为 FCMAC 的特殊情况。对网络权值(存储的数据)学习调整,文献8,9采用以下算法:(5-LNjffNjjfsjj Njatwayktwt LL ,21/)1()(1() 11 6)(5-其 他)1( )2(04.1)(7.05)t tetett7)由于联想度的引入,也省去了 CMAC 的离散、量化、编码、hashing 映射等复杂运算。对于联想域
13、大小的确定,采用自组织竞争算法来实现,从而完成输入空间的自组织分割,使网络的学习速度和精度得到较大的提高。5.2.2 基于信度分配的平衡学习 CMAC 神经网络算法在常规 CMAC 及模糊 CMAC 学习算法的权值学习调整中,误差被平均分配给每个被激活的存储单元,而未考虑各个被激活存储单元对误差的贡献率,也即在经过 次学习后,对t调整次数不同的激活存储单元其权值的可信度仍被看成完全相同的。这种权值更新算法完全违背了信度分配的概念,这样的权值学习算法,必然使那些权值不该调整或应该较少调整的存储单元(其权值可信度高)需反复学习调整;而对误差贡献较大的存储单元(其权值可信度低) ,本应该使其权值得到
14、较大调整,但实际上权值学习调整量减少。为了达到预定的逼近精度,网络必须多次反复学习,从而使 CMAC 的学习效率降低,学习时间延长。为了提高 CMAC 学习速度,文献11在分析常规 CMAC 权值调整规则的基础上,考虑到已学习知识的可信度,提出一种基于信度分配的 CA-CMAC(Credit assignment CMAC)算法。同时引入 CMAC 存储单元地址函数,来解决信度的定义问题。文献12在此基础上进一步考虑到网络权值调整时,新知识“学习”与旧知识“遗忘”的平衡问题,提出一种基于“平衡学习”的 CMAC 神经网络学习算法。下面以二维 CMAC 为例进行介绍。1. 常规 CMAC 神经网
15、络的分级量化方法CMAC 的基本思想就是将学习的数据(知识)存储在交叠的存储单元(记忆空间)中,其输出为相应激活单元数据的累加和。以二维 CMAC 为例,定义输入矢量为变量 和 。1x2二维 CMAC 结构如图 5-2 所示。在本例中,每个变量分成 7 个等分区域,每个状态变量有 3级,每级由构成。对第 1 级,变量 被划为 3 块 A B 和 C,变量 被划为 a, b 和 c。则 Aa, 1x2xAb, Ac, Ba, Bb, Bc, Ca, Cb 和 Cc 为存储数据的地址或单元(hypercubes) ;与此相似,对第 2 级,有存储单元 Dd, De, Df, Ed, Ee, Ef,
16、 Fd, Fe 和 Ff;对第 3 级,有存储单元Gg, Gh, Gi, Hg, Hh, Hi, Ig, Ih 和 Ii。必须注意,只有同级的不同变量的分块组合才能形成存储单元。像组合 Ad, Db 等是不存在的。此处的二维 CMAC 中,用 27 个存储单元来存储 49 个状态的数据。CMAC 的基本思想如图 5-3 所示。在 CMAC 算法实现过程中有两个阶段:结果输出阶段和权值学习阶段。在结果输出阶段,CMAC 将所有被输入状态激活的存储单元的权值(存储数据)相加。(5-Njjsway18)存储单元数为 N,设 m 为状态变量的级数(图 5-2 中状态变量级数 m = 3) , 为总状n
17、态数。 为状态 ( =1, n) 的实际输出值。 为第 个存储单元的权值, 是第 个sys jwja存储单元是否被状态 激活的指示。由于每个状态仅被 个存储单元包含,只有这些存储单元被激活,其 为 1,而其他存储单元 全为 0。如图 5-2 中,存储单元 Bb, Ee 和 Hhjaja被状态 激活,所以仅有这 3 个 为 1,而其他存储单元 全为 0。)3,(s j jax2实 际 输 出 值状 态 s(3,)BbHhEex10123456123456ABCDEFGHIabcdefghi w12w3wn学 习 空 间 S存 储 单元 指 示 存 储权 值 期 望 值误 差 +-1A23AnA图
18、 5-2 二维 CMAC 结构 图 5-3 CMAC 的基本原理CMAC 算法中结果输出阶段从 CMAC 存储单元产生一实际输出,学习过程根据期望输出与实际输出的误差大小来更新 CMAC 存储单元中的权值。在常规 CMAC 算法中误差被平均分配到所有被激活的存储单元。设 为某一状态, 是经过第 次迭代后存储在第 个存s)(twjtj储单元中的权值。常规 CMAC 更新 算法为:)(tj(5-Njjsjjj taymtwt 1)()1()9)其中, 为状态 的期望输出, 为状态 的实际输出, 为学习常数。必须syNjjtwa1)(s注意只有那些被激活的存储单元的权值才被更新。在上面的常规算法中误
19、差被平均分配到所有被激活的存储单元,但是经过 次迭代后,最初的存储单元已经包含了一些先前学t习的知识,不是每一个存储单元都有相同的学习历史,所以这些存储单元也不应有相同的可信度。无视这些差异,所有被激活的存储单元都获得相同的校正误差,那么那些由未学习状态产生的误差将对先前学习的信息产生“腐蚀” (corrupt ) ,当然在经过多个训练周期后,这种“腐蚀”情形会逐渐消失,这也是许多常规 CMAC 算法应用成功的根据之所在。但是对在线动态系统的学习来说,其实时性要求非常高,有的情况下,一到两个周期内就得完成学习任务,也就没有足够的时间来消除这种“腐蚀” ,因此其学习结果常常是无法满足在线学习的要
20、求。2基于信度分配的 CMAC(CA-CMAC)神经网络为了避免“腐蚀”效应,校正误差必须根据存储单元的可信度进行分配。然而,在CMAC 学习过程中,还没有一个好的方法来决定某一存储单元对目前的误差负更多的责任。换句话说,还没有一个好的方法来决定存储单元权值。惟一可用的信息是该存储单元权值目前更新的次数,文献11假设存储单元学习更新次数越多,其存储的数值越可靠。因此存储单元的学习次数被看成其可信度。可信度越高,其权值修正越小。由此(5-9)式改写为:(5-Njjsmljjj twayfatwt 111)()()()10)其中, 是第 个存储单元的学习次数, 是某状态激活的存储单元数。此处权值更
21、新)(jfj思想是校正误差必须与激活单元的学习次数成反比。此处用 / 代1)(jfmlf1)(替了(5-9)式的 ,它有效地改善了学习性能。但这并不是最好的结果,因为它没有进m/1一步考虑已学习的先前知识与未学习或少学习的知识各自对网络输出误差的影响程度。即“学习”与“遗忘”的平衡问题。3改进的基于信度分配的 CMAC 神经网络(ICA-CMAC )根据以上分析,一种“平衡学习”的概念被提出,由此设计一种改进的基于信度分配的 CMAC(Improved Credit Assignment CMAC,ICA-CMAC )神经网络模型,此时(5-10)式被改写为:(5-)(twj )1()1()1
22、( 11Njjsmlkjj twayjfat11)其中, 是一个平衡学习常数,当 为 0 或 1 时,ICA-CMAC 分别为常规 CMAC 和文献11kk的 CA-CMAC。也就是说,CMAC 和 CA-CMAC 是 ICA-CMAC 的特殊情形。激活存储单元的学习次数 越大,则其存储的知识(先前学习的信息)越多。平衡学习常数 越大,对学习次)(jf k数 较大的存储单元,其权值改变较少。在 很大时,对学习次数 较大的存储单元jf k)(jf其权值基本不变。此时未学习的或者学习次数 较少的激活单元在权值修正时,将获得)(jf大多数误差校正值。此种情形下,网络学习中“记忆”即“已学习知识的保持
23、”占主导地位。反之,当 值很小时,学习次数 对信度分配的影响也较小。当 0 时,学习次k)(jf k数 对信度分配的影响为零。此时,误差被平均分配到所有被激活的存储单元。所有被)(jf激活的存储单元都有相同的信度分配,而不管学习次数 的大小。这时在网络学习中)(jf“遗忘”占主导地位。可见 是一个平衡学习常数,它反映了在网络训练过程中,先前学习的信息与未学习k或少学习信息对存储单元权值调整的影响程度。不同的 将会有不同的学习结果。从后面k的仿真结果可知,当 为某一数值时其学习速度最快,说明此时网络的“记忆”与“遗忘”k达到了最佳平衡。4地址函数设计在常规 CMAC 中,一般采用 hashing
24、 技术来压缩存储空间,但 hashing 映射会造成碰撞的发生,使得 CMAC 的逼近性能下降。文献11采用地址函数来产生所需要的存储单元的标志,它通过一定规则为所有可能的存储单元编码,是一种简洁的地址方法,而且不存在数据碰撞问题。以三维(3-D)CMAC 为例,设 是 CMAC 的级数, 是每级包含的块数,则每维的等mnb分块数为 。在本例中,每块包含 m 个状态,仅用 个存储单元来映1)(nbm 3nbmN射 状态。考虑由 表达的状态 ,由它激活的存储单元数为 m,各3( ),(321xs激活存储单元的地址函数为 , ,则 ,定义:)js),()321jxFj if j=1,then i=
25、0,else i=mj+1; ;)/int(1xa ;/it2iy ; )/int(3mixaz 。1)(,) 3221 nbjnbazyxjFjs5仿真算例及结果分析为了进一步说明 ICA-CMAC 的在线学习效果,以下面的非线性函数为例,对不同平衡学习参数 比较网络的学习速度。k1 1,1 1 (5-xyxz5sin)(),2xy12)本例中每个变量包含 64 个等分块。取级数 =9,每级包含 =8 块。则总状态数为mnb=4096= ,存储单元总数为 = =576(仅为总状态数的 14%) 。2)1(nbm64 2nb89取式(5-11)的 。其训练数据数为 4096。学习结果如图 5-
26、4 和图 5-5 所示,在不同的 值下,计算网络的绝对误差 TAE(total kabsolute error)和均方根误差 RMSE(root mean square error) 。取 值为k0.0,0.7,1.5,2.0。其第 1 周期到第 6 周期和第 20 周期到第 25 周期的计算结果见表 5-1 和表 5-2 所示。(5-13)nssyTAE1(5-nssyRMS12)(14)其中, n 为总状态数, 是状态 s 的期望输出值, 是状态 s 的实际输出数值。sysy图 5-4 ICA-CMAC 的绝对误差表 5-1 ICA-CMAC 的绝对误差k/cycle 1 2 3 4 5
27、6 20 21 22 23 24 250.0 84.53 88.70 49.39 63.56 67.27 47.51 45.89 45.64 45.13 45.62 44.58 44.220.7 69.67 49.74 43.01 49.60 50.17 44.47 45.24 45.16 45.09 45.31 44.79 44.951.5 74.83 60.33 48.87 51.17 49.42 48.72 46.34 46.37 46.34 46.38 46.27 46.302.0 193.9 100.1 75.42 66.08 61.52 56.86 48.25 48.28 48.2
28、6 48.18 48.05 48.01图 5-5 ICA-CMAC 均方根误差表 5-2 ICA-CMAC 均方根误差k/cycle 1 2 3 4 5 6 20 21 22 23 24 250.0 0.14 0.14 0.11 0.12 0.12 0.11 0.106 0.106 0.105 0.105 0.104 0.1040.7 0.13 0.11 0.10 0.11 0.11 0.10 0.105 0.105 0.104 0.105 0.104 0.1041.5 0.13 0.12 0.11 0.11 0.10 0.11 0.106 0.106 0.106 0.106 0.106 0.
29、1062.0 0.21 0.15 0.13 0.13 0.12 0.12 0.108 0.108 0.108 0.108 0.108 0.108从图 5-4 和图 5-5 可以看出,在网络学习的初始阶段,不同的 值,误差下降的速度有k很大的差别, =0 时(常规 CMAC)收敛速度较慢,随着 值的增加,收敛速度变快,在k=0.7 时收敛速度达到最快; 值继续增大,网络学习速度反而变慢,特别是 =2.0 时其kk k学习速度比常规 CMAC 还慢。可见 =0.7 为最佳平衡学习常数 ,此时,网络学习时的“记忆”与“遗忘”达到最佳平衡。文献11提出的 CA-CMAC( )的学习速度处于最佳平衡1k
30、值附近,但它未能分析网络学习时“记忆”与“遗忘”的平衡问题,其学习结果虽然比常规 CMAC 好,但并非是最好的结果。从图 5-4、图 5-5 及表 5-1、表 5-2 还可以看出,在网络学习的后续阶段(后 10 个周期) ,尽管 值不同,其学习误差区别很小,不同 值的网络都学习得很好。这是因为网络k k学习过程中,权值的调整依赖于误差的分配,误差的分配又依赖于各存储单元的学习次数,而学习次数在学习时间足够长时,各存储单元将趋于相同。对于非线性动态系统的在线学习来说,最初的学习速度是极为重要的。因此,CMAC 神经网络学习算法的改进,对提高非线性系统在线辨识的实时性有一定的指导意义。5.2.3
31、基于信度分配的模糊 CMAC 神经网络学习算法 131算法设计基于信度分配的模糊 CMAC 神经网络学习算法,是从 CMAC 权值学习遗忘(previous learned information be corrupted by unlearned state)的角度出发,将文献11的信度分配的思想引入模糊 CMAC(FCMAC)的权值学习调整之中,提出一种基于信度分配的模糊 CMAC(FCACMAC)神经网络学习算法,使网络的学习更加合理高效。仿真结果表明,FCACMAC 有较好的学习速度和较高的学习精度。网络的存储单元的激活方式及输出计算方法与模糊 CMAC 完全相同;其权值调整是将式(5
32、-6)和式(5-10)相结合,得到:(5-LLL NjjsNljffjjj twayjatwt 111)()()1()15)此处按照信度分配的原则调整权值,对先前学习次数较少、误差贡献较大的存储单元,其权值可信度低,这时权值学习调整较多;反之,对学习次数较多、对所产生的误差责任较少的存储单元,其权值可信度较高,这时权值调整较少,从而使 CMAC 的权值学习调整更加合理高效;另外,由于模糊联想度的引入,省去了 CMAC 的离散、量化、编码、hashing映射等复杂运算。对于联想域大小的确定,采用自组织竞争算法来实现,从而完成输入空间的自组织分割,使网络的学习速度和精度得到较大的提高。2. 仿真算
33、例及结果分析为 了 进 一 步 说 明 FCACMAC 的 在 线 学 习 效 果 , 以 下 面 的 非 线 性 函 数 为 例 , 研 究 常 规 CMAC、模 糊 CMAC( FCMAC) 及 基 于 信 度 分 配 的 模 糊 CMAC( FCACMAC) 的 学 习 效 果 。(1)一维非线性学习实例假设有如下的非线性函数:(5-16)cosin)( xxxy在学习过程中,用网络的绝对误差 TAE 和均方根误差 RMSE 来反映模型的学习速度和精度。其计算式同式(5-13)和式(5-14) 。对 CMAC、FCMAC 及 FCACMAC,其第 1 周期到第 20 周期的计算结果见表
34、5-3 和表 5-4。而图 5-6 和图 5-7 为相应的误差下降曲线。表 5-3 一维 CMAC、FCMAC 及 FCACMAC 绝对误差周期算法1 2 3 4 5 6 7 8 9 10CMAC 38.13 27.98 14.15 7.09 4.08 2.53 2.07 1.76 1.65 1.58FCMAC 13.66 10.46 5.62 2.98 1.56 0.82 0.43 0.25 0.14 0.086FCACMAC 14.82 5.57 1.034 0.219 0.064 0.041 0.034 0.032 0.031 0.030周期算法11 12 13 14 15 16 17
35、18 19 20CMAC 1.57 1.53 1.51 1.49 1.48 1.46 1.45 1.44 1.43 1.43FCMAC 0.057 0.043 0.036 0.033 0.031 0.031 0.030 0.029 0.029 0.028FCACMAC 0.029 0.028 0.028 0.027 0.027 0.026 0.026 0.025 0.025 0.025图 5-6 一维 CMAC、FCMAC 及 FCACMAC 绝对误差表 5-4 一维 CMAC、FCMAC 及 FCACMAC 均方根误差周期算法1 2 3 4 5 6 7 8 9 10CMAC 0.772 0.
36、661 0.470 0.333 0.252 0.199 0.180 0.166 0.161 0.157FCMAC 0.462 0.404 0.296 0.216 0.156 0.113 0.082 0.062 0.046 0.037FCACMAC 0.481 0.295 0.127 0.059 0.032 0.025 0.023 0.022 0.022 0.022周期算法11 12 13 14 15 16 17 18 19 20CMAC 0.157 0.156 0.154 0.153 0.152 0.151 0.151 0.150 0.150 0.149FCMAC 0.030 0.026 0.
37、024 0.023 0.022 0.022 0.022 0.021 0.021 0.021FCACMAC 0.021 0.021 0.021 0.021 0.020 0.020 0.020 0.020 0.020 0.019图 5-7 一维 CMAC、FCMAC 及 FCACMAC 均方根误差(2)二维非线性学习实例假设有如下的非线性函数:(5-,cosin),( 212121 xxxy17)在网络学习过程中,绝对误差 TAE 和均方根误差 RMSE 与式(5-13)和式(5-14)完全相同。对 CMAC、FCMAC 及 FCACMAC,其第 1 周期到第 20 周期的计算结果见表 5-5 和
38、表 5-6。其相应的误差下降曲线如图 5-8 和图 5-9 所示。表 5-5 二维 CMAC、FCMAC 及 FCACMAC 绝对误差周期算法1 2 3 4 5 6 7 8 9 10CMAC 365.9 376.5 250.7 282.6 235.1 248.4 241.0 240.0 241.9 240.5FCMAC 408.0 402.6 276.8 203.1 148.6 118.4 99.12 88.62 85.12 81.35FCACMAC 344.9 254.2 153.4 109.5 83.75 71.26 60.69 57.96 53.71 53.76周期算法11 12 13
39、14 15 16 17 18 19 20CMAC 241.3 241.0 241.2 241.2 241.3 241.2 241.3 241.2 241.3 241.2FCMAC 82.04 80.27 80.78 80.14 80.26 80.09 80.10 80.07 80.03 80.06FCACMAC 52.63 52.74 52.50 52.40 52.40 52.30 52.31 52.27 52.26 52.25图 5-8 二维 CMAC、FCMAC 及 FCACMAC 绝对误差表 5-6 二维 CMAC、FCMAC 及 FCACMAC 均方根误差周期算法1 2 3 4 5 6
40、 7 8 9 10CMAC 0.2989 0.3032 0.2474 0.2627 0.2396 0.2463 0.2426 0.2421 0.2430 0.2423FCMAC 0.3156 0.3135 0.2599 0.2227 0.1905 0.1700 0.1556 0.1471 0.1442 0.1409FCACMAC 0.2902 0.2491 0.1935 0.1635 0.1430 0.1319 0.1217 0.1190 0.1145 0.1146周期算法11 12 13 14 15 16 17 18 19 20CMAC 0.2427 0.2426 0.2426 0.2427
41、 0.2427 0.2427 0.2427 0.2427 0.2427 0.2427FCMAC 0.1415 0.1399 0.1399 0.1398 0.1398 0.1398 0.1398 0.1398 0.1398 0.1398FCACMAC 0.1134 0.1132 0.1131 0.1130 0.1130 0.1130 0.1130 0.1129 0.1129 0.1129图 5-9 二维 CMAC、FCMAC 及 FCACMAC 均方根误差 (3)结果讨论从表 5-3 到表 5-6、图 5-6 到图 5-9 可以看出,无论是一维还是二维非线性目标函数,在网络学习过程中,不同的 C
42、MAC 模型,误差下降的速度有很大的差别,其中常规 CMAC 收敛速度最慢,而基于信度分配的模糊 CMAC(FCACMAC)收敛速度最快,模糊 CMAC(FCMAC)学习速度处于二者之间。同时还可以看出,FCACMAC 的学习精度也比常规 CMAC 和模糊 FCMAC 高。随着目标函数维数的增加,其学习效果的差距更大,这是因为在低维情况下,计算量较小,误差的下降速度均较快,在 20 周期内都能达到了一定的逼近精度;随着维数的增加,计算量巨增,FCMAC、FCACMAC 算法的合理性将发挥更大的效果,使得三者之间的学习速度和学习精度的差距更明显,充分显示出 FCACMAC 在在线学习上的优越性。
43、由此可见,这种基于信度分配的模糊 CMAC 神经网络学习算法,由于将模糊 CMAC 的自组织竞争算法与基于信度分配的权值调整算法相结合,不仅在 CMAC 的存储单元激活、结果计算输出阶段,省去了 CMAC 的离散、量化、编码、hashing 映射等复杂运算;而且在 CMAC的权值学习调整阶段按各激活存储单元的权值可信度分配误差,使权值学习调整更加合理有效,极大地提高了 CMAC 神经网络的学习速度和学习精度。5.4 本 章 小 结本章在讨论 CMAC 神经网络基本结构及原理的基础上,从网络输出计算阶段和网络权值调整阶段两个方面,重点介绍了模糊 CMAC 神经网络、基于信度分配的 CMAC 神经
44、网络、基于平衡学习的 CMAC 神经网络及基于信度分配的模糊 CMAC 神经网络的结构、工作原理及权值调整学习算法,并给出了具体的仿真算例。最后讨论了 CMAC 神经网络在电液负载模拟器自学习控制中的应用。5.5 思 考 题1CMAC 神经网络有哪些特点?2请用自己的语言简要介绍 CMAC 神经网络的工作过程。3请简要介绍基于信度分配的 CMAC 神经网络权值调整学习算法的理由。4. 假设有如下的非线性函数: ,)exp(cosin),( 2112121 xxy试比较 30 周期内常规 CMAC、基于信度分配 CMAC 神经网络的学习效果。5假设有如下的非线性函数: ,cosin),( 212
45、121 xxxy试利用平衡学习算法求解最佳平衡学习参数。5.6 参 考 文 献1 Albus J.S. A new approach to manipulator control: The cerebellar model articulation controller(CMAC). ASME J. Dynamic Systems,Measurement,Control,pp.220227 ,19752 Albus J.S. Data storage in cerebellar model articulation controller(CMAC). ASME J. Dynamic Syste
46、ms,Measurement,Control,pp.228233 ,19753 Wong Y.F,Sideris A. Learning convergence in cerebellar model articulation controller. IEEE Trans. Neural Networks,1992,3(1):1151214 Lin C.S, Chiang C.T. Learning convergence of CMAC technique. IEEE Trans. Neural Networks,1997 ,8(6):128112925 韩力群. 人工神经网络的理论、设计及
47、应用. 北京:化学工业出版社,20026 Nie J,Linkens D.A. FCMAC: A fuzzified cerebellar model articulation controller with self-organizing capacity. Automatica,1994,30(4):6556647 Geng Z.J,McCullough C.L. Missile control using fuzzy cerebellar model arithmetic computer neural networks. J. Guid. Control Dyn.,1997,20(3)
48、:5575658 王源,胡寿松,齐俊伟. 自组织模糊 CMAC 神经网络及其非线性系统辨识. 航空学报,2001,22(6):5565589 胡寿松,王源. 基于自组织模糊 CMAC 网络的非线性系统鲁棒自适应跟踪控制. 自动化学报,2002,28(6):98498910 Hana-Ming Lee,Chin-Ming Chen. A self-organizing HCMAC neural network classifier. IEEE Trans. On Neural Networks,2003,14(1):152711 Shun-Feng S,Ted T,Hung T.H. Credit assigned CMAC and its application to online learning robust controllers. IEEE Trans. On Systems,Man,and CyberneticsPart B: Cybernetics,2003,33(2):20221312 朱大奇,孔敏,张伟. 基于平衡学习的 CMAC 神经网络动态非线性系统辨识算法. 控制与决策,2004,19(12):55655813 DaQi Zhu, Min Kong, A fuzzy CMA