何 聪 孙 松
(1武汉理工大学自动化学院,湖北武汉 430070; 2黄石理工学院电气与电子信息工程学院,湖北黄石 435003)
在日常生活中,经常会遇到带噪音字符的识别问题,如汽车牌照,由于在使用过程中,要经受自然环境的风吹日晒,容易造成字体模糊不清,难以辨认。如何从这些残缺不全的字符中攫取完整的信息,是字符识别的关键问题。作为字符识别的组成部分,数字识别与字母识别在邮政、交通及商业票据管理方面有着极高的应用价值[1]。
目前有很多种方法用于字符识别,主要分为神经网络识别、概率统计识别和模糊识别等。传统的字符识别方法在有干扰的情况下不能很好的对数字和字母进行识别,而离散型Hopfield神经网络具有联想记忆的功能,利用这一功能对数字和字母进行识别,可以取得令人满意的效果,并且计算的收敛速度很快。
Hopfield网络作为一种全连接型的神经网络,曾经为人工神经网络的发展开辟了新的研究途径。它利用与阶层型神经网络不同的结构特征和学习方法,模拟生物神经网络的记忆机理,获得令人满意的结果。1982年,美国物理学家Hop field教授提出了一种可模拟人脑联想记忆功能的新的人工神经元模型,后来被称作Hopfield网络。和BP网络一样,Hopfield网络是迄今人工神经网络模型中得到最广泛应用的神经网络之一,它在联想记忆、分类及优化计算等方面得到了成功的应用[2]。
离散的Hopfield神经网络可用加权无向图表示,网络节点的状态为:
式(1)中:Wij是附给边(i,j)的权;θi为节点i的阈值。
将式(1)离散化,则离散Hopfield模型为[3]:
离散Hopfield神经网络(简称DHNN)是一种单层的、输入输出为二值的神经网络,其网络结构如图 1所示[4]。
图1 DHNN的结构
根据Hop field神经网络相关知识,设计一个具有联想记忆功能的离散型Hopfield神经网络。要求该网络可以正确的识别 0~9这 10个数字和 A~Z这 26个大写英文字母。当字符被一定的噪声干扰后,仍具有较好的识别效果。
假设网络用 10×10的矩阵表示。该矩阵直观的描述阿拉伯数字和大写字母,即将字符划分成 10×10的矩阵,有数字的部分用 1表示,空白部分用 -1表示。网络对这些稳态即点阵具有联想记忆的功能。当有带噪声的数字点阵输入到该网络时,网络的输出便可以得到最接近的目标向量(即稳态)。将输出的稳定向量依次与各个学习模式进行比较,将与稳定输出向量最接近的学习模式对应的字符作为最终的识别结果,从而达到正确识别的目的。
Hopfield网络设计流程如图2所示。
图2 Hopfield网络设计流程图
字符识别针对的是不同的数字和字母,由于数字和字母过多,为减轻网络的负担,本文只以数字 1和字母 E为例。如下列矩阵所示,有数字的部分用 1表示,空白部分用 -1表示,即可得到数字 1和字母E的点阵:
其他的字符点阵以此类推。
MATLAB神经网络工具箱为Hopfield网络提供了一些工具函数。数字点阵和字母点阵,即Hopfield网络的目标向量确定以后,可以借助这些函数,方便的创建Hop field网络。
本文采用的样本数量是 1 000个,其中800个样本用来进行训练,100个样本用来进行验证,剩下的 100个样本作为测试用。由于训练样本过大,故不一一在文中介绍、测试和验证。
带噪声的字符点阵,即点阵的某些位置的值发生了变化。模拟产生带噪声的字符矩阵方法有很多种,常见的方法是固定噪声产生法和随机噪声产生法[5]。由于固定噪声法是用人工修改的方法改变数字点阵某些位置的值,如果数据量过大,这种方法是比较麻烦的。随机噪声法是利用产生随机数的方法来确定需要修改的点阵位置,进而对数字点阵进行修改,这种方法相对来说比较简便。因为本文采用的是大训练样本,所以选择随机噪声产生法。
将带噪声的字符点阵输入到创建好的Hopfield网络,网络的输出是与该字符点阵最为接近的目标向量,即数字 1和字母 E,从而实现联想记忆的功能。
对测试的结果进行分析、比较、识别,通过大量的测试来验证Hopfield网络用于数字识别的可行性与有效性。
随机噪声产生法程序运行结果如图 3、图4、图 5、图 6所示。
图3 噪声强度为0.1时的识别结果
图4 噪声强度为0.2时的识别结果
图5 噪声强度为0.3时的识别结果
图6 噪声强度为0.4时的识别结果
可以看到,通过联想记忆,对于带一定噪声的数字点阵,Hop field网络可以正确的进行识别。另外,通过对图 3、图 4、图 5、图 6的比较,不难发现,随着噪声强度的增加,识别效果也在下降。在噪声强度达到 0.4的时候,字符已经很难进行识别了。噪声强度即是数字点阵位置值发生改变的多少。这种改变是随机的,每次运行都会得到不同的识别结果。
将一些优化算法与离散Hop field神经网络相结合,可以使其联想记忆更强,应用效果更为突出[6]。例如,由于一般离散Hopfield神经网络存在很多伪稳定点,网络很难达到真正的稳态。将遗传算法应用到离散Hopfield神经网络中,利用遗传算法的全局搜索能力,对Hopfield联想记忆稳态进行优化,使待联想的模式跳出伪稳定点,从而使Hopfield网络在较高噪信比的情况下保持较高的联想成功率。
另外,当输入的训练样本不满足相互正交的条件时,可以在网络训练时,通过修改连接权值,使网络达到稳定状态。这样的话,当Hopfield网络训练样本不是相互正交时也可以达到稳定状态,训练后的网络也可以很好的识别带噪声的字符。
[1] 飞思科技产品研发中心.神经网络与MATLAB 7实现[M].北京:电子工业出版社,2005
[2] 陈祥光,裴旭东.人工神经网络技术及应用[M].北京:中国电力出版社,2003
[3] MICHEL A N.Analysis and synthesis techniques for Hopfield type synchronous discrete time neural networkswith application to AM[J].IEEE Trans CAS,1990,37:1356-1366
[4] 宋涛,唐德善,曲炜.基于离散型Hopfield神经网络的项目风险分析模型[J].统计与决策, 2005(6):24-26
[5] 张良均,曹晶,蒋世忠.神经网络实用教程[M].北京:机械工业出版社,2008
[6] 朱大奇,史慧.人工神经网络原理及应用[M].北京:科学出版社,2006