第8章:神经网络控制随着被控对象越来越复杂(非线性、不确定性等),控制要求越来越高,传统的控制方法受到了前所未有的挑战。神经网络计算方法以其独特的知识表达方式和固有的自学习能力,引起了控制界的普遍重视。时至今日,神经网络在系统建模、辨识与控制中得到了广泛的应用。控制理论中的绝大多数问题都可用神经计算的方法来解决,如系统建模与辨识、PID参数的整定、极点配置、内模控制、优化设计、预测控制、最优控制、自适应控制、滤波与预测、容错控制、模糊控制、专家控制和学习控制等。神经网络应用于控制领域的主要吸引力在于:(1)非线性逼近特性;神经网络具有逼近任意非线性映射的能力,为复杂系统的建模开辟了新的途径;(2)自学习和自适应能力:按照一定的评价准则,神经网络能够从输入输出的数据中提取出规律性的知识,记忆在网络的权值中,并具有一定的泛化能力。固有的自学习能力可以减小复杂系统不确定性对控制性能的影响,增加控制系统适应环境变化的能力;(3)并行计算特点:神经网络中的信息是并行处理的,使其有潜力快速实现大量复杂的控制算法(目前还有待于神经网络芯片技术的进步);(4)分布式信息存储:神经网络中的信息分布式地存贮于网络的连接权值中,可以提高了控制系统的容错性;(5)数据融合能力:神经网络利用连接主义的结构,可以同时处理定量信息和定性信息,它可以将基于数值运算的传统控制方法与符号主义的人工智能有机地结合起来;(6)多变量系统:神经网络的输入输出的数量是任意的,对单变量系统和多变量系统提供了一种通用的描述,不必再考虑各子系统间的解耦问题,可以方便地应用于多变量控制系统。综上所述,神经网络的优良特性为复杂系统辨识和控制开辟了一条新途径。同时,复杂系统的优化控制又向神经计算提出了许多尚未解决新的问题。比如:神经网络学习算法的收敛性、学习的泛化能力、黑箱式内部知识表达方式等等。正是这样,神经控制(Neurocontrol)的研究一直方兴未艾。§8.1基于神经网络的动态系统建模系统建模和辨识是控制理论的基本问题。过去几十年中,人们对线性系统的建模和辨识进行了深入的研究,总结出了一整套成熟的辨识算法,可以建立可靠性较高的模型。但是,对于非线性系统的辨识,目前还没有通用的、行之有效的方法。而现实世界中,非线性是普遍存在的,线性模型只是对非线性对象的一种简化和近似。当系统非线性严重且我们期望得到高品质的控制效果时,建立性能良好的非线性模型就显得至关重要。由于神经网络能够逼近任意非线性映射,而且具有非常好的自学习、自适应能力,因此用神经网络辨识系统的非线性特性,已经成为当前的研究热点问题。与传统非线性辨识方法不同的是:神经网络辨识不受非线性模型的限制。它依据被控系统的输入输出数据对,通过学习得到一个描述系统输入输出关系的非线性映射。给定一个输入,即可得到一个输出,而不需要知道输入和输出之间存在着怎样的数学关系。这是目前非线性系统辨识中一种引人注目的新途径。由于多层前馈神经网络具有逼近任意非线性映射的能力,因此目前在系统辨识和建模中应用最多的是多层前馈网络。8.1.1多层静态网络的系统辨识利用静态多层前馈神经网络建立动力学系统的输入输出模型,本质上是借助于神经网络的逼近能力,通过学习获知系统差分方程中的未知非线性函数。因此,在辨识动力学系统模型时,需要预先给出定阶的差分方程(如NARMA模型)。从控制角度看,神经网络建模有两种情况:正向建模和逆向建模。下面给出这两种情况下神经网络建模的方法和结构。一、正向建模所谓正向模型是指利用多层前馈神经网络,通过训练或学习,使其能够表达系统正向动力学特性的模型。利用神经网络建立系统的正向模型,其结构如图8.1.1所示。图8.1.1正向模型的辨识结构从图8.1.1中可以看出,神经网络与待辨识系统具有相同的输入,两者的输出误差,即预测误差)(te被用作网络的训练信号。显然,这是一个典型的有导师监督学习问题,实际系统作为教师,向神经网络提供学习算法所需的期望输出。对于全局逼近的前馈网络结构,可根据待辨识系统的不同而选择不同的学习算法。如当系统是被控对象或传统控制器时,一般可选择BP学习算法及其各种变形,这时代替被控对象的神经网络,可用来提供控制误差的反向传播通道,或直接替代传统控制器,如PID控制器等。由于在控制系统中,拟辨识的对象通常是动态系统,因此这里就存在一个如何进行动态建模的问题。一个办法是对神经网络本身引入动态环节,如动态递归网络,或者在神经元中引入动态特性。另一个办法是目前通常采用的方法,即首先假设待辨识对象为线性或非线性离散时间系统,或者人为地离散化为这样的系统,利用NARMA模型)]1(,),();1(,),([)1(mtutuntytyfty(8.1.1)利用静态前馈网络学习上述差分方程中的未知非线性函数)(f,并将系统的输入输出延时量)1(,),();1(,),(mtutuntyty作为神经网络的增广输入,)1(ty作为输出。二、逆向建模建立动态系统的逆模型,在神经网络控制中起着关键的作用,并且得到了最广泛的应用。下面介绍两类具体的逆建模方法,并且给出神经网络逆建模的输入输出结构。1、直接逆建模直接逆建模也称广义逆学习(GeneralizedInverseLearning),如图8.1.2所示。图8.1.2直接逆建模系统结构从原理上说,这是一种最简单的方法。由图8.1.2可以看出,待辨识系统的输出作为神经网络的输入,神经网络的输出与动态系统的输入比较,相应的输入误差用来训练神经网络,因而网络将通过学习可以建立起系统的逆模型。不过所辨识的非线性系统有可能是不可逆的,这时利用上述方法,就将得到一个不正确的逆模型。因此,在建立系统的逆模型时,可逆性必须首先假定。假定式(8.1.1)非线性函数)(f可逆,容易推出)]1(,),1();1(,),(),1([)(1mtutuntytytyftu(8.1.2)注意式(8.1.2)中出现了1t时刻的输出值)1(ty。由于在t时刻不可能知道)1(ty,因此我们可用1t时刻的期望输出)1(tyd来代替)1(ty。对于期望输出而言,其任意时刻的值总可以预先求出。此时,式(8.1.2)可写为)]1(,),1();1(,),(),1([)(1mtutuntytytyftud(8.1.3)同样,将数据)1(,),1();1(,),(),1(mtutuntytytyd作为神经网络的增广输入,)(tu为输出。这样,利用静态前馈神经网络进行逆向建模,实质上就是用神经网络逼近上述差分方程中的未知非线性函数)(1f。为了获得良好的逆动力学特性,神经网络学习时所需的样本数据,一般应妥善选择,使其比未知动态系统的实际运行范围更大。但实际被辨识系统的输入信号很难先验给定,因为控制目标是使系统的输出达到期望值。对于未知被控系统,期望输入不可能给出。那么,对于图8.1.2所示系统辨识结构而言,辨识过程中神经网络学习的目标导向困难,因为实际系统的控制量)(tu不能预先定义。因此,实际系统的辨识多采用如图8.1.3所示的结构。图8.1.3改进型直接逆建模系统结构在动态系统辨识中为保证参数估计算法一致收敛,必须提供一个持续激励的输入信号。由于系统输入)(tu不可能预先定义,相应的持续激励信号难于设计,这就使该法在应用时,有可能给出一个不可靠的逆模型,为此需要采用正—逆建模方法。2、正—逆建模正—逆建模也称狭义逆学习(SpecializedInverseLearning)。如图8.1.4所示,其中神经网络正向模型可用前面讨论的方法给出。这时待辨识的神经网络NNC位于系统前面,并与之串联。神经网络的输入为系统的期望输出)(kyd,训练误差)(ke或者为期望输出)(kyd与系统实际输出)(ky之差,或者为)(kyd与已建模神经网络正向模型之输出)(kyN之差,即)()()(kykyked或)()()(kykykeNd图8.1.4正—逆建模系统结构该法的特点是:通过使用系统已知的正向动力学模型,或增加使用已建模的神经网络正向模型,以避免再次采用系统输入作为训练误差,使待辨识神经网络仍然沿期望轨迹(输出)附近进行学习。这就从根本上克服了使用系统输入作为训练误差所带来的问题。此外,对于系统不可逆的情况,这种方法也可通过学习得到一个具有期望性能的特殊逆模型。这类建模方法有三种不同的实现途径。方法一:直接利用系统的实际输出与期望输出之差作为网络逆模型的训练误差。但存在的主要问题是,这时必须知道拟辨识系统的正向动力学模型,以便借之反传误差,这显然与系统解析模型未知矛盾。既然系统的解析模型已知,我们似可由此直接推得系统的逆模型,再去辨识系统的逆模型已无必要。不过当系统的精确模型无法确知,推导其逆模型又显得过于繁琐时,利用神经网络进行辨识,仍不失为一种较好的选择。方法二:但已知系统的正向模型毕竟有悖于我们这里讨论的辨识问题,因此可考虑将此系统代之以相应的已建模神经网络正向模型,即用神经网络正向模型之输出)(kyN代替系统的实际输出)(ky,从而由期望输出)(kyd与)(kyN形成训练误差。这里的神经网络正向模型可由前面介绍的方法预先建立,显然可由它提供误差的反向传播通道。相比之下,此法适宜于有噪声的系统,在不可能利用实际系统已知模型的情形下,该法显示出其优越性。缺点是)(kyN不可能完全等于实际输出)(ky,神经网络正向模型的建模误差,必然影响待辨识逆模型的精度。方法三:如图8.1.4所示,我们可设想仍然利用系统的实际输出构成训练误差,但反向传播通道则由神经网络正向模型提供。由于正向模型只起误差梯度信息的反向传播作用,即使有一点误差,也不是至关重要的,它一般只影响逆模型神经网络的收敛速度,显然,这种方法综合了前两种方法的优点,同时还克服了它们的缺点。8.1.2动态神经网络系统辨识如前所述,利用静态多层前馈网络对动态系统进行辨识,实际是将动态时间建模问题变为一个静态空间建模问题,这就必然出现诸多问题。如需要先验假定系统的NARMA模型类,需要对结构模型进行定阶,特别是随着系统阶次的增加,迅速膨胀的神经网络的结构,将使学习收敛速度更加缓慢。此外较多的输入节点也将使相应的辨识系统对外部噪声特别敏感。相比之下,动态递归网络提供了一种极具潜力的选择,代表了神经网络建模、辨识与控制的发展方向。下面介绍用Elman动态递归神经网络进行动态系统辨识。1.基本Elman动态递归网络前面分析可知,动态递归神经网络可分为完全递归与部分递归网络。完全递归神经网络具有任意的前馈与反馈连接,且所有连接权都可进行修正。而在部分递归神经网络中,主要的网络结构是前馈,其连接权可以修正;反馈连接由一组所谓“结构”(Contexture)单元构成,其连接权不可以修正。这里的结构单元记忆隐层过去的状态,并且在下一时刻连同网络输入,一起作为隐层单元的输入。这一性质使部分递归网络具有动态记忆的能力。在动态递归神经网络中,Elman网络(Elman,1990)具有最简单的结构。该网络除了输入层、隐层及输出层单元外,还有一个独特的结构单元。该结构单元则用来记忆隐含层单元前一时刻的输出值,可认为是一个一步时延算子。Elman网络的前馈连接部分可进行连接权修正,而递归部分的连接权固定不变。用基本Elman神经网络结构辨识动态系统,可以采用标准BP算法或动态反向传播算法进行学习。需要说明的是用标准BP学习算法时,仅能辨识一阶线性动态系统。因为标准BP学习算法只有一阶梯度,致使基本Elman网络对结构单元连接权的学习稳定性差,当系统阶次增加或隐含单元增加时,将直接导致相应的学习速率极小(为保证学习收敛),以致不能提供可接受的逼近精度。因此,应该采用动态BP学习算法。§8.2神经网络控制对神经网络控制的研究,可以从人脑控制行为的生理学研究中得到启发,因为这是人工神经网络及其控制方法所追求的最终目标。经过过去几十年的研究,已揭示出人脑的结构和功能特征,实际表现为一个控制器。事