神经网络在系统辨识中的应用摘要应用于自动控制系统的神经网络算法很多,特点不一,对于非线性系统辨识的研究有一定影响。
本文就BP网络算法进行了着重介绍,并点明了其收敛较慢等缺点,进而给出了改进算法,说明了建立在BP算法基础上的其他算法用于非线性系统辨识的可行性与有效性。
关键词神经网络BP算法;辨识;非线性系统前言神经网络是一门新兴的多学科研究领域,它是在对人脑的探索中形成的。
神经网络在系统建模、辨识与控制中的应用,大致以1985年Rumelhart的突破性研究为界。
在极短的时间内,神经网络就以其独特的非传统表达方式和固有的学习能力,引起了控制界的普遍重视,并取得了一系列重要结果。
本文以神经网络在系统辨识中的应用作一综述,而后着重介绍BP网络算法,并给出了若干改进的BP算法。
通过比较,说明改进算法具有诸多优点及用于非线性系统辨识[1]的可行性与有效性。
1 神经网絡用于系统辨识的原理及现状神经网络在自动控制系统中的应用已有多年。
目前,利用神经网络建立动态系统的输入/输出模型的理论及技术,在许多具体领域的应用得到成功,如化工过程、水轮机、机器入手臂、涡轮柴油发动机等。
运用神经网络的建模适用于相当于非线性特性的复杂系统[2]。
目前系统辨识中用得最多的是多层前馈神经网络[1]。
我们知道,自动控制系统中,一个单隐层或双隐层的具有任意数目神经元的神经网络,可以产生逼近任意函数的输入/输出映射。
但网络的输入节点数目及种类(延迟输入和输出)、隐层节点的个数以及训练所用的算法对辨识精度和收敛时间均有影响。
一般根据系统阶数取延迟输入信号,根据经验确定隐层节点数,然后对若干个神经网络进行比较,确定网络中神经元的合理数目。
现在用得较多的多层前馈神经网络的学习算法是反向传播算法(Back Propagation),即BP算法。
但BP算法收敛速度较慢,后面将会进一步讨论。
1.1 神经网络的结构感知器是最简单的前馈网络,它主要用于模式分类。
也可用在基于模式分类的学习控制和多模态控制中。
现以多层前馈神经网络为代表,来说明神经网络的结构。
多层前馈神经网络由输入、输出层以及一个或多个隐层组成。
每层有若干个计算单元称之神经元。
这些神经元在层状结构的网络中按图1所示方式相互连接。
信息按树状路径从下至上逐层传送。
一旦相邻层间神经元的连接权以及隐层中神经元的阈值被确定,整个网络的特性也就确定了。
如图1所示,第1层为输入层,第Q层为输出层,中间各层为隐层。
设第q层(q=1,2…Q)的神经元个数为,输入到第q层的第i个神经元的连接权系数为。
且神经元的变换函数采用S型函数,因此输出量是0到1之间的连续量,它可实现从输入到输出的任意的非线性映射。
该网络的输入输出变换关系为[3]:S型函数为:(1)(2)(3)这时每一层相当于一个单层感知器网络,如对于第q层,它形成一个维的超平面,它对于该层的输入模式可进行线性分类,但是由于多层的组合,最终可实现对输入模式的较复杂的分类。
1.2 用神经网络建立非线性系统模型[4]由非线性系统建模理论可知,离散时间非线性系统可以用外生输入非线性自回归滑动平均模型(NARMAX)来表示.NARMAX模型能根据输入、输出及噪声的延迟信号的非线性函数来描述非线性系统,一个r阶输入m阶输出的多变量NARMAX模型为:(4)其中,,分别是系统输出、输入及噪声向量;、和是这些信号的最大延迟;e(t)是零均值独立序列;f(·)是向量形式的非线性函数。
这种非线性关系一般非常复杂,其结构和先验知识很难预知和了解。
神经网络的出现,为这类复杂系统的建模带来了希望。
一个解决的办法是用神经网络来逼近下式表达的非线性系统:(5)应注意到(5)式是(2)式的近似形式。
研究的核心在于如何用单隐层神经网络建立(5)式所描述的非线性系统模型,达到该目的的原理框图如图2所示。
设表示神经网络中所有待估计的连接权值及阈值,是待识别参数数目。
且有(6)显然,对于单隐层网络,L=2,故图1 多层神经网络由式(1)至式(3),不难求得单隐层神经网络第i个输出节点的模型为(8)其中是网络的输入矢量。
对于SISO系统,意味着神经网络只有一个输出节点,则(8)式中的i可以去掉。
通过某种算法训练神经网络,使得所有的连接权和阈值在这样的条件下得以确定,即神经网络的输出尽可能地接近希望输出值y。
其偏差(9)称为预报误差或残差。
从图2知,神经网络的输入向量包含被识别对象的延迟输入和输出。
因此合理地确定输入节点数目以及选择正确的滞后阶数已成为用神经网络建立非线性模型的突出问题,隐层神经元的数目确定也属同样问题[5]。
2 辨识算法2.1 问题的提出神经网络能够用于非线性动态系统辨识,应该说,很大程度上归功于BP算法的产生和发展:BP网络的学习算法属于全局逼近的方法,它具有较好的泛化能力。
BP网络能够实现输入输出的非线性映射关系,但它并不依赖于模型。
其输入与输出之间的关联信息分布的存储于连接权中。
由于连接权的个数很多,个别神经元的损坏只对输入输出关系有较小的影响,因此BP网络显示了良好的兼容性。
而且由于BP网络具有很好的逼近非线性映射的能力和较好的泛化能力,故当前应用于系统辨识、系统控制等多个方面[6]。
定义能量函数J为此处、分别是网络的期望输出与实际输出。
BP算法的准则是通过沿J的负梯度方向修正未知参数的增量向量使能量函数J极小化,参数的修改量定义为=此处表示学习速率,是J对的梯度,基本的递推算式是实现上述思想的BP算法为(10)其中式中。
、、称学习速率因子,用以加快参数辨识的收敛过程;、称动量因子,用以抑制学习过快带来的不稳定现象。
此外,称k层第i元的误差信号,可以从上至下反传求得,且有顶层:(12)隐层:,(13)式(10)-(13)描述的BP算法,如果学习速率因子满足一定条件,最终参数向量将收敛于局部极小点。
大量实践已证明,该算法收敛速度很慢,尤其在学习速率常数较小时。
另外,对人为取得的学习速率、动量常数等因子非常敏感,有时甚至不能进行合理的参数估计。
2.2 实例分析取=5,=5,=1的单隐层神经网络,定义输入向量输入u(t)为零均值均匀分布白噪声序列,样本数据500对,仿真实例:y(t)=0.4对非线性系统运用BP算法。
求出由此而产生的误差指数变化曲线如图3。
误差指数=从图3可知,BP算法的误差指数曲线变化粗糙且不平稳,其收敛性能较差。
实际上,BP网络的缺点为:①收敛速度慢;②局部极值;③难以确定隐层和隐结点的个数[7]。
针对上述问题,人们对BP网络的学习算法进行了深入研究,结合神经网络的具体结构,提出了很多改进的算法。
2.3 改进算法(1)引入动量项算法为:其中既可表示单个的连接权系数,也可表示连接权向量(其元素为连接权系数)。
为k时刻的负梯度。
是k-1时刻的负梯度,为学习率,>0。
为动量项因子,<1。
该方法所加入的动量项实质上相当于阻尼项,它减小了学习过程的振荡趋势,改善了收敛性,这是目前应用比较广泛的一种改进算法。
(2)变尺度法BP网络算法采用的为一阶梯度法,因而收敛较慢。
而如果用二阶梯度法,则可大大改善收敛性。
算法为:其中:,0<虽然二阶梯度法具有较好的收敛性,但是它需要计算E对w的二阶导数,显然计算量很大。
故常采用变尺度法,这样它具有二阶梯度法收敛较快的优点,而且省去了计算二阶梯度,算法如下:(3)變步长法一阶梯度法寻优收敛较慢的一个重要原因是不好选择。
选的太小,收敛太慢,若选的太大,则有可能修正过头,导致振荡甚至发散。
故提出下面的算法:此算法说明,当连续两次迭代其梯度方向相同时,表明下降太慢,这时可使步长加倍;当连续两次迭代其梯度方向相反时,表明下降过头,这时可使步长减半。
使用该算法时,由于步长在迭代过程中自行调整,因此对于不同的连接权系数实际采用了不同的学习率,弥补了BP算法的缺点[8]。
3 结束语(1)单隐层神经网络是非线性系统建模的主要模型。
但双隐层网络可能具有更好的适应性。
(2)多层神经网络的输入节点应至少为3,且应同时含有输入和输出的延迟项,能够取得较好的辨识效果。
(3)其他神经网络模型用于系统辨识,如HoPfield模型近来也取得了较大进展。
(4)在BP算法基础上的其他算法具有比较优越的性能。
已在许多BP算法无能为力的情况下体现出有效性,因而具有广泛的使用价值,是神经网络理论用于复杂系统辨识的有效途径。
参考文献[1] 潘立登.系统辨识与建模[M].北京:工业装备与信息工程出版中心,2004:277.[2] 孙增圻.智能控制理论与技术[M].北京:清华大学出版社,2011:7.[3] 温之建,潘立登.子空间辨识方法的研究与改进[J].北京化工大学学报(自然科学版),2004,31(3):99-101.[4] 丁晓亮,潘立登.基于模型分解算法模型辨识器的设计与应用[J].控制工程,2003,10(z1):127-128.[5] 李杰,王晓芳.线性神经网络在系统辨识中的应用研究[J].计算技术与自动化,2004,23(4):25-27.[6] 胡德文.神经网络自适应控制[M].北京:国防科技大学出版社,2006:57-58.[7] 高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2007:177.[8] 周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005:257.。