针对故障诊断领域开源代码较少,小编整理搜集了一些开源代码与大家进行分享。本期分享的是轴承故障诊断迁移学习综述。由于该论文是2023年发表在TIM上的,综述了近6年的迁移学习方法。该开源代码有各种迁移学习方法的模型,因此这篇开源代码适合参考借鉴并在上面进行改进,适合具备一定的迁移学习和深度学习基础知识的学习者。
代码链接:https://github.com/Xiaohan-Chen/transfer-learning-fault-diagnosis-pytorch
注:如果下载不了代码,文末有免费获取方法。
论文题目:Deep Transfer Learning for Bearing Fault Diagnosis: A Systematic Review Since 2016
论文期刊:IEEE Transactions on Instrumentation and Measurement
论文时间:2023年
作者:Chen, Xiaohan1 and Yang, Rui2 and Xue, Yihao1 and Huang, Mengjie3 and Ferrero, Roberto4 and Wang, Zidong5
机构:School of Advanced Technology, Xi’an Jiaotong-Liverpool University 1,Department of Electrical Engineering and Electronics, University of Liverpool 2,Department of Computer Science, Brunel University London 3
传统的基于深度学习的轴承故障诊断方法假设训练数据和测试数据遵循相同的分布。然而,对于实际场景中收集的轴承数据,这一假设并不总是正确的,导致故障诊断性能显着下降。为了满足这一假设,在深度学习中引入迁移学习的概念,将从其他数据或模型中学习到的知识进行迁移。深度迁移学习方法由于其出色的特征学习和领域迁移能力,近年来在轴承故障诊断中得到了广泛的关注。本文对2016年以来基于深度迁移学习的轴承故障诊断方法的发展进行了全面回顾。本文从标签、机器和故障划分目标域数据属性的角度,提出了一种基于深度迁移学习的轴承故障诊断方法。本文涵盖了基于深度迁移学习的故障诊断的全生命周期,并讨论了研究的挑战和机遇,为研究人员和从业者根据轴承故障诊断中遇到的实际问题,有效地识别合适的深度迁移学习模型提供了系统的指导。
关键词:轴承故障;迁移学习;故障诊断
1 论文基本信息
2 摘要
3 目录
4 引言
5 定义与故障诊断流程
6 开源轴承故障数据集
7 轴承故障迁移学习诊断
8 定性分析
9 机遇与挑战
10 总结
11 README.md
注:本文只选中原论文部分进行分享,若想拜读,请下载原论文进行细读。
图1 基于传统机器学习的故障诊断方法、基于深度学习的故障诊断方法和基于迁移学习的故障诊断方法的区别
虽然以前的综述总结了显著的成果,但大多数综述从方法论的角度划分了研究问题,而不是从轴承故障诊断等实际应用中的数据角度。为了给研究人员和从业者提供合适的迁移学习方法选择建议,作者回顾了2016年以来基于深度迁移学习的轴承故障诊断的研究进展,从目标域数据属性的角度对该主题的文献进行了分类,并对广泛使用的深度迁移学习方法进行了全面的分析和讨论。本调查对弥补当前文献差距的贡献总结如下:
图2为一个轴承迁移学习故障诊断实例示意图。
图2 基于迁移学习的故障诊断实例
5.1 轴承故障诊断迁移学习流程
本文综述了深度迁移学习在轴承故障诊断中的研究进展,并从目标域数据属性的角度提出了一种新的分类方法。当研究人员和从业者遇到跨域轴承故障诊断问题时,基于迁移学习的轴承故障诊断的一般过程可分为两个步骤:
图3 轴承故障诊断的深度迁移学习诊断过程
实验室数据是在预先设定机械结构和可变工况的受控环境中收集的,并通过人为轴承损伤和加速退化实验两种方式引入故障。人为轴承损伤是基于工程师和研究人员的工作经验,因此在实际工业场景中可能会发生这种人为故障。加速退化实验是获取类似工业场景退化数据的有效途径,揭示了轴承从健康到失效的完整退化过程。此外,加速退化实验中轴承故障的发生方式与工业环境中的故障相同。因此,从实验室机器收集的公共数据集中的故障特征可以被重用来诊断其他机器的轴承故障诊断问题。
6.1 人造故障数据集
人为故障轴承数据集通常是通过对轴承进行人为加工损伤产生故障轴承,然后对故障轴承进行状态监测来生成故障数据的[94]。
CWRU数据集是目前最流行的人为故障数据集之一,它包含了不同电机负载下加速度计采集的振动信号,通过电火花加工在轴承外圈、内圈和滚动体上加工不同直径的故障。
机械故障预防技术学会(MFPT)和渥太华大学数据集(UofO)也是基于振动信号的数据集,提供不同负载下的正常、外圈和内圈故障数据。
帕德博恩大学(PU)数据集包含两个数据集:人为故障数据集和加速退化故障数据集,其中人为故障是由电火花加工、钻孔和手动电雕刻引起的,加速退化故障是在不同转速、载荷和径向力下从轴承外圈和内圈收集的。PU数据集中的人为故障数据既包括安装在电机与变频器之间的电流传感器采集的电流信号,也包括作为参考测量的振动信号。
6.2 加速退化数据集
加速退化数据集是由轴承在各种工况下的加速退化实验生成的,反映了轴承从新的到完全失效的完整生命周期。在加速退化实验结束时,可以得到不同的故障位置,如外圈、内圈、滚动体和保持架。
IEEE PHM 2012数据集是典型的加速退化数据集,包含振动和温度两种类型的信号,具有两个加速度计和一个温度传感器,用于不同工况下的数据监测。
另外三个加速退化数据集(XJTU-SY、PU和IMS数据集)只有振动信号:XJTU-SY和PU数据集中的故障数据是多工况采集的,IMS数据集中的故障数据是单工况采集的。
自2016年以来,深度迁移学习得到了广泛的关注,并成功应用于轴承故障诊断领域。本节对解决轴承跨域故障诊断问题的相关文献进行了系统综述。为了给读者一个全面的概述,所提到的参考文献总结在表2。
7.1 归纳迁移学习(Inductive Transfer Learning)
归纳迁移学习可以分为两种情况:监督迁移学习和半监督迁移学习。监督迁移学习要求所有的目标域标签都是可用的。半监督迁移学习允许在训练过程中对少量目标域数据进行标记,而对大量目标域数据进行去标记。此外,根据故障数据来源,本综述将有监督迁移学习和半监督迁移学习分为不同机器间迁移和同一机器间迁移,如表3所示。
图4 四种典型的深度迁移学习模型的基本框架(1)基于微调的方法,(2)基于统计的方法,(3)基于对抗的方法,(4)基于少量样本的方法
7.1.1 监督迁移学习
监督迁移学习要求标签在源域和目标域都可用。基于监督迁移学习的常见故障诊断任务可分为不同机器之间和同一机器之间的迁移(见表3)。
不同机器之间迁移
在此迁移场景中,目标域的故障数据是从源域的不同机器上收集的。由于不同机器的机械结构、轴承类型、工况等不同,故障数据的分布也不同。利用源域数据训练的故障诊断模型在不进行知识迁移的情况下,不能达到令人满意的诊断效果
相同机器之间迁移
在此迁移场景中,源域和目标域数据从同一台机器收集,但工作条件不同。文献中现有的基于深度迁移学习的故障诊断方法可分为基于微调和基于少样本两大类。
(1) 基于微调(fine-tune-based):通过迁移从其他工况中学习到的模型和/或参数,来提高诊断模型在新工况中的性能。
(2) 基于少样本(few-shot-based):少样本学习方法不需要大量的标签数据就能获得令人满意的预测结果,减少了数据收集和计算成本。因此,当遇到数据有限的故障诊断问题时,研究人员通常采用少样本学习方法来解决不同工况或工况间的域迁移问题。
7.1.2 半监督迁移学习
半监督迁移学习结合了目标域中少量打标的故障数据和大量未打标数据的情况,提供了一种有效利用已打标和未打标数据的方法。在目标领域引入大量辅助的未打标数据,使迁移学习模型能够挖掘属于源域和目标域数据的共同潜在特征。现有的半监督迁移学习方法可分为基于统计的方法和基于对抗的方法。
基于统计的方法:基于统计的迁移学习的基本思想是通过最小化源域和目标域的分布差异来学习域不变表示[见图4(2)]。最大平均差异(MMD)是评价数据分布距离最常用的度量。
基于对抗的方法:为了从源域和目标域数据中提取域不变特征,Ganin和Lempitsky[116]提出了域自适应神经网络(DANN),这是一种基于对抗性的深度迁移学习方法,包含三个模块:特征提取器、域判别器和分类器。特征提取器从源和目标域数据中提取领域不变表示,分类器和域鉴别器分别预测类和领域标签。
7.2 直推式学习(Transductive Transfer Learning)
本文综述了现有的轴承故障诊断中的迁移学习方法,将其分为不同机器之间的迁移和同一机器之间的迁移。此外,根据故障标签的性质,将不同/相同机器迁移场景下的方法进一步分为相同故障间迁移和不同故障间迁移。
7.2.1 不同机器间的迁移
轴承信号的时频域特性受机器类型和结构的影响很大,因此不同机器的特征分布可能有很大差异。为了解决不同机器之间的特征差异问题,研究人员利用深度迁移学习技术提出了多种方法,包括基于统计的、基于对抗的和基于few-shot的方法,如表4所示。
图4 轴承故障诊断中不同机器间直推式迁移学习综述
相同故障之间迁移
i) 基于统计的方法
ii) 少样本方法
iii) 混合方法:全局域自适应广泛应用于轴承跨域故障诊断,预训练的源分类器理论上可以预测目标故障。然而,如果只对全局数据分布进行对齐,而忽略了各个类之间的分布差异,可能会导致分类边界附近的样本被错误地分类到其他类中。因此,Liu等[130]提出了一种跨域轴承故障诊断问题的全局域和子域联合自适应方法。提出了一种基于对抗的网络从输入数据中提取全局域不变特征,并采用局部MMD模块最小化子域分布差异。
不同故障之间迁移
7.2.2 相同机器之间迁移
不同工况下同一机器之间的迁移是最常见的迁移学习场景。现有研究可分为相同故障间迁移和不同故障间迁移两大类。同一故障间的迁移包括基于统计的方法、基于对抗的方法和混合的方法,不同故障间的转移只包含基于对抗的方法,如表5所示。
相同故障之间迁移
i) 基于统计的方法
ii) 基于对抗的方法
iii) 基于少样本的方法
不同故障之间迁移
i) 基于统计的方法
ii) 基于对抗的方法
许多研究表明,在目标域数据有限或源域数据与目标域数据分布不同的情况下,基于深度迁移学习的轴承故障诊断是有效的,可以达到比从头开始训练更高的准确率。受文献[165]的启发,作者在表6中引入了六个标准来评估其特征:
标签依赖性:方法是否需要目标标签;
数据可扩展性:方法是否需要大数据集来训练模型;
部署难度:是否方法难以部署;
效率:方法的计算成本;
可扩展性:是否可以通过替换现有模块或添加新模块来实现方法的模块化和扩展,以解决更复杂的问题或实现更好的性能;
性能:诊断方法的准确性。
表6 不同迁移学习方法的比较(*:低,:中,:高)
● 可迁移性评估
● 标签不一致迁移
● 数据质量差情况下的迁移
● 不同信号类型之间的迁移
● 多源迁移
● 早期故障诊断
● 不同机器之间迁移的应用
本文综述了2016年以来基于深度迁移学习的轴承故障诊断的发展概况。通过覆盖深度迁移学习的整个生命周期,包括源域数据选择、数据预处理和迁移学习模型选择,为即将开始或扩展轴承故障诊断工作的研究人员和从业者提供了详细的系统指南。介绍和讨论了七个开源轴承数据集和常用的数据转换方法,为研究人员和从业者提供了适当的数据选择和转换的选择。此外,从目标域数据属性按标签、机器和故障划分的角度,提出了一种基于深度迁移学习的故障诊断方法的新分类方法,可以帮助研究人员和从业者根据故障诊断中遇到的实际问题高效地找到合适的深度迁移学习模型。最后,讨论了未来研究的挑战和机遇,包括可移植性评估、数据质量差情况下迁移、多源迁移、早期故障诊断以及在不同机器之间迁移中的新应用。综上所述,本文系统阐述了2016年以来基于深度迁移学习的轴承故障诊断的发展情况,为该领域的研究发展提供了有价值的指导和对未来实践的重要意义。
1. Introduction
2. Citation
For further introductions to transfer learning in bearing fault diagnosis, please read our paper. And if you find this repository useful and use it in your works, please cite our paper, thank you~:
@ARTICLE{10042467,
author={Chen, Xiaohan and Yang, Rui and Xue, Yihao and Huang, Mengjie and Ferrero, Roberto and Wang, Zidong},
journal={IEEE Transactions on Instrumentation and Measurement},
title={Deep Transfer Learning for Bearing Fault Diagnosis: A Systematic Review Since 2016},
year={2023},
doi={10.1109/TIM.2023.3244237}}
3. Requirements
python 3.9.12
Numpy 1.23.1
pytorch 1.12.0
scikit-learn 1.1.1
torchvision 0.13.0
4. Dataset
Download the bearing dataset from CWRU Bearing Dataset Center and place the .mat files in the ./dataset folder according to the following structure:
dataset/
└── CWRU/
├── Drive_end_0/
│ └── 97.mat 109.mat 122.mat 135.mat 173.mat 189.mat 201.mat 213.mat 226.mat 238.mat
├── Drive_end_1/
│ └── 98.mat 110.mat 123.mat 136.mat 175.mat 190.mat 202.mat 214.mat 227.mat 239.mat
├── Drive_end_2/
│ └── 99.mat 111.mat 124.mat 137.mat 176.mat 191.mat 203.mat 215.mat 228.mat 240.mat
└── Drive_end_3/
└── 100.mat 112.mat 125.mat 138.mat 177.mat 192.mat 204.mat 217.mat 229.mat 241.mat
️ 7. See also
Multi-scale CNN and LSTM bearing fault diagnosis
8. Acknowledgement
@article{zhao2021applications,
title={Applications of Unsupervised Deep Transfer Learning to Intelligent Fault Diagnosis: A Survey and Comparative Study},
author={Zhibin Zhao and Qiyang Zhang and Xiaolei Yu and Chuang Sun and Shibin Wang and Ruqiang Yan and Xuefeng Chen},
journal={IEEE Transactions on Instrumentation and Measurement},
year={2021}
}
免费获取方法
公众号《故障诊断与python学习》点击1次文末广告,对本文点赞+在看,发送截图至公众号《故障诊断与python学习》,即可免费获得链接(代码+论文)。
由于是人工发送,不一定及时发送,最晚24h内发送。