未来智库 > 神经网络论文 > BP神经网络的算法改进及应用

BP神经网络的算法改进及应用

发布时间:2018-07-03 01:06:00 文章来源:未来智库    
    关键词:人工神经网络;BP算法;算法改进
    中图分类号:TP393文献标识码:A1文章编号:1009-3044(2009)04-0933-03
    BP Neural Network Algorithm Improvement and Application
    WANG Shuang,ZHANG Ying,LV Rui-xia
    (China West Normal University Computer College, Nanchong 637002, China)
    Abstract: The article describes the current artificial neural networks in the field of BP neural network algorithm and its characteristics so as to the shortcomings of the BP network algorithm as the starting point from the different aspects of BP algorithm, so as to speed up the convergence of network and optimize the network topology Structure, the last of the BP network in the main practical applications are discussed.
    Key words:artificial neural networks; BP algorithm; algorithm improvement
    1 引言
    人工神经网络是一种信息处理系统,它有很多种模型。其中有一种用误差传播学习算法(Error Back Propagation即BP算法)进行训练的多层前馈神经网络,简称为BP网络。BP神经网络模型是人工神经网络的重要模型之一,在文字识别、模式分类、文字到声音的转换、图像压缩、决策支持等方面都有广泛的应用。
    通常,BP算法是通过一些学习规则来调整神经元之间的连接权值,在学习过程中,学习规则以及网络的拓扑结构z不变。然而,一个神经网络的信息处理功能不仅取决于神经元之间的连接强度,而且与网络的拓扑结构(神经元的连接方式)神经元的输入输出特性和神经元的阀值有关。因而,神经网络模型要加强自身的适应和学习能力,应该知道如何合理地自组织网络的拓扑结构,改变神经元的激活特性以及在必要时调整网络的学习参数等。
    2 BP神经网络的结构及原理
    BP网络是一种无反馈前向网络,它由一组相互连接的运算单元组成,其中每一个连接都有相对应的权值。网络结构如图1(以三层网络为例)所示,它包括输入层节点、输出层节点,一层或多层隐含层节点。在BP网络中,层与层之间采用全互连方式,同一层的节点之间不存在相互连接。
    BP算法简单的来说,是把训练样本从输入层输入,通过每个节点对应的阈值、函数以及节点之间连接权值的运算,经过输入层、隐含层传播到输出层得到计算输出,该输出和其对应的期望输出比较,得出误差。如果误差不符合要求,将误差沿输入相反的方向进行传播并沿误差降低方向调节权值和函数的阈值。用多个训练样本对网络进行反复的训练,直至误差符合要求。
    BP神经网络的算法又称为误差逆传播算法,这个算法的学习过程由正向传播过程与反向传播过程组成。正向传播过程是依据学习样本的输入向量从输入层分隐含层分输出层逐次修改权值矩值认W,两个过程反复交替,直至收敛为止。
    3 BP算法存在的问题及其改进
    3.1 BP算法的局限性
    在实际应用中,BP算法普遍存在以下问题:
    1) 误差下降缓慢,调整时间长,迭代次数多,影响收敛速度,造成收敛速度慢,若加快收敛速度易产生振荡。
    2) 存在局部极小问题,但得不到全局最优。训练会因陷入某个局部极小点而不能自拔,使训练难以收敛于给定的误差。
    3) 隐节点数和初始值的选取缺乏理论指导。
    4) 泛化能力差。
    5) 未考虑样本选择对系统学习的影响。
    3.2 对BP算法的改进
    BP算法改进方法可以分为两类:一是基于非线性无约束极值理论的算法改进,二是基于新理论的算法改进。
    3.2.1 基于非线性无约束极值理论的算法改进
    神经网络连接权值的学习过程看作非线性无约束极值的求解过程,基于这一理论的算法改进构成了算法改进的主流。而这些算法改进细分为两大类:
    1) 在梯度法的基础上改进BP网络的学习算法。其中,改进误差函数和学习步长η的自适应调整是两个主要途径。改进误差函数的方法有熵函数法,另外还有基于最大似然法对标准BP算法的误差函数的改进,以及分析了常用的LS型误差函数并基于一个结构性定理,给出了构造特殊能量函数的一般方法等等。学习步长η的自适应调整方法有很多,η可以通过Hesses矩阵直接求解;另外利用非单调线性搜索的基本方法,引入一个自适应预估和调整学习步长的策略。
    2)基于其它无约束极值求解方法的算法改进。可以采用非线性无约束极值求解和其它方法,例如,共扼梯度法、变尺度法、步长加速法和单纯形法等来改进BP网络的学习算法。标准BP算法和大部分的改进算法实质上都属于非线性无约束极值求解方法。学习步长的调整也吸收了非线性无约束极值求解方法的成熟理论。考察梯度法在求解非线性无约束极值问题中的实现情况,可以得出结论:标准BP算法收敛速度慢的根本原因在于算法本身,在梯度法的基础上改进BP网络的学习算法收敛速度不会有太明显的提高。
    3.2.2 基于新理论的算法改进
    通过深入分析BP网络的结构特点和体会误差反向传播算法的实质,并结合其它领域已成熟的优化算法和参数估计理论,提出各种基于新理论的反向传播算法。其中比较好的算法改进有:利用推广卡尔曼滤波来实现BP网络的学习算法改进、基于同伦论中零点路径跟踪概念的算法改进、基于正交投影算法线性优化方法的算法改进等等。除了这些以外还有一部分专门用于克服局部极小的改进算法,在这方面人们所作的工作不多,比较有效的方法有模拟退火和遗传算法。这两种方法的学习时间比较长而且算法需进一步改善,可以利用非线性函数总体极值方法来找到全局极小点。
    4 BP神经网络的应用
    4.1 人脸识别
    对人脸识别是人类最伟大的视觉功能之一,神经网络受动物神经系统启发,利用大量简单处理单元互联而构成的复杂系统,以解决复杂模式识别和行为控制问题。将BP网络用于人脸识别,建立了人脸识别模型,通过对输入图像实行图像压缩、图像抽样及输入矢量标准化等图像预入图像实行图像压缩、图像抽样及输入矢量标准化等图像预处理,将标准化矢量输入BP神经网络进行训练。BP网络用于人脸识别时,网络的每一个输入节点对应样本的一个特征,而输出节点数等于类别数,一个输出节点对应一个类。在训练阶段,如果输入训练样本的类别标点是i,则训练时的期望输出假设第i个节点为1,而其余输出节点均为0。在识别阶段,当一个未知类别样本作用到输入端时,考察各输出节点对应的输出,并将这个样本类别判定为具有最大值的输出节点对应的类别。如果有最大值的输出节点与其它节点之间的距离较小(小于某个阈值),则作出拒绝判断。经过竞争选择,获得识别结果。

         4.2 图像压缩编码
    利用BP网络实现数据编码的原理是:把一组输入模式通过少量的隐层节点映射到一组输出模式,并使输出模式等同与输入模式。当中间隐层的节点数比输入模式维数少时,就意味着隐层能更有效地表现输入模式,并把这种表现传给输出层。在这个过程中,输入层和隐层的变换可以看成是压缩编码的过程;而隐层和输出层的变换可以看成是解码过程。用多层前馈网实现图象压缩时,只需一个隐层,网络结果如图2所示。输入层和输出层均含有n×n个神经元,每个神经元对应于n×n个图像分块中的一个像素。隐层神经元的数量由图像压缩比决定,如n=16时,取隐层神经元数为m=8,则可将256像素的图像块压缩为8像素。设用于学习的图像有N×N个像素,训练时从中随机抽取n×n图像块作为训练样本,并使教师模式和输入模式相等。通过调整权值使训练集图像的重建误差达到最小,训练后的网络就可以用来执行图像的数据压缩任务了,此时隐层输出向量便是数据压缩结果,而输出层的输出向量便是图像重建结果。
    4.3 最优预测
    前景预测已经成为许多行业不可避免的一个难题,由于预测涉及的因素很多,往往很难建立一个合理的模型。人工神经网络模拟人的大脑活动,具有极强的非线性逼近、大规模并行处理、自训练学习、容错能力以及外部环境的适应能力,所以利用人工神经网络进行预测已经成为许多项目首选的方法。目前利用BP网络进行预测的应用已经很多,例如,可以用来建立公共卫生事件监测与预警系统、旅游业趋势预测系统、物流预测系统、资源调度系统等方面。
    BP网络在应用于预测预报前需要一个网络学习过程,其学习过程包括信息正向传播和误差反向传播两个反复交替的过程。网络根据输入的训练(学习)样本进行自适应、自组织,确定各神经元的连接权W和阈值φ,经过多次训练后,网络就具有了对学习样本的记忆和联想的能力。
    4.4 函数拟合
    BP网络可以看成是输入到输出的高度非线性映射,即G:Rn→Rm,g(y)=x,对于样本集合,输入yi∈Rn、输出xi∈Rm,可以认为存在某一映射h,使h(yi)=xi(I=1,2,…,n)。现须求出映射g,通常在最小二乘意义下,g是h的最佳逼近。神经网络通过对简单的非线性函数进行数次复合,可近似任意复杂的函数或映射。
    4.5 故障诊断
    对于故障诊断而言,其核心技术是故障模式识别,而人工神经网络由于其本身信息处理特点,如并行性、自学习、自组织性、联想记忆等使得能够出色地解决那些传统模式识别难以圆满解决的问题,所以故障诊断是人工神经网络的重要应用领域之一。总的说来,神经网络在诊断领域的应用研究主要集中在两个方面:一是从模式识别的角度应用作为分类器进行故障诊断,其基本思想是以故障征兆作为人工神经网络的输入,诊断结果作为输出;二是将神经网络与其他诊断方法相结合而形成的混合诊断方法。对用解析方法难以建立系统模型的诊断对象,人工神经网络有着很好的研究和应用前景。
    5 结论
    BP网络是当前应用最为广泛的一种人工神经网络,无论在理论研究上还是在实际应用中都取得了突飞猛进的发展。因此,针对BP算法的不足,各种改进算法的研究也较多。本文通过给出几种人工神经网络BP算法的改进方法以及几个应用方面,对BP神经网络算法有了更多的认识,从而提高了学习速度,增加了算法的可行性,相信人工神经网络必将会得到越来越广泛的应用和迅猛发展。
    参考文献:
    [1] 朱大奇,史慧.人工神经网络原理及应用[M].北京:科学出版社,2006.
    [2] 韩力群.人工神经网络理论、设计及应用[M].北京:化学工业出版社,2004.
    [3] 甘俊英,张有为.基于BP神经网络的人脸识别[J].系统工程与电子技术,2003,25(1).
    [4] 李金屏,何苗,刘明军,等.提高BP小波神经网络收敛速度的研究[J].模式识别与人工智能,2002,15(1):28-35.
    [5] 吴建昱,何小荣.用于过程建模的BP网络的M训练法及其改进[J].计算机与应用化学,2001,18(5):473-476.

转载请注明来源。原文地址:https://www.7428.cn/vipzj20915/
 与本篇相关的热门内容: