《神经网络导论》实验二——双向联想记忆专业:信息与通信工程班级:5030班学号:3115091011姓名:王静一、实验目的熟悉Kosko型双向联想记忆网络的原理与结构,通过仿真实验掌握具体的实现方法,了解该网络的功能及性能,加深对该类网络的稳定状态和能量函数等概念的理解。二、实验原理我们知道,联想记忆功能分为自联想和异联想,异联想也称为双向联想记忆,简写为BAM。BAM存储器可存储两组矢量,若有如下N维矢量与P维矢量B:A=[𝑎0,𝑎1,…,𝑎𝑁−1]𝑇∈{−1,1}𝑁B=[𝑏0,𝑏1,…,𝑏𝑃−1]𝑇∈{−1,1}𝑃构成M对矢量(𝐴𝑠,𝐵𝑠),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为反向传输,权矩阵为𝑊𝑇。如果输入矢量由上层加入,且相应于网络中B的稳定状态,则经W之作用产生A稳定状态。同理,如果输入矢量在下层,且相应于网络中A的稳定状态,经𝑊𝑇之作用产生B稳定状态,当输入任意矢量时,网络要经若干次迭代计算演变至稳定状态,过程可示意为:WB(t)→𝐴(𝑡+1)𝑊𝑇𝐴(𝑡+1)→𝐵(𝑡+2)WB(t+2)→𝐴(𝑡+3)…直至A、B为稳态,演变过程结束。网络学习遵从Hebb规则,若给定M个双极性矢量对:(𝐴0,𝐵0),(𝐴1,𝐵1),…,(𝐴𝑀−1,𝐵𝑀−1)则正、反向权矩阵为:W=∑𝐴𝑠𝐵𝑠𝑇𝑀−1𝑠=0W𝑇=∑𝐵𝑠𝐴𝑠𝑇𝑀−1𝑠=0如果BAM网络神经元函数阈值为0,则称为齐次BAM网络,其能量函数为:E(A,B)=−12𝐴𝑇𝑊B−12𝐵𝑇𝑊𝑇A=−𝐴𝑇𝑊𝐵若神经元非线性函数为f,则描述齐次BAM动态特性的差分方程为:正向联想(B⇒A)𝑎𝑖(𝑡+1)=𝑓[∑𝑤𝑖𝑗𝑏𝑗(𝑡)𝑃𝑗=1](1)反向联想(A⇒B)𝑏𝐽(𝑡+2)=𝑓[∑𝑤𝑖𝑗𝑎𝑖(𝑡+1)𝑁𝑖=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=∑𝐴𝑠𝐵𝑠𝑇𝑀−1𝑠=0,即W为15*10的矩阵,则带入四对样本可得连接权矩阵W为:表一:连接权矩阵422-20-20-240200-420202-2200020-2-422-2-4002020-2-20222-4-20200-2000-2024-2-202-2202-4-204-20-4024-20-22422-20-20-2400-22-20-2420-40-2220-20-200-2-4002020-2-22400-20-202202-2-202020002-2202-4-2042.能量值由实验原理可知,对于输入的一对样本A、B,其能量值计算公式为:E(A,B)=−12𝐴𝑇𝑊B−12𝐵𝑇𝑊𝑇A=−𝐴𝑇𝑊𝐵将四对样本分别带入得能量值分别为:表二:能量值样本(A1,B1)(A2,B2)(A3,B3)(A4,B4)能量值E1E2E3E4-158-142-158-1463.2验证网络的联想能力验证网络的联想能力即任选标准样本𝐴𝑖输入网络进行迭代运算直至网络稳定,观察上下两层的状态是否为(𝐴𝑖,𝐵𝑖),同样,任选𝐵𝑖输入,观察稳定后的状态。过程可按如下所示框图描述:InputL=length(input)输入为B输入为A按公式(1)正向联想得A按公式(2)反向联想得B按公式(2)反向联想得B按公式(1)正向联想得A两次联想的到的A是否相等两次联想的到的B是否相等稳定输出A稳定输出B是否否是L=10L=15根据输入矢量的长度确定输入的是哪个矢量,进而确定进入哪个循环,判断结束的条件为网络稳定,即两次得到的所求矢量相等。例如,当输入为矢量B时,前一次通过正向联想和反向联想得到𝐴𝑖,后一次再经过正向联想和反向联想得到𝐴𝑖+1,若两次得到的相等,则认为网络稳定则输出稳定矢量A,否则,继续迭代。以下为网络联想得到的几组实验数据输入A1A3B2A2B4输出B1B3A2B2A4可以看出,该网络具有联想能力,对于给定的输入能正确的得到输出,没有错误。3.3验证网络的抗噪能力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并且有一位取反时,网络通过联想仍能得到正确的输出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.因此网络此时的能量与输入标准矢量(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并且有一位取反时,网络通过联想仍能得到正确的输出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图二:输入A1两位取反的能量变化曲线图三:输入B2一位取反的能量变化曲线可以看出,当输入B3并且有两位取反时,网络通过联想仍能得到正确的输出A3.因此网络此时的能量与输入标准矢量(B3,A3)时能量相等。实验五:表七:输入B3且有两位取反可以看出,当输入B3并且有两位取反时,网络联想此时出现错误,故此时网络的能量与输入标准矢量(B3,A3)时能量不同。2.实验分析从实验中可以看出,当输入矢量有一位取反时,由于网络的联想功能,基本可以输出正确的结果,但是当输入有多位取反时,则会出现错误,即伪稳定状态。当然,这只是几个简单的实验,并不能说明当输入有一位取反时就完全不会出现错误输出,也不能从此说明网络的联想能力。下面会从统计的角度对网络的联想能力做出评估。标准输入矢量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两位位取反的能量变化曲线3.4噪声大小对联想能力的影响本实验针对不同的输入以及不同的取反位数计算网络联想的正确率,用其表示网络的联想能力。每次实验采取1000次输入,每次输入通过迭代得到其对应的输出,再将输出与对应的标准输出矢量比较,判断此次输出是否正确。进而得到本次实验的正确率。1.输入为A取反1位取反2位取反3位A110.99200.9660A210.99100.9000A310.94900.9190A410.89900.76302.输入为B取反1位取反2位取反3位B110.90400.6710B20.89100.76700.6000B30.91000.77600.4080B40.89400.74100.63303.实验分析从实验结果中可以看出,在一行中(即输入相同时),噪声越大,正确率越低。同时可以看出,由于矢量A的维数较多,所以当矢量B与矢量A取相同的取反位数时,可认为B矢量上的信噪比衰落更大,所以正确率下降。而且还可以看出一个大致上的规律,当输入矢量内部变化较快(例A1,B4)时,随着噪声增加,其正确率比那些内部变化较慢(例A4)的矢量大。3.5伪稳定状态伪稳定状态,即当带噪声的样本输入到网络后,网络仍然迭代至一“稳定状态”,但不是标准的输出矢量。所以称为伪稳定状态。标准输入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]'E-146该伪稳定状态是A1加噪声输入,输入有四位取反,输出有三位错误。标准输入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]'E-118该伪稳定状态是B2加噪声输入,输入有三位取反,输出有五位错误。四、实验思考题1、在实验步骤4中观察网络能量E是如何变化的?根据网络机理说明原因。通过实验可以看出,在实验过程中网络能量趋于减小,最终稳定。这是由于双向联想网络仍是Hopfield网络,因此它仍具有Hopfie