基于Hopfield神经网络的噪声字母识别
发布时间:2015-07-04 09:21
摘要 人工神经网络是对人脑功能的某些程度的反映,具有自适应和自学习的能力,可通过对模式样本的自学习,从中获取特征,并能将学习获得的知识应用到图像、文字等识别中。本文采用hopfield神经网络进行英文字母识别,仿真结果表明,该方法能有效地对含噪声的英文字母进行识别。在相同的白噪声模型下,该方法在噪声均方差稍小时, 其容错能力比起back propagation网络方法有一定的增强。
关键词 hopfield神经网络,模式识别,目标向量。
1 引言
近年来,神经网络的应用取得了令人瞩目的进展,其中模式识别(pattern recognition)是神经网络应用最早也最广泛的领域之一,从最早的感知器到文字识别等,都是神经网络应用于模式识别的例子[1]。在传统的统计方法中,模式识别是将样本的特征向量和每个模式类别的特征向量进行比较,然后将样本归到离其最近的模式类别中。而神经网络是模仿人脑的工作机制,用大量简单的计算单元(神经元)连成网络,进行并行计算,并能存储大量的经验知识的计算模型。利用神经网络来进行模绞侗穑唤隹筛菅窘醒埃善识别能力,而且不需要对模式分布进行一些统计上南妊榧偕瑁商岣咦允视π浴w址侗鹗悄j绞侗鸬囊桓龇种в淙挝袷茄芯咳绾问辜扑慊芄皇侗鹱址d壳捌毡椴捎肂ack propagation(bp)神经网络进行字符识别[2],但由于bp网络存在训练时间较长、很容易陷入局部最小值等不足,尽管采用一些改进的算法可以较好的解决某些实际问题,可在设计过程中往往都要经过反复的试凑和训练过程,无法严格保证每次训练时bp算法的收敛性和全局最优性。与此相比,hopfield神经网络不需要反复的试凑,因为此网络已被证明是收敛的,而且是能量函数e-收敛的[3]。它是一种具有记忆功能的反馈型神经网络,其中学习和识别过程可以分别地独立进行。本文利用hopfield神经网络进行字符识别,并与bp网络方法的实验结果进行比较。
2 hopfield神经网络
hopfield神经网络的结构如图1所示[4],其中r1是输入矢量的维数,s1是神经元的个数,输入p作为网络的初始状态,当网络根据输入得到输出后,该输出将被反馈到输入端,成为新的输入,如此反复,通过对网络权值和阈值的调整,直到网络的输出稳定为止。该网络的所有神经元都是一样的,它们之间相互连接。从系统观点看,该网络的演变过程是一个非线性动力学系统,可以用一组非线性差分方程或微分方程来描述。系统的稳定性可用“能量函数”进行分析。在满足一定条件的情况下,“能量函数”的能量在网络运行过程中不断地减少,最后趋于稳定平衡状态。一个非线性动力学系统具有许多性质,例如稳定问题,各种类型的吸引子以至混沌现象等,利用这些特性可以完成各种复杂的计算。
图1 hopfield神经网络结构
hopfield神经网络的应用形式有联想记忆和优化计算两种。其中联想记忆是指当网络输入某个矢量后,网络经过反馈演化,从网络输出端得到另一个矢量,这样输出矢量称作网络从初始输入矢量联想得到一个稳定记忆,即网络地一个平衡点。优化计算是指当某一问题存在多种解法时,可以设计一个目标函数,得到寻求满足这一目标函数的最优解法。本文将采用联想记忆的形式进行英文字母识别。
3 基于hopfield神经网络的字母识别
在hopfield网络中,有离散和连续两种系统。其中离散hopfield网络的神经元变化函数为符号函数,网络节点状态只取两个值+1、-1,它在模式识别中常用作联想记忆。从动力学的观点,如果网络节点的初始状态为x(0),连接权值为wij,当其运行t步后处于状态x(t+1) 即
(1)
由于能量函数e是有界的,系统最终必定是要达到某个稳定的状态,或者是在某几个状态绕行,这些状态就是非线性动力学系统的吸引子,即能量函数的局部最小点。hopfield网络用于联想记忆时分为两个阶段:学习阶段和联想阶段。学习阶段的任务是:给定,按照hebb学习规则
(2)
调整权wij,使得存储样本成为系统的吸引子。联想阶段的任务是:在上述wij已调整好的情况下,对于给定残缺不全或者受到干扰的信息,令其作为联想关键字,按照动力学规则变化神经元的状态,使得最终的稳态成为动力学的吸引子。
利用神经网络进行字符识别,实际上是通过训练神经网络,使其能够根据字符的特征输入得到期望目标矢量的过程。然而,在实际识别过程中,字符的特征输入矢量中可能会混入噪声,应使网络具备一定的抑制噪声的能力。本文采用matlab编程语言,使用其神经网络工具箱提供的网络创建函数建立一个hopfield神经网络,其中目标矢量t的元素必须是+1或-1。因此,在英文字母的识别过程中,每个目标向量代表一个字母,可以通过以下的准则进行目标向量的设置:字母从a到z依次排列,共有26个对应位置,每个字母在其对应位置的值为1,而其他位置的值为-1。例如字母a、b的目标向量分别为t_a=[1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]t,t_b=[-1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]t,其
他字母依次类推。建立网络后,给网络输入一个含噪声的随机向量,通过仿真网络,可获取网络输出、训练终止时的输入延迟状态、训练终止时的层延迟状态。通过调整批处理数据个数和网络仿真的时间步数,将得到不同的网络输出。 4 结果分析 现采用噪声均值为0,均方差依次为0到0.5,间隔为0.05的白噪声模型对所设计的神经网络进行仿真。对每一种不同方差的白噪声,产生100组含有该类型噪声的样本,然后利用这些样本对识别网络进行仿真,根据仿真结果计算出100组样本的误识率。为了测试系统,试验了英文字母a,并对它加入均方差为0.2的噪声,观察其得到的输出结果,输出如图2所示。下面的左图是含噪声的输入字符,右图是识别结果,由此可见,在此条件下,hopfield网络经过学习,能够完全正确地识别出所有字母。 图2 含噪声的字母及识别结果 本文对26个大写字母进行识别,通过改变仿真时间步数n,得到不同的识别曲线,这里n分别取为10到50,图3绘出了网络输出错误与噪声信号的比较曲线,第一根实线是仿真时间步数为10的系统误识率曲线,第一根虚线是仿真时间步数为20的曲线,由上往下依次类推。由仿真结果可看出,网络经过n步仿真后,随着噪声均方差的逐步变大,网络的误识率呈上升趋势,但在噪声均方差小于0.15之前,网络的误识率很小。并且在同一个噪声级别上网络的误识率随着仿真时间步数的逐步提高而变小。同时在仿真时间步数为40与50时,曲线部分是重叠的。当仿真时间步数达到一定值时,系统的误识率曲线就基本趋于同一曲线。 图3 误识率与噪声方差及仿真步数的变化关系曲线 图4 两种方法的比较结果 再将本文提出的方法与文献[2]中提出的采用bp神经网络识别英文字母的方法进行比较,在上述相同的白噪声模型下对这两种识别网络进行仿真,图4即为比较结果图,实线代表仿真时间步数为50时hopfield神经网络的误识率变化曲线,虚线代表bp神经网络经过理想样本和噪声样本集同时训练后的误识率变化曲线。从图中可以看出hopfield网络法在噪声级别大于0.3之前, 其容错能力比起bp网络法有一定的增强。 但在0.3之后就不如bp网络法。 5 结束语 本文根据hopfield神经网络特有的记忆功能及识别能力,将其应用到一个实例中:识别含噪声的字母a到z,并对100组不同噪声级别的样本进行仿真。仿真结果表明,hopfield网络法在噪声均方差小于0.15之前都能正确识别出字母,而且通过不断地调整仿真时间步数可以提高网络的容错能力。最后将本文提出的方法与文献[2]中提出的bp网络法进行比较,在噪声级别大于0.3之前, 其容错能力比起bp网络法有一定的增强。但在噪声均方差稍大时就不如bp网络法,可以看出该方法能有效地识别带有噪声的字母。在后续的工作中可以考虑将bp和hopfield两种网络的优点结合在一起,利用这两种网络的优点进行字符识别,可以改善各自的不足。 随着量子信号与信息处理技术的发展,出现了以量子力学为基础的量子神经网络。利用量子神经网络的巨大并行性,进行图像、文字的模式识别是我们下一步的研究方向。 参考文献: [1] 求是科技. 张宏林. visual c++数字图像模式识别技术及工程实践[m]. 北京: 人民邮电出版社, 2003:17-27. [2] 许东. 吴铮. 基于matlab6.x的系统分析与设计——神经网络(第二版)[m]. 西安: 西安电子科技大学出版社, 2002:221-228. [3] 卓新建. 章祥荪. 关于hopfield-型神经网络收敛性和求能量函数极小解的可靠性的研究[j]. 系统科学与数学, 2001. vol. 4, no.21:152-162. [4] 闻新. 周露等. matlab神经网络仿真与应用[m]. 北京: 科学出版社, 2003:322-330. [5] 马向玲. 田宝国. hopfield网络应用实例分析[j]. 计算机仿真, 2003. vol. 20, no.8:64-66. [6] 飞思科技产品研发中心. matlab6.5辅助神经网络分析与设计[m]. 北京: 电子工业出版社, 2003:134-139. [7] 韩力群. 人工神经网络理论、设计及应用[m]. 北京: 化学工业出版社, 2002:82-85. [8] 袁曾任. 人工神经网络及其应用[m]. 北京: 清华大学出版社, 1999.