小脑神经网络模型_计算机神经科学专业

(2) 2024-05-26 08:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说小脑神经网络模型_计算机神经科学专业,希望能够帮助你!!!。

联系方式:860122112@qq.com

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

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

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

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

小脑神经网络模型_计算机神经科学专业_https://bianchenghao6.com/blog__第1张

如上图,假设输入是二维,即 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……;第三层是物理存储空间,即根据第二层给出的索引找到对应的权值;第四层即输出层。
小脑神经网络模型_计算机神经科学专业_https://bianchenghao6.com/blog__第2张
(5)如果输入维度很大,根据

mnbn
,权值个数指数增长,然而也许只有少部分的权值被使用(有些权值从来没被激活),所以可以使用哈希表方法存储权值,减小无用空间的开支。
(6)权值更新公式为
wt+1=wt+α/me
α 为学习率, m 是层的个数,

e
为样本真值与网络预测的误差,只有激活的权值被更新。其实可以把 m 拿掉,看成使用一般神经网络的梯度下降法。

模糊小脑神经网络(FCMAC)结构
FCMAC实际上就是在每个块里面加入了一个模糊隶属度函数,例如如果使用的是高斯模糊,则是在块里加入高斯函数,如下图:
小脑神经网络模型_计算机神经科学专业_https://bianchenghao6.com/blog__第3张

高斯函数的均值

μ
和标准差 σ 可以固定,也可以是可调整的,类似CMAC的权值更新方法,用求梯度的方法就可以迭代更新 μ σ 了,当然,只有被激活的块才会更新。FCMAC网络整体构架图:
小脑神经网络模型_计算机神经科学专业_https://bianchenghao6.com/blog__第4张

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

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复