您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 第八章_人工神经网络在模式识别中的应用
第八章人工神经网络在模式识别中的应用第一节人工神经网络概述一、概述模式识别理论的发展表明,人们不但要研究计算机信息分析技术,而且还应进行人类感知与思维机理的探索。从深层意义上看,模式识别与人工智能所研究的是如何用计算机实现人脑的一些功能。一方面,从要实现的功能出发,我们可以将功能分解成各子功能,直至设计出算法来实现这些子功能,这是自顶向下的分析方法。另一方面,人脑无论多么复杂,都可以看做是由大量神经元组成的巨大的神经网络。从模拟神经元的基本功能出发,逐步从简单到复杂组成各种神经网络,研究它所能实现的功能,这是自底向上的综合方法。现阶段研究成果表明,计算机识别系统具有一定的智能,但与人相比还相差很远。但作为一种技术途径,人工神经网络技术以其崭新的思路,优良的性能引起了人们极大的研究兴趣,在相应的领域也取得了长足的进展。人工神经网络的研究与计算机的研究几乎是同步发展的,并且相互间有一定的促进作用。1943年,心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型,成为人工神经网络研究的开端。1949年,心理学家D.O.Hebb提出神经元之间突触联系强度可变的假设,并据此提出了神经元的学习准则,为人工神经网络的学习算法奠定了基础。现代串行计算机的奠基人VonNeumann在20世纪50年代就已注意到计算机与人脑结构的差异,对类似于神经网络的分布系统做了许多研究。50年代末,Rosenblatt提出了感知器模型,首次把人工神经网络的研究付诸工程实践,引起了许多科学家的兴趣。1969年,人工智能创始人之一的Minsky和Papert出版了《感知器》,从数学上深入分析了感知器的原理,指出其局限性,加之当时串行计算机正处于全盛发展时期,早期的人工智能研究也取得了很大成就,从而掩盖了发展新计算模型的迫切性,使有关人工神经网络的研究热潮低落下来。但在此期间仍有不少科学家坚持这一领域的研究,对此后的人工神经网络研究提供了很好的理论基础。1982年,Hopfield提出了人工神经网络的一种数学模型,引入了能量函数的概念,研究了网络的动力学性质;紧接着又设计出用电子线路实现这一网络的方案,同时开拓了人工神经网络用于联想记忆和优化计算的新途径,大大促进了人工神经网络的研究。1986年,Rumelhart及LeCun等学者提出了多层感知器的反向传播算法,扫清了当初阻碍感知器模型继续发展的重要障碍。另一方面,20世纪80年代以来,传统的基于符号处理的人工智能在解决工程问题时遇到了许多困难。现代的串行机尽管有很好的性能,但在解决像模式识别、学习等对人来说是轻而易举的问题上显得非常困难。这就促使人们怀疑当前的VonNeumann机是否能解决智能问题,也促使人们探索更接近人脑的计算模型,于是又形成了对人工神经网络研究的热潮。现在人工神经网络的应用已渗透到众多的领域,如智能控制、模式识别、信号处理、计算机视觉、优化计算、知识处理、生物医学工程等。基于人工神经网络的模式识别方法相对其他方法来说,其优势在于:(1)具有较强的容错性,能够识别带有噪声的输入模式;(2)具有很强的自适应学习能力;(3)可以实现特征空间较复杂的划分;(4)能够适于用高速并行处理系统实现。但也存在以下弱点:(1)需要更多的训练数据;(2)在通常的计算机上实现模拟运行速度较慢;(3)无法得到所使用的决策过程的透彻理解(例如,无法得到特征空间中的决策面)。一种乐观的观点认为,由于人脑具有极强的模式识别能力,这就意味着人工神经网络最终很可能具有这种能力。然而,迄今为止对由人工神经网络实现的模式识别系统性能的测试结果表明,一般能达到良好的统计分类器的性能水平。对于任何分类器,无论它是怎样实现的,实质上其功能不过是将特征空间划分为与每类对应的不同区域,并依此将对象分类。而分类器的性能最终既为特征空间中不同类别的相互重叠所限制,又为获得有代表性的训练样本集、由样本集建立最优的分类界面以及设计分类器的程序等实际困难所限制,因此,只有当人工神经网络方法能比统计方法更好地划分特征空间时,它的性能才有可能比基于统计方法的分类器更好。即使如此,它的性能从根本上还是要受到特征空间中不同类的重叠的限制。二、人工神经网络基础1.生物神经元与人工神经元人的大脑是由近140亿个不同种类的神经元(神经细胞)组成的,神经元的主要功能是传输信息。一个神经细胞单元即神经元主要是由细胞体、树突、轴突和突触组成的,其结构如图8-1-l所示。细胞体由细胞核、细胞质、细胞膜等组成,细胞体是神经元新陈代谢的中心,是接受和处理信息的单位。高等动物的神经细胞,除了特殊的神经元外,一般每个神经元都在细胞体的轴丘处生长着一根粗细均匀、表面光滑的突起,长度从几个p.m到lm左右,称其为轴突,它的功能是向外传送从细胞体发出的神经信息。树突为细胞体向外伸出的很多则y∈{~1,1},y取1和一1两个值。如果则y∈{0,1},见图8—1.2(b)。对于一些重要的学习算法要求输出函数厂可微,此时通常选用Sigmoid函数:则y∈(一1,1),可取(~1,1)内的连续值。也可选:则y∈(0,1),见图8—1—2(c)。2.人工神经网络的典型结构当神经元模型确定之后,神经网络的特性和能力则主要取决于网络拓扑结构及学习方珐。(1)前向网络前向网络中神经元是分层排列的,每个神经元的输出只反馈给前一层的神经元。最下一层为输入层,最上一层为输出层,这两层之间的各层称为隐含层,它可以只有一层,也可以有多层,此类网络如图8.1.3(a)所示,感知器就属于这种类型的网络。(2)输出向输入反馈的前向网络此类网络也是前向型网络,只是在输出层上接有反馈回路,将输出信号反馈到输入层,网络结构如图8—1—3(b)所示。Fukushima(福岛)网络就属于此种类型。(3)层内互连前向网络这种类型的网络在同一层内存在相互连接,实现层内神经元之间的横向兴奋或抑制机理,其网络结构如图8.1。3(c)所示。很多自组织网络都存在着层内互连结构。(4)全互连反馈网络这类网络每个神经元都与其他神经元相连,图8.1.3(d)为这类网络示意图。Hopfield网络属于这类结构。(5)局部互连反馈网络局部互连反馈网络的每个神经元的输出只与其周围的神经元相连。3.人工神经网络的应用人工神经网络常用于以下基本领域:(1)联想记忆(AssociativeMemory—AM)联想记忆是指系统具有克服输人信号失真的能力,能够修复信号,使系统产生无偏差的本原信号或是正确的映射信号。(2)优化计算与决策网络各神经元状态分别对应优化问题的目标函数的各个变量,由目标函数和约束条件建立网络的能量函数,用网络状态的动态方程驱动网络运行。当系统趋于稳定后,在稳定点上能量达到极小值,此时,网络各神经元状态对应问题的最佳解。(3)分类识别由于人工神经网络具有联想记忆功能、优化计算能力以及其他的一些性质,所以人工神经网络具有较强的分类识别功能,在模式识别领域中具有重要的应用,也是模式识别研究的热点之一。(4)智能控制人工神经网络可以有效地应用于各类控制领域。当控制对象或控制过程具有复杂的时变性、非线性,或是不确定性时,对它们不能精确建模,此时使用经典和现代控制理论与技术很难实现有效控制。而人工神经网络具有表示非线性映射关系的能力,可以对不确定系统进行自适应和自学习,因此,在控制领域人工神经网络得到了广泛的应用。(5)专家系统人工智能技术、模糊理论与人工神经网络相结合可以构成专家系统。第二节前馈神经网络及其主要算法一、前馈神经网络构成前馈网络的各神经元接受前一级输入,并输出到下一级,无反馈,可用一有向无环图表示。图的节点分为两类,即输入节点与计算单元。每个计算单元可有任意个输入,但只有一个输出,而输出可耦合到任意多个其他节点的输入。前馈网络通常分为不同的层,第i层的输入只与第i一1层的输出相连,这里认为输入节点为第一层,因此,所谓具有单层计算单元的网络实际上是一个两层网络。输入和输出节点由于可与外界相连,直接受环境影响,称为可见层,而其他的中间层则称为隐层,如图8—2—1所示。’二、感知器感知器(Perception)是一种双层神经网络模型,一层为输入层,另一层具有计算单元,可以通过监督学习来建立模式判别的能力,如图8—2—2所示。学习的目标是通过改变权值使神经网络由给定的输入得到给定的输出。作为分类器,可以用已知类别模式的特征向量作为训练集,当输人为属于第.j类的特征向量X时,应使其对应于该类的输出y,:1,而其他神经元的输出则为0(或-1)。设理想的输出为:当神经元的输出函数为Sigmoid函数时,上述结论可以推广到连续的非线性函数,在很宽松的条件下,三层前馈网络可以逼近任意的多元非线性函数,突破了二层前馈网络线性可分的限制。这种三层或三层以上的前馈网络通常又被叫做多层感知器(Multi-LayerPercep—tion,简称MLP)。四、反向传播算法(BP法)三层前馈网络的适用范围大大超过二层前馈网络,但学习算法比较复杂,其主要困难是中间的隐层不直接与外界连接,无法直接计算其误差。为解决这一问题,提出了反向传播(Back-Propogation,简称BP)算法。其主要思想是反向逐层传播输出层的误差,以间接算出隐层误差。其实质是把一组样本输入输出问题转化为一个非线性优化问题,并通过梯度算法利用迭代运算求解权值的一种学习算法。算法分为两个阶段:第一阶段(正向过程)输人信息从输入层经隐层逐层计算各单元的输出值;第二阶段(反向传播过程)由输出误差逐层向输入层方向算出隐层各单元的误差,并用此误差修正输入层权值。在反向传播算法中,通常采用梯度法修正权值,为此要求输出函数可微,通常采用Sig—moid函数作为输出函数。不失普遍性,研究处于某一层的第J个计算单元,下标i代表其输入层第i个单元,下标五代表输出层第是个单元,0,代表本层输出,w/j是输入层到本层的权值,如图8—2—4所示。当输入某个样本时,对每层各单元作如下计算(正向算法):对于输出层而言,夕i=0j是实际输出值,M是理想输出值,此样本下的误差为:为了使公式简化,定义局部梯度:考虑权值训d对误差的影响,可得:权值修正应使误差减小最快,修正量为:式中,叩为步长。如果节点J是输出单元,则有:如果节点J不是输出单元,由图8—2—4可知,q对后层的全部节点都有影响。因此,对于Sigmoid函数当在实际计算时,为了加快收敛速度,往往在权值修正量中加上前一次的权值修正量,一般称之为惯性项,即式中a为惯性项系数。综上所述,反向传播算法步骤如下:(1)选定权系数初始值(2)重复下述过程直至收敛(对各样本依次计算)①正向各层计算各单元0j②对输出层计算也③反向计算各隐层q④计算并保存各权值修正量⑤修正权值以上算法是对每个样本作权值修正,也可以对各样本计算文后求和,按总误差修正权值,即按批量修正法进行修正。反向传播算法解决了隐层权值修正问题,但它是用梯度法求非线性函数极值,因而有可能陷入局部极小点,不能保证收敛到全局极小点。二层前馈网络的收敛性不受初始值影响,各权值的初始值可以全设定为零;但三层以上的前馈网络(含有一个以上隐层)使用反向传播算法时,如果权值初始值都为零或都相同,隐层各单元不能出现差异,运算不能正常进行。因此,通常用较小的随机数(例如在一0.3~0.3之间的随机数)作为权值初始值。初始值对收敛有影响,当计算不收敛时,可以改变初始值试算。反向传播算法中有'7和a两个参数。步长叩对收敛性影响很大,而且对于不同的问题其最佳值相差也很大,通常可在0.1~3之间试探,对于较复杂的问题应用较大的值。惯性项系数。影响收敛速度,在很多应用中其值可在0.9~l之间选择(比如0.95),a≥1时不收敛;有些情况下也可不用惯性项(即a=0)。三层前馈网络的输出层与输入层单元数是由问题本身决定的,例如,作为模式判别时输人单元数是特征维数,输出单元数是类数。但中间隐层的单元数如何确定则缺乏有效的方法。一般来说,问题越复杂,需要的隐层单元越多,或者说同样的问题,隐层单元越多越容易收敛。
本文标题:第八章_人工神经网络在模式识别中的应用
链接地址:https://www.777doc.com/doc-4368836 .html