一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于半监督式增量学习的工业设备故障诊断系统的制作方法

2021-12-04 13:57:00 来源:中国专利 TAG:


1.本发明涉及一种基于半监督式增量学习的工业设备故障诊断系统,属于设备故障诊断领域。


背景技术:

2.近年来,由于物联网技术和工业自动化的不断发展,工业物联网网络现在被广泛用于监测实际的工业生产环境。在工业制造领域,工业设备故障会影响工业系统的整体性能,引发设备宕机、系统恶性运行等情况,造成重大经济损失。故障诊断可确定观察到的失控状态的根本原因,对于抵消或消除工业过程中的故障至关重要。
3.在工业系统运行过程中,系统中会出现设备逐渐老化、设备所在的工作环境发生改变、多个关键部件一同发生故障并且相互影响等情况,这些状况都会使工业物联网设备原有的故障样本分布产生漂移或者出现新的故障类别样本。另一方面工业物联网采集到的工业物联网设备运行数据都是无标签的。现有的故障诊断系统针对这两种情况还不能很好应对,导致故障诊断效果在面对这些情况时会显著下降。


技术实现要素:

4.为解决现有的技术问题,本发明提供一种基于半监督式增量学习的工业设备故障诊断系统,能够解决现有故障诊断系统中存在的模型缺乏增量更新能力和模型无法在标签缺失条件下进行有效训练的问题,适合工业物联网设备数据特点,保证整个工业系统的长久运行,避免机械设备出现损坏宕机、系统恶性运转的情况,提高自动化生产的稳定性。
5.本发明中主要采用的技术方案为:
6.一种基于半监督式增量学习的工业设备故障诊断系统,包括:故障诊断模块、半监督标记模块和增量更新模块;其中,
7.所述故障诊断模块读取工业设备的振动信号数据,根据读取的振动信号数据判断工业设备是否处于正常状态,如果出现故障,判断工业设备发生何种故障;
8.所述半监督标记模块首先判断工业设备的振动信号数据中是否存在未知的故障类别样本,即无标签样本,并对所有无标签样本标记伪标签,最后输出带有伪标签的样本以辅助增量更新模块对故障诊断模块进行更新;
9.所述增量更新模块使用半监督标记模块输出的伪标签样本对故障诊断模块进行增量地更新。
10.优选地,所述故障诊断模块基于卷积神经网络构建故障诊断模型,所述故障诊断模型使用卷积神经网络提取工业设备的振动信号数据中的有效特征,通过对振动信号数据中有效特征的分析,判断出工业设备是否发生故障以及发生了何种故障;其中,所述有效数据为将原始振动信号输入,经过卷积神经网络计算操作得到的与故障相关的数值,具体公式如下:
[0011][0012]
式(1)中,feature为有效特征,w表示卷积核,m表示原始振动信号输入x的通道数,b表示与内核对应的偏置,f表示激活函数,*表示卷积算子,所述原始振动信号即为工业设备的振动信号数据;
[0013]
基于卷积神经网络的故障诊断算法使用原先保存的已知故障类别的样本进行初始化训练,在训练完成之后,所述故障诊断模型能够诊断已知的设备故障。
[0014]
优选地,所述半监督标记模块采用一种基于密度峰值聚类的半监督算法实现对增量更新模块的辅助更新,具体步骤如下:
[0015]
s3

1:将已知故障类别的样本库中的真实标签样本混合无标签的工业设备监测数据输入基于密度峰值聚类的半监督算法;
[0016]
s3

2:基于密度峰值聚类的半监督算法首先检测数据中是否存在未知故障类别的样本;
[0017]
s3

3:如果存在未知故障类别的样本,对其中一部分未知故障类别的样本标注真实标签,将标注的未知故障类别真实标签样本与设备监测数据中未知故障类别的无标签样本输入k均值聚类算法,聚类之后将手动标注的真实标签赋予同一个簇中的无标签样本,作为无标签样本的伪标签;
[0018]
s3

4:针对已知故障类别的样本,基于密度峰值聚类的半监督算法会根据已知故障类别真实标签样本的信息对已知故障类别的无标签样本标注伪标签;
[0019]
s3

5:最后半监督标记模块将未知故障类别样本与已知故障类别样本一起输出,这些样本包含小部分的真实标签与大部分的伪标签。
[0020]
优选地,所述基于密度峰值聚类的半监督算法,该算法负责判断设备监测数据中是否有未知故障类别的样本并且使用带有真实标签的样本对大量无标签的样本标记伪标签;该算法具体计算流程如下:
[0021]
s4

1:计算步骤s3

1中输入半监督算法的每个样本的密度与间隔值;其中,样本的密度计算是基于距离共享邻居的定义,其中,共享邻居表示某一个样本既是样本i的邻居也是样本j的邻居,样本邻居的相似度计算公式为:
[0022][0023]
其中,sim(i,j)为样本邻居i,j的相似度分数,s为这两个样本共享邻居样本的个数,即为样本i和样本j相同的邻居数,表示样本i的k
neighbor
个邻居样本到样本i的平均距离,样本i的k
neighbor
邻居样本定义为距离样本i最近的k
neighbor
个样本,p表示样本i的k
neighbor
邻居样本中的某个样本,即为样本p,d
ip
表示样本i与样本p的距离,表示样本j的k
neighbor
个邻居样本到样本j的平均距离,样本j的k
neighbor
邻居样本定义为距离样本j最近的k
neighbor
个样本,q表示样本j的k
neighbor
邻居样本中的某个样本,即为样本q,d
jq
表示样本j与样本q的距离,i,j∈knn(i,j)表示这两个样本必须是k
neighbor
个邻居样本中的点,k
neighbor
为预设参数;
[0024]
样本i的密度计算公式为:
[0025]
ρ
i
=∑
j∈knn(i)
sim(i,j)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3);
[0026]
样本i的间隔计算公式为:
[0027][0028]
其中,d
ij
表示样本i与比它密度更高的样本j之间的距离,然后表示样本i与某一个已知故障类别真实标签样本的平均距离,c值是已知故障类别的数量;样本的间隔总体表示为该样本与其密度更高的样本之间的距离;
[0029]
s4

2:在计算完每个样本的密度与间隔之后,计算每个样本的得分,计算公式为:
[0030][0031]
其中,ρ
i

i
是样本i的密度与间隔,在计算完每个样本的得分之后,选取得分最高的c个样本作为簇中心;
[0032]
s4

3:在选取完簇中心之后,将剩余的样本分配到每一个簇中;先将剩余的样本划分到核心区域、边缘区域、新类别区域三种区域中;样本分配到不同区域的计算公式为:
[0033][0034]
其中,region
i
表示样本i所在的区域,是所有样本密度的平均值,是所有样本间隔的方差值;在核心区域内的非簇中心样本称为聚类主干点,边缘区域内的样本称为聚类边缘点,而新类别区域内的样本就是未知故障类别的样本;
[0035]
s4

4:在对所有的点划分好区域之后,根据每个样本所在的区域,将这些样本使用不同的方式划分到簇中,并使用少量带有真实标签的样本为无标签样本标记伪标签;簇中心点的标签由簇中心点到带有真实标签样本的距离决定,公式如下:
[0036][0037]
其中,x
center
表示簇中心点,该式表示哪个类别的真实标签样本与簇中心点的距离最近,那么簇中心点的标签就是该类别的标签;核心区域中的聚类主干点分配给距离最近的簇中心点,并且聚类主干点的标签与所属簇中心点的标签保持一致;边缘区域内的聚类边缘点选择与它距离最近k
backbones
个主干点的标签值,k
backbones
是预设参数;未知故障类别
的样本由人为识别故障信息并标注一部分的标签,将手动标注的未知故障类别真实标签样本与监测数据中未知故障类别的无标签样本输入k均值聚类算法,聚类之后将手动标注的真实标签赋予同一个簇中的无标签样本,作为无标签样本的伪标签;
[0038]
s4

5:在给所有的无标签样本标记完伪标签之后,将所有的样本输出,输出的样本包括少量的真实标签与大量的伪标签,增量更新模块使用这些样本进行增量更新。
[0039]
优选地,所述增量更新模块的对故障诊断模块进行增量更新的具体步骤如下:
[0040]
s5

1:在一段固定时间t内,存储半监督标记模块输出的带有伪标签的样本,判断样本是否满足更新条件;更新条件满足以下两项条件:
[0041]
(1)样本的数量是否达到可以更新的数量n;
[0042]
(2)每个类别的数据数量是否相等或者样本数量相差不超过10%;
[0043]
t和n均为预设参数;
[0044]
s5

2:如果同时满足上述两项更新条件,则基于正则化的增量学习算法使用带有伪标签的样本增量更新故障诊断模块;同时,使用带有伪标签的样本更新已知故障类别的样本库,具体内容为:已知故障类别的伪标签样本替换已知故障类别的真实标签样本,加入未知故障类别的样本,将未知故障类别变为已知故障类别;如果不满足更新条件,则进入等待阶段,以等待满足更新条件;如果一直等待到时间t结束,还是不满足更新条件,则直接进入更新;
[0045]
s5

3:在增量更新完故障诊断模块与已知故障类别的样本库之后,增量更新模块进入等待阶段,等待下一轮的增量更新。
[0046]
优选地,所述增量更新模块采用基于正则化的增量更新算法实现模型的增量更新,具体为修改模型的损失函数;其中,模型原有的损失函数为模型分类损失函数,公式如下:
[0047][0048]
所述公式(8)为模型分类的标准交叉熵损失函数,其中|c|为故障类别的数量,y
i
为样本的标签值,p
i
为通过softmax函数获得的相应类别的概率;
[0049]
在模型原有的损失函数的基础上,增添蒸馏损失函数,所述蒸馏损失函数的公式为:
[0050][0051]
其中p
*
为原始模型在原有类别上生成的样本的软标签,|c
o
|为原有类别的数量,是重缩放函数,其中,ω设置为大于1以增加小值的权重,蒸馏损失函数通过加强旧类当前预测值匹配原始模型的软标签值来保留先前的知识,最终模型完整的损失函数为:
[0052][0053]
其中,n
batch
是从数据集中获取的训练批次,λ为损失权重。
[0054]
有益效果:本发明提供一种基于半监督式增量学习的工业设备故障诊断系统,面
对数据时刻变化与数据缺乏标签的情况时,保证故障诊断模型能够及时更新,并且在样本标签缺失的条件下有效训练,保持较高的故障诊断准确率。
附图说明
[0055]
图1是本发明的系统组成模块图;
[0056]
图2是本发明的系统架构图。
具体实施方式
[0057]
为了使本技术领域的人员更好地理解本技术中的技术方案,下面对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
[0058]
如图1

2所示,一种基于半监督式增量学习的工业设备故障诊断系统,包括:故障诊断模块、半监督标记模块和增量更新模块;其中,
[0059]
所述故障诊断模块读取工业设备的振动信号数据,根据读取的振动信号数据判断工业设备是否处于正常状态,如果出现故障,判断工业设备发生何种故障;
[0060]
所述半监督标记模块首先判断工业设备的振动信号数据中是否存在未知的故障类别样本,即无标签样本,并对所有无标签样本标记伪标签,最后输出带有伪标签的样本以辅助增量更新模块对故障诊断模块进行更新;
[0061]
所述增量更新模块使用半监督标记模块输出的伪标签样本对故障诊断模块进行增量地更新。
[0062]
优选地,所述故障诊断模块基于卷积神经网络构建故障诊断模型,所述故障诊断模型使用卷积神经网络提取工业设备的振动信号数据中的有效特征,通过对振动信号数据中有效特征的分析,判断出工业设备是否发生故障以及发生了何种故障;其中,所述有效数据为将原始振动信号输入,经过卷积神经网络计算操作得到的与故障相关的数值,具体公式如下:
[0063][0064]
式(1)中,feature为有效特征,w表示卷积核,m表示原始振动信号输入x的通道数,b表示与内核对应的偏置,f表示激活函数,*表示卷积算子,所述原始振动信号即为工业设备的振动信号数据;
[0065]
基于卷积神经网络的故障诊断算法使用原先保存的已知故障类别的样本进行初始化训练,在训练完成之后,所述故障诊断模型能够诊断已知的设备故障。
[0066]
优选地,所述半监督标记模块采用一种基于密度峰值聚类的半监督算法实现对增量更新模块的辅助更新,具体步骤如下:
[0067]
s3

1:将已知故障类别的样本库中的真实标签样本混合无标签的工业设备监测数据输入基于密度峰值聚类的半监督算法;
[0068]
s3

2:基于密度峰值聚类的半监督算法首先检测数据中是否存在未知故障类别的样本;
[0069]
s3

3:如果存在未知故障类别的样本,对其中一部分未知故障类别的样本标注真实标签(可由专业人员识别未知故障的信息,并对其中一部分未知故障类别的样本手动标注真实标签),将标注的未知故障类别真实标签样本与设备监测数据中未知故障类别的无标签样本输入k均值聚类算法,聚类之后将手动标注的真实标签赋予同一个簇中的无标签样本,作为无标签样本的伪标签;
[0070]
s3

4:针对已知故障类别的样本,基于密度峰值聚类的半监督算法会根据已知故障类别真实标签样本的信息对已知故障类别的无标签样本标注伪标签;
[0071]
s3

5:最后半监督标记模块将未知故障类别样本与已知故障类别样本一起输出,这些样本包含小部分的真实标签与大部分的伪标签。
[0072]
优选地,所述基于密度峰值聚类的半监督算法,该算法负责判断设备监测数据中是否有未知故障类别的样本并且使用带有真实标签的样本对大量无标签的样本标记伪标签;该算法具体计算流程如下:
[0073]
s4

1:计算步骤s3

1中输入半监督算法的每个样本的密度与间隔值;其中,样本的密度计算是基于距离共享邻居的定义,其中,共享邻居表示某一个样本既是样本i的邻居也是样本j的邻居,样本邻居的相似度计算公式为:
[0074][0075]
其中,sim(i,j)为样本邻居i,j的相似度分数,s为这两个样本共享邻居样本的个数,即为样本i和样本j相同的邻居数,表示样本i的k
neighbor
个邻居样本到样本i的平均距离,样本i的k
neighbor
邻居样本定义为距离样本i最近的k
neighbor
个样本,p表示样本i的k
neighbor
邻居样本中的某个样本,即为样本p,d
ip
表示样本i与样本p的距离,表示样本j的k
neighbor
个邻居样本到样本j的平均距离,样本j的k
neighbor
邻居样本定义为距离样本j最近的k
neighbor
个样本,q表示样本j的k
neighbor
邻居样本中的某个样本,即为样本q,d
jq
表示样本j与样本q的距离,i,j∈knn(i,j)表示这两个样本必须是k
neighbor
个邻居样本中的点,k
neighbor
为预设参数;
[0076]
样本i的密度计算公式为:
[0077]
ρ
i
=∑
j∈knn(i)
sim(i,j)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3);
[0078]
样本i的间隔计算公式为:
[0079][0080]
其中,d
ij
表示样本i与比它密度更高的样本j之间的距离,然后表示样本i与某一个已知故障类别真实标签样本的平均距离,c值是已知故障类别的数量;
样本的间隔总体表示为该样本与其密度更高的样本之间的距离;
[0081]
s4

2:在计算完每个样本的密度与间隔之后,计算每个样本的得分,计算公式为:
[0082][0083]
其中,ρ
i

i
是样本i的密度与间隔,在计算完每个样本的得分之后,选取得分最高的c个样本作为簇中心;
[0084]
s4

3:在选取完簇中心之后,将剩余的样本分配到每一个簇中;先将剩余的样本划分到核心区域、边缘区域、新类别区域三种区域中;样本分配到不同区域的计算公式为:
[0085][0086]
其中,region
i
表示样本i所在的区域,是所有样本密度的平均值,是所有样本间隔的方差值;在核心区域内的非簇中心样本称为聚类主干点,边缘区域内的样本称为聚类边缘点,而新类别区域内的样本就是未知故障类别的样本;
[0087]
s4

4:在对所有的点划分好区域之后,根据每个样本所在的区域,将这些样本使用不同的方式划分到簇中,并使用少量带有真实标签的样本为无标签样本标记伪标签;簇中心点的标签由簇中心点到带有真实标签样本的距离决定,公式如下:
[0088][0089]
其中,x
center
表示簇中心点,该式表示哪个类别的真实标签样本与簇中心点的距离最近,那么簇中心点的标签就是该类别的标签;核心区域中的聚类主干点分配给距离最近的簇中心点,并且聚类主干点的标签与所属簇中心点的标签保持一致;边缘区域内的聚类边缘点选择与它距离最近k
backbones
个主干点的标签值,k
backbones
是预设参数;未知故障类别的样本由人为识别故障信息并标注一部分的标签,将手动标注的未知故障类别真实标签样本与监测数据中未知故障类别的无标签样本输入k均值聚类算法,聚类之后将手动标注的真实标签赋予同一个簇中的无标签样本,作为无标签样本的伪标签;
[0090]
s4

5:在给所有的无标签样本标记完伪标签之后,将所有的样本输出,输出的样本包括少量的真实标签与大量的伪标签,增量更新模块使用这些样本进行增量更新。
[0091]
优选地,所述增量更新模块的对故障诊断模块进行增量更新的具体步骤如下:
[0092]
s5

1:在一段固定时间t内,存储半监督标记模块输出的带有伪标签的样本,判断样本是否满足更新条件;更新条件满足以下两项条件:
[0093]
(1)样本的数量是否达到可以更新的数量n;
[0094]
(2)每个类别的数据数量是否相等或者样本数量相差不超过10%;
[0095]
t和n均为预设参数;
[0096]
s5

2:如果同时满足上述两项更新条件,则基于正则化的增量学习算法使用带有
伪标签的样本增量更新故障诊断模块;同时,使用带有伪标签的样本更新已知故障类别的样本库,具体内容为:已知故障类别的伪标签样本替换已知故障类别的真实标签样本,加入未知故障类别的样本,将未知故障类别变为已知故障类别;如果不满足更新条件,则进入等待阶段,以等待满足更新条件;如果一直等待到时间t结束,还是不满足更新条件,则直接进入更新;
[0097]
s5

3:在增量更新完故障诊断模块与已知故障类别的样本库之后,增量更新模块进入等待阶段,等待下一轮的增量更新。
[0098]
优选地,所述增量更新模块采用基于正则化的增量更新算法实现模型的增量更新,具体为修改模型的损失函数;其中,模型原有的损失函数为模型分类损失函数,公式如下:
[0099][0100]
所述公式(8)为模型分类的标准交叉熵损失函数,其中|c|为故障类别的数量,y
i
为样本的标签值,p
i
为通过softmax函数获得的相应类别的概率;
[0101]
在模型原有的损失函数的基础上,增添蒸馏损失函数,所述蒸馏损失函数的公式为:
[0102][0103]
其中p
*
为原始模型在原有类别上生成的样本的软标签,|c
o
|为原有类别的数量,是重缩放函数,其中,ω设置为大于1以增加小值的权重,蒸馏损失函数通过加强旧类当前预测值匹配原始模型的软标签值来保留先前的知识,最终模型完整的损失函数为:
[0104][0105]
其中,n
batch
是从数据集中获取的训练批次,λ为损失权重。
[0106]
本发明中提供的故障诊断系统不仅局限于某一种工业设备,适用于各类可以产生振动信号的工业设备的故障诊断。工业设备的振动信号可采用现有的振动信号监测装置进行监测,并将监测到的振动信号传输至故障诊断模块进行读取。
[0107]
实验例1:
[0108]
本实施例采用凯斯西储大学公开的轴承数据集,数据集中包含驱动端与风扇端的轴承数据,轴承分为健康、内圈故障、外圈故障、滚动故障四种状态。
[0109]
故障诊断模块的流程为:
[0110]
(1)首先选取驱动端与风扇端中每种轴承状态的一部分数据加入已知故障类别的样本库,并使用样本库的样本对故障诊断模型进行初始化;
[0111]
(2)故障诊断模型读取工业设备监测数据,进行故障诊断,给出诊断结果;
[0112]
(3)在系统运行一段时间后,增量更新更新诊断对故障诊断模型进行增量更新,保证故障诊断模型能够适应数据变化情况;
[0113]
(4)更新完成的故障诊断模型继续用于故障诊断,直到下次更新。
[0114]
半监督标记模块中需要额外的数据集,具体的处理方式为:将每个轴承状态的另外一部分数据作为已知故障类别的新增样本,将某两个故障状态的数据进行混合后作为未知故障类别样本。半监督标记模块的流程如下:
[0115]
(1)将已知故障类别的样本库中的真实标签样本、已知故障类别的新增样本、未知故障类别样本混合后输入基于密度峰值聚类的半监督算法;
[0116]
(2)检测新输入的样本中是否存在新增的故障类别样本,即未知的故障类别样本;
[0117]
(3)如果存在未知的故障类别样本,将这些未知的故障类别样本选取出来给专业人员进行标签标注,专业人员标注完小部分的标签后,使用k均值聚类方法将小部分样本的真实标签值传递到其他的未知故障类别样本上;
[0118]
(4)针对已知故障类别的样本,基于密度峰值聚类的半监督算法根据已知故障类别真实标签样本的信息对已知故障类别的无标签样本标注伪标签;
[0119]
(5)最后将带有伪标签的未知故障类别样本与已知故障类别样本一起输出。
[0120]
增量更新模块主要使用半监督标记模块生成的带有伪标签的样本进行增量更新,具体步骤为:
[0121]
(1)在一段固定时间t内,存储半监督标记模块输出的带有伪标签的样本,判断样本是否满足更新条件;更新条件为样本的数量是否达到可以更新的数量n、每个类别的数据数量是否相等或者相近,t和n均为预设参数;
[0122]
(2)如果满足以上更新条件,则基于正则化的增量学习算法使用带有伪标签的样本增量更新故障诊断模块;
[0123]
(3)同时,使用带有伪标签的样本更新已知故障类别的样本库,具体内容为:已知故障类别的伪标签样本替换已知故障类别的真实标签样本,加入未知故障类别的样本,将未知故障类别变为已知故障类别;
[0124]
(4)如果不满足更新条件,则进入等待阶段,以等待满足更新条件。如果一直等待到时间t结束,还是不满足更新条件,则直接进入更新;
[0125]
(5)在增量更新完故障诊断模块与已知故障类别的样本库之后,增量更新模块进入等待阶段,等待下一轮的增量更新。
[0126]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献