主 讲 教 师:付冬梅 北京科技大学信息工程学院自动化系 第十三章 神经网络建模与控制 主 讲 教 师:付冬梅 北京科技大学信息工程学院自动化系
主要内容 1、 智能控制的产生和基本特征 2、基于神经网络的系统辨识 3、基于神经网络的系统辨识示例 4、基于神经网络的系统控制 5、基于神经网络的系统控制示例
13.1 智能控制的产生和基本特征 寻找不需要建立(精确)数学模型的控制方案,研究 能够按照操作人员的智力、经验及意识发布指令的控制器。 (含辨识器)。 凡是具备两个条件的智能学科都可以在智能控制 上占一席之地:①能够模拟人脑的智力行为处理复杂性、 不确定性、非线性对象。 ②不需要对象的精确数学模型便能逼近满意控制。 智能控制阶段的研究对象是控制器,而传统控制 理论的研究对象是被控对象,两者都是闭环负反馈形式。
13.2 基于神经网络的系统辨识 1)辨识系统的基本结构 系统辨识的主要任务就是选择辨识模型,确定输入信号和误差信号及其差值。 e + 2)辨识模型 静态模型、动态模型、参数模型、非参数模型(阶跃响应、脉冲响应)、神经网络模型 3)辨识系统中的误差准则 其中, 有各种选择,最多的是平方函数 其中, 是误差函数,定义区间为[0,M] 被测系统 × + 干扰 辨识模型 e
13.2 基于神经网络的系统辨识 4)神经网络辨识原理 由误差准则可知,系统辨识本质上是一个优化问 题。辨识的方法大体上分两种: ①基于算法的辨识方法 要求建立一个模型,该模型依赖于某个参 数 ,把辨识转化成为对模型参数的估计。估计方法 有:最小二乘法(快,线性),梯度下降法,极大似然 法。 ②基于神经网络的辨识方法 在遇到不能线性化的非线性系统时,对应的模型 难于转化成关于参数空间的线型模型。基于算法的辨识 方法将束手无策。
13.2 基于神经网络的系统辨识 基于神经网络的辨识系统结构图如下图所示。辨识不在意神经网络以什么形式去逼近实际系统,只关心神经网络的输出与被辨识系统的输出相差多少, 可否为零。 被辨识系统 × + V(k) 辨识模型 y(k) - 延时 u(k) e(k)
13.2 基于神经网络的系统辨识 5)辨识系统中的非线性模型 神经网络作系统辨识,主要用于非线性辨识和自适应。由于非线性系统在能控性、能观性、负反馈调节、状态观测器设计等方面还没有成熟的作法。难度是非线性系统的辨识模型和控制模型不易选取,为此,用神经网络辨识非线性系统必须作一些假设限制: 被控对象具有能控性、能观性。 对所有可能的输入控制量u,被控对象的输出y存在并 有界。 在辨识模型中的神经网络允许一个或几个不同的神经 网络结构用于被控对象。 辨识模型的基本结构为包含神经网络的串—并联结构。
13.2 基于神经网络的系统辨识 前两条为保证系统的稳定性和可辨性,第三条为了方便选择模型,简化处理过程,第四条限制主要是为了易于达到以下目的: 由于输出y存在并有界,那么串—并联模型中的所有信号均有界,辨识模型易于稳定。 串—并联模型间无反馈,使从后向前的静态反向传输算法成为可能。 当误差足够小时,不使用串—并联结构,只用并联结构也能有好的效果。 在前述四种假设限制下,能够写出常用的一些非线性典型模型,现举例如下:
13.2 基于神经网络的系统辨识 ① n=2,m=0时的并联结构如图3所示。 y(k+1) - e(k+1) + 图3 并联结构 g ∑ u(k) - e(k+1) + × Z-1 a0 a1 N ∑ g y(k+1) 图3 并联结构
13.2 基于神经网络的系统辨识 n=2,m=0时的串联结构如图4所示。 + y(k+1) + + - e(k+1) + + + + + + g ∑ + Z-1 a0 + - e(k+1) u(k) ∑ + × a1 Z-1 + + N × + Z-1 a0 + × + a1 Z-1 图4 串--并联结构
13.2 基于神经网络的系统辨识 ② ②结构同图3、图4,将g换为f. ③ ④ 后两种用神经网络实现起来较难。
13.2 基于神经网络的系统辨识 6)非线性系统逆模型的神经网络辨识 ①什么叫系统的逆模型 在正常情况下,对系统进行分析的主要任务就是:系统在一个控制信号的作用下,将会产生什么样的输出;产生什么样的运动轨迹。 例如:y = f ( x, u, T) 输出 状态 输入 系统的控制作用 当输入u一定时,正常的系统分析过程是:已知T(t),确定y(t)和x(t). y(t), x(t) T(t) 系统
13.2 基于神经网络的系统辨识 逆系统是:由y(t)和x(t)寻找控制信号T(t). 系统
13.2 基于神经网络的系统辨识 ②系统分析逆模型的存在性 在一个控制系统中,如果已知了运动的轨迹y(t)、x(t)要想求出它的控制信号T(t),首先必然要知道这个控制信号是否存在?系统是否可逆? 线型系统的可逆性问题实际上是一个能控性问题,即线性可控系统即是可逆系统。非线性则未必。但有如下定理存在: 定理:如果对于u(k), f [y(k) …y(k-n), u(k) …u(k-m)] 严格单调,那么系统在点[y(k) …y(k-n), u(k) …u(k-m)] T 处可逆。只有在所有点处可逆都成立,系统才是可逆的。 ③非线性系统的逆模型 非线性系统的逆模型研究包括逆系统建模和逆模型辨识两部分内容。逆系统建模是对非线性系统的逆运行过程建立一数学模型。逆模型辨识是对非线性系统的逆运行进行辨识识别,看其与哪种已知模型更接近。
13.2 基于神经网络的系统辨识 通常认为,神经网络辨识是逆模型建立和辨识的有效和常用方法。下面仅介绍三种常用方法: 非线性系统逆模型的直接建立 该方法又称为泛化学习方法。泛化学习的本意是网络训练所覆盖的范围要比未知的逆系统所可能涉及的范围大一些。这样有利于获得更佳的逆动力学特性。 被控对象 - ANN + e × u y 这里的ANN常用BP, RBF, CMAC
13.2 基于神经网络的系统辨识 正—逆系统建模 这种方法的要点是在非线性系统的正模型(未知对象的动力学模型)基础上,获得逆动力学模型,共有三种方案。 a)被控对象—逆模型建模 这种方案的严重缺陷是:要求知道未知对象的模型。但恰恰在实际系统中,它是未知的,因此基本上是不实用的。 未知被控对象 - ANN + e × u y
13.2 基于神经网络的系统辨识 b)正模型—逆系统建模 其中的正模型是指x→y之间的映射(整个系统是单位反馈时才可用)。 这种方案的优点是:正模型建立之后就成为已知条件,未知被控对象的各种运算都能从正模型中计算出来。 不足之处在于逆模型的精度完全取决于正模型的精度。且这种缺陷是这种辨识结构所设。 正模型 - ANN + e × u y 被控对象 x
13.2 基于神经网络的系统辨识 c) 被控对象--正模型—逆模型建模 ANN 被控对象 u y + e × 正模型 y0 -
13.3 基于神经网络的系统辨识示例 例1 线性离散系统辨识示例 例1 线性离散系统辨识示例 仿真系统为二阶SISO系统,表示为y(k)-1.5y(k-1)+0.7y(k-2)=u(k-1)+0.5u(k-2)。辨识器NNI选择串-并联结构,采用自适应线性神经元的DTNN网络。 这里的学习算法可采用一次性LS(离线)和递推LS及梯度下降法(在线)。 系统输入采用M序列,M序列选用周期Np=15的四阶M序列。M序列的图形可见仿真结果。
13.3 基于神经网络的系统辨识示例 例1 线性离散系统辨识示例 例1 线性离散系统辨识示例 其中function.prbs(n1,n,k1,k2,k3,k4)是产生M序列的函数 n1 –--n1阶M序列→Np=(2p-1) n----M序列的总长度 Ki (i=1,…4)----M序列参数 K3一般取0,K4一般取0, K1 K2选择使Np达到最大值 程序 Bianshi_ADLINE_L.M 采用的是离线辨识方法 Bianshi_ADLINE_Z.M 采用的是在线辨识方法 函数prbs.M是产生M序列的函数
13.3 基于神经网络的系统辨识示例 例2 具有输出量测噪声的一阶SISO系统的辨识 仿真系统模型为 y(k)-0.2y(k-1)=0.5u(k-1)。具有输出量测噪声v(k)(零均值)的系统输出为:z(k)=y(k)+v(k) 仿真系统 × y(k) v(k) z(k) u(k) 该例为有输出噪声的随机系统的第一类问题。辨识器ANNI选串—并联结构。仍用自适应线性神经元(事先要已知被辨识系统的数学模型的结构,而且线性自适应神经元主要适应于线性系统。优点是结构简单,稳定性、收敛性无问题。非线性原则上可构造多个线性自适应神经元)
13.3 基于神经网络的系统辨识示例 例2 具有输出量测噪声的一阶SISO系统的辨识 训练采用的是δ规则。 含输入输出噪声的随机模型的辨识问题的一般化描述为: 设随机系统为: 求得系统参数 的估计值。
13.3 基于神经网络的系统辨识示例 例3 基于高斯RBF网络的非线性动态系统辨识 仿真模型为: 系统输入信号为: 辨识器取串-并联结构,其中的NN取二维高斯RBF网络。 其中散布系数SC=1,中心参数是程序内部自设的。
13.3 基于神经网络的系统辨识示例 例4 基于CMAC的非线性动态系统辨识 仿真系统模型为: 系统输入信号为: 辨识器由CMAC与一个Z-1组成。但这里选的是并联结构。全知权值依据δ学习规则调整。这里设y=1.8(学习率),C=5(泛化常数)N=5,量化级q=100.系统输入范围Umin~Umax=-1~1.
13.3 基于神经网络的系统辨识示例 例5 基于PID网络的非线性动态系统辨识 仿真系统模型: 系统输入信号为: 辨识器的输入/输出为: 设η1=0.15, η2=0.08.
13.3 基于神经网络的系统辨识示例 例5 基于PID网络的非线性动态系统辨识 辨识器ANNI采用PID神经网络与按拍延迟线(两个Z-1)组成,选用串-并联辨识结构,如下图所示:
13.3 基于神经网络的系统辨识示例 以上例子中这类问题的一般化描述为: 非线性系统的差分方程形式包含有: 仿射型离散状态空间表达式: 一般型离散状态空间表达式:
13.3 基于神经网络的系统辨识示例 对于前5个SISO系统而言,假设: 1,模型结构已知,而n m 已知。 2,u(k),y(k)可测量。 对于后面两个MIMO系统而言,假设 1,系统具有能控性,能观性。 2,输入m维,输出p维,状态n维。 在一般情况下多用传-并联辨识结构,这种结构下ANNI更容易保证其稳定性。
13.3 基于神经网络的系统辨识示例
13.3 基于神经网络的系统辨识示例 例6 用线性自适应神经元进行线性系统逆模型辨识 仿真系统模型为: (1)求系统的Z传递函数 例6 用线性自适应神经元进行线性系统逆模型辨识 仿真系统模型为: (1)求系统的Z传递函数 由于P(z)的零点p=-0.5,极点为0.75与j0.37的和或者差,均在Z平面单位圆内,因此P(z)是稳定的且具有一阶时延的系统 (2)系统逆模型,由于其极点在Z平面单位圆内,因此其是稳定的:
13.3 基于神经网络的系统辨识示例 例6 用线性自适应神经元进行线性系统逆模型辨识 逆差分方程为: 逆模的参数为: 例6 用线性自适应神经元进行线性系统逆模型辨识 逆差分方程为: 逆模的参数为: (3)逆模型辨识:逆模型 神经网络的输出为u(k-1).输入为:y(k),y(k-1), y(k-2),u(k-2)
13.3 基于神经网络的系统辨识示例 例6 用线性自适应神经元进行线性系统逆模型辨识 (4)离线逆模型辨识: 例6 用线性自适应神经元进行线性系统逆模型辨识 (4)离线逆模型辨识: 输入u(k)循环周期Np=15的四阶M序列 程序名称 Bianshi_ADLINE_L_O.M(离线) (5)在线逆模型辨识(模型还是例6的模型) Bianshi_ADLINE_Z_O.M(在线) 在线逆模型辨识(但是不能用M序列,可用正弦和随机数)证明在线难度大
13.4 基于神经网络的系统控制 这里主要解决如下的几个问题: (1)神经控制的设计问题 (2)神经控制的集中结构及设计 (3)再励学习原理,再励学习与神经控制。 1)神经网络控制系统的设计与实现 (1)神经控制系统的一般结构 (a)闭环确定性系统的ANN控制 × 神经控制器 y(t) - T 保持器 对象或过程 传感器 u(t) e(t) r(t)
13.4 基于神经网络的系统控制 (b)不确定、不确知系统的一般结构(这里是单位反馈) 对于该神经控制的设计,就是神经辨识器、控制器结构(包括动态神经网络种类、结构)的选择,很可能需经多次试探过程,在L2意义下,使准则函数:
13.4 基于神经网络的系统控制 2)神经自校正控制 神经自校正控制包括直接型(直接逆动态控制),间接型(就是常说的自校正控制)。 (1)神经网络直接自校正控制 此种控制结构要求对象可逆,其中ANNI和ANNC结构相同。学习算法也相同,输出y跟踪输入r的精度取决于逆模型的精度。另外,这种控制由于是开环控制,因此在实际工业生产应用的很少
13.4 基于神经网络的系统控制 (2)神经网络自校正控制结构 由两个回路组成:自校正控制器与被控对象构成的反馈回路,神经网络辨识器与控制器设计,以得到控制器的参数。需要在线设计与实现。
13.4 基于神经网络的系统控制 被控对象为: 式中,u,y分别为对象的输入、输出。g[],φ[]为非零函数,如果这两个均已知,根据确定性等价原则,控制器的控制算法为: 此时,控制系统的输出y(k)能精确地跟踪输入r(k)---系统期望输出。 × Gc y(k) - 系统 u(k-1) r(k)
13.4 基于神经网络的系统控制 如果g[],φ[]为未知,则通过在线训练神经网络辨识器,使其逐渐逼近被控对象,由辨识器的函数代替这两个函数,则控制器的输出为: 式中,Ng[], Nφ[]分别为组成辨识器的非线性动态神经网络
13.4 基于神经网络的系统控制 (3)神经网络辨识器 为使问题简化,考虑如下一阶被控对象: 网络辨识器由两个三层非线性DTNN实现,网络输入{y(k-1),u(k-1)},输出为: 式中W,V为权系数。图中L表示线性节点f()=x。H为非线性节点
13.4 基于神经网络的系统控制 因此,我们设定目标函数为 而取值的调整仍可采用BP算法
13.4 基于神经网络的系统控制 例7 被控对象具有非线性时变特性的神经网络自校正控制 仿真模型为: 仿真结果表明控制系统能有效地抑制扰动,且对被控对象的时变性,控制器能及时调整,表现为网络系值的调整,有自适应性
13.4 基于神经网络的系统控制 3)神经PID控制 神经PID控制结构中有两个神经网络:在线辨识器(ANNI),自适应PID控制器(ANNC)。 原理:由ANNI在线辨识被控对象模型(正)的基础上,在线调整ANNC权系数,达到自适应控制目的。
13.4 基于神经网络的系统控制 在线辨识器ANNI 设计与实现 设被动对象为: g[]未知,采用串-并联结构由ANNI在线辨识。ANNI可采用BP网或CAMC或RBF网络。BP网络的输入为: 隐层为第i个节点的输出为:
13.4 基于神经网络的系统控制 设目标函数为: 网络权值调整算法为:
13.4 基于神经网络的系统控制 自适应线性神经元模型为: W1 × ∫e(t) W2 e(t) W3 其中每个适应性神经元的输入为: +
13.4 基于神经网络的系统控制 自适应线性神经元模型为: 则ANNC网络权值调整算法为: +
13.4 基于神经网络的系统控制 又由(1)-(6)可得: +
13.5 基于神经网络的系统控制示例 例8,被控对象具有非线性特性,仿真模型为: 本例的神经网络辨识模型采用例7中的辨识模型,即BP网络: 控制器采用PD结构,即: +
13.5 基于神经网络的系统控制示例 4)神经内模控制(IMC,Internal Model Control) 内模控制原理 系统由三部分组成:对象、内部模型、内模控制器,内模控制的基本结构如下图所示: +
13.5 基于神经网络的系统控制示例 由结构图可知: +
13.5 基于神经网络的系统控制示例 例9 用PID神经网络进行单变量非线性系统的控制 非线性系统模型为: 控制系统结构图为: +
13.5 基于神经网络的系统控制示例 从仿真结果可以看到PIDNN作为控制器与被控对象一起,作为广义网络,不需要进行系统辨识,它使控制系统即能跟踪输入r(k),又能有效的抑制扰动v(k). 对于单位反馈控制系统,取准则函数为:
13.5 基于神经网络的系统控制示例
thank you!