中国工控网 - 中国工控网,专业工控信息服务平台 !

商业资讯: 企业新闻 | 人物专访 | 企业关注 | 专家观点 | 技术文摘 | 解决方案 | 展会新闻 | 工控知识 | 工控百科 | 产品推荐

你现在的位置: 首页 > 商业资讯 > 使用维修 > 一种用于实时过程的神经网络在线自学习逆控制算法

一种用于实时过程的神经网络在线自学习逆控制算法

信息来源:gkong.biz  时间:2010-04-21  浏览次数:134

  作者:彭一江单位:长沙天海分析检测自动化有限公司
  摘 要: 本文探讨了神经网络控制应用于实时过程的实现问题,提出一种网络训练与控制分离并行的算法。该算法在对过程的逆模型进行实时在线自学习的同时,对过程实施逆控制,实现对复杂对象的自学习、自适应控制功能。文中还给出了一个计算机仿真实例的结果。
  关键词:实时过程;神经网络;在线自学习;逆控制。
  ONE NEURAL NETWORK INVERSE CONTROL ALGORITHM
  WITH ON-LINE SELF-LEARNING FOR REAL-TIME PROCESSES Abstract : In this paper , the study on the realization of application of neural network control to the real-time process is made and the algorithm with separated and parallel method for neural network training and control is advanced . Useing this algorithm,the on-line learning to the inverse model of real-time process can be performed, and concurrently , the inverse control can be performed in the process. It can realize functions of self-learning and adaptive control to complex processes.The result of one example of the computer simulation of the system is presented .
  Key words: real-time process ; neural network ; on-line self-learning ; inverse control.
  1 引言
  近年来,人工神经网络 (简称神经网络或NN) 越来越多地应用于工业自动化控制领域。由于神经网络能够充分逼近任意复杂的非线性关系和能够学习与适应严重不确定性系统的动态特性,因此,采用基于NN人工智能控制方法,引入自学习、自适应功能而构成的实时系统,在处理那些实时性要求高且难于用模型或规则描述、随机性事件多、非线性严重、存在多个不同类型输入和输出的实时过程方面,显示了极大的优越性。众所周知,由于神经网络的学习需要耗费较长的时间,其实时应用策略仍是控制领域研究的热点。
  通常,神经网络在过程控制中用作控制器模仿器或过程模仿器,构成基于神经网络的控制系统。 目前,这种控制系统常采用软件方法实现。然而,神经网络的学习过程是一个慢过程,而作为一个实时系统,其主要目标是保证系统响应的及时性,必须同时满足逻辑正确性和时间约束两个条件。因此,对于快速有时甚至是慢速的实时过程,特别是对于有强实时任务(即要求该任务在时限内完成,否则其结果将失去可用性的任务)的过程,神经网络的学习慢速性是NN实时控制算法实现的难点。一般采用NN离线学习与在线控制相结合的方法。在线学习与控制的方法大多局限于在一个控制周期内串行完成的算法。本文在NN软件实现上结合中断处理技术,使网络的学习与控制分离和并行嵌套,提出一种用于实时过程的神经网络在线自学习逆控制算法,用以处理难于建立对象模型 (包括快速和强实时) 的过程。
  2 基于NN的实时过程控制原理
  实时过程控制系统是指该系统实时地从外界获得被控系统的当前状态,进行预定的处理,并根据处理结果对外界被控系统进行及时控制,使其处于要求的状态下。实时过程控制系统的模型是一个反馈环结构。如图 1 所示。
  2.1 系统NN基本结构
  采用具有非线性特性函数的神经元及多层非循环连接模式的神经网络(NN)和反向传播(B-P)学习算法。
  根据一般实时过程的特点,设神经网络输入层共取n个神经元,分别代表输入端x1,x2,···xi···xn。完成将外部各工艺参数输入神经网络的功能;中间层取1∽2 层共设2n+m个神经元,代表神经网络的感知层;输出层取m 个神经元,代表过程的输出参数y1,y2,···yj,···ym。从外部特性看,网络相当于一个n输入m输出的多变量传递函数。而其内部特性却充分反应了对象的动力学特性。系统NN基本结构如图 2 所示。其中:(a)网络连接模型, (b)神经元模型。
  在图2所示的神经网络中,某一个神经元的结构如图2(b)所示。其中Xi为输入信息,Wi为权值,θi 为阈值,F是表示神经元活动的特性函数,F刻划了神经元输入信号与
  输出信息之间对应的关系 。
  2.2 网络权值学习算法
  神经元特性函数取S型函数,即:
  F(X)= 1/(1+e-x) (2-1)
  网络采用的B-P算法是前向计算输出与反向传播误差相结合的进行权值调整的过程。
  设网络中第i层某个神经元与后一层第j层的连接权值为W[ij],输入为X[j] ,输出为X[i]。由图3可得:
  Xi =F(Xi )=1/(1+e-Xi+θi) (2-2)
  Xi =∑Wij ·Xj (2-3)
  误差反传采用改进的Delta权值调整公式[4] :
  Wij(n+1)=Wij(n)+ΔWij(n+1) (2-4)
  ΔWij(n+1)=η·δj·Xi+α(ΔWij(n)) (2-5)
  式中:
  η为学习率(取η=0.1~0.9);
  α为动量系数(取α=0.1~0.8);
  δj为神经元输出误差。
  采用基于系统误差梯度的方法调整权值 [4] ,即:
  当 j 为输出层时:
  δj=-( Xi -Xj)·Xj·(1-Xj) (2-6)
  当j为中间层时:
  δj=(∑δk·Wjk)·Xj·(1-Xj) (2-7)
  2.3 NN在线学习控制结构
  系统以过程输出量Y为控制对象,以Y=Ysr(给定常数)为控制目标,以 U过程控制量,以事先离线进行过权值初始化训练、并且在生产过程中不断进行在线学习的神经网络系统辩识模型NN为控制模型,并由此辩识模型计算某一时刻所需控制量U值。构成基于神经网络的实时控制系统,实现对Yr的自动跟踪。系统控制原理框图如图3所示。图3中,P为实时过程的实际模型;BP为输出误差向网络内部连接权值反传调整权值的算法。S为网络权值传送软件开关。
  2.4 过程模型在线自学习
  系统首先采用离线训练的方式形成网络的连接权值矩阵初始值,包括建立各种不同神经网络模型结构参数,以提高在线学习速度。
  系统投入实时控制后,程序在一定条件下启动NN自学习功能,将实时采集的工艺参数通过特定处理后,作为训练样本输入网络,进行连接权值的调整。由于NN模型不需要知道对象的任何先验知识,在限定NN拓扑下,其连接权值不仅规定了模型的参数,同时也规定了模型的结构性质,因此,用这种方式训练出来的的神经网络模型,可以充当对象的模仿器[1]。系统不断地根据生产过程中的各种相关参数,反复调整网络权值,在线建立过程逆模型。
  2.5 模型逆控制
  过程模型模仿网络NN2投入实时控制前经过离线训练,使系统在投入控制后的初始阶段有较好的稳定性并使NN2能较快地完成以后的在线学习。在NN2不断学习和NN1调节控制量的过程中,NN2输入输出特性能够越来越准确地模拟实际过程模型的输入输出特性。经若干个模型学习周期,NN2 学习误差达到期望值,NN2 的连接权值暂时固定下来。当过程输出与系统设定的偏差大于期望值时,NN2的连接权值传送给调节器模仿器NN1,作为调节器计算新的控制量,同时,启动在线学习开关 S,NN2开始进行新的学习。当系统产生控制中断而进入控制周期,系统先对过程状态参数进行一次实时检测,根据当前的过程状态由NN1对控制量进行调节,完成一次在特定工艺状态参数下的控制量的动态设定。
  当NN充分接近实际模型,即:NN2=P-1时,由于NN1=NN2,NN1·P=P-1·P=1,则Y=Ysr,即系统可实现对给定目标值的跟踪。
  3 软件实现
  对实时控制系统而言,软件设计应着重考虑NN学习算法、样本形成、网络推理之间的时序问题。系统采用内部中断与外部中断相结合的方式处理时序问题。软件设计两个中断处理子程序,其中一个为定时与采样中断处理子程序,
  采用修改机器内部定时中断向量的方法,另一个为实时控制及样本提取中断处理子程序。采用外部脉冲信号产生中断申请的响应方法。网络学习则在主程序的大循环中进行。
  系统投运前,NN通过离线训练获初始知识。离线训线的样本可以利用工艺过程中的历史数据产生,或由该领域专家的知识形成。
  实时控制中NN以在线学习方式运行。学习是一个的大循环,不断以样本子集缓冲区的实时样本对网络进行训练。而样本缓冲区的实时样本的刷新是由外部中断服务子程序根据样本提取逻辑进行的,系统实时地将实际过程中产生的新样本替换样本缓冲区中最先前的样本。同时,一旦时间达到某一设定的周期,系统将样本缓冲区的样本存入硬盘作为历史样本供以后使用。内部中断服务子程序采集的现场数据供显示用,并且提供样本提取逻辑所需的计时信息。采用这种大循环进行NN学习;内部时钟定时中断进行数据采集与处理并提供样本获取和控制时序逻辑;外部中断请求进行样本提取和实时控制的程序结构,充分利用了CPU的大量空闲时间,即照顾了学习的耗时性,又满足了数据采集的及时性和控制的适时性。实时控制流程及中断服务子程序见图4。
  其中:(a) 实时控制主模块; (b) 实时数据采集及定时中断处理子程序;(c)控制输出及样本提取中断处理子程序。
  4 计算机仿真实例结果
  计算机仿真实验程序用C++编制,在486微机上运行。
  系统仿真所用数学模型为螺纹钢筋轧后控冷工艺过程的一个多输入单输出 (根据生产实际数据产生的回归分析模型)[5,6]:
  Ts= -4.1·Qy -156.8·t -4.6·Tw +29.3·Φ+0.21·Tf +50·C +850 ( 4-1)
  其中过程输出为Y = Ts ,目标值Yr = 620 。
  设NN输入 X= { t , Tw , Φ , Tf , C , Ts } ;NN输出U = Qy 。
  网络为6×12×12×1结构,运行前离线训练重复次数为7000次,学习时间为8分钟,网络输出总误差为0.00005。经过训练的NN用于仿真运行,模拟在线自学习控制,学习 时间小于0.5秒。仿真运行结果见表1。表中数据经归一化处理,以保证网络输出值在(0,1) 区间 内;其中Qy、Ts为初始值,Qy、Ts为执行的结果值。
  由表1可知,系统能够在钢筋终轧温度Tf变化时,自动改变水量设定值Qy,使其自回火温度稳定在目标值Tsr=602℃ (误差小于1℃)左右。仿真结果表明,这种基于NN模型自学习的逆控制方法,有较强的自学习、自适应能力。在处理一般非线性、随机性、时变及多变量输入输出的实时过程方面,有较好的开发应用前景。

    ——本信息真实性未经中国工控网证实,仅供您参考