郭 久 俊
(广东工业大学 广东 广州 510006)
硅材料是电子产业,太阳能光伏电池等产业的最重要的材料,从某种意义上来说,硅材料是影响国家未来在新能源领域的利益和地位的战略资源。以太阳能产业为例,多晶硅生产为该产业链中的关键,其能耗占整个产业链的35%左右,而多晶硅的生产过程中,还原炉的能耗占到了70%。多晶硅生产过程的能源是按需供给,如果出现能源泄露或者设备异常,会造成生产中断和能源浪费,影响企业的利益,甚至会造成安全事故,因此对于还原炉的能耗预测有很大的研究价值。
关于多晶硅生产过程中还原炉能耗的研究只是从技术上提高工艺水平,改进设备,并进行模拟仿真。聂陟枫[1]采用了计算流体力学和计算传热学方面比较权威和广泛应用的ANSYS Fluent软件对改良西门子法多晶硅还原过程的辐射传热过程进行模拟计算,对多晶硅生产的还原过程的降耗有一定的参考意义。李国栋等[2]利用Gibbs自由能最小原理,对SiHC13法生产电子级多晶硅的过程进行模拟,提出用Cl2部分氧化使体系能量耦合的新工艺,优化了操作参数,很大程度上降低了能耗。吕鹏飞等[3]也对SiHC13还原体系进行模拟分析。这些研究为三氯氢硅还原过程的优化和节能研究提供了参考。杨志国[4]通过对多晶硅还原工艺设计要点进行分析,阐述了多晶硅还原各生产操作单元的最优化的控制参数以及控制方式。同时还一并提出了利用多晶硅还原沉积反应多余的热能副产工业级饱和蒸汽,供给多晶硅生产装置的其他单元使用,最大限度地降低能耗的一种途径,减少生产成本。梁志武等[5]基于 Gibbs 最小自由能[6]原理,考虑到生产成本和副产物的处理,利用 Aspen Plus 软件中的Gibbs 反应器,对西门子法工艺中还原工序的反应条件及加入二氯二氢硅进行模拟优化,与传统工艺相比,提高了产率,降低了能耗。
基于前面的研究可知,尽管目前对多晶硅生产工艺中还原工序的节能优化的研究已取得一定的研究成果,但是国内外的学者大都从还原炉系统、化学、热力学等角度对还原工序的节能优化进行研究分析,而并没有从还原工序能耗预测的角度进行节能研究。由于多晶硅生产的影响因素不仅与相关的工艺参数有关,还与时间序列有关系,因此本文采用改进的长短期循环神经网络LSTM(Long Short-Term Memory)作为预测模型,LSTM模型不仅很大程度上改善了RNN的梯度消失和爆炸问题[7-8],而且在时间序列的研究领域取得了很大的进步。文献[9]基于LSTM的发电机组污染物排放预测研究取得了不错的效果,文献[10]基于LSTM-RNN模型预测铁水硅含量预测取得了不错的效果,文献[11]基于LSMT-GARCH混合模型来预测股票价格,但是目前尚未发现将LSTM用于多晶硅生产能耗预测研究。本文提出了LSTM-Adaboost模型,结合某企业还原工序的实际能耗数据建立预测模型,并完成了能耗预测。
首先要对能耗影响因素进行主成分分析,减少影响因素之间的多重共线问题,本文采用PCA降维技术进行主成分分析,其核心思想是在信息保存最完整的情况下对高维变量进行降维,即把输入的一组特征重新组合成新的无关的特征来代替原来的特征,经过PCA降维后,保留了大部分原来的信息,而且维度减少[12-13]。PCA主要步骤如下:
假设有n个样本,每个样本有m个特征,则原始数据用矩阵表示为:
(1)
(1) 当处理不同取值范围的特征值时,通常将数值归一化,消除因为数值差别过大带来的影响,将原始数据的矩阵形式X归一化,如下:
(2)
(2) 建立相关矩阵R,计算特征值和特征向量,即:
R=(X*)TX*/(n-1)
(3)
(3) 根据式(3)可求得矩阵R的特征值,并根据其特征值确定主成分的个数k:
(4)
式中:取η=0.9,则k个主成分中包含了绝大部分信息。
机器学习研究中的一个新的方向是深度学习,是一种建立、模拟人类思维,通过分析学习的神经网络,模仿人类大脑的机制来分析和解释数据。LSTM[14]是一种特殊的RNN网络[15-16],增加了长短记忆功能,即当前隐藏层的状态通过前一时刻的隐藏层的状态来更新,因而保持了模型的持久性。如图1所示,在某一时刻t,它的隐藏层ht的输入除了包含当前的输入xt之外,还有来自(t-1)时刻的信息ht-1,同理ht对(t+1)时刻的隐藏层产生影响,这是因为这种机制,LSTM可以有效的解决长期依赖问题。
图1 LSTM网络结构图
1.2.1 LSTM核心算法
在神经网络中,每一个递归神经网络中都有重复模块链。标准RNN网络中的结构很简单,其模块链只有一个tanh层。LSTM模型在RNN模型的基础上加入了“记忆细胞”,使得LSTM模型可以在很长的时间内存储访问信息,因而可以缓解梯度消失问题。LSTM模型包括三个门和一个记忆单元,如图2所示,分别是输入门、输出门、遗忘门和Cell。这三个门采用sigmoid函数来保证得到最佳参数。通过不同的函数来计算某一时刻隐藏层的状态。
图2 LSTM神经元结构
设输入的序列为(x1,x2,…,xt),隐藏层状态为(h1,h2,…,ht),则在t时刻有:
ft=f(Whfht-1+Wxfxt+bf)
(5)
it=f(Whiht-1+Wxixt+bi)
(6)
ot=f(Whoht-1+Wxoxt+bo)
(7)
ht=ot⊙tanh(ct)
(8)
ct=ft⊙ct-1+i⊙f(Whcht-1+Wxcxt+bc)
(9)
式中:it、ft、ot分别代表input门、forget门和output门,⊙表示矩阵点乘,ct代表cell单元的状态,xt表示输入层的输入向量,b表示各层的偏差向量,W代表对应的连接权重,f(*) 表示激活函数,有sigmoid和tanh两种激活函数。
进一步推广得到t时刻input门、forget门、output门的输入向量以及输出向量:
(10)
(11)
(12)
1.2.2 引入正则化项
正则化[17]项是一种惩罚函数,为了防止避免过拟合,对模型向量进行“惩罚”。正则化本质上是一种先验信息。比较常见的有L1、L2正则,当正则取不同的范数,模型则有不同的泛化能力,其中L1正则有助于生成一个稀疏的权值矩阵,L2正则会针对被估计的参数进行压缩,但是并不能将其压缩到零,因此不会产生稀疏的矩阵,可以防止过拟合。
本文引入L2正则,对LSTM网络中的权重进行正则化处理,提升模型的泛化能力。模型如下:
(13)
1.2.3Adaboost算法
Adaboost算法[18]通过综合多个弱预测算法来构建精度较高的强学习算法,从而提高泛化能力。Adaboost算法对于预测误差比较大的样本和预测性能好的预测器更加重视,并提高训练效果强的预测器的权重,此外,降低训练效果差的预测器的权重。算法初始化时,每个样本有相同的权重。具体步骤如下:
1) 初始化权值:
(14)
并训练弱预测器zt(x),其中Xt(i)表示在第t次迭代中样本的权重,n为样本总数。
2) 计算该预测器在样本下的误差:
(15)
3) 更新样本权重:
(16)
分类器权重:
Wt=ln(1/βt)
(17)
式中:βt=εt/(1-εt),Qt是归一化因子。
4) 重复迭代,直到迭代次数为M结束。
5) 得到强预测器:
(18)
本文将LSTM神经网络作为弱预测器,使用Adaboost算法对若预测器组合得到强预测器,并构建LSTM-Adaboost预测模型对还原炉能耗进行预测。
预测模型如图3所示,主要包括数据预处理和LSTM-Adabosst模型建立两个部分。
图3 主成分碎石图
实验使用Python 3.6编程语言,LSTM模型由Keras框架实现,实验环境为Linux。LSTM-Adaboost构建步骤如下:
1) 查阅相关资料分析还原炉工艺,通过PCA主成分分析,获得还原工序影响因素的主要因素,由图3可知,当主成分的个数为7时,η≥0.9。因此将这7个因素归一化后作为特征输入到预测模型。影响因素如下:生产周期、产品规格、气流速度、H2的摩尔分数、硅表面温度、还原尾气温度、还原炉年限等。
2) 确定输入层、输出层。X={xi|i=1,2,…,n},其中xi为多晶硅生产的能耗影响因素,输出为未来某一时间段的能耗预测值。
3) LSTM模型设置2层隐藏层,1层输入层,其中隐藏层每层有300个神经元,激活函数为tanh函数和sigmoid函数,初始学习率为1/1 000。
4) 根据损失函数获得输出误差,通过随机梯度下降法寻找最小值,结合Adaboost算法调节样本权重,并不断更新LSTM中的参数,直到收敛。
5) 得到LSTM强预测模型,完成预测。
6) 采用RMSE和MRE进行误差判定,RMSE的值越小说明模型的泛化能力越强。
(19)
LSTM-Adaboost模型的构建流程如图4所示。
图4 基于LSTM-Adaboost的能耗预测模型流程图
实验数据来源于某多晶硅企业的实际能耗数据,该企业opc采集程序每30 s采集一次数据,每日的能耗总和数据可以通过opc采集程序得知。本文从能耗样本中去除异常点后得到510组能耗数据,其中420组能耗数据作为训练样本,剩余的90组作为测试样本,用于验证模型的精度。部分能耗数据如表1所示。
表1 部分能耗数据
表2给出了部分的实验数据,以及不同对比模型的预测结果和误差。本文采用的对比模型为能耗预测中常用的BP模型和LSTM模型,通过表2可以看出,LSTM-Adaboost模型的预测误差均小于LSTM和BP网络的误差,结果更接近真实数据,相对误差较小。
表2 不同模型预测结果及误差比较
图5是分别采用BP模型、LSTM模型和提出的LSTM-Adaboost模型对还原工序能耗预测的曲线图。由图5可以看到,BP模型和LSTM模型对实际能耗曲线拟合得并不是很好,相反LSTM-Adaboost可以很好地拟合能耗变化曲线,实现准确预测。可以初步得出结论,改进的LSTM网络模型能有效降低误差,提高能耗预测的准确性。三种模型的预测结果对比如表3所示。
图5 预测结果对比图
模型RMSE平均误差LSTM-Adabooost3.851.39%LSTM模型11.562.67%BP模型26.525.53%
由表3可知,LSTM-Adaboost模型预测的平均误差为1.39%,低于LSTM模型和BP模型。为了进一步比较BP模型、LSTM模型、LSTM-Adaboost模型的效果,给出各个模型的误差曲线,如图 6所示。通过对比可以得出,LSTM-Adaboost模型预测值的误差均小于另外两种模型。通过分析可知,Adaboos算法对LSTM模型进行训练,得到了预测效果更好的预测器,一方面保留了LSTM模型的非线性映射和时间序列依赖的问题,另一方面Adaboost算法根据错误率来调节权值,增强了LSTM的泛化能力,提高了预测的准确率。
图6 误差对比图
针对多晶硅生产过程中还原工序能耗问题,本文首先通过PCA算法,根据多晶硅能耗数据的特性,对影响特征进行主成分分析,提取出要的影响因素。然后结合LSTM算法,提出了LSTM-Adaboost网络模型,提高了多经过生产过程中还原过程能耗预测的精度,并结合企业的能耗数据,对模型进行验证。实验结果表明,该模型有效降低了预测的误差。但是相较于另外两种模型,该模型的训练耗时较多。