开发者学堂课程【神经网络概览及算法详解:离散Hopfield网络-5】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/40/detail/944
离散Hopfield网络-5
内容介绍
一、DHNN网络容量
二、DHNN设计权重和阈值
一、DHNN 网络容量
DHNN网络容量:简单理解为DHNN 网络可以准确记住的模式个数。当其规模为n,且权重矩阵的对角线元素为0,那么该网络的容量的上界为n。实际上由于多种原因,很难达到上界。
让网络准确记住一个模式比较容易,但在记忆模式个数增加时,会出现以下两种情况︰
n 权值移动︰当网络记住第一个模式后,在记忆第二模式的时候,
会导致原来的矩阵发生变化,有可能会导致对之前模式的“遗忘”。下式中通过Hebb 规则进行权重更新,当K值较小时,可以将输入样本变为吸引子,当K值较大时,不但难以成为吸引子,而且很可能影响之前的吸引子,引发对之前样本的遗忘,称作“疲劳”
W = W + XK(XK)T - I
n 交叉干扰∶当网络学习多个样本后,在回忆阶段即验证记忆样本
时,所产生的干扰成为交叉干扰。如果记忆模式之间并非正交的话,正交是指两者差异度比较大,相似度基本没有,非正交表示相似度很高,记忆容量会严重下降。利用人脑作比喻,如果记忆的内容多了,相互之间会产生干扰,如果记忆的内容相似度越高,干扰越大,出错的概率便越高。
二、DHNN设计权重和阈值
在进行网络设计时要考虑权重和阈值。
1.设计DHNN 的权重的目标有∶
n 保证在异步工作时系统的稳定性,即使其权值对称。如之前篇章
介绍的三节点例子就为对称矩阵。
n 保证所有要求记忆的稳定平衡点都能收敛到自己,比如联想记忆,
借助其他事物来记忆最终都是为了联想到最终结果,如果片段就是记忆东西本身,根据权值就应当联想到记忆内容本身,否则记忆失败。
n 使稳定点的吸引域尽可能大
n 使伪稳定点的个数尽可能少
2.常见的方法有∶
n 联立方程组法
n 外积法
n 伪逆法
n 正交法
3. 联立方程组法
通过预先设定的吸引子,列出联立方程组,求解方程组,确定每个权值和阈值的取值范围,找任一祖符合上述范围要求的值即可。
以之前的三节点DHNN为例,假设希望其吸引子为(0 1 0)T和(1 1 1)T,令其由两个稳定状态设计该网络。
(1)对于吸引子(0 1 0)T,应该满足以下条件:
使得状态为(0 1 0)T,需要使得第一个净输出值net1小于0,激活函数sgn作用到该值才为0。第二个净输出值net2大于0,激活函数sgn作用到该值则为1。同理最后要求net3小于0即可。
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
最后将以上三个不等式进行联立即可求解。
(2)对于吸引子(1 1 1)T,应该满足以下条件:
使得状态为(0 1 0)T,满足三个净输出都大于0,激活函数sgn作用到三个值上才能返回1。
net1 = W11 * 0 +W12*1 +W13*1 -T1>0
net2 = W21 * 1+W22* 0 +W23*1 -T2 > 0
net3 = W31 * 1 +W32*1 +W33*0 -T3>0
(3)联立方程组
最后,将方程组进行联立,得到关于权重W和T的联立方程组:
整理后得到以下约束条件:
之后需要找到满足约束条件中W12、W13、W21、W23和W31,以及T1,T2和T3的一组数值,就能得到一个可行解。
整理过后如上,开始尝试寻找一组可行解。解不等式方程组,采取先解简单式子,尝试将一些值固定下来再去凑数,如果不满足,再返回调整固定的值。根据T2<0,首先尝试:令T2=-1,W12 = 1。此时针对不等式的约束并不冲突,通过,代入此时假设的T2=-1,W12=1,可得:W23>-2,此时W23有无限多个取值,为简练假设取W23=-1,若之后某约束冲突,再返回调整。根据W23<T3,说明T3要大于W23,即:T3>-1,取T3=0。
到目前为止,以下假设取值:
令T2=-1,W12 = 1
W23>-2,取W23=-1
T3>-1,取T3=0
假设得W13>1,假设取W13=2。代入W13=2和T3=0,可知W23>-2与之前假设符合。
最后根据两条约束,带入之前设置的W12=1和W13=2可得:1<T1<3,取T1=2。
(4)总结
最后到目前为止,以下假设值和联立的约束条件方程组没有冲突,完全满足,所以该值可以看作是方程组的一组解,除此外还有无数解。
令T2=-1,W12 = 1
W23>-2,取W23=-1
T3>-1,取T3=0
W13>1,取W13=2
1<T1<3,取T1=2
根据以上求解得出的值W12 = 1,W13=2和W23=-1,同时其为对称矩阵,对角线为0,满足以上条件,在数学上即可证明一定会收敛,同时记忆值的上限为n,该可得:。根据T1=2,T2=-1和T3=0,也可得: T=(2 -1 0 )T。将以上结果带入到网络中,可得到以下图,同三节点例子圆圈中心为阈值T,三角形边框线为各节点间的权重。
(5)验证
设计完成后,还需进行验证吸引子是否为(0 1 0)T和(1 1 1)T,过程同上个案例。该组解 T=(0.8 -0.1 0.3)T也满足,但计算较为复杂,在此使用 T=(2 -1 0 )T计算验证。
①初始状态000
初始转态000会收敛到010
②初始状态001
初始转态001也会收敛到010
③初始状态010
初始状态010当然会收敛到本身。
④初始状态011
初始状态011则有三条路径,第一条路径直接收敛到111,第二条路径通过001->000->010最终收敛到010。第三条路径直接收敛到010。
⑤初始状态100
初始状态100也有三条路径,1)000:直接通过000收敛到010。2)110:或通过110->011->111收敛到111;110->011->001->000->010收敛到010;110->011->001->000->010收敛到010。
3)101:有两条,直接收敛到111或通过001->000->010收敛到010。总而言之,初始状态100,最终也收敛到010和111。
根据以上验证过程,可知吸引子为(0 1 0)T和(1 1 1)T说明权重设计满足条件。