长期以来,煤矿瓦斯灾害防治是高瓦斯煤矿安全生产管理的重要任务,瓦斯浓度预测对煤矿安全生产管理有重要意义。然而目前煤矿瓦斯灾害预防主要以监测为主,很难通过多个影响因素的线性关系对瓦斯变化趋势进行描述和预测。而瓦斯浓度数据在时间上具有天然的连续性,因此,笔者采用循环神经网络(Recurrent Neural Network,以下简称RNN)对基于时间序列的瓦斯浓度数据变化趋势进行预测分析,通过对模型参数的不断调优,实现瓦斯浓度的精准预测,为煤矿安全管理人员提供辅助支持。
针对瓦斯浓度预测问题,国内外专家和学者做了大量的研究工作。围绕SVM(支持向量机),魏林等[1]利用经验模态分解算法(EMD)与最小二乘支持向量(LSSVM)相结合的方法;安藏鹏等[2]采用改进后的最小支持向量机(LS-SVM)和基于径向基函数(RBF)的神经网络进行预测;钱建生等[3]建立了深度学习网络与粒子群优化SVM神经网络耦合的算法模型;刘俊娥等[4]运用SVM进行回归预测并采用粒子群(PSO)选取最佳的核函数参数g和惩罚因子c。此外一些学者利用神经网络做了其他的研究;姚青华等[5]提出了一种基于改进BP神经网络的矿井瓦斯浓度预测算法;耿越[6]在混沌分析的基础上结合人工神经网络技术建立了CT-PSO-RBFNN预测模型;龚星宇等[7]采用独立成分分析(ICA)和k-最近邻(KNN)法的反向传播人工神经网络(BP-ANN)相结合的方法进行预测。另外一些专家如韩婷婷等[8]用马尔科夫模型对三阶灰色神经网络模型预测结果进行修正,杨丽等[9]从岭估计及局部二次近似迭代算法实现预测。以上方法在预测精准度上都有较大的提高,但是在数据样本的选择上数据量样本偏小且时间跨度短,在预测大量瓦斯浓度变化时具有一定的局限性。
近年来随着大数据时代的到来和人工智能技术的发展,深度学习在许多领域都取得了很好的成绩,其中具有代表性的如RNN,其在网络社交应用[10-13]、视频处理[14]、机械工程[15]、环保[16]、能源[17]、动态分析[18]、语音识别[19-20]等方面都有新的突破。结合RNN适合于处理和预测时间序列中有间隔和延迟数据的特点,笔者提出了一种基于RNN的瓦斯浓度预测模型,期望在保证预测精度的前提下提高预测模型的稳定性和鲁棒性。
传统的神经网络模型是从输入层到隐含层再到输出层,层与层之间是全连接且每层之间的节点是无连接。因此,普通的神经网络在解决时间序列问题上具有一定的局限性。循环神经网络则弥补了传统神经网络的不足之处,其结构如图1所示。
X—输入层的值;S—隐藏层的值;U—输入层到隐藏层的权重 矩阵;O—输出层的值;V—隐藏层到输出层的权重矩阵; W—隐藏层上一次的值作为这一次的输入的权重
图1 RNN结构图
Fig.1 RNN structure diagram
RNN运行公式为
(1)
式中:t为时刻;g为激活函数;f为自定义函数。
Adam(A Method for Stochastic Optimization) 是一种可以替代传统随机梯度下降过程的一阶优化算法,基于训练数据不断迭代更新神经网络的权重。Adam结合了AdaGrad 和 RMSProp 算法优越的性能,通过设定参数就可以解决绝大部分疏落梯度和噪声问题。其在Keras框架中的参数为:lr=0.001,β1=0.9, β2=0.999, ε=1×10-8,其中:lr为学习效率;β1和β2分别为一阶与二阶矩估计的指数衰减率;g为下降梯度;ε为防止计算中除以零的极小数。算法更新如下。
一阶矩估计与二阶矩估计:
mt=β1mt-1+g(1-β1)
(2)
vt=β2vt-1+g2(1-β2)
(3)
一阶矩估计偏差修正与二阶矩估计偏差修正:
(4)
(5)
参数更新:
(6)
式中:t为时刻;mt和vt分别为一阶矩估计与二阶矩估计,初始值均为和分别为一阶矩估计偏差修正与二阶矩估计偏差修正;θt为更新的参数。
RNN瓦斯浓度预测模型主要分4个步骤:数据采集、数据预处理、数据分析与建模、模型调优。笔者选取了某煤矿2018年7月1日到2018年11月2日的瓦斯监测数据作为试验样本,该数据包括抽采浓度、混合流量、累计抽采日流量、纯量、上隅角瓦斯浓度、回风流瓦斯浓度、工作面瓦斯浓度、工作面风量、温度、抽采负压,共计10 000条数据。其中数据预处理主要是针对数据进行清洗、数据缩放和划分;数据分析与建模则初步确定RNN预测模型的网络结构参数和相关函数,模型调优主要根据预测结果调节相关网络结构参数。图2为RNN瓦斯浓度预测模型流程。
图2 RNN预测模型流程
Fig.2 RNN prediction model flow chart
为确保预测结果的可靠性和真实性,本试验选取真实的煤矿瓦斯监测数据,首先针对原始数据中存在的异常值和缺失值等问题进行数据清洗,采用邻近均值法替代异常数据值,利用缺失值的前一个非空数值补全缺失值。其次针对数据中存在不同量纲数值的特点,采用MinMaxScala方法将数据缩放到[0,1],提高模型运行效率,其中MinMaxScala运行原理如公式(7)和(8)所示。
Xstd=[X-Xmin(axis=0)]/ [Xmax(axis=0)-Xmin(axis=0)]
(7)
Xscaled=Xstd(Max-Min)+Min
(8)
其中:Xstd将X归一化到[0,1];Xmin(axis=0)、Xmax(axis=0)为列最小值、最大值;Max、Min为MinMaxScaler的参数feature_range参数范围,即最终结果的范围。最后将处理好的数据划分为训练集、测试集、回溯集和验证集,其中训练集和测试集用于模型的训练和测试,回溯集是用于预测下一时间段的先前时间序列,验证集用于验证模型预测结果。
结合RNN适合于处理和预测时间序列中有间隔和延迟数据的特性,提出RNN瓦斯浓度预测模型。首先采用常用的激活函数Relu来提高运行深度并减少梯度下降,初始化权重采用均值为0的高斯随机分布初始化权重,采用向量式的编码方式对输出层进行编码;其次根据宽泛策略初步搭建一个简单结构,确定网络结构中隐藏层的数目和每层中的神经元数量;然后随机给定其他超参数一个可能值,调整学习效率到一个合适的阈值,取阈值的一半作为初始值;最终确定合适的步长得到RNN预测模型。最后得到RNN预测模型的网络结构参数为:激活函数为Relu,损失函数为mean_square_error,神经元数量为128,迭代次数为25次。
由于步长的设置决定了模型可利用时间序列数据间的关联信息,影响模型的运行时间和精准度;网络层数是模型的学习能力,影响预测结果的精准度;激励函数和迭代次数影响模型的收敛效果等。本试验以MSE和运行时间为评价指标,采用Adam优化器优化模型权重,选取Relu为激活函数,隐藏层中加入Dropout层,通过不断调节步长、网络层数等参数,最终得到最优的RNN瓦斯预测模型。其中损失函数选择为MSE(mean square error)运行公式,如公式(9)所示:
(9)
其中:fi为预测值;yi为真实值。
以训练完成的RNN瓦斯浓度预测优化模型为基础,调节相应的预测步长,以预测值与验证集之间的误差、误差波动范围为评判指标,选取预测误差小、误差波动低的预测步长,最终获取满足精度要求的预测长度。
3.1.1 步长优化
步长主要用于梯度下降算法中表示模型可利用时间序列数据间的关联信息。因此本试验以宽泛策略为原则,设定步长为50、100和200,分别对比不同步长下的训练误差和运行时间,运行效果如图3和表1所示。
图3 步长误差对比
Fig.3 Comparison error of batch size
表1 不同参数下的拟合效果对比
Table 1 Fitting effects comparison with different parameters
步长运行时间/sMSE隐藏层数运行时间/sMSE502 0580.02512 6120.0091001 3350.021213 7540.0032008210.022373 6600.011
图3中步长为50和100时模型预测误差大致相同,但相比于步长为200时,步长为50和100时,在迭代次数为5~25次时波动性更小,收敛效果更佳。表1中步长为100时的运行时间虽不是最短的,但误差是最小的。综合考虑步长为100时效果最佳。在合理的范围内增大步长可有效提高内存利用率和精准度,当步长增大到一定程度后,梯度下降的方向基本不变,模型的预测精度和误差将不再提高。其原因为:数值较大的步长收敛速度较快,但易陷入局部最优;数值较小的步长引入的随机性更大,预测效果较好但收敛速度较慢,步长过小时会导致损失曲线震荡不收敛。
3.1.2 网络层数优化
网络层数指隐藏层的网络结构层数,一般情况增加隐藏层可降低预测误差并提高精度,同时模型的复杂程度更高,提高了模型的训练时间和过拟合现象。因此本试验以宽泛策略为原则,从一层RNN网络结构开始逐渐增加,分别对比不同网络层数下的误差和运行时间,运行效果如图4和表1所示。
图4 网络层数误差对比
Fig.4 Comparison error of network layer
图4中网络层数为1层时,收敛速度偏快,易损失爆炸;网络层数为2和3时,在收敛速度和收敛程度上大致相同,在训练次数为40~50,3层RNN结构的损失曲线震荡严重。表1中RNN为2层时,耗时虽不是最短,但训练误差是最小的,为0.003。综合考虑网络层数为2层RNN时效果最佳。其原因是随着网络层数的增加,模型的学习能力增强的同时模型的复杂性也增强,相应地导致模型的过度拟合,同时模型运行成本变大。
双向RNN由2个叠加的独立RNN单元组成,输出结果由2个RNN的状态决定。BP神经网络是一种多层的前反馈神经网络,信号向前传播而误差反向传播。为验证RNN预测模型的适用性和实用性,本训练模型对比了双向RNN瓦斯浓度预测模型和BP瓦斯浓度预测模型的训练效果。训练拟合误差如图5所示,预测结果拟合效果如图6所示,运行结果对比见表2。
图5 3种模型误差对比
Fig.5 Comparison error of three models
图6 3种模型预测结果对比
Fig.6 Comparison of prediction results of three models
图5中显示BP神经网络的训练误差在前5次过程中收敛过快,同时在5次过后loss函数的最终收敛程度较低;双向循环神经网络loss函数变换趋势和RNN网络虽然大致相同,但是双向循环神经网络模型过于复杂导致训练成本过高;相反RNN网络则收敛速度最佳,且在训练过程中的损失曲线能够平稳地收敛到最低程度,RNN网络的损失曲线可降低到0.003,且耗时更短,RNN预测模型误差可降到0.006(表2)。相比BP神经网络和双向循环神经网络,RNN预测模型耗时更少且拟合误差更低,其原因为:较BP网络层与层之间全连接、节点无连接的结构,RNN结构通过连接各节点不断更新输入权重,更适合处理时间序列上连续相关的瓦斯浓度时间序列,且预测精度更高;双向循环神经网络的双层叠加的RNN结构虽然可以充分利用输入信息的关联性,但是由于网络参数过多、模型复杂导致模型过拟合、难以收敛,RNN可通过不断更新输入信息的权重,收敛速度快且运行时间短。
表2 3种模型预测及拟合误差对比
Table 2 Comparison of three model predictions and fitting errors
模型运行时间/s训练MSE最大预测误差最小预测误差平均预测误差反向传播神经网络17 1600.0870.0520.0020.015循环神经网络13 7540.0030.0240.0010.006双向循环神经网络68 4800.0170.0330.0040.020
基于3种训练后的瓦斯浓度预测模型,其预测结果如图6所示。其中BP神经网络预测模型和双向循环神经网络预测模型的预测结果误差较大,分别为0.087和0.017。RNN预测模型整体预测误差可降到0.003,特别是在瓦斯浓度变化的时间拐点处,具有更高的精确度;RNN预测模型的预测误差波动更小,波动范围在0.001~0.024,具有更高的稳定性和鲁棒性。
1)RNN瓦斯浓度预测模型在搭建过程中,选取合理的网络结构参数对提高预测精度、减少运行时间有着显著的提高。本试验以宽泛策略为原则,在确定网络结构的基本参数后,调节对RNN预测模型影响较大的参数步长和网络层数,最终选取步长为100、隐藏层为2层RNN为优化模型的最终参数。
2)相比BP神经网络预测模型和双向循环神经网络预测模型,RNN预测模型预测效果更佳,训练误差可降到0.003,预测误差可降到0.006,预测平均绝对误差波动范围在0.001~0.024,具有更高的准确度和鲁棒性。
3)循环神经网络RNN具有反馈结构,其输入不仅与当前输入和网络权重有关,而且与前一时刻的输入有关,适合处理连续的时间序列。研究证明,RNN预测模型可有效预测下一时间段瓦斯浓度,为煤矿安全管理提供一定的参考意见。
[1] 魏 林,白天亮,付 华,等.基于EMD-LSSVM的瓦斯浓度动态预测模型[J].安全与环境学报,2016,16(2):119-123.
WEI Lin,BAI Tianliang, FU Hua,et al. Dynamic prediction model of gas concentration based on EMD-LSSVM[J].Journal of Safety and Environment,2016,16(2):119-123.
[2] 安葳鹏,孙 贝.基于分态的煤矿瓦斯浓度预测模型的研究[J].计算机工程与应用,2014,50(20):233-238,243.
AN Weipeng, SUN Bei. Research on prediction model of coal mine gas concentration based on dislocation[J].Computer Engineering and Applications, 2014,50(20):233-238,243.
[3] 钱建生,邱春荣,李紫阳,等.深度学习耦合粒子群优化SVM的瓦斯浓度预测[J].煤矿安全,2016,47(11):173-176.
QIAN Jiansheng, QIU Chunrong, LI Ziyang,et al. Prediction of gas concentration in SVM based on deep learning coupled particle swarm optimization[J]. Safety in Coal Mines,2016,47(11):173-176.
[4] 刘俊娥,杨晓帆,郭章林.基于FIG-SVM的煤矿瓦斯浓度预测[J].中国安全科学学报,2013,23(2):80-84.
LIU June, YANG Xiaofan, GUO Zhanglin. Prediction of coal mine gas concentration based on
Fig-SVM[J]. Chinese Journal of Safety Science, 2013, 23(2):80-84.
[5] 姚青华,邱本花.基于改进BP神经网络的矿井瓦斯浓度预测算法[J].煤炭技术,2017,36(5):182-184.
YAO Qinghua, QIU Benhua. Mine gas concentration prediction algorithm based on improved BP neural network[J].Coal Technology, 2017, 36(5):182-184.
[6] 耿 越.基于混沌粒子群神经网络的瓦斯浓度预测[J].中国煤炭,2017,43(3):124-129.
GENG Yue. Gas concentration prediction based on chaotic particle swarm neural network[J].China Coal,2017,43(3):124-129.
[7] 龚星宇,常心坦,贾澎涛.独立成分分析在瓦斯浓度预测中的应用研究[J].工矿自动化,2015,41(4):82-86.
GONG Xingyu, CHANG Xintan, JIA Pengtao. Application of independent component analysis in gas concentration prediction[J].Industrial and Mining Automation, 2015, 41(4):82-86.
[8] 韩婷婷,吴世跃,王鹏军.基于马尔科夫残差修正的瓦斯浓度预测[J].工矿自动化,2014,40(3):28-31.
HAN Tingting,WU Shiyue,WANG Pengjun. Prediction of gas concentration based on markov residual correction[J].Industrial and Mining Automation,2014, 40(3):28-31.
[9] 杨 丽,刘 晖,毛善君,等.基于多元分布滞后模型的瓦斯浓度动态预测[J].中国矿业大学学报,2016,45(3):455-461.
YANG Li, LIU Hui, MAO Shanjun,et al. Dynamic prediction of gas concentration based on multivariate distribution hysteresis model[J]. Journal of China University of Mining & Technology, 2016, 45(3):455-461.
[10] 石 磊,杜军平,梁美玉.基于RNN和主题模型的社交网络突发话题发现[J].通信学报,2018,39(4):189-198.
SHI Lei,DU Junping,LIANG Meiyu.Discovery of social network burst topics based on RNN and topic model[J].Journal on Communications,2018,39 (4):189-198.
[11] 郝志峰,黄 浩,蔡瑞初,等.基于多特征融合与双向RNN的细粒度意见分析[J].计算机工程,2018,44(7):199-204,211.
HAO Zhifeng, HUANG Hao, CAI Ruichu,et al.Fine-grained opinion analysis based on multi-feature fusion and bidirectional RNN[J].Computer Engineering, 2018, 44(7):199-204,211.
[12] 笱程成,秦宇君,田 甜,等.一种基于RNN的社交消息爆发预测模型[J].软件学报,2017,28(11):3030-3042.
GOU Chengcheng, QIN Yujun, TIAN Tian,et al.A social message burst prediction model based on RNN[J].Journal of Software,2017,28(11):3030-3042.
[13] ZHANG Yangsen, JIANG Yuru, TONG Yixuan.Study of sentiment classification for Chinese microblog based on recurrent neural network[J]. Chinese Journal of Electronics, 2016,25(4):601-607.
[14] HUANG Xuan, ZHANG Rong, PANG Jianxin.A RNN-based objective video quality measurement[J]. Chinese Optics Letters,2009,7(11):1004-1006.
[15] 于建均,吴鹏申.基于RNN的机械臂任务模仿系统[J].北京工业大学学报,2018,44(11):1401-1408.
YU Jianjun,WU Pengshen.RNN-based robotic arm task imitation system[J].Journal of Beijing Polytechnic University,2018,44(11):1401-1408.
[16] 范竣翔,李 琦,朱亚杰,等.基于RNN的空气污染时空预报模型研究[J].测绘科学,2017,42(7):76-83,120.
FAN Yuxiang, LI Qi, ZHU Yajie,et al.Study on time and space prediction model of air pollution based on RNN[J].Science and Mapping Science,2017,42(7):76-83,120.
[17] 周洪煜,曾济贫,王照阳,等.基于混沌DNA遗传算法与PSO组合优化的RNN短期风电功率预测[J].电力系统保护与控制,2013,41(2):144-149.
ZHOU Hongyu,ZENG Jipin,WANG Zhaoyang,et al.Short-term wind power prediction based on chaotic DNA genetic algorithm and PSO combination optimization[J].Power System Protection and Control, 2013,41(2):144-149.
[18] QIAO Chen,LIANG Dong,SUN Kefen.Dynamics analysis for generic projection continuous-Time RNNs with bounded matrices[J]. Journal of Systems Science & Complexity, 2015,28(4):799-812.
[19] 张 宇,张鹏远,颜永红.基于注意力LSTM和多任务学习的远场语音识别[J].清华大学学报:自然科学版,2018,58(3):249-253.
ZHANG Yu,ZHANG Pengyuan,YAN Yonghong. Far-field speech recognition based on attention LSTM and multi-task learning[J].Journal of Tsinghua University:Science and Technology,2018,58(3):249-253.
[20] 邓 航. 建筑施工高处坠落事故分析及预防对策[J]. 工业安全与环保, 2010,36(4):57-59.
DENG Hang.Analysis and countermeasures about falling of architecture construction[J].Industrial Safety and Environmental Protection,2010,36(4):57-59.