复杂工况下少样本轴承故障诊断的元学习

news2025/2/25 17:06:18

在这里插入图片描述

摘要:近年来,基于深度学习的轴承故障诊断得到了较为系统的研究。但是,这些方法中的大多数的成功在很大程度上依赖于大量的标记数据,而这些标记数据在实际生产环境中并不总是可用的。如何在有限的数据条件下训练出鲁棒的轴承故障诊断模型,并使其在复杂工况下工作良好,仍然是一个挑战。针对这一问题,提出了一种基于模型不可知元学习的元学习故障诊断方法(MLFD)。该方法首先将不同工况下的原始信号转换为时频图像,然后根据元学习协议对原始信号进行随机采样,形成多层次故障诊断任务。MLFD模型在元训练过程中,基于已知工况下的多个故障分类任务,通过优化初始化参数获取先验知识,利用学习到的知识实现未知工况下的快速准确的少样本轴承故障诊断。为了综合评价该方法的性能,基于美国凯斯西储大学轴承故障基准测试系统,对不同的工业场景进行了仿真实验,实验结果证明了MLFD在解决复杂工况下少样本故障分类问题上的优越性。

一、问题背景

基于DL的故障诊断领域近年来取得了长足的进展,但依赖于大量的标记训练数据和昂贵的计算资源来训练网络,严重限制了其在故障诊断中的应用潜力。因为大量数据的获取需要由大量传感器收集,并且标记数据需要大量人力,导致高成本投资,且工况数据存在长尾现象,故障数据与正常数据相比有限且难以获取。
为了解决如何收集足够的样本来训练鲁棒的故障诊断模型的问题,目前主流的方法通常包括三类:数据扩充(DA)、迁移学习(TL)和少样本学习(FSL)。
目前基于FSL的故障诊断研究还处于起步阶段,现有的研究主要采用基于度量的少样本方法,其分类和泛化性能依赖于选择好的特征提取器和精确的距离度量,需要足够的经验和实验。

二、本文贡献

本文贡献如下:

  1. 提出了一种基于元学习框架的少样本轴承故障诊断方法,该方法通过从已知工况数据中学习元知识,能够快速适应新任务,实现未知复杂工况下的高精度故障分类。
  2. 提出了一种基于N-way K-shot 协议和开源轴承数据集的MLFD模型任务组织方法,满足了基于任务的训练要求,保证了MLFD模型能够从多个不同的任务中学习到更一般的故障信息。
  3. 综合评价了MLFD的性能,实验结果表明,MLFD具有自学习能力,适合解决复杂制造场景下的少样本故障诊断问题。

三、基础知识

3.1.元学习

从多个相关任务中学习先前的经验,并依赖于获得的经验来提高其在目标任务上的表现,而无需从头开始训练。元学习旨在基于"学会学习"元知识 ω 的能力产生一种通用算法,使模型在应用于不同分布的任务时具有更强的泛化能力和更快的自适应能力。元学习的目标描述如下:
在这里插入图片描述
值得注意的是,元学习中的 ω 是在学习过程中跨多个任务学习的,最好的 ω 可以尽可能地减少新任务的损失L。
除了上述与传统方法的区别外,元学习还引入了一系列新的术语。元学习是从人类学习过程中演化而来的,其本质是从多个任务中学习先验知识,对此已有大量的研究。在将元学习的求解转化为优化问题的方法中,MAML是最具代表性的方法。MAML的核心思想是在元训练过程中采用梯度下降法获得模型的初始参数,在应用于数据有限的不可见任务时,通过几个梯度步长更新已有参数以获得最佳性能。此外,MAML算法具有模型不可知性和通用性,适用于不同类型的模型和不同的领域,如回归、分类和强化学习等。MAML已经成功地应用于许多领域:少样本、图像分类、强化学习、语音识别和煤烟密度识别。

元学习术语:
在这里插入图片描述

四、本文方法

新工况下轴承故障的识别是一个典型的少样本分类问题,传统的DL模型难以解决。为此,我们应用先进的元学习理论,提出了基于MAML框架的MLFD方法,流程如图1所示。
整个过程分为四个步骤:

  1. 采集不同工况下的故障样本;
  2. 将其转换为时频图像;
  3. 利用时频图像为元学习准备任务;
  4. MLFD模型实现新工况下的少样本故障分类
    在这里插入图片描述

4.1.数据预处理

利用加速度传感器采集轴承振动信号是故障诊断中最常用的信号采集方法之一。由于原始振动信号仅表示一维时域,通常采用短时傅里叶变换(STFT)将原始数据转换为TFI,以全面获取时频域信息。得到的TFI如图1左上方所示,x轴、y轴和亮度分别代表时间、频率和频域幅度。
STFT通过乘以窗函数 ψ(t) 将信号 f(t) 分解成多个段,并在时间轴上的 τ 处对每个段应用快速傅立叶变换(FFT)。短时傅立叶变换的数学公式如下:
在这里插入图片描述
并且为了减少频谱泄漏,这里使用大小为1024的汉宁窗。
在这里插入图片描述

4.2.数据集构建

可用于组织元学习任务的数据集应满足两个基本条件:

  1. 数据集应包含不同类型的故障以构建多个少样本任务。
  2. 标记样本以计算指标。

本文提出了一种基于开源轴承数据集的MLFD任务组织方法,根据N路K样本协议进行少样本故障诊断。如图1所示,为了确保MLFD从多个不同任务中学习到更一般的故障信息,我们使用已知工况和新工况的TFI分别准备元训练集、元验证集和元测试集。

每个集合包含10种类型的故障,并且在执行10路1-shot(或5-shot)分类任务时将每个TFI视为一个shot。每个任务的目标是用给定的数据正确地分类10种类型的故障。

在元训练集的准备过程中,从每种故障类型中随机抽取 M个TFI,用 K个TFI 组成一个10路K-shot支持集,剩余的TFI组成相应的查询集.每个任务的支持集用于训练故障分类模型并提供相应损失的反馈,训练后的查询集数据用于评价模型的性能。如此反复多次,就可以得到整个元训练阶段的任务。

元验证集和元测试集的任务也是以同样的方式得到的,只不过是提取新工况数据。

4.3.网络详细信息

为了避免在少故障诊断中的过拟合,我们提出的MLFD模型的主干与MAML的主干相同,MAML是具有4个卷积层的简单卷积神经网络(CNN),如图1右上方所示。CNN的输入为84*84个三通道RGB的TFI,每个样本依次经过卷积、批量归一化和max-pooling操作,重复4次,直到满足全连通层。然后利用softmax函数对得到的前几层提取的断层特征图进行分类,CNN的参数如表2所示。
在这里插入图片描述

4.4.元学习算法流程

在这里插入图片描述

  1. 随机初始化参数,采样任务批
  2. 对于每个任务,都先采样支持集;
  3. 再n次梯度下降;
  4. 然后采样查询集的数据;
  5. 所有任务都完成上述过程后,再在查询集上计算所有任务总的损失;
  6. 然后更新模型参数并采样元测试阶段的任务批。
  7. 重复上述操作,直至最后的参数,使用最终的模型在元测试任务上预测故障类别并计算分类准确率!!!

五、实验

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

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

相关文章

线程状态到底是5种还是六种?傻傻分不清楚

目录 从操作系统层面上描述线程状态 从javaAPI层面上理解线程的6种状态 线程的状态转换. NEW --> RUNNABLE 1.RUNNABLE <--> WAITING 2.RUNNABLE <--> WAITING 3.RUNNABLE <--> WAITING 1.RUNNABLE <--> TIMED_WAITING 2.RUNNABLE <--&…

开源天气时钟项目删减和更新

开源天气时钟项目删减和更新&#x1f4cc;原项目开源地址&#xff1a;https://gitee.com/liuzewen/ESP8266-SSD1306-Watch-mini ✨本文只针对Arduino IDE平台代码进行删减和更新。 &#x1f4fa;按键菜单功能 &#x1f33c;天气时钟功能整体架构描述 代码中所使用的库&…

【MySQL】十,SQL执行流程

MySQL中的SQL执行流程 MySQL的查询流程 查询缓存 Server 如果在查询缓存中发现了这条 SQL 语句&#xff0c;就会直接将结果返回给客户端 如果没有&#xff0c;就进入到解析阶段&#xff08;MySQL 8.0 已经废弃了查询缓存功能&#xff09;。 解析器 在解析器中对 SQL 语句进行…

36、基于STM32的电子闹钟(DS1302)

编号&#xff1a;36 基于STM32的电子闹钟&#xff08;DS1302&#xff09; 功能描述&#xff1a; 本设计由STM32单片机液晶1602按键DS1302时钟模块声光报警模组成。 1、采用STM32F103最小系统。 2、利用DS1302芯片提供时钟信号 3、液晶1602实时显示年月日、时分秒、星期等信息…

java线程池原理

背景&#xff1a;为什么需要线程池java中的线程池是运用场景最多的并发框架&#xff0c;几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中&#xff0c;合理的使用线程池能够带来3个好处。降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消…

(1分钟了解)SLAM的七大问题:地图表示、信息感知、数据关联、定位与构图、回环检测、深度、绑架

编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09;SLAM问题也被称为是CML问题。编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09;编辑切换为居中添加图片注释&#xff0c;不超过 140 字&#xff08;可选&…

(JMLR-2019)NAS综述鼻祖-神经架构搜索:一项调查

神经架构搜索&#xff1a;一项调查 paper题目&#xff1a;Neural Architecture Search: A Survey paper是博世人工智能中心发表在JMLR 2019的工作 paper链接&#xff1a;地址 Abstract 过去几年&#xff0c;深度学习在图像识别、语音识别和机器翻译等各种任务上取得了显着进步…

【C++】stl---vector的模拟实现(超级详细,万字详解)

文章目录前言vector的成员属性构造函数size函数cacpcity函数begin和end函数reserve函数insert函数push_back函数[]操作符重载析构函数拷贝构造函数赋值操作符重载erase函数pop_back反向迭代器反向迭代器模板反向迭代器的构造函数运算符重载- -运算符重载*引用操作符重载&#x…

Spring AOP 企业级应用 - 统一功能处理

1.统一用户登录权限效验统一用户登录权限效验使用传统的 AOP 能否解决问题呢 ? Component Aspect // 标识当前类为一个切面 public class LoginAOP {// 定义切点 (拦截的规则) - 拦截 UserController 中的所有方法Pointcut("execution(* com.example.demo.controller.Tes…

React Hooks 基础、实现、原理

React Hooks 基础、实现、原理题外话为什么要有Hooks&#xff1f;但是Class Component 的用法也有缺陷&#xff1a;1.组件复用变的困难2.JavaScript本身的缺陷函数式React HooksuseStateuseEffectuseCallback、useMemouseReducer最后题外话 2023了&#xff0c;新年快乐&#x…

【javascript】DOM 案例

点击查看密码 &#xff1a;就是把type等于password改为text即可&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><…

电力系统强大的Gurobi 求解器的学习(PythonMatlab)

到底有多强大&#xff0c;看看就知道&#xff0c;必须&#x1f44d;&#x1f44d;&#x1f44d;&#xff1a; 目录 1 概述 2 算例理解【Python】 2.1 算例1——详细入门 2.2 算例2——一般线性规划问题 2.3 算例3——非凸问题 3 算例升级【Matlab】 3.1 模型 3.2 电力系统…

Python2.x 与 3​​.x 版本到底有啥区别?

嗨害大家好鸭&#xff01;我是小熊猫~ 今天给大家带来一点小干货~ 很多人对于python的版本有些许疑问&#xff0c; 今天就来给大家说说看~ Python学习资料电子书点击此处跳转文末名片 Python 的 3​​.0 版本&#xff0c;常被称为 Python 3000&#xff0c;或简称 Py3k。 相对…

Mybatis-Plus“读-批量写-读”数据不一致的问题分享

在日常开发过程中&#xff0c;时常会遇到一个如下场景&#xff1a; 根据条件x&#xff0c;读取表A&#xff0c;得到多行数据&#xff1b;遍历读取到的数据&#xff0c;对条件x以外的字段进行修改&#xff0c;并进行保存&#xff1b;&#xff08;重点&#xff09;修改后&#x…

基础算法(七)——离散化

离散化 介绍 这里的离散化&#xff0c;特指整数的、保序的离散化 有些题目可能需要以数据作为下标来操作&#xff0c;但题目给出的数据的值比较大&#xff0c;但是数据个数比较小。此时就需要将数据映射到和数据个数数量级相同的区间&#xff0c;这就是离散化&#xff0c;即…

基于imx6ull第一个Linux驱动

在编译第一个驱动之前&#xff0c;需要把基本的环境准备好&#xff0c;可以参照这两篇文章&#xff1a;https://wlink.blog.csdn.net/article/details/128590747https://wlink.blog.csdn.net/article/details/128591216我们之前写过一个基于ubuntu最基本的字符设备驱动&#xf…

关于固态硬盘冷数据掉速问题解决方案

20230107 By wdhuag 前言&#xff1a; 我有一个西数蓝盘500G固态&#xff0c;系统盘&#xff0c;一年没开机&#xff0c;这个月开机后发现系统很卡&#xff0c;持续读取假死严重。测试没有坏块&#xff0c;网上说的是冷数据掉速问题。 参考&#xff1a; 如何看待西数/闪迪多…

排序算法:插入、希尔、选择、冒泡

目录 一.插入排序 1.算法描述&#xff1a; 2.实现思路&#xff1a; 3.时间复杂度&#xff1a; 代码如下&#xff1a; 二.希尔排序 &#xff08;插入排序的优化升级&#xff09; 1.算法描述&#xff1a; 2.实现思路&#xff1a; 3.时间复杂度&#xff1a; 代码如下&a…

【算法笔记】最近公共祖先(LCA)问题求解——倍增算法

0. 前言 最近公共祖先简称 LCA&#xff08;Lowest Common Ancestor&#xff09;。两个节点的最近公共祖先&#xff0c;就是这两个点的公共祖先里面&#xff0c;离根最远的那个。 这种算法应用很广泛&#xff0c;可以很容易解决树上最短路等问题。 为了方便&#xff0c;我们记…

星光不负赶路人|2022年终总结

时间真快&#xff0c;转眼又是年末。整理一篇文章来给自己好好做一次年终盘点&#xff0c;本着陈述事实&#xff0c;提炼精华&#xff0c;总结不足的思路&#xff0c;给自己这一年的工作、生活、成长画个句号。 工作 &#x1f3e2; 从经海路到中关村 去年换了工作&#xff0c…