BP神经网络的改进算法及其研究

时间:2023-05-27 14:42:03 公文范文 来源:网友投稿

摘 要:通过分析标准BP算法的原理,可以发现BP标准算法存在着易形成局部极小而非全局最优;训练次数多使得学习效率低,收敛速度慢;隐节点的选取缺乏理论指导;通过在标准BP算法中引入加动量项法来优化BP算法。实验结果表明,该有效地提高了BP算法的迭代次数,减少误差。

关键词:BP神经网络;学习率;改进算法

反向传播BP(back propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一[1]。BP算法的思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出不符合,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始地进行的。权值不断调整的过程,也就是网络的学习训练过程。此过程一直进行到网络输出的误差减少到可以接受的程度或进行到预先设定的学习次数为止[2]。

1 BP标准神经网络算法分析

1.1 BP算法存在的不足及原因分析

标准的BP算法因其简单、易行、计算量小、并行性强等优点,是目前神经网络训练采用最多也是最为成熟的训练算法之一。与早期的人工神经网络模型相比,BP反向传播神经网络无论是在网络理论还是网络性能方面都更加成熟,起最突出的优点就是具有很强的非线性映射能力。但人们在使用过程中发现BP算法也存在着训练时间长、收敛速度慢、易陷入局部最小点等缺陷。

1.1.1 学习算法的收敛速度慢

BP神经网络学习训练次数过多,导致学习训练过程过长,学习收敛速度太慢,即使一个比较简单的问题,也需要几百次甚至上千次的学习才收敛。

1.1.2 隐含层层数及节点数的选取缺乏理论指导。

BP神经网络隐含层的层数以及节点数的选取,目前尚无理论上的指导,大多根据经验确定。因此网络往往具有很大的冗余性,无形中增加了学习的时间。

1.1.3 训练时学习新样本有遗忘旧样本的趋势

BP神经网络的学习与记忆具有不稳定性。当给一个训练结束的BP神经网络提供新的记忆模式时,会破坏已经调整完毕的网络连接权值,导致已经记忆的学习模式信息消失。

2 改进的BP神经网络学习算法

2.1 学习方法的改进

对于标准的BP算法,由于其自身存在的缺点,BP算法的研究提出了一些的改进算法,如自适应调节学习率[3],引入兜度因子[4],使用双曲正切函数[5],但是都没有取得非常理想的效果,对此我们可以采用以下的算法来解决问题。

2.1.1 加入动量项

反向传播算法提供使用最速下降方法在权空间计算得到的轨迹的一种近似。我们使用的学习率参数η越小,从一次迭代到下一次迭代的网络突触权值的变化量越小,轨迹在权值空间越光滑。我们可以设想使用一下的方法来解决这个问题。

ΔWji(n)=αΔWji(n-1)+ηδj(n)yi(n) (1)

α是动量常数,通常是整数。

为了看出动量常数在一系列模式呈现上对突触权值的影响,我们将(1)式重新写成带下标t的一个时间系列。索引t从初始时间0到当前时间n,式(1)可被视为权值修正量ΔWji(n)的一阶差分方程。解这个关于ΔWji(n)的方程得到

这代表一个长度为n+1的时间序列,并且我们可以知道δj(n)yi(n)等于- 因此我们可以把公式(2)重写等等价形式

当前修正值ΔWji(n)代表指数加权的时间序列的和。欲使时间序列收敛,动量常数α必须限制在0和1之间。当α等于0,反向传播算法运行起来没有动量。虽然在实际中动量常数α不大可能是负的,但是还有可正可负。

当偏导数 在连续迭代中有相同的代数符号,指数加权和ΔWji(n)在数量上增加,所以权值ΔWji(n)被大幅度调整。在反向传播算法中包含动量趋于在稳定的下降方向上加速下降。

当偏导数 在连续迭代中有相反的代数符号,指数加权和ΔWji(n)在数量上减少,所以权值ΔWji(n)调整不大。在反向传播算法中包含动量具有稳定符号正负摆动方向的效果。

3 仿真实验

根据以上的算法,我们对标准的BP算法和改进的BP算法进行仿真计算,仿真计算的结果如表1所示。

可以看出改进后得算法能减少迭代次数,减少实际误差。

4 结论

从大量的实际应用来看,收敛速率慢,学习时间长,产生振荡,甚至达不到收敛精度是常规BP算法的主要缺陷,通过对BP算法的改进,增加动量项,可以减少BP算法的迭代次数,减少误差,提高BP算法的工作效率。

[参考文献]

[1]Adaboost算法改进BP神经网络预测研究[J].计算机工程与科学,2013年8月.

[2]韩立群.人工神经网络教程[M].北京:人民邮电出版社,2007年7月.

[3]马锐.人工神经网络原理[M].北京:机械工业出版社,2010年9月.

[4]韩立群.人工神经网络教程[M].北京:人民邮电出版社,2007年7月.

[5]simon haykin.神经网络原理[M].北京:机械工业出版社,2006年5月.

推荐访问:神经网络 算法 改进 研究 BP