基于离散Hopfield神经网络的数字识别实现摘要:介绍了离散hopfield神经网络的基本概念;以matlab为工具,根据hopfield神经网络的相关知识,设计了一个具有联想记忆功能的离散型hopfield神经网络,并给出了设计思路、设计步骤和测试结果。实验结果表明,通过联想记忆,对于带有一定噪声的数字点阵,hopfield网络可以正确地进行识别,且当噪声强度为0.1时的识别效果较好。关键词:离散;hopfield神经网络;联想记忆;数字识别中图法分类号:tp301.6文献标识码:a文章编号:1006-8228(2012)03-01-03onnumericalrecognitionusingdiscretehopfieldneuralnetworkjincan1,2(1.schoolofinformationscienceandengineering,centralsouthuniversity,changsha,hunan410083,china2.moderneducationtechnologycenter,hunanuniversityofartsandscience)abstract:theauthorintroducesinthispaperthebasicconceptofdiscretehopfieldneuralnetwork(dhnn),andthendesignsadiscretehopfieldneuralnetworkmodelwithassociativememoryfunctionusingmatlabaccordingtotherelatedknowledgeofdhnn.specifically,theauthorpresentstheideaofdesigning,designingprocedureandthetestingresults.thesimulationshowsthatdhnncancorrectlyrecognizethenumericaldotmatriceswithnoises.whennoiseintensityislessthan0.1,therecognitionabilityissatisfactory.keywords:discrete;hopfieldneuralnetwork;associativememory;numeralrecognition1离散hopfield神经网络概述hopfield网络作为一种全连接型的神经网络,曾经为人工神经网络的发展开辟了新的研究途径。它利用与阶层性神经网络不同的结构特征和学习方法,模拟生物神经网络的记忆机理,获得了令人满意的结果。这一网络及学习算法最初是由美国物理学家j.jhopfield于1982年首先提出的,故称为hopfield神经网络[1]。hopfield最早提出的网络是二值神经网络,神经元的输出值只取1或-1,所以,也称离散hopfield神经网络(dhnn,discretehopfieldneuralnetwork)。在离散hopfield网络中,所采用的神经元是二值神经元,因此,所输出的离散值1和-1分别表示神经元处于激活和抑制状态[2]。dhnn是一种单层、输出为二值的反馈网络。假设有一个由三个神经元组成的离散hopfield神经网络[3],其结构如图1所示[4]。在图1中,第0层仅仅作为网络的输入,它不是实际神经元,所以无计算功能;第1层是神经元,执行对输入信息与权系数的乘积求累加和,并经非线性函数f处理后产生输出信息。f是一个简单的阈值函数,如果神经元的输出信息大于阈值θ,那么,神经元的输出取值为1;小于阈值θ,则神经元的输出取值为-1。图1离散hopfield神经网络结构对于二值神经元,它的计算公式如下:⑴式中,xj为外部输入,并且有⑵一个dhnn的网络状态是输出神经元信息的集合。对于一个输出层是n个神经元的网络,其t时刻的状态为一个n维变量:⑶因为yi(t)(i=1,2,…,n)可以取值为1或-1,故n维向量y(t)有2n种状态,即网络有2n种状态。我们考虑dhnn的一般节点状态。用yj(t)表示第j个神经元,即节点j在时刻t的状态,则节点的下一个时刻(t+1)的状态可以求得:⑷⑸如果wij在i-j时等于0,说明一个神经元的输出并不会反馈到其输入,这时,dhnn称为无自反馈的网络。如果wij在i=j时不等于0,说明一个神经元的输出会反馈到其输入端,这时,dhnn称为有自反馈的网络[4]。2联想记忆网络联想记忆是神经网络理论的一个重要组成部分,也是神经网络用于模式识别与人工智能等领域的一个重要功能。hopfield网络模拟了生物神经网络的记忆功能,也常常被称为联想记忆网络。所谓的联想记忆也成为了一种基于内容的存取方法,信息被分布于生物记忆的内容之中,而不是某个确定的地址。联想记忆可分为自联想与异联想两种。hopfield网络属于自联想网络。自联想能将网络中输入模式映射到存贮在网络中一种模式。联想记忆网络不仅能将输入模式映射为自己所存贮的模式,而且还能对具有缺省噪音的输入模式有一定的容错能力。设在学习过程中给联想记忆网络存入m个样本:{xi}i=1,2,……m。若给联想记忆网络加以输入x’=xm+v,其中xm是m个学习样本之一,v是偏差项,则通过自联想联想记忆网络的输出为xm,即使之复原。hopfield联想记忆网络运行步骤为:第一步:设定记忆模式。将欲存储的模式进行编码,得到取值为1和-1的记忆模式(m图2数字1和2的点阵图3.2设计步骤按照上述思路,设计hopfield网络需要经过以下几个步骤,如图3所示。[设计数字点阵(0-9)][创建hopfield网络][产生带噪声的数字点阵][数字识别测试][结果分析]图3hopfield网络设计流程图3.3matlab实现利用matlab神经网络工具箱提供的函数,可以按照hopfield网络设计流程图将设计步骤一一在matlab环境下实现。3.3.1输入输出设计如图2所示,有数字的部分用1表示,空白部分用-1表示,即可得到0~9的点阵。将数字点阵以图形的形式呈现出来,如图4所示。图4数字点阵0~9的实现结果以数字1、2、3、4为例,利用这四个数字点阵构成训练样本t:t=[array_one;array_two;array_three;array_four]’3.3.2网络建立利用newhop()函数可以方便地创建一个离散型hopfield神经网络。3.3.3产生带噪声的数字点阵常见的模拟产生带噪声数字的方法有两种:固定噪声法和随机噪声法。固定噪声法指的是人工修改的方法改变数字点阵某些位置的值,从而模拟产生带噪声的数字点阵。如果希望产生不同的带噪声的数字矩阵,需要人工做多次的修改,这无疑是比较麻烦的。相比较而言,随机噪声产生法可以方便地产生各种类型的带噪声的数字矩阵。随机噪声产生法是利用产生随机数的方法来确定需要修改的点阵位置,进而对数字点阵进行修改。由于数字点阵中的值只有1和-1两种,所以这里的修改就是将1换成-1,-1换成1。3.3.4网络仿真利用sim()函数可对神经网络进行仿真,其调用格式为:4实验结果与分析将带噪声的数字点阵输入已创建好的hopfield网络,便可对带噪声的数字点阵进行识别,识别结果仍为数字点阵形式。考虑到仿真结果的直观性和可读性,程序中的数字点阵将以图形的形式呈现,如图5所示。图5噪声强度为0.1时数字识别结果图5所示的是噪声强度为0.1(即10%的数字点阵位置值发生变化)时的识别效果。从图中可以看出,识别效果较好。进一步的研究发现,随着噪声强度的增加识别效果逐渐下降。噪声强度为0.2和0.3时的识别结果分别如图6和图7所示。从图中不难看出,当噪声强度为0.3时,hopfield已经很难对数字进行识别了。图6噪声强度为0.2时的识别结果图7噪声强度为0.3时的识别结果5结束语通过对实验结果的分析,可以得出结论:对于带一定噪声的数字点阵,hopfield网络可以正确地进行数字识别。下一步的工作可以将一些优化算法与离散hopfield神经网络相结合,使神经网络的联想记忆能力更强,应用效果更为突出。例如,由于一般离散hopfield神经网络存在很多伪稳定点[1],网络很难得到真正的稳态,为此可以将遗传算法应用到离散hopfield神经网络中,利用遗传算法的全局搜索能力,对hopfield联想记忆稳态进行优化,使待联想的模式跳出伪稳定点,从而使hopfield网络在较高信噪比的情况下保持较高的联想成功率。参考文献:[1]飞思科产品研发中心.神经网络与matlab7实现[m].电子工业出版社,2005.[2]matlab神经网络与应用(2版)[m].国防工业出版社,2007.[3]张良均,曹晶,蒋世忠.神经网络适用教程[m].机械工业出版社,2008.[4]史峰,王小川等.matlab神经网络30个案例分析[m].北京航空航天大学出版社,2010.[5]边肇祺,张学工等.模式识别[m].清华大学出版社,1999.[6]张宏林.数字图像模式识别技术及工程实践[m].人民邮电出版社,2004.[7]邓丽华,崔志强,张静.基于人工神经网络的手写体数字识别[j].三峡大学学报,2005.6:255~256[8]孙兆林.matlab6.x图像处理[m].清华大学出版社,2002.[9]付德胜,张学勇.基于hopfield神经网络噪声数字的识别[j].通信技术,vol.43,no.01,2010:126~129[10]孟祥武,程虎.基于任意给定训练集的离散型hopfield网学习算法[j].软件学报,1998.9(03):213~216[11]陈文宇,吴跃.hopfield神经网络参数设置[j].计算机工程与应用,2006.31.[12]talavan.yanezpm.parametersettingofthehopfieldnetworkappliedtotsp[j].2002[13]张涛涛等.基于hopfield神经网络的wsn分布式拓扑[j].计算机与现代化,2010.1:63~65[14]姜惠兰,孔雅明.异联想记忆hopfield神经网络的模型、算法及性能[j].系统工程理论与实践,2005.5:101~104