Download presentation
Presentation is loading. Please wait.
1
基于粒子群优化算法和递归神经网络的非线性系统辨识
2
摘要 本文提出了一种基于动态递归Elman神经网络的粒子群优化(PSO)学习算法,该算法能改进Elman神经网络的结构模型、权值、结构层的初值和自反馈系数。并提出了一种新的非线性系统的动态辨识算法来辨识超声波马达(USM),该算法结合了PSO算法和二步策略辨识。二步策略辨识的第一步是采用基于PSO算法来优化Elman网络的初态和结构,用梯度下降法来训练网络;第二步在整个辨识过程中均用PSO算法来在线训练Elman网络。通过数值仿真表明,PSO算法不仅能实现自动优化动态递归神经网络,而且能改善模型辨识的收敛性,这为非线性动态系统辨识提供了一个有效的方法。
3
1. 引言 控制系统的设计目的是通过调节动态系统的运行状态来达到预期设定的目标,对于一般的线性控制系统,其模型可以通过理论知识进行机理建模,而对于具有不确定性和高度复杂性的动态系统的辨识,则必须用其他更适合的方法。超声波马达(USM)作为一种新型马达具有许多显著的优点及广泛的应用性,因此超声波马达的辨识与控制也就变得尤为重要。而影响超声波马达的运行因素有很多,如温度、负载、工作频率和工作电压以及其它许多参数,用传统的辨识方法很难建立一个精确而有效的数学模型。人工神经网络具有非线性变换的特性及高度并行计算特性,是一种高效的系统辨识方法,尤其是非线性系统。而且,动态递归神经网络还引入了动态链接层,可以记忆隐层前一刻的历史状态。因此动态递归神经网络在系统建模领域具有很大的发展潜力。本文提出了一种改进的Elman神经网络和一种新的学习算法—粒子优化算法,该算法使Elman神经网络的网络结构、权值、结构层初值、自反馈系数均得到了优化,提高了神经网络的辨识能力。
4
2.一种改进型Elman网络 图1为文献[2]一种改进型Elman网络的结构示意图, Elman网络是一种含有三层神经元的递归神经网络,包括输入神经层、隐层、输出层和结构层,结构层用来记忆隐层的前一时刻状态,可认为是一步延迟算子。前馈层的连接权值是不变的,而反馈层的连接权值是可变的。这种改进的Elman网络与标准Elman网络的不同之处在于结构层增加了一个自反馈连接,反馈系数为,是不变的。因此结构层的输入为:
5
改进型Elman神经网络的数学模型和系统的误差定义为
6
根据梯度下降法可得到如下方程式: 从以上的方程可以看出由于存在自反馈,输出受到了该时刻之前的输入与输出状态的影响,将Elman网络用于动态系统辨识,如果人为地确定其网络结构,则会存在如下问题。首先,结构层的初值必须人为给定,这将增大初始阶段系统辨识的误差,从而在一定范围内影响辨识精度。其次,用以上学习算法寻优容易陷入局部最小值。第三,自反馈系数是人为给定,这就会降低学习速率。第四,如果不能同时训练到网络结构和权值,则必须确定隐层单元数和训练权值,但这与Kosmogorov理论相违背。因此,我们提出了一种新的基于粒子群优化算法的动态递归神经网络学习算法,该算法使Elman神经网络的网络结构、权值、结构层初值、自反馈系数均得到了优化,提高了神经网络的辨识能力。
7
3. 基于粒子群优化算法(PSO)的Elman网络学习算法
X表示一个粒子群向量,它是由自反馈系数、结构层的初始值、权系数初值组成。每个粒子包含两部分,一部分是粒子头,由自反馈系数组成,另一部分是粒子体,由结构层初值和权系数初值组成。在每一个时间段中,每个粒子的速度和位置变化是由方程(13)和(14)确定:
8
在粒子搜索过程中,为了优化Elman网络的结构,需要增加“结构发展”算子和“结构退化”算子。在搜索过程中隐层单元是增加还是删除的依据分别是发展概率Pv和退化概率Pd。如果要增加一个隐层单元,则同时要增加相应的连接权值,该权值是在初始值范围内随机设定的。如果退化概率Pd符合伯努利分布,则要随机地删除一隐层单元,同时也要将其相应的连接权值置0。在每一次迭代中,粒子体中的每个组成元素都要根据方程式(13)和(14),而粒子头的元素则根据进化概率系数Pe是否进化来修正。如果进化,则元素也是由方程(13)和(14)来修正。概率Pv、Pd、Pe由下式给出: 适应度函数是误差平方的倒数,如下式所示: 迭代终止的条件是出现一个足够好的适应值或达到了预先定义的最大代数。
9
4. 辨识策略和数值仿真结果 一种超声波马达的纵向摆动的速度辨识方法是数值仿真。下面有两个仿真实验,一个是用PSO算法确定Elman网络的初态和结构,用梯度下降学习算法来训练网络;另一个是在整个辨识过程中均用PSO算法来在线训练Elman网络。USM(超声波马达)模型的参数设置有:工作频率为27.8kHZ,工作电压幅值为300V,额定输出力矩为2.5kg.cm,旋转速度3.8m/s。Elman网络的参数设置为:所有权值的初始值范围均为[-5,5],自反馈系数初值为0.4,隐层神经元的初始个数为10。图2为USM辨识与建模方框图。
10
4.1. 一种新的Elman初态和结构优化算法在USM速度辨识上的应用
在本文的仿真实验中,应用了一种新的Elman的初态和网络结构的优化算法,而用梯度下降法来训练网络。在USM稳定运行中施加一个外部扰动,则USM的速度曲线不再线性,而出现了波动。 图3到6显示了辨识结果,图中的motor curve表示的是USM的实际速度曲线
11
图4 振动状态的速度辨识曲线 图3 初始状态的速度辨识曲线 图5 扰动状态的辨识误差曲线 图6 稳定状态的速度辨识曲线
12
4.2 基于PSO与Elman神经网络的USM速度在线辨识
本文还将基于PSO的Elman神经网络算法用于在线辨识USM速度。为了显示这个辨识方法的高效性和准确性,在[0.3999,0.7]时间内我们用一个瞬时扰动来代替连续扰动,则图7和图8则分别显示了扰动状况和稳定运行状态时的速度辨识曲线。辨识结果表明在整个运行过程中,PSO算法的最大辨识误差不大于10-6,辨识精度提高至99.99%. 从以上的数值结果可以看出,结合了PSO算法和二步策略辨识算法可以得到较为理想的结果,而且用PSO的Elman神经网络在线训练算法能达到足够理想的精度。但是,由于后一步策略有一个时间限制,需要在前一步的时间范围的基础增大仿真时间。以上两种辨识方法均可在PC机上实现。
13
图7 扰动状态的辨识曲线 图8 稳定状态的辨识曲线
14
5. 总结 用动态递归神经网络来建模,并不需要知道非线性系统的阶次,因此它比静态神经网络具有更好的广泛适用性。基于PSO的Elman神经网络学习算法有一个缺点,由于常规的梯度下降法对初值的依赖性而容易陷入局部极值点。由于用PSO训练动态神经网络不需要计算其子代权值,从而减小了计算的复杂性。另外,收敛速度不依赖辨识系统的维数,而只是由神经网络的模型及其自适应算法决定的。本文提出的新的算法保证了算法的稳定性,实现了对Elman网络的网络结构、权值、结构层的初态及其自反馈系数的优化。当系统受到外部躁声的扰动时,该算法能实现在线学习的能力。结合PSO算法和二步策略辨识的结果表明辨识获得了满意的结果,而且用PSO在线训练Elman网络来辨识能达到更高的精度。本文提出的新算法是一种有效的系统辨识方法,尤其是用于非线性动态系统辨识。
Similar presentations