6.5神经网络在模式识别中的应用模式识别是神经网络最有应用前景的领域之一。模式识别是六十年代兴起的新兴科学分支,其主要研究内容是用计算机模拟生物、人的感知(感觉),对模式信息,如图像、文字、语音等,进行识别和分类。模式识别是个跨领域的科学研究分支,不仅仅涉及计算机科学的信息处理技术,而且涉及数学、心理学及人类的感觉与思维规律的探索。传统人工智能的研究部分地显示了人脑的归纳、推理等智能。但是,对于人类底层的智能,如视觉、听觉、触觉等方面,现代计算机系统的信息处理能力还不如一个幼儿园的孩子。神经元网络的研究填补了该方面的不足,以崭新的思路,奇特的性质引起了人们的极大兴趣。神经网络模型模拟了人脑神经系统的特点:处理单元的广泛连接;并行分布式信息储存、处理;自适应学习能力等。模式识别的神经网络方法与传统方法相比有如下特点:①具有较强的容错能力。容错能力主要是由于信息分布式存储所决定的。由于信息的广泛、分散地存储,匹配时噪声、畸变引起的局部误差的影响大大减小。同时,从理论上分析,神经网络的容错能力是向量空间映射的结果。以前向神经网络为例,输入空间的低维特征向量经过神经网络的输入层的映射后转换成为隐含层神经网络处理单元代表的新向量,即,进行了一次向量空间映射。从隐含层到输出层又是一次向量空间的映射。一开始有交叉混杂的向量经过几次映射后渐渐被分离开来实现了分类的目的。神经网络分类不是机械式的匹配,因此有较高的容错能力。②具有较强的自适应学习能力从本章的前几节我们可以看到,神经网络的学习大致可以分为构造型和训练型两种。其中训练型网络又包括有教师训练型和无教师训练型。自适应学习能力主要是指无教师信号的学习能力。具有这样学习方法的网络可以根据大量样本自身的特性进行自动分类,即,自动进行学习,使系统自适应于样本空间,具有相应的分类能力。③并行信息处理结构,速度快无论是哪种神经网络模型都具有这个特性,这是由神经网络研究的基本原理决定的。即,大量的处理单元----神经元;处理单元间的相互连接----多输入单输出。只有这样才能构成神经网络。本节主要介绍神经元网络在文字识别中的应用。文字识别实质上是模式(样本)分类,即对于一个输入样本根据其某些特征进行判断,最终将其归于一个最相似的类中。文字识别是模式识别的重要应用领域,文字识别技术涉及到模式识别、图像处理、人工智能、模糊数学、组合论、信息论、计算机科学等多个学科,也涉及到语言文字学、心理学等学科,是一门综合性学科。字符识别系统工作过程如右图所示:图6-16字符识别流程t6-16_swf.htm建立字符识别系统的主要步骤:①样本筛选、校对②待识别文字所在文本的版面分析,文字切分③文字的图像预处理④文字特征提取⑤分类识别⑥识别结果后处理①样本筛选、校对为建立一个良好的识别系统,学习(训练)样本是必不可少的。样本筛选的主要目的是选取合理的学习样本。理论上讲,训练样本只有覆盖整个样本空间才能保证分类器设计的鲁棒性性能,即,系统进行识别时分类器能够正确判定所有类型的输入样本。但是实际上,由于待识别样本集合是开放的、不可穷举的,因此要求覆盖整个样本空间是不可能的。我们只能尽可能的挑选样本,使其覆盖面广一些。样本的校对是为了保证训练样本的正确性。首先,要保证样本是切分正确的,比较干净的(噪声较少)。此外,如果采用的是有教师监督学习方法,必须保证样本的标注,即每一个样本的正确答案,也就是教师信号是正确的。本节对该部分内容不进行详细论述②待识别文字所在文本的版面分析,文字切分字符识别是在待识别文字得到正确的分离的前提下进行的。因此,文字识别系统的很大一部分工作是文本的版面分析与字符的切分。只有将含有字符、图像等复杂内容的文本版面进行正确的分析,分离出字符区域,应用相应算法将该区域内的字符一个个的切分开,提取出来,才能够进入字符识别的程序。目前的文字识别技术已经基本成熟,进入了商品化的阶段,研究内容集中在版面分析、去噪等难点上。本节对该部分内容不进行详细论述③文字的图像预处理-图像去除噪声-文字图像归一化-文字笔划细化-文字笔划平滑得到一个个字符图像后,需要进行一系列预处理才能够将字符图像提交给识别器。其中包括去除噪声:将图像中不应有的点、线去掉。有一些可能是切分遗留的问题,有一些可能是纸张、印刷的问题。归一化:文字被输入到计算机中在提取特征前通常需要把文字作归一化处理。归一化有位置归一化、大小归一化、笔划粗细归一化。细化:有些识别算法要求文字是单笔划,或粗细比较均衡的笔划构成,因此需要对文字的笔划进行细化。平滑:平滑的目的主要是去掉细化后的文字变形,即平滑掉细化产生的毛刺。本节对该部分内容不进行详细论述④文字特征提取文字图像即使是进行了二值化也将有几十到几百个点素,尤其是汉字至少要400到900个点素。在如此大维数的空间内进行操作,不仅费时、费计算机计算空间,更主要的是高维样本难以进行正确分类。而且,这样的高维特征中含有大量的冗余信息必须剔除。因此,需要在分类之前进行特征提取,即将样本的有效成分提取出来,送到分类器,分类器仅仅根据特征进行分类。文字识别中常用到的基本特征有:灰度特征、方向线素特征、四边码特征、粗外围特征等。本节对该部分内容不进行详细论述⑤分类识别分类器是文字识别系统的核心,主要功能是根据输入样本特征将其进行分类。分类的基本核心是分类决策,即在特征空间中用统计或规则的方法把被识别对象归为某一类。基本做法是在样本训练集基础上确定某个判决规则,要求是按这种判决规则对被识别对象进行分类所造成的错误识别率最小或引起的损失最小。传统的方法有最小距离法等,本节所要介绍的是用神经网络结构建立分类器模型的方法。⑥识别结果后处理人类辨识文字时是根据字与字的前后关系一目十行的进行的。尤其是手写体字符,龙飞凤舞,有时很难根据一个单字判断它到底是什么字。人们是根据它前后字的关系,上下文的关系进行判断,根据意思理解阅读的。这个问题在自然语言处理一节中有相应的论述,本节对该部分内容不进行详细论述本节将以数字识别为例,分析前馈神经网络、Kohonen网络识别器的特点及设计方法。数字识别_swf.htm6.5.1前向反馈网络在字符识别中的应用前馈神经网络是应用最普遍,也是最成功的神经网络模型,其中又以采用BP学习算法的多层感知器为主要代表。其特点是网络结构简单、易于实现,学习算法明确,中小规模下学习收敛性好,最主要的是网络分类性能好,理论上讲多层前馈网络可以解决任意的模式分类问题。但是实际上,大规模、多层网络存在学习收敛问题。由于网络采用的是监督学习方式进行训练,因此只能用于监督学习模式识别问题。图6-17前馈网络数字识别器的网络结构模型t6-17_swf.htm网络设计:1.从进行了预处理的样本集中选择适当的训练样张进行标注,即,表明每一个样张的标准答案,生成教师向量集合。其过程可用如下表达式表示:如果样张S∈Ci,Ci为第i个数字类则教师向量Ts={tsj},j=0,1,….9,为tsi=1及tsj=0j≠i教师提示:系统的误差计算是根据教师向量进行的。当分类数较多,训练样本数量也较多时,系统误差难以收敛到一个理想的极小值,学习无法结束。此时可以放宽收敛条件,设教师向量的取值为0.1和0.9。2.设计网络结构。选择网络层数为3,输入层的神经元数目N1与输入特征向量维数相等。输出层神经元数目N3与待分类数目相当,即10,中间层神经元数目N2取决于待分类样本的复杂性,与样本种类的数目和输入向量的维数有关。在此建议取50-100。当问题复杂时中间层的个数是可以增加到2,甚至3的。但是在数字识别这个具体问题上没有必要。3.初始化网络参数,使网络权重为绝对值小于1的随机数。即,|Wij|1。权重的初始值是很重要的,从神经元输出计算公式我们可以看到,神经元的转移函数是非线性的,但函数变量达到一定的取值范围后,函数可能产生饱和。同时,转移函数的输入是神经元的所有输入的加权和。因此,如果权重的绝对值较大可能引起饱和。所以,在输入维数较高的情况下,需要进一步减小权重的初始绝对值。4.向网络输入训练样本,由下列公式计算各个神经元的输出及网络的各个输出节点的输出。其中,,xi为各个神经元的输入,wi为相应的权重,Y为各个神经元的输出。5.计算各个输出神经元的实际输出值与理想输出值(教师向量)的差值,根据下式求系统的偏差。系统偏差可以是一个一个输入样本求,也可以是一套P个训练样本计算完毕后再求。此时的计算公式为其中,P为学习样本集的大小,即样本总数。6.根据6.2.3介绍的BP学习算法调整网络权重,完成一次训练。当系统误差达到理想值后,训练结束。神经网络的收敛往往是一个振荡的过程。同时前馈神经网络的BP训练算法属于统计学习方法,存在过学习问题。因此,可以在训练的过程中,采用求取测试样本正确率的方法,监测学习的效果以防止训练过度。以测试样本的识别正确率作为系统训练结束的标准。识别系统的应用:训练好的神经网络分类器可以投入使用。使用基本步骤如下:-将于进行了预处理的待识别样张输入到识别器。-计算输出层各个神经元的输出值并进行比较。将输出值最大的神经元作为系统输出,其输出值可作为输出可信度使用。神经网络的输出可以以多种形式给出,最常见的是本节所述的每一个输出神经元代表一个待分类模型。这种形式表示清晰,系统训练收敛性好,但是,系统规模比较大,在大规模分类(如汉字)时难以实现。也可以以不同的编码的方式表示,例如2进制编码,000代表0、010代表1,011代表2等等。也可以根据需要用不同输出值代表不同的输出状态,如输出为0.1代表1,输出为0.2代表2,输出为0.3代表3等等。不同的输出形式要求建立不同的相应教师向量进行训练。多分类器合成系统结构:多特征合成是近几年提出的字符识别方法。计算机硬件的发展为多特征合成识别系统实现创造了条件。如图6-18为神经网络多特征合成系统的结构图,其中,Ci为不同的识别器。神经网络方法代替Bayes方法、投票方法等传统方法取得了令人惊喜的结果。神经网络通过训练得到加权结果,比先验概率的计算更加具有鲁棒性。图6-18多分类器合成系统结构图t6-18_swf.htm具有反馈的系统结构:如前所述,人类在进行文字识别时利用了上下文等各种信息,在排除了各种可能性后得到最终的结论。因此可以认为识别过程是一个判别、思考、判别的反复过程。此过程可以用反馈系统模型来模拟。右页所示的两个图是神经网络反馈系统的结构图,分别为单网络反馈系统和多网络反馈系统。图6-19单神经网络反馈系统模型图t6-19_swf.htm图6-20多神经网络反馈系统模型图t6-20_swf.htm系统通过识别结果的反馈,调整输入向量,再识别,再调整。直到达到满意的输出结果(较好的输出可信度)为止。实验结果证明对于带有较严重噪声而使得一般识别其无法工作的样张,该反馈神经网络识别器仍能够达到90%以上的正确识别率。说明法系统结构由较强的鲁棒性。大规模分类系统结构的探讨:如前所述,当待分类集合较大时,如中国一级汉字3755,二级汉字6763种,目前的前馈神经网络的学习算法还不能承受如此大的网络结构的学习重任,网络训练往往以不能收敛而告失败。因此人们讨论了各种分层网络结构将整个分类任务化整为零,最终达到正确分类的结果。右图是近期发表的研究结果的例子。图6-21用于汉字识别的大规模神经网络结构图t6-21_swf.htm该系统首先将整个汉字字集分为数N类,类中可能有交叉。分别对各个类中的汉字进行第一级的网络设定,即学习一个子网。第一级的N个网络训练完毕之后,在进行第二级网络的训练,最终得到结果。报道的实验结果表明此种网络模型能够较好的对中国一级汉字进行分类。识别器_swf.htm6.5.2Kohonen网络在字符识别中的应用自组织神经网络可以较好的完成聚类的任务,其中每一个神经元节点对应一个聚类中心。与普通聚类方法不同的是,所得的聚类之间仍保持一定的关系,就是在自组织网络节点平面上相邻较近的节点对应的类别,它们之间的相似性要比相隔较远的类别之间大。因此可以根据各个类别在节