1、神经网络神经网络人工神经网络 人工神经网络是集脑科学、神经心理学和信息科学等多学科的交叉研究领域,是近年来高科技领域的一个研究热点。它的研究目标是通过研究人脑的组成机理和思维方式,探索人类智能的奥秘,进而通过模拟人脑的结构和工作模式,使机器具有类似人类的智能。它已在模式识别、机器学习、专家系统等多个方面得到应用,成为人工智能研究中的活跃领域。本章将简要介绍神经网络基本的概念、模型以及学习算法。神经网络的基本概念及组成特性n9.1.1 生物神经元的结构与功能特性生物神经元的结构与功能特性n 1. 生物神经元的结构生物神经元的结构n 神经细胞是构成神经系统的基本单元,称之为生物神称之为生物神经元经
2、元,简称神经元神经元。神经元主要由三部分构成:n(1)细胞体;(2)轴突;(3)树突; (如图)生物神经元结构神经网络的基本概念及组成特性 突触是神经元之间相互连接的接口部分,即一个神经元的神经末梢与另一个神经元的树突相接触的交界面,位于神经元的神经末梢尾端。突触是轴突的终端。 2. 神经元的功能特性神经元的功能特性 (1)时空整合功能。 (2)神经元的动态极化性。 (3)兴奋与抑制状态。 (4)结构的可塑性。 (5)脉冲与电位信号的转换。 (6)突触延期和不应期。 (7)学习、遗忘和疲劳。9.1.2 9.1.2 人工神经网络的组成与结构人工神经网络的组成与结构 1. 1. 人工神经网络的组成
3、人工神经网络的组成 人工神经网络(简称ANN)是由大量处理单元经广泛互连而组成的人工网络,用来模拟脑神经系统的结构和功能。而这些处理单元我们把它称作人工神经元人工神经元。 人工神经网络(ANN)可看成是以人工神经元为节点,用有向加权弧连接起来的有向图。在此有向图中,人工神经元就是对生物神经元的模拟,而有向弧则是轴突突触树突对的模拟。有向弧的权值表示相互连接的两个人工神经元间相互作用的强弱。 9.1 神经网络的基本概念及组成特性 图9.2 人工神经网络的组成 图9.3 MP神经元模型 9.1 神经网络的基本概念及组成特性 2. 2. 人工神经元的工作过程人工神经元的工作过程 对于某个处理单元(神
4、经元)来说,假设来自其他处理单元(神经元)i的信息为Xi,它们与本处理单元的互相作用强度即连接权值为Wi, i=0,1,n-1,处理单元的内部阈值为。那么本处理单元(神经元)的输入为10niiixw而处理单元的输出为(9.1.1))xw(fy1n0iii(9.1.2)式中,xi为第i个元素的输入,wi为第i个处理单元与本处理单元的互联权重。f称为激发函数或作用函数,它决定节点(神经元)的输出。9.1 神经网络的基本概念及组成特性 (a)阈值型 (b)分段线性型 (c) Sigmoid函数型 (d)双曲正切型 图 常用的激发函数 1n0iiixw这里,激发函数一般具有非线性特性,常用的非线性激发
5、函数如图所示称为激活值9.1 神经网络的基本概念及组成特性 阈值型函数又称阶跃函数,它表示激活值和其输出f( )之间的关系。阈值型函数为激发函数的神经元是一种最简单的人工神经元,也就是我们前面提到的M-P模型。 线性分段函数可以看作是一种最简单的非线性函数,它的特点是将函数的值域限制在一定的范围内,其输入、输出之间在一定范围内满足线性关系,一直延续到输出为最大域值为止。但当达到最大值后,输出就不再增大。 S型函数是一个有最大输出值的非线性函数,其输出值是在某个范围内连续取值的。以它为激发函数的神经元也具有饱和特性。 双曲正切型函数实际只是一种特殊的S型函数,其饱和值是1和1。 9.1 神经网络
6、的基本概念及组成特性3.3.人工神经网络的结构人工神经网络的结构 人工神经网络中,各神经元的不同连接方式就构成了网络的不同连接模型。常见的连接模型有:n 前向网络。n 从输入层到输出层有反馈的网络。n 层内有互联的网络。n 互联网络。9.1 神经网络的基本概念及组成特性4. 4. 人工神经网络的分类及其主要特征人工神经网络的分类及其主要特征 分类 按性能分:连续型和离散型网络,或确定型和随机型网络。 按拓扑结构分:有反馈网络和无反馈网络。 按学习方法分:有教师的学习网络和无教师的学习网络。 按连接突触性质分:一阶线性关联网络和高阶非线性关联网络。9.1 神经网络的基本概念及组成特性 人工神经网
7、络具有以下主要特征: (1)能较好的模拟人的形象思维。 (2)具有大规模并行协同处理能力。 (3)具有较强的学习能力。 (4)具有较强的容错能力和联想能力。 (5)是一个大规模自组织、自适应的非线性动力系统。 9.1 神经网络的基本概念及组成特性9.1.3 9.1.3 人工神经网络研究的兴起与发展人工神经网络研究的兴起与发展人工神经网络的研究经历了不少的曲折,大体上可分为四个阶段: 产生时期(20世纪50年代中期之前) 高潮时期(20世纪50年代中期到20世纪60年代末期) 低潮时期(20世纪60年代末到20世纪80年代初期) 蓬勃发展时期(20世纪80年代以后) 9.1 神经网络的基本概念及
8、组成特性9.2.1 9.2.1 感知器模型感知器模型 感知器模型是美国学者罗森勃拉特(Rosenblatt)为研究大脑的存储、学习和认知过程而提出的一类具有自学习能力的神经网络模型,它把神经网络的研究从纯理论探讨引向了从工程上的实现。 Rosenblatt提出的感知器模型是一个只有单层计算单元的前向神经网络,称为单层感知器。9.2 感知器模型及其学习算法9.2.2 9.2.2 单层感知器模型的学习算法单层感知器模型的学习算法算法思想:算法思想:首先把连接权和阈值初始化为较小的非零随机数,然后把有n个连接权值的输入送入网络,经加权运算处理,得到的输出如果与所期望的输出有较大的差别,就对连接权值参
9、数按照某种算法进行自动调整,经过多次反复,直到所得到的输出与所期望的输出间的差别满足要求为止。为简单起见,仅考虑只有一个输出的简单情况。设xi(t)是时刻t感知器的输入(i=1,2,.,n),i(t)是相应的连接权值,y(t)是实际的输出,d(t)是所期望的输出,且感知器的输出或者为1,或者为0,则单层感知器的学习算法9.2 感知器模型及其学习算法感知器模型学习算法9.2.3 9.2.3 线性不可分问题线性不可分问题 单层感知器不能表达的问题被称为线性不可分问题。 1969年,明斯基证明了“异或”问题是线性不可分问题: “异或”(XOR)运算的定义如下:其相应的逻辑运算真值表 1,x xif
10、0,)x,y(x2121其他9.2 感知器模型及其学习算法由于单层感知器的输出为 y(x1,x2)=f(1x1+2x2-) 所以,用感知器实现简单逻辑运算的情况如下: (1 1)“与与”运算(运算(x x1 1x x2 2)令1= 2=1,=2,则 y=f(1x1+1x2-2)显然,当x1和x2均为1时,y的值1;而当x1和x2有一个为0时,y的值就为0。 (2 2)“或或”运算运算(x x1 1x x2 2) 令1= 2=1, =0.5 y=f(1x1+1x2-0.5) 显然,只要x1和x2中有一个为1,则y的值就为1;只有当x1和x2都为0时,y的值才为0。9.2 感知器模型及其学习算法(
11、3 3)“非非”运算(运算(X X1 1) 令1 =-1, 2=O, =-0.5,则 y=f(-1)x1+1x2+0.5)显然,无论x2为何值,x1为1时,y的值都为0;x1为O时,y的值为1。即y总等于x1。(4 4)“异或异或”运算(运算(x x1 1 XOR x XOR x2 2)如果“异或”(XOR)问题能用单层感知器解决,则由XOR的真值表9-1可知,1、 2 和 必须满足如下方程组: 1+2-0 1+0-0 0+0-0 0+2-0 显然,该方程组是无解,这就说明单层感知器是无法解决异或问题的。9.2 感知器模型及其学习算法 异或问题是一个只有两个输入和一个输出,且输入输出都只取1和
12、0两个值的问题,分析起来比较简单。对于比较复杂的多输入变量函数来说,到底有多少是线性可分的?多少是线性不可分的呢?相关研究表明,线性不可分函数的数量随着输入变量个数的增加而快速增加,甚至远远超过了线性可分函数的个数。也就是说,单层感知器不能表达的问题的数量远远超过了它所能表达的问题的数量。这也难怪当Minsky给出单层感知器的这一致命缺陷时,会使人工神经网络的研究跌入漫长的黑暗期。9.2 感知器模型及其学习算法9.2.4 9.2.4 多层感知器多层感知器 在单层感知器的输入部分和输出层之间加入一层或多层处理单元,就构成了二层或多层感知器。 在多层感知器模型中,只允许某一层的连接权值可调,这是因
13、为无法知道网络隐层的神经元的理想输出,因而难以给出一个有效的多层感知器学习算法。多层感知器克服了单层感知器的许多缺点,原来一些单层感知器无法解决的问题,在多层感知器中就可以解决。例如,应用二层感知器就可以解决异或逻辑运算问题 9.2 感知器模型及其学习算法9.3.1 9.3.1 反向传播模型及其网络结构反向传播模型及其网络结构反向传播模型反向传播模型也称B-P模型,是一种用于前向多层的反向传播学习算法。之所以称它是一种学习方法,是因为用它可以对组成前向多层网络的各人工神经元之间的连接权值进行不断的修改,从而使该前向多层网络能够将输入它的信息变换成所期望的输出信息。之所以将其称作为反向学习算法,
14、是因为在修改各人工神经元的连接权值时,所依据的是该网络的实际输出与其期望的输出之差,将这一差值反向一层一层的向回传播,来决定连接权值的修改。9.3 反向传播模型及其学习算法B-P算法的网络结构是一个前向多层网络,如图所示。 9.3 反向传播模型及其学习算法9.3.2 9.3.2 反向传播网络的学习算法反向传播网络的学习算法B-P算法的学习目的是对网络的连接权值进行调整,使得调整后的网络对任一输入都能得到所期望的输出。 学习过程由正向传播和反向传播组成。 正向传播用于对前向网络进行计算,即对某一输入信息,经过网络计算后求出它的输出结果。 反向传播用于逐层传递误差,修改神经元间的连接权值,以使网络
15、对输入信息经过计算后所得到的输出能达到期望的误差要求。9.3 反向传播模型及其学习算法B-P算法的学习过程如下:(1)选择一组训练样例,每一个样例由输入信息和期望的输出结果两部分组成。(2)从训练样例集中取一样例,把输入信息输入到网络中。(3)分别计算经神经元处理后的各层节点的输出。(4)计算网络的实际输出和期望输出的误差。(5)从输出层反向计算到第一个隐层,并按照某种能使误差向减小方向发展的原则,调整网络中各神经元的连接权值。(6)对训练样例集中的每一个样例重复(3)(5)的步骤,直到对整个训练样例集的误差达到要求时为止。9.3 反向传播模型及其学习算法 在以上的学习过程中,第(5)步是最重
16、要的,如何确定一种调整连接权值的原则,使误差沿着减小的方向发展,是B-P学习算法必须解决的问题。 9.3 反向传播模型及其学习算法图9.11 B-P学习算法的流程图 B-P算法的优缺点:优点:理论基础牢固,推导过程严谨,物理概念清晰,通用性好等。所以,它是目前用来训练前向多层网络较好的算法。缺点: (1)该学习算法的收敛速度慢;(2)网络中隐节点个数的选取尚无理论上的指导;(3)从数学角度看,B-P算法是一种梯度最速下降法,这就可能出现局部极小的问题。当出现局部极小时,从表面上看,误差符合要求,但这时所得到的解并不一定是问题的真正解。所以B-P算法是不完备的。9.3 反向传播模型及其学习算法9
17、.3.3 9.3.3 反向传播计算的举例反向传播计算的举例设图9.12是一个简单的前向传播网络,用B-P算法确定其中的各连接权值时,的计算方法如下:9.3 反向传播模型及其学习算法9.3 反向传播模型及其学习算法9.3 反向传播模型及其学习算法9.3 反向传播模型及其学习算法9.4.1 Hopfield9.4.1 Hopfield模型模型Hopfield模型是霍普菲尔德分别于1982年及1984提出的两个神经网络模型。1982年提出的是离散型,1984年提出的是连续型,但它们都是反馈网络结构。图9.13给出了一个简单的反馈神经网络图。 9.4 Hopfield模型及其学习算法 由于在反馈网络中
18、,网络的输出要反复地作为输入再送入网络中,这就使得网络具有了动态性,网络的状态在不断的改变之中,因而就提出了网络的稳定性问题。所谓一个网络是稳定的是指从某一时刻开始,网络的状态不再改变。 设用X(t)表示网络在时刻t的状态,如果从t=的任一初态X(0)开始,存在一个有限的时刻t,使得从此时刻开始神经网络的状态不再发生变化,即 (9.4.1) 就称此网络是稳定的。 ) t (X) tt (X0t 9.4 Hopfield模型及其学习算法 离散网络模型是一个离散时间系统,每个神经元只有两个状态,可以用1和0来表示,由连接权值ij所构成的矩阵是一个对角线为0的对称矩阵,即ji0jiWWjiij若若
19、(9.4.2) 如果用x(t)表示整个网络在时刻的状态,则X是一个向量,它包含了网络中每个人工神经元的状态。所以,状态向量X中的分量个数就是网络中人工神经元的个数。假设网络中的节点(人工神经元)个数为n,则向量X的构成如下:9.4 Hopfield模型及其学习算法 这里, ,其中的ij为节点到节点的连接权值; 为节点的阈值。0) t (0) t (1) 1t (Xiii当当nijiijitXWt1)()()t (x,),t (x,),t (x),t (x) t (Xni21Tj (9.4.3)Xi(t)表示节点i(第个i神经元)在时刻t的状态,该节点在时刻t+1的状态由下式决定:(9.4.4)
20、9.4 Hopfield模型及其学习算法 Hopfield网络离散模型有两种工作模式:(1)串行方式,是指在任一时刻t,只有一个神经元i发生状态变化,而其余的神经元保持状态不变。(2)并行方式,是指在任一时刻t,都有部分或全体神经元同时改变状态。 有关离散的Hopfield网络的稳定性问题,已于1983年由Cohen和Grossberg给于了证明。而Hopfield等人又进一步证明 ,只要连接权值构成的矩阵是非负对角元的对称矩阵,则该网络就具有串行稳定性。9.4 Hopfield模型及其学习算法 1984年,Hopfield又提出了连续时间的神经网络,在这种神经网络中,各节点可在0到1的区间内
21、取任一实数值。 Hopfield网络是一种非线性的动力网络,可通过反复的网络动态迭代来求解问题,这是符号逻辑方法所不具有的特性。在求解某些问题时,其求解问题的方法与人类求解问题的方法很相似,虽然所求得的解不是最佳解,但其求解速度快,更符合人们日常解决问题的策略 9.4 Hopfield模型及其学习算法9.4.2 Hopfield9.4.2 Hopfield网络的学习算法网络的学习算法(1) 设置互连权值。 (9.4.5)其中, 是s类样例的第i个分量,它可以为1或0,样例类别数为m,节点数为n。 ji0jixxW1m0ssjsiijsix9.4 Hopfield模型及其学习算法(2) 未知类别
22、样本初始化。 (9.4.6)其中,yi(t)为节点I在t时刻的输出,当t=0时,yi(0)就是节点I的初始值,xi为输入样本的第I个分量。1nix)0(yii(3) 迭代直到收敛。 (9.4.7)式(9.4.7)中f为阈值型激发函数。该过程一直迭代到不再改变节点的输出为止。这时各节点的输出与输入样例达到最佳匹配。否则(4) 转(2)继续。10)() 1(10njtyWftyniiijj9.4 Hopfield模型及其学习算法前面已经指出,当Hopfield模型的网络中各神经元的连接权值所构成的矩阵是一个非负对角元的对称矩阵时或者是一个非负定矩阵时,上述算法是收敛的。 人工神经网络的类型很多,这里只简单介绍了三种比较重要且常用的模型及其算法,即感知器模型、B-P网络模型和Hopfield网络模型。若想更深入地了解,请参阅人工神经网络相关的专著或教材。 9.4 Hopfield模型及其学习算法返回目录返回目录