基于LSTM深度学习的岩石时效变形预测方法及其系统与流程

文档序号:22737295发布日期:2020-10-31 09:16阅读:172来源:国知局
基于LSTM深度学习的岩石时效变形预测方法及其系统与流程

本申请涉及一种基于lstm深度学习的岩石时效变形预测方法及其系统,属于岩土工程及地质灾害防治中的岩石时效变形预测方法领域。



背景技术:

岩石的流变特征实质就是其应力应变的时间效应。概况来说,流变研究主要包含蠕变、应力松弛、长期强度、弹性后效和滞后效应(黏滞效应)。岩石蠕变是指应力保持不变,变形随着时间增加的过程,因而与工程最密切相关,受到学者们的特别关注。

岩石的流变特征与岩石工程的长期稳定性和安全性密切相关,例如边坡工程、隧洞工程、核废料存储、水电工程、矿山工程等。现有岩石流变力学试验方法包含:室内流变试验和现场实测。

与现场实测相比,室内试验具有耗资相对较少、试验条件相对易于控制、可多次重复试验、易于长期观察、便于减少次要因素干扰等优点,因而成为研究岩石流变力学特征的主要手段。

现有岩石流变力学试验方法所需的成本高,效率低,浪费人力,并未对试验数据进行深入分析研究,造成了数据的浪费,而且试验的持续时间有限。实际程施工后,项目需长期使用,无法获取长期使用后的数据,不能满足实际工程对施工后使用情况分析的需要。



技术实现要素:

本申请提供了一种用于解决上述技术问题的基于lstm深度学习的岩石时效变形预测方法及其系统,该方法用于解决现有岩石流变力学试验方法中存在的数据分析不深入,仅进行简单处理;实验数据不能反映长期使用后的情况;成本高的技术问题。

本申请提供了一种基于lstm深度学习的岩石时效变形预测方法,包括以下步骤:

步骤s100:获取岩石时效变形的已有数据;

步骤s200:清洗已有数据后,进行数据集划分,得到训练集、验证集、测试集;

步骤s300:建立时序网络预测模型:采用sigmoid函数决定哪些特征信息需要被遗忘,构建lstm单元的遗忘门,构建lstm单元的输入门,构建lstm单元的输出门,得到lstm单元,通过lstm单元构建神经网络层,采用随机梯度下降法反向计算神经网络层,得到时序网络预测训练模型;

步骤s400:在时序网络预测训练模型中输入验证集和测试集,进行测试,得到测试结果,根据测试结果优化模型,提升优化模型的训练速度,并进行超参数调试,得到岩石时效变形预测模型;

步骤s500:在岩石时效变形预测模型中输入实测参数,得到岩石时效变形预测结果。

优选地,所述已有数据来源为:工程试验报告、现场监测、对实测流变曲线进行处理得到数据、自制试样进行室内流变试验获得数据中的至少一种。

优选地,所述步骤s200包括以下步骤:

步骤s210:逐一判断各已有数据是否存在缺失值,如果判断结果为是,则进行缺失值清洗;

所述缺失值清洗步骤包括以下步骤:

步骤s211:计算该已有数据每个字段的缺失值比例,判断该字段缺失值比例是否小于预设值,如果判断结果为否,则不去除该字段属性,得到缺失字段;如果判断结果为是,则继续判断该字段数据是否属于重要数据,如果属于则不去除该字段属性,得到第一保留字段,如果不属于,则去除该字段属性,得到第二保留字段;

步骤s212:填充第二保留字段中的缺失值,以同一指标的计算结果填充缺失值或以不同指标的计算结果填充缺失值;

步骤s213:判断各缺失字段是否属于重要数据,如果是,则重新获取缺失字段,得到第三保留字段,如果否,则去除该缺失字段;

步骤s220:对第一保留字段、第二保留字段和第三保留字段的格式及内容一致性进行分析,舍弃格式、内容不一致的数据,得到第一清洗数据;

步骤s230:对第一清洗数据进行逻辑错误清洗操作,得到第二清洗数据;

步骤s240:判断第二清洗数据中的数据是否属于需求数据,如果不是则删除,如果是则保留,得到总保留数据;

步骤s250:对总保留数据进行关联性验证,通过关联性验证的总保留数据为关联数据;

步骤s260:将关联字段划分为:训练集、验证集、测试集。

优选地,所述同一指标为第二保留字段中各数据的均值、中位数或众数中的任一种;

所述逻辑错误清洗操作包括:①去重;②去除不合理值;③修正矛盾内容。

优选地,所述构建的神经网络层数为2~4层。

优选地,所述步骤s400包括以下步骤:

步骤s410:在所述时序网络预测训练模型中输入验证集和测试集,进行测试,得到测试结果;

步骤s420:根据测试结果准确率,优化时序网络预测训练模型,得到优化模型;

步骤s430:提升优化模型的训练速度;

步骤s440:对步骤s430所得模型训练一段时间后进行超参数调试,得到岩石时效变形预测模型。

优选地,所述步骤s420包括以下步骤:

步骤s421:判断测试结果偏差值是否过高,如果判断结果为是,则调整时序网络预测训练模型的网络结构;

步骤s422;如果判断结果为否,则判断测试结果的方差是否过高,如果判断结果为是,则对时序网络预测训练模型进行正规化操作或调整验证集和测试集中的数据,如果判断结果为否,则进行步骤s430。

工作原理:本申请基于lstm大数据支持下的深度学习方法,提出了一种基于lstm深度学习的岩石时效变形预测方法;通过对岩石流变历史数据进行处理获得不同的输入特征值,如围压、渗压、轴向应变、环向应变、体积应变,以及岩石是否流变破坏,并将以上输入特征值作为添加数据标签,对各数据进行标记;将试验数据划分为训练集、验证集、测试集;训练集在lstm深度学习下进行梯度下降训练,获得训练模型;验证集、测试集在训练模型中运行获得准确率结果,通过对结果分析确定模型及数据集调整方向,经过不断调试获得准确率较高的监测模型,使得工程人员可以直接使用,并且获得很高的准确率以及便利性。

本申请的另一方面还提供了一种上述的基于lstm深度学习的岩石时效变形预测系统,包括:

数据获取模块,用于获取岩石时效变形的已有数据;

清洗数据模块,用于清洗已有数据后,进行数据集划分,得到训练集、验证集、测试集;

建立模型模块,用于采用sigmoid函数决定哪些特征信息需要被遗忘,构建lstm单元的遗忘门,构建lstm单元的输入门,构建lstm单元的输出门,得到lstm单元,通过lstm单元构建神经网络层,采用随机梯度下降法反向计算神经网络层,得到时序网络预测训练模型;

模型优化模块,用于在时序网络预测训练模型中输入验证集和测试集,进行测试,得到测试结果,根据测试结果优化模型,提升优化模型的训练速度,并进行超参数调试,得到岩石时效变形预测模型;

结果输出模块,用于在岩石时效变形预测模型中输入实测参数,得到岩石时效变形预测结果。

优选地,所述清洗数据模块包括:

缺失值判断模块,用于逐一判断各已有数据是否存在缺失值,如果判断结果为是,则进行缺失值清洗;

缺失值判断模块包括:

缺失值计算模块,用于计算该已有数据每个字段的缺失值比例,判断该字段缺失值比例是否小于预设值,如果判断结果为否,则不去除该字段属性,得到缺失字段;如果判断结果为是,则继续判断该字段数据是否属于重要数据,如果属于则不去除该字段属性,得到第一保留字段,如果不属于,则去除该字段属性,得到第二保留字段;

缺失值填充模块,用于填充第二保留字段中的缺失值,以同一指标的计算结果填充缺失值或以不同指标的计算结果填充缺失值;

重要数据判断模块,用于判断各缺失字段是否属于重要数据,如果是,则重新获取缺失字段,得到第三保留字段,如果否,则去除该缺失字段;

一致性模块,用于对第一保留字段、第二保留字段和第三保留字段的格式及内容一致性进行分析,舍弃格式、内容不一致的数据,得到第一清洗数据;

逻辑清洗模块,用于对第一清洗数据进行逻辑错误清洗操作,得到第二清洗数据;

二次清洗模块,用于判断第二清洗数据中的数据是否属于需求数据,如果不是则删除,如果是则保留,得到总保留数据;

关联性模块,用于对总保留数据进行关联性验证,通过关联性验证的总保留数据为关联数据;

划分模块,用于将关联字段划分为:训练集、验证集、测试集。

优选地,所述模型优化模块包括:

验证测试模块,用于在所述时序网络预测训练模型中输入验证集和测试集,进行测试,得到测试结果;

结果准确率优化模块,用于根据测试结果准确率,优化时序网络预测训练模型,得到优化模型;

训练速度优化模块,用于提升优化模型的训练速度;

超参调试模块,对训练速度优化模块所得模型训练一段时间后进行超参数调试,得到岩石时效变形预测模型。

本申请能产生的有益效果包括:

1)本申请所提供的基于lstm深度学习的岩石时效变形预测方法,通过对室内岩石流变试验等已有数据进行处理,进而实现对岩石时效变形结果的有效、准确预测。

2)本申请所提供的基于lstm深度学习的岩石时效变形预测方法,该预测方法通过使用迁移学习改变输出层,用以训练不同使用者的数据,从而实现对不同使用者的输入数据均能获得理想的效果。通过不断的向训练模型输入数据可以不断地改善模型的表现,采用该方法能保持不断的调整,使得模型一直保持最佳状态。

3)本申请所提供的基于lstm深度学习的岩石时效变形预测方法,通过建立时序网络预测模型,极大的提高了对于岩石时效变形预测的准确性,降低了岩石流变试验的经济成本和时间成本,结合迁移学习后可以大范围推广到其他工程流变特性的预测。

4)本申请所提供的基于lstm深度学习的岩石时效变形预测方法,有效的解决了现有岩石时效变形试验成本高,效率低,浪费人力,所得数据无法充分利用的问题,本申请所得模型可根据需要预测较长时间以后的结果,预测结果不受试验持续时间的影响,能更好地满足实际工程的需要。

附图说明

图1为本申请提供的基于lstm深度学习的岩石时效变形预测方法流程示意图;

图2为本申请提供的具体实施例中基于lstm深度学习的岩石时效变形预测方法流程示意图;

图3为分别采用本申请提供方法及实测方法对已有数据进行处理后所得预测曲线与实测曲线结果图;

图4为本申请提供的基于lstm深度学习的岩石时效变形预测系统模块连接结构示意图;

具体实施方式

下面结合实施例详述本申请,但本申请并不局限于这些实施例。

参见图1,本申请提供的基于lstm深度学习的岩石时效变形预测方法,包括以下步骤:

步骤s100:获取岩石时效变形的已有数据;

优选地,所述已有数据来源为:工程试验报告、现场监测、对实测流变曲线进行处理得到数据、自制试样进行室内流变试验获得数据中的至少一种。之后通过python程序传输获取的所有已有流变实验数据进行分析。本申请中已有数据是指,通过现有实验手段获得的流变数据。

步骤s200:清洗已有数据后,进行数据集划分,得到训练集、验证集、测试集;

步骤s300:建立时序网络预测模型:采用sigmoid函数决定哪些特征信息需要被遗忘,构建lstm单元的遗忘门,构建lstm单元的输入门,构建lstm单元的输出门,得到lstm单元,通过lstm单元构建神经网络层,采用随机梯度下降法反向计算神经网络层,得到时序网络预测训练模型;

步骤s400:在时序网络预测训练模型中输入验证集和测试集,进行测试,得到测试结果,根据测试结果优化模型,提升优化模型的训练速度,并进行超参数调试,得到岩石时效变形预测模型;

步骤s500:在岩石时效变形预测模型中输入实测参数,得到岩石时效变形预测结果。

如图2所示,该方法具体过程包括以下步骤:

步骤s100:获取岩石时效变形的已有数据;

优选地,步骤s200包括以下步骤:

步骤s210:逐一判断各已有数据是否存在缺失值,如果判断结果为是,则进行缺失值清洗;

所述缺失值清洗步骤包括以下步骤:

步骤s211:计算该已有数据每个字段的缺失值比例,判断该字段缺失值比例是否小于预设值,如果判断结果为否,则不去除该字段属性,得到缺失字段;如果判断结果为是,则继续判断该字段数据是否属于重要数据,如果属于则不去除该字段属性,得到第一保留字段,如果不属于,则去除该字段属性,得到第二保留字段;此步骤中预设值可以为研究所需时间间隔的数值。

此处的重要数据可根据已有数据来源对应的项目,同时结合流变数据获取要求进行筛选。此处计算缺失值比例的数据为存在缺失值的已有数据。

字段数据缺失值少,且重要性不高,说明舍弃该字段数据对已有数据深入分析结果整体影响不大,则可以选择去除该字段属性。

步骤s212:填充第二保留字段中的缺失值,以同一指标的计算结果填充缺失值或以不同指标的计算结果填充缺失值;

具体填充方式例如对于身份证号码,存在年龄字段缺失时,根据屏蔽后六位后余下的身份证号,可以得到年龄数据,以此进行数据填充;同理可以进行流变数据的处理。

优选地,所述同一指标为第二保留字段中各数据的均值、中位数或众数中的任一种。

步骤s213:判断各缺失字段是否属于重要数据,如果是,则重新获取缺失字段,得到第三保留字段,如果否,则去除该缺失字段;

对于属于重要数据的缺失数据,可以通过与取数人员或专业人员沟通或通过其他渠道,再次获取该数据。

步骤s220:对第一保留字段、第二保留字段和第三保留字段的格式及内容一致性进行分析,舍弃格式、内容不一致的数据,得到第一清洗数据;

根据数据来源不同,其格式内容一致性情况也不同,如果数据来源于系统日志,格式和内容方面相互矛盾的情况较少,与原数据的描述一致性较高;如果数据来源于人工收集或用户填报,则容易在格式和内容方面存在问题,如内容中有不该存在的字符或内容与该字段应有内容不符等,就需要进行格式内容清洗;通过步骤s220的数据清洗,能将内容存在问题的部分数据清洗,以提高后续分析所用数据的可靠性。

步骤s230:对第一清洗数据进行逻辑错误清洗操作,得到第二清洗数据;

数据若存在逻辑错误,则需进行逻辑错误清洗,目的是去掉一些使用逻辑推理就可以直接发现问题的数据,防止分析结果走偏。

优选地,逻辑错误清洗操作包括:①去重;②去除不合理值;③修正矛盾内容。

步骤s240:判断第二清洗数据中的数据是否属于需求数据,如果不是则删除,如果是则保留得到总保留数据;

步骤s250:对总保留数据进行关联性验证,通过关联性验证的总保留数据为关联数据;

若数据有多个来源,就有必要进行关联性验证,多个来源的数据整合是非常复杂的工作,一定要注意数据之间的关联性,以避免在分析过程中出现互相矛盾的数据。

步骤s260:将关联字段划分为:训练集、验证集、测试集。

训练集、验证集、测试集的划分比例可等分也可根据需要确定。

步骤s300包括以下步骤:

步骤s310:构建lstm单元遗忘门:采用如式(1)所示的sigmoid函数决定哪些特征信息需要被遗忘,sigmoid函数表示当开始接收新的对预测结果影响大的特征信息时,忘记对预测结果影响小的特征信息:

ft=σ(wfxt+ufht-1+bf)(1)

其中,ft为t时刻的遗忘门信息,σ为sigmoid函数,wf、bf分别为输入层到隐藏层的参数矩阵和偏置参数矩阵,uf为隐藏层自循环参数矩阵,ht-1为t-1时刻隐藏层的输出信息,xt为t时刻的输入信息;

步骤s320:构建lstm单元的输入门:首先采用如式(2)所示的sigmoid函数决定哪些特征信息需要更新:

it=σ(wixt+uiht-1+bi)(2)

其中,it为输入门,σ为sigmoid函数,wi、bi分别为参数矩阵和偏置参数矩阵,ui为自循环参数矩阵,ht-1为t-1时刻隐藏层的输出信息,xt为t时刻的输入信息;

其次,用tanh层生成备选的需要更新的向量:

其中,为经过变换后t时刻的新信息,ct为经过更新t时刻的状态信息,wc为参数矩阵,bc为偏置参数矩阵,uc为自循环参数矩阵,ht-1为t-1时刻隐藏层的输出信息,xt为t时刻的输入信息;

最后更新:

其中,为经过变换后t时刻的新信息,ct、ct-1分别为经过更新t和t-1时刻的状态信息,ft为遗忘门,it为输入门;

步骤s330:构建lstm单元的输出门:

首先,通过如式(3)所示的sigmoid函数决定输出的特征信息部分:ot=σ(woxt+uoht-1+bo)(3);

其中,ot为输入门,σ为sigmoid函数,wo、bo分别为参数矩阵和偏置参数矩阵,uo为自循环参数矩阵,ht-1为t-1时刻隐藏层的输出信息,xt为t时刻的输入信息

其次,用如式(4)所示的tanh层处理ct确定最终输出的特征信息部分:ht=ot⊙tanh(ct)(4);

其中,ht为t时刻的输出信息,h(ct)为t时刻ct的函数;

步骤s340:通过lstm单元构建神经网络层;

步骤s350:将序列化输入特征信息分为不同batch在步骤s340构建的神经网络中进行训练,得到序列输出。

步骤s360:定义损失函数,计算损失值;用以评估预测值和真实值的差距;

步骤s360:采用随机梯度下降法反向计算神经网络层,得到时序网络预测训练模型。采用反向传播计算,能使得损失函数最小。

优选地,步骤s340中构建的神经网络层数为2~4层。

优选地,所述步骤s400包括以下步骤:

步骤s410:在步骤s360中所得时序网络预测训练模型中输入步骤s260中得到的验证集和测试集,进行测试,得到测试结果;

步骤s420:根据测试结果准确率,优化时序网络预测训练模型,得到优化模型;

优选地,所述优化训练模型操作包括:调整网络大小或数据集大小及是否采用正则化等,以解决训练模型存在高偏差或高方差的问题。

步骤s430:提升优化模型的训练速度;

步骤s440:对步骤s430所得模型训练一段时间后进行超参数调试,得到岩石时效变形预测模型;进行超参数调试能保证模型预测精度。

步骤s500:在岩石时效变形预测模型中输入实测参数,得到岩石时效变形预测结果。

优选地,步骤s420包括以下步骤:

步骤s421:判断测试结果偏差值是否过高,如果判断结果为是,则调整时序网络预测训练模型的网络结构;

步骤s422;如果判断结果为否,则判断测试结果的方差是否过高,如果判断结果为是,则对时序网络预测训练模型进行正规化操作或调整验证集和测试集中的数据,如果判断结果为否,则进行步骤s430。

按此操作可根据训练结果及时对时序网络预测训练模型进行优化,提高模型对岩石时效变形的预测准确性。

参见图4,本申请的另一方面还提供了一种上述的基于lstm深度学习的岩石时效变形预测系统,包括:

数据获取模块,用于获取岩石时效变形的已有数据;

清洗数据模块,用于清洗已有数据后,进行数据集划分,得到训练集、验证集、测试集;

建立模型模块,用于采用sigmoid函数决定哪些特征信息需要被遗忘,构建lstm单元的遗忘门,构建lstm单元的输入门,构建lstm单元的输出门,得到lstm单元,通过lstm单元构建神经网络层,采用随机梯度下降法反向计算神经网络层,得到时序网络预测训练模型;

模型优化模块,用于在时序网络预测训练模型中输入验证集和测试集,进行测试,得到测试结果,根据测试结果优化模型,提升优化模型的训练速度,并进行超参数调试,得到岩石时效变形预测模型;

结果输出模块,用于在岩石时效变形预测模型中输入实测参数,得到岩石时效变形预测结果。

优选地,所述清洗数据模块包括:

缺失值判断模块,用于逐一判断各已有数据是否存在缺失值,如果判断结果为是,则进行缺失值清洗;

缺失值判断模块包括:

缺失值计算模块,用于计算该已有数据每个字段的缺失值比例,判断该字段缺失值比例是否小于预设值,如果判断结果为否,则不去除该字段属性,得到缺失字段;如果判断结果为是,则继续判断该字段数据是否属于重要数据,如果属于则不去除该字段属性,得到第一保留字段,如果不属于,则去除该字段属性,得到第二保留字段;

缺失值填充模块,用于填充第二保留字段中的缺失值,以同一指标的计算结果填充缺失值或以不同指标的计算结果填充缺失值;

重要数据判断模块,用于判断各缺失字段是否属于重要数据,如果是,则重新获取缺失字段,得到第三保留字段,如果否,则去除该缺失字段;

一致性模块,用于对第一保留字段、第二保留字段和第三保留字段的格式及内容一致性进行分析,舍弃格式、内容不一致的数据,得到第一清洗数据;

逻辑清洗模块,用于对第一清洗数据进行逻辑错误清洗操作,得到第二清洗数据;

二次清洗模块,用于判断第二清洗数据中的数据是否属于需求数据,如果不是则删除,如果是则保留,得到总保留数据;

关联性模块,用于对总保留数据进行关联性验证,通过关联性验证的总保留数据为关联数据;

划分模块,用于将关联字段划分为:训练集、验证集、测试集。

优选地,所述模型优化模块包括:

验证测试模块,用于在所述时序网络预测训练模型中输入验证集和测试集,进行测试,得到测试结果;

结果准确率优化模块,用于根据测试结果准确率,优化时序网络预测训练模型,得到优化模型;

训练速度优化模块,用于提升优化模型的训练速度;

超参调试模块,对训练速度优化模块所得模型训练一段时间后进行超参数调试,得到岩石时效变形预测模型。

按以上步骤优化得到的岩石时效变形预测模型可以对测得的岩石时效变形参数进行预测分析,无需进行室内或室外实验,即可对具体岩石时效变形情况进行分析预测,且预测准确性较好。本申请提供方法深入分析利用了已有数据,在此基础上构件了岩石时效变形预测模型,并通过该曲线进行预测,预测结果可根据需要调整预测时间长度,使得预测结果不受限于实体实验时间,适应于实际工程项目需要。

优选地,步骤s430中提升神经网络的训练速度的方法为adam优化算法、rmsprop优化算法、sgd优化算法或学习率衰减法中的任一种;

下面通过一个实例对本申请提供的方法进行详细说明:

按照以上方法步骤,通过工程试验报告、现场监测等渠道获取已有数据(可以利用相关软件对流变曲线进行处理得到已有数据),或者通过自制试样进行室内流变试验获得数据,并通过python程序将数据传入电脑;

对获取的已有数据进行清洗和数据集划分,数据清洗包括:缺失值清洗、格式内容清洗、逻辑错误清洗、非需求数据清洗和关联性验证,将数据按照一定的比例划分为训练集、验证集、测试集;构建lstm单元的遗忘门、输入门、输出门和神经网络层,输入训练数据、计算损失值,得到训练模型;输入验证集和测试集进行比较分析,调整网络结构、数据集等;采用优化算法,每隔一定时间进行超参数调试;得到岩石时效变形预测模型。

按照上述步骤对所获取的已有数据进行处理,得到流变曲线如图3中三角形数据点曲线;根据岩石流变力学试验所得结果曲线如图3中*号曲线所示。

由图3可以看出,本申请提供方法得到的预测曲线与实测曲线高度重合,说明本申请提供方法得到的预测模型预测精度较高,预测值与实测值十分接近,本发明方法有效,可应用于实践,具有使用良好的使用价值。

本实例可以减少流变试验的经济人力、成本,通过流变试验的数据充分利用起来进行预测时效变形趋势,可以应用于各类岩石工程中岩石时效变形的预测,具有广泛的应用前景。

在本说明书中所谈到的“一个实施例”、“另一个实施例”、“实施例”、“优选实施例”等,指的是结合该实施例描述的具体特征、结构或者特点包括在本申请概括性描述的至少一个实施例中。在说明书中多个地方出现同种表述不是一定指的是同一个实施例。进一步来说,结合任一实施例描述一个具体特征、结构或者特点时,所要主张的是结合其他实施例来实现这种特征、结构或者特点也落在本申请的范围内。

尽管这里参照本申请的多个解释性实施例对本申请进行了描述,但是,应该理解,本领域技术人员可以设计出很多其他的修改和实施方式,这些修改和实施方式将落在本申请公开的原则范围和精神之内。更具体地说,在本申请公开说明书和权利要求的范围内,可以对主题组合布局的组成部件和/或布局进行多种变型和改进。除了对组成部件和/或布局进行的变形和改进外,对于本领域技术人员来说,其他的用途也将是明显的。

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