第三十一周学习周报
目录
- 摘要
- Abstract
- 文献阅读
- 总体架构
- 实验分析
- 知识复习
- 总结
摘要
在本周阅读的文献中,作者提出了一种基于生成对抗网络(GAN)和长短期记忆网络(LSTM)融合模型的连续管钻井参数预测方法,旨在提高连续管钻井的安全性、效率和使用寿命,同时降低生产成本。当LSTM 的输出为多个变量时,模型预测的准确率明显低于输出为单个变量的模型。GAN–LSTM模型的思路是使用GAN的生成模型来优化LSTM。借助GAN中强大的生成模型,LSTM 的低维数据输出被用作 GAN生成模型的输入。最终目标是预测多个变量,并避免当输出数据的维数增加时模型准确性降低的问题。本次的学习将从原理学习和实验分析两部分进行,除此还对GAN的相关知识进行了回顾学习。
Abstract
In the literature read this week, the author proposed a continuous pipe drilling parameter prediction method based on a fusion model of generative adversarial network (GAN) and long short-term memory network (LSTM), aiming to improve the safety, efficiency, and service life of continuous pipe drilling while reducing production costs. When the output of LSTM is multiple variables, the accuracy of model prediction is significantly lower than that of a model with a single variable output. The idea of the GAN-LSTM model is to use the generative model of GAN to optimize LSTM. With the powerful generative model in GAN, the low dimensional data output of LSTM is used as input for the GAN generative model. The ultimate goal is to predict multiple variables and avoid the problem of decreased model accuracy when the dimensionality of the output data increases. This study will be divided into two parts: principle learning and experimental analysis. In addition, a retrospective study of GAN related knowledge will also be conducted.
文献阅读
本周阅读了一篇名为 Parameter prediction of coiled tubing drilling based on GAN–LSTM的论文,
论文地址:Parameter prediction of coiled tubing drilling based on GAN–LSTM
在文中,作者利用GAN–LSTM模型预测连续油管的钻孔参数,以提高连续油管的使用寿命,降低生产成本并提高石油生产率。
目前使用神经网络进行连续油管研究的难点在于两个方面。一是数据,钻探数据有保密协议,不能轻易用于研究,数据量巨大、复杂且不准确。二是神经网络的选择,因为井下数据是一组序列数据,前后数据的联系比较大,只有通过 RNN模型才能达到更好的预测效果。作者提出了一种用于预测循环压力、井口压力、ROP和总重量数据的GAN 和LSTM融合模型,解决了RNN在预测多个参数和数据量过大时出现的问题。
总体架构
首先我们来简单回顾一下LSTM模型,LSTM网络非常适合捕获序列的局部时间特征。它们旨在保留先前时间步长中的信息,并将其用于处理当前时间步长。这使他们能够有效地对序列中元素之间的依赖关系进行建模,并捕获数据中存在的局部时间模式。
但是当LSTM 的输出为多个变量时,模型预测的准确率明显低于输出为单个变量的模型。也就是说,随着输出数据的维数增加,预测准确性会降低。并且模型的误差率随着预测参数深度的增加而增加。GAN–LSTM模型的思路是使用GAN的生成模型来优化LSTM。借助GAN中强大的生成模型,LSTM 的低维数据输出被用作 GAN生成模型的输入。最终目标是预测多个变量,并避免当输出数据的维数增加时模型准确性降低的问题。GAN网络模型由生成网络模型和判别网络模型组成。GAN-LSTM融合网络需要使用GAN的生成网络模型,因此在训练过程中需要分别训练GAN和LSTM。
模型的总体架构如下所示:
GAN–LSTM模型结合了GAN和LSTM的优势,既有GAN的生成能力又有LSTM的序列处理能力。GAN生成器能够生成与真实数据难以区分的假数据,这为LSTM提供了更丰富的输入数据,从而优化了LSTM的预测性能。LSTM通过记忆单元和门控机制,能够有效捕捉时间序列数据中的长期依赖关系,解决了传统RNN在处理长序列数据时的梯度消失和梯度爆炸问题。这种结合使得模型在处理复杂的钻井参数时更加稳定和准确。
模型的工作原理:
(1)数据划分输入:数据的输入划分为LSTM和GAN两部分。
(2)分别训练:
LSTM训练的目标是通过LSTM捕捉时间序列数据中的长期依赖关系,预测ROP和指重。
GAN训练的目标是通过生成器生成逼真的井口压力和循环压力数据,通过判别器判断数据的真实性,优化生成器的输出。
(3)融合训练:
生成器优化:将GAN的生成器输出作为LSTM的输入,通过GAN的生成器优化LSTM的输出,以提高模型的泛化能力。
协同训练:GAN和LSTM在训练过程中相互协作,GAN生成的假数据作为LSTM的输入,LSTM的输出进一步优化GAN的生成器。通过这种协同训练,模型能够更好地捕捉数据的分布特征,提高预测精度。
(4)得到最终的预测结果。
实验分析
(1)数据集
数据来源于川西地区单口定向井的历史数据,对选定的井段数据进行了6次筛选,并将这些数据划分为训练集和测试集,通过交叉验证进行模型训练。
(2)数据处理
大多数井下数据由传感器测量,因此会产生大量离散、重复和缺失的数据。这些数据可能会导致模型的整体误差变大,并影响模型的泛化能力。因此需要通过聚类方法去除离散和重复的数据,通过均值插值法填充缺失值等方法对数据进行清洗。处理后的数据对比如下所示
(3)实验结果
经过数据清洗和数据归一化,作者获得了循环压力、井口压力、钻速、深度和总重量5个相关特征的有效数据用于GAN-LSTM 模型的训练数据集。
GAN-LSTM 的具体网络参数如下所示。其中Mape是训练集丢失率,Val mape是测试集丢失率。
下图显示了在预测 GAN-LSTM 和LSTM的总权重时误差率变化的过程。从图中可以看出,两个模型在初始阶段的误差率差异很小,GAN-LSTM在50轮后继续下降并趋于稳定。LSTM 网络模型错误率在早期表现出较大的波动,并在130轮后逐渐稳定。GAN-LSTM 网络模型的错误率在训练后逐渐稳定在10%左右。
下图显示了GAN-LSTM 和LSTM预测总权重的拟合曲线。在大多数情况下,GAN-LSTM 模型的拟合相对稳定,预测值和真实值之间的平均差值约为100。一些超参数的影响导致2400和2470m之间出现相对较大的波动。LSTM 的预测值和真实值之间的平均差异约为 200。在2400m之后,由于误差率仅收敛到20%左右,LSTM模型预测的平均差异约为400。
下图显示了GAN-LSTM和LSTM在预测ROP时的损失率变化过程。从图中可以看出,GAN-LSTM的误差率从约90%开始向下收敛,前沿收敛相对较快。GAN-LSTM的错误率在130轮后继续下降并稳定在10%左右。LSTM网络模型的误差率从约70%向下收敛,第一阶段的误差率波动约10%。LSTM模型的误差率在140轮后逐渐稳定在27%左右
下图显示了GAN-LSTM和LSTM预测ROP的拟合曲线。在大多数情况下,GAN-LSTM 模型是相对稳定的拟合,预测值和真实值之间的平均差约为1.5m/h。由于一些超参数,2400和2470m之间的波动约为3mh。预测 ROP的LSTM 模型最终收敛到大约 27%的误差率,导致大多数曲线波动很大。预测值和真实值之间的平均差约为6m/h。
上述结果提供了足够的经验证据,以支持GAN-LSTM在连续管钻井参数预测的精度和稳定性,特别是在预测多个参数时表现优于传统人工神经网络。除此数据预处理的重要性在实验中也有明显体现,使用原始数据和处理过后的数据进行预测所得结果还是差别很大的,数据预处理可以显著提高模型的预测精度。GAN–LSTM模型在预测总重量和ROP时的误差率分别稳定在约10%和10%左右,而单独的LSTM模型误差率分别为20%和27%,进一步证明了GAN–LSTM模型在预测精度上的优势。
知识复习
生成对抗网络由生成器器(G)和判别器(D)组成。
生成器的作用是捕获数据分布并生成新数据。判别器的作用是确定数据是真实数据还是生成器生成的数据。
训练集数据向量 Z-p(z)用作生成模型的输入,新数据G(z)在生成器网络G之后生成。判别模型 D的输入要么是真实数据样本,要么是生成器网络生成的样本G(Z)。对判别器网络模型进行训练,以确定其输入是来自真实数据样本还是来自生成器模型生成的样本。然后,生成器模型由已经训练过的判别器模型进行训练,以生成更接近真实数据分布的数据,从而欺骗判别器。这两个模型相互配合,并交替训练以达到最佳平衡点。此时生成模型能够生成最接近真实数据的数据,判别器模型无法区分数据是来自真实数据还是生成数据。
以下是对为什么Pdata(x)=Pg(x)时目标函数最优的数学推导:
总结
通过本周的学习我回顾了LSTM和GAN的相关知识并明白了LSTM在处理时序问题的不足,论文作者通过将GAN和LSTM相融合以解决LSTM在处理多个变量时遇到的问题。但到此我有一些思考,如果将原来学习到的Adjusted-LSTM与GAN融合是否会有更好的效果呢?后续可以试试。
相关文章:

第三十一周学习周报
目录 摘要Abstract文献阅读总体架构实验分析 知识复习总结 摘要 在本周阅读的文献中,作者提出了一种基于生成对抗网络(GAN)和长短期记忆网络(LSTM)融合模型的连续管钻井参数预测方法,旨在提高连续管钻井的…...

白嫖一个可以公网访问、带评论和图床的博客系统
这里我来把搭建这个网站的过程记录下,可供新手朋友搭建 完成github page的创建 首先先打开github官网,然后打开your repositories这个标签 然后新建一个repositories,名字是比较特殊的,为<username>.github.io这个格式&am…...
定时器、计数器
定时器:TON TOF TONR:保持型接通定时器 TP:脉冲定时器:触发一次,就开始计时 TP:按下I0.1 TP开始计时,Q电开始有电,时间到Q点失电 计数器:CTU加 CTD减 CTUD加减 两个方法…...

Ubuntu Server连接wifi
背景 家里服务器放在客厅太吵了, 准备挪到阳台, 所以买了TP wifi接收器, 因此需要配置wifi连接. 刚开始买了Tenda Ax300, 结果不支持服务器系统, 买前还是得和客服交流交流. 准备 驱动安装 对于windows系统来说, 这款接收器是免驱的, 但在linux上需要安装相应型号驱动 安装…...

关于MySQL InnoDB存储引擎的一些认识
文章目录 一、存储引擎1.MySQL中执行一条SQL语句的过程是怎样的?1.1 MySQL的存储引擎有哪些?1.2 MyIsam和InnoDB有什么区别? 2.MySQL表的结构是什么?2.1 行结构是什么样呢?2.1.1 NULL列表?2.1.2 char和varc…...

深入剖析SpringBoot启动机制:run()方法详尽解读
摘要 本文深入解析SpringBoot的启动机制,以run()方法为核心,逐步追踪并详细解释其关键步骤。首先探讨run()方法的工作原理,然后深入代码层面分析各个关键环节。文章提供刷新后钩子和启动后任务的代码示例,帮助读者理解SpringBoot源…...

Nginx中部署多个前端项目
1,准备前端项目 tlias系统的前端资源 外卖项目的前端资源 2,nginx里面的html文件夹中新建,tlias和sky两个文件夹。 切记这是在nginx/html下创建的 mkdir sky mkdir tlias 把tlias和sky的资源都放到对应的文件夹中 3,编辑配置ngi…...

1688寻源通:赋能跨境贸易的高效业务平台
前言 在全球化的浪潮下,跨境电商已成为推动经济发展的重要力量。作为国内领先的B2B电商平台,1688凭借其强大的供应链资源和创新技术,推出了“寻源通”业务,旨在帮助国内供应商和跨境采购商实现更高效、更精准的供需匹配ÿ…...

JVM深入学习(一)
目录 一.JVM概述 1.1 为什么要学jvm? 1.2 jvm的作用 1.3 jvm内部构造 二.JVM类加载 2.1类加载过程 2.2类加载器 2.3类加载器的分类 2.4双亲委派机制 三.运行时数据区 堆空间区域划分(堆) 为什么分区(代)?(…...

Qt Creator 15.0.0如何更换主题和字体
1.打开Qt Creator 15.0.0 (Community), 2.点击编辑栏3.点击Preferences... 4.修改主题,点击环境,修改Theme:栏 5.修改字体大小,点击文本编辑器,修改字号栏。,修改Theme:栏...

“大模型横扫千军”背后的大数据挖掘--浅谈MapReduce
文章目录 O 背景知识1 数据挖掘2 邦费罗尼原则3 TF.IDF4 哈希函数5 分布式文件系统 一、MapReduce基本介绍1. Map 任务2. 按键分组3. Reduce 任务4. 节点失效处理5.小测验:在一个大型语料库上有100个map任务和若干reduce任务: 二、基于MapReduce的基本运…...

shallowRef和shallowReactive的用法以及使用场景和ref和reactive的区别
Vue3 浅层响应式 API 1. ref vs shallowRef 1.1 基本概念 ref: 深层响应式,会递归地将对象的所有属性转换为响应式shallowRef: 浅层响应式,只有 .value 的改变会触发更新,不会递归转换对象的属性 1.2 使用对比 // ref 示例 const deepRe…...

maven、npm、pip、yum官方镜像修改文档
文章目录 Maven阿里云网易华为腾讯云 Npm淘宝腾讯云 pip清华源阿里中科大华科 Yum 由于各博客繁杂,本文旨在记录各常见镜像官网,及其配置文档。常用镜像及配置可评论后加入 Maven 阿里云 官方文档 setting.xml <mirror><id>aliyunmaven&l…...

HTML5+SVG+CSS3实现雪中点亮的圣诞树动画效果源码
源码介绍 这是一款基于HTML5SVGCSS3实现雪中点亮的圣诞树动画效果源码。画面中的圣诞树矗立在雪地中,天上飘落着雪花。当鼠标滑过圣诞树时,可见到圣诞树上的灯光闪烁,同时左下角探出雪怪模样的半个脑袋,四处张望着。整体画面栩栩…...

HTML-新浪新闻-实现标题-样式1
用css进行样式控制 css引入方式: --行内样式:写在标签的style属性中(不推荐) --内嵌样式:写在style标签中(可以写在页面任何位置,但通常约定写在head标签中) --外联样式…...

Linux-day10
第21章 Linux高级篇-日志管理 日志介绍和实例 基本介绍 系统常用的日志 日志服务 日志服务原理图 在这个配置文件里面记录了日志服务程序 日志管理服务rsyslogd -v是反向匹配 invert 日志服务配置文件 时间、主机、是由哪个程序或者服务发生的、事件信息 自定义日志服务 日…...

【Unity3D】《跳舞的线》游戏的方块单方向拉伸实现案例
通过网盘分享的文件:CubeMoveMusic.unitypackage 链接: https://pan.baidu.com/s/1Rq-HH4H9qzVNtpQ84WXyUA?pwda7xn 提取码: a7xn 运行游戏点击空格动态创建拉伸的方块,由Speed控制速度,新方向是随机上下左右生成。 using System.Collect…...

AI智能日志分析系统
文章目录 1.combinations-intelligent-analysis-starter1.目录结构2.pom.xml3.自动配置1.IntelligentAnalysisAutoConfiguration.java2.spring.factories 2.combinations-intelligent-analysis-starter-demo1.目录结构2.pom.xml3.application.yml4.IntelligentAnalysisApplicat…...

试用ChatGPT开发一个大语言模型聊天App
参考官方文档,安装android studio https://developer.android.com/studio/install?hlzh-cn 参考这个添加permission权限: https://blog.csdn.net/qingye_love/article/details/14452863 参考下面链接完成Android Studio 给项目添加 gradle 依赖 ht…...

Unity Epplus读取excel表并存入So文件举例
目录 此篇需要你有一定的阅读代码的能力,不然点开了也不知道在做什么 这是读表工具 So文件这么写 使用 此篇需要你有一定的阅读代码的能力,不然点开了也不知道在做什么 在此之前你需要知道epplus是干什么的,然后知道其基本api࿰…...

连接 OpenAI 模型:基础操作
在这一部分中,我们将介绍如何连接 OpenAI 模型,设置 API 密钥,并使用 Spring AI 的 ChatClient 与 OpenAI 模型进行简单的对话。Spring AI 为集成 OpenAI 模型提供了方便的工具,使得开发者能够更轻松地与 GPT 系列模型进行交互。 …...

[ Spring ] Spring Cloud Alibaba Message Stream Binder for RocketMQ 2025
文章目录 IntroduceProject StructureDeclare Plugins and ModulesApply Plugins and Add DependenciesSender PropertiesSender ApplicationSender ControllerReceiver PropertiesReceiver ApplicationReceiver Message HandlerCongratulationsAutomatically Send Message By …...

ubuntu 更新24LTS中断导致“系统出错且无法恢复,请联系系统管理员”
22LTS to 24LTS 更新过程中手jian把更新程序controlC导致的。 解决 目前企图完成更新来恢复,重启后有软件包冲突,sudo apt upgrade报冲突。无法进行。 将原来source.list重新 sudo dpkg --configure -a sudo apt install -f 这些都不管用。还是显示gno…...

力扣-链表-203 移除链表元素
思路1 处理头节点,然后遍历下一个节点,只有确保下一个节点不是要移除的节点时再跳到下一个节点 代码1 class Solution { public:ListNode* removeElements(ListNode* head, int val) {while(head ! nullptr && head->val val){head head…...

Unity中关于实现 管道水流+瀑布流动+大肠蠕动效果笔记
Unity中关于实现 管道水流瀑布流动大肠蠕动效果笔记 效果展示: 参考资料及链接: 1、如何在 Unity 中创建水效果 - 水弯曲教程 https://www.youtube.com/watch?v3CcWus6d_B8 关于补充个人技能中:顶点噪波影响网格着色器配合粒子实现水特效 …...

宏_wps_宏修改word中所有excel表格的格式_设置字体对齐格式_删除空行等
需求: 将word中所有excel表格的格式进行统一化,修改其中的数字类型为“宋体, 五号,右对齐, 不加粗,不倾斜”,其中的中文为“宋体, 五号, 不加粗,不倾斜” 数…...

Linux——网络(udp)
文章目录 目录 文章目录 前言 一、upd函数及接口介绍 1. 创建套接字 - socket 函数 2. 绑定地址和端口 - bind 函数 3. 发送数据 - sendto 函数 4. 接收数据 - recvfrom 函数 5. 关闭套接字 - close 函数 二、代码示例 1.服务端 2.客户端 总结 前言 Linux——网络基础…...

Oracle-Java JDBC 连接超时之后的认知纠正
背景 偶然读到熊老师的文章《老熊的三分地-JDBC中语句超时与事务》了解到:JAVA代码的最后正常断开数据库连接,在默认情况下,正常断开的数据库连接会自动提交没有提交的事务。 通过文章的测试JAVA程序,可以表明,JDB…...

自定义数据集使用框架的线性回归方法对其进行拟合
代码 import torch import numpy as np import torch.nn as nncriterion nn.MSELoss()data np.array([[-0.5, 7.7],[1.8, 98.5],[0.9, 57.8],[0.4, 39.2],[-1.4, -15.7],[-1.4, -37.3],[-1.8, -49.1],[1.5, 75.6],[0.4, 34.0],[0.8, 62.3]])x_data data[:, 0] y_data data…...

15天基础内容-5
day13 【String类、StringBuilder类】 主要内容 String类常用方法【重点】 String类案例【重点】 StringBuilder类【重点】 StringBuilder类常用方法【重点: append】 StringBuilder类案例【理解】 第一章String类 1.1 String类的判断方法 String类实现判断功能…...