一种基于关系型知识蒸馏的滚动轴承故障诊断方法和系统

文档序号:26356571发布日期:2021-08-20 20:31阅读:183来源:国知局
一种基于关系型知识蒸馏的滚动轴承故障诊断方法和系统

本发明属于故障诊断技术领域,更具体地,涉及一种基于关系型知识蒸馏的滚动轴承故障诊断方法和系统。



背景技术:

滚动轴承是旋转机械的关键组成部分,同时也是高故障率元件之一,据不完全统计,旋转设备的30%的故障由滚动轴承故障引起。滚动轴承的状态监测与故障诊断对了解设备运行性能以及发现潜在的故障起着重要的作用,可以有效提升机械设备的管理水平以及维修的效率。

目前,以深度学习为代表的新一轮人工智能技术使建立端到端深度集成的智能故障诊断方法成为工业智能时代的新目标。深度学习模型相比于传统模型网络层数更深,非线性运算能力强,能够更好的逼近复杂函数关系,在故障诊断领域也有不少成功的应用。但是深度学习故障诊断的成功依赖于大量有标签的优质数据,且深度学习在训练大规模数据集时,为了处理复杂的数据分布,往往会增加网络层数,模型参数量可达百万级,因此训练时需要耗费大量的算力和资源来达到较高的准确率。但是模型规模大,从头训练成本高,实际工程部署时受计算资源,响应速度等限制难以部署。

专利cn110162018a公开了一种基于知识蒸馏与隐含层共享的增量式设备故障诊断方法,主要思想为:利用知识蒸馏与隐含层共享技术,保证浅层设备故障诊断模型具有较好的数据特征提取能力,提高浅层设备故障诊断模型的故障分类性能。针对工业数据持续增加和边缘设备故障诊断模型更新,本发明使用有效样本识别、重建数据集、预训练模型微调等方法实现模型的增量学习。本发明克服海量实时工业设备数据传输过程中对于网络带宽、网络延迟的要求,提高浅层设备故障诊断方法的精确性,支持增量式学习。通过对轴承运行状态数据的模拟实验,在计算资源有限情况下,本发明提高边云协同数据传输效率并实现故障预测分类精准度,支持量数据学习与处理。专利cn112504678a公开了一种基于知识蒸馏的电机轴承故障诊断方法,主要思想为:利用振动信号训练模型做教师模型,利用电流信号和转速信号输入作为学生模型,利用教师模型带来的暗知识,训练学生模式,使得学生模型能稳定收敛,进行有效的诊断。

然而,均存在以下缺陷:1)多通过对采集的时序信号进行分析提取有效特征,如对通过对采集的振动信号预处理、特征筛选等多重筛选提取出与最为相关的故障特征作为故障分类器的输入,但是人为筛选用时长,且容易丢失有效信息;2)学生模型仅学习对教师模型末端softmax的输出进行学习,即只考虑了单个样本在教师模型上的表现,导致学生模型的故障诊断准确率不高。



技术实现要素:

针对现有技术的缺陷和改进需求,本发明提供了一种基于关系型知识蒸馏的滚动轴承故障诊断方法和系统,其目的在于提高了故障诊断模型的实时响应效率与准确率。

为实现上述目的,按照本发明的第一方面,提供了一种基于关系型知识蒸馏的滚动轴承故障诊断方法,该方法包括:

准备阶段:

获取滚动轴承正常状态和故障状态下的振动信号段,每种状态进行多次测量;以相同状态类型的多个连续采样点作为一个处理样本,将每个处理样本构建为一个时频图,将<时频图,对应状态类型>作为训练样本,得到训练样本集;构建教师模型-学生模型;

训练阶段:

使用训练样本集预训练教师模型;将多个训练样本同时输入至预训练好的教师模型,得到教师模型最后一个池化层输出的多个对应特征,作为特征集合t;

随机初始化学生模型;将多个训练样本同时输入至初始化后的学生模型,得到学生模型最后一个池化层输出的多个对应特征,作为特征集合s;

计算特征集合t内各元素之间的二元距离和三元角度,计算特征集合s内各元素之间的二元距离和三元角度;

基于特征集合t和s内各元素之间的二元距离,构建距离蒸馏损失,基于特征集合t和s内各元素之间的三元角度,构建角度蒸馏损失;

将距离蒸馏损失和角度蒸馏损失纳入整个模型的总损失函数;

以总损失函数最小化为目标,训练教师模型-学生模型,得到训练好的教师模型-学生模型;

应用阶段:

获取待测滚动轴承的振动信号段,并构建时频图;将其输入至训练好的学生模型,得到诊断结果。

优选地,对归一化后的一维振动信号段进行连续小波分析,生成连续三通道小波时频图谱。

有益效果:本发明优选对归一化后的一维振动信号段进行连续小波分析,生成连续三通道小波时频图谱,由于直接生成时频图无需对信号进行特征筛选,减少了时频域特征提取导致部分信息的丢失,在处理海量故障样本时提高了故障诊断模型性能。

优选地,所述基于特征集合t和s内各元素之间的二元距离,构建距离蒸馏损失,具体如下:

其中,lrkd-d表示距离蒸馏损失,xi,xj分别表示第i,j个训练样本,χ2表示二元关系集合,lδ()表示huber损失函数,ψd(ti,tj)表示ti和tj的距离,ψd(si,sj)表示si和sj的距离,ti,tj分别表示第i,j个训练样本输入至教师模型最后一个池化层输出的多个对应特征,si,sj分别表示第i,j个训练样本输入至学生模型最后一个池化层输出的多个对应特征。

有益效果:本发明优选上述方式构建距离蒸馏损失,由于距离方向的蒸馏损失通过惩罚特征空间中的距离差异来实现学生模型与教师模型的迁移学习,这种方式不强制学生模型直接匹配教师模型的输出,而是鼓励学生模型学习教师模型输出的距离结构,从而使学生模型的故障诊断性能更加接近教师模型。

优选地,所述基于特征集合t和s内各元素之间的三元角度,构建角度蒸馏损失,具体如下:

其中,lrkd-a表示角度蒸馏损失,xi,xj,xk分别表示第i,j,k个训练样本,χ3表示三元关系集合,lδ()表示huber损失函数,ti,tj,tk分别表示第i,j,k个训练样本输入至教师模型最后一个池化层输出的多个对应特征,si,sj,sk分别表示第i,j,k个训练样本输入至学生模型最后一个池化层输出的多个对应特征,ψa(ti,tj,tk)表示教师模型输出特征ti,tj,tk之间的三元角度关系,ψa(si,sj,sk)表示学生模型输出特征si,sj,sk之间的三元角度关系。

有益效果:本发明优选上述方式构建角度蒸馏损失,由于角度蒸馏损失通过惩罚特征空间中角度差异来实现学生模型与教师模型中训练样本嵌入关系的迁移学习,由于角度是一个比距离高阶的属性,它可以更有效地传递关系信息,给学生模型在训练中更多的灵活性,从而具有更高的收敛和更好的性能。

优选地,ψa(ti,tj,tk)=cos∠titjtk=<eij,ejk>

其中,∠titjtk表示三元特征ti,tj,tk形成的夹角,eij表示向量titi的单位化向量,ejk表示向量tjtk的单位化向量,<,>表示向量eij,ejk之间夹角的余弦值,ti,tj,tk分别表示第i,j,k个训练样本输入至教师模型最后一个池化层输出的多个对应特征。

有益效果:本发明优选上述方式传递特征在高阶空间的关系知识,即使教师模型和学生模型之间的输出特征维度不同,通过上述计算高阶特征角度势能对于低阶特征空间角度势能是不变的,高阶势能可能在捕获高阶结构方面很强大,但是计算方面代价大,因此使用简单有效三元角度关系可以在小计算量下实现特征在高阶空间关系知识的度量。

优选地,所述总损失函数计算公式如下:

l=α*lkd+β*(ω1*lrkd-d+ω2*lrkd-a)

其中,lkd表示知识蒸馏损失值,lrkd-d表示距离蒸馏损失,lrkd-a表示角度蒸馏损失,α,β表示各类损失值的权重系数,ω1,ω2表示距离蒸馏损失和角度蒸馏损失的权重。

有益效果:本发明优选上述方式计算总损失,由于增加了对二元距离蒸馏损失以及三元角度蒸馏损失的惩罚,学生模型能够学习到来自教师模型的更强的特征表达能力,从而提高学生模型的故障诊断性能。

为实现上述目的,按照本发明的第二方面,提供了一种基于关系型知识蒸馏的滚动轴承故障诊断系统,包括:计算机可读存储介质和处理器;

所述计算机可读存储介质用于存储可执行指令;

所述处理器用于读取所述计算机可读存储介质中存储的可执行指令,执行第一方面所述的基于关系型知识蒸馏的滚动轴承故障诊断方法。

总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:

(1)现有的基于知识蒸馏的轴承故障诊断方法中,学生模型仅学习对教师模型末端softmax的输出进行学习,即只考虑了单个样本在教师模型上的表现,导致学生模型的故障诊断准确率不高。针对该问题,本发明采用学生模型同时学习教师模型的softmax的输出和多个样本在最后一个池化层输出之间的多元关系,即,还能学习到教师模型的网络结构信息,考虑到了蕴含在网络中的结构信息,同一个mini-batch的输入样本进行合作学习,学生网络从教师结构和单个样本在教师网络输出两个方面学习,在不增加内存和训练时间的情况下有效的提升了故障诊断系统的分类性能。

(2)现有技术多通过对采集的时序信号进行分析提取有效特征,如对通过对采集的振动信号预处理、特征筛选等多重筛选提取出与最为相关的故障特征作为故障分类器的输入,但是人为筛选用时长,且容易丢失有效信息。针对该问题,本发明采集到滚动轴承原始振动信号后,以1000个采样点作为一个处理样本,对每个处理样本构建一个时频图,作为一个故障样本,将其作为教师模型的输入,由于时频图蕴含振动信号完整的时频信息,从而提高了故障诊断模型的实时响应效率与准确率。

(3)本发明使用关系知识蒸馏迁移学习的方法实现轴承故障诊断,通过以小模型代替大模型的思想,有效地降低了计算复杂度,在保证精度的情况下训练出更适合实际工程部署的简单模型,提高了终端模型的响应效率。

附图说明

图1是本发明提供的基于关系知识蒸馏的轴承故障诊断系统流程图。

图2是本发明实施例提供的系统模型网络结构示意图。

图3是本发明提供的批次计算关系知识蒸馏的损失函数伪代码。

图4是本发明提供的基于关系知识蒸馏的轴承故障诊断系统原理图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

如图1所示,本发明提供了一种基于关系型知识蒸馏的滚动轴承故障诊断方法,包括:

步骤1:采集安装在滚动轴承上的传感器信号并进行标注,此信号为能够反映轴承的运行特征的振动信号,数据集原始标签hardtarget为one-hot标签,即正标签为1,负标签取0。

步骤2:信号预处理和数据变换,将滚动轴承原始信号的连续小波时频图作为模型输入,将生成的时频图划分为训练集和测试集。

具体地,选取原始振动信号,样本长度为1000个数据样本,使用mexh小波作为连续小波分析的基本小波,将每个样本生成32*32*3三通道小波时频图作为新数据集。随机打乱每个类别的时频图样本,选取其中80%为训练集,20%为测试集。

连续小波变换(cwt)定义为将任意空间l2(r)的函数f(t)在小波基下进行展开,其实质是将时间函数投影到时间-尺度的相平面上,其表达式如:

其中,wtf(a,τ)为小波变换系数,<>表示内积运算,小波基ψa,τ(t)具有尺度α和平移τ两个参数且取连续变化的值。

小波即存在于一个较小区域的波ψ(t),且ψ(t)∈l2(r),若其傅里叶变换ψ(ω)满足下式,则ψ(t)为基本小波。

本发明选择mexh小波作为cwt的基本小波,其计算公式如下:

mexh小波函数为高斯函数的二阶导数,在时域和频域中都有很好的局部化,用于信号和图像的边缘提取,其本身不具有尺度函数,因此也不具有正交性。

步骤3:预训练教师模型,使用时频图训练集和真实数据标签训练教师网络,保存最佳模型作为教师模型。

具体地,教师模型训练过程如下:

步骤3.1构建教师网络:如图2所示,教师网络是含有多层网络的resnet-20,由19个卷积层以及1个全连接层组成(不包括池化层和bn层),其中三个残差块(block)结构组成一个layer模块。学生网络为resnet-8的残差网络,由7个卷积层以及1个全连接层组成,layer模块仅有一个残差块,其中网络输出采用全局平均池化层代替传统卷积神经网络的全连接层,gap层与各个类别联系更加紧密,能够为每一类都生成一个特征图,避免了全连接层的“黑箱”操作,且gap层没有需要学习的参数,有效地降低了参数量,避免了过拟合的问题。

本发明使用残差网络作为故障诊断系统的骨干框架,教师网络采用resnet-,学生网络采用resnet-8网络结构,网络结构相似,输出维度一致,更有益于特征信息的提取,使训练更加的稳定,解决了常规的cnn随着网络层数的加深暴露出退化和梯度消失或暴涨的问题,有效提高了对故障诊断信号的特征提取能力。

步骤3.2预训练教师模型:将步骤2中生成的时频图训练集输入到resnet-20网络中,通过比较模型输出和样本真实标签获取两者之间的差异,形成损失函数。利用反向传播算法不断更新模型网络权重减小损失函数,直至模型收敛,保存使在测试集上正确率最高的模型为最终模型。

步骤4:学生模型学习预训练教师模型的关系结构信息进行训练,使用测试集验证学生模型,预测精度达到最佳时保存学生模型作为最终部署的模型。

具体地,学生模型的训练学习过程如下:

步骤4.1计算关系知识蒸馏损失函数值:将一个mini-batch时频图样本{x1,…,xn}输入到预训练的教师模型以及初始化的学生模型中,分别输出最后一层池化层特征ft,fs的输出作为学习结构的特征,计算关系知识蒸馏的损失函数计算过程如图3所示。

步骤4.2计算知识蒸馏损失函数值:在高温t下,蒸馏预训练的教师网络,计算在温度t下的教师模型的软目标值,通过与学生模型对比得到losssoft。其中知识蒸馏后的“软”标签计算公式如下,引入温度系数t来控制软标签的分布,t=1时为原始softmax输出值。

如图4所示,训练学生模型时,学生网络用相同的t值来学习由教师网络产生的软目标,接近这个软目标从而学习到数据的结构分布特征,此输出与softtarget比较产生losssoft;同时学生网络做softmax计算得出预测值,此预测值与hardtarget进行比较产生losshard。两部分损失函数经过λ加权和,得到总的损失函数loss为目标函数,loss计算公式为:

loss=λlosssof+(1-λ)losshard

为了使学生模型的输出更加逼近教师模型,引入kl散度衡量两个模型的输出分布,学习过程中不断最小化kl散度来实现蒸馏,此时总损失函数lkd变为:

lkd=αt2·kldiv(qs,qt)+(1-α).losshard

式中,qs,qt分别为学生模型和教师模型softmax输出,α为调整系数。

学生模型要在预训练的教师模型监督下进行训练,通过将教师网络的不同层输出特征重新组合为结构信息,学生网络通过对教师网络的结构关系以及单个输出信息进行学习来提高模型性能。其中结构信息使用二元距离ψd以及三元角度ψa来实现这一关系。

ψd能够度量学生网络核教师网络中二元样本的特征距离,其中μ为距离的归一化系数,其计算公式为:

其中,μ为距离的归一化系数,计算公式为:

此时距离蒸馏的损失函数为:

其中,lδ为huber损失,定义为:

ψa能够度量学生网络核教师网络中三元样本的角度距离,计算公式为ψa(ti,tj,tk)=co∠titjtk=<eij,ejk>

其中,

此时角度损失函数为:

步骤4.3计算基于关系知识蒸馏故障诊断系统总损失函数值:

式中,losshard,lossdiv为知识蒸馏中硬标签损失值,kl散度损失值,t为知识蒸馏温度,γ,α,β为各个损失函数值的权重系数,ω1,ω2为调整距离损失与角度损失值的权重。

步骤4.4训练学生模型,学生模型初始化,使用训练集和hardtarget训练学生网络,系统中学生网络通过学习教师网络的结构信息以及单个样本在教师网络的输出信息,从两方面使得性能更加逼近教师网络,更新总损失函数,按照梯度更新以及误差反向传播的方式更新模型参数,保存使在测试集上正确率最高的模型为最终部署的模型。

为了对本发明进行进一步地详细说明,使用旋转机械的轴承数据来验证本发明,实验数据来源于德国paderborn大学滚动轴承状态监测实验,该实验提供了滚动轴承电流和振动信号的状态监测收集振动信号。本次验证实验选用轴承实验中加速寿命实验数据,该实验通过加速寿命实验产生真实的轴承故障数据,可以模拟实际工程中的数据,训练的模型更适合工程使用。试验台以n=1500rpm的转速运行,负载扭矩为m=0.7nm,作用在轴承上的径向力为f=1000n。选取6203型球轴承故障数据,状态分为外圈损伤、内圈损伤及正常状态。每种工况下记录20次测量,每次测量4秒。选取原始振动信号,样本长度为1000个数据样本,将每个样本生成32*32*3三通道cwt时频图作为新数据集。随机打乱每个类别的时频图样本,选取其中80%为训练集,20%为测试集。教师网络初始学习率lr=0.05,momentum=0.9,weight_decay=5e-4;学生网络初始学习率为0.01,选择sgd优化算法进行迭代,批次数为24,系统超参数设置为γ=0.5,α=0.3,β=0.2,ω1=2,ω2=5,蒸馏温度t=4,实验结果如表1所示,在不增加内存和训练时间的情况下本方法有效的提升了故障诊断系统的分类性能。

表1

上述基于关系知识蒸馏故障诊断系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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