小脑神经网络——CMAC

联系方式:860122112@qq.com

小脑神经网络
小脑神经网络(CMAC-Cerebellar Model Articulation Controller)是由Albus最初于1975年基于神经生理学提出的,它是一种基于局部逼近、简单快速的神经网络,能够学习任意多维非线性拟合。相比于BP网络等全局逼近方法,CMAC具有以下优点

-局部学习,每次修改权值少,学习速度快,适合在线学习
-具有一定的泛化能力,即相近输入产生相近输出,不同输入给出不同输出
-具有连续(模拟)输入输出能力
-采用寻址编程方式,在利用串行计算机仿真时,它将使响应速度加快
-对学习数据出现的次序不敏感

CMAC最初主要用来求解机械手的关节运动,后来被进一步应用于机械人控制、模式识别、信号处理以及自适应控制等领域

CMAC结构
CMAC最大特点是局部逼近,因此它具有特殊的结构。

这里写图片描述

如上图,假设输入是二维,即 X=(x1,x2) x1,x2[0,5] (即使不是也可以先标准化, [0,5] 不是固定的,可以是其他,本文只是为了好理解而使用这个范围)。
(1)每一维的输入 xi 都具有层 m 和块nb的概念(注意,这个层的意思和一般神经网络层的意思不一样)。在图中Tier是层的意思,也就是每一维具有 m=4 层,每层有 nb=2 块,例如第一层Tier1具有两个块A、B。根据 m nb确定每一维等分切片的个数,即 m(nb1)+1 ,例如上图中,每维被切分为4*(2-1)+1=5等份。
(2)输入的维度之间,相同的层所激活的块联合起来对应一个权值地址空间。如上图,当前 X=(3.5,3.3) x1 在不同层激活的块是B、D、F、G, x2 是b、d、f、g,此时所对应的权值索引是Bb、Dd、Ff、Gg,把这4个权值加起来就是输出。由此可以看出,有多少层就激活多少个权值。同时,不存在同维度块联合、不同维度不同层块联合的情况,也就是说不存在AB、AC、Ad等情况。由此算来,可能使用到的权值个数为 mnbn n 为输入的维度。
(4)一般CMAC网络的整体构架如下图,第一层是输入层;第二层是虚拟联想空间,即对应上图的Aa、Ab、Ba、Bb……;第三层是物理存储空间,即根据第二层给出的索引找到对应的权值;第四层即输出层。
这里写图片描述
(5)如果输入维度很大,根据mnbn,权值个数指数增长,然而也许只有少部分的权值被使用(有些权值从来没被激活),所以可以使用哈希表方法存储权值,减小无用空间的开支。
(6)权值更新公式为
wt+1=wt+α/me
α 为学习率, m 是层的个数,e为样本真值与网络预测的误差,只有激活的权值被更新。其实可以把 m 拿掉,看成使用一般神经网络的梯度下降法。

模糊小脑神经网络(FCMAC)结构
FCMAC实际上就是在每个块里面加入了一个模糊隶属度函数,例如如果使用的是高斯模糊,则是在块里加入高斯函数,如下图:
这里写图片描述

高斯函数的均值μ和标准差 σ 可以固定,也可以是可调整的,类似CMAC的权值更新方法,用求梯度的方法就可以迭代更新 μ σ 了,当然,只有被激活的块才会更新。FCMAC网络整体构架图:
这里写图片描述

CMAC和FCMAC相关代码
https://github.com/DajunZhou/Gauss_CMAC

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值