基于LsTM的燃煤锅炉Nox排放预测研究
扫描二维码
随时随地手机看文章
引言
Nox是燃煤电站锅炉排放的主要污染物,Nox排放控制是锅炉运行中的重要挑战。目前,国内大多数大型燃煤电站锅炉均进行了低氮燃烧改造和尾部烟气脱硝改造。为了更好地满足日益严格的排放法规,实现对燃煤锅炉Nox排放的控制,需要对锅炉运行进行精确控制,因此要求准确获取锅炉在各种工况下的Nox排放情况。采用锅炉运行参数建立与污染物排放之间的关系模型,一方面可以作为备份技术,冗余监测,保证监测系统的运行,另一方面也可以和运行控制系统结合,优化锅炉的运行,达到进一步降低Nox排放的目的。
国内外研究学者大多采用传统的支持向量机和人工神经网络建立锅炉运行参数与Nox排放之间的关系模型。当锅炉处于变工况运行时,由于运行参数的变化不能很好地表达锅炉当前运行情况,算法难以准确预测污染物排放,因此需要对数据进行精细的预处理,获取锅炉稳定运行工况下的数据。
递归神经网络在图像识别、语音识别、机器翻译等领域的成功应用吸引了不少研究者的注意。RNN模型的隐层输出信息通过循环作为下一时刻隐层的输入信息,使其能很好地处理序列依赖问题。电站锅炉的运行数据是严格依赖时间序列的,其前面时刻的锅炉状态对后面时刻的锅炉状态有着重要影响,是RNN模型很好的处理对象。
本文采用一种长短时记忆递归神经网络,建立电站锅炉的Nox排放模型。
1LSTM算法简介
简单的递归神经网络与传统神经网络的不同之处在于递归神经网络的输入包含隐层输出的返回值:即上一时刻的隐层输出会与本时刻的输入值一起作为隐层输入。这种处理方式使得递归神经网络能够利用数据的历史信息,能很好地解决时序依赖问题。
具体而言,对于输入序列(x1,x2,…,xT),序列(h1,h2,…,hT)为隐层输出序列,则在l时刻有:
式中,xl为l时刻的输入向量:hl-1、hl分别为l-1时刻和l时刻隐层输出向量:Wih、Whh分别为输入层到隐层的权重矩阵和隐层自循环的权重矩阵:bi为输入层的偏置向量:φ为激活函数。
2基于LSTM的N0X排放预测模型
本文针对某660Mw机组锅炉的Nox排放进行研究。该锅炉由美国ABB-CE公司设计生产,炉膛尺寸为19558mm×16432.5mm。炉膛四周布置6层一次风喷口(A、B、C、D、E、F)和7层二次风喷口(AA、AB、BC、CD、DE、EF、FF),在顶层二次风上方紧接着布置两层紧凑燃尽风喷口(oA、oB),左右墙水平方向各布置4个分离燃尽风(soFA)喷口。sCR装置分成两部分布置在A、B两侧尾部烟道中,通过分别调节两侧的喷氨流量来控制sCR脱硝。
2.1数据说明
本文所用数据从电厂实时信息监控系统中采集,采集周期为1min,共10000条运行数据,覆盖了锅炉约7天的运行历史。所采集的参数包括与炉膛燃烧相关的所有主要参数:负荷、总燃料量、总风量、主汽温度、主汽压力、再热汽温度、给水温度、炉膛负压、燃烧器摆角、A/B侧炉膛与风箱差压、6台磨煤机的给煤量、6台磨煤机的出口风温、6台磨煤机的一次风量、6个周界风风门挡板开度、7个二次风风门挡板开度、2个CCoFA风门挡板开度、8个soFA风门挡板开度、2个sCR入口烟气氧浓度。为了使得到的模型能与sCR脱硝控制模块相结合,本文将两侧sCR入口烟气Nox浓度作为模型的输出。综上所述,模型的输入共有54个参数,输出有2个参数。
2.2参数选择
本文使用Google发布的TensorFlow深度学习系统来实现LsTM算法。模型训练采用常规的小批量梯度下降(mini-batchgradientdescent)算法,其初始学习率设为0.001,batch-size设为1000。
随着time-steps的增大,LsTM沿时间维度展开的层数增加,网络结构的复杂度和计算开销也同时增大。一个合适的time-steps能提高网络训练的精度并减小计算开销。同时,time-steps的大小应体现机组运行数据本身在时间上的关联性。当time-steps=30时,其训练精度最好,收敛的稳定性也较优:而当time-steps<30时,其训练精度略差,但收敛过程很稳定:当time-steps>30时,训练精度和收敛稳定性均有所恶化。当time-steps增大,LsTM沿时间展开的层数加深,网络结构变得复杂,网络训练更加困难。根据优化结果,time-steps选为30。
有研究表明,在采用小批量梯度下降算法时,每个批次所处理的样本数目大小对训练结果有着显著影响:当batch-size过大或采用full-sizelearning进行训练时,迭代训练容易落入局部最优解:相反,当batch-size过小或采用onlinelearning时,损失函数会在各个局部最优解之间来回震荡,训练过程收敛较慢,甚至不收敛。因此,对网络采用梯度下降算法进行训练时,需要仔细选择batch-Size的大小,获得一个较优的训练迭代过程。根据先前确定的LSTM展开时间步长,我们进行了batch-Size的寻优,即固定网络展开的时间步长为30,梯度下降算法的学习率选择为0.001。由寻优结果可以发现,随着batch-Size增大,RMSE收敛速度变慢,训练精度变差。
该寻优结果与期望有所出入,其原因可能在于RMSE计算方式。每次迭代的RMSE的计算过程为:从全体训练集中每次选取batch-Size大小的子集对网络进行训练更新,并计算其RMSE,当训练集中所有数据都进行一次训练后,计算各次网络更新时得到的RMSE均值,即为一次迭代对应的RMSE。这样的处理会使得每个batch-Size的RMSE之间的波动因为均值计算而削弱:另外,当进行1000次迭代时,对于batch-Size偏大的迭代过程,其网络权重更新的次数相对较少,造成RMSE最终收敛的结果偏大。以这种方式,随着batch-Size的减小,网络权重更新次数增多,计算的时间开销同时增大,在权衡计算时间开销和训练精度后,batch-Size确定为10。
梯度下降学习算法的学习率决定了网络权重每次更新的步长,是算法的核心参数,诸多梯度下降算法的变体均是着眼于学习率更新策略,采用合理的学习率更新策略以保证合理的迭代收敛过程。本文采用基本的梯度下降学习算法来更新网络权重,需要仔细选择学习率。在进行学习率选择时,将LSTM展开步长固定为30,梯度下降算法的batch-Size固定为10。随着1earning-rate的减小,RMSE收敛速度变慢,但收敛过程更加平滑,收敛的最终结果也更小,即更接近最优解。但是,当1earningrate过小时,训练的收敛速度变得格外慢,因此需要在精度与时间消耗之间权衡,达到较优的平衡。当1earning-rate=0.001时,其收敛速度与收敛精度都很优秀。
3结果分析与讨论
根据所确定的模型参数及学习算法参数,用训练集训练LSTM网络,用测试集进行测试。
训练集进行迭代训练的是损失函数收敛曲线,训练过程中损失函数收敛情况较好,模型能逐渐收敛到最优解。随着训练迭代次数的增大,损失函数的收敛速度逐渐减小,此时可以调整梯度下降算法的学习率,以加快收敛速度。
SCR两侧入口N0C浓度随时间分布如图1和图2所示,从图中可以看出,LSTM模型的预测值能紧跟实测值的变化,对锅炉在变工况运行时的预测也能保持极高的准确性,较大的预测误差出现在锅炉工况剧烈变化的时间点。
4结语
本文基于TenSorF1ow框架采用LSTM对某660Mw四角切圆电站燃煤锅炉的N0C排放进行建模,发现LSTM能很好地处理类似燃煤发电的连续过程工业的运行数据,在不经数据特征提取和数据稳态处理的情况下,能获得很好的预测能力和泛化能力:训练集数据的相对误差均小于5%,测试集数据分别有97.49%和97.22%样本的相对误差小于10%。LSTM也能极好地处理火电机组变工况情况下的N0C排放问题。