一种基于BP神经网络模型的冲蚀失效定量预测方法与流程

文档序号:15558860发布日期:2018-09-29 01:46阅读:315来源:国知局

本发明涉及一种冲蚀失效定量预测系统。特别是涉及一种基于bp神经网络模型的冲蚀失效定量预测方法。



背景技术:

在石油化工、煤化工、核电工程等流程型工业中,冲蚀是广泛存在的造成设备失效的腐蚀类型之一。现有研究表明:冲蚀机理十分复杂,失效形式多样,冲蚀是材料受流体冲刷和流体介质腐蚀共同耦合作用的结果,不仅和介质组成、温度、相变模块相关,而且和设备管道材质、流体流动特性等密切相关,冲蚀破坏具有明显的局部性、突发性和风险性,是影响设备寿命和安全生产的关键因素之一。

bp(backpropagation)神经网络是一种模拟大脑信息处理算法的非线性方法,具有强大的分布式信息储存、并行处理和自适应学习能力等特点。bp神经网络由于结构简单、精度较高、易于编程、可操作性强、非线性映射能力强等优点。

按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一,bp网络能学习和贮存大量的输入—输出模式的映射关系,而无需事前揭示描述这种映射关系的数学方程。相对于之前建立的由固化机理出发建立的理论数学模型及由实验出发建立的数学回归模型,拟合的结果与实际的结果差别往往更小。

典型的bp神经网络为3层结构,可以实现任意从输入到输出的非线性模拟,网络拓扑结构较简单。为提高神经网络模型的预测精度,通过matlab的工具箱函数构建了双隐层bp网络模型。

本发明所提供的一种基于bp神经网络的模型的冲蚀失效定量预测方法针对腐蚀性流体介质造成的冲蚀破坏情况,结合bp神经网络结构的数学建模开展流体管道失效的定量预测是解决目前管道系统失效的有效途径,具有特别重要的现实意义和可观的经济价值。



技术实现要素:

本发明所要解决的技术问题是,提供一种基于bp神经网络模型的冲蚀失效定量预测方法。

本发明所采用的技术方案是:一种基于bp神经网络模型的冲蚀失效定量预测方法,包括如下步骤:

1)建立bp神经网络模型,所述bp神经网络模型:包含1个输入层,2个隐含层和1个输出层;具体bp神经网络模型如下:

(1)输入层:x1,x2,x3,x4,x5,分别对应于归一化处理后的nh4hs浓度、氯离子含量、温度、h2s分压和剪切应力;

(2)第一隐含层输出计算公式:

其中:i为第一个隐含层的人工神经元编号;x=[x1,...,x5],分别为nh4hs浓度、氯离子含量、温度、h2s分压和剪切应力5种工况参数;ai代表第一个隐含层中,第i个人工神经元的输出;w1ij代表第一个隐含层中,第i个人工神经元与第j个输入层人工神经元的权值,b1i代表第一个隐含层中第i个人工神经元的阈值;代表对j从1到5进行求和操作;f1代表第一个隐含层的传输函数,这里选用logsig函数:

(3)第二隐含层的输出计算公式:

其中:m为第二个隐含层的人工神经元编号;ai代表第一个隐含层中,第i个人工神经元的输出;sm代表第二个隐含层中第m个人工神经元的输出;w2mi代表第二个隐含层中的第m个人工神经元与第一个隐含层中,第j个人工神经元的权值;b2m代表第二个隐含层中第m个人工神经元的阈值;代表对i=1到4进行求和操作;f2代表第二隐含层的激励函数,这里选用tansig函数:

(4)输出层的输出计算公式:

其中:k为输出层人工神经元的编号;sm代表第二个隐含层中第j个人工神经元的输出;y代表整个bp神经网络模型最终的输出,即腐蚀率;w3km代表输出层中第k个人工神经元与第二个隐含层中第j个人工神经元相连接的权值;代表对j从1到10进行求和操作;b3k代表输出层中第k个人工神经元的阈值;

2)数据采集和处理:

基于冲刷腐蚀机理分析,得到影响材料冲蚀速率的重要参数,建立参数样本数据库;

3)bp神经网络模型训练:

4)bp神经网络模型预测

当取得与参数样本数据库中都不同的5种工况参数的样本时,按照步骤1)第(2)、(3)和(4)步的顺序计算第一个隐含层、第二个隐含层和输出层神经元的输出值,计算得到的输出值,即为5种工况参数下的腐蚀率。

步骤1)所述的bp神经网络模型中共有85个模型参数,包括:

所述的输入层共有5个人工神经元,表示输入bp神经网络的5个归一化处理后的参数样本;

第一个所述的隐含层包含4个人工神经元,每个人工神经元都有与输入层的5个人工神经元相连的权值和1个自带的阈值;

第二个所述的隐含层包含10个人工神经元,每个人工神经元都有与第一个隐含层的4个人工神经元相连的权值和1个自带的阈值;

所述的输出层包含1个人工神经元,其中每个人工神经元都有与第二个隐含层的10个人工神经元相连的权值和1个自带的阈值。

步骤3)包括:

(1)初始化步骤,设置整个bp神经网络模型所需要的85个模型参数为[-1,1]对称区间内的随机数;

(2)设定当前为第n=0步;

(3)设定bp神经网络模型训练的最大迭代次数为500次,给定bp神经网络模型的目标误差为0.00001,这里的目标误差为均方差,均方差的计算方法如下式:

其中:yq代表第q个数据样本的腐蚀率,代表对i从1到训练样本的个数进行求和;

(4)从参数样本数据库中提取全部的样本,记为为未经处理的5种工况参数:nh4hs浓度、氯离子含量、温度、h2s分压和剪切应力,y为腐蚀率;

利用归一化公式:

中最小的值,中最大的值;x为归一化处理后的工况参数,选取归一化样本中的80%为训练样本,其余20%为测试样本;

(5)按照步骤1)中第(2)、(3)和(4)步公式顺序计算第一个隐含层、第二个隐含层和输出层神经元的输出值;

(6)根据第(3)步中均方差的计算公式计算误差,得到均方差;

(7)根据误差反向传播算法,调整输入层至第1个隐含层的连接权值,第1个隐含层至第2个隐含层的连接权值,第2个隐含层至输出层的连接权值,及除输入层外,每个人工神经元的阈值,共85个bp神经网络模型参数;

(8)令n=n+1,返回第(3)步,直至满足第(3)步中设置的bp神经网络模型训练的最大迭代次数为止;

(9)bp神经网络模型训练结束;

(10)将测试样本按照步骤1)中第(2)、(3)和(4)步公式顺序计算第一个隐含层、第二个隐含层和输出层神经元的输出值;

(11)第(3)步中均方差的计算公式计算误差,得到均方差;

(12)重复第(1)到第(11)步,重新训练9次bp神经网络模型,并得到对应的训练误差和测试误差;

(13)比较10个训练好的bp神经网络模型的训练误差和测试误差,取训练误差和测试误差都最小的bp神经网络模型;当训练误差和测试误差在10个训练好的bp神经网络模型上不能同时取最小时,取测试误差最小的bp神经网络模型;通过记录下训练好的bp神经网络模型中层与层相连接的权值和除输入层外,每个人工神经元阈值结果来反映出材料腐蚀速率的重要参数变量的综合相关性。

本发明的一种基于bp神经网络模型的冲蚀失效定量预测方法,针对腐蚀性流体介质造成的冲蚀破坏情况,结合bp神经网络结构的数学建模开展流体管道失效的定量预测是解决目前管道系统失效的有效途径,提供一种能够解决传统预测模型问题的方法,可准确、快速的预测材料的冲蚀速率。具有特别重要的现实意义和可观的经济价值。本发明的有益效果:

1)建立的神经网络模型在输入几个工业上及api标准普遍承认的影响参数后,能够快速定量预测相关材料的腐蚀速率。

2)使用简单的编程语言即可实现,避免大量复杂的工作。

3)相对于3层神经网络的模型,本发明提出的4层神经网络模型更加逼近了样本的内在规律,具有更好的预测精度。

4)具有较强的市场推广力,应用前景广阔。

5)能够对数据进行有效管理,实现数据的即时存储、查询及传输。

附图说明

图1是bp神经网络结构层状图;

图2是本发明的基于bp神经网络模型的冲蚀失效定量预测方法的系统结构图。

具体实施方式

下面结合实施例和附图对本发明的一种基于bp神经网络模型的冲蚀失效定量预测方法做出详细说明。

本发明的一种基于bp神经网络模型的冲蚀失效定量预测方法,避免目前通过建立数学模型来确定影响因素对由冲蚀引起的材料腐蚀的固化表达方式造成的缺陷,并在传统bp神经网络预测模型的基础上,建立双隐层bp网络模型,分别对隐含层不同节点数进行训练,根据训练模块中的学习率、收敛速度及预测误差变化,最终确定两个隐含层的神经元数。

如图2所示,本发明的一种基于bp神经网络模型的冲蚀失效定量预测方法,包括如下步骤:

1)建立bp神经网络模型

bp神经网络模型是由多层人工神经元相关连接组成,是一个多输入,多输出的信息处理单元,其中,当单个人工神经元的加权值输入总和超过阈值θi时,人工神经单元就有输出。典型的bp网络为3层结构,可任意实现从输入到输出的非线性模拟,网络拓扑结构较简单,为提高神经网络的预测精度。本发明构建了双隐层bp神经网络模型,设计模型的期望预测值为材料的腐蚀速率,因此输出层的节点数(人工神经元数量)设置为1个,隐含层节点数通过多次人工调试得到。将第1隐含层和第2隐含层的节点数从3递增到15,分别对神经网络进行尝试训练,根据训练模块中学习率(每次迭代学习中,权重的改变率)、收敛速度及预测误差变化,最终确定输入层人工神经元个数为5,两个隐含层神经元数分别为4和10,输出层人工神经元个数为1,即5-4-10-1bp神经网络模型。第一个隐层的激励函数为logsig,第二个隐层的激励函数为tansig函数,输出层采用线性函数,即不采用非线性变换。

如图1所示,本发明所述的bp神经网络模型:包含1个输入层,2个隐含层和1个输出层;所述的bp神经网络模型中共有85个模型参数,包括:

所述的输入层共有5个人工神经元,表示输入bp神经网络的5个归一化处理后的参数样本;

第一个所述的隐含层包含4个人工神经元,每个人工神经元都有与输入层的5个人工神经元相连的权值和1个自带的阈值;

第二个所述的隐含层包含10个人工神经元,每个人工神经元都有与第一个隐含层的4个人工神经元相连的权值和1个自带的阈值;

所述的输出层包含1个人工神经元,其中每个人工神经元都有与第二个隐含层的10个人工神经元相连的权值和1个自带的阈值;

具体bp神经网络模型如下:

(1)输入层:x1,x2,x3,x4,x5,分别对应于归一化处理后的nh4hs浓度、氯离子含量、温度、h2s分压和剪切应力;

(2)第一隐含层输出计算公式:

其中:i为第一个隐含层的人工神经元编号;x=[x1,...,x5],分别为nh4hs浓度、氯离子含量、温度、h2s分压和剪切应力5种工况参数;ai代表第一个隐含层中,第i个人工神经元的输出;w1ij代表第一个隐含层中,第i个人工神经元与第j个输入层人工神经元的权值,b1i代表第一个隐含层中第i个人工神经元的阈值;代表对j从1到5进行求和操作;f1代表第一个隐含层的传输函数,这里选用logsig函数:

(3)第二隐含层的输出计算公式:

其中:m为第二个隐含层的人工神经元编号;ai代表第一个隐含层中,第i个人工神经元的输出;sm代表第二个隐含层中第m个人工神经元的输出;w2mi代表第二个隐含层中的第m个人工神经元与第一个隐含层中,第j个人工神经元的权值;b2m代表第二个隐含层中第m个人工神经元的阈值;代表对i=1到4进行求和操作;f2代表第二隐含层的激励函数,这里选用tansig函数:

(4)输出层的输出计算公式:

其中:k为输出层人工神经元的编号;sm代表第二个隐含层中第j个人工神经元的输出;y代表整个bp神经网络模型最终的输出,即腐蚀率;w3km代表输出层中第k个人工神经元与第二个隐含层中第j个人工神经元相连接的权值;代表对j从1到10进行求和操作;b3k代表输出层中第k个人工神经元的阈值;

2)数据采集和处理:

基于冲刷腐蚀机理分析,挖掘影响材料冲蚀速率的重要参数,得到影响材料冲蚀速率的重要参数,建立参数样本数据库;

3)bp神经网络模型训练

随机从样本数据库中随机选取部分样本,将其分为训练样本与非训练样本,设定其最大迭代次数为500次,给定目标均方差为0.00001,对训练样本的bp神经网络进行多次训练,当达到目标误差或最大迭代次数时停止训练。依据训练结果对非训练样本进行预测,得到bp神经网络模型的精度判据,并对其后续数据实现精确预测,获得材料冲蚀速率的预测结果。

具体包括:

(1)初始化步骤,设置整个bp神经网络模型所需要的85个模型参数为[-1,1]对称区间内的随机数;

(2)设定当前为第n=0步;

(3)设定bp神经网络模型训练的最大迭代次数为500次,给定bp神经网络模型的目标误差为0.00001,这里的目标误差为均方差,均方差的计算方法如下式:

其中:yq代表第q个数据样本的腐蚀率,代表对i从1到训练样本的个数进行求和;

(4)从参数样本数据库中提取全部的样本,记为为未经处理的5种工况参数:nh4hs浓度、氯离子含量、温度、h2s分压和剪切应力,y为腐蚀率;

利用归一化公式:

中最小的值,中最大的值;x为归一化处理后的工况参数,选取归一化样本中的80%为训练样本,其余20%为测试样本;

(5)按照步骤1)中第(2)、(3)和(4)步公式顺序计算第一个隐含层、第二个隐含层和输出层神经元的输出值;

(6)根据第(3)步中均方差的计算公式计算误差,得到均方差;

(7)根据误差反向传播算法,调整输入层至第1个隐含层的连接权值,第1个隐含层至第2个隐含层的连接权值,第2个隐含层至输出层的连接权值,及除输入层外,每个人工神经元的阈值,共85个bp神经网络模型参数;

(8)令n=n+1,返回第(3)步,直至满足第(3)步中设置的bp神经网络模型训练的最大迭代次数为止;

(9)bp神经网络模型训练结束;

(10)将测试样本按照步骤1)中第(2)、(3)和(4)步公式顺序计算第一个隐含层、第二个隐含层和输出层神经元的输出值;

(11)第(3)步中均方差的计算公式计算误差,得到均方差;

(12)重复第(1)到第(11)步,重新训练9次bp神经网络模型,并得到对应的训练误差和测试误差;

(13)比较10个训练好的bp神经网络模型的训练误差和测试误差,取训练误差和测试误差都最小的bp神经网络模型;当训练误差和测试误差在10个训练好的bp神经网络模型上不能同时取最小时,取测试误差最小的bp神经网络模型;通过记录下训练好的bp神经网络模型中层与层相连接的权值和除输入层外,每个人工神经元阈值结果来反映出材料腐蚀速率的重要参数变量的综合相关性。

4)bp神经网络模型预测

当取得与参数样本数据库中都不同的5种工况参数的样本时,按照步骤1)第(2)、(3)和(4)步的顺序计算第一个隐含层、第二个隐含层和输出层神经元的输出值,计算得到的输出值,即为5种工况参数下的腐蚀率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1