第8章神经网络在模式识别中的应用模式识别系统除了对进行信息分析和处理,另一个重要的功能是对人类感知能力的模仿,也就是获取类似于人类所具有的智能识别和判断能力。而人类的智能活动的物质基础是大脑的神经系统,如果能够模拟人类大脑神经系统的工作机理,并将其应用到模式识别系统中,其识别效果可能会优于传统的模式识别方法。人工神经网络和近年来兴起的深度学习的研究正是在这方面所进行的探索。8.1人工神经网络的基础知识8.1.1人工神经网络的发展历史在近代,人工神经网络的发展已经历了大半个世纪,从20世纪40年代到21世纪,神经网络的研究经历了几起几落的发展过程。在1943年,心理学家McCulloch和数学家Pitts提出了形式神经元的数学模型,也称为MP模型,标志着人工神经网络研究的开始。1949年,心理学家Hebb在突触联系强度可变设想的基础上提出了神经元学习的准则,这一学习准则至今对神经网络理论有重要的影响。到20世纪50年代末,Rosenblatt提出了感知器模型,引起了人工神经网络研究的广泛兴趣。感知器模型已初步具备了学习、并行处理和分布存储的特征,从系统角度确立了人工神经网络的研究基础。但在1969年,Minsky等人指出了感知器的局限性,例如感知器对“异或”这样简单的非线性问题都无法求解,使人工神经网络的研究陷入了低潮。进入20世纪80年代,得益于分布式处理的神经网络的研究成果,对神经网络的研究又开始复兴。1982年,Hopfield引入了网络能量函数的概念,提出了一种神经网络的动力学模型,可以用于联想记忆和优化计算。1986年,Rumelhart等人提出了多层感知器模型,克服了感知器模型的局限性,成为目前使用最为广泛的网络模型。20世纪90年代支持向量机提出后,支持向量机与神经网络性能的优劣也成为研究的热点。2006年Hinton又提出了神经网络的深度学习算法,使神经网络的性能大幅度提高,重新掀起了神经网络研究的热潮。8.1.2生物神经元来自其它神经元轴突的神经末梢0一树突轴突突触细胞体0细胞核。神经末梢1图8.1经神元的结构示意图
第 8 章 神经网络在模式识别中的应用 模式识别系统除了对进行信息分析和处理,另一个重要的功能是对人类感知能力的模 仿,也就是获取类似于人类所具有的智能识别和判断能力。而人类的智能活动的物质基础是 大脑的神经系统,如果能够模拟人类大脑神经系统的工作机理,并将其应用到模式识别系统 中,其识别效果可能会优于传统的模式识别方法。人工神经网络和近年来兴起的深度学习的 研究正是在这方面所进行的探索。 8.1 人工神经网络的基础知识 8.1.1 人工神经网络的发展历史 在近代,人工神经网络的发展已经历了大半个世纪,从 20 世纪 40 年代到 21 世纪,神 经网络的研究经历了几起几落的发展过程。在 1943 年,心理学家 McCulloch 和数学家 Pitts 提出了形式神经元的数学模型,也称为 MP 模型,标志着人工神经网络研究的开始。1949 年,心理学家 Hebb 在突触联系强度可变设想的基础上提出了神经元学习的准则,这一学习 准则至今对神经网络理论有重要的影响。到 20 世纪 50 年代末,Rosenblatt 提出了感知器模 型,引起了人工神经网络研究的广泛兴趣。感知器模型已初步具备了学习、并行处理和分布 存储的特征,从系统角度确立了人工神经网络的研究基础。但在 1969 年,Minsky 等人指出 了感知器的局限性,例如感知器对“异或”这样简单的非线性问题都无法求解,使人工神经 网络的研究陷入了低潮。进入 20 世纪 80 年代,得益于分布式处理的神经网络的研究成果, 对神经网络的研究又开始复兴。1982 年,Hopfield 引入了网络能量函数的概念,提出了一 种神经网络的动力学模型,可以用于联想记忆和优化计算。1986 年,Rumelhart 等人提出了 多层感知器模型,克服了感知器模型的局限性,成为目前使用最为广泛的网络模型。20 世 纪 90 年代支持向量机提出后,支持向量机与神经网络性能的优劣也成为研究的热点。2006 年 Hinton 又提出了神经网络的深度学习算法,使神经网络的性能大幅度提高,重新掀起了 神经网络研究的热潮。 8.1.2 生物神经元 来自其它神经元轴突的神经末梢 细胞体 轴突 细胞核 树突 神经末梢 突触 图 8.1 经神元的结构示意图
一个典型的神经元(或称神经细胞)主要有细胞体,树突和轴突三部分组成,其结构如图8.1所示。细胞体是神经元的中心,负责对信号的接收和处理:树突是神经元的生物信号输入端,与其它的神经元相连;轴突是从细胞体伸展出一根长的神经纤维,它是神经元的信号输出端,连接到其它神经元的树突上。神经元有两种状态:兴奋和抑制,平时神经元都处于抑制状态,轴突没有输入:当神经元的树突输入信号大到一定程度,超过某个阈值时,神经元有抑制状态转为兴奋状态,同时轴突向其它神经元发出信号。8.1.3人工神经元XWX,JZW2WNX10图8.2人工神经元构成示意图人工神经网络的基本节点是人工神经元,其工作原理仿照生物神经元提出的,一个简化的人工神经元的结构如图8.2所示。神经元可以有N个输入x,x2,""x,每个输入端与神经元之间有的联接权值w,W2,,Wn,神经元总的输入为对每个输入的加权求和,同时减去阈值θ,即Nu=wx,-0(8.1)ial神经元的输出y是对u的映射y=f(u)=(8.2)于称为激励函数,可以有很多形式,可是为简单的线性函数,也可以是具有任意阶导数的非线性函数。当为阅值函数时,神经元就可以看作是一个线性分类器。[1,x>0f(x):(8.3)[0, x≤0当取f为Sigmoid函数时,神经元完成的是非线性映射1(8.4)(x)=1+e一个神经元的结构可以简化为下图的形式Xi/WyWX
一个典型的神经元(或称神经细胞)主要有细胞体,树突和轴突三部分组成,其结构 如图 8.1 所示。细胞体是神经元的中心,负责对信号的接收和处理;树突是神经元的生物信 号输入端,与其它的神经元相连;轴突是从细胞体伸展出一根长的神经纤维,它是神经元的 信号输出端,连接到其它神经元的树突上。神经元有两种状态:兴奋和抑制,平时神经元都 处于抑制状态,轴突没有输入;当神经元的树突输入信号大到一定程度,超过某个阈值时, 神经元有抑制状态转为兴奋状态,同时轴突向其它神经元发出信号。 8.1.3 人工神经元 图 8.2 人工神经元构成示意图 人工神经网络的基本节点是人工神经元,其工作原理仿照生物神经元提出的,一个简化 的人工神经元的结构如图 8.2 所示。神经元可以有 N 个输入 1 2 , , , N x x x ,每个输入端与神 经元之间有的联接权值 1 2 , , , w w wN ,神经元总的输入为对每个输入的加权求和,同时减 去阈值 ,即 1 N i i i u w x (8.1) 神经元的输出 y 是对 u 的映射 1 N i i i y f u f w x (8.2) f 称为激励函数,可以有很多形式,可是为简单的线性函数,也可以是具有任意阶导 数的非线性函数。当 f 为阈值函数时,神经元就可以看作是一个线性分类器。 1, 0 0, 0 x f x x (8.3) 当取 f 为 Sigmoid 函数时,神经元完成的是非线性映射 1 1 x f x e (8.4) 一个神经元的结构可以简化为下图的形式 y x1 x2 xN . . . w1 w2 wN f u 1 x 2 x N x w1 w2 wN y
图8.3人工神经元的简化模型其中输入矢量为增广矢量,最后一维x=1,用W%代替阈值。8.1.4人工神经网络的特点人工神经网络有以下几个特点(1)人工神经网络可以充分逼近任意的非线性映射关系,从理论上来讲,三层前馈网络可以逼近任意的多元非线性函数。(2)人工神经网络采用并行处理方式,使快速大量运算成为可能,有效地提高了运算效率。(3)人工神经网络具有联想记忆功能。在训练阶段,网络能够对输入端的模式信息进行记忆,并以网络权值的形式储存。在执行阶段,即使输入端的信息不完整,网络也可以经过处理,在输出端恢复出完整而准确的信息。(4)人工神经网络有很强的自学习能力,系统可以学习过程中自我完善,从而学习到不知道或不确定的系统。人工神经网络的这一特性,在预测领域有特别重要的意义。(5)人工神经网络有很强的鲁棒性和容错性,少数几个神经元的损坏,并不能破坏整个网络系统。8.2前馈神经网络前馈神经网络的神经元呈分级排列,每个神经元只接受前一级的输入,并输出到下一级,网络没有反馈。前馈神经网络的第一级为输入层,最后一级为输出层,输入层与输出层之间的各级称为隐含层。一个网络可以只包含一个隐含层,也可以包含多个隐含层。感知器就是一种常见的前馈神经网络。8.2.1感知器感知器实际上是一个两层前馈网络,第一层为输入层,只是将输入的特征值传输给下一层:第二层为计算单元,并将结果输出。图8.4表示的就是一个n输入,M输出的感知器。当感知器应用到模式识别系统,其网络结构可以由输入模式和输入类别来决定。设输入模式为n维特征向量X=[,2,x,],则感知器的输入层应有n个神经元。若输入类别有m个,则输出层应包含m个神经元。输入层的第i个神经元与输出层的第j个神经元的连接权值为wu,则第j个神经元的输出为y=J[>Wx-e(8.5)
图 8.3 人工神经元的简化模型 其中输入矢量为增广矢量,最后一维 1 N x ,用 wN 代替阈值 。 8.1.4 人工神经网络的特点 人工神经网络有以下几个特点 (1)人工神经网络可以充分逼近任意的非线性映射关系,从理论上来讲,三层前馈网 络可以逼近任意的多元非线性函数。 (2)人工神经网络采用并行处理方式,使快速大量运算成为可能,有效地提高了运算 效率。 (3)人工神经网络具有联想记忆功能。在训练阶段,网络能够对输入端的模式信息进 行记忆,并以网络权值的形式储存。在执行阶段,即使输入端的信息不完整,网络也可以经 过处理,在输出端恢复出完整而准确的信息。 (4)人工神经网络有很强的自学习能力,系统可以学习过程中自我完善,从而学习到 不知道或不确定的系统。人工神经网络的这一特性,在预测领域有特别重要的意义。 (5)人工神经网络有很强的鲁棒性和容错性,少数几个神经元的损坏,并不能破坏整 个网络系统。 8.2 前馈神经网络 前馈神经网络的神经元呈分级排列,每个神经元只接受前一级的输入,并输出到下一级, 网络没有反馈。前馈神经网络的第一级为输入层,最后一级为输出层,输入层与输出层之间 的各级称为隐含层。一个网络可以只包含一个隐含层,也可以包含多个隐含层。感知器就是 一种常见的前馈神经网络。 8.2.1 感知器 感知器实际上是一个两层前馈网络,第一层为输入层,只是将输入的特征值传输给下一 层;第二层为计算单元,并将结果输出。图 8.4 表示的就是一个 n 输入, M 输出的感知器。 当感知器应用到模式识别系统,其网络结构可以由输入模式和输入类别来决定。设输入 模式为 n 维特征向量 X x x x 1 2 , , , n ,则感知器的输入层应有 n 个神经元。若输入类别 有 m 个,则输出层应包含 m 个神经元。输入层的第 i 个神经元与输出层的第 j 个神经元的 连接权值为 wij ,则第 j 个神经元的输出为 1 n j ij i j i y f w x (8.5)
其中9,为第j个神经元的偏置,如果把,也看成一个权值,并令wo,=-0,,则式(8.5)可以写成更简洁的形式(8.6)对于分类问题,可定义如下判别规则[+I XEO](8.7)y,={-1 α Xe0)感知器的学习算法同前面介绍的类似,只不过现在的输出可能不止是0和1。设某一个训练样本的理想输出为(y,,yM),而实际输出为(,,jM),则权值可按如下公式进行修正(8.8)W, (t+1)=w,(t)+n(y,-j.)x其中,n为学习步长。n的取值对权值的收敛性影响很大,若n太小,收敛速度会很慢;若n太大,算法可能会出现振荡。单个神经元可以实现两类问题的线性分类,多个感知器则可以实现多类别问题的线性分类。例如图8.4中的网络,当M=4时就可以实现四类问题的分类,练时,第1类的训练样本理想输出为(1,0,0,0),第2类的理想输出为(0,1,0,0),第3类为(0,0,1,0),第4类为(0,0,0,1)。也就是每个神经元输出为1代表某一类别。这样的网络实际上是由拒绝区域的分类,当待识样本输入后,输出全部为0或有不止一个输出为1,则应该拒识。如果对于四个类别问题,用两个计算单元进行编码输出时,则可以做到无拒识。也就是说第1类训练样本的理想输出为(0,0),第2类为(0,1),第3类为(1,0),第4类为(1,1)。x图8.4单层感知器的结构示意图图8.5多层感知器的结构示意图8.2.2多层感知器单层感知器只能解决线性可分的问题,多层感知器可以解决这一局限性,实现输入和输出之间的非线性映射。如图8.5表示的是n个输入,M个输出,若干个隐元的四层感知器。其中第1层称为输入层,第2、3层称为隐层,第4层称为输出层。在多层感知器网络中,隐层的个数可以是一个,也可以是多个,隐层神经元的输出函数通常是Sigmoid函数
其中 i 为第 j 个神经元的偏置,如果把 i 也看成一个权值,并令 w0 j j ,则式(8.5) 可以写成更简洁的形式 0 n j ij i i y f w x (8.6) 对于分类问题,可定义如下判别规则 1 1 j j j X y X (8.7) 感知器的学习算法同前面介绍的类似,只不过现在的输出可能不止是 0 和 1。设某一个 训练样本的理想输出为 y y 1 , , M ,而实际输出为 y y 1 , , M ,则权值可按如下公式进行 修正 w t w t y y x ij ij i i i 1 (8.8) 其中, 为学习步长。 的取值对权值的收敛性影响很大,若 太小,收敛速度会很慢;若 太大,算法可能会出现振荡。 单个神经元可以实现两类问题的线性分类,多个感知器则可以实现多类别问题的线性分 类。例如图 8.4 中的网络,当 M 4 时就可以实现四类问题的分类,训练时,第 1 类的训练 样本理想输出为(1,0,0,0),第 2 类的理想输出为(0,1,0,0),第 3 类为(0,0,1,0),第 4 类为(0,0,0,1)。 也就是每个神经元输出为 1 代表某一类别。这样的网络实际上是由拒绝区域的分类,当待识 样本输入后,输出全部为 0 或有不止一个输出为 1,则应该拒识。 如果对于四个类别问题,用两个计算单元进行编码输出时,则可以做到无拒识。也就是 说第 1 类训练样本的理想输出为(0,0),第 2 类为(0,1),第 3 类为(1,0),第 4 类为(1,1)。 x1 x2 xn y1 . yM . . . y1 . yM . x1 x2 . xn . . . 图 8.4 单层感知器的结构示意图 图 8.5 多层感知器的结构示意图 8.2.2 多层感知器 单层感知器只能解决线性可分的问题,多层感知器可以解决这一局限性,实现输入和输 出之间的非线性映射。如图 8.5 表示的是 n 个输入, M 个输出,若干个隐元的四层感知器。 其中第 1 层称为输入层,第 2、3 层称为隐层,第 4 层称为输出层。在多层感知器网络中, 隐层的个数可以是一个,也可以是多个,隐层神经元的输出函数通常是 Sigmoid 函数
在感知器算法中我们实际上是在利用理想输出与实际输出之间的误差作为增量来修正权值,然而在多层感知器中,只能直接计算出输出层的误差,中间层由于不直接与外界连接,因此其误差无法直接计算,这是多层感知器学习的主要困难。解决这一问题的方法是反向传播(Back-Propogation,BP)算法,因此多层感知器网络也称为BP网络。BP算法的思想是从后向前反向逐层传播输出层的误差,以间接计算隐层的误差。算法可以分为两个阶段:第一阶段是一个正向过程,输入信息从输入层经隐层逐层计算每个经神元的输出值;第二阶段是一个反向传播过程,输出层的误差逐层向前传播,算出隐层每个神经元的误差,并用误差修正权值。从图8.5的网络结构中可以看出,多层感知器的神经元层级之间采用全连接的方式,上层的神经元的输出作为输入推送给下一层的所有神经元。若某一层的第j的神经元的输出为O,,其与上一层第i个神经元的连接权值为w,与下一层的k个神经元的连接权值为wk,则第j的神经元的输入为(8.9)net, =Zw,O其中0,为上一层第i个神经元的输出,输出O,为(8.10)O, =(net,)= f(Zw,O)设当前样本的理想输出为y,与实际输出,=O,的误差为E=Z(y,-)(8.11)权值w,对误差的影响为OE E_ omel =8,0.(8.12)Ow,Onet, Owy其中,,为局部梯度。若节点j为输出单元,则O,=,,有E =-(y,-)(net,)(8.13)8.Onet,ay,Onet,若节点j不为输出单元,则0 %(met)8, =(8.14)Onet,a0, onet, a0,下面给出BP算法的具体步骤:
在感知器算法中我们实际上是在利用理想输出与实际输出之间的误差作为增量来修正 权值,然而在多层感知器中,只能直接计算出输出层的误差,中间层由于不直接与外界连接, 因此其误差无法直接计算,这是多层感知器学习的主要困难。解决这一问题的方法是反向传 播(Back-Propogation,BP)算法,因此多层感知器网络也称为 BP 网络。BP 算法的思想是从 后向前反向逐层传播输出层的误差,以间接计算隐层的误差。算法可以分为两个阶段:第一 阶段是一个正向过程,输入信息从输入层经隐层逐层计算每个经神元的输出值;第二阶段是 一个反向传播过程,输出层的误差逐层向前传播,算出隐层每个神经元的误差,并用误差修 正权值。 从图 8.5 的网络结构中可以看出,多层感知器的神经元层级之间采用全连接的方式,上 层的神经元的输出作为输入推送给下一层的所有神经元。若某一层的第 j 的神经元的输出为 Oj ,其与上一层第 i 个神经元的连接权值为 wij ,与下一层的 k 个神经元的连接权值为 wjk , 则第 j 的神经元的输入为 j ij i i net w O (8.9) 其中 Oi 为上一层第 i 个神经元的输出,输出 Oj 为 ( ) j j ij i i O f net f w O (8.10) 设当前样本的理想输出为 j y ,与实际输出 ˆ j j y O 的误差为 1 2 ˆ 2 j j i E y y (8.11) 权值 wij 对误差的影响为 j j i ij j ij E E net O w net w (8.12) 其中, j 为局部梯度。 若节点 j 为输出单元,则 ˆ O y j j ,有 ˆ ˆ ˆ j j j j j j j j E E y y y f net net y net (8.13) 若节点 j 不为输出单元,则 j j j j j j j E E E O f net net O net O (8.14) 下面给出 BP 算法的具体步骤: