二、小脑模型连接控制器(CMAC)网络 原理:从小脑活动只获取启发 1)小脑从各种传感器获得信号、反馈和命令,构成地址,地址 的内容形成各种所需的动作 2)输出的动作只限制在最活跃神经中的一个小子集,绝大多数 神经元都受到抑制。 传感信号 运动轨迹 命令 地址内容 执行器 反馈
二、小脑模型连接控制器(CMAC)网络 原理:从小脑活动只获取启发 1)小脑从各种传感器获得信号、反馈和命令,构成地址,地址 的内容形成各种所需的动作。 2)输出的动作只限制在最活跃神经中的一个小子集,绝大多数 神经元都受到抑制。 地址内容 执行器 运动轨迹 反馈 传感信号 命令
实现二个映射 f:S→A ss 点 目9 输出 P=f(s) A 输入状态空间概念存贮空间 实际存贮器
输入状态空间 概念存贮空间 实际存贮器 输出 实现二个映射 f : S A g: A P P = f(s)
激活的单元数为4即C=4,一般C=4-256 泛化 存贮压缩 散列编码→ P=F(S) 输入向量 地址表 S 随机表格 联想单元 权值表
输 入 向 量 S 随机表格 地址表 联想单元 权值表 P=F(s) 泛化 存贮压缩 散列编码 激活的单元数为4,即C= 4,一般C = 4-256 5
三个特点; 1)利用散列编码( Hash Coding)进行多对少的映射; 2)通过对输入分布式测量信号的编码,使输出具有泛化和插 值能力; 3)通过监督学习,修改地址的内容和连接权值,使之逼成任意 非线性函数 (见图) 映射:通过特殊的编码方式实现 使输入空间中,相同或相距不远的输入向量,有相同的输出 泛化 ●使输入空间中,不同或相距远的输入向量,有不同的输出 —分类
三个特点: 1) 利用散列编码(Hash Coding)进行多对少的映射; 2)通过对输入分布式测量信号的编码,使输出具有泛化和插 值能力; 3)通过监督学习,修改地址的内容和连接权值,使之逼成任意 非线性函数。 映射:通过特殊的编码方式实现: (见图) • 使输入空间中,相同或相距不远的输入向量,有相同 的输出 —— 泛化 • 使输入空间中,不同或相距远的输入向量,有不同 的输出 —— 分类
CMAC学习方法: (1)给定期望的输出函数F即 P=F(S) F(s, P为期望函数 (2)对输入空间每一点,计算实际输出 px=F(s2)k=1,2,……,n(输出向量的维数 i=1,2,,N(输入向量的维数) P=F(S) Ax=(a1ⅸ,ax, 对n维输出P向量,应有n个实际存贮器
CMAC 学习方法: ⑴ 给定期望的输出函数 F 即: P = F(S ) p i = F (si ) P 为期望函数 ⑵ 对输入空间每一点,计算实际输出 pK= F(si) k = 1,2,…,n (输出向量的维数) i = 1, 2,…,N (输入向量的维数) P = F(S ) PK = AKW T K AK =(a1K ,a2K ,…ank) Wk = (w1k , w2k ,…,wn k) 对 n 维输出 P 向量,应有 n 个实际存贮器。 3
(3)比较P和Pk使|p-pk 如果不满足,按下式更改和修正权值脶 wk,=Wk+[(P:-2aWk)N]) △Wk=W1-Wk 其中:是地址中第l+1次迭代的权值(新) W是地址Wk中第l次迭代的权值(旧) 括号中是平均误差 k是修正因子。 (4)重复以上步骤,直至误差达到规定值
⑶ 比较 Pk 和 P k 使 | pk - p k | ek 如果不满足,按下式更改和修正权值 W: 其中: 是地址 中第 次迭代的权值(新) 是地址 中第 次迭代的权值(旧) 括号中是平均误差 是修正因子。 ⑷ 重复以上步骤,直至误差达到规定值。 ( ) k l k l k k n k j k k j k l k l W W W W W P W N m = − = + − + + 1 1 * 1 / k Wl+1 k W k Wl k W mk l +1 l
编码方法把S=(s1,S2,…SN)变成二进制变量 规则a)对每一个输入量,m只能有A1个1; b)相邻的输入,只有1位不同 m的每一个1,对应s的变化范围。 S的大小 A|=4 f 12345678 a10000 b11000 c11100 111100000 e011110000 0 001111000 000111100 0 0 00000 k0000000 100000 0000 000 000 0 0 5011111
编码方法 a b c d e f g h i j k l 1 1 1 1 1 0 0 0 0 0 0 0 0 2 0 1 1 1 1 0 0 0 0 0 0 0 3 0 0 1 1 1 1 0 0 0 0 0 0 4 0 0 0 1 1 1 1 0 0 0 0 0 5 0 0 0 0 1 1 1 1 0 0 0 0 6 0 0 0 0 0 1 1 1 1 0 0 0 7 0 0 0 0 0 0 1 1 1 1 0 0 8 0 0 0 0 0 0 0 1 1 1 1 0 9 0 0 0 0 0 0 0 0 1 1 1 1 S的大小 m * i 把S=(s1 ,s2 ,…sN)变成二进制变量 mi * 规则: a) 对每一个输入量, mi *只能有|Ai * |个1; b) 相邻的输入,只有1位不同; c) mi *的每一个1, 对应si的变化范围。 |Ai * |= 4
一维向量 二维向量(45种组合) a bc d a bc d ABCD bede 123 bede 2 BCDE edef cdef CDEF def def DEFG eI g 5 e g h 5 EFGH g fhi g hlJ g hij hijk 789 hiik S. 4 aDbEcFdG jkI Ss=bEcFdGeh
Si mi * 1 a b c d 2 b c d e 3 c d e f 4 d e f g 5 e f g h 6 f g h i 7 g h i j 8 h i j k 9 i j k l 一维向量 二维向量(45种组合) S1 mi * 1 a b c d 2 b c d e 3 c d e f 4 d e f g 5 e f g h 6 f g h i 7 g h i j 8 h i j k 9 i j k l S2 mi * 1 ABCD 2 BCDE 3 CDEF 4 DEFG 5 EFGH S1,4 = aDbEcFdG S2,5 = bEcFdGeH
这种编码方法的特点 1)相邻的向量其编码只有1位不同; 2)相近的向量其汉明距随向量之间的距离增加而增加, 超过一定距离其汉明距就保持不变 汉明距=H1=∑Sk-S H=|A|-|A,A H1=|A|—实现分类(|AA|=0) H1<|A—实现泛化(AA≠0
这种编码方法的特点: 1)相邻的向量其编码只有1 位不同; 2)相近的向量其汉明距随向量之间的距离增加而增加, 超过一定距离其汉明距就保持不变。 汉明距= Hij = = N k Sik 1 Sjk - Hij = | A* | - | Ai * Aj * | Hij = | A* | —— 实现分类(| Ai * Aj * | = 0) Hij | A* | —— 实现泛化(| Ai * Aj * | 0)
如何选择|A"? A的大小确定了S的变化范围,在A一定 的情况下,S的变化范围也影响s;m的分辨 率。举例:A|=4 分辨率=1.0 分辨率 =045 abcd s变化范围19 a bcd 1.5 bcde 3 cdef 2.0 cae defg e ei g 3.0 fg h 3.5 h i 4.0 g h i s:变化范围105045 hij k KI 5.0 iki
如何选择| A* | ? |A* |的大小确定了Si的变化范围,在|A* | 一定 的情况下,Si的变化范围也影响si mi的分辨 率。举例: |A* |=4 S1 m* 1 a b c d 2 b c d e 3 c d e f 4 d e f g 5 e f g h 6 f g h i 7 g h i j 8 h i j k 9 i j k l 分辨率=1.0 分辨率 =0.5 S1变化范围:1-9 S2变化范围:1.0-5.0 S1 m * 1 a b c d 1.5 b c d e 2.0 c d e f 2.5 d e f g 3.0 e f g h 3.5 f g h i 4.0 g h i j 4.5 h i j k 5.0 i j k l