庞跃武, 许少华
( 东北石油大学 计算机与信息技术学院,黑龙江 大庆 163318 )
控制领域和系统仿真技术应用研究的一个重要方向是非线性动态系统状态预报.状态预报是根据系统历史运动状态,通过模型或算法判断和识别系统当前运行状况是否正常,并可准确预测系统未来时间内运行状态,其核心是系统辨识和预测,其关键在于建立符合实际的预测模型[1].传统方法解决系统状态预报问题时,主要为基于机理模型或统计模型的预报,但实际中一些系统存在高度复杂性和不确定性,难以获得正确数学模型,有些理论和技术问题尚未得到较好解决[2-3].随着状态预报应用领域不断扩大,对预报模型和方法提出更高性能要求.智能信息处理技术的广泛应用,为解决系统状态预报问题提供新的途径[4-6].过程神经网络(Process Neural Network, 简称PNN)是一种新型动态神经网络模型[7-8],其输入及连接权可以为时间函数,对非线性系统动力学性质、模态变化特征具有自适应学习能力.将PNN应用于非线性系统的状态预报,机制上具有较好的适应性.
笔者提出一种基于PNN的系统状态参数预报模型及其算法.考虑系统结构和变量之间的变换及约束关系,根据获得的反映系统模态变化特征的动态样本数据,首先建立反映系统动力学特性的PNN辨识模型;然后依据辨识模型和系统状态参数的模态变化特征,构建满足实际应用要求的预报模型.考虑实际中非线性动态系统往往难以获得足够多的时变采样样本数据,建立一种基于相空间重构理论的动态样本训练集构造方法.分析PNN预报模型的信息处理机制,给出相应求解算法,通过实验验证模型和算法的有效性.
图1 过程神经元模型
由图1,过程神经元模型输入与输出之间的映射关系为
(1)
式中:θ(t)为过程神经元的阈值函数.
图2 过程神经网络模型
为不失一般性,设非线性动态系统为多输入、单输出的连续时间系统.考虑一种由n个时变信号输入节点、m个过程神经元隐层节点和1个非时变神经元输出节点组成的PNN模型,其拓扑结构见图2.其中:u1(t),u2(t),…,un(t)为PNN的时变输入函数;wij(t)(i=1,2,…,n;j=1,2,…,m)为输入层与隐层的连接权函数;vj(t)(j=1,2,…,m)为隐层到输出节点的连接权函数;f(·)为激励函数;y(t)为输出函数.
由图2,PNN模型输入与输出之间的动态映射关系为
(2)
式中:[0,T]为时变信号输入过程区间;θj(t)为阈值函数.该模型可以实现系统输入与输出之间的连续时间同步非线性映射关系.
图3 PNN状态预报模型
考虑系统长期和短期状态参数预报问题,在PNN模型中(见图2),将系统的输出延时串联反馈至网络输入端,构建一种PNN状态预报模型(见图3).其网络结构利用系统在t时刻的输入和t-Δ时刻(Δ为系统的1个时间延迟单元)的状态信息,预测系统在t时刻的输出,有利于预报模型的稳定和对系统输出信号的控制及约束.
由图3可见:PNN的输入层有n+1个节点,输入为u1(t),u2(t),…,un(t),系统在t时刻的延时输出为y(t-Δ),当t≤Δ时,y(t-Δ)=0;网络隐层的m个过程神经元节点完成对系统时变输入信号的时空加权聚合,以及对动态样本过程模态特征的提取;输出层完成隐层各节点输出信号的加权聚合,以及系统状态参数的输出.
由图3,PNN状态预报模型输入和输出之间的映射关系为
(3)
式中:w0j(t)为对应于y(t-Δ)的输入节点与网络隐层过程神经元节点的连接权函数,当t∈[0,Δ]时,w0j(t)=0.
式(3)表示的PNN状态预报模型的输入、输出以及连接权、阈值等可以是任意类型的时间函数,只要输入未来时间的过程影响因素,就可采用该模型预报系统的长期和短期状态.在模型训练中,若不将连接权函数和阈值函数的类型限定在某一类函数空间,则难以通过训练函数样本集的学习确定.为此,采用一种基于函数正交基展开的学习算法[9],并将时变信号的输入区间[0,T]扩展为任意的(0,t]∈[0,T].
设PNN的输入、输出函数属于(C[0,T])n;b1(t),b2(t),…,bL(t)为C[0,T]中1组满足输入函数拟合精度要求的基函数;U(t)为网络输入空间中的任意函数,U(t)=(u1(t),u2(t),…,un(t)),ui(t)的基函数展开形式表示为
(4)
式中:L为基函数的项数.
将式(3)连接权函数wij(t),vj(t)和阈值函数θj(t)用基函数b1(t),b2(t),…,bL(t)的形式展开,表示为
(5)
(6)
(7)
将式(4—7)代入式(3),并整理得
(8)
(9)
对[0,T]进行适当的P等分,记分割点为t0,t1,…,tP.将式(5-8)另写为
(10)
(11)
(12)
(13)
将式(10-13)代入式(9),整理得
(14)
由于bi(t)在[0,T]上为确定函数,因此采用数值计算方法求出Bls(t)和Bkl(t)在[0,T]中每个分割点的值.此时,利用一般神经网络的训练方法如误差反传播等梯度下降算法[10-11],确定网络连接权函数和阈值函数,构建系统参数状态预报模型.
一些实际系统受测量成本、采样数据不可重复获得等因素制约,对时间序列数据中隐含的系统本质规律认识不足.为充分利用所获得的时间采样数据序列中信息,采用相空间重构方法构造样本集.
Yk=(yk,yk+t,…,yk+(m-1)τ),k=1,2,…,M,
(15)
(16)
选择CR在第1个拐点处的延迟时间为重构相空间的τ.在确定τ之后,采用G-P算法[13]确定最小嵌入维数m;根据最小嵌入维数m和时间延迟τ,将(yk,yk+τ,…,yk+(m-1)τ)用适当的正交基函数拟合为1个时间函数yk(τ)作为PNN的输入,得到M-1个样本,其中:k=1,2,…,M-1.
石油开采是复杂的多相流体渗流过程,井组先导性开发试验中采油速度控制和预测是制定合理开发方案的重要依据.实验数据采用某油田开发试验区B7-307注聚合物开采井组生产数据,研究目标是分析注聚井的注入压力、注入量与井组采油速度之间的关系.试验井组由1口中心注聚合物井、周围近似均匀分布的3口采油井构成注采系统,进行不同注入压力和注聚合物量下油层驱替采油过程实验,记录每口油井阶段累积采油量,换算为井组采油速度,采样时间间隔为4 h,得到1207个采样数据.采用相空间重构方法构造预报模型训练样本集,选定最小嵌入维数为20,延迟时间τ为45个采样点,得到352组训练样本.将训练样本集中每个样本利用Walsh正交函数系[14]拟合为1个分段函数,当Walsh基函数个数为32时,满足采样数据拟合精度要求.
确定采油速度PNN状态预报模型结构为4-8-1,输入为注入压力函数、注聚合物量函数、井组储量递减函数以及延迟1个时间单元的采油速度函数,输出为采油速度预报值.学习效率α=0.60,β=0.50,γ=0.65;学习精度ε=0.10,网络学习1 532次后收敛.模型预报结果与生产数据对比,在采样点处平均绝对误差为1.3%,相对误差为5.7%,对油田生产是较准确的预测结果.
提出一种基于过程神经网络的非线性动态系统状态预报模型及其算法.根据反映实际系统模态变化特征的时变输入和输出样本数据,利用过程神经网络对非线性系统的辨识建模能力,直接建立动态系统面向状态参数的预报模型,方法具有通用性.该模型和算法为非线性动态系统的状态预测问题提供一种新方法,具有广泛应用价值.