论文导读:针对目前标准BP神经网络的缺点,提出基于高阶导数的多
记忆BP算法,将能量函数的阶导数与最速下降方向相结合,构造出一个新的最速下降方向,从而提高了神经网络的学习速度。首先证明了该算法相对于传统梯度算法的快速性,然后给出了该算法的实现方法,并进行了算例仿真。结果证明,该算法便捷、实用、有效。关键词:神经网络,BP算法,高阶导数
目前对前馈神经网络快速学习算法的研究主要集中在[1]:(1)
自适应网络的学习率、平滑因子和激励函数斜率;(2)混合、分层、结构简化、空间投影等学习策略;(3)激励函数逼近;(4)新的误差函数。尽管以上研究在某种程度上改进了传统的BP算法,但现有的BP神经网络学习算法及其改进形式主要根据的是经验,缺乏理论指导[2]。又由于现在对神经网络的使用在实时性上要求非常高,神经网络滞后时间不宜过长[3],所以本文不提倡对标准BP算法进行过于复杂的改进。对BP网络算法的研究,从优化计算角度来看,实际上是对非线性函数(能量函数)求最小值问题[4]。因此,一般采用的是梯度下降法、牛顿法等优化计算中常用的方法。BP算法有它的优点:程序设计简便,计算方便。但它的不足之处是当迭代点离最小值点较近时,收敛速度较慢;还有一个不足之处就是容易陷入局部最小点。牛顿法的突出优点
就是收敛速度较快,但是它要计算Hessian矩阵的逆矩阵,并且在Hessian矩阵出现奇异现象时,算法不收敛[5,6,7],所以它不适合于计算结构复杂的BP神经网络。正是由于上述原因,根据BP神经网络模型的结构特点,本文提出基于高阶导数的多记忆BP(MultipleMemory BP)算法,将能量函数的阶导数与最速下降方向相结合,构造出一个新的最速下降方向,沿着该方向进行迭代计算,能量函数的值下降迅速,从而提高了神经网络的学习速度。同时,又避免了牛顿法要计算Hessian矩阵的逆矩阵等问题。为了验证此算法的可行性,先在理论上对该算法进行了证明,然后又对算法进行了数字算例仿真,在收敛速度和仿真效果上都令人满意。1.算法描述1.1标准BP算法设有一个标准的三层BP网络,为输入样本,为单元的阈值,为输出样本,为期望输出样本,为能量函数,为学习率(),为每一层的输入,为逆传播的误差,是网络的作用函数。我们选用形曲线,而是第个单元到第单元联接的权系数,是的导数,正向传播时是从输入层一层一层地输出,上一层的输出作下一层的输入。于是有正向传播:(1)(2)(3)
因篇幅问题不能全部显示,请点此查看更多更全内容