岳 宏 张晓航 赵康军 徐凯宏
(1.中国电子科技集团公司第四十九研究所,哈尔滨 150028;2.东北林业大学信息与计算机工程学院,哈尔滨 150040;3.临沭县工业和信息化局,山东 临沭 276700)
磺化反应釜的温度控制系统不仅可以保证生产安全,还可以提升生产效率、节省物料以节约成本。由于反应釜的自身温度检测具有较强的滞后性、非线性等特征,现实中对磺化反应釜的温度监控时效性不能得到保证,因此近年来反应釜的温度控制与预测一直是我国现代制造技术的重点与难点[1-4]。传统PID控制器非常依赖比例参数的设定,在线性时定常控制系统中具有灵活稳定和安全易操作等优点。但对不满足线性时变的磺化反应釜控制器难以进行精准的温度调控[5-7]。目前许多学者采用神经网络进行温度预测,主要集中在风力发电机、车辆轴承温度和航空发动机尾气等领域[8-11]。该文基于磺化反应釜温度控制系统自身特点,提出了一种利用长短期记忆网络(Long-short Term Memory,LSTM)预测磺化反应釜温度的方法。
磺化反应有甲苯与硫酸参与,反应时放出大量热,容易产生温度异常和爆炸危险,具体原因如下。①参与反应的甲苯等材料具有爆炸危险; ②浓硫酸溶于水会大量释放热能;③没有按照规定顺序投放反应原料、投放速度不均、没有充分搅拌和没有达到冷却效果等,能是造成反应釜内温度异常升高的原因,引起反应原料燃烧,引起燃爆事故;工艺的成熟程度也决定着反应釜温度的稳定性。不同阶段的物料反应需要不同的温度适配,因此需要控制系统对温度的精准预测保证不同反应之间的平稳衔接以及系统稳定[12]。
作为磺化反应容器,反应釜内部结构主要包括夹套、导热、搅拌、冷却及封轴等。搅拌和加热是反应釜降低温度的最有效方式。通过盘管、热油、搅拌或者电热的方式可进行加热,冷却降温可通过盘管、夹套和搅拌等方式实现。
传统RNN神经网络基于有序的序列进行学习,当前时刻的判断是基于历史信息决定的。由于RNN循环神经网络处理大量数据时会出现梯度消失和梯度爆炸现象,导致不能记忆久远的信息[13-16]。为了解决RNN循环神经网络存在的问题,Sepp Hochreiter和Jurgen Schmidhuber两人于1997年初次提出了LSTM循环神经网络。LSTM在传统RNN循环神经网络结构上针对隐藏层细胞结构进行了较为复杂的性能提升。相比普通RNN,LSTM多了输入门、遗忘门和输出门3个门限控制器,正是此机制使LSTM循环神经网络获得了更长久的记忆能力,如图1所示。
图1 LSTM细胞结构图
LSTM的前一时刻短期记忆ht-1和当前时刻的输入特征xt经过遗忘门ft、输入门(更新门)it、输出门ot后,再通过Sigmoid激活函数进行归一化。ct′为当前输入的单元状态。具体表达式如下。
ft=σ(Wfxxt+Wfxht-1+bf)
(1)
式中Wfx为矩阵遗忘门Wf关于前一时刻短期记忆ht-1和当前时刻的输入特征xt的遗忘门分支,bf为遗忘门偏置。
it=σ(Wixxt+Wixht-1+bi)
(2)
式中Wix为矩阵输入门Wi关于前一时刻短期记忆ht-1和当前时刻的输入特征xt的输入门分支,bi为输入门偏置。
ct′=htan(Wcxxt+Wchht-1+bc)
(3)
式中Wcx为当前单元状态Wc关于前一时刻短期记忆ht-1和当前时刻的输入特征xt的当前单元状态分支,bc为当前单元状态偏置,htan是双曲正切运算。
ot=σ(Woxxt+Wohht-1+bo)
(4)
式中Wfx为矩阵输出门Wf关于前一时刻短期记忆ht-1和当前时刻的输入特征xt的输出门分支,bo为输出门偏置。
多层LSTM循环神经网络是由多层LSTM单元堆叠而成,可以对数据进行充分的信息提取,相较于单层LSTM循环神经网络对于解决预测和分类问题拥有更高准确度。该文提出的基于LSTM的磺化反应釜温度预测神经网络模型,如图2所示。由1个输入层,5个LSTM层、3个防止过拟合(Dropout)层和1个输出层组成。一次训练的样本个数(batch_size)设置为32,窗口长度设置为100,激活函数选用‘Sigmoid’。在模型迭代更新方面,采用Adam(adaptive moment estimation)优化算法代替传统的随机梯度下降算法,有效降低了模型的损失函数,最终完成训练。为保证模型输出结果维度与实际输入维度一致,在LSTM循环神经网络之后的输出层为全连接层。
图2 基于LSTM的磺化反应釜温度预测模型
损失函数由均方误差(Mean Square Error)表示,其公式为:
(5)
式中,其中yi为一个数据包(batch)中第i个数据的真实值,而yi′为LSTM循环神经网络的预测值。
由于目前缺少实际数据样本,为验证该文算法的可考性,该文参考文献[10]采用Max Planck Institute for Biogeochemistryd的大气温度数据作为SEM温度模拟数据源的方法,这里采用1750年至今全球地表气温变化数据[17]作为磺化反应釜温度模拟数据源,该模拟数据源共包括3 180组数据。
磺化反应釜内部温度区间为20~80 ℃,对温度的模拟数据应整体大致分布在20~80 ℃之间,见表1。
磺化反应釜温度预测算法的具体可分为4个步骤,加载数据集、数据归一化、模型训练和评估模型,如图3所示。
(1)加载数据集。将1750年至今全球地表气温变化数据储存为.csv文件。选取前2 880组样本数据作为训练集,后300组样本数据作为测试集,并读取数据集。
表1 模拟温度数据源变换表Table 1 Analog temperature data source transformation
图3 磺化反应釜温度预测算法实现流程图
(2)数据归一化。使输入的数据分布在0~1之间,归一化有助于提高神经网络模型学习效率。
(3)模型训练。通过Pycharm平台和Tensorflow构建LSTM循环神经网络模型,向构建好的神经网络模型送入训练集数据和测试集。可以观察到如图4所示损失函数逐渐减小。
(4)评估模型。选取平均绝对误差、均方误差和均方根误差作为评估指标,并绘制损失函数曲线与预测数据曲线,评价LSTM循环神经网络是否满足预期要求。
基于以上设置对磺化反应釜进行温度预测实验,为验证该文方法的优越性,利用相同数据集采取RNN温度预测模型作为对比实验,均通过python实现。
(a) LSTM模型损失函数
(b) RNN模型损失函数
(a) LSTM温度预测曲线
(b) RNN温度预测曲线
由图4可以看出LSTM循环神经网络模型的训练损失函数相比于RNN循环模型更早趋于平稳,预测损失函数更小且更稳定。由图5可以看出LSTM循环神经网络模型的预测温度曲线与真实温度曲线更加接近。表2为LSTM模型与RNN模型的评测指标对比。
表2 两种预测模型结果对比Table 2 Comparison of the results of two prediction models
可以看出该文提出的基于LSTM的磺化反应釜温度预测模型相比于RNN模型误差小且拟合能力更好,学习速度快,吻合度高。因此,LSTM循环神经网络模型预测效果好于RNN模型,更适合作为磺化反应釜的温度预测模型。
该文提出了一种基于LSTM循环神经网络的磺化反应釜温度预测方法,提高了磺化反应釜温度预测的准确性。以1750年至今全球地表气温变化数据为例,该文方法与RNN模型预测方法进行性能对比,结果表明:该文提出的基于LSTM循环神经网络的温度预测方法预测准确度更高,运行更加稳定。该方法也适用于其他类型化学反应釜的温度及反应釜内其他数据的预测,为化工厂的安全稳定运行提供了保障。