一种基于并行模块化神经网络的副产煤气实时预测方法

文档序号:10570463阅读:161来源:国知局
一种基于并行模块化神经网络的副产煤气实时预测方法
【专利摘要】一种基于并行模块化神经网络的副产煤气实时预测方法,其特征是首先按照神经网络的状态空间分割的原则,采用Fuzzy c?means(FCM)聚类将样本数据分为若干类,每一个分类对应一个状态空间的子空间(即模块),再对数据重构以建立预测模型。在建模过程中提出一种改进的回声状态网络,采用模块化方法将神经网络网络状态空间分割成多个独立的子空间,每个子空间就是子网络。结合共享储备池方法,使得所有网络的训练都在同一个储备池中完成,而子空间各自对应一个输出权值矩阵,能更好的模拟系统的运行规律。最后将网络训练问题化简为多个小网络的并行训练问题以加速模型计算过程,引入含有更多有用信息的大数据样本提高了模型的预测精度,并应用Map Reduce计算框架将求解问题并行化,获得较高的加速比,实现冶金煤气系统的实时预测。
【专利说明】
一种基于并行模块化神经网络的副产煤气实时预测方法
技术领域
[0001] 本发明属于信息技术领域,涉及到回声状态神经网络、模糊聚类和并行计算,是一 种大数据集驱动的冶金煤气系统实时预测方法。本发明利用冶金企业现场已有的大量数 据,首先按照神经网络的状态空间分割的原则,采用Fuzzy C-meanS(FCM)聚类将样本数据 分为若干类,再对数据重构以建立预测模型。在建模过程中构建一种并行模块化神经网络, 通过模块化方法将神经网络状态空间分割成多个独立的子空间,每个子空间就是子网络。 将网络训练问题化简为多个小网络的并行训练问题以加速模型计算过程,引入大规模数据 提高了模型的预测精度,并应用MapReduce将求解问题并行化,获得较高的加速比。
【背景技术】
[0002] 副产煤气是钢铁冶炼过程中产生的重要副产品,同时也是钢铁制造过程所需的重 要二次能源,其有效合理的利用关系到钢铁企业的能耗成本和产出效率。为了实现副产煤 气的有效利用,那么就必须对煤气系统进行有效的实时调度。如果煤气调度和平衡调整不 善时,会选择将高炉煤气作放散处理,就势必会造成环境造成污染和资源浪费。因此,建立 一种实时准确的副产煤气预测模型是非常必要的。然而由于煤气系统具备非线性,复杂性 和耦合性等特点,很难通过基于机理和工艺的方法对煤气系统进行调度。现场调度人员多 结合基于数据的煤气流量预测结果对系统进行定性平衡调度,这使得副产煤气流量预测至 关重要(赵捃,杜雅楠,盛春阳,等.基于核的冶金煤气流量在线区间预测[J].控制理论与应 用,2013,30(10): 1274-1280.)。借助大量历史数据,采用基于时间序列预测的方法对副产 煤气进行科学预测,可为煤气管网平衡调整提供决策支持,从而制定合理的煤气使用计划, 减少煤气放散损失,提高钢铁企业节能降耗水平。
[0003] 传统基于时间序列的预测算法在处理冶金工业副产煤气预测问题时有很好的表 现,如最小二乘支持向量机、神经网络方法。最小二乘支持向量机(Zhao J,Wang W,Pedrycz ff,et al.Online parameter optimization-based prediction for converter gas system by parallel strategies[J].Control Systems Technology,IEEE Transactions on,2012,20 (3): 835-845 .)能较好地解决小样本、非线性、高维数和局部极小点等实际问 题,一般样本数量在1〇3以下;如果用单个神经网络(盛春阳,赵捃,王伟等.改进回声状态网 络在氧气流量预测中的应用[J].控制工程,2012,19(6) : 1147-1150. D0I: 10.3969/ j . issn. 1671-7848.2012.06.052.)去模拟混沌系统行为的特定轨迹,如果样本量超过104 则会降低模型的泛化能力。而这样数量的样本数据只能表述短时间的时间序列信息,不能 对时间序列所含信息(各种生产工况)进行详细的表达。副产煤气系统的流量数据每分钟采 样一次,冶金企业能源数据库里累计下来的数据量早已超过1〇 6,这样的原始大数据样本具 有全样、非抽样的特征,能更好的表达时间序列信息。传统基于时间序列的预测算法如果要 处理这样数量的样本时,会出现训练速度慢、算法复杂、效率低下等问题。如何解决精度与 求解效率的矛盾是基于数据预测方法要应对的主要问题,即如果无法及时有效的完成煤气 系统进行预测,则会影响后续的煤气系统的平衡调整,影响企业的生产效益。

【发明内容】

[0004] 本发明要解决的技术问题是冶金煤气系统实时预测问题,提供一种能够处理工业 大规模数据的并行模块化神经网络模型,能够精确、快速的完成对副产煤气实时预测。考虑 到大规模数据在建模过程中的效率问题,本发明采用一种两阶段加速的并行模块化神经网 络构建方法。第一次加速将问题分解,采用无监督聚类方法对数据样本进行分类,得到具有 相似特征的空间样本集,并利用聚类结果自动获得神经网络状态空间分割规则;第二次加 速,通过MapReduce并行计算框架加速模型训练过程。每个子空间中的数据的训练过程是独 立的,将不同的数据样本放入与其相对应的神经网络子空间中进行训练,那么每个子问题 都应用MapReduce求解。在预测过程中,先通过常规算法进行第一次预测,然后应用得到的 模型进行结果校正。通过上述过程,大规模的数据样本得以快速处理,并能够保证较高的预 测精度。
[0005] 本发明的技术方案的整体实现流程如附图1所示,具体步骤如下:
[0006] 1、数据读取:从冶金煤气系统现场数据库中读取所需的副产煤气的发生量数据、 消耗量数据。
[0007] 2、预测:建立回声状态神经网络预测模型对副产煤气进行预测;
[0008] 3、预测校正:构造并行的模块化神经网络,结合第2步的预测结果完成对副产煤气 的最终预测,具体步骤如下:
[0009] ①神经网络状态空间分割:采用无监督聚类方法对数据样本进行分类,得到具有 相似特征的空间样本集(可并行化处理的数据样本),并利用聚类结果自动获得神经网络状 态空间分割规则;
[0010] ②建立模块化神经网络模型:将①中得到的不同的数据集放入与其相对应的神经 网络子空间中;
[0011]③网络训练:通过MapReduce并行计算框架加速模型训练过程,每个子空间中的数 据的训练过程是独立的;
[0012]④预测校正:利用第2步中得到的第一次预测结果,并应用①中得到的神经网络分 割规则判断预测结果所属的状态子空间。然后应用③中得到的模型对第一次预测结果进行 校正。
[0013] 4、结果分析和精度统计:为了说明本发明给出的预测方法的优势,将其与BP网络、 最小二乘支持向量机、原始ESN神经网络方法的预测结果进行比较,并统计各种方法预测性 能指标。
[0014] 5、预测结果存储:将预测结果存储到数据库中,用于统计报表等操作。
[0015] 本发明的有益效果在于:
[0016]本发明采用基于模块化神经网络和MapReduce并行计算框架和相结合的方法。模 块化方法将复杂的问题分解成若干个子问题,设计相应网络处理对应问题,最后再将多个 子网络结果进行合成,从而简化计算。所以模块化神经网络方法能够处理较大的数据集以 提高模型预测精度。对于时间序列预测问题,模块化神经网络能够将问题求解空间分层,相 比单个神经网络提高了泛化能力。应用MapReduce加速模型训练过程缩短了模型训练时间, 可以保证实时的对副产煤气的产消量进行预测。利用冶金企业现场已有的大规模的历史数 据,实时精准预测副产煤气的产消量,满足现场实时性和稳定性要求,从而为煤气系统的调 度人员提供可靠的依据。
【附图说明】
[0017] 图1为技术方案的整体实现流程图。
[0018] 图2为冶金企业煤气系统管网结构图。
[0019] 图3为状态空间的划分示意图。
[0020] 图4为共享储备池模块化神经网络结构图。
[0021 ] 图5为MapReduce计算框架数据流图。
[0022]图6为MapReduce矩阵乘法内积法数据流图。
[0023]图7为求矩阵广义逆的Map函数流程图。
[0024]图8为求矩阵广义逆的Reduce函数流程图。
【具体实施方式】:
[0025]以下结合
【发明内容】
和说明书附图详细说明本发明的【具体实施方式】。
[0026]为了更好地理解本发明的技术方案,以下结合附图2对本发明的实施方式作详细 描述,附图2为某冶金企业高炉煤气系统的管网结构图,四座高炉是煤气系统的发生单元, 连铸、冷乳、热乳、钢管厂、初乳、低压锅炉和电厂锅炉等生产和制造过程为消耗单元。实时 的煤气系统运行状态预测对煤气系统的调整至关重要,所以本发明提出一种并行模块化神 经网络预测方法,来实现冶金煤气系统产消量的实时预测。按照图1所示的方法流程,本发 明的具体实施步骤如下:
[0027]步骤1:现场数据的读取
[0028]从冶金企业现场关系型数据库读取所需的煤气系统发生、消耗用户数据、煤气柜 位数据。
[0029] 步骤2:预测
[0030] 构造回声状态网络所需要的样本集,建立回声状态神经网络预测模型对副产煤气 进行预测;
[0031] 步骤3:预测校正
[0032] 对第2步的预测结果进行校正,具体流程如下:
[0033]①神经网络状态空间分割:
[0034] 读取近两年生产数据数据组成一个样本集,采用模糊C均值聚类方法对数据样本 进行分类,输入样本和输出样本的数据样本集表示为D = {(xi,yi) | i=i,..N},其中输入样本xi ERd,输出样是输入样本的个数。本发明通过对输出样本的分割来完成对状态空 间的分割,依据如命题1所述。
[0035] 命题1:若神经网络输出值接近,那么相应高维状态空间中的状态信号属于同一子 状态空间即模块。该命题可证明如下:
[0036] 假设高维状态空间中的两个点x(m),x(n2)位置接近,即属于同一子空间| IWout ? | |[x(m)-x(n2)]| | = | |c| |〈d,那么由神经网络方程可得:
[0037] y(m)-y(n2) =ff〇ut[x(m)-x(n2) ] = c (1)
[0038] 对上述方程求取欧几里得范数得:
[0039] | |y(m)-y(n2) | | = | |wout[x(m)-x(n2)] | | = | | c | | (2)
[0040] 最终得到:
[0041] | |y(ni)-y(n2) | K |W?t| | ? | | [x(m)-x(n2)] | | = | |c| |〈d| |y(m)-y(n2) | |〈d (3)
[0042] 根据(3),若空间中的两个点x(m),x(n2)位置接近,那么观测值y(m),y(n2)的位置 也是接近,命题1得证。状态空间划分的示意图如图3所示,通过分割Y轴为M段将状态空间划 分为M个子空间(图3中M=5)。状态空间划分函数g( ?)定义如下:
(4)
[0044] 这里,M代表模块的个数,Cl(i = l,2,…M)是对观测值进行聚类所得到的聚类中 心。当输出样本落在某一分类区间m,那么该样本对应的状态信号属于区间m对应的子空间。
[0045] ②建立模块化神经网络模型
[0046] 共享储备池模块化神经网络(以下简称模块化神经网络)是将神经网络的状态空 间分割成多个子状态空间,每个子空间样本的训练都在同一个储备池中完成,而子空间各 自对应一个输出权值矩阵。模块化神经网络结构如图4所示,其基本方程可以写为:
[0047] x(n+l)=f(ffx ? x(n)+ffin ? u(n+l)+fffb ? y(n)+v(n)) (5)
[0048] >' (n) = f:>vt (W (.x{n),u(n))) (6)
[0049] k = g(u(n) ,x(n)) (7)
[0050] 其中,f为动态储备池(DR)内部激活函数,这里采用tanh〇函数;x(n)为n时刻DR的 状态变量;u (n)为n时刻系统输入值;yk (n)是第k个子空间的输出值。Win (N X K)为输入权值 矩阵;Wx(NXN)为DR内部神经元的连接矩阵;Wfb(NXL)为输出神经元与DR的反馈矩阵;f out 为输入与输出单元激活函数;代表第k个子空间的输出权值矩阵,g( ?)代表空间分割 方程。Win、Wx、Wfb三者在网络学习前构建,随机生成即可,而W QUt是在学习结束后计算得出。图 4中实线代表固定的突触连接,点划线代表可调的突触连接,d(n)是训练样本的输出样本。
[0051] 模块化神经网络的训练目标是求得最优的输出权值矩阵,最小化所有子空间的训 练误差(d(n)-yk(n)),使得均方误差(MSE)最小化,即最终将网络输出 ^\oui 权值的求解转化为求解如下方程组: r1 A2-W2 = T (8)
[0052] K:: = r
[A *WSU( - i
[0053] 这里,A=[XT(1),XT(2),? ? ?,XT(k)],T=[y(l)T,y(2)T,? . ?,y(k)T],X=(x,u)
[0054] 按照①中得到的分类规则将所有样本进行分类,不同的分类数据放入与其相对应 的神经网络子空间中,得到可以并行化处理的数据样本;然后将数据样本存储到Hadoop的 分布式文件系统中。本发明采用线性回归算法确定输出权值,即:
[0055] = A'T , Af =(AtAY1 At (9)
[0056] 这里J是矩阵六的]\1〇〇^-Penrose广义逆,本文米用SVD ( s ingular value decomposition)方法求取eAi(i = l,2,…,M)矩阵的维度是NiXLi维,為x <为NiXNi维 矩阵,当用大规模数据训练网络时,心的值是非常大的,< x 将会不能载入到内存中进行 计算。然而在大多数情况下,网络的隐层节点数U是远小于样本个数。根据矩阵 运算法则,在SVD方法中可以被较小的矩阵< x為(為><1,)代替。因此矩 阵按如下公式计算:
[0057] (\V;"" )7 二.<7;,A: ^i/iv(A;' X A; ) XA;' (10)
[0058] 至此,将模块化神经网络模型的求解转化为求解J/G' = Af)。
[0059]③模型训练过程的并行加速
[0060]采用针对海量数据处理提出的MapRedUCe(MR)分布式编程模型求解②中得到的方 程组(8)。在该模型中整个计算过程分为Map和Reduce两个阶段,模块化神经网络的每个子 空间中的数据的训练过程是独立的,所以可以通过MR并行计算框架加速模型训练过程。MR 并行算法实施的关键是设计MR函数的键值对,其中包括Map函数和Reduce函数的输入、输出 键值对(Map函数的输出键值对即是Reduce函数的输入键值对,也被称为中间结果键值对)。 求取矩阵广义逆是求取模型最耗时的关键步骤。
[0061 ]求矩阵广义逆的MR任务主要完成并行求解< X為f卩< X 7;的矩阵乘法,可表示 为下列方程:
[0062] miJhbm-mij] (11)
[0063] 咽[聊]><?][_/] (12)
[0064] 这里,Map函数的输入键(key)的设计为(num,m),num代表样本相对第一个样本的 偏移量;m代表样本属于的子状态空间号。Map函数的输入值(value)的设计为 <矩阵和1^的 相对应的行。Map函数的输出键的设计为(m,i,j),m代表样本属于的子状态空间号;i,j(i = 1,2,3,…,L; j = 1,2,3,…,N)代表x 4结果矩阵的第i行第 j列,x _4(:,/V Reduce函数中相同的键就能出算出结果矩阵第i第j列的值。Map函数输出值的设计为(LR: x,y),其中LR位代表乘法左矩阵A或右矩阵B,x(x=l,2,3,-_,N)代表的第x个元素 ,y 是这第x个元素的实际值。矩阵乘法内积法数据流示意图如图6所示:
[0065] Map函数的功能是将要计算的部件进行拆分,拆分成便于Reduce函数计算的小块。 Reduce函数的输入键值对就是Map函数的输出键值对。在Reduce函数中,相同key的数据被 一个Reduce task收集,从而计算结果矩阵。求矩阵广义逆的Map函数,输入:training data Xi,labels yi,xi是方程组(8)的系数矩阵yi行对应的数据;输出:training data Xi,j,带下 标的矩阵元素,其流程如图7所示。求矩阵广义逆的Reduce函数,输入:〈key,value〉,是上述 Map函数的输出;输出:是為和7;的结果矩阵,其流程如图8所示。
[0066]在Map函数中,按照前文指定的规则将左矩阵為7'与右矩阵Ai拆分,并分配指定的 key和样本的分类号。在Reduce中,把相同key值的数据读入到数组中并进行计算,输出是结 果矩阵并保存到分布式文件系统的输出文件中。
[0067]④预测校正过程
[0068]应用①得到的神经网络分割规则(公式(4))判断预测结果所属的状态子空间。 然后应用③中得到的模型的输出权值矩阵对预估值网络得到的第一次的预测结果进行校 正得到最终估计值夕。
[0069]步骤4:结果分析和精度统计 [0070]表1各高炉BFG发生量预测误差比较
[0072]为了说明本发明的预测方法的优势,将其与BP网络、最小二乘支持向量机、原始 ESN网络方法的预测结果进行比较,各种方法预测精度如表1所示。给出分析如下:BP网络是 一种静态网络,它具有相对固定的神经元结构,其预测结果受隐层神经元数量影响较大。由 于其基本思想是通过梯度下降来完成学习过程,可能导致优化过程陷入局部极小,从而形 成较大的预测误差。最小二乘支持向量机方法用等式约束代替支持向量机的不等式约束, 使求解过程变为解一组等式方程,避免了求解耗时的二次规划问题,但同时也丧失了标准 支持向量机的稀疏性。ESN方法虽然该方法通过计算动态储备池到网络输出的权值矩阵,有 效的避免了传统人工神经网络导致的局部极小问题,但是对于工业大样本的实际情况仍然 无法实现预测。而本文提出的基于并行模块化神经网络方法能够根据加速处理大样本时间 序列预测问题。因此,能够获得最优的预测效果。
[0073]步骤5:预测结果存储
[0074]数据库系统可以存储大量数据,具有安全、便捷等优点。从Hadoop集群的分布式文 件系统中将预测结果读取出来存储到数据库中,用于统计报表等操作。
【主权项】
1. 一种基于并行模块化神经网络的副产煤气实时预测方法,其特征包括如下步骤: (1) 数据读取:从冶金煤气系统现场数据库读取所需的数据; (2) 基于回声状态网络的预测:建立回声状态神经网络预测模型对副产煤气进行预测, 得到预测结果 (3) 基于并行模块化神经网络的预测校正:构造并行的模块化神经网络并结合第2步预 测结果,完成预测值的校正;具体如下: 1) 建立状态空间分割规则: ① 读取已知的数据组成一个样本集,输入和输出样本的数据样本集表示为D= {(xi,yi) I i=i,N},其中输入样本xi e Rd,输出样本yi e R1,N是输入样本的个数; ② 依据空间中的两个点x(m),X(n2)位置接近,那么观测值y(m),y(n2)的位置也是接 近,通过对输出样本的分割来完成对状态空间的分割; ③ 状态空间划分通过分害吖轴为M段将状态空间划分为M个子空间即模块,利用模糊C均 值聚类对输出样本进行聚类,得到M个分类的聚类中心,然后依照状态空间划分函数将样本 划分为M个子集; 2) 建立模块化神经网络模型:共享储备池模块化神经网络是将神经网络的状态空间分 割成多个子状态空间,每个子空间样本的训练都在同一个储备池中完成,而子空间各自对 应一个输出权值矩阵;网络训练的最终目标是求得最优的输出权值矩阵,使得均方误差 (MSE)最小化,网络输出权值的求解转化为求解如下方程组:采用线性回归算法确定输出权值,即: (W0Jr = AiT, Ai =(AtA)-1At 的广义逆,采用SVD方法求取Jt ;当使用海量数据训练网络时,# xdf计算量远大于计算 < X <,根据矩阵运算法则,将矩阵求取按如下公式计算:至此,将模块化神经网络模型的求解转化为求解= 1,2,_M); 3) 算法的并行加速:在Map函数中,按照前文指定的规则对左矩阵与右矩阵进行拆分, 并分配指定的key和样本的分类号;在Reduce中,把相同key值的数据读入到数组中并进行 计算,输出是结果矩阵并保存到分布式文件系统的输出文件中; 4) 校正预测结果:应用得到的神经网络分割规则判断预测结果Jvb所属的状态子空间; 应用得到的模型的输出权值矩阵对预估值网络得到的预测结果进行校正得到最终估计值 (4) 结果分析和精度统计:统计预测性能指标,供现场调度人员进行参考; (5) 预测结果的存储:将预测结果及精度统计结果存储到数据库。
【文档编号】G06Q50/04GK105930916SQ201610213761
【公开日】2016年9月7日
【申请日】2016年4月7日
【发明人】赵珺, 车艳军, 刘颖, 吕政 , 王伟
【申请人】大连理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1