1.神经网络的概念
人工神经网络,也称为神经网络,是一种模仿大脑神经联系进行信息处理的数学模型。它是对人脑的抽象、简化和模拟,反映人脑的基本特征。
神经网络是一种运算模型,它由大量的神经元节点和它们之间带有权重的连接构成。每个节点相当于一种特定的输出函数,称为激励函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,相当于神经网络的记忆。网络的输出则依据网络的连接方式、权重和激励函数的不同来决定。
神经网络与普通数字计算机相比,有如下的特点。
(1)非线性。人工神经元处于激活或者抑制两种状态,这种行为在数学上就表现为一种非线性关系。
(2)非局限性。一个神经网络通常由多个神经元广泛连接而成。通过单元之间的大量连接,模拟大脑的非局限性。
(3)非常定性。人工神经网络具有自适应、自组织、自学习的能力。不在处理信息的同时,非线性动力系统本身也在不断变化。
(4)非凸性。系统具有多个较稳定的平衡态,这将导致系统演化的多样性。
2.生物神经元模型
人工神经网络是对生物神经网络的模仿,在介绍人工神经网络之前,有必要对构成生物神经网络的基础——生物神经元做一个了解。
医学研究表明,人类大脑皮层中大约包含100~140亿个神经元、60万亿个神经突触,1000万亿个联系纽带。神经元之间通过相互连接形成错综复杂而又灵活多变的神经网络系统。
神经系统的基本结构和功能单位是神经元细胞,它主要由细胞体、树突、轴突和突触组成,如图5-5所示。
图5-5 生物神经元
有一些神经元只有一条纤维,称为单极神经元;有些神经元有一个轴突和一个树突,称为两极神经元;很多神经元有一个轴突和多个树突,称为多极神经元。人和其他脊椎动物脊神经中的感觉神经元只伸出一条纤维,但在离开细胞体不远处分为两支:一支到感受器,称为周围支;另一支进入脊髓,称为中枢支。前者是传入纤维,将来自感受器的感觉冲动传入细胞体,所以从功能上看应是树突,但却有轴突的结构;后者从功能和结构上看都肯定是轴突。
神经元具有以下基本特性。
(1)时空整合功能。
(2)动态极化性。
(3)兴奋与抑制状态。
(4)结构可塑性。
(5)脉冲与电位信号的转换。
(6)突触延期和不延期。
(7)学习、遗忘和疲劳。
神经网络是大量的神经元相互连接而构成的网络系统。但是,神经网络的模型只是对生物神经网络的简化和模拟,并不能够完全反映大脑的功能。
3.神经网络模型
类似于生物神经网络,人工神经网络也是由人工神经元为基本单元构成的,其中信息的处理主要由网络各个节点之间连接的权值决定。网络在使用之前需要进行训练,训练的过程实际上就是不断修正和调整各个权值的过程。
人工神经元是模拟生物神经元的数学模型,同时也是一个多输入单输出的非线性元件,如图5-6所示。
图5-6 简单人工神经元模型
神经元的每一个输入量xj都相应有一个相关联的权重wij。处理区计算输入及其对应的权重值得到加权之和,计算出唯一的输出量,这个输出量y是权重和的函数,称为传递函数。这个过程可以用公式(5-9)表示为
其中f表示此神经元采用的传递函数类型。
不同类型的神经网络采用的传递函数往往会有所不同,传递函数的不同也使得各种神经网络在结构和功能上会有差异,常见的传递函数如图5-7所示。
神经网络由排列成层的处理单元组成,接收输入信号的神经元层称输入层,输出信号的神经元层称输出层,不直接与输入输出发生联系的神经元层称为中间层或者隐层。隐层因为权重的作用,其输出可能与输入层有很大差异。
图5-7 常用的传递函数示意图
a)硬限值函数 b)线性函数 c)Sigmoid函数
一般情况下,网络的传递函数一旦选定,就保持不变。训练过程所改变的主要是网络的权重,权重用以存储最重要的信息。
4.神经网络训练
在确定神经网络的结构之后,就要对其进行训练。网络的训练是靠改变网络中连接的权重来实现的,也就是说,神经网络的训练过程也就是重新确定这些权重的过程。需要说明的是,训练和学习是一对概念,训练是指神经网络的学习过程,而学习是此过程的结果。训练是外部过程,学习是内部过程。
由于神经网络的结构、性质、各不相同,相应的学习算法也不同。主要分为两种学习方法。
(1)有监督学习。要求同时给出输入和期望的输出,网络根据当前输出与期望输出的差异来调整内部权值。
(2)无监督学习。只需要给出一组输入,网络能逐渐演变,并对输入的某种模式做出特定回应。这类网络没有期望输出,故不能用于函数拟合。
神经网络的学习规则具体主要包括如下几种。
1)Hebb学习规则。
2)纠错学习规则,也称Widrow-Hoff学习规则。
3)基于记忆的学习规则。
4)随机学习规则。
5)竞争学习规则。
5.常见神经网络类型
按照不同的结构、功能、学习算法,可将神经网络分为如下几类。
(1)感知器神经网络(www.xing528.com)
最简单的神经网络,只有单层结构,传递函数采用硬限值函数,适用于简单的线性二类划分问题。
(2)线性神经网络
线性神经网络是单层结构网络,传递函数为线性函数,可用于线性函数的拟合和逼近。
(3)BP神经网络
BP神经网络即误差反向传播网络,是应用最为广泛的网络,网络结构较为灵活,通常可以是三层或者更多,因此隐含层数有至少一个。
BP网络采用Widrow-Hoff学习算法和非线性传递函数,最早的BP网络训练时采用的是梯度下降算法。而今,已出现了许多优化算法,如变尺度算法和牛顿算法,而目前最快的训练算法是Levenberg-Marquardt算法。
BP网络能够以任意精度逼近任何非线性函数,能够提取出更高阶的统计性质。
(4)径向基神经网络(RBF神经网络)
径向基神经网络又称为RBF网络,是一种多层前向网络,也能够以任意精度逼近任何非线性函数。径向基网络与BP网络的主要区别在于传递函数不同。径向基神经网络为径向基函数,而BP神经网络常为Sigmoid函数或线性函数。
由于采用了径向基传递函数,RBF网络相比BP网络训练速度快,同时简化了计算,收敛性好,适合新数据的处理。
(5)竞争神经网络
竞争神经网络的特点在于其各个神经元之间是相互竞争的关系,许多神经元之间相互竞争来决定出胜者,获胜的神经元决定哪一种原型模式最能够代表输入模式。因此竞争神经网络非常适应于模式分类的问题。
(6)反馈神经网络(Hopfield神经网络)
反馈神经网络是一种反馈动力学系统。在这种网络中,每个神经元同时将自身的输出信号作为输入信号反馈给其他神经元。
(7)随机神经网络
随机神经网络是在神经网络中引入了随机机制而产生的,一个经典的范例是采用基于统计物理的模拟退火算法进行训练的Boltzmann随机网络模型。
6.BP神经网络
目前神经网络应用最广的是BP神经网络及其变化形式,本文实验所用网络就是BP神经网络。
BP神经网络又称为误差反向传播神经网络,它是一种多层前向型神经网络。在BP网络中,信号是前向传播的,而误差是反向传播的。
所谓反向传播是指误差的调整过程是从最后的输出层依次向之前各层逐渐进行的。标准的BP网络采用梯度下降算法,与Widrow-Hoff学习规则相似,网络权值沿着性能函数的梯度的反向调整。当前也出现了很多改进的学习算法。
(1)BP神经网络结构
1)BP网络神经元模型
图5-8为一个基本的BP神经元模型结构,该神经元具有R个输入。每一输入被赋予相应的权值,求这些输入的加权和之后与偏差共同组成该神经元传递函数的输入。
BP网络神经元常用的传递函数如图5-9所示。
需要指出,sigmoid性传递函数的曲线形状是S型的log-sigmoid、tan-sigmoid型函数都是如此。
图5-8 BP神经元模型示意图
如果BP网络的输出层采用sigmoid型函数,那么网络的输出值就限制在[-1,+1]之内,如果采用线性函数purelin作为输出层的传递函数,那么输出可以取任意值。
2)BP神经网络结构
图5-10显示了一个具有R个输入,有S个logsig神经元构成的单层网络。图中是一向量形式表示的结构图。
图5-9 BP神经元常用的几种传递函数
a)logsig函数 b)tansig函数 c)线性函数
图5-10 单层logsig神经元构成的网络结构
前向型神经网络常具有一个或多个由sigmoid神经元构成的隐层,以及一个由线性神经元构成的输出层。多个具有非线性传递函数的神经元层使网络可以学习输入和输出之间的非线性关系,而线性输出层使得网络可以产生[-1,+1]之外的输出值。
但是若需要对网络的输出值域加以限制,那么输出层就应该采用sigmoid类型的传递函数。
(2)BP网络学习规则
BP网络的学习是有监督学习,训练过程需要提供输入向量p和期望响应t,训练过程中网络的权值和偏差根据网络误差情况不断进行调整,最终实现期望的功能。前向型神经网络仍然采用均方误差作为默认的网络性能函数,网络学习的过程就是使均方误差最小化的过程。
BP网络的学习算法有很多变化形式,其中最简单的BP算法仍然是最速下降法(梯度法)。
1)BP算法
BP算法沿着误差函数减小最快的方向,也即梯度的反方向改变权值和偏差。BP算法的迭代计算公式可以表示为(5-10):
xk+1=xk-akgk (5-10)
其中,xk代表当前周期的权值和偏差,xk+1代表迭代产生的下一次的权值与偏差,gk为当前误差函数的梯度,ak代表学习速率。
梯度下降算法的实现分为递增模式和批处理模式两类。在递增模式下,网络每获得一个新的样本,就计算一次梯度并更新权值;而在批处理模式下,网络需要获得所有的样本,然后根据所有的输入样本来更新权值。
2)批处理学习算法
在批处理模式下,网络权值和偏差只在整个输入样本集都已经获取之后才进行更新。将每次样本输入时计算得到的梯度加起来,得到最终的权值和偏差。
标准的梯度下降算法和有动量的梯度下降算法应用于实际问题时往往有学习速率过慢的缺陷,而且容易陷入局部极小点的缺点,因此人们提出了多种改进的高效BP算法。这些快速学习算法主要分为两类:
第一类是启发性学习算法,包括可变学习速率的梯度下降法、有动量梯度下降法、弹性梯度下降法等。
第二类则是基于最优化理论的训练算法,包括共轭梯度算法、拟牛顿法、Levenberg-Marquardt算法等。Levenberg-Marquardt算法目前由于收敛速度非常快而被广泛应用。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。