APP下载

基于BP神经网络的瓦斯隧道突出预测系统开发研究

2014-05-30霍晓龙陈寿根谭信荣邱成虎

铁道标准设计 2014年5期
关键词:危险性瓦斯神经网络

霍晓龙,陈寿根,谭信荣,邱成虎

(西南交通大学交通隧道工程教育部重点实验室,成都 610031)

1 概述

随着我国交通行业的发展,穿越煤系地层的隧道越来越多,遇到有突出风险和威胁的煤层也越来越多,如都汶高速紫坪铺隧道、南昆线家竹箐隧道等,如果在穿煤前没对瓦斯突出进行有效的预测,就有可能发生严重的安全事故[1]。因此,前期的瓦斯突出预测是后期安全施工的基础和关键。近些年来,国内外瓦斯突出预测常用的方法有单项指标法、地质统计资料法、综合指标法[2]、模糊综合评价法、回归分析法和灰色系统法等,而这些方法都存在局限性和操作性差的特点,预测结果的可靠性、准确性和实效性也不能满足瓦斯隧道施工的需要。

由于引起瓦斯突出的因素很多,而且影响瓦斯突出的因素多数是定性的或是模糊相似的,各影响因素间又呈现复杂的非线性关系,难以用经典的数学理论建立精确的预测模型。BP神经网络具有高度的非线性、自学习、自组织和对输入数据的鲁棒特性、冗余容错特性,擅长处理输入与输出存在复杂的多元非线性关系的问题[3]。因此,本文借助了人工神经网络原理,基于BP神经网络建立了隧道瓦斯突出预测模型,利用Matlab引擎技术,在C#.NET中实现对Matlab神经网络工具箱的调用,并且借助SQL Server和ASP.NET技术,在C#环境下开发出突出预测系统(B/S模式)。该系统以兰渝铁路肖家梁隧道为例,进行瓦斯突出预测分析,确定该系统简单易行,为瓦斯隧道突出预测提供参考依据。

2 BP神经网络简介

神经网络的全称是人工神经网络,是基于对人脑组织结构、活动机制的初步认识提出的一种新型信息处理体系。它的优点在于能把大量的神经元连成一个复杂的网络系统,将现有的数据信息经过一系列的数学转化,运用程序设计的非线性关系对未知的样本数据进行分析并预测,通过模拟人的思维模式去解决一些用传统方法很难解决的问题,具有一定的智能化,尤其是对那些复杂而繁多的数据及数据间的复杂关系进行处理具有很好的效果。

BP神经网络属于多层前馈神经网络,是目前应用最广泛的一种神经网络[4]。网络模型一般由输入层、隐含层和输出层构成,其中隐含层可以有多个。BP神经网络的学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出不符,则转入误差的反向传播阶段。误差的反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,并以此作为修正各单元权值的依据。通过正向传播和反向传播的不断迭代,不断调整其权值,最后使信号误差达到可接受的程度或者达到预先设置的学习次数为止[5]。

3 突出预测模型的建立

对于多层神经网络来说,Hecht-Nielsen已经证明,任何闭区间内的一个连续函数,可以用一个隐含层网络来逼近,因而在BP神经网络模型中,输入节点和输出节点的多少根据问题的性质来确定,隐含层数与隐含层节点的选取显得更为重要,只要隐含层节点数足够,只含一个隐含层的神经网络模型,就可以以任意精度逼近一个非线性函数[6]。用于瓦斯突出预测的BP网络由输入层、隐含层及输出层等3层构成。

(1)输入层。输入层可以由多个节点组成。由于瓦斯突出本身是一个复杂的动力现象,影响因素很多,神经网络预测相比其他预测法来说,考虑的因素多是其优点之一,但过多的输入参数只会使网络收敛速度下降。通过大量的现场实际统计资料和相关文献,分析了瓦斯突出的主要影响因素,本文选取埋深、地质构造、钻探动力现象、瓦斯压力、钻孔瓦斯涌出初速度、瓦斯放散初速度、煤层坚固系数和煤体结构类型等8项指标作为突出预测的输入向量[7]。

(2)隐含层。隐含层的节点数n作为一个变量,在无数次循环训练中,选取测试误差最先达到限值(<0.1)的一次,此时的隐含层节点数作为最佳节点数被保存下来。像这样在训练网络时,决定隐含层选多少个节点数其识别效果最好,这对构建最优神经网络有很大的作用。

(3)输出层。由3个节点组成,其作用是给出瓦斯突出3种确定性的预测结果,即突出危险区(001)、突出威胁区(010)及无突出危险区(100)[8],从而实现瓦斯隧道突出预测。

隧道埋深是从地应力因素评定突出危险性的指标,埋深越大,地应力越大,突出危险性就越大。在地质构造带,常造成应力集中,瓦斯含量高,突出危险大;另一方面,地质构造越复杂,则其中的岩体和煤体结构也越复杂,越容易引起突出。对于钻探动力现象,危险性较小的煤层,钻探时较为平稳,没有动力现象出现;反之,随着开挖工作面突出危险性加大,钻探时会出现垮孔、夹钻、甚至喷孔,严重者还伴随有劈裂声、雷声等。瓦斯压力是指煤孔隙中所含游离瓦斯的气体压力,即气体作用于孔隙壁的压力;在煤与瓦斯突出发生过程中,瓦斯压力起着重大作用,它为突出提供了一定的动力来源,它们之间关系比较复杂,一般来说,瓦斯压力越大突出危险性越大[9]。钻孔瓦斯涌出初速度是目前突出危险性预测最常用的指标,其实测值越大,突出危险性就越大。瓦斯放散初速度是煤体在0.1 MPa压力吸附瓦斯的条件下,向一固定体积的真空时间放散时,放散后1 min内瓦斯压力的变化值;在瓦斯含量相同的条件下,煤的放散初速度越大,煤的破坏类型越严重,越容易促成突出的发生。煤层坚固系数表示煤抵抗外力能力的一个综合指标,它由煤的强度、硬度、脆性决定;煤作为突出的受力体,坚固系数越小,破碎就越容易,突出危险性就越大。煤体结构是指煤层各组成部分的颗粒大小、形态特征及其相互关系;依据不同的特征,可将煤结构进行分类,危险程度由Ⅰ级向Ⅲ级依次增加。

将输入层所选指标进行量化,首先分别用H表示埋深、D表示地质构造、Z表示钻探动力现象、P表示瓦斯压力、qm表示钻孔瓦斯涌出初速度、ΔP表示瓦斯放散初速度、f表示坚固系数、M表示煤体结构类型;然后根据其大小和程度进行数据量化。本文收集12个国内外瓦斯突出隧道的数据作为样本集,其中前8个作为训练样本,后4个作为测试样本。如表1所示。

表1 训练样本和测试样本

4 煤与瓦斯突出预测系统的开发

4.1 系统开发方法

Matlab是一款具有极其强大的矩阵计算以及仿真能力的科学及工程计算软件。其平台上有专门针对神经网络计算的神经网络工具箱,内含大量可用于设计神经网络的工具函数,而且Matlab代码非常简单、易懂、易学,可以大大缩短软件开发周期。.NET是微软公司推出的一种面向网络、支持各种终端的开发平台环境。利用.NET开发的系统具有界面友好、执行速度快、易维护和升级等优点[10]。但在工程计算方面,.NET跟Matlab相比编程则显得复杂很多。如果能将两种软件优点结合起来,必将提高软件开发效率,使其具有更高的性能和更大的应用范围。为此本文采用针对.NET平台专门设计的、语法简单、完全面向对象的C#语言,在.NET中实现对Matlab神经网络工具箱的调用。

实现C#和Matlab混合编程的关键是找到两者之间合适的接口办法,使C#方便高效地调用Matlab的功能并传送和接收数据,同时能够在不进行修改或很小修改的情况下充分利用已有的Matlab资源。C#.NET与Matlab接口方法主要有4种,但支持.NET调用Matlab神经网络工具箱的,只有Matlab引擎技术是可行的。其调用过程如图1所示。

图1 C#.NET调用Matlab神经网络工具箱过程

当Matlab软件在计算机上正确安装后,Matlab计算引擎Active X组件将自动在系统注册。在.NET开发环境下使用Matlab计算引擎,首先添加COM引用“Matlab Application(Version 7.0)Type Library”。完成了Matlab计算引擎组件的引用后,就可以在程序中实例化引擎对象,然后使用其提供的接口进行编程。引擎对象提供的最常见的接口有3个:Execute,Put-FullMatrix和GetFullMatrix。它们分别是实现运行脚本,向Matlab Server中添加矩阵和从Matlab Server中读取矩阵功能[11]。

充分考虑系统的灵活性、开放性、易维护、易使用以及易推广等因素,本系统采用了B/S模式,客户端无需安装软件,只需点开IE浏览器上网即可访问服务器终端,完成瓦斯隧道突出预测的功能。选择了国际成熟先进的.NET平台作为研发基础,利用SQL Server提供数据库服务,开发语言主要为 Visual C#、ASP语言。

4.2 系统介绍

瓦斯隧道突出预测系统主要由以下几部分构成:样本编辑模块,神经网络训练模块,预测参数输入模块,突出预测模块,如图2、图3所示。

图2 样本编辑模块

图3 系统其他模块

用户通过“样本编辑模块”和“预测参数输入模块”与系统进行信息交互[12],之后这些样本和参数信息被保存在数据库中,可以通过“编辑”和“删除”命令进行数据更新。“神经网络训练模块”利用保存的训练样本建立神经网络模型,并对测试样本进行测试,当训练最先达到测试样本的误差限值(误差<0.1)时,循环训练完成,最后验证保存该神经网络模型,以用于后面的突出预测分析;训练成功后,在网络参数一栏中可以看到循环次数、最佳节点数和误差大小情况;验证保存网络一栏中可以通过点击“验证”按钮,验证后面用到的神经网络是否为之前保存的最优网络,当测试误差大小与之前误差相同时,说明验证成功,可以进行下一步操作。根据现场情况,通过“预测参数输入模块”输入突出隧道的参数,点击“添加”,即被保存在数据库中。“突出预测模块”中显示了之前预测完成和将要预测的数据,用户只需要点击预测,即可在“突出规模”一栏中看到预测结果,另外在“预测结果”中也会显示预测得到的结果。一般情况下,因为训练样本和测试样本是根据现场数据和文献参考得到的,并不会经常变动。在神经网络训练成功之后,一般只会用到网络参数输入模块和突出预测模块。

4.3 系统的应用

系统功能设计完成后要经过系统测试,用实例来不断完善系统功能。本文采用兰渝铁路LYS-10标段线下工程的重点单位工程-肖家梁隧道的典型突出测点,对系统的主要功能进行测试,检验系统能否达到设计目标要求。

训练样本和测试样本经过编辑后,点击“训练”按钮,跳出Matlab神经网络工具箱,如图4所示。当训练最先达到测试样本的误差限值(误差<0.1)时,循环训练完成。网络训练和测试误差曲线分别如图5、图6所示。页面网络参数显示:循环次数为3,最佳节点数为21,误差为0.063。点击“验证”按钮,跳出的误差曲线图没有改变,说明成功保存了最优网络,如果验证失败,说明系统出现问题,需要重新校核系统。接下来输入4组突出测点的隧道参数,“添加”成功后,进行突出预测分析。分别点击“点击预测!”按钮后,屏幕会显示“预测成功!”的对话框,之后在“突出规模”一栏分别显示“无突出危险”、“无突出危险”、“突出威胁区”、“无突出危险”,在“预测结果”一栏分别显示“1 3.52e-011 3.19e-014”、“0.997 9.75e-008 1.43e-020”、“3.65e-005 0.99991 4.15e-022”、“1 5.68e-011 2.81e-011”。从整个预测结果来看,突出规模大小与预测结果数据和施工中的实际情况都是一致的,预测误差相对很小。可见,该系统计算简单、预测精度高,同时极大减轻了突出预测的工作量。

图4 神经网络工具箱

图6 网络测试误差曲线

5 结论

(1)由于影响瓦斯隧道突出因素的复杂性,使用传统的预测方法很难准确地进行预测。使用BP神经网络建立瓦斯隧道突出的预测模型能够充分考虑各因素对突出危险性的影响,并且具有很强的非线性映射能力和一定的智能化。其不足之处在于其预测结果很大程度依赖于对已给的训练样本,随着训练样本的不断丰富,预测结果的准确性也会随之提高。

(2)该系统仅依靠过去典型样本数据,经过学习训练,就能快速有效地进行预测,可成为综合预测瓦斯隧道突出的新方法。该方法不仅能够极大地减轻了突出预测工作量,而且可以较大的提前突出预测的精度,具有一定的实用性和操作性,可以应用于瓦斯隧道突出预测。

[1]晏启祥,王璐石,段景川,等.煤系地层隧道施工瓦斯爆炸与采空区失稳的风险识别[J].铁道标准设计,2013(3):80-85.

[2]丁睿.瓦斯隧道建设关键技术[M].北京:人民交通出版社,2010.

[3]姜德义,蒋再文,章永武,等.模糊神经网络预测公路隧道揭煤突出危险性[J].重庆大学学报:自然科学版,2000,23(S):200-203.

[4]张建.基于模糊神经网络的客运专线车站选址决策研究[J].铁道标准设计,2009(12):12-17.

[5]李春辉.基于BP神经网络的煤与瓦斯突出危险性预测的研究[D].昆明:昆明理工大学,2010.

[6]梁盛开,曹琼,罗杨阳.煤矿瓦斯突出的神经网络预测[J].固体力学学报,2010,31:180-183.

[7]康小兵.隧道工程瓦斯灾害危险性评价体系研究[D].成都:成都理工大学,2009.

[8]杨艳春,赵玮烨.BP神经网络在煤与瓦斯突出预测的研究[J].兰州交通大学学报,2009,28(6):26-28.

[9]鱼海晔,张善稳.兰渝铁路图山寺隧道瓦斯探测预测技术[J].铁道标准设计,2012(12):78-80.

[10]赵士伟,赵明波,陈平.基于COM的Matlab与C#.NET混合编程的实现与应用[J].山东理工大学学报:自然科学版,2006,20(4):28-29.

[11]黄一丹,严洪森,冯丽娟,等.基于C#.NET与Matlab接口和BP网络的汽车产量预测[J].计算机技术与发展,2008,18(11):36-40.

[12]曲方,张龙,李迎业,等.基于BP神经网络的煤与瓦斯突出预测系统开发[J].中国安全科学学报,2012,22(1):11-16.

猜你喜欢

危险性瓦斯神经网络
O-3-氯-2-丙烯基羟胺热危险性及其淬灭研究
危险性感
输气站场危险性分析
基于AHP对电站锅炉进行危险性分析
神经网络抑制无线通信干扰探究
11采区永久避难硐室控制瓦斯涌出、防止瓦斯积聚和煤层自燃措施
基于神经网络的中小学生情感分析
高瓦斯矿井防治瓦斯异常涌出措施的应用
基于神经网络的拉矫机控制模型建立
煤与瓦斯突出防治技术途径探讨