1.系统的功能、目标、目的
为何选择联想记忆功能进行模拟:联想记忆是神经网络理论的重要组成部分,也是神经网络用于智能控制、模式识别与人工智能等领域的一个重要功能。而且它具有成形的数学模型进行功能的描述,这对于跨学科(电子信息科学与神经科学)的研究是至关重要的。因为要用电子技术即EDA技术对神经科学进行模拟,就要搞清EDA技术中的各个器件对应的计算单元或整体所表达的数学方程式,因此对功能的清晰数学描述是关键。
设计采用Hopfield神经网络,是由于它是反馈神经网络,也是一个反馈动力学系统,具有很强的计算能力,并且运算原理清晰,原理与联想记忆相似,极适合于表达联想记忆功能。
本系统采用MAX+plusⅡ软件,是由于它具有原理图输入和文本输入(采用硬件描述语言)两种输入手段,利用该工具所配置的编辑、编译、仿真、综合、芯片编程等功能,将设计电路图或电路描述程序变成基本的逻辑单元写入到可编程的芯片(如FPGA现场可编程门阵列芯片)中,做成ASIC芯片。这里利用MAX+plusⅡ中的文本输入和VHDL(超高速集成电路描述语言)编写程序。该语言是自顶向下的硬件电路描述语言,通过人和计算机都能看懂的语言描述电路设计,使设计更简便,并可进行仿真。这里用以描述人工智能学中的Hopfield神经网络,再试图将此程序利用FPGA硬件实现出来,让人们能够直观地、清晰地看到联想记忆的过程、效果和结果。
目的是用电子信息技术中的硬件系统表达出停留在理论上的Hopfield神经网络,并模拟联想记忆这一人脑功能,使电子信息技术和脑科学结合起来。目标是用硬件表达出模拟成果,并可使观察者清晰、直观地观察到联想记忆的结果。
2.技术指标
本系统采用16个神经元,即16个计算单元组成Hopfield神经网络。最后的仿真结果将下载,用可编程逻辑器件显示。16个神经元将用16个小灯显示,组成4×4的方阵。由前所述,Hopfield联想记忆网络记忆容量的上限为0.15N,此时N=16,则记忆容量为0.15×16=2.4,即可以记住至多两个稳定状态,这里为了方便起见,让网络记住了一个稳定状态。网络运行时可以输入形似4的图形,让网络自行运行,网络会一步一步趋向设定的稳定状态。这就类似于人脑的联想记忆功能,即看到类似于自己曾经记忆过的图形,会联想起以前的图形。
3.数据设定
在编写程序之前要设定一些必要的数据,首先要设定与所记忆模式相关的网络权值。
本设计要求系统事先记忆目标模式,而目标模式的记忆是由设定网络权值来实现的。由以上所述,这几要记忆的目标模式如图2-28所示。
图2-28 目标模式示意图
其实它就是一个4×4的矩阵:(www.daowen.com)
此矩阵安排的顺序,也就是安排神经元an的顺序是从an1到an16时,由从左到右、从上到下、先横排、后纵排的顺序排列的。左上角是an1,右下角是an16。那么目标模式写成16位二值逻辑形式就是“1010 1010 1111 0010”。有了这个要求记忆的模式,就可以根据下式计算出权值矩阵:
程序中权值矩阵部分数值如下:
- -w_1_1:=0;w_1_2:=-625;w_1_3:=625;w_1_4:=-625;w_1_5:=625;
w_l_6:=-625;w_l_7:=625;w_1_8:=-625;w_1_9:=625;w_1_10:=625;
w_1_11:=625;w_1_12:=625;w_1_13:=-625;w_1_14:=-625;
w_1_15:=625;w_1_16:=-625。
在计算时,真正的矩阵中的数值应该都是0.0625或-0.0625(除自反馈权值为0外),这里都改成了625和-625,待写在程序中时,又都改成了1或-1,这样做的原因是便于程序运算处理。
程序中还要设定初值。由于程序中定义16位总线端口的语句是16 DOWNTO 1,也就是从an16开始定义到an1,所以程序中的顺序与上面所说的顺序正好相反,是从右下角到左上角。那么目标模式就应该是“0100 1111 0101 0101”,用十六进制数表示就是“4F55”。设定的检测模式矩阵为
设定为“0100 1001 0101 0010”,用十六进制数表示为“4952”。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。