版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、神经网络导论实验二双向联想记忆专业:信息与通信工程班级:5030班学号:3115091011姓名:王静一、实验目的熟悉Kosko型双向联想记忆网络的原理与结构,通过仿真实验掌握具体的实现方法,了解该网络的功能及性能,加深对该类网络的稳定状态和能量函数等概念的理解。二、实验原理我们知道,联想记忆功能分为自联想和异联想,异联想也称为双向联想记忆,简写为BAM,BAM存储器可存储两组矢量,若有如下N维矢量与P维矢量B:A=a。,QniFGB=瓦,瓦,.,bp_iF£-1,1P构成M对矢量(4,及),s=0,1,.7M-1,将它们存入bam存储器即可进行由a到b或由B到A的双向联想,即给定A
2、(或B)可经联想得到对应的标准样本B(或A),当有噪声或缺损时,联想功能可使样本对复原。其实,人脑就具有根据相关线索回忆和恢复信息的能力。例如,片断曲调往往可以唤起人们对整个乐曲的回忆;在人群中某人的背影就足以使我们想起一位老朋友。人工神经网络力图实现这种功能。Kosko的BAM网络就是其中的一种。如图1所示,与矢量A相应的一层有N个节点,另一层对应矢量B,有P个节点,两层间双向连接。假定B到A的传输为正向,正向的权矩阵为W,反之,A至IJB为反向传输,权矩阵为“7。如果输入矢量由上层加入,且相应于网络中B的稳定状态,则经W之作用产生A稳定状态。同理,如果输入矢量在下层,且相应于网络中A的稳定
3、状态,经之作用产生B稳定状态,图1:双向底想记忆网络当输入任意矢量时,网络要经若干次迭代计算演变至稳定状态,过程可示意为:WB(t)->4(t+l)1)tBQ+2)WB(t+2)T7l(t+3)直至A、B为稳态,演变过程结束。网络学习遵从Hebb规则,若给定M个双极性矢量对:(4。,%),则正、反向权矩阵为:M-1W=W4s风s=0MTW7=W及用s=0如果BAM网络神经元函数阈值为0,则称为齐次BAM网络,其能量函数为:11E(AfB)=-AtWB-BtWtA=-AtWB若神经元非线性函数为f,则描述齐次BAM动态特性的差分方程为:正向联想(B=A)4(£+1)=f£
4、;:=i卬海反向联想(A=B)»(t+2)%.(£+1)(2)三、实验内容IS1 .连接权矩阵对于给定的4对学习样本根据Hebb规则计算网络的连接权矩阵,这里只计算正向传输(即从B到A)的权重连接矩阵,反向权矩阵为正向权矩阵的转置。下面为四对学习样本Al=l,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1':A2=l,1,-1,-1,1,1,-1,-1,1,1,-1,-1,I,1,;A3=l,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1Y;A4=l,1,1,1,-1,-1,-1,-1,1,1,1,1,-1,-1,-H,;B
5、l=l,1,1,1,-1,-1,-1,-1,1,1;B2=l,1,1,-1,-1,-1,1,1,1,-1';B3=l,1,-1,-1,1,1,-1,-1,1,1';B4=l,-1,1,-1,1,-1,1,-1,1,T';已知连接权矩阵的计算公式W=即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-24
6、20-40-2220-20-200-2-4002020-2-22400-20-202202-2-202020002-2202-4-2042.能量值由实验原理可知,对于输入的一对样本A、B,其能量值计算公式为:E(AfB)=-AtWB将四对样本分别带入得能量值分别为:表二:能量值样本(Al,B1)(A2,B2)(A3,B3)(A4,B4)能量值E1E2E3E4-158-142-158-1463.2 验证网络的联想能力验证网络的联想能力即任选标准样本4输入网络进行迭代运算直至网络稳定,观察上下两层的状态是否为(4,4),同样,任选区输入,观察稳定后的状态。过程可按如下所示框图描述:双向联想网络实脸
7、框图根据输入矢量的长度确定输入的是哪个矢量,进而确定进入哪个循环,判断结束的条件为网络稳定,即两次得到的所求矢量相等。例如,当输入为矢量B时,前一次通过正向联想和反向联想得到4,后一次再经过正向联想和反向联想得到4+1,若两次得到的相等,则认为网络稳定则输出稳定矢量A,否则,继续迭代。以下为网络联想得到的几组实验数据输入A1A3B2A2B4输出B1B3A2B2A4可以看出,该网络具有联想能力,对于给定的输入能正确的得到输出,没有错误。3.3 验证网络的抗噪能力1 .实验过程随机选取某一保准矢量的若干位取反形成畸变矢量,将其输入网络迭代至稳态,观察对应的输出是否依然正确。实验中取了如下五组数据:
8、图中所示为输出的能量值实验一:表三:输入A1且有一位取反标准输入矢量Al=l,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1'标准输出矢量Bl=l,1,1,1,-1,-1,-1,-1,1,1'一位取反的畸变矢量AV=1,1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1'实际输出BV=1,1,1,1,-1,-1,-1,-1,1,=图一:输入A1一位取反的能最变化曲线可以看出,当输入A1并且有一位取反时,网络通过联想仍能得到正确的输出B1.因此网络此时的能量与输入标准矢量(Al,B1)时能量相等。实验二:表四:输入A1且有两位取反标准
9、输入矢量Al=l,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1,-1,1'标准输出矢量Bl=1,1,1,1,-1,-1,-1,-1,1,1'两位取反的畸变矢量Al*=l,1,1,_1,1,-1,-1,1,-1,1,-1,1,-1,1,实际输出Blz=l,1,1,1,-1,-1,-1,-1,1,=可以看出,当4因此网络此时三确的输出B1.图二:输入A1两位取反的能最变化曲线图三:输入B2一位取反的能量变化曲线可以看出,当输入B2并且有一位取反时,网络通过联想仍能得到正确的输出A2.因此网络此时的能量与输入标准欠量(B2,A2)时能量相等。实验四:表六:输入B3且有两
10、位取反标准输入矢量B3=l,1,-1,-1,1,1,-1,-1,1,1,标准输出矢量A3=l,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1Y一位取反的畸变矢量B3Z=-1,1,-1,-1,1,-1,-1,-1,1,1'实际输出A3Z=1,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1'=A3-9C-102110.122132图四:输入B3两位取反的能量变化曲线可以看出,当输入B3TTJZLBPlI2L2人“J,叱得到正确的输出A3.因此网络此时的能量与输入标准矢量(B3,A3)时能量相等。实验五:表七:输入B3且有两位取反标准输入矢量B
11、3=l,1,-1,-1,1,1,-1,-1,1,1'标准输出矢量A3=l,1,1,-1,-1,-1,1,1,1,-1,-1,-1,1,1,1'一位取反的畸变矢量B3Z=-1,1,-1,-1,1,1,T,-1,-1,1'实际输出A3#=-l,-L1,-1,1,-1,-1,-1,-1,1,1,1'图五:输入B3两位位取反的能量变化曲线可以看出,当输入B3并且有两位取反时,网络联想此时出现错误,故此时网络的能量与输入标准矢量(B3,A3)时能量不同。2 .实验分析从实验中可以看出,当输入矢量有一位取反时,由于网络的联想功能,基本可以输出正确的结果,但是当输入有多位取反
12、时,则会出现错误,即伪稳定状态。当然,这只是几个简单的实验,并不能说明当输入有一位取反时就完全不会出现错误输出,也不能从此说明网络的联想能力。下面会从统计的角度对网络的联想能力做出评估。3.4噪声大小对联想能力的影响本实验针对不同的输入以及不同的取反位数计算网络联想的正确率,用其表示网络的联想能力。每次实验采取1000次输入,每次输入通过迭代得到其对应的输出,再将输出与对应的标准输出矢量比较,判断此次输出是否正确。进而得到本次实验的正确率。1 .输入为A反位数输入取反1位取反2位取反3位A110.99200.9660A210.99100.9000A310.94900.9190A410.8990
13、0.76302 .输入为B取反位数输入取反1位取反2位取反3位B110.90400.G710B20.89100.76700.6000B30.91000.77600.4080B40.89400.74100.63303.实验分析从实验结果中可以看出,在一行中(即输入相同时),噪声越大,正确率越低。同时可以看出,由于矢量A的维数较多,所以当矢量B与矢量A取相同的取反位数时,可认为B矢量上的信噪比衰落更大,所以正确率下降。而且还可以看出一个大致上的规律,当输入矢量内部变化较快(例Al,B4)时,随着噪声增加,其正确率比那些内部变化较慢(例A4)的矢量大。3 .5伪稳定状态伪稳定状态,即当带噪声的样本输
14、入到网络后,网络仍然迭代至一“稳定状态”,但不是标准的输出矢量。所以称为伪稳定状态。标准输入Al=l,-1,1,-1,1,-1,1,-1,1,1,-1,1,-1,1了标准输出B1=1,1,1,1,-1,-1,-1,-1,1,1Y实际输入Al#=l,1,1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1,1'实际输出BV=1,1,-1,1,1,1,-1,-1,1,1'E-146该伪稳定状a及是Al加噪声输入,输入有四位取反,输出有三位错误。标准输入B2=i,1,1,-1,-1,-1,1,1,i,-ir标准输出A2=l,1,-1,-1,1,1,-1,-1,1,1,-1,-
15、1,1,1,T'实际输入B2*=l,1,-1,-1,1,-1,-1,1,1,-1,实际输出A2Z=1,1,1,-1,-1,-1,-1,-1,1,1,1,-1,1,-1,-l1E-118该伪稳定状X片是B2加噪声输入,输入有三位取反,输出有五位错误。四、实验思考题1、在实验步骤4中观察网络能量E是如何变化的?根据网络机理说明原因。通过实验可以看出,在实验过程中网络能量趋于减小,最终稳定。这是由于双向联想网络仍是Hopfield网络,因此它仍具有Hopfield神经网络的特点,即网络能量向能量减小的方向走,直至达到极小值的稳定状态。2、如果我们想要“擦除”存储矢量对中的某对(4,4),应如
16、何调整网络?(考虑运算量)双向联想记忆网络中,要想去除某对输入的影响,只要在连接权矩阵中减去这对输入的影响即可。即W*=W-3、通过总结第5步和第6步实验结果,能得出什么结论?简要解释其中的原因。从实验结果可以看出:1)噪声越大,正确率越低2)输入矢量维数越大,网络对噪声的承受能力越好,正确率越高3)输入矢量中元素符号变化较快,在一定程度上对网络正确率有所提高五、实验总结在这次实验中,我在进行实验时,主要的难点在于判断迭代停止的条件,刚开始是想每对输入的能量值已经求得,那么稳定的输出结果就应该是对应的输入与输出应该计算得出这一对矢量对应的能量值。因此在实现时判断结束语句是c=-a*W*b=El
17、,-a*W*b=E2,-a*W*b=E3,-af*W*b=E4,;其中C为逻辑数组,然后根据C中是否有1来判断迭代是否停止,有1,则说明达到稳定状态,否则迭代继续。但是后来通过对实验的分析得出,如果输入有噪声的话,仍然能达到一个伪稳定状态,但是此时的能量值发生改变,所以不能用这个条件作为判断迭代结束的条件,后来我的判断条件为连续两次得到的输出是否相等,若相等则达到“稳定状态”。六、源代码cicclear1,-1,1,-1,1,-1,1'a4=(ijjj厂b2=u,ijb3wij/i广8411厂1,1厂1,1厂1,1厂1,1,-1.;W=zeros(15/10);fors=l:4W=WM
18、seBs';endEl=-Al,eWBl;E2=-A2,>WB2;E3=-A3,eWB3;E4二A4'*WB4;Aa=zeros(15,2);Bb=zeros(10/2);a=zeros(154);b=zeros(10/l);c=n,L-i,-u;%逻辑数组,判断结果是否稳定,即网络的能量函数p=l%输入的为哪个变量in=Bp%输入向量l=length(in);%根据输入向量的长度判断输入的是A还是Bif(l=10)testa=0;b=(inT(l-2,randerr(l,10,1),;随机取100个若干位取反的输入%墉人为B时cha=2eros(15,l);cha(14
19、)=l;whilesum(cha)=0%第一次计算afori=l:15origina=a(i,l);%先将原始的a存起来,当求和为0时,神经元的输出维持不变forj=L:10enda(i,l);origina;elsea(U)=sign(a(i4);endend%A=WBforj=l:10originb=b(j,l);%先将原始的b存起来,当求和为0时,神经元的输出维持不变fori=l:15endif(b0,l)=O)b(j,l)=originb;elseb(j,l)=sign(b(jj);endend%B=W'*AAa(:,l)=a;%将前一次迭代得到的a存入第一列%第二次计算afo
20、ri=l:15origina=a(i,l);%先将原始的a存起来,当求和为。时,神经元的描出维持不变forj=l:10endif(a(i,l)=0)a(i,l)二origina;elsea(i,l)=sign(a(i,l);endend%A=WBforj=l:10originb=先将原始的b存起来,当求和为0时,神经元的饰出维持不变fori=l:15endif(bO,l)=0)b(j,l)=originb;elseb(j,l)=sign(b(j,l);endendAa(:,2)=a;%将后一次迭代得到的a存入第二列cha=Aa(:J)Aa(:,2);end%testa(:;n)=a.*Ap;m=a-Ap;if(sum(mf=0)testa=testafl;elsetesta=testa+0;endend%errora=find(testa=-l);%cittesta中-1的个数,即输入为B时联想错误的元素acca=ltesta/1000;%准确率%榆入为A时elsetestb=0;forn=l:1000Einr(l-2ynder15J)7%随机取100个若干位取反的输入chb二zeros(10,l);chb(l,l)=l;w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论