论文部分内容阅读
摘要:神经网络的研究是一个热点,但BP网络也不是非常完美的, 为了更好的理解应用神经网络进行问题求解, 文章对它的优缺点展开讨论,并提出了几种改进算法。
关键词:神经网络 ;BP网络; 优缺点; 改进算法
【中图分类号】 TP183 【文献标识码】 B【文章编号】 1671-1297(2012)09-0196-02
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
人工神经网络(Artificial Neural Networks,NN)就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。人工神经网络系统从20世纪40年代末诞生至今仅短短半个多世纪,但由于它具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。
神经网络拓扑结构的单隐层前馈网络,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,够成具有层次结构的前馈型神经网络系统。单计算层前馈神经网络只能求解线性可分问题,能够求解非线性问题的网络必须是具有隐层的多层神经网络。
一 BP网络
1986年,Rumelhart和Hinton提出了误差反向传播神经网络(Error Back Propagation Neural Network),简称BP网络。它是一种能向着满足给定的输入输出关心方向进行自组织的神经网络。
1. BP网络的原理
输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
2. BP网络的特点
(1)输入和输出是并行的模拟量。
(2)网络的输入输出关系是各层连接的权因子决定,没有固定的算法。
(3)权因子是通过学习信号调节的,这样学习越多,网络越聪明。
(4)隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响。
3. BP网络的优点
(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题。
(2)网络能通过学习带正确答案的实例集自动提取"合理的"求解规则,即具有自学习能力。
(3)网络具有一定的推广、概括能力。
4. BP网络的缺点
BP算法的学习速度很慢,其原因主要有:
(1)由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现"锯齿形现象",这使得BP算法低效;
(2)存在麻痹现象,由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;
(3)为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。
网络训练失败的可能性较大,其原因有:
(1)从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;
(2)网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。
难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题。
网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。
新加入的样本要影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同。
二 BP网络的改进算法
BP算法最优化的方向主要有权值调整、自适应学习速率调整、网络结构调整等。常用的改进方法有以下几种:
1.加入动量项
利用附加动量的作用则有可能滑过局部极小值。该方法所加入的动量实质上相当于阻尼项,它減小了学习过程的振荡趋势,改善了收敛性,这是目前应用比较广泛的一种改进算法。
2.自适应学习速率调整
对于一个特定的问题,要选择适当的学习速率并不是一件容易的事情。对训练开始初期功效很好的学习速率,不一定对后来的训练合适。为了解决这一问题,人们自然会想到在训练过程中自动调整学习速率。
3.共轭梯度算法
在各种改进算法中,共轭梯度法(Conjugate Gradient)是非常重要的一种。其优点是所需存储量小,具有N步收敛性,稳定性高,而且不需要任何外来参数。
4.Levenberg-Marquart算法(最小二乘拟合算法)
除了改进算法以外,通过改变神经网络结构(隐层结点数和网络层数)、调整误差等方法,也能加快BP算法的收敛速度。
参考文献
[1] 张宏林.Visual C++数字图象模式识别技术及工程世纪[M].北京:人民邮电出版社,2008.
[2] 杨伟,倪黔东,吴军基.BP神经网络权值初始值与收敛性的研究[J].电力系统及其自动化学报,2002,(2):20-22
关键词:神经网络 ;BP网络; 优缺点; 改进算法
【中图分类号】 TP183 【文献标识码】 B【文章编号】 1671-1297(2012)09-0196-02
思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。
人工神经网络(Artificial Neural Networks,NN)就是模拟人思维的第二种方式。这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。人工神经网络系统从20世纪40年代末诞生至今仅短短半个多世纪,但由于它具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。
神经网络拓扑结构的单隐层前馈网络,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,够成具有层次结构的前馈型神经网络系统。单计算层前馈神经网络只能求解线性可分问题,能够求解非线性问题的网络必须是具有隐层的多层神经网络。
一 BP网络
1986年,Rumelhart和Hinton提出了误差反向传播神经网络(Error Back Propagation Neural Network),简称BP网络。它是一种能向着满足给定的输入输出关心方向进行自组织的神经网络。
1. BP网络的原理
输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
2. BP网络的特点
(1)输入和输出是并行的模拟量。
(2)网络的输入输出关系是各层连接的权因子决定,没有固定的算法。
(3)权因子是通过学习信号调节的,这样学习越多,网络越聪明。
(4)隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响。
3. BP网络的优点
(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题。
(2)网络能通过学习带正确答案的实例集自动提取"合理的"求解规则,即具有自学习能力。
(3)网络具有一定的推广、概括能力。
4. BP网络的缺点
BP算法的学习速度很慢,其原因主要有:
(1)由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现"锯齿形现象",这使得BP算法低效;
(2)存在麻痹现象,由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿;
(3)为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。
网络训练失败的可能性较大,其原因有:
(1)从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败;
(2)网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。
难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题。
网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题。
新加入的样本要影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同。
二 BP网络的改进算法
BP算法最优化的方向主要有权值调整、自适应学习速率调整、网络结构调整等。常用的改进方法有以下几种:
1.加入动量项
利用附加动量的作用则有可能滑过局部极小值。该方法所加入的动量实质上相当于阻尼项,它減小了学习过程的振荡趋势,改善了收敛性,这是目前应用比较广泛的一种改进算法。
2.自适应学习速率调整
对于一个特定的问题,要选择适当的学习速率并不是一件容易的事情。对训练开始初期功效很好的学习速率,不一定对后来的训练合适。为了解决这一问题,人们自然会想到在训练过程中自动调整学习速率。
3.共轭梯度算法
在各种改进算法中,共轭梯度法(Conjugate Gradient)是非常重要的一种。其优点是所需存储量小,具有N步收敛性,稳定性高,而且不需要任何外来参数。
4.Levenberg-Marquart算法(最小二乘拟合算法)
除了改进算法以外,通过改变神经网络结构(隐层结点数和网络层数)、调整误差等方法,也能加快BP算法的收敛速度。
参考文献
[1] 张宏林.Visual C++数字图象模式识别技术及工程世纪[M].北京:人民邮电出版社,2008.
[2] 杨伟,倪黔东,吴军基.BP神经网络权值初始值与收敛性的研究[J].电力系统及其自动化学报,2002,(2):20-22