神经网络导论_双向联想记忆

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《神经网络导论》实验二——双向联想记忆

专业:信息与通信工程

班级: 5030班

学号: **********

姓名:**

一、实验目的

熟悉Kosko型双向联想记忆网络的原理与结构,通过仿真实验掌握具体的实现方法,了解该网络的功能及性能,加深对该类网络的稳定状态和能量函数等概念的理解。

二、实验原理

我们知道,联想记忆功能分为自联想和异联想,异联想也称为双向联想记忆,简写为BAM。BAM存储器可存储两组矢量,若有如下N维矢量与P维矢量B:

A=[a0,a1,…,a N−1]T∈{−1,1}N

B=[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 T

M−1

s=0

W T =∑B s A s T M−1

s=0

如果BAM 网络神经元函数阈值为0,则称为齐次BAM 网络,其能量函数为: E (A,B )=−12A T WB −12

B T W T

A =−A T WB

若神经元非线性函数为f ,则描述齐次BAM 动态特性的差分方程为: 正向联想(B ⇒A)

a i (t +1)=f[∑w ij

b 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 T

M−1s=0,即W 为15*10的矩阵,则带入

四对样本可得连接权矩阵W 为:

2.能量值

由实验原理可知,对于输入的一对样本A 、B ,其能量值计算公式为:

E (A,B )=−12A T WB −1

2

B 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两位取反的能量变化曲线

相关文档
最新文档