超临界机组协调控制系统建模项目开发笔记

超临界机组协调控制系统建模项目开发笔记

项目概述

本项目基于两篇论文的方法,对超临界机组协调控制系统进行数据驱动建模。主要使用LSTM+Transformer混合架构,实现对主蒸汽压力(Pst)、分离器蒸汽焓值(hm)和机组负荷(Ne)的预测。同时,通过消融实验比较不同模型架构的性能,并使用领域自适应方法解决不同季节数据之间的差异问题。

数据集分析

数据集来源于论文"A dynamic nonlinear model for a wide-load range operation of ultra-supercritical once-through boiler-turbine units"的补充材料,包含三组不同工况下的机组运行数据:

  1. 常规升负荷
  2. 常规降负荷
  3. 快速降负荷

数据集中的主要变量包括:

  • 输入变量:燃料流量(uB)、给水流量(Dfw)、汽轮机阀门开度(ut)
  • 输出变量:主蒸汽压力(Pst)、分离器蒸汽焓值(hm)、机组负荷(Ne)

注意:原始论文中使用的是分离器蒸汽温度(T),但在本数据集中使用分离器蒸汽焓值(hm)代替。

开发过程

1. 数据处理

  • 读取Excel文件中的三组数据
  • 数据清洗:处理缺失值、异常值
  • 数据归一化:使用MinMaxScaler将数据缩放到[0,1]区间
  • 时间序列数据准备:使用滑动窗口方法创建序列数据
  • 训练集和测试集分割:按80%/20%比例分割

2. 模型设计

设计了LSTM+Transformer混合模型架构:

  • LSTM部分:捕捉时间序列的长期依赖关系
  • Transformer部分:通过自注意力机制捕捉变量间的复杂关系
  • 输出层:分别预测三个输出变量

模型架构的主要特点:

  • 多输入多输出结构
  • 残差连接和层归一化
  • 多头自注意力机制
  • 分离的输出预测头

3. 消融实验

设计了三种模型配置进行比较:

  • 仅使用LSTM
  • 仅使用Transformer
  • LSTM+Transformer混合模型

比较指标:

  • 均方误差(MSE)
  • 平均绝对误差(MAE)
  • 训练时间

4. 领域自适应

为解决不同季节数据之间的差异问题,实现了领域自适应方法:

  • 使用第一组数据作为源域训练基础模型
  • 使用其他组数据作为目标域进行模型微调
  • 比较适应前后的模型性能

调试笔记

数据处理阶段

  1. 问题:Excel文件读取缓慢
    解决方案:使用pandas的chunk读取方式,分批次处理大型Excel文件

  2. 问题:数据中存在异常值和缺失值
    解决方案:使用统计方法检测异常值,对缺失值进行插值处理

  3. 问题:时间序列数据准备时内存占用过大
    解决方案:优化滑动窗口实现,减少中间数据的存储

模型训练阶段

  1. 问题:模型训练时出现梯度爆炸
    解决方案

    • 使用梯度裁剪
    • 降低学习率
    • 添加BatchNormalization层
  2. 问题:模型容易过拟合
    解决方案

    • 增加Dropout层
    • 使用早停策略
    • 添加L2正则化
  3. 问题:多输出模型的损失函数选择
    解决方案:对每个输出使用单独的MSE损失,然后求和作为总损失

  4. 问题:Transformer部分参数调优困难
    解决方案

    • 从较小的头数和维度开始
    • 逐步增加复杂度
    • 使用学习率调度器

领域自适应阶段

  1. 问题:源域和目标域数据分布差异较大
    解决方案

    • 使用较小的学习率进行微调
    • 引入伪标签方法
    • 混合源域和目标域数据进行训练
  2. 问题:适应过程中出现灾难性遗忘
    解决方案

    • 保留部分源域数据进行混合训练
    • 使用弹性权重整合(EWC)方法保留关键参数
  3. 问题:不同季节数据的特征重要性不同
    解决方案

    • 实现特征重要性分析
    • 对重要特征赋予更高的权重

性能优化

  1. 内存优化

    • 使用生成器处理大型数据集
    • 及时释放不再使用的中间变量
  2. 计算优化

    • 使用tf.function装饰器加速训练
    • 批处理数据预处理操作
    • 使用混合精度训练
  3. 模型优化

    • 模型剪枝减少参数量
    • 知识蒸馏压缩模型

项目总结

符合要求的部分

  1. 三个单输出预测对比图:成功实现了主蒸汽压力(Pst)、分离器蒸汽焓值(hm)和机组负荷(Ne)三个输出变量的预测值与真实值对比图,以及误差分析图。
  2. LSTM+Transformer混合架构:按照要求实现了LSTM+Transformer混合模型架构,充分利用了LSTM捕捉时序依赖和Transformer捕捉变量间关系的优势。
  3. 消融实验:完成了LSTM+Transformer混合模型、仅LSTM模型和仅Transformer模型的对比实验,生成了MAE、MSE和训练时间的比较图表,验证了混合模型的优越性。
  4. 领域自适应:针对不同季节(不同工况)的数据,实现了领域自适应方法,作为创新点提高了模型在不同工况下的泛化能力。
  5. 模型框架文字叙述:提供详细的模型架构文档,包括模型设计思路、参数选择和实现细节。
  6. 开发笔记和调试笔记:记录开发过程中的关键决策、问题解决方案和调试过程。

不符合要求的部分

  1. 领域自适应效果不均衡:领域自适应方法对分离器蒸汽焓值(hm)的预测有显著改善(MSE改进82.91%),但对主蒸汽压力(Pst)和机组负荷(Ne)的预测效果反而变差(MSE分别增加111.85%和316.59%)。这表明当前的领域自适应方法对不同变量的适应能力存在差异。
  2. 模型训练时间较长:完整的模型训练和评估过程耗时较长,特别是在进行消融实验和领域自适应时,可能影响实际应用中的迭代效率。

实际离谱的部分

  1. 领域自适应负向效果:在Case 1 -> Case 3的领域自适应实验中,主蒸汽压力和机组负荷的预测性能显著下降,MSE增加了100%以上,这与预期的适应效果相反。这可能是因为不同工况下这些变量的变化模式差异过大,简单的领域自适应方法无法有效处理。
  2. 数据集划分可能存在问题:当前的数据集划分方式可能没有充分考虑时序数据的特性,导致模型在某些工况下的泛化能力有限。
  3. 模型复杂度与数据规模不匹配:Transformer模型在小数据集上可能存在过拟合风险,这可能是导致某些预测结果不理想的原因之一。

改进建议

  1. 优化领域自适应方法:考虑为不同输出变量设计专门的适应策略,或采用更复杂的迁移学习方法。
  2. 数据增强:通过合成数据或数据变换技术扩充训练集,提高模型的泛化能力。
  3. 模型简化:针对数据规模较小的情况,考虑简化模型结构或采用更适合小数据集的模型架构。
  4. 特征工程:深入分析不同工况下变量的变化规律,提取更有代表性的特征,提高模型的预测准确性。
  5. 集成学习:考虑结合多个模型的预测结果,可能会获得更稳定的预测性能。

结论

本项目成功实现了基于LSTM+Transformer混合架构的超临界机组控制系统建模,并通过消融实验验证了混合模型的有效性。领域自适应方法作为创新点,在某些变量的预测上取得了显著效果,但也暴露出了一些问题。这些问题为未来的研究提供了方向,如何在不同工况间实现更有效的知识迁移将是一个值得深入研究的课题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/907019.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql安全管理

数据库管理系统用于管理数据库服务器的各种数据库资源,MYSQL是一个支持多用户的数据库管理系统,实现多用户下,各种数据库资源的安全访问控制,确保数据库资源安全访问成为了数据库管理系统的核心功能。MYSQL安全管理是指允许合法账…

QT中常用的类

Qt 是一个功能强大的跨平台框架,提供了丰富的类库来开发 GUI 和应用程序。以下是 ​​Qt 中常用的核心类​​,按模块分类整理: ​​1. GUI 和窗口管理​​ 类名用途示例场景​​QWidget​​所有 GUI 控件的基类(按钮、窗口等&…

【Redis原理篇】五大基本数据类型的底层编码方式

上文:redis底层数据结构 String底层结构 一、编码方式 1.int编码 **适用范围:**64位整数(long) **实现:**直接将数据存储在redisObject的ptr指针位置。 内存布局: 2.embstr编码 **适用条件&#xf…

自动编码器 潜在空间 Autoencoders 视频截图

【双语】Autoencoders_哔哩哔哩_bilibili 【双语】Autoencoders_哔哩哔哩_bilibili

ZLG USBCANFD python UDS刷写脚本

文章目录 概述python UDS 刷写脚本UI交互界面概述 在实际工作中,有使用周立功的UDSCANFD设备,用来收发CAN数据和UDS on CAN的诊断测试或者UDS on CAN的ECU升级。上位机使用ZCANPro,软件自带ECU刷新界面,可以编辑UDS服务,加载升级文件等,能用是能用,但是仍不能满足一些特…

线程安全问题的成因

前言 大家晚上好呀~~ 今天学习了线程不安全问题的成因。线程安全问题是十分重要的知识点,我想把我所学的与大家分享一波,希望可以帮助到有需要的人,同时加深自己对于线程安全问题的理解。 分析过程如下 结语 今天心情还不错~ 要坚持持续…

C++可变参数宏定义语法笔记

1. 基础语法 定义格式: #define MACRO_NAME(fixed_args, ...) macro_body#define LOG(fmt, ...) printf(fmt, __VA_ARGS__) LOG("Value: %d, Name: %s", 42, "Alice"); // 展开为 printf("Value: %d, Name: %s", 42, "Alice&q…

mongodb安装启动

这里写自定义目录标题 安装包下载安装后文件目录列表bin目录下 mongod 可以对mongodb 进行启动等操作 环境变量配置创建数据目录,日志目录启动参数配置启动 mongodbweb页面访问,检查服务启动是否正常可视化工具连接mongodb创建 database创建collection查…

Leetcode 3562. Maximum Profit from Trading Stocks with Discounts

Leetcode 3562. Maximum Profit from Trading Stocks with Discounts 1. 解题思路2. 代码实现 题目链接:3562. Maximum Profit from Trading Stocks with Discounts 1. 解题思路 这一题没有搞定,思路上整体走偏了,看了一下别人的解答&…

【Redis】第2节|Redis基本数据类型

一、基础数据结构 1. String(字符串) 特点:二进制安全,支持字符串、数值存储,原子性操作。核心操作: SET key value # 存储键值对 GET key # 获取值 INCR key # 数值…

用matlab提取abaqus odb文件中的节点信息

在MATLAB中提取Abaqus ODB文件中的节点信息,可以通过以下几种方法实现: 方法1:使用MATLAB的ABAQUS Interface工具箱 https://wenku.csdn.net/answer/77axwtqnys 可以参考这个 MATLAB的ABAQUS Interface工具箱提供了直接读取ODB文件的功能。…

【Java】异常处理

1.异常的概念 在程序运行时,打断正常程序流程的不正常情况分两类: 1.错误(Error):应用程序无法捕获的严重问题(自己无法处理) 例: 虚拟机相关的问题,如虚拟机崩溃、动态链接失败、低层资源错误等 总是不受编译器检查的&#xff0…

Linux(Centos 7.6)命令详解:tar

1.命令作用 命令tar将许多文件一起保存到单个磁带或磁盘存档中,并且可以从存档中恢复单个文件(GNU tar saves many files together into a single tape or disk archive, and can restore individual files from the archive.)。 2.命令语法 Usage: tar [OPTION.…

企业网络综合实训

企业网络综合实训 任务描述: 公司的中心机房、办公区一和办公区二位于同一园区。要求各大楼之间要互通,并且均能访问Internet;同时公司业务需要对外拓展,需要在Internet数据中心机房部署一台对外提供DNS和Web站点服务的服务器。…

8天Python从入门到精通【itheima】-41~44

目录 41节-while循环的嵌套应用 1.学习目标 2.while循环的伪代码和生活情境中的应用 3.图片应用的代码案例 4.代码实例【Patrick自己亲手写的】: 5.whlie嵌套循环的注意点 6.小节总结 42节-while循环的嵌套案例-九九乘法表 1.补充知识-print的不换行 2.补充…

探索Linux互斥:线程安全与资源共享

个人主页:chian-ocean 文章专栏-Linux 前言: 互斥是并发编程中避免竞争条件和保护共享资源的核心技术。通过使用锁或信号量等机制,能够确保多线程或多进程环境下对共享资源的安全访问,避免数据不一致、死锁等问题。 竞争条件 竞…

《Stable Diffusion 3.0企业级落地指南》——技术赋能与商业价值的深度融合实践

Stable Diffusion 3.0(SD3)作为当前多模态生成式AI技术的集大成者,凭借其创新的扩散Transformer架构(DiT)、流匹配(Flow Matching)技术以及超分辨率生成能力,正在重塑企业内容生产的…

基于本地模型+多级校验设计的高效缓存,有效节省token数量(有点鸡肋doge)。

前言 我是基于token有限而考虑的一个省钱方案,还能够快速返回结果,但是劣势也很明显,设计不好容易出问题,就如下面所介绍的语义飘逸和缓存污染,我认为在自己学习大模型的过程用来省钱非常可以,再加上学习过…

网络安全全知识图谱:威胁、防护、管理与发展趋势详解

1 网络安全基础概念 1.1 什么是网络安全 网络安全是指通过技术、管理和法律等手段,保护计算机网络系统中的硬件、软件及其系统中的数据,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,确保系统连续可靠正常地运行,网络服务不…

远控安全进阶之战:TeamViewer/ToDesk/向日葵设备安全策略对比

【作者主页】Francek Chen 【文章摘要】在数字化时代,卓越的远程控制软件需兼顾功能与体验,包括流畅连接、高清画质、低门槛UI设计、毫秒级延迟及多功能性,同时要有独树一帜的远控安全技术,通过前瞻性安全策略阻挡网络风险&#x…