神经网络导论_双向联想记忆
- 格式:docx
- 大小:249.08 KB
- 文档页数:15
第5章Hopfield神经网络与联想记忆前面介绍了前向网络及其学习算法,对于所介绍的前向网络,从学习的观点来看,它是一个强有力的学习系统,系统结构简单、易于编程;从系统的观点来看,它是一个静态非线性映射,通过简单非线性处理单元的复合映射可获得复杂系统的非线性处理能力;从计算的观点来看,它并不是一强有力系统,缺乏丰富的动力学行为。
反馈神经网络是一个反馈动力学系统,具有更强的计算能力。
1982年美国物理学家J. Hopfield提出的单层全互连含有对称突触连接的反馈网络是最典型的反馈网络模型。
Hopfield 用能量函数的思想形成了一种新的计算方法,阐明了神经网络与动力学的关系,并用非线性动力学的方法来研究这种神经网络的特性,建立了神经网络稳定性判据,并指出信息存储在网络中神经元之间的连接上,形成了所谓的Hopfield网络,称之为离散Hopfield网络。
而且Hopfield还将该反馈网络同统计物理中的Ising模型相类比,把磁旋的向上和向下方向看成神经元的激活和抑制两种状态,把磁旋的的相互作用看成神经元的突触权值。
这种类推为大量的物理学理论和许多的物理学家进入神经网络领域铺平了道路。
1984年,Hopfield设计与研制了Hopfield网络模型的电路,指出神经元可以用运算放大器来实现,所有神经元的连接可用电子线路来模拟,称之为连续Hopfield网络。
用该电路Hopfield成功的解决了旅行商(TSP)计算难题(优化问题)。
Hopfield网络是神经网络发展历史上的一个重要的里程碑。
把神经网络看作一种非线性的动力学系统,并特别注意其稳定性研究的学科,被称为神经动力学(Neurodynamics)。
Hopfield神经网络可看作一种非线性的动力学系统,所以为了方便介绍Hopfield神经网络,本章首先简单介绍神经动力学。
前面介绍的单层前向网络和多层前向网络,其思路均是先介绍网络模型再介绍相应的学习算法。
《神经网络导论》实验二——双向联想记忆专业:信息与通信工程班级: 5030班学号: **********姓名:**一、实验目的熟悉Kosko型双向联想记忆网络的原理与结构,通过仿真实验掌握具体的实现方法,了解该网络的功能及性能,加深对该类网络的稳定状态和能量函数等概念的理解。
二、实验原理我们知道,联想记忆功能分为自联想和异联想,异联想也称为双向联想记忆,简写为BAM。
BAM存储器可存储两组矢量,若有如下N维矢量与P维矢量B:A=[a0,a1,…,a N−1]T∈{−1,1}NB=[b0,b1,…,b P−1]T∈{−1,1}P构成M对矢量(A s,B s),s=0,1,…,M-1,将它们存入BAM存储器即可进行由A到B 或由B到A的双向联想,即给定A(或B)可经联想得到对应的标准样本B(或A),当有噪声或缺损时,联想功能可使样本对复原。
其实,人脑就具有根据相关线索回忆和恢复信息的能力。
例如,片断曲调往往可以唤起人们对整个乐曲的回忆;在人群中某人的背影就足以使我们想起一位老朋友。
人工神经网络力图实现这种功能。
Kosko的BAM网络就是其中的一种。
如图1所示,与矢量A相应的一层有N个节点,另一层对应矢量B,有P个节点,两层间双向连接。
假定B到A的传输为正向,正向的权矩阵为W,反之,A 到B为反向传输,权矩阵为W T。
如果输入矢量由上层加入,且相应于网络中B的稳定状态,则经W之作用产生A稳定状态。
同理,如果输入矢量在下层,且相应于网络中A的稳定状态,经W T之作用产生B稳定状态,当输入任意矢量时,网络要经若干次迭代计算演变至稳定状态,过程可示意为:WB (t )→A (t +1) W T A (t +1)→B (t +2) WB (t +2)→A (t +3)…直至A 、B 为稳态,演变过程结束。
网络学习遵从Hebb 规则,若给定M 个双极性矢量对:(A 0,B 0),(A 1,B 1),…,(A M−1,B M−1)则正、反向权矩阵为:W =∑A s B s TM−1s=0W T =∑B s A s T M−1s=0如果BAM 网络神经元函数阈值为0,则称为齐次BAM 网络,其能量函数为: E (A,B )=−12A T WB −12B T W TA =−A T WB若神经元非线性函数为f ,则描述齐次BAM 动态特性的差分方程为: 正向联想(B ⇒A)a i (t +1)=f[∑w ijb j (t)P j=1] (1)反向联想(A ⇒B)b J (t +2)=f[∑w ij a i (t +1)N i=1] (2)三、 实验内容3.1 连接权矩阵和能量值1.连接权矩阵对于给定的4对学习样本根据Hebb 规则计算网络的连接权矩阵,这里只计算正向传输(即从B 到A )的权重连接矩阵,反向权矩阵为正向权矩阵的转置。
下面为四对学习样本A1=[1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1]'; A2=[1,1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1]'; A3=[1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1]'; A4=[1,1,1,1,-1,-1,-1,-1,1,1,1,1,-1,-1,-1]'; B1=[1,1,1,1,-1,-1,-1,-1,1,1]'; B2=[1,1,1,-1,-1,-1,1,1,1,-1]'; B3=[1,1,-1,-1,1,1,-1,-1,1,1]'; B4=[1,-1,1,-1,1,-1,1,-1,1,-1]';已知连接权矩阵的计算公式W =∑A s B s TM−1s=0,即W 为15*10的矩阵,则带入四对样本可得连接权矩阵W 为:2.能量值由实验原理可知,对于输入的一对样本A 、B ,其能量值计算公式为:E (A,B )=−12A T WB −12B T W T A =−A T WB将四对样本分别带入得能量值分别为:表二:能量值验证网络的联想能力即任选标准样本A i 输入网络进行迭代运算直至网络稳定,观察上下两层的状态是否为(A i ,B i ),同样,任选B i 输入,观察稳定后的状态。
过程可按如下所示框图描述:输入为B 输入为A按公式(1)正向联想得A 按公式(2)反向联想得B按公式(2)反向联想得B 按公式(1)正向联想得A两次联想的到的A 是否相等两次联想的到的B 是否相等稳定输出A 稳定输出B是否否是根据输入矢量的长度确定输入的是哪个矢量,进而确定进入哪个循环,判断结束的条件为网络稳定,即两次得到的所求矢量相等。
例如,当输入为矢量B 时,前一次通过正向联想和反向联想得到A i ,后一次再经过正向联想和反向联想得到A i+1,若两次得到的相等,则认为网络稳定则输出稳定矢量A ,否则,继续迭代。
双向联想网络实验框图1.实验过程随机选取某一保准矢量的若干位取反形成畸变矢量,将其输入网络迭代至稳态,观察对应的输出是否依然正确。
实验中取了如下五组数据:图中所示为输出的能量值实验一:表三:输入A1且有一位取反标准输入矢量A1=[1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1]'标准输出矢量B1=[1,1,1,1,-1,-1,-1,-1,1,1]'一位取反的畸变矢量A1’=[1,1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1]'实际输出B1’=[1,1,1,1,-1,-1,-1,-1,1,1]'= B1图一:输入A1一位取反的能量变化曲线可以看出,当输入A1并且有一位取反时,网络通过联想仍能得到正确的输出B1.因此网络此时的能量与输入标准矢量(A1,B1)时能量相等。
实验二:表四:输入A1且有两位取反标准输入矢量A1=[1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1]'标准输出矢量B1=[1,1,1,1,-1,-1,-1,-1,1,1]'两位取反的畸变矢量A1’=[1,1,1,-1,1,-1,-1,-1,1,-1,1,-1,1,-1,1]'实际输出B1’=[1,1,1,1,-1,-1,-1,-1,1,1]'= B1图二:输入A1两位取反的能量变化曲线因此网络此时的能量与输入标准矢量(A1,B1)时能量相等。
实验三:表五:输入B2且有一位取反标准输入矢量B2=[1,1,1,-1,-1,-1,1,1,1,-1]'标准输出矢量A2=[1,1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1]'一位取反的畸变矢量B2’=[1,1,1,1,-1,-1,1,1,1,-1]'实际输出A2’=[1,1,-1,-1,1,1,-1,-1,1,1,-1,-1,1,1,-1]'= A2图三:输入B2一位取反的能量变化曲线可以看出,当输入B2并且有一位取反时,网络通过联想仍能得到正确的输出A2.因此网络此时的能量与输入标准矢量(B2,A2)时能量相等。
实验四:表六:输入B3且有两位取反标准输入矢量B3=[1,1,-1,-1,1,1,-1,-1,1,1]'标准输出矢量A3=[1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1]'一位取反的畸变矢量B3’=[-1,1,-1,-1,1,-1,-1,-1,1,1]'实际输出A3’=[1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1]'= A3图四:输入B3两位取反的能量变化曲线因此网络此时的能量与输入标准矢量(B3,A3)时能量相等。
实验五:表七:输入B3且有两位取反标准输入矢量B3=[1,1,-1,-1,1,1,-1,-1,1,1]'标准输出矢量A3=[1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1]'一位取反的畸变矢量B3’=[-1,1,-1,-1,1,1,-1,-1,-1,1]'实际输出A3’=[-1,-1,1,-1,-1,-1,1,1,-1,-1,-1,-1,1,1,1]'图五:输入B3两位位取反的能量变化曲线可以看出,当输入B3并且有两位取反时,网络联想此时出现错误,故此时网络的能量与输入标准矢量(B3,A3)时能量不同。
2.实验分析从实验中可以看出,当输入矢量有一位取反时,由于网络的联想功能,基本可以输出正确的结果,但是当输入有多位取反时,则会出现错误,即伪稳定状态。
当然,这只是几个简单的实验,并不能说明当输入有一位取反时就完全不会出现错误输出,也不能从此说明网络的联想能力。
下面会从统计的角度对网络的联想能力做出评估。
3.4 噪声大小对联想能力的影响本实验针对不同的输入以及不同的取反位数计算网络联想的正确率,用其表示网络的联想能力。
每次实验采取1000次输入,每次输入通过迭代得到其对应的输出,再将输出与对应的标准输出矢量比较,判断此次输出是否正确。
进而得到本次实验的正确率。
1.输入为A2.输入为B3.实验分析从实验结果中可以看出,在一行中(即输入相同时),噪声越大,正确率越低。
同时可以看出,由于矢量A的维数较多,所以当矢量B与矢量A取相同的取反位数时,可认为B矢量上的信噪比衰落更大,所以正确率下降。
而且还可以看出一个大致上的规律,当输入矢量内部变化较快(例A1,B4)时,随着噪声增加,其正确率比那些内部变化较慢(例A4)的矢量大。
3.5 伪稳定状态伪稳定状态,即当带噪声的样本输入到网络后,网络仍然迭代至一“稳定状该伪稳定状态是B2加噪声输入,输入有三位取反,输出有五位错误。
四、实验思考题1、在实验步骤4中观察网络能量E是如何变化的?根据网络机理说明原因。
通过实验可以看出,在实验过程中网络能量趋于减小,最终稳定。
这是由于双向联想网络仍是Hopfield网络,因此它仍具有Hopfield神经网络的特点,即网络能量向能量减小的方向走,直至达到极小值的稳定状态。
2、如果我们想要“擦除”存储矢量对中的某对(A i,B i),应如何调整网络?(考虑运算量)双向联想记忆网络中,要想去除某对输入的影响,只要在连接权矩阵中减去这对输入的影响即可。
即W∗=W−A i B i T3、通过总结第5步和第6步实验结果,能得出什么结论?简要解释其中的原因。
从实验结果可以看出:1)噪声越大,正确率越低2)输入矢量维数越大,网络对噪声的承受能力越好,正确率越高3)输入矢量中元素符号变化较快,在一定程度上对网络正确率有所提高五、实验总结在这次实验中,我在进行实验时,主要的难点在于判断迭代停止的条件,刚开始是想每对输入的能量值已经求得,那么稳定的输出结果就应该是对应的输入与输出应该计算得出这一对矢量对应的能量值。