神经网络的Levenberg-Marquardt算法研究
摘 要:本文主要介绍LM(Levenberg-Marquardt)神经网络算法,LM算法是梯度下降法和高斯—牛顿法的结合,这种神经网络算法综合了这两种方法的优点,在一定程度上克服了基本的BP网络收敛速度慢和容易陷入局部最小点等问
。对LM算法的计算步骤作了简要的阐述。最后介绍了LM神经网络算法再监督控制上的应用。
关键词:神经网络;LM算法;计算步骤;监督控制
0 引言
神经网络BP学习算法在理论上具有逼近任意非线性连续映射的能力,在非线性系统的建模及控制领域里有着广泛的应用。然而BP 算法存在一些不足,主要是收敛速度很慢;往往收敛于局部极小点;数值稳定性差,学习率、动量项系数和初始权值等参数难以调整,非线性神经网络学习算法LM可以有效地克服BP算法所存在的这些缺陷[1]。
LM算法是高斯—牛顿法和最速下降法的结合,具有高斯—牛顿法的局部收敛性和梯度下降法的全局特性。它通过自适应调整阻尼因子来达到收敛特性,具有更高的迭代收敛速度,在很多非线性优化问题中得到了稳定可靠解。在LM算法的计算过程中,初值是一个很重要的因素。若选择的初值X0接近真值时,收敛速度很快且能够得到全局最优解,但如果初值远离真解时,优化结果往往过早的陷入局部最优解从而得到的结果完全背离真解。要解决该问题,一是通过得到大量的原始信息来对真值有一个较准确的估计,但这在实际问题中往往不太可能达到;另外就是选择一种合理的全局最优化算法与其相结合,消除LM算法对初值的依赖且具有很快的收敛速度[2]。
1 神经网络
神经网络具有高度的自学习、自组织和自适应能力,能通过学习和训练获取网络的权值和结构。多层前向神经网络具有理论上可逼近任意非线性连续映射的能力,因而非常适合于非线性系统的建模及控制,是目前使用较多的一种神经网络模型[3]。
BP网络(Back Propagation Network)称为误差反向传播神经网络,它是一种能朝着满足给定的输入/输出关系方向进行自组织的神经网络,其典型的结构图如图1所示,由三部分组成:输入层、隐含层、输出层,三部分之间通过各层节点之间的连接权依次前向连接。目前,在人工神经网络的实际应用中,绝大部分的神经网络模型是采用BP网络和它的变化形式,它也是前馈型网络的核心部分,并体现了人工神经网络最精华的部分。BP网络主要应用于函数逼近、模式识别、分类以及数据压缩中。BP网络用于函数逼近就是用输入矢量和相应的输出矢量训练一个网络逼近一个函数,即可实现从输入到输出的任意的非线性映射。在确定了BP网络的结构后,利用输入/输出
集进行学习训练,也就是对网络的权值和偏差进行学习和调整,使网络实现给定的输入/输出映射关系,完成对系统的辨识。经过训练的BP网络,对于不是训练样本集中的输入也能给出合适的输出,这种性质就是所谓的泛化能力。
在实际应用中,原始的BP算法很难胜任,存在许多不足之处,主要是训练时间长,收敛速度很慢,往往收敛于局部极小点,其数值稳定性差,初始权值、学习率和动量项系数等参数难以调整[4]。
图1 BP网络模型结构
2 LM算法原理
原始的BP学习算法是梯度下降法。参数沿着与误差梯度相反的方向移动,使误差函数减小,直到取得极小值,它的计算的复杂度主要是由计算偏导数引起的。但是,这种基于梯度下降方法的线性收敛速度很慢。而LM算法是一种利用
的数值优化技术的快速算法,它是梯度下降法与高斯—牛顿法的结合,也可以称为是高斯—牛顿法的改进形式,既有高斯—牛顿法的局部收敛性,又具有梯度法的全局特性。由于LM算法利用了近似的二阶导数信息,所以LM算法比梯度法快得多[5]。下面对LM算法作简要阐述:
设误差指标函数为
(1)
式中:
—期望的网络输出向量;
—实际的网络输出向量;P—样本数目;w—网络权值和阈值所组成的向量;
—误差。
设
示第k次迭代的权值和阈值所组成的向量,新的权值和阈值所组成的向量
为
。在LM方法中,权值增量
如下:
(2)
式中:I—单位矩阵;
—用户定义的学习率;
—Jacobian矩阵,即:
从(2)式可看出,如果比例系数
=0,则为高斯—牛顿法;如果
取值很大,则LM算法接近梯度下降法,每迭代成功一步,则
减小一些,这样在接近误差目标的时候,逐渐与高斯—牛顿法相似。高斯—牛顿法在接近误差的最小值的时候,计算速度更快,精度也更高。由于LM算法利用了近似的二阶导数信息,它比梯度下降法快得多,实践证明,采用LM算法可以较原来的梯度下降法提高速度几十甚至上百倍。另外由于
是正定的,所以(2)式的解总是存在的,从这个意义上说,LM算法也优于高斯—牛顿法,因为对于高斯—牛顿法来说,
是否满秩还是个潜在的问题。在实际的操作中,
是一个试探性的参数,对于给定的
,如果求得的
能使误差指标函数
降低,则
降低;反之,则
增加。用(2)式修改一次权值和阈值时需要求n阶的代数方程(n为网络中权值数目)。LM算法的计算复杂度为
,若n很大,则计算量和存储量都非常大。然而,每次迭代效率的显著提高,可大大改善其整体性能,特别是在精度要求高的时候[4]。
3 LM算法的计算步骤
LM算法的计算步骤描述如下:
1)给出训练误差允许值
,常数
和
( 0 <
< 1) ,并且初始化权值和阈值向量,令k =0,
=
;
2)计算网络输出及误差指标函数
;
3)计算Jacobian矩阵
;
4)计算
;
5)若
<
,转到(7);
6)以
为权值和阈值向量,计算误差指标函数
,若
<
,则令
,
,转到2),否则
,转到4)。
7)算法结束[6]。
4 基于LM算法的神经网络监督控制策略
在传统的比例、积分及微分(简称PID)控制器的基础上,增加一个神经网络控制器,如图2所示。此时,神经网络控制器实际是一个前馈控制器,因此建立的是被控对象的逆模型。其中,常规控制器可用作保证系统的稳定性,而神经网络控制器作为前馈控制器来实现对象的补偿,以改善控制系统的跟踪性能。在结构中,前馈控制与反馈控制相结合,由于前馈控制的作用不需要等到输出量发生变化并形成偏差以后才产生纠正偏差的作用, 而是在控制作用施加于系统的同时产生反馈作用,最终是为了消除误差。由图中可以看出,神经网络控制器通过向传统控制器的输出进行学习,在线调整自己,目标是使反馈误差趋近于0,从而使自己逐渐在控制作用中占据主导地位,以便最终取消反馈控制器的作用。由于LM算法收敛快,因此可以在线学习及控制。因为系统中反馈控制器仍然存在,所以一旦出现干扰等,反馈控制器仍然可以起作用。采用这种前馈加反馈的监督控制方法,不仅可以确保控制系统的稳定性和鲁棒性,而且可有效地提高系统的精度[7][8]。
图2 神经网络监督控制结构图
5 结论
本文介绍了基于带有学习率的LM算法的神经网络系统辨识方法,这种网络综合了梯度下降法和高斯—牛顿方法的优点,在一定程度上克服了基本的BP网络收敛速度慢和容易陷入局部最小点等问题。简要的阐述了LM算法的计算步骤。基于带有学习率的LM算法的神经网络在线监督控制方法是一种先进的控制策略,采用这种监督控制方法,不仅可以确保控制系统的稳定性和鲁棒性,而且可有效地提高系统的精度。
参考文献
[1]董一芬.Levenberg-Marquardt神经网络算法研究[J].商场现代化,2009(3):385.
[2]罗亚中,袁端才,唐国金.求解非线性方程组的混合遗传算法[J].计算力学,2005(1):109-114.
[3]耐格纳威斯基.人工智能系统指南[M].顾力栩译.北京:机械工业出版社, 2007.
[4]黄豪彩,黄宜坚,杨冠鲁.基于LM算法的神经网络系统辨识[J].组合机床与自动化加工技术,2003(2):6-11.
[5]李合平,邹明虎,王志云,黄允华.基于LM算法的雷达板级电路快速故障诊断[J].测试技术学报,2004,18 (4):364-368.
[6]杨益君,古春生,朱广萍,蒋红芬,陈丹.LM神经网络在环境质量评估中的应用.江南大学学报.2010(4),9(2):213-216.
[7]孙增圻.智能控制理论与技术[M].北京:清华大学出版社,1997.
[8]赵弘,周瑞祥,林廷圻.基于Levenberg-Marquardt算法的神经网络监督控制[J].西安交通大学学报,2002(5),36(5):523-527.