浅析BP神经网络算法的改进和优化

2009-06-20 03:11储琳琳郭纯生
科技经济市场 2009年4期
关键词:神经网络

储琳琳 郭纯生

摘要:本文简要介绍了BP神经网络的缺点,着重强调了BP神经网络的算法改进,并且,利用Matlab仿真了各种改进算法的学习速度,从结果看改进后的BP神经网络能较好地解决针BP算法学习速度慢的缺点。

关键词:神经网络;BP算法;学习速度

中图分类号:TN430文献标识码:B

1BP算法的缺点

虽然神经网络模型已成功应用于模式识别、函数逼近、时间序列预测等领域。并且BP网络也是目前应用最为

广泛的一种神经网络模型,它具有思路清晰,结构严谨,可操作性强等优点。但是由于BP学习算法仅改变网络的连接值和阀值,不改变网络的拓扑结构,因此BP网络在处理具体问题时还存在如下问题[1]:

1.1网络的麻痹现象。在网络训练过程中,加权调得较大可能迫使所有的或大部分节点的加权和输出较大,从而操作在S压缩函数的饱和区,此时函数在其导数非常小的区域,即函数的导数值很小或趋近0,由于在计算加权修正量的公式中,这使得调节几乎停顿下来,通常为了避免这种现象,将训练速率减小,但又增加了训练时间。

1.2网络学习收敛速度比较慢。由于BP算法的学习复杂性是样本规模的指数函数,如果网络规模较大或学习样本较多时,往往需要很长的学习时间,甚至学习无法完成,这个主要由于学习速率太小所造成的;可采用变化的学习速率或者自适应的学习速率加以改进。

1.3易陷入局部极小值。BP算法可以使网络权值收敛到一个解,但它并不能保证所求解为误差超平面的最小解,很可能是局部极小解;这是因为BP算法采用的是梯度下降法,训练是从某一起点沿误差函数的斜面逐渐达到误差的极小值,对于复杂的网络,其误差函数为多维空间的曲面,就像一个碗,其碗底是最小值点,但是这个碗的表面凹凸不平的,因而在对其进行训练的过程中,可能陷入某一小谷区,而这一小谷区产生一个局部最小值,由此点向各个方向变化均使误差增加,以至于使训练无法逃出这一局部最小值。

为了解决BP网络训练的以上缺点,人们提出了多种有益的改进。改进方法主要有两类:第一类是基于启发式学习方法的改进算法:如附加动量的BP算法、自适应学习率BP算法、弹性BP算法等;第二类是基于数值优化的改进算法:如共扼梯度法、拟牛顿法和Levenberg-Marquardt(LM)法等。这些方法在不同程度上提高了学习速度,加

快了网络的收敛,避免陷入局部极小值[2][3]。

2各种改进算法的学习速度的比较

在Matlab6.5中,通过调用newff实现网络的创建,然后调用函数train对所创建网络newff进行训练。设定系统总误差为0.01,步长为0.02,网络训练2000次,或直到满足性能要求时停止训练,否则增加训练次数。表1给出几种算法收敛速度的比较:表中的数据均为6次平均值。

从表1和表2可以看出:

2.1基于启发式学习方法的改进算法的收敛速度依次加快,其中弹性BP算法的收敛速度要比前两种方法快得多。

2.2基于标准数值优化方法的各种改进算法均比基于启发式学习方法的改进算法在收敛速度上有很大的提高,其中Levenberg-Marquardt法的收敛速度最快。

下面是在相同条件下,标准BP算法,弹性BP算法和Levenberg-Marquardt法对本电路进行网络训练的学习误差变化曲线。

3结论

由实验结果可知:

在基于启发式学习方法的改进算法中,弹性BP算法的收敛速度快,算法并不复杂,也不需要消耗更多的内存空间,在实际应用中,是一种行之有效的算法。

在基于数值优化方法的各种改进算法中,Levenberg-Marquardt法和拟牛顿法因为要近似计算海森矩阵,需要较大的存储量,通常收敛速度快。其中,Levenberg-Marquardt法结合了梯度下降法和牛顿法的优点,性能更优,收敛速度最快,对于中等规模的BP神经网络具有最快的收敛速度,而且它很好地利用了MATLAB中对于矩阵的运算的优势,因此它的特点很适合在MATLAB中得到体现;但是要存储海森矩阵的值,所以该算法的最大缺点就是占用的内存量太大。共轭梯度法所需存储量较小,但收敛速度较前两种方法慢。所以,考虑到网络参数的数目(即网络中所有的权值和偏差的总数目),在选择算法对网络进行训练时,可遵循以下原则[4]:

3.1在对训练速度要求不太高,内存存储量有限时,可使用弹性BP算法。

3.2在对训练速对要求较高的情况下,网络参数较少时,可以使用牛顿法或Levenberg-Marquardt法;在网络参数较多时,需要考虑存储量问题时,可以选择共轭梯度法。

参考文献:

[1]史忠科.神经网络控制理论[M].西北工业大学出版社,1997(11).

[2]虞和济,陈长征等.基于神经网络的智能诊断[M].北京:冶金工业出版社,2000.

[3]朱大奇.电子设备故障诊断原理与实践[M].北京:电子工业出版社,2004.

[4]王永骥,涂健.神经元网络控制[M]北京:机械工业出版社,1998.

猜你喜欢
神经网络
基于递归模糊神经网络的风电平滑控制策略
BP神经网络在路标识别上的应用研究
神经网络抑制无线通信干扰探究
基于Alexnet神经网络的物体识别研究
基于BP神经网络的旋转血泵生理控制
基于神经网络MRAS的速度辨识仿真研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
基于神经网络分数阶控制的逆变电源