丘绍雄,印四华
(1.广东工业大学计算机学院,广州 510006;2.广东工业大学机电工程学院,广州 510006)
我国的窑炉数量众多,且大多技术落后。在工业4.0 时代,想要提升制造业生产力、竞争力、创新能力,就要大力发展工业大数据技术和应用。因此,产业转型升级逐渐成为提升行业效益的核心动力。在整个窑炉生产过程中,消耗能源最多的设备是池窑,通过调查研究,其能耗占据整个生产过程的80%以上[1]。玻璃窑炉的燃烧系统,是玻璃生产过程的核心部分,也是最主要的能源消耗部分,燃烧质量的高低,影响了整个工厂的经济效益。因此对于马蹄焰玻璃窑炉的能耗预测有很大的研究价值。
关于马蹄窑玻璃窑炉能耗的研究大多是提高工艺水平,改进设备,并进行模拟仿真。比如戚淑芬[2]通过引入马蹄焰玻璃窑炉蓄热室温度变化率η来校正窑头换火时间的节能型控制方案,并给出了用可编程调节器予以实现的方法。这对稳定产品质量、节能降耗意义极大。李骏[3]通过提出一种创新性的结构划分模型分析的新颖方法,把整个马蹄焰玻璃窑炉的工艺流程划分为三级结构,逐级展开分析建模。得出增强窑体保温,减少散热损失以及提高蓄热室余热回收作用,降低出口烟气温度是马蹄焰玻璃窑中节能优化的有效途径。张绪全[4]对马蹄焰玻璃熔炉的蓄热室面积加大1/3,加大热交换力度,用余热锅炉对烟气余热回收等措施实现了能耗降低。雷世昌[5]通过分析窑炉特性,有针对性地在模糊广义预测控制的基础上进行深入研究,构建适用于窑炉建模与控制的算法,在理论上解决了马蹄焰窗炉的控制问题。
通过对前面的文献进行研究,发现目前国内虽然很多专家学者对马蹄焰窑炉的节能优化有一定的研究成果。但是大多数是通过系统控制、仿真建模、工艺参数调整、物理、化学、热力学等角度来对马蹄焰窑炉进行节能优化的分析,并没有从玻璃窑炉的热效率预测的角度来进行节能研究。所以本文用进化神经网络来预测窑炉的热效率。进化神经网络由进化算法(EA)和神经网络组合而成。根据不同的使用情景,选择不同的搭配进化算法和神经网络。由于神经网络参数多,在进化算法的选择上,使用进化策略,可以避免编码问题。窑炉设备的数据大多为时间序列,循环神经网络其每一个时间步状态的计算需要依赖于上一个时间步,所以其比较适合用来预测时间序列的数据[6]。长短期记忆网络(Long Short-Term Memory,LSTM)是一种时间循环神经网络,是一个效果很好的RNN变体算法。它既能继承RNN探索序列数据内在依赖关系的能力,又能解决传统RNN 因序列过长而导致的梯度消失、训练时间长和过拟合等问题,并提升局部优化能力和网络泛化能力[7]。最近几年,很多研究使用进化算法和神经网络结合的模型进行学习。比如谢崇波[8]在GA-GRU预测模型对环境空气污染物PM2.5 浓度预测中,不仅保留了处理数据维度和输入特征的能力,并且在一定程度上充分挖掘了环境空气污染物因子自身之间与气象因子之间潜在的特征关系。在2017年,Uber不仅提出遗传算法可以解决深度强化学习问题[9]。还提出了深度学习训练的新方法,通过进化算法来优化神经网络[10]。同样在2017年,OpenAI将进化策略运用到神经网络,然后不断进化神经网络中的参数,最终的实验结果都能够媲美很多强化学习方法[11]。谷歌团队在训练神经网络的时候发现,在相同的硬件下,与强化学习相比,进化算法能更快得到结果[12]。F Such等[13]用遗传算法去优化DNN,证明了简单的算法能在困难的深度学习问题上表现良好。
以上的研究均表明了进化神经网络能够发挥出不错的效果,但是在窑炉的热效率预测研究上没有发现使用进化神经网络的方法。因此本文提出了ES-LSTM模型,结合某企业玻璃窑炉生产过程中的实际数据建立预测模型,通过与LSTM和BP神经网络对比,来验证所设计的ES-LSTM预测模型的有效性、合理性。
传统的人工神经网络是通过正向传播,输出预测结果,预测结果与真实数据的比较,得出误差,并将误差进行反向传播,然后更新网络参数。进化神经网络没有使用梯度下降,避免了陷入局部最优的情况。采用进化的思想来更新神经网络参数,实现跳出局部最优。虽然使用梯度下降的方法的更新速度快,但是进化算法可以通过并行计算来让自己的训练速度大大提升。也有研究证明利用梯度和神经深化相结合,可以使上百层的深度神经网络进化[14]。Stanley KO 等[15]提出了一种NEAT算法,利用遗传算法和神经网络的结合,能够最大程度地克服神经网络陷入局部最小值的问题。本文采取的神经进化方式为:固定神经网络的结构不变,不断进化的方式来更新优化参数。每次变异的时候,都更新网络链接中的参数,从而改变神经网络的预测结果。在这个过程中,保留理想预测结果的网络参数,淘汰结果较差的。
在实际的生产过程中,由于设备长期处于高温状态,导致异常数据占有相当一部分的比例。为了让模型的预测精度更高,对实际的生产数据产生的异常进行预处理。除此之外,大型的马蹄焰玻璃窑炉设备生产过程产生的数据的特征维度特别高,有超过200维的数据。其中包含大量无关和冗余的数据特征,造成“维数灾难”和“过拟合”问题。这对构建算法模型来说,是一个很大的挑战,不仅降低了预测精准,而且还会增加运算的时间复杂度和空间复杂度。因此在训练模型前,先使用缺失值算法和特征工程对数据进行预处理。
1.1.1 缺失值算法
设有异常数据的序列A(a1,a2,a3,…,at),则:
式中:at为具体数据值;t为该序列的时间;Mavg为移动极差均值;aavg为数据均值;a1为下限值;ah为上限值。
当序列中的某个数值高于上限值ah或者低于下限值a1,则认为该数据是异常值,并把该值视为缺失值。对于出现缺失值的情况,采用均值与随机参数结合的方式填补。
式中:Xi为缺失值;随机参数ω∈{i 0.01~0.05}。
1.1.2 特征工程
利用特征工程可以降低特征维度,从而降低最终模型的复杂性,达到快速计算的目的。在得到一个更为简单的模型的同时预测准确性降低很小甚至不会降低。
PCA 通过降维技术把多个变量化为少数几个主成分,在维度减小的同时尽量的保存大部分信息。首先数据进行归一化处理,数据集里各个属性的单位不同,PCA 降维需要将属性的量纲去掉才能使用。而归一化能解决这个问题。特征工程的步骤如下:
(1)对数据集进行归一化。
Z-score归一化公式:
式中:k为样本原始数据;u为样本均值;σ为样本标准差;k′为归一化后的样本数据。
(2)假设有样本K′的数量是n 个,且每个样本里有p 个特征,则样本K′用矩阵表示为:
(3)计算出K′的协方差矩阵C,以及C的特征值λ。根据特征值来确定主成分j的值:
其中当η取0.95 的时候,认为j 个主成分包含了原矩阵绝大部分信息。
(4)使用最大的j 个特征值λ对应的特征向量,组成特征向量矩阵。并将样本数据投影到特征向量矩阵上,从而得到降维后的数据。
进化算法里常用的有遗传算法、进化策略、遗传规划和进化规划4种方法。在本文中,应用进化策略可以不进行基因编码,节省了编码解码的时间,适用于连续优化问题,因此更适合神经网络参数的进化。进化策略的简单描述如下:
(1)首先,定义群体里个体的基因的形式,每一个实数值对应神经网络的参数。
(2)对父辈的基因X 进行变异,具体是通过加入一个随机生成的噪点和变异强度来产生后代X′,并将后代和父辈放入同一种群内。
式中:N为随机生成的噪点;σ为变异强度。
(3)通过适应度函数来计算种群里每一个个体的适应度f,并按照适应度大小来排序。该序列中适应度更优的个体可以在下一代进化中成为父辈。
式中:f 为适应度,y^ 为模型的预测值;y 为实际值;yˉ为均值。
(4)不断的产生新的后代以及计算适应度,直到找到符合条件的后代或者进化到计划的n代后停止训练。
在进化的过程中,很可能最优的个体丢失了,导致群体无法向好的方向进化[16]。在原有的ES 模型上,对进化的过程提出改进方案。用以加快寻找最优的后代。优化方案如下:
(1) 初始数量为n 的种群p1,p2,p3,…,pn,产生出n 个后代k1,k2,k3,…,kn。
(2) 计算后代k与父辈p的基因的变异差距d,距离大的认为是变异程度大的后代。
式中:p为父辈的基因型;k为后代的基因型。
(3)对种群中变异程度大的后代k,给予新颖性奖励。
(4)新颖性奖励为对该部分变异大的后代的适应度进行提高。
(5) 最后把父辈的个体与后代的个体放入同一群体里。进行物竞天择,保留适应度最高的n个个体作为下一代进化种群的父辈。
LSTM如图1所示,作为RNN的变体模型,具有独特的设计结构。在某一时刻t,其隐藏层ht的输入不仅包含了当前的输入xt,还有t-1时刻的信息ht-1,所以t-1时刻对t时刻的输出产生了影响。除此之外t 时刻的输出对t+1 时刻的隐藏层也会产生影响,通过这种循环影响机制,LSTM可以有效地解决长期依赖问题。因此能够解决长序列训练过程中的梯度消失和梯度爆炸问题。
图1 LSTM网络结构图
每一个递归神经网络均是由重复的模块链组合,其中每一个模块称为Cell。为了实现记忆功能,LSTM构造了是遗忘门、输入门、输出门。
假设输入的序列为(x1,x2,x3,…,xt),隐藏层信息为(h1,h2,h3,…,ht),则在t时刻下有以下表达:
式中:it为输入门;为候选状态;ft为遗忘门;ot为输出门;Ct为Cell的状态(长期记忆);ht为隐藏层状态;⊗为矩阵点乘;Xt为输入值;b 为各层的偏差值;W 为连接权重;σ为Sigmoid函数。
实验过程使用Python 3.6作为编程语言,实验环境为Windows10 操作系统,LSTM 模型使用TensorFlow 1.140。 ES-LSTM模型构建流程如下。
(1)从能源管理系统里获取窑炉设备的运行参数。对窑炉高温的工作环境下出现的异常数据进行预处理,降低对训练模型的干扰。然后通过主成分分析对数据降维,以提升模型训练的速度。
(2)随机生成2n个不同基因组成的群体,其中每个个体的基因为初代LSTM 网络参数的权值。对每一个个体进行适应度评估,并按大小排序,得出最优的前n个个体。
(3)适应度最优的精英个体保留添加到精英库里。把最优的n个个体进行变异操作,产生新的n个后代,最后总共得到2n个个体的新种群。
(4)不断重复第二步和第三步,不断更新参数的权值,一直寻找最优表现的LSTM网络个体。不断进化,从精英库里挑出最优的个体作为预测模型。
(5)采用RMSE 和MAE 进行评估判断,这两个评估值越小,说明模型的泛化能力就越强。
图2 基于ES-LSTM 的热效率预测模型流程图
式中:ARMSE为RMSE 的评估值;AMAE为MAE 的评估值;yi为窑炉的实际热效率值;y^i为模型的预测值。
进化神经网络ES-LSTM模型的构建流程图如图2所示。
数据来自于某玻璃厂2018年10月至2019年5月总计8个月的实际能耗统计数据。该玻璃厂的opc 采集程序约150 s 采集一次数据,每小时汇总数据一次。每日汇总的热效率值可以表明该设备的当日能源利用率。通过数据预处理后得到5 780条数据,其中4 046条数据作为训练样本,剩余的1 374条数据作为测试样本,用于检验训练好的模型的精度。
本文训练ES-LSTM模型的时候,利用ES 算法对LSTM 进行优化。根据种群进化的过程中的适应度评估,不断地动态调整LSTM 的链接参数。整个过程,种群的适应度随着变异不断的变化,有的变异利于预测,则适应度高,反之则低。如图3所示,在进化的过程中,后代的表现不断往优秀个体的方向靠拢。并且进化的代数越大,就越有可能找到更优的个体。在ES 算法对LSTM 模型进行的训练过程中,ES 作为一种全局搜索优化算法,它能够避开局部极值点,在进化过程中不需要计算梯度。如果存在局部最优,那么ES会比传统的梯度下降表现更好,从而可以得到预测精度更高的LSTM模型。
通过对ES-LSTM,LSTM,BP三个模型对比实验,得到3组预测值,并将模型预测值分别与实际数据进行误差计算得出实验结果。部分实验结果如表1 所示。根据表中的数据显示,ES-LSTM预测的值相对误差均小于传统的LSTM算法和BP算法的预测值。也就是说ES-LSTM的预测值更符合目标要求。
图3 适应度随着进化过程的变化曲线
表1 不同模型能耗预测结果比较
图4 所示为分别采用ES-LSTM 算法、LSTM 算法以及BP算法模型对马蹄窑玻璃窑炉热效率预测的曲线图。由图中的曲线可以看出,ES-LSTM与实际热效率值的拟合程度是最优的。因此可以提出一个初步结论,ES-LSTM 作为LSTM 的改进版本,在训练过程中进行全局搜索,从而提高了模型对热效率值预测的准确性。
图4 不同模型预测结果对比曲线
为了进一步详细比较3个模型的性能,表2所示为3种模型的RMSE和MAE对比。其中ES-LSTM的RMSE和MAE均为3 个模型中最小,这说明了ES-LSTM 模型的预测准确性是最高的。
表2 模型评估值对比
针对马蹄焰玻璃窑炉的热效率问题,本文提出了一种进化神经网络ES-LSTM算法,进一步提升了玻璃生产厂家热效率预测的精度。对缺失和错误的数据进行修复,并使用主成分分析降低维度,从而尽可能地提高算法模型的预测精度上限。结合厂家的实际热效率数据,对模型进行验证分析,实验证明使用进化算法来训练神经网络是可行的,而且能提升模型的预测准确性。通过ES-LSTM 算法模型,玻璃厂家可以得到更准确的热效率预测值,从而制定更合理的能源管理方案。