基于小样本学习的跨类别故障诊断方法、系统及存储介质

文档序号:25588334发布日期:2021-06-22 17:04阅读:98来源:国知局
基于小样本学习的跨类别故障诊断方法、系统及存储介质

本发明涉及滚动轴承振动信号处理技术领域,尤其涉及一种基于小样本学习的跨类别故障诊断方法、系统及存储介质。



背景技术:

研究先进的机械故障诊断方法是保障设备与人员安全的重要内容,其中,轴承是旋转机械中最为重要的机械零件之一,广泛应用于电力、化工、冶金、航空等各个重要领域,同时轴承也是最容易损坏的元件之一,轴承性能和工况的好坏会直接影响到整台机器设备的性能,轴承性能和工况的缺陷会导致设备产生异常振动和噪声,甚至造成设备损坏。因此,对滚动轴承进行故障诊断,尤其对滚动轴承早期故障的分析,尤为重要。

现有技术中,深度学习理论以其强大的建模和表征能力成为数据驱动的智能故障诊断领域中最活跃的研究方向之一,基于深度学习的故障诊断框架具有强大的特征学习能力,能够通过多个隐藏层直接从原始传感器数据中学习分层表示,并自动选择有利于识别的特征,准确的进行故障分类。但是,基于深度网络的机械故障诊断的成功取决于以下两个条件:1)海量有标签的故障数据,2)训练和测试数据类别空间相同。但实际行业中通常会存在更为严重和实际的问题,即很少或甚至没有故障数据可以提前从目标设备的机械零件收集到故障数据。



技术实现要素:

为了解决上述现有技术中对于数据采集困难的机械部件的故障诊断难度大的缺陷,本发明提出了一种基于小样本学习的跨类别故障诊断方法、系统及存储介质。

本发明采用以下技术方案:

一种基于小样本学习的跨类别故障诊断方法,包括以下步骤:

h1、构建故障诊断模型:获得部件a实际工作条件下的历史工作数据,对部件a的所述历史工作数据标注信号类别,形成标注数据;构建由两条所述标注数据组成的样本对,并对样本对中两条标注数据的信号类别的相同与否进行标注,获得由多个带标注的样本对组成的训练集,并结合训练集进行模型训练以获得故障诊断模型;

h2、建立支持集s:获得部件b实际工作条件下的历史工作数据,从部件b的所述历史工作数据中任选部分作为标注样本数据,并将剩余的历史工作数据作为部件b的测试数据;支持集包含部件b对应的所有信号类别,且每一个信号类别均关联有对应的标注样本数据;部件a和部件b为非同类部件;

h3、跨类别故障诊断:获得部件b的测试数据,将测试数据与支持集中的标注样本数据配对组成测试样本,通过故障诊断模型判断测试样本中的两个数据是否属于同一信号类别,获得支持集中与测试数据所属信号类别相同的标注样本数据,并获取该标注样本数据关联的信号类别作为测试数据的信号类别。

优选的,步骤h1具体包括以下步骤:

h11、获得部件a实际工作条件下的历史工作数据并建立标注数据集合

其中,表示部件a的历史工作数据;的标签,表示归属的信号类别,na表示da中的标注数据数量;

h12、构建训练集,训练集中带标注的样本对包含同类样本数据和异类样本数据

其中,np表示同类样本数据的总数,nd表示异类样本数据的总数,表示标注数据属于同一信号类别,表示标注数据属于不同的信号类别;

h13、获得神经网络模型;

h14、从训练集中选择未被学习过的样本对作为学习对象,将学习对象带入所述神经网络模型,并计算损失函数;

h15、结合损失函数计算结果对所述神经网络模型进行参数更新,然后返回步骤h14;

h16、循环步骤h14和h15,对神经网络模型进行多次迭代修正后进行参数固定,获取参数固定后的神经网络模型作为故障诊断模型。

优选的,步骤h14中,损失函数为:

其中,表示所述神经网络模型的第k次迭代训练中所采用的样本对包含的标注数据,θk表示第k次迭代训练中神经网络模型的当前参数;当两者标签相同,则yk=1,反之,yk=0;表示在第k次迭代训练中所采用的训练样本对对应的激活函数值;

mr为表示不同信号类别之间距离因子的常数,0<mr<1;α表示相同信号类别的权重因子,0<α<1;表示l2正则项,其中λ为常数,θi表示神经网络模型的第i个参数,n为神经网络模型中的参数总个数。

优选的,φ(xi,xj,θ)=sigmoid(fc(d2(xi,xj,θ)));sigmoid表示激活函数,fc表示全连接层,d2(xi,xj,θ)表示样本对(xi,xj)在高维空间中的距离。

优选的,训练集中包含的同类样本数据和异类样本数据数量相等,α=0.5,mr=0.7。

优选的,步骤h2中建立的支持集s中,部件b对应的每一个信号类别均关联有n个对应的标注样本数据,步骤h3中执行n-shotk-way测试,以获得测试数据的信号类别。

优选的,步骤h3具体包括:

h31、集合部件b的测试数据建立测试数据集合表示部件b的测试数据,nb表示db中的测试数据数量;

h32、结合测试数据集合db和支持集s建立测试集tb

其中,t表示部件b对应的信号类别数量,n表示各信号类别关联的标注样本数据数量,表示部件b对应的第j个信号类别中的第i个标注样本数据,

h33、将测试集输入故障诊断模型,获得测试集中各测试数据的信号类别。

优选的,部件b对应的信号类别数量小于部件a对应的信号类别数量。

一种基于深度小样本学习的跨类别故障诊断系统,包括处理器和存储器;存储器存储有计算机程序,处理器用于在执行计算机程序时实现所述的基于小样本学习的跨类别故障诊断方法。

一种存储介质,存储有计算机程序,所述计算机程序用于在被执行时实现所述的基于小样本学习的跨类别故障诊断方法。

本发明的优点在于:

(1)本发明中,通过部件a的采集数据训练故障诊断模型,通过部件b提供包含少量标注样本数据的支持集,从而通过测试数据与支持集中不同类别的标注样本数据的结合,组成不同的测试样本,通过故障诊断模型对各测试样本进行机器标注,以获得与测试数据的信号类别相同的标注样本数据,从而获得该标注样本数据对应的信号类别作为对测试数据的诊断结果。如此,将信号类别设置为正常信号和故障信号的故障类型,便将部件b的待识别信号作为测试数据通过故障诊断模型进行诊断。

(2)本发明中,采用部件a的历史工作数据训练故障诊断模型,避免了部件b数据采集困难导致难以提供海量训练数据的问题,保证了故障诊断模型训练对充足的训练数据进行学习,从而保证了模型的精度。同时,通过部件b提供包含少量标注样本数据的支持集,保证了通过该故障诊断模型对部件b进行信号类别诊断的可行性。

(3)本发明中定义了参数加权因子α和参数距离因子mr,使类内距离更近,类间距离更远,从而可以高精度的汇总相同类别的信号,并分离不同类别的信号。同时,通过权重因子α和样本对在高维空间中的距离的结合,使得该故障诊断模型具有更加明确的分类边界,从而实现了对损失函数的优化,提高了该故障诊断模型的泛化能力。

(4)训练集中包含的同类样本数据和异类样本数据数量相等。如此,在对神经网络模型进行迭代训练过程中,可保证用于训练的同类样本数据与异类样本数据相接近,从而保证训练完成的故障诊断模型对同类别的数据和不同类别的数据均能精确识别。

附图说明

图1为本发明提出的一种基于小样本学习的跨类别故障诊断方法流程图。

图2为故障诊断模型的训练方法路程图。

图3为故障诊断执行方法流程图。

图4实施例中部件a1的时域信号数据示意图。

图5实施例中部件a2的时域信号数据示意图。

图6实施例中部件b故障数据示意图。

图7三个诊断任务的测试精度示意图。

具体实施方式

本实施方式提出的一种基于小样本学习的跨类别故障诊断方法,包括以下步骤:

h1、构建故障诊断模型:获得部件a实际工作条件下的历史工作数据,对部件a的所述历史工作数据标注信号类别,形成标注数据;构建由两条所述标注数据组成的样本对,并对样本对中两条标注数据的信号类别的相同与否进行标注,获得由多个带标注的样本对组成的训练集,并结合训练集进行模型训练以获得故障诊断模型。如此,该故障诊断模型用于对输入的两条故障数据是否属于同一信号类别进行诊断。

h2、建立支持集s:获得部件b实际工作条件下的历史工作数据,从部件b的所述历史工作数据中任选部分作为标注样本数据,并将剩余的历史工作数据作为部件b的测试数据;支持集包含部件b对应的所有信号类别,且每一个信号类别均关联有对应的标注样本数据。部件a和部件b为非同类部件。

具体实施时,本步骤中,可对筛选出的标注样本数据进行人工标注,以获得部件b的信号类别。

h3、跨类别故障诊断:获得部件b的测试数据,将测试数据与支持集中的标注样本数据配对组成测试样本,通过故障诊断模型判断测试样本中的两个数据是否属于同一信号类别,获得支持集中与测试数据所属信号类别相同的标注样本数据,并获取该标注样本数据关联的信号类别作为测试数据的信号类别。

具体实施时,步骤h2中建立的支持集s中,部件b对应的每一个信号类别均关联有n个对应的标注样本数据,具体可记作:

其中,表示标签为的n个相同信号类别的标注样本数据,1≤q≤t,t为部件b对应的信号类别总数。

具体实施时,如果n=1,则步骤h3中只需要针对测试数据进行一次one-shotk-way测试,k=t,便可得到测试数据的信号类别;如果n>1,则步骤h3中需要针对测试数据进行n-shotk-way测试,k=t,以获得测试数据的信号类别。具体的,步骤h3中需要针对测试数据进行n-shotk-way测试,相当于进行n次one-shotk-way测试,以便针对各测试数据获取重复次数最多的信号类别作为最终识别结果。

本实施方式中,本实施例中,在进行故障诊断模型的训练时,首先将训练集ta中的样本对映射到特征空间,得到然后根据历史工况数据的特征空间数据集建立基于小样本学习的跨类别故障诊断模型。

故障诊断模型的建立,具体包括以下步骤:

h11、获得部件a实际工作条件下的历史工作数据,并建立标注数据集合表示部件a的历史工作数据;的标签,表示归属的信号类别,na表示da中的标注数据数量,标注数据即为带有标签的信号数据,中的数据均为标注数据。值得强调的是,信号类别相同的测试数据所对应的标签相同。具体的,本实施方式中,其中,aq表示部件a对应的第q种信号类别,1≤q≤g,g为部件a对应的信号类别的总数量。

h12、构建训练集,训练集中带标注的样本对包含同类样本数据和异类样本数据

其中,np表示同类样本数据的总数,nd表示异类样本数据的总数,表示标注数据属于同一信号类别,表示标注数据属于不同的信号类别。

如此,将标注数据的标签记作将标注数据的标签记作表示标注数据所带的标签相同,即将标注数据的标签记作将标注数据的标签记作表示标注数据所带的标签不同,即

h13、获得神经网络模型。

h14、从训练集中选择未被学习过的样本对作为学习对象,将学习对象带入所述神经网络模型,并计算损失函数。具体的,学习对象从训练集中随机抽取,以便对所述神经网络模型进行训练。

为了优化网络参数和不同信号类别的分类边界,为相同类别的样本定义参数加权因子α,以使类内距离更近。类似地,为不同的类定义另一个参数距离因子mr,以使类间距离更远。

具体的,本实施方式中,损失函数为:

其中,表示所述神经网络模型的第k次迭代训练中所采用的故障数据,θk表示第k次迭代训练中神经网络模型的当前参数,即为第k-1次迭代训练后的神经网络模型的模型参数;当两者标签相同,则yk=1,反之,yk=0;mr为表示不同信号类别之间距离因子的常数,0<mr<1;α表示相同信号类别的权重因子,0<α<1;表示l2正则项,其中λ为常数,θi表示神经网络模型的第i个参数,n为神经网络模型中的参数总个数。

表示在第k次迭代训练中所采用的训练样本对对应的激活函数值。具体的,φ(xi,xj,θ)=sigmoid(fc(d2(xi,xj,θ)));sigmoid表示激活函数,fc表示全连接层;d2(xi,xj,θ)表示样本对(xi,xj)在高维空间中的距离,θ表示模型参数。即,本实施方式中,

基于0<α<1时,必定有表示故障诊断模型参数中的同类权重,表示故障诊断模型参数中的不同类权重,本实施方式中,通过引入权重因子α增加信号类别的类间的距离,并缩小类内距离,从而可以汇总相同类别的信号,并分离不同类别的信号。同时,通过权重因子α和样本对在高维空间中的距离的结合,使得该故障诊断模型具有更加明确的分类边界,从而实现了对损失函数的优化,提高了该故障诊断模型的泛化能力。

h15、结合损失函数计算结果对神经网络模型进行参数更新,然后返回步骤h14。

h16、对神经网络模型进行多次迭代修正后,对模型进行参数固定后作为故障诊断模型。

本实施方式中,为了进一步保证神经网络模型对同类样本数据和异类样本数据的均衡学习,训练集中包含的同类样本数据和异类样本数据数量相等。如此,在对神经网络模型进行迭代训练过程中,可保证用于训练的同类样本数据与异类样本数据相接近,从而保证训练完成的故障诊断模型对同类别的数据和不同类别的数据均能精确识别。

本实施方式中,步骤h3中,采用步骤h1训练获得的故障诊断模型对部件b进行故障诊断时,具体包括以下步骤:

h31、结合部件b的测试数据建立测试数据集合表示部件b的测试数据,nb表示db中的测试数据数量。具体实施时,测试数据集合中的测试数据不能与支持集中的标注样本数据重合,以避免对故障诊断模型的冗余测试。

h32、结合测试数据集合db和支持集s建立测试集tb

其中,t表示部件b对应的信号类别数量,n表示各信号类别关联的标注样本数据数量,表示部件b对应的第j个信号类别中的第i个标注样本数据,

h33、将测试集输入故障诊断模型,获得测试集中各测试数据的信号类别。

本实施方式中,还提出了一种基于深度小样本学习的跨类别故障诊断系统,包括处理器和存储器;存储器存储有计算机程序,处理器用于在执行计算机程序时实现上述的基于小样本学习的跨类别故障诊断方法。

本实施方式中,还提出了一种存储介质,其存储有计算机程序,所述计算机程序用于在被执行时实现上述的基于小样本学习的跨类别故障诊断方法。

以下结合一个具体的实施例,对本发明提供的基于深度小样本学习的跨类别故障诊断方法做进一步解释。

本实施例中,提供了两种用于构建标注数据集合的部件,分别为部件a1和部件a2。部件a1、a2为轴承,部件b为齿轮,即部件a1、a2和b均为旋转机械故障部件。

本实施例中,首先采集部件a在实际情况下的历史工作数据,建立标注数据集合表示部件a的历史工作数据;的标签,表示归属的信号类别。

本实施例中,部件a1为具有edm(电火花加工)的单点点蚀故障轴承,其对应的信号类别包括正常信号和故障信号,其中,故障信号由故障直径和故障特征组成,故障直径包括:0.007、0.014和0.021英寸,故障特征包括:滚动元件故障(bf),内圈故障(if)和外圈故障(of)。如此,部件a关联有正常信号+9中故障类别一共10个信号类别。本实施例中,部件a1工作状态下的信号采样频率为12khz,其对应的10个信号类别的信号波形如图4所示。

部件a2对应的信号类别包括4个,分别:滚动元件故障(bf),内圈故障(if)和外圈故障(of),以及正常信号(n)。部件a1工作状态下的信号采样频率为128khz,其对应的4个信号类别采集到的信号波形分别如图5所示。

本实施例中,部件b包括5个信号类别,分别为:运行状况,缺失,剥落,碎屑和裂纹。部件b工作状态下的信号采样频率为20khz,其对应的5个信号类别的信号波形如图4所示。

本实施例中提供了三个跨类别的故障诊断实验,如表1所示。在每个跨类别诊断任务中,箭头之前的部分表示用于提供标注数据集合的部件mca,箭头之后的部分表示用于提供测试集的部件mcb。其中,任务a的标注数据集合包含10种不同信号类别的历史工作数据,分别位于0.007、0.014和0.021英寸三种断层尺寸下。任务a的测试集是齿轮数据集,其中包含5种信号类别的标注样本数据,如表1所示。具体的训练集和测试集数量的设置如表2所示。对于三种故障任务,每种故障任务分别进行了one-shot和five-shot的训练策略,one-shot表示支持集对于每种信号类别分别设置1个标注样本数据,five-shot表示支持集对于每种信号类别分别设置5个标注样本数据。其中one-shot90和five-shot90中的90表示用于训练的训练集中带标注的样本对即学习对象有90个,以此类推。

表1三种不同的故障诊断任务

表2数据集设置

本实施例中,结合部件a1或者部件a2构建的训练集记作:ta={p1,p2,…,pna/4,dna/4+1,…,dna/2},其中,表示训练集中第i个样本对中的两个标注数据属于同一信号类别,表示训练集中第j个样本对中的两个标注数据属于不同的信号类别,na表示标注数据总数量。本实施方式中,np=na/4,nd=na/2,如此,可保证训练集ta的任意两个样本所用的标注数据两两不同,保证训练集所用数据的丰富多样。

本实施例中,在测试阶段,将测试数据和支持集配对以输入模型。在单次k通测试中,每个信号类别只有一个带标签的数据,因此将单次k通测试中的支持集s和测试集tb的形式表示定义为:

本实施例中,针对每一个标签设有5个带标签的数据,以便建立five-shotk-way测试,每个信号类别都有五个带标签的数据,支持集可以定义为:s={s1、s2、s3、s4、s5},其中s1到s5与one-shotk-way测试相同。本实施例中,故障诊断模型的构建具体包括以下步骤。即,本实施例中,相当于对每一个测试数据,建立5次不同的支持集,进行五次类别诊断;最后输出概率最高的信号类别作为诊断结果。比如5次诊断的信号类别中有3次均为y1,另外两次不同,则以y1作为诊断结果。

本实施例中,故障诊断模型的构建,具体如下。

第一步:度量样本对的高维特征f(xi)和f(xj)在高维空间中的距离,判断该样本对是否属于同种信号类别:

d2(xi,xj,θ)=||f(xi,θ),f(xj,θ)||;

第三步:从siamese网络输出特征向量的距离定义为φ(xi,xj,θ)=sigmoid(fc(d2(xi,xj,θ))),这取决于它们的输出是完全相似还是完全不同。

第四步:为了优化网络参数和不同信号类别的分类边界,为相同类别的样本定义参数加权因子α,以使类别内特征之间的距离更近。类似地,为不同的类定义另一个参数距离因子mr,以使类间距离更远,从而获得最优分类函数即损失函数如下所示:

其中,表示模型的第k次迭代训练中所采用的故障数据,θk表示第k次迭代训练中模型的当前参数;当两者标签相同,则yk=1,反之,yk=0;mr为表示不同信号类别之间距离因子的常数,0<mr<1;α表示相同信号类别的权重因子,0<α<1;表示l2正则项,其中λ为常数,θi表示模型的第i个参数,n为模型中的参数总个数。

本实施例中,采用α=0.5,mr=0.7,具有较高的信号分类精度。

本实施例中,对不同的跨部件诊断结果如图7所示。可以看出,无论是一个还是五个标注样本数据,所有跨类别故障诊断实验的分类精度均超过53%,表明该故障诊断模型是有效的。任务a的故障分类准确度高于任务b和任务c。任务a中的8个实验的最高准确度高达85%。任务c中的分类准确性最低。任务c中8个实验的最低分类准确度是53.24%。可见,在测试阶段,部件b的信号类别数据大于部件a的信号类别数量会影响故障诊断模型对部件b的诊断。

此外,在这三个任务中,五杆射击(five-shotlearing)的实验结果通常比单杆射击(one-shotlearing)的实验结果高约5%。例如,在任务a的单次实验中,故障分类准确度从64.845%增加到79.629%,而在任务a的五次实验中,故障分类准确度从69.913%增加到85.449%。该结果也是合理的,因为随着标记样本的数量增加,类别之间的分类边界变得更加明显,从而导致更高的分类精度。

从图7可以看出,在三个任务的8个实验中,无论是one-shotlearing还是five-shotlearing,随着训练样本数量的增加,测试数据的信号类别诊断的结果会更好。

以上仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明创造的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1