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