人工神经网络综述引言人工神经网络(ArtificialNeuralNetwork,简称ANN)可以概括的定义为:由大量简单的高度互连的处理元素(神经元)所组成的复杂网络计算系统。它是在现代神经科学研究成果基础上提出的,反映了人脑功能的若干基本特征,是模拟人工智能的一条重要途径。最普通形式的神经网络就是对人脑完成特定任务或感兴趣功能的方法进行建模的机器。人工神经网络既可以用硬件实现,也可以用软件实现;既可以看做一种计算模式,也可以看做一种认知模式。因此,从某种意义上说,人工神经网络、并行分布处理(ParallelDistributedProcessing,简称PDP)、神经计算机是同一概念。神经网络在两个方面与人脑相似:①神经网络获取的知识是从外界环境中学习得来的;②互连神经元的连接强度,即突触权值,用于存储获取的知识。1神经网络基础知识1.1神经元模型神经元是神经网络的基本处理单元,它是人工神经网络的设计基础。人工神经网络是模拟或学习生物神经网络(BiologicalNeuralNetwork,BNN)信息处理功能的信息处理模型。因此,要了解人工神经元模型首先必须了解生物神经元模型。1.1.1生物神经元的结构生物神经元是大脑的基本单元。虽然存在多种生物神经元,但其基本结构是相似的,即一个生物神经元由一个细胞体、大量的树突和轴突构成。细胞体相当于一个初等处理器,由细胞核、细胞质和细胞膜等组成。树突也称枝晶,为细胞体向外伸出的许多树状分枝,它相当于细胞的输入端,接受来自四面八方的传入神经冲动、兴奋或抑制信号。轴突即神经纤维,是由细胞体向外伸出的最长的一条分枝。轴突相当于细胞的输出电缆,其端部有许多神经末梢作为信号输出端子,用于传出神经冲动、兴奋或抑制信号。神经元之间通过轴突(输出)与树突(输入)相互连接,其接合部称为突触,即神经冲动通过突触从一个神经元传递到另一个神经元。它决定了神经元之间的联接强度和性质(兴奋或抑制)。图1-1为一个典型的生物神经元结构。图1-11.1.2生物神经元的功能和特征神经元是大脑结构的基本单位,它的一个主要功能是放大和处理信号。神经元通过轴突的长纤维将电化学脉冲从一个神经元送到另一个神经元。这些脉冲沿轴突传播,直到达到与另一个神经元联接的神经突触为止。在这一点处,由轴突终端释放的化学传递物质越过突触的间隙激励或抑制目标神经元。若来自几个突触输入的激励超过一个确定的值,目标神经元将产生它自己的一个输出脉冲。按照生物控制论的观点,作为控制和信息处理基本单元的神经元具有如下一些重要的功能和特性:①时空整合功能。它对于不同时间通过同一突触传入的神经冲动具有时间整合功能;对于同一时间通过不同图触传入的神经冲动具有空间整合功能。两种功能相互结合,具有时空整合功能。②两种工作状态。当传入冲动的时空整合结果使细胞膜电位升高至超过动作电位阈值时,细胞进入兴奋状态,产生兴奋冲动,由轴突输出;若下降至低于动作电位阈值时,细胞进入抑制状态,无神经冲动输出。③脉冲电位转换功能。突触界面具有将离散的传入神经信号通过神经介质以量子化学方式转换为连续的细胞膜电位的功能。④突触对神经冲动的传递有延时和不应期现象。⑤突触的传递作用有增强、减弱和饱和三种可能,所以细胞相应的具有学习功能、遗忘和疲劳(饱和)效应。1.1.3人工神经元的理论模型根据生物神经元的结构和功能,从20世纪40年代开始,人们提出了大量的人工神经元模型,其中影响较大的是1943年美国心理学家McCulloch和数学家Pitts共同提出的形式神经元模型,通常称之为MP模型。图1-2为一个典型的MP模型结构。图1-2它的基本构成如下所示:输入12(,,,)TnXxxx,联接权12(,,,)Tn,iu是由输入信号线性组合后的输出,是神经元i的净输入,i为神经元的阈值或称为偏差用ib表示,f为激励函数,iy是神经元i的输出。1.2神经网络模型人工神经网络是人脑的某种抽象、简化或模拟。它由大量神经元广泛互联而成。网络的信息处理由神经元之间的相互作用来实现并以大规模并行分布方式进行,信息的存储体现在网络中神经元互联分布形式上,网络的学习和识别取决于神经元间联接权系数的动态演化过程。1.2.1神经网络的结构特点神经网络的互联结构的基本特点可归纳为:(1)神经网络由大量的神经元互相联接而成。(2)大量神经元按不同方式联接,构成不同类型的神经元网络。(3)各神经元间联接强度由神经网络内部权值决定。当一个神经网络的结构确定后,将根据学习规则调整神经元间联接强度,从而获得有关问题领域的知识,即学习自适应和自组织。(4)各神经元的操作可以是同步的,也可以是非同步的。1.2.2神经网络的分类按神经网络的性能可分为连续型神经网络和离散型神经网络,又可分为确定型神经网络和随机型神经网络;按神经网络的结构可分为反馈型神经网络和前馈型神经网络;按学习方式可分为有导师学习网络和自组织学习网络。1.2.3神经网络的自学习过程学习是智能的基本特征之一,对于神经网络具有首要意义的性质是网络能从环境中学习的能力,并通过学习改变权值达到预想的目的。神经网络通过施加于它的权值和阈值调节的交互过程来学习它的环境。人工神经网络有近似于人类学习的能力,是其一个关键的方面。1.2.3.1神经网络的学习形式在构造一个网络时,一个神经元的活化函数f和转换函数g就确定了。若想改变输出大小但在学习过程中又不能改变g,则只有改变加权求和的输入。神经元只能对环境做出反响而不能产生环境,故它不能控制输入模式。因此,改变加权输入的唯一方法只能是修改作为加在个别输入上的权系数。所以网络的学习形式表现在改变权值上。1.2.3.2神经网络的工作过程神经网络的工作过程主要由两个阶段组成,一个阶段是学习期,此时各计算单元学习状态不变,执行学习规则,即执行修正权系数(通过学习样本或其他方法)的算法,获取合适的映射关系或其他的系统性能。另一个阶段是工作期,此时各联接权值固定,计算单元的状态变化,最终达到一个稳定状态。前一阶段学习期工作过程较慢,权值及联接方式亦称为长期记忆(LTM);后一阶段工作较快,由输入模式可迅速得到精确的或近似的输出模式,各单元的状态亦称为短期记忆(STM)。1.2.3.3神经网络的学习规则在人工神经网络中,学习规则就是修正权值的一种算法。对学习算法的分类也有多种,如以来自环境刺激的多少可分为联想式或非联想式,以学习时有无教师示教可分为监督或非监督(有指导或无指导),以网络联接方式可分为阶层或相互联接等。下面是最有普遍意义的几个学习规则:(1)误差修正型学习规则。这是一种监督学习过程,其基本思想是利用神经元期望输出与实际输出之间的偏差作为联接权调整的参考,最终减小这种偏差。(2)赫布(Hebb)型学习规则(相关规则)。其基本思想是仅根据联接的神经元的活化水平改变权,即两种神经元间联接权的变化与两神经元的活化值(激活值)相关。若两神经元同时兴奋,则联接加强。(3)随机型学习规则。此规则为结合随机过程、概率和能量等概念来调整网络的变量,从而使网络的能量函数最小(或最大)。在学习过程中,网络变量的随机变化不是完全随机的,而是据能量函数的改变有指导的进行。网络的变量可以是联接权,也可以是神经元的状态。能量函数可定义为问题的目标函数或者网络输出的均方差函数。(4)竞争型学习规则。指网络的某神经元群体中所有神经元相互竞争对外界刺激模式响应的能力,竞争取胜的神经元的联接权变化向着对这一刺激模式竞争更为有力的方向进行。2前馈神经网络模型2.1自适应线性神经网络(Adaline)自适应线性神经网络(AdaptiveLinear,简称Adaline)是由威德罗(Widrow)和霍夫(Hoff)首先提出的。它与感知器的主要不同之处在于其神经元有一个线性激活函数,这允许输出可以是任意值,而不仅仅只是像感知器中那样只能取0或1。它采用的是W—H学习法则,也称最小均方差(LMS)规则对权值进行训练。自适应线性元件的主要用途是线性逼近一个函数式而进行模式联想。2.1.1网络结构图2-1为其网络结构:图2-12.1.2学习算法步骤第一步设置变量和参量:12()[1,(),(),,()]mXnxnxnxn为输入向量,或称训练样本。12()[(),(),(),,()]mWnbnwnwnwn为权值向量。()bn为偏差,()yn为实际输出,()dn为期望输出,为学习速率,n为迭代次数。第二步初始化,赋给(0)jW各一个较小的随机非零值,0n。第三步对于一组输入样本12()[1,(),(),,()]mXnxnxnxn和对应的期望输出d,计算:()()()()(1)()()()TendnXnWnWnWnXnen第四步判断是否满足条件,若满足算法条件,则结束。若不满足,将n值加1,转第三步重新执行。2.1.3优缺点优点:(1)Adaline网络可以学习输入输出矢量之间的线性关系,并产生一个具有误差平方和最小的线性逼近;(2)对于一些实际问题,常常并不需要求出其完美的零误差时的解。也就是说允许存在一定的误差。这时,采用Adaline网络求解,可以很快地训练出满足一定要求的网络权值。缺点:(1)输入和输出之间的非线性关系不能用Adaline网络精确地设计出。(2)对于特别简单的问题,采用自适应线性网络的训练不一定能够得到足够精确的解。因为当训练误差达到期望误差值后,训练即被终止。2.2单层感知器单层感知器(Perceptron)是由美国计算机科学家罗森布拉特(F.Roseblatt)于1957年提出的。它是一个具有单层神经元的网络,由线性阈值逻辑单元所组成。它的输入可以是非离散量,而且可以通过学习而得到,这使单层感知器在神经网络研究中有着重要的意义和地位:它提出了自组织、自学习的思想,对能够解决的问题,有一个收敛的算法,并从数学上给出了严格的证明。2.2.1网络结构当给定一个输入向量X,在阈值和权值W的作用下,单层感知器的输出为:111110()10niiniiiniiiiWxYfWxWx(2-1)如果输入向量X有k个样本,即,1,2,...,pXpk,把样本pX看作是n维空间的一个向量,那么k个样本就是输入空间的k个向量。由于单层感知器神经元的输出只有两种可能,即1或-1。这样方程(2-1)就把这n维输入空间分为两个子空间,其分界线为1n维的超平面。通过调节权值iW和阈值可以改变这个1n维超平面的位置以达到对样本的正确划分。图2-2为其网络结构:图2-22.2.2学习算法步骤单层感知器的具体学习步骤如下:(1)给定初始值:各赋给(0)iW和一个较小的随机非零值,这里()iWt为t时刻第i个输入上的权(1)in。(2)输入一样本12(,,...,)nXxxx和它的希望输出d,如果XA类,1d;如果XB类,1d。(3)计算实际输出:11()(())niiiYtfWtx(4)修正权W:(1)()[()]iiiWtWtdYtx,1,2,...,1in式中01为比例系数,用于控制权值的修正速度,也称为学习速度。通常要适中,不能太大也不能太小,太大会影响()iWt的稳定,太小会使()iWt的收敛速度太慢。当实际输出与已知的输出值相同时,()iWt不变。(5)转到步骤(2)直到W对k个样本均稳定不变为止。2.2.3优缺点优点:单层感知器适用于线性分类,在多维样本空间中起到一个将两类模式样本分开的超平面作用。缺点:(1)由于单层感知器的激活函数采用的是阀值函数,输出矢量只能取0或1,所以只能用它来解决简单的分类问题;(2)单层感知器仅能够线性地将输入矢量进行分类,并且不能对非线性可分的输入模式进行分类。如:异或问题;(3)当输入矢量中有一个数比其他数都大或小得很多时,可能导致较慢的收敛速度。2.3多层感知器和BP算法单层感知器由于只有一个神经元,功能单一,只能完成线性决策或实现“与”、“或”、“非”等单一逻辑函数。多层感知器(M