首页/文章/ 详情

最大子空间可迁移性判别分析:一种用于风电机组故障迁移诊断的跨域相似性度量新方法

1月前浏览395
本期给大家推荐重庆大学钱泉博士投稿的文章“最大子空间可迁移性判别分析:一种用于风电机组故障迁移诊断的跨域相似度新方法”。作者提出了一种跨域相似性度量新方法(Maximum subspace transferability discriminant analysis, MSTDA),并开源了代码,适合迁移学习、域适应、域泛化方向研究者学习

论文链接:通过点击本文左下角阅读原文进行在线阅读及下载

代码链接https://github.com/QinYi-team/MSTDA
如果下载不了代码,文末有免费获取方法。

论文基本信息

论文题目:Maximum subspace transferability discriminant analysis: A new cross-domain similarity measure for wind-turbine fault transfer diagnosis

论文期刊:Computers in Industry

论文日期:2024年

论文链接:https://doi.org/10.1016/j.compind.2024.104194

作者:Quan Qian (a,b) Fei Wu (a,b) Yi Wang (a,b) Yi Qin (a,b,*)

机构:

a: State Key Laboratory of Mechanical Transmission for Advanced Equipment, Chongqing University, Chongqing 400044, PR China

b: College of Mechanical and Vehicle Engineering, Chongqing University, Chongqing 400044, PR China

作者简介:钱泉,中共党员,重庆大学在校生最高个人荣誉“学生年度人物”和在校研究生最高学术荣誉“十佳学术之星”获得者,长期从事于高端装备故障诊断与预测性维护研究。主持国家自然科学基金博士生项目1项(30万经费资助)和重庆市研究生科研创新项目1项;以第一作者在IEEE trans、MSSP等领域权威SCI期刊上发表中科院一区TOP论文12篇和中科院二区TOP论文3篇(含导师一作&学生二作2篇),其中入选ESI热点论文3篇和高被引论文5篇,谷歌学术累计引用900余次(h指数15、i10指数16);以导师第一&学生第二发明人授权中国专利4项和英国专利1项;累计获3次国家奖学金、中国研究生人工智能竞赛一等奖、重庆市三好学生等国家级奖励11项、省市级奖励14项、校级奖励30余项。

目录

摘要
1 引言
MSTDA相似度测量
2.1 最大子空间表征
2.2 相似度测量准则
算法概述
4 实验研究
4.1 模拟迁移任务的可迁移性判别
4.2 实验台迁移任务可迁移性判别
4.3 实际风电机组迁移任务可迁移性判别
4.4 局限性和未来工作
5 结论

摘要

在故障迁移诊断领域,许多方法仅关注源域和目标域之间的分布对齐和知识迁移。然而,这些方法大多忽略了迁移任务是否具有可迁移前提条件。当前主流的可迁移性判别方法严重依赖于专家知识,并且极易受到噪声干扰和特征尺度变化的影响。由于智能要求和复杂的工业环境,这限制了它们的适用性。为了应对之前提到的挑战,本文介绍了一种新的跨域相似性度量方法,称为零标签先验知识最大子空间可迁移判别分析(Maximum subspace transferability discriminant analysis, MSTDA)。MSTDA包括最大子空间表征和相似度测量准则。在最大子空间表征阶段,设计了一个新的核引导的希尔伯特空间将低维原始样本映射到高维空间,以最大化不同故障的分离性,然后提取可分离的内在故障特征。随后,开发了一种新颖的、能够抵抗特征尺度变化的相似性度量方法。该方法基于内在特征子空间的正交基。使用小批量采样策略来确保MSTDA的时效性。最后,通过三个案例的实验结果,特别是在实际风力涡轮机数据集上的实验结果,验证了所提出MSTDA在迁移性评估方面优于其他相似性度量方法。相关代码可以从https://qinyi-team.github.io/2024/09/Maximum-subspace-transferability-discriminant-analysis下载。
关键词:可迁移性判别分析,内在特征提取,零标签先验知识,故障迁移诊断,相似性度

1 引言

由于深度学习技术的快速发展,人们非常关注数据驱动的机械设备智能故障诊断。然而,训练数据集和测试数据集需要独立且一致分布假设阻碍了实际应用。为此,基于迁移学习的诊断方法提供了一种可行解。这些方法可以利用源域的诊断知识解决目标域中的分布相关但不同的迁移诊断任务。因此,仅包含源域样本的先验标签知识的诊断模型可以直接应用于未标记的目标域。

迁移学习技术在近年来,其分布差异的诊断能力,包括跨负载迁移诊断的任务,得到了认可。此外,强大的诊断性能也证明了迁移学习的优势。深度迁移学习关键在于解决两个领域之间的分布差异,以提取域不变有区分性的故障特征

分布对齐方法可以归类为基于对抗机制的方法和基于分布距离的方法。在实践中,由于以下三个原因,收集的历史数据库中的标记故障样本非常罕见:第一,实际机械设备不允许在故障状态下运行以确保安全。第二,许多工业企业数字化转型缓慢,使得跟踪历史故障样本的标签信息具有挑战性。第三,由于需要拆卸检查和专业知识的参与,打标过程需要大量的时间和财力资源。为了解决这一困境,迁移学习直接利用来自不同工况或机械设备的整个历史数据集作为源域来构建诊断模型。这包括多源迁移学习部分集迁移学习开放集迁移学习。然而,大多数现有的迁移诊断方法没有考虑迁移任务的可迁移性,即没有进行可迁移性分析。如果所选的源域在分布上与测试目标域有显著差异,可能会导致负迁移现象,导致诊断准确性差。因此,拥有一个相似性度量,可以评估源域和目标域之间诊断知识的可迁移性是至关重要的。这个度量还可以帮助在给定的目标域中选择最优的源域,确保迁移诊断任务的可行性。

与分布对齐相比,关于可迁移性的研究相对有限。现有的跨域可迁移性判别相似性度量可以归纳为三种类型:特征可视化分析事后诊断性能分析距离度量分析

  • 第一种方法(特征可视化分析)是使用降维技术(如自动编码神经网络、主成分分析或其他典型方法)将原始样本映射到二维或三维特征空间中。然后,通过观察两个域之间的特征点重叠比大小来作为可迁移性决策标准。巨大的维度缩放可能会导致故障信息丢失,并且主观过程不能保证判别结果的可靠性和规范性。
  • 第二种方法(事后诊断性能分析)使用支持向量机、卷积神经网络等基本分类器的后验诊断准确性确定各种迁移任务的可移植性。虽然第二种方法比第一种方法消除了人为因素的影响,但它需要大量的计算资源和时间。此外,选择基本分类器带来了另一个挑战。
  • 与前两种方法不同,第三种方法(距离度量分析)是一种测量方法,它不需要基于专家知识的辅助分类,可以归类为隐式距离度量显式距离度量。主流隐式距离度量主要包括基于单分类器的A-距离和基于双分类器“XOR”操作的HΔH距离,它们也存在与后验诊断性能分析类似的基分类器的选择问题,并且具有较差的稳定性。显式距离度量是最常用的方法,用于衡量给定源域和特定目标域之间的可迁移性。各种方法,如欧几里得距离余弦距离最大均值差异(MMD)相关性对齐(CORAL)、基于熵的方法和基于优化传输理论的方法已被开发用于此目的。
然而,以下两个缺点限制了它们的应用价值
  • 1)准确测量可迁移性的先决条件是确保不同故障类别具有良好的可区分性,如图1(a)右侧所示。更好的可区分性有助于更准确地测量不同域之间的内在分布差异。然而,由于噪声和其他因素的影响,不同故障类别的数据样本往往混合在一起,可区分性差,如图1(a)左侧所示。因此,当前的距离度量无法准确评估源域和目标域之间的内在差异,如图1(a)左侧部分所示。
  • 2)另一方面,大多数距离度量对故障特征尺度敏感。实际上,在故障迁移诊断中使用非线性特征提取器可能会导致源域和目标域中 特征尺度的不可预测变化。此外,各种预处理方法和特征变换也可以增加尺度变化的范围,如联邦迁移学习范式所证明的。如图1(b)左侧所示,如果我们假设目标域中“故障A”和“故障B”的特征尺度增加,当前的距离度量将导致差异评估的失真,影响迁移性鉴别结果。因此,迫切需要一个强有力的相似度测量,如图1(b)右侧所示。
图1 动机阐述:(a)内在差异表征;(b)与特征尺度相关的相似性度量。在每个子图中,箭头的左侧表示当前主流距离度量在此情况下的缺点,右侧表示理想状态。

基于之前的讨论和分析,很明显,获得内在差异表征的关键因素提高类别之间的可分离性,并建立不依赖于特征尺度的可迁移性标准。为了解决这些问题,本研究提出了一种新的相似性度量方法,称为最大子空间可迁移判别分析(MSTDA)。值得一提的是,MSTDA不需要任何关于目标域标签的先验知识,也不需要关于源域标签的知识。MSTDA包括两个阶段:最大子空间表征和相似性测量方法。在第一阶段,开发了一种新颖的核引导希尔伯特空间,将低维原始样本映射到高维空间,以最大化不同故障之间的可分离性。然后,从高维特征中找到内在的低维嵌入,以实现最有效的子空间表征。接下来,受到参考文献中Grassmann流形启发的启发。Gopalan等人使用奇异值分解(SVD)获得源域和目标域内在特征子空间的正交基。最终,开发了一种新的相似性度量方法,该方法能够不受特征尺度变化影响。此外,采用小批量采样策略来优化计算效率。所提出的MSTDA已成功应用于实际风力涡轮机。主要贡献和创新概述如下:

  • 1) 构建了一个新的内核引导的高维希尔伯特空间,用于提取可分离类特征。它可以确保最终获得具有内在故障特征的最大子空间表征。
  • 2)开发了一种新的相似度测量方法,以消除特征尺度的影响。该方法基于内在特征子空间的正交基。
  • 3)提出的最大子空间表示和相似性测量标准引入了一种新的相似性度量,称为MSTDA,它允许在风力涡轮机迁移任务中进行可迁移判别分析,而没有任何先验知识限制。

2 MSTDA相似度测量

如图2所示,所提的MSTDA相似度测量包括最大子空间表征相似性度量方法。前者用于提取可分离的内在故障特征,后者是实现可迁移性判别的最终步骤,后者对特征尺度具有鲁棒性。在以下小节中,我们将对这些点进行详细介绍。  

图2 所提的MSTDA相似性度量原理图

2.1 最大子空间表征

振动监测信号作为最常用的信息载体,被广泛应用于机械故障迁移诊断中。信号中的噪声往往阻碍了故障特征的挖掘导致不同故障类型的区分能力显著下降。因此,诊断性能和迁移性判别的有效性始终依赖于提取可分离的内在故障特征。为解决上述问题,一个可能的解决方案考虑非线性空间映射的概念。这种方法得到了模式识别理论的支持,该理论认为增加空间的维数可以提高特征的可分性。由于直接进行非线性高维空间映射会带来计算复杂性的爆炸式增长,因此基于内核的映射的方法很受关注。

首先,介绍核的空间映射原理。设    为希尔伯特空间,    为其共轭空间。对于每个有界函数    ,有一个唯一的    :

      (1)

Hilbert空间中的有界线性函数可以表示为两个向量的数量积。将作为希尔伯特空间的正交基,空间中的任何函数都可以视为基上的投影。现在,如何找到这样一组正交基就成了关键。幸运的是,Mercer定理提供了一个可行解,其公式如下:

      (2)
      (3)

其中    是连续对称非负函数,    表示非负特征值,而    表示本征函数。通过核函数    ,低维数据样本可以映射到高维希尔伯特空间,从而增强不同故障之间的可分性。

根据机械振动特性,振动信号在x轴上几乎是对称的,因此,基于能量指数(均方值)设计了一个新的核,即    ,其中使用张量积形式,通过以下理论简化计算量:

      (4)

其中    ,    和    是3个希尔伯特空间,    ,    和    ,    。可以从式(4)得出结论:两个核    的张量积仍然具有核函数的性质。然后,使用核可以用来跨越希尔伯特空间    

      (5)

其中,    是样本集。低维样本可以投影到无限维空间    中以最大限度地增强可分性。不幸的是,高维样本在无限维空间中可能变得不可分。由于数据样本的稀疏性,维度表示具有挑战性,使得测量相似性变得困难。例如,假设在属性维度中满足密集采样的样本数为100,则包括n个属性维度的特征空间需要个    样本。因此,拥有一个来自上述高维希尔伯特空间可分离特征表示的子空间至关重要,也就是可以通过以下方式实现求解正交特征变换矩阵    

      (6)

其中,    和    分别表示图2中的高维特征和内在故障特征。利用最大可重构性,优化目标可以写成如下形式:

      (7)
其中    表示单位矩阵。然后,    被简化为:
      (8)

从式(7)可以看出,优化目标仅与包含    的项相关,式(7)改写如下:

      (9)
其中    是集中的:
      (10)
其中    是一个列向量,所有元素都等于1。

此外,最终优化目标的拉格朗日函数可以表示为:

      (11)

上述参数    表示拉格朗日乘子矩阵。然后,取对    的导数:

      (12)

当    时,可得到下列方程式:

      (13)

从式(13)中可以明显看出,    和    分别是特征协方差矩阵    的特征向量和特征值。不幸的是,特征协方差矩阵不能直接计算获得。为了求解    ,式(13)变换为:

      (14)
其中    包含    。根据式(1)和核技巧,式(14)可改写为:
      (15)
其中    表示相对于    的核矩阵,即    。最后,通过特征值分解可以很容易地得到    和    。从导出的最大子空间上的内在故障特征:
      (16)

可以看出,得到的子空间的维数    将显著影响特征属性,这表明维数过低或过高都会导致故障信息的丢失或维度灾难。由于    表示信息的重要性,因此设置80%的阈值比例以寻求最佳子空间维数。

      (17)

2.2 相似度测量准则

给定源域和目标域样本    和    ,可以使用上述最大子空间表征提取内在故障特征,即    和    ,分别表示源域和目标域。然后,可以使用SVD算法求解内在特征子空间的正交基:
    
其中    和    是特征矩阵的正交基,    是奇异值。应该注意的是,这些源域的维度与    和    有关。
      (19)

目标域的维数计算与上述方程(19)相同。使用Frobenius范数来表示特征矩阵的大小。以源域为例,可以得到以下方程,其中    且    :

      (20)

可以从式(20)中观察到特征尺度只受一个奇异值的影响。因此,设计了一种直观相似度测量准则,旨在衡量两个域的正交基之间的差异,即角度测量。以    且    为例,余弦矩阵在每个源域-目标域特征子空间对(subspace pair)    维度可以表示为:

      (21)

同样,在    上,余弦向量    ,可以计算。当    和    都等于1时,源域和目标域之间的相似度最高,这也表明当前迁移任务具有良好的可迁移性。显然式(18)具有很高的计算复杂度。因此,使用    和    之间的主向角来代替,这可以通过SVD来解决

      (22)
其中    ,并且    代表主向量如图2所示。最后,衡量特定迁移任务下可迁移性的相似度测量标准定义如下:
      (23)
其中    和    分别表示源域和目标域。

3 算法概述

回到最初的问题,从多个源域中为特定目标域选择最合适诊断知识的任务,可以使用上述相似性度量轻松解决。对于给定的目标域    和多个源域    ,最优的源域    可以定义为:
      (24)

为了保证可迁移性判别的实时性,采用了小批量采样策略。所提出的MSTDA算法流程见表1。

表1 所提MSTDA算法流程  

4 实验研究

在这一部分中,进行了三个可迁移性判别实验案例,以测试所提出的MSTDA的普遍性。这些案例包括模拟迁移任务实验台迁移任务实际风力涡轮机迁移任务。此外,MSTDA还针对各种距离度量标准进行了评估,例如MMD、CORAL、A-距离、AHMM和余弦距离,以评估其有效性。由于某些距离(MMD、CORAL、A-距离和AHMM)在相似性测量上与MSTDA具有相反的趋势,即较大的值意味着较小的可迁移性,因此我们使用它们的倒数作为测量标准。所有相似度测量方法都归一化为[0,1]的范围,以确保多个源域-目标域对之间的尺度一致

      (25)

此外,还有三个指标,包括相关性(CORR)一致性(CONS)单调性(MONO)被用来评估每种相似性测量方法的综合性能,这些指标值越大表示可迁移性判别结果越好。给定所有源域-目标域迁移任务(    或    )的可迁移性判别参考基准以及特定方法    对应的相似度值,上述索引可定义如下:

      (26)
      (27)
      (28)

其中    表示简单的单位阶跃函数。参考基准的变量参数是通过模拟实验案例进行预设的而其余案例则基于该预设参数,观察诊断准确性

4.1 模拟迁移任务的可迁移性判别

如图3所示,针对一个包含四种故障类型的目标域,采用二维高斯分布模拟了三种源域方案,如簇尺度变化(    )、簇方差变化(    )和簇中心偏移(    )。每个方案中模拟了五个源域。在每个迁移任务中,源域和目标域的样本数都设置为4×100,维度为2。为了保证可迁移性结果的可信度,对每个迁移任务的实验重复了五次。这有助于解决小型批量采样策略引起的任何潜在不稳定性。此外,所有对比方法都保持相同的实验设置以确保公平性。

图3 三种源域模拟方案: (a)簇尺度变化; (b)簇方差变化;(c)簇中心偏移

三种模拟方案的实验结果列在表2-表4中,包括平均值和标准差。可以清楚地观察到,我们提出的MSTDA相似度测量方法在总体上优于其他方法。在簇尺度变化和簇中心偏移方案方面,MSTDA在三个评价指标中表现出最佳的性能。这些对比方法(MMD、CORAL、A-距离和AHMM)对特征尺度敏感,缺乏提取可分离的内在故障特征能力。因此,它们的可迁移性结果不如MSTDA的结果。考虑到余弦距离容易受矢量方向的影响并且所使用的数据样本是随机生成的,因此其稳定性明显弱于其他测量方法。如表3所示,虽然MSTDA的一致性略低于余弦距离,但其标准差明显较高。这表明MSTDA具有更好的稳定性。

表2 簇尺度变化的可迁移性结果  

表3 簇方差变化的可迁移性结果  

表4 簇中心偏移的可迁移性结果

4.2 实验台迁移任务的可迁移性判别

数据样本通过DDS行星齿轮箱试验台采集。实验台结构如图4(a)所示,由电机、行星齿轮箱、平行轴齿轮箱和磁粉制动器组成。加速度传感器位于行星齿轮箱的壳体上,采样频率为5120 Hz。在行星齿轮箱的第二级太阳轮上模拟了五种健康类型(正常、齿轮磨损、缺齿、表面磨损和齿根裂纹)。通过控制磁粉制动器可以获得四种不同的负载信息:0N·m(负载1)、1.4N·m(负载2)、2.8N·m(负载3)和25.2N·m(负载4)。电机的输出速度为1500 min/r,各负载的样本尺寸和样本数分别设定为3072和4×1000。此外,核函数在表1是根据专业知识和数据特征设置的高斯内核。  
图4 DDS行星齿轮箱试验台:(a)试验台结构; (b)不同负载信息的数据分布  

使用上述收集的数据样本,六个迁移任务如下表5所示(1↔2、2↔3、1↔3、3↔4、2↔4和1↔4)。前面提到的模拟迁移任务,实验台迁移任务的可迁移性判别难度较大,因为各种因素,如噪声环境、传递路径、加工误差,以及装配误差。由于绝大多数故障迁移诊断方法采用卷积神经网络(CNN)作为当前故障诊断的基本分类器,我们也采用了CNN以获得表5和表7中的基准精度,其中原始振动信号直接喂入网络,不进行特征预处理。为了更好地反映迁移性,CNN仅使用源域数据样本进行训练,不采用任何迁移学习技术,然后将目标域数据样本输入到训练好的CNN中进行测试,以评估诊断准确性。此外,由于不同诊断任务的准确性不同,使用“1→2”和“2→1”诊断任务的平均诊断准确性作为最终的基准准确率。以“1↔2”为例,前一个“1”和后一个“2”分别表示“1→2”中的标记源域和未标记目标域,同样适用于“2→1”。考虑到深度神经网络的随机波动性,每个迁移任务执行了10次。从图4(b)中可以看出,负载4的数据分布与其他三种负载明显不同。这表明涉及负载4的迁移任务的迁移能力低于其他迁移任务。这一点通过表5中列出的准确性率得到验证。所有相似性度量方法的实验设置与4.1节一致。最后,表5通过三个评价指标清楚地表明,MSTDA在可迁移性能方面优于其他方法。  

表5 行星齿轮箱试验台迁移任务的可迁移性结果

4.3 实际风电机组迁移任务的可迁移性判别

实际数据集是从风电场的几个风力发电机齿轮箱中收集的。齿轮箱结构如图5所示,由两级行星传动和一级平行轴传动组成。两个齿轮故障位于第二级齿轮环(second gear ring,SGR)和高速轴齿轮(high-speed shaft gear,HSG)。SGR来自两个风力发电机,F34和F47,而HSG来自另外两个风力发电机,F14和F38。从第二级齿轮环和高速轴壳体上放置的两个加速度传感器中提取的监测振动信号用于进行可迁移性判别。两个传感器的采样频率分别为12.8 kHz和25.6kHz。由于低速端的覆盖故障周期所需的最小数据点高于高速端,因此选择第二齿轮环的最小数据点作为所有故障类型的样本维度。这有助于显著减少计算时间,设定样本数据点为20000,每个故障类型的样本数为200。  

图5 实际风力发电机齿轮箱传动结构  

表6显示了使用实际风力涡轮发电机数据集构建八个域的过程。在本小节中选择A作为目标域,而其他七个域被视为源域。表7阐述了7个迁移任务的设置。组中迁移任务的分布差异(A,B,C和D)是由于速度变化导致的,而其余的迁移任务受到不同速度和风力涡轮发电机组合的影响。准确率基准设置与4.1节相似。综合实验结果如表7所示。很明显,我们提出的MSTDA在实际风力涡轮发电机场景中的可迁移性判别性能优于其他方法,具体来说,MSTDA在相关性和一致性方面具有独特优势。与测试集相比,实际风力涡轮发电机数据集的工况在实时工况中呈非线性变化。这使得实际风力涡轮发电机数据集比实验台数据集更具挑战性。  

表6 实际风力发电机组数据集的详细信息  

表7 实际风电机组迁移任务的可迁移性结果  

从表7可以看出,在三个评价指标中,几乎所有方法的性能都不如表5。在大多数迁移任务中,由分类器得到的A-距离往往比其他相似性度量方法具有更高的标准差。鉴于MMD已成为故障迁移诊断领域最主流的分布差异指标,因此,提供了三个基于MMD的相似性指标(AHMM、DDN和KMMD)作对比方法,以进一步证明所提 MSTDA的优势。实验结果如图6所示,可以明显看出,所提MSTDA仍具有最佳的迁移判别能力。最后,实际风力涡轮发电机数据集的综合实验结果进一步证明了MSTDA的优越性和普遍性。  

图6 MSTDA与三个基于MMD指标的实验结果对比

为了直观评估MSTDA在提取可分离故障特征方面的有效性,我们使用t分布随机邻域嵌入(t-SNE)将原始样本和通过MSTDA获得的特征投影到三维空间中。得到的t-SNE映射如图7所示。很明显,在图7(a)中,SGR和HSG之间的重叠数据点比图7(b)中多。这表明MSTDA在利用零标签先验知识提取可分离特征方面是有效的。提取的可分离的内在故障特征将有助于在构建相似性测量准则阶段挖掘跨域的内在差异,从而提高MSTDA的可迁移性判别性能。

图7 三维t-SNE映射:(a)原始数据;(b)提取的故障特征

此外,为了展示不同可迁移性判别方法的尺度鲁棒性,我们以从跨域任务“A↔C1”中提取的故障特征和最大子空间表征为研究对象。通过改变源域“C1”中 特征值的倍数,模拟了不同的特征尺度。所有可迁移性判别方法的相对可迁移性值如图8所示。从图中可以清楚地观察到:除了MSTDA和余弦外,其他四种方法的结果随着预设倍数的改变而波动,它们的波动程度不同,其中A-距离的波动尤为严重。这表明MMD、CORAL、A-距离和L2-距离对特征尺度变化敏感,不能准确反映不同跨域任务之间的相似性。尽管余弦距离表现出很强的特征尺度鲁棒性,但其对可迁移性判别实验的较差表现仍然限制了其在实践中的应用价值。相比之下,MSTDA在保证良好的可迁移性判别性能的同时,保持了良好的特征尺度鲁棒性。

图8 不同可迁移性判别方法对特征尺度变化的敏感性

4.4 局限性和未来工作

应该注意的是,所提MSTDA只能提供不同迁移任务的相对可迁移性,但仍无法回答跨域迁移诊断任务是否可行的问题。其次,MSTDA的成功也严重依赖于不同故障监测数据中存在清晰的决策边界。然而,在实际工程中,由于工作环境的复杂性,固有的可分离性可能会减弱,从而降低MSTDA的判别性能。在未来的工作中,我们将研究能够识别特定跨域诊断任务是否可迁移的自适应阈值决策规则,以及有效的去噪方法。

5 结论

本研究提出了一种称为MSTDA新的跨域相似度度量方法,旨在解决零标签先验知识下的可迁移性判别问题。该方法结合了最大子空间表征和相似度测量准则。为了提高不同故障信号的分离性,在最大子空间表征阶段首先构建一个希尔伯特空间。这是通过用由均方统计量引导设计的核来实现的,该核将低维样本映射到高维空间。然后,提取可分离的内在故障特征来表示源域和目标域之间的分布差异。此外,基于源域和目标域内在特征子空间的正交基(通过SVD获得)开发了一种新的相似性度量准则,严格证明了该准则在特征尺度上的鲁棒性。最终,综合的实验结果和讨论证实MSTDA优于其他相似性度量方法的迁移判别性能。


编辑:李正平
校核:陈凯歌、赵栓栓、曹希铭、赵学功、白亮、任超、海洋、Tina、陈宇航、陈莹洁、王金
该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除
点击左下角阅读原文,即可在线阅读论文。


来源:故障诊断与python学习
Mechanical振动非线性旋转机械航空python海洋UM声学裂纹电场理论电机传动人工智能
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-01-11
最近编辑:1月前
故障诊断与python学习
硕士 签名征集中
获赞 77粉丝 81文章 169课程 0
点赞
收藏
作者推荐

手把手教你安装GPU版Pytorch环境及手把手带大家跑通第一个故障诊断案例!!!(上)

故障诊断方向而言,无论是信号处理、特征提取、故障分类还是寿命预测,所有的方法实现基本都依靠于Python代码,很多小白遇到的第一个拦路虎便是代码环境的配置。Pytorch是Python第三方库的一种,里面包含很多深度学习机器学习的函数,Pytorch本身有两个版本,一个是简便的CPU版本,一个是高速高效的GPU版本。另外代码编辑器可以直接用于编写、编辑和运行代码。它们提供了代码高亮、自动补全、代码调试、版本控制集成等功能,以提高开发效率和代码质量,也是故障诊断相关代码的必备工具之一。本期给大家带来Pytorch环境(Anaconda)安装教程,并附带代码编辑器配置过程。每一部分内容都附带推荐的视频教程以及教程链接,保证每一位故障诊断学习者都能搭建自己的代码平台。此外,后续文章还手把手带大家跑通第一个故障诊断案例,代码包含数据处理,1DCNN模型搭建,模型训练,以及模型评估等故障诊断完整过程,特别适合研一、研二小白入门。 本期涉及代码非常详细,所占篇幅也非常多,所以分三次呈现给大家,该文章是本期第1篇文章,主要介绍了Python环境以及各个软件环境安装。第2篇文章主要介绍西储大学数据集以及一些所需深度学习基础知识,文章后半部分讲解了本期代码的数据预处理以及数据切割等部分。第3篇文章主要构建1DCNN模型框架以及模型训练模型检测等内容。软件及环境链接:通过点击最左下角的阅读原文进行在线下载。目录1 引言2 安装Anaconda 2.1 Anaconda介绍 2.2 Anaconda安装3 配置Pytorch环境(CPU版) 3.1 Pytorch介绍 3.2 Pytorch配置教程(CPU版)4 配置Pytorch环境(GPU版) 4.1 两种Pytorch区别(看是否支持GPU) 4.2 CUDA安装 4.3 Pytorch配置教程(GPU版)5 配置代码编辑器 5.1 代码编辑器区别 5.2 VScode编辑器 5.3 Pycharm编辑器 5.4 JupyterNotebook编辑器注:以上为本篇内容,小编能力有限,如有不恰之处,请多多指正~6 故障诊断代码示例 (重中之重) 6.1 代码介绍 6.2 检验环境 6.3 故障诊断实战代码1 引言在学习故障诊断相关代码时,拥有一个强大且灵活的开发环境是至关重要的。Anaconda和Pytorch正是这样的工具,它们为我们提供了一个完整的生态系统,用于进行数据分析、模型训练和部署,是目前常用的工具软件资源。虽然网上Anaconda及Pytorch安装教程资源比较丰富,但对一些细节部分,比如在安装GPU版本的Pytorch时,是否需要安装CUDA、以及如何查看CUDA版本等问题上仍存在一些歧义。本文将用通俗易懂的语言及方法带大家了解这些概念,并选择自己最合适的方法。此外,本文提供了下载GPU版Pytorch的快捷方式,以及通俗易懂的视频教程链接,为读者朋友们在安装过程中尽可能带来更多的便利。本期第2篇、第3篇提供了故障诊断实例以及学习代码的必备基础知识,代码包含数据处理,1DCNN模型搭建,模型训练,以及模型评估等故障诊断完整过程,为读者朋友们提供了基本的代码框架。总的来说,本期文章旨在为初学者及入门小白提供一个全面的指南,第1篇科普一些基本概念的同时,提供详细操作过程,帮助大家安装和配置Anaconda环境,以及在该环境中配置Pytorch(包含CPU和GPU两种版本)。此外,本期第2篇、第3篇还带大家学习一个完整故障诊断代码示例,深入学习故障诊断代码的各个框架,为接下来学习打下夯实的基础。无论您是在寻找一个全新的开发环境,还是希望优化现有的工作流程,本期文章都将为您提供必要的指导和资源。2 安装Anaconda2.1 Anaconda介绍Anaconda是一个流行的开源Python配置环境集 合,它包含了大量的科学计算、数据分析和机器学习库。它通过Conda包管理器简化了环境管理和依赖关系,使得安装、运行和更新软件包变得异常简单。Anaconda的另一个显著特点是它提供了一个集成的IDE(集成开发环境),即AnacondaNavigator,这使得项目管理和工具集成变得更加直观。总的来说,不同故障代码的所需环境有可能不同,而使用Anaconda可以直接管理项目环境,特别适用于小白新手用于搭建所需的不同环境。2.2 Anaconda安装教程2.2.1 下载1)官网下载网站:https://www.anaconda.com/download图1 Anaconda官网2) 文末获取点击文末阅读原文,您将获得Anaconda安装包、清华镜像源文件,代码编辑器等本期文章涉及的相关文件。2.2.2 安装1) 双击程序管理员运行 图2 Anaconda安装步骤12) 点击Next图3 Anaconda安装步骤23) 点击同意图4 Anaconda安装步骤34)选择合适存储位置图5 Anaconda安装步骤45)选择全部选项图6 Anaconda安装步骤56)点击Next图7 Anaconda安装步骤67)点击Next图8 Anaconda安装步骤78) 取消全部选项,点击Finish图9 Anaconda安装步骤82.2.3 配置环境1)设置里选择系统图10 配置步骤12)选择高级系统设置图11 配置步骤23) 环境变量图12 配置步骤34) 清除之前的环境路径分别连续单击两下 Path 第一步、第二步,看自己的环境变量路径中是否Pythonanaconda\Scriptanaconda\Library\bin 等关于 Python 和 anaconda 的路径,如果有的话直接删除。5) 新建路径在系统变量中点击Path,点击新建,然后点击浏览,找到之前Anaconda安装文件(D:\Software\Anaconda\Anaconda)中Scripts文件,生成一条环境变量。继续点击新建,浏览,找到之前Anaconda安装文件(D:\Software\Anaconda\Anaconda)中的bin文件生成一条环境变量。图13 配置步骤46) 完成配置,一步一步点击确定退出即可。7) 检验环境变量是否配置成功Win+R后输入cmd,管理员运行进入命令提示符,然后命令输入conda --version图14 配置步骤5如果输出conda 24.1.2之类的就说明环境变量设置成功了。3 配置Pytorch环境(CPU版)3.1 Pytorch介绍Pytorch是一个开源的机器学习库,由Facebook的AI研究团队开发。它以其动态计算图和易用性而闻名,特别适合于研究和快速原型开发,也是故障诊断代码常用的框架之一。Pytorch提供了两个版本:CPU版和GPU版。GPU版可以显著加速深度学习模型的训练和推理过程,但需要相应的硬件支持和CUDA环境。在安装GPU版的Pytorch时,网上对CUDA的安装众口不一,经过小编查询如果只用Pytorch框架,可以不安装CUDA,安装GPU版的Pytorch会自带cuda,如果使用tensorflow框架则需安装CUDA,具体讲解链接如下。https://docs.infini-ai.com/posts/where-is-cuda.htmlhttps://blog.csdn.net/m0_61141741/article/details/134710343本章节首先介绍CPU版Pytorch安装,CPU版安装具有操作简单,速度快的特点,适合所有电脑安装,特别是没有独显的电脑。3.2 Pytorch配置教程(CPU版)3.2.1 常见Anaconda相关指令#查看 python 环境conda env list#安装 python 环境conda create -n python311 python=3.11# 卸载 python 环境conda remove -n python311 --all#激活环境activate python311#安装第三方包pip install numpy#卸载第三方pip uninstall numpy# 列出当前环境下的所有库 conda list # 安装NumPy库,并指定版本1.21.5 pip install numpy==1.21.5 -i https://pypi.tuna.tsinghua.edu.cn/simple # 安装Pandas库,并指定版本1.2.4pip install Pandas==1.2.4 -i https://pypi.tuna.tsinghua.edu.cn/simple# 查看当前环境下某个库的版本(以numpy为例) pip show numpy # 退出虚拟环境 conda deactivate3.2.2 安装教程1) Win+R后输入cmd,管理员运行进入命令提示符。2) 创建名为“环境名”的虚拟环境,并指定Python的版本。 conda create -n python311 python=3.11图15 创建环境名3) 进入名为“环境名”的虚拟环境 conda activate python3114) 安装Python第三方库在安装第三方库时,清华镜像源在国内服务器上提供了高速稳定的服务,这样可以加快安装第三方库的速度,并且在访问时更加稳定可靠。对于我们批量安装第三方库,相当于开了一个加速器,所以第一步要按照下面教程配好镜像源,然后按教程批量安装即可。a.点击文末阅读原文获得所需文件b.配置文件首先打开打开 C:\用户\你的电脑管理员名称文件(是自己的 用户名称 文件夹,不是公共,也不是Default),然后在此文件夹里面新建一个文件夹名称为 pip,把下载好的 pip.ini 文件 放进 pip 文件夹中即可,如下图所示。图16 配置Pip步骤1图17 配置Pip步骤2图18 配置Pip步骤3这样就配置好了清华镜像源,以后 pip命令下载第三方库的时候,就不需要每次都手动 添加镜像源命令了。5)批量安装把Pip.txt文件下载到自己电脑上,比如现在的文件位于D:\Software\ Anaconda目录下面。首先,Win+R后输入cmd,管理员运行进入命令提示符,输入activate DL激活Anaconda管理的Python环境,然后输入:d:定位到D盘,接着输入:cd Software\Anaconda定位到Pip.txt文件下。图19 批量安装步骤1最后,输入安装命令,进行批量安装。pip install -r Pip.txt图20 批量安装步骤26) 安装其他库上述文件覆盖了绝大多数库,如果需要安装其他库,则直接管理员运行命令提示符,然后激活环境,输入相应指令即可完成安装需要的库。此时,CPU版本的环境已经搭建完毕,可以运行相关代码开始故障诊断学习之旅。4 配置Pytorch环境(GPU版) 4.1 两种Pytorch区别(看是否支持GPU) Pytorch提供了两个版本:CPU版和GPU版。GPU版可以显著加速深度学习模型的训练和推理过程,但需要相应的硬件支持和CUDA环境。对计算机而言,中央处理器CPU是主板上的芯片,图形处理器GPU是显卡 上的芯片。每台计算机必有主板,但少数计算机可能没有显卡。目前显卡有三家厂商:Intel、Nvidia、AMD。深度学习所需要的显卡是Nvidia, 没有此显卡的同学无法进行GPU加速。查看自己的计算机的显卡的方法是:任务管理器——性能——左侧栏划到最下面。图21 查看显卡如图所示,CPU下方是Nvidia,由此支持GPU版本的Pytorch。 4.2 CUDA安装NVIDIA 显卡中的运算平台是CUDA,即使计算机有NVIDIA显卡,但显卡中也不一定含有CUDA,没有的话就要下载CUDA。而Pytorch 的下载组件里也会包含一个内置的cuda,所以如果仅使用Pytorch,也可以不下载CUDA。对于CUDA查看指令,网上也众口不一,通过查询资料,小编找到相对可信的代码查看指令,首先输入Win+R后输入cmd,进入命令提示符,输入nvcc -V查看安装版本。如果显示“nvcc -V不是内部或外部命令”,则说明需要安装CUDA。接着输入nvidia-smi查看支持的CUDA版本。图22 查看CUDA版本4.2.1 CUDA下载1)官网下载CUDA的下载链接:https://developer.nvidia.com/cuda-toolkit-archive图23 CUDA下载网站2) 文末获取4.2.2 CUDA安装1)下载好之后,点击exe文件,选择临时的解压文件夹。图24 CUDA安装步骤12)解压好后,进入如下图安装界面,同意并继续。图25 CUDA安装步骤23)点击“自定义”图26 CUDA安装步骤34)仅仅选择CUDA选项,并取消CUDA中关于VS的选项。图27 CUDA安装步骤45)完成后,按照默认的C盘路径进行安装。图28 CUDA安装步骤56)安装结束图29 CUDA安装步骤67) 输入nvcc -V查看安装版本图30 CUDA安装步骤74.3 Pytorch配置教程(GPU版)4.3.1 创建虚拟环境1) Win+R后输入cmd,管理员运行进入命令提示符。2) 创建名为“环境名”的虚拟环境,并指定Python的版本。 conda create -n 环境名 python=3.11图31 创建环境3) 进入名为“环境名”的虚拟环境 conda activate DL311 4) 安装Pytorch库进Pytorch官网:PyTorch,根据自己电脑情况选择合适的Pytorch安装包。图32 获取安装命令 复 制下方代码,并在DL311环境下运行。pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 5)安装其他库时,可以安装CPU方法直接安装。5 配置代码编辑器5.1 代码编辑器代码编辑器是用于编写、编辑和运行代码的工具。它们通常提供了代码高亮、自动补全、代码调试、版本控制集成等功能,以提高开发效率和代码质量。1) Jupyter Notebook用途:主要用于数据分析、科学计算和机器学习领域,支持交互式编程,可以方便地展示代码、计算结果、可视化图表和文档。特点:支持多种编程语言(主要是Python),允许将代码、输出结果和解释性文本整合在一个文档中,便于分享。2) Visual Studio Code (VSCode)用途:是一个轻量级但功能强大的源代码编辑器,支持多种编程语言,包括Python、JavaScript、C++等。特点:提供了丰富的插件生态系统,可以扩展其功能。它支持代码调试、版本控制集成(如Git)、代码高亮和自动补全等。3) PyCharm用途:是一个专为Python开发的集成开发环境(IDE),提供了许多针对Python开发的特性。特点:提供了代码分析、智能代码补全、项目结构导航、版本控制集成等功能。PyCharm有两个版本:免费的Community Edition和付费的Professional Edition,后者提供了更多高级功能,如Web开发和数据库支持。5.1.1 编辑器区别交互性:Jupyter Notebook以其交互性著称,适合于快速迭代和数据探索。VSCode和PyCharm则更侧重于完整的开发周期,包括代码编写、调试和版本控制。语言支持:Jupyter Notebook主要支持Python,而VSCode和PyCharm支持多种编程语言。集成度:PyCharm作为一个IDE,提供了更完整的集成开发环境,包括项目管理、调试和测试工具。VSCode虽然是一个编辑器,但通过插件也可以实现类似的功能。用户界面:Jupyter Notebook的界面更倾向于文档和笔记本风格,而VSCode和PyCharm则提供了更传统的代码编辑器界面。性能:对于大型项目,VSCode和PyCharm可能在性能上更优,因为它们对大型文件和复杂项目结构有更好的优化。社区和插件:VSCode拥有一个非常活跃的社区和大量的插件,这使得它在功能上非常灵活和强大。5.2 VScode编辑器安装1)官网下载安装包(文末也提供安装包)Visual Studio Code - Code Editing. Redefined2)双击安装图33 VScode安装步骤13) 选择安装地址图34 VScode安装步骤24)选择附加任务图35 VScode安装步骤35)安装汉化插件图36 安装汉化插件6)安装Jupyter插件图37 安装Jupyter插件7)安装Python插件图38 安装Python插件5.3 Pycharm编辑器5.3.1 Pycharm安装Pycharm安装教程,往期已发布。具体如下链接,本期在这里只讲如何加入我们所创的Python环境。初学者必看 | Python及PyCharm安装教程1) 打开Pycharm,点击文件,选择设置。 图39 Pycharm添加环境步骤12)点击项目:Pycharm代码,选择Python解释器。点击齿轮,选择添加。图40 Pycharm添加环境步骤23)点击conda环境,选择现有环境,添加所需环境。图41 Pycharm添加环境步骤34) 安装完成图42 配置完成5.4 JupyterNotebook编辑器Anaconda附带了数据分析常用的Jupyter Notebook,之前被称为 IPython notebook,是一个交互式笔记本。Jupyter Notebook 的本质是一个 Web应用程序,可以将代码、图像和文档全部组合到一个web文档中,便于创建和共享程序文档,支持实时代码,数学方程,可视化和markdown,在数据清理和转换,数据分析,统计建模,机器学习等方面应用广泛。具体使用过程,之前的文章有教学,这里不再赘述,小编推荐使用前两个编码器,而且二选一即可,如果对JupyterNotebook感兴趣,可以点击下方链接。基于Anaconda的Python及jupyter notebook编辑器的安装教程注:由于文章篇幅有限,代码部分见下一期内容,大家先根据步骤安装相应软件,下期内容首先带大家用代码检验自己环境Pytorch是否支持GPU加速,然后用安装的环境分别跑一个入门代码,学习故障诊断及深度学习基础知识,最后比较一下速度。注:上述相关安装可参考以下视频链接 【Python深度学习:安装Anaconda、Pytorch(GPU版)库与PyCharm】https://www.bilibili.com/video/BV1cD4y1H7Tk?vd_source=cae3d8d89802cd2ce396a8215379c3ca 编辑:赵栓栓校核:李正平、陈凯歌、曹希铭、赵学功、白亮、王金、陈莹洁、陈宇航、任超、海洋、Tina该文资料搜集自网络,仅用作学术分享,不做商业用途,若侵权,后台联系小编进行删除点击左下角阅读原文,即可在线阅读论文。 来源:故障诊断与python学习

有附件
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈