首页 > 代码库 > 常用神经网络模型及其应用评述(转载)

常用神经网络模型及其应用评述(转载)

  神经网络是由大量处理单元(神经元)互相连接而成的网络,实际上ANN并不完全模拟了生物的神经系统,而是一种抽象、简化和模拟。神经网络的信息处理通过神经元的相互作用来实现,知识与信息的存贮表现在网络元件互连的分布式结构与联系,神经网络的学习和识别各神经元连接权系数的动态演化过程。实践中常用的基本神经网络模型有:感知器神经网络、线性神经网络、BP神经网络、径向基神经网络、自组织神经网络、反馈网络等。
1、感知器神经网络:
  是一个具有单层计算神经元的神经网络,网络的传递函数是线性阈值单元。原始的感知器神经网络只有一个神经元。主要用来模拟人脑的感知特征,由于采取阈值单元作为传递函数,所以只能输出两个值,适合简单的模式分类问题。当感知器用于两类模式分类时,相当于在高维样本空间用一个超平面将两类样本分开,但是单层感知器只能处理线性问题,对于非线性或者线性不可分问题无能为力。假设p是输入向量,w是权值矩阵向量,b为阈值向量,由于其传递函数是阈值单元,也就是所谓的硬限幅函数,那么感知器的决策边界就是wp+b,当wp+b>=0时,判定类别1,否则判定为类别2。
——感知器网络的学习规则:假设p为输入向量,e为学习误差,t为目标向量,则学习的基本原理描述如下:
权值增量——^W=(t-a)p‘=ep‘;阈值增量——^b=(t-a)(1)=e;权值更新——W(n+1)=W(n)+^W;阈值更新——b(n+1)=b(n)+^b;
由学习规则可以发现,学习规则严重的受到输入向量p的大小变化影响。当输入向量的样本数据包含奇异点时,往往会导致感知器神经网络的学习训练时间加长,为了消除训练时间对于奇异样本的敏感性,工程上常采用归一化的感知器算法。即^W=(t-a)p‘/||p||。
——感知器模型简单易于实现,缺点是仅能解决线性可分问题。解决线性不可分问题途径:一是采用多层感知器模型,二是选择功能更加强大的神经网络模型。
2、线性神经网络:
——线性神经网络是比较简单的一种神经网络,由一个或者多个线性神经元构成。采用线性函数作为传递函数,所以输出可以是任意值。线性神经网络可以采用基于最小二乘LMS的Widrow-Hoff学习规则调节网络的权值和阈值,和感知器一样,线性神经网络只能处理反应输入输出样本向量空间的线性映射关系,也只能处理线性可分问题。目前线性神经网络在函数拟合、信号滤波、预测、控制等方面有广泛的应用。线性神经网络和感知器网络不同,它的传递函数是线性函数,输入和输出之间是简单的纯比例关系,而且神经元的个数可以是多个。只有一个神经元的线性神经网络仅仅在传递函数上和感知器不同,前者是线性函数的传递函数,后者是阈值单元的传递函数,仅此而已。
——线性神经网络的学习规则:
W(k+1)=W(k)+yita(t(k)-p(k))p(k)‘=W(k)+yita*e(k)*p(k)‘;
b(K+1)=b(k)+yita*e(k);yita是学习速率,yita比较大的时候,学习速率加快,但是有可能使得网络的学习进程变得不稳定,反之亦然。
——线性神经网络的局限性:线性神经网络只能反应输入和输出样本向量空间的线性映射关系。由于线性神经网络的误差曲面是一个多维抛物面,所以在学习速率足够小的情况下,对于基于最小二乘梯度下降原理进行训练的神经网络总是可以找到一个最优解。尽管如此,对线性神经网络的训练并不能一定总能达到零误差。线性神经网络的训练性能要受到网络规模、训练集大小的限制。若神经网络的自由度(所有权值和阈值的总个数)小于样本空间中输入-输出向量的个数,而且各样本向量线性无关,则网络不可能达到零误差,只能得到一个使得网络的误差最小的解。反之,如果网络的自由度大于样本集的个数,则会得到无穷多个可以使得网络误差为零的解。
3、BP神经网络:
——BP神经网络通常指的是基于误差反向传播算法的多层前向神经网络。是目前应用最为广泛的神经网络模型的学习算法。BP神经网络的神经元采用的传递函数一般是sigmoid型的可微函数,所以可以实现输入输出之间的任意非线性映射,这一特点使得BP神经网络在函数逼近、模式识别、数据压缩等领域有着更为广泛的应用,事实上,目前实际应用的90%的神经网络系统都是基于BP算法的。
——与其他神经元模型不同的是,BP神经元模型的传递函数采取了可微单调递增函数,如sigmoid的logsig、tansig函数和线性函数pureline。BP网络的最后一层神经元的特性决定了整个网络的输出特性。当最后一层神经元采用sigmoid类型的函数时,那么整个神经元的输出都会被限制在一个较小的范围内,如果最后一层的神经元采用pureline型函数,则整个网络的输出可以是任意值。BP网络采用的就是基于BP神经元的多层前向结构。BP网络一般具有一个或者多个隐层,隐层神经元一般采用sigmoid型的传递函数,而输出层一般采用pureline型的传递函数。理论已经证明,当隐层神经元数目足够多时,可以以任意精度逼近任何一个具有有限个断点的非线性函数。
——BP网络的学习规则:采用误差反向传播算法,实际上是Widrow-Hoff算法在多层前向神经网络中的推广。和Widrow-Hoff算法类似,BP算法中,网络的权值和阈值通常是沿着网络误差变化的负梯度方向进行调节,最终使得网络的误差达到极小值或者最小值,也就是说,在这一刻,误差梯度是0。由于梯度下降算法的固有缺陷,标准的BP算法收敛速度慢,容易陷入局部最小值,所以后来又有许多的改进算法:动量因子学习算法、变速率学习算法、弹性学习算法、共扼梯度学习算法等等。对于不同的具体问题,选择学习算法对网络进行训练时,不仅要考虑算法本身大额性能,还要考虑问题的复杂度、样本集的大小、网络规模、网络误差目标以及要解决问题的类型。如果待解决的问题属于模式分类,常用的弹性学习算法(收敛快,占用存贮空间小)、共扼梯度法(收敛快,性能稳定,占用存贮空间一般,尤其适合较大规模的网络)。
——BP网络的局限性:BP网络客服了感知器、线性神经网络的局限性,可以实现任意线性或者非线性的函数映射,然而在实际的设计过程中往往需要反复试凑隐层神经元的个数,分析隐层神经元的作用机理,不断进行训练才可能得到比较满意的结果,这一点现在是BP网络研究的一个难点。
4、径向基函数网络:
——径向基函数RBF网络是以函数逼近理论为基础构造的一类前向网络,这类网络的学习等价于在多维空间寻找训练数据的最佳拟合平面。径向基函数网络的每一个隐层都构成拟合平面的一个基函数,网络也因此得名。径向基函数网络是一个局部逼近网络,也就是说,对于输入空间的某一个局部区域只存在少数的神经元用于决定网络的输出。前面讲的的BP网络是典型的全局逼近网络,即对于每一个输入输出数据对,网络所有的参数都要调整。由于两者的构造本质不同,径向基函数网络与BP网络相比规模一般比较大,但是径向基网络的学习速度比较快,网络的函数逼近能力、模式识别能力以及分类能力都大大优于BP网络。径向基函数网络一般以广义回归网络、概率神经网络应用比较多。
——径向基函数网络的神经元模型:前面的3种神经元模型中输入向量的每一个分量分别和每一个神经元以对应的连接权乘积的累加作为传递函数的输入,而在径向基函数神经元模型中,多了一个||dist||,表示输入向量和权重向量的距离,模型采用高斯函数作为神经网络的传递函数,传递函数的输入是输入向量p和权重向量w的距离乘以阈值b,传递函数的一般表达式:f(x)=exp(-x*x).中心与宽度是径向基函数神经元的两个重要参数。神经元的权重向量w确定了径向基函数的中心,当输入向量p和w重合时,径向基神经元的输出达到最大值1,当输入向量和w的距离比较远时,神经元的输出就比较小。神经元的阈值b确定了径向基函数的宽度,b越大,输入向量在远距w时的函数衰减幅度就越大。
——径向基函数网络结构:典型的径向基函数网络包括两层,即隐层和输出层。需要设计的是隐层神经元的个数以及输出神经元的个数。假如输入是R维向量,有S1个隐层神经元,有S2个输出单元,则径向基层的网络权重向量矩阵为S1×R,p为R×1维向量,径向基层阈值b为S1×1维向量,输入向量和径向基层的权重向量的距离||dist||为S1×1,经过传递函数处理后为S1×1维的输出向量,由于有S2个输出单元,所以输出层的神经元个数是S2个,权重向量矩阵维S2×S1维,输出层的阈值是S2×1维向量,输出层一般采用线性函数作为传递函数,以便输出可以为任意值。
——广义回归网络GRNN结构:与径向基函数网络的结构类似,该网络的显著特点就是网络的隐层和输出层的神经元个数都和输入样本向量的个数相同,其输出层是特殊的线性层,即隐层的输出向量和输出权值向量进行规则化内积,也就是说,对于内积所得的向量中的每一个元素分别除以隐层输出向量中的各个元素的总和,从这一点来说,GRNN实际上就是一种规则化的径向基函数网络,常用于函数逼近问题。当隐层神经元足够多的时候,该网络能够以任意精度逼近一个平滑函数,缺点是当输入样本很多的时候,网络十分庞大,计算复杂,不适合用于训练样本过多的情况。
——概率神经网络结构:是径向基神经网络的另外一种重要变形。该网络的隐层神经元的个数与输入样本向量的个数相同,输出层神经元的个数等于训练样本数据的种类个数。该网络的输出层属于竞争层,输出层的每一个神经元对应一个数据类别,输出层的传递函数的功能就是找出输入向量中各个元素的最大值,并且使得与最大值对应的类别的神经元的输出为1,其他的输出为0。这种网络的分类效果能够达到最大的正确概率。概率神经网络经常用来解决分类问题。当样本数据足够多的时候,概率神经网络收敛于一个贝叶斯分类器,而且推广性能良好。缺点就是当输入样本庞大的时候,网络复杂,计算速度比较慢。
5、自组织网络:
——在生物神经细胞中存在一种特征敏感细胞,这种细胞只对外界信号刺激的某一特征敏感,并且这种特征是通过自学习形成的。在人脑的脑皮层中,对于外界信号刺激的感知和处理是分区进行的,有学者认为,脑皮层通过邻近神经细胞的相互竞争学习,自适应的发展称为对不同性质的信号敏感的区域。根据这一特征现象,芬兰学者Kohonen提出了自组织特征映射神经网络模型。他认为一个神经网络在接受外界输入模式时,会自适应的对输入信号的特征进行学习,进而自组织成不同的区域,并且在各个区域对输入模式具有不同的响应特征。在输出空间中,这些神经元将形成一张映射图,映射图中功能相同的神经元靠的比较近,功能不同的神经元分的比较开,自组织特征映射网络也是因此得名。
——自组织映射过程是通过竞争学习完成的。所谓竞争学习是指同一层神经元之间相互竞争,竞争胜利的神经元修改与其连接的连接权值的过程。竞争学习是一种无监督学习方法,在学习过程中,只需要向网络提供一些学习样本,而无需提供理想的目标输出,网络根据输入样本的特性进行自组织映射,从而对样本进行自动排序和分类。
——竞争学习网络的结构:假设网络输入为R维,输出为S个,典型的竞争学习网络由隐层和竞争层组成,与径向基函数网络的神经网络模型相比,不同的就是竞争传递函数的输入是输入向量p与神经元权值向量w之间的距离取负以后和阈值向量b的和,即ni=-||wi-p||+bi。网络的输出由竞争层各神经元的输出组成,除了在竞争中获胜的神经元以外,其余的神经元的输出都是0,竞争传递函数输入向量中最大元素对应的神经元是竞争的获胜者,其输出固定是1。
——竞争学习网络的训练:竞争学习网络依据Kohonen学习规则和阈值学习规则进行训练,竞争网络每进行一步学习,权值向量与当前输入向量最为接近的神经元将在竞争中获胜,网络依据Kohonen准则对这个神经元的权值进行调整。假设竞争层中第i个神经元获胜,其权值向量Wi将修改为:Wi(k)=Wi(k-1)-alpha*(p(k)-Wi(k-1))。按照这一规则,修改后的神经元权值向量将更加接近当前的输入。经过这样调整以后,当下一此网络输入类似的向量时,这一神经元就很有可能在竞争中获胜,如果输入向量与该神经元的权值向量相差很大,则该神经元极有可能落败。随着训练的进行,网络中的每一个节点将代表一类近似的向量,当接受某一类向量的输入时,对应类别的神经元将在竞争中获胜,从而网络就具备了分类功能。
——自组织特征映射网络:
自组织特征映射网络SOFM的构造时基于人类大脑皮质层的模仿。在人脑的脑皮层中,对外界信号刺激的感知和处理是分区进行的,因此自组织特征映射网络不仅仅要对不同的信号产生不同的响应,即与竞争学习网络一样具有分类功能。而且还要实现功能相同的神经元在空间分布上的聚集。因此自组织特征映射网络在训练时除了要对获胜的神经元的权值进行调整之外,还要对获胜神经元邻域内所有的神经元进行权值修正,从而使得相近的神经元具有相同的功能。自组织特征映射网络的结构域竞争学习网络的结构完全相同,只是学习算法有所区别而已。
稳定时,每一邻域的所有节点对某种输入具有类似的输出,并且这聚类的概率分布与输入模式的概率分布相接近。

——学习向量量化网络:学习向量量化网络由一个竞争层和一个线性层组成,竞争层的作用仍然是分类,但是竞争层首先将输入向量划分为比较精细的子类别,然后在线性层将竞争层的分类结果进行合并,从而形成符合用户定义的目标分类模式,因此线性层的神经元个数肯定比竞争层的神经元的个数要少。
——学习向量量化网络的训练:学习向量量化网络在建立的时候,竞争层和线性层之间的连接权重矩阵就已经确定了。如果竞争层的某一神经元对应的向量子类别属于线性层的某个神经元所对应的类别,则这两个神经元之间的连接权值=1,否则2者之间的连接权值为0,这样的权值矩阵就实现了子类别到目标类别的合并。根据这一原则,竞争层和线性层之间的连接权重矩阵的每一列除了一个元素为1之外,其余元素都是0。1在该列中的位置表示了竞争层所确定的子类别属于哪一种目标类别(列中的每一个位置分别表示一种目标类别)。在建立网络时,每一类数据占数据总数的百分比是已知的,这个比例恰恰就是竞争层神经元归并到线性层各个输出时所依据的比例。由于竞争层和线性层之间的连接权重矩阵是事先确定的,所以在网络训练的时候只需要调整竞争层的权值矩阵。
6、反馈网络:
  前面介绍的网络都是前向网络,实际应用中还有另外一种网络——反馈网络。在反馈网络中,信息在前向传递的同时还要进行反向传递,这种信息的反馈可以发生在不同网络层的神经元之间,也可以只局限于某一层神经元上。由于反馈网络属于动态网络,只有满足了稳定条件,网络才能在工作了一段时间之后达到稳定状态。反馈网络的典型代表是Elman网络和Hopfield网络,Elman网络主要用于信号检测和预测方面,Hopfield网络主要用于联想记忆、聚类以及优化计算等方面。
——Elman网络由若干个隐层和输出层构成,并且在隐层存在反馈环节,隐层神经元采用正切sigmoid型函数作为传递函数,输出层神经元传递函数为纯线性函数,当隐层神经元足够多的时候,Elman网络可以保证网络以任意精度逼近任意非线性函数。
——Hopfield网络主要用于联想记忆和优化计算。联想记忆是指当网络输入某一个向量之后,网络经过反馈演化,从网络的输出端得到另外一个向量,这样输出向量称为网络从初始输入向量联想得到的一个稳定的记忆,也就是网络的一个平衡点。优化计算是指某一问题存在多个解法的时候,可以设计一个目标函数,然后寻求满足折椅目标的最优解法。例如在很多情况下可以把能量函数看作是目标函数,得到最优解法需要使得能量函数达到极小值,也就是所谓的能量函数的稳定平衡点。总之,Hopfield网络的设计思想就是在初始输入下,使得网络经过反馈计算,最后达到稳定状态,这时候的输出就是用户需要的平衡点。
  神经网络技术作为智能技术的领头羊,应用前景十分美好,不过基本的神经网络技术已经快被玩烂了(基本应用),未来的发展在于多方法的综合应用,研究方向分理论研究和应用研究。理论研究将主要体现在利用神经科学基础研究成果,用数理方法探索智能水平更高的网络模型,深入研究网络的算法和性能,开发新的网络数理理论。应用研究主要体现在网络的软硬件实现研究、各个领域特定问题的研究等等。

转自:http://www.cnblogs.com/haosw/archive/2010/03/30/1700746.html