基本概念
模式识别技术起源于六十年代,近三十多年里发展迅猛,取得了很大成就,在医学诊断、脸谱识别、伪币识别、工业色谱成分分析等各方面日益显示出其巨大作用。传统的模式识别方法,如:模板匹配法、判别函数法、句法分析法等,虽然比较简单,但它们都存在着不可克服的缺点,即:要求预先确定分类算法,而且要利用先验知识去描述各模式类的特征。因而采用这种识别方法的模式识别系统缺乏灵活性和通用性。
自适应模式识别系统是将自适应系统与模式识别相结合,这种系统基于自适应N元方法,可采用RAM网络实现,其识别能力是基于在网络“学习”后而在网中形成的逻辑函数来实现的。
硬件识别系统的一般结构及工作原理首先介绍用作“学习”及识别模式的RAM。这样的RAM有两种工作方式,即写/读方式:
(1)写工作方式:此时激活RAM的写使能端,且数据入口端接高电平,则此时被输入地址译中的触发器单元置位。
(2)读工作方式:此时使写使能端无效,对应任何一个输入地址,将在数据出口处输出其所对应译中单元的内容。
任何一个分类器都是由若干个RAM构成的。我们设输入空间的大小是3x3,按下列输入映射方式将它分成三个子模式,每个子模式分别接到一个RAM片的地址输入端。
假定该分类器可识别“T”形状的输入模式,则首先我们须对它进行训练,即:用“T”模式类的代表模式集训练分类器,让它“学习”,此时各RAM应工作在写方式下。训练结束后,则会在各RAM中形成相应的模式类的各子模式的逻辑函数,从而在整个分类器中建立起对应的模式类的逻辑函数。而后,系统就进入分类工作方式,利用在分类器中建立的逻辑函数对各未知输入模式进行响应、分类。
系统的软件模拟实现系统在训练过程中,对应于一个模式类,可采用多个子模式集合代替相应的RAM去存放“学习”到的知识—逻辑函数。训练结束后,则每个分类器对应着多个集合。
系统分类时,仍采用训练时的逻辑映射法将输入未知模式逻辑地分成子模式。对每个分类器,都按以下算法处理:
(1)对输入子模式,分别求出它与该分类器的相应子模式集合中每个子模式的海明距离,然后取其最小值。
(2)对输入模式的所有子模式,重复(1),求得各最小值,将其求和,即可得知该分类器对未知输入模式的响应值。
对所有分类器,都按上述算法处理,然后由决策逻辑得出分类结果。
自适应模式识别系统的优化方向及技术训练数据的优化用于训练分类器的训练数据决定了系统的推广性质,对整个系统识别功能是极为重要的。
训练集分布较密,则其推广集相应较小;而若训练集分散过大,则会使被训练的分类器有过大的推广集,从而可能对根本与该类无关的输入模式也发出一个很高响应。
一般,人们能注意不选分散性太大的训练模式去训练分类器,因而我们考虑分布较稠密的训练模式的优化问题,即寻找最适训练集,这可以由以下过程去实现:用模式类中的一个参考集中的一个成员(模式)去训练分类器,训练结束后再让该分类器对剩下的其它成员分类,输出响应,把得到最低响应的对应成员(模式)加入训练集去训练分类器,反复上述过程,就可得到一个可靠的训练集。因为那些发出较高响应的成员显然不会对分类器提供另外的新“知识”了,则将被留在参考集中而不作为训练模式使用。
加权技术的影响由于各种噪声及其它人为因素干扰,会使一些输入的训练模式中含有伪特征,从而使整个模式识别系统的识别性能明显下降。
一般的自适应模式识别系统中,各RAM单元口简单记录对应的子模式状态是否出现过,只要出现过1次就置位,认为是固有特征,这样使得许多伪特征被误认为是对应模式的子模式特征。
经验告诉我们:干扰形成的伪特征出现的频率远小于对应模式的固有特征出现频率。
于是,可以对各子模式状态出现的频率计数统计。训练结束后,将在各RAM单元存放对应子模式状态出现的频率,而不是以“1”简单地表示它出现过。然后将各RAM单元的大小与标准频率比较,大于标准则置“1",否则置“0",置“1”表示该单元所对应的子模式特征确是固有特征,置“0”则表示该对应特征是伪特征,因而去除之。
一句话,加权训练后,在分类器中形成的逻辑函数实际上是建立在对各特征出现频率统计、阀值基础之上的,显然这大大提高了模式识别系统的性能。
上述处理也可在由软件实现的系统中实现:即训练时,对每个分类器的甸一个子模式集合中的子模式,分别对其出现频率进行统计。训练完后,对统计结果阀值处理,大于标准的留在集合中,反之则从集合中去掉。
优化输入连接映射(1)去除输入模式中固定不变点
若输入模式中的某些点始终是保持为‘1’(或为‘o’)则可以不用将其连在系统的各分类器上。
一个n元子模式中的不变点将会使得与之有关的个存贮单元有一半(即)不起作用,即在训练过程中译码寻址时会有一半的单元将永远不会被译码译中。这样即使今后在分类时,在此不变位置上产生了变化输入,则由于各分类器对应此单元的内容一样而不会对分类结果有影响,所以可以去除输入模式中固定不变点,节省内存单元,且也对分类起积极作用。
在软件实现的识别系统中,也可实现这一优化过程,但是这样做就没有节省内存的优点,因而一般可不做。
(2)去除冗余特征
在低可分性的类别之间分类时,可去掉这些类之间的较多的共同n元子模式特征,因为这些特征对于模式分类无任何作用,即为冗余特征。
例如,字母“I”,与“T”,字母模式类之间,显然第一个子模式特征就属于冗余特征。在训练结束后,通过清除各分类器中对应此子模式的单元即可去掉冗余。
在软件实现的识别系统中,要消除冗余很简单,只需在训练完成后分别去掉各分类器中冗余的子模式集就可以实现了。
关于输入映射优化的一个最典型的例子是脸部表情的识别问题。在开始时分别对两个分类器进行训练,使之能分别识别人的面部笑的表情和严肃的表情。这时,在人整个面部表情作为一个整体的输入模式中,显然有一些子模式是有价值的(例如嘴部表情和眼部表情等,约占整个模式的三分之一),它们能提供两种表情的差异之处;而有一些子模式对今后分类处理无任何作用,它们在两种表情下始终保持不变。这样,通过上述的输入连接映射的优化方法,即对不变的输入模式点不进行连接或在训练完成之后删除相应的冗余n元子模式,可节省约2/3的内存空间,而且同时可使辨识精度提高50%以上。
在实际生产过程中,例如在产品质量检测中,也可利用这一优化方法,即只对产品可能出现质量问题的部分进行辨识和处理,既能加快识别速度,又能提高准确率。
使用这种方法,会使分类器对特定间题的识别分类能力大大提高,并节省大量内存空间。但是相对而言它削弱了分类器分类的一般性和通用性性能。尤其是在处理多类识别问题时,实现起来就十分困难了,这时可采用下面介绍的多层识别方法。
多级分类优化法像前面所讲的“n元共用”在所有的分类器的训练集中都出现是不可能的,因而在多类别分类中进行这一优化是不现实的。但是,参照实际的分类结果,还是能改进在低可分类别之间的分类的,于是,我们可从另一方面考虑实现这一优化,即:多级分类优化法。
例如像“0”和“O”,这两类模式,其差异性很小(海明距离小),共同特征很多,因而它们训练后的推广区域必有很大重叠,这样,不是大量的“0”和“O”,模式状态被拒绝分类,就是会错误分类。
因此采用两级分类法,即:在第一级分类时进行粗分,将“0”和“O”分成同一类,而后对这一类再第二次分类,即细分。在第二级分类时,只需考虑字符间的差异区域,即“0”和“O”的输入模式状态的右部。
在硬件实现时,可采用多窗口技术,即:对整体“0”和“O”输入空间进行一次分类,而后将窗口定在输入空间右部再进行一次分类。
这一切也可以在软件实现的识别系统中实现:首先将输入模式按分类算法计算得知是否属于“0”和“O”特征类;若属于则再对之细分,求输入模式与“0”和“O”特征集合的右部特征的海明距离,以此作为响应而最后分类。
反馈优化法增加反馈机构,反馈决策或模式,与输入模式迭加一起构出网络的输入空间,从而改善模式识别系统的识别性能。
关于反馈问题,其作法与应用目的很多,其中图象重建及迫踪定位的反馈问题,有着很好的适用意义。在一般不具有反馈的系统,对于一个输入模式,给出的响应仅仅是将它分类到某个模式类别,即将其归类于与它的差异最小的那个模式类中就完了。加入反馈后,系统则可以不仅判定输入模式的类别,而且能按反馈系统中已存有的各模式类的原型,将输入模式重建,使残缺的图形能复原为相应模式类的标准图象,这是一项十分有意义有价值的工作1。