深度学习故障诊断之-使用条件生成对抗网络CGAN生成泵流量信号

开始填坑

MATLAB统计机器学习,深度学习,计算机视觉 - 哥廷根数学学派的文章 - 知乎 MATLAB统计机器学习,深度学习,计算机视觉 - 知乎

之前写过在使用深度学习对机械系统或电气系统进行故障诊断时,如果没有大量的故障样本,可以使用Simulink 生成故障样本数据,还可以使用数字孪生技术等等

深度学习故障诊断之-使用 Simulink 生成故障数据 - 哥廷根数学学派的文章 - 知乎 深度学习故障诊断之-使用 Simulink 生成故障数据 - 知乎

本次讲解如何使用条件生成对抗网络CGAN生成泵流量信号

完整代码链接

🍞正在为您运送作品详情

生成对抗网络 (GAN) 可用于生成近似真实数据的数据。 当模拟计算成本较高或实验成本较高时,GAN 非常有用。 条件 GAN(CGAN)可以在训练过程中使用数据标签来生成属于特定类别的数据。注意:本例将泵Simulink模型获得的模拟信号视为“真实”数据,当作CGAN 的训练数据集。 CGAN 使用一维卷积网络,此外本例使用主成分分析 (PCA) 直观地比较生成信号和真实信号的特征。三缸柱塞泵的Simulink模型如下,来源于mathworks大佬。

再次强调:本例将泵Simulink模型获得的模拟信号视为“真实”数据,当作CGAN 的训练数据集

下图为Simulink模型生成的“真实”泵流量信号

接下来步入正题,CGAN 由两个作为“对手”一起训练的网络组成。

生成器网络—给定一个标签和随机数组作为输入,该网络生成与对应于相同标签的训练数据相同结构的数据。 生成器的目标是生成鉴别器分类为“真实”的标记数据。

判别器网络—给定一批标记数据,其中包含来自训练数据和生成器生成数据的观察结果,该网络尝试将观察结果分类为“真实”或“生成”。 判别器的目标是在给定批次的真实和生成的标记数据时不被生成器“愚弄”。

导入数据

模拟数据由 Simulink 模型生成。 Simulink 模型对3种类型的故障进行建模:气缸泄漏、进气口阻塞和轴承故障。 该数据集包含 1575 个泵输出流量信号,其中 760 个为健康信号,815 个为单个故障、两个故障的组合或三个故障的组合。 每个信号有 1201 个采样点,采样频率为 1000 Hz。.

加载训练数据集并将信号进行标准化

load(fullfile(saveFolder,'simulated.mat')) % 导入数据集
meanFlow = mean(flow,2);
flowNormalized = flow-meanFlow;
stdFlow = std(flowNormalized(:));
flowNormalized = flowNormalized/stdFlow;

健康信号标记为 1,故障信号标记为 2。

定义生成器网络,不再赘述,很容易看懂

<
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哥廷根数学学派

码字不易,且行且珍惜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值