开发者学堂课程【机器学习算法 :离散 Hopfield 网络-5】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7255
离散 Hopfield 网络-5
内容介绍
一、DHNN 网络容量
二、DHNN 设计权重和阀值
一、DHNN 网络容量
DHNN 网络容量:简单理解为 DHNN 网络可以准确记住的模式个数。当其规模为 n ,且权重矩阵的对角线元素为0,那么该网络的容量的上界为 n 。实际上由于多种原因,很难达到上界。
让网络准确记住一个模式比较容易,但在记忆模式个数增加时,会出现以下两种情况:
权值移动:当网络记住第一个模式后,在记忆第二模式的时候,会导致原来的矩阵发生变化,有可能会导致对之前模式的“遗忘”。下式中通过 Hebb 规则进行权重更新,当 K 值较小时,可以将输入样本变为吸引子,当 K 值较大时,不但难以成为吸引子,而且很可能影响之前的吸引子,引发对之前样本的遗忘,称作“疲劳”
以人脑为例,刚开始记东西的时候记得比较快,但是容易忘记,记得越多呢,就容易出现疲劳。
交叉干扰:当网络学习多个样本后,在回忆阶段即验证记忆样本时,所产生的干扰成为交叉干扰。如果记忆模式之间并非正交的话,记忆容量会严重下降。
比如,你记忆的内容多了,相互之间是有干扰的,如果记忆的两个内容相似度很高,它的干扰会更大,然后出错的概率会更高。
二、DHNN 设计权重和阀值
1、设计 DHNN 的权重的目标:
(1) 保证在异步工作时系统的稳定性,即使其权值对称 (对称就可以保证它稳定)
(2) 保证所有要求记忆的稳定平衡点都能收敛到自己
(3) 使稳定点的吸引域尽可能大
(4) 使伪稳定点的个数尽可能少
2、常见的方法有:
(5) 联立方程组法
(6) 外积法
(7) 伪装法
(8) 正交法
联立方程组法;通过预先设定的吸引子,列出联立方程组,求解方程组,确定每个权值和阈值的取值范围,找任一祖符合上述范围要求的值即可。
以之前的三节点 DHNN 为例,希望其吸引子为(0 1 0)T和(1 1 1)T,设计该网络。
对于吸引子(0 1 0)T,应该满足:
Net1=W11*0+W12*1+W13*0-T1<0
Net2=W21*0+W22*0+W23*0-T2>0
Net3=W31*0+W32*1+W33*0-T3<0
对于吸引子(1 1 1)T,应该满足:
Net1=W11*0+W12*1+W13*0-T1>0
Net2=W21*0+W22*0+W23*0-T2>0
Net3=W31*0+W32*1+W33*0-T3>0
以之前的三节点 DHNN 为例,希望其吸引子为 (010)T 和 (111)T,设计该网络。得到关于权重 W 和 T 的联立方程组:
现在将它化为六个联立的方程组
以之前的三节点 DHNN 为例,希望其吸引子为(010)T 和 (111)T,设计该网络。整理后得到以下约束条件:
找到一个数,可以满足这六个条件。可能会有很多组解,但是我们只寻找其中的一组。
把这些值代入就得到以下
验证设计的网络,其引子是否为 (010)T 和 (111)T。