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

一种基于生成对抗网络和自编码器的故障诊断方法

2022-10-26 14:18:37 来源:中国专利 TAG:


1.本发明属于机械设备故障诊断技术领域,具体涉及一种基于生成对抗网络和自编码器的故障诊断方法。


背景技术:

2.在现代工业中,机械设备在运行过程中一旦出现故障,就会造成巨大的经济损失,危及工人的安全,甚至会对整个项目产生严重的影响。因此,利用故障诊断技术对机械设备的健康状态进行诊断就显得尤为重要。
3.近年来,随着先进传感技术、工业大数据技术以及人工智能技术的不断发展,深度学习被广泛的应用于机械设备的故障诊断当中。基于深度学习的故障诊断方法需要大量的故障数据样本,而在实际工程应用当中,收集大量的故障样本是有难度的。因此,这也制约了深度学习在故障诊断领域的应用。
4.goodfellow等在2014年提出了生成对抗网络(generative adversarial network,简称gan),并证明了其在数据生成方面强大的能力,因此一些学者开始尝试将其应用于故障诊断领域。尽管gan在数据生成方面具有强大的能力,但其在训练过程中容易出现训练不稳定、样本生成质量较差等问题。如何让gan学习到真实数据的分布、生成有意义的样本是生成对抗网络能够应用于故障诊断领域的关键。
5.除了需要解决真实样本数量较少的问题,还需要想办法提高故障诊断的准确率。由于故障信号复杂,可能包含大量的噪声,因此如何从信号中提取潜在特征,对提升故障诊断的准确率尤为重要。自编码器作为无监督学习模型具有强大的特征学习能力,但传统的自编码器往往无法适用于振动信号这一类复杂数据。


技术实现要素:

6.本发明的目的在于提供一种基于生成对抗网络和自编码器的故障诊断方法,解决了实际场景下故障数据样本较少、生成数据质量不高的问题。
7.为实现上述目的,本发明所采取的技术方案为:
8.一种基于生成对抗网络和自编码器的故障诊断方法,用于机械设备故障诊断,所述基于生成对抗网络和自编码器的故障诊断方法,包括:
9.步骤1、采集处于故障状态下机械设备的振动信号并进行预处理;
10.步骤2、将预处理后的真实样本送入一维卷积生成对抗网络中进行训练得到生成器;
11.步骤3、利用生成器生成故障样本,并结合真实样本构建故障训练集;
12.步骤4、构建一维卷积自编码器,并利用所述故障训练集对所述一维卷积自编码器进行训练得到故障分类模型;
13.步骤5、利用故障分类模型对待检测的机械设备的振动信号进行分类,实现针对机械设备的故障诊断;
14.其中,所述一维卷积生成对抗网络由生成器和判别器组成,所述生成器由四层卷积层和三层上采样层构成,在前三层卷积层的每个卷积层后接入一个上采样层;所述判别器由四层卷积层、四层池化层以及一个全连接层构成,判别器中每个卷积层后接入一个池化层,最终由全连接层输出;
15.其中,所述一维卷积自编码器由编码层和解码层组成,所述编码层由三层卷积层、三层池化层和一个flatten层组成,在每个卷积层后接入一个池化层,最后由flatten层过渡到解码层;所述解码层由三个卷积层和两个上采样层组成,解码层中前两个卷积层的每个卷积层后接入一个上采样层,最后一个卷积层为卷积核数目为1、卷积核大小为3
×
1、步长为1的卷积层。
16.以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
17.作为优选,所述预处理为标准归一化方法。
18.作为优选,所述利用生成器生成故障样本,包括:
19.利用得到的生成器,输入满足正态分布的1
×
150维的随机噪声,生成若干个故障样本用作样本扩充。
20.作为优选,所述利用所述故障训练集对所述一维卷积自编码器进行训练得到故障分类模型,包括:预训练阶段和微调阶段;
21.所述预训练阶段包括:利用故障训练集对一维卷积自编码器进行预训练,预训练阶段的损失函数为相关熵损失函数,预训练至到达结束条件后进入微调阶段;
22.所述微调阶段包括:取预训练结束后的一维卷积自编码器,去除一维卷积自编码器中的解码层,固定编码层的参数后将编码层直接接入分类器,并利用故障训练集对分类器的参数进行微调得到故障分类模型,微调阶段的损失函数为交叉熵损失函数。
23.作为优选,所述故障训练集在用于一维卷积自编码器训练前需要进行预处理,所述故障训练集的预处理为:对构建的故障训练集中的样本进行fft变换,将时域信号变换为频域信号,变换后的样本从1
×
1200维的数据变换为了1
×
600维的数据。
24.作为优选,所述相关熵损失函数的表现形式为:
[0025][0026]
式中,l为相关熵损失函数,y为一维卷积自编码器输出的预测值,为真实值,σ为函数的宽度参数。
[0027]
本发明提供的基于生成对抗网络和自编码器的故障诊断方法,利用一维卷积神经网络构建生成对抗网络,从而能够学习真实故障样本的数据分布,生成高质量的故障样本。为了从故障样本中发掘潜在特征,提高故障诊断的准确率,本发明利用一维卷积神经网络构建自编码器模型,并利用相关熵损失函数替代mse损失函数,削弱了信号中噪声对模型训练的影响,提升了自编码器模型的特征提取能力。
附图说明
[0028]
图1为本发明基于生成对抗网络和自编码器的故障诊断方法框图;
[0029]
图2为本发明基于生成对抗网络和自编码器的故障诊断方法的流程图;
[0030]
图3为本发明一维卷积生成对抗网路的模型结构图;
[0031]
图4为本发明的一维卷积自编码器模型结构图;
[0032]
图5为本发明最终用于故障诊断的故障分类模型的结构图;
[0033]
图6为本发明相关熵损失函数的梯度示意图;
[0034]
图7为本发明实验中生成信号随模型迭代次数的演变的关系图;
[0035]
图8至图10是本发明实验中各类生成数据与原始数据频谱对比图;
[0036]
图11为本发明实验中不同方法下的诊断准确率示意图;
[0037]
图12为本发明实验中不同方法下的泛化能力比较示意图;
[0038]
图13为本发明实验组一维卷积自编码器特征提性能比较示意图。
具体实施方式
[0039]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本发明。
[0041]
在一个实施例中,为了解决实际场景下机械设备故障诊断中故障数据样本较少、生成数据质量不高的问题,如图1所示,提供一种基于生成对抗网络和自编码器的故障诊断方法。该方法包括三个环节,依次为数据采集、故障数据集构建以及诊断。通过数据采集获取故障数据,以故障数据作为真实故障训练集,并基于故障数据输入生成网络生成样本,所生成的样本结合真实故障训练集作为最终的故障训练集用于诊断,以克服现有技术中样本缺少,故障诊断准确性低的问题。
[0042]
具体的,如图2所示,本实施例的基于生成对抗网络和自编码器的故障诊断方法,包括以下步骤:
[0043]
步骤1、采集处于故障状态下机械设备的振动信号并进行预处理。
[0044]
利用加速度传感器对振动信号进行采集,在采集到故障设备的振动信号后,对数据进行预处理,预处理为标准归一化的处理方式:y=(x-x
min
)/(x
max-x
min
),其中y,x分别为归一化后和归一化前的样本,x
max
是数据样本的最大值,x
min
是数据样本的最小值。
[0045]
步骤2、将预处理后的真实样本送入一维卷积生成对抗网络中进行训练得到生成器。
[0046]
如图3所示,本实施例中的一维卷积生成对抗网络由生成器和判别器组成,生成器由四层卷积层和三层上采样层构成,在前三层卷积层的每个卷积层后接入一个上采样层;判别器由四层卷积层、四层池化层以及一个全连接层构成,判别器中每个卷积层后接入一个池化层,最终由全连接层输出。
[0047]
即本实施例的生成器表现为一种由四层卷积层和三层上采样层构成的网络结构,输入数据为1
×
150维的服从正态分布的随机噪声;在生成器中,每个卷积层后接入上采样层,最终将输入数据转换成1
×
1200维的数据;所有上采样层的卷积核大小均为2
×
1,步长均为2;卷积层1的卷积核数目为32,卷积核大小为3
×
1,步长为1,激活函数为rule激活函数;卷积层2的卷积核数目为32,卷积核大小为3
×
1,步长为1,激活函数为rule激活函数;卷积层3的卷积核数目为16,卷积核大小为3
×
1,步长为1,激活函数为rule激活函数;卷积层4的卷积核数目为1,卷积核大小为3
×
1,步长为1,激活函数为tanh激活函数。
[0048]
本实施例的生成器与常规一维卷积生成对抗网络的区别在于利用卷积层和上采样层的组合来取代反卷积层提升了信号生成的质量;在每层卷积操作后引入了批量归一化操作来增强模型的泛化能力;选用rule激活函数来提升信号生成的质量,同时避免训练时的梯度消失现象;生成器的最后一层采用卷积核数目为1,卷积核大小为3
×
1,步长为1的一维卷积层,激活函数为tanh激活函数实现最终信号样本的生成。
[0049]
本实施例的判别器表现为一种由四层卷积层和四层池化层以及一个全连接层构成的网络结构,输入数据为1
×
1200维的数据;在判别器中,每个卷积层后接入池化层,起到数据降维的功能,全连接层输出的是一个标签数值0或1代表输入的数据是否为真实样本;所有池化层的卷积核大小均为2
×
1,步长均为2;卷积层1的卷积核数目为64,卷积核大小为3
×
1,步长为1,激活函数为leakyrelu激活函数;卷积层2的卷积核数目为32,卷积核大小为3
×
1,步长为1,激活函数为leakyrelu激活函数;卷积层3的卷积核数目为16,卷积核大小为3
×
1,步长为1,激活函数为leakyrelu激活函数;卷积层4的卷积核数目为8,卷积核大小为3
×
1,步长为1,激活函数为leakyrelu激活函数;全连接层的激活函数为sigmoid激活函数。
[0050]
本实施例的判别器采用一维卷积层、池化层以及全连接层构成,利用小卷积核和小步长来提取样本中细腻特征;在卷积层后接入池化层来改变特征图的宽度,减少网络参数和计算量,同时保留重要特征;全连接层用来输出0或1代表输入的数据是否为真实样本。
[0051]
本实施例的一维卷积生成对抗网络的训练过程为:
[0052]
随机选取故障振动信号{x1,x2,x3,

xm},记为x,将x输入判别器d,得到d(x);选取n个具有高斯分布的噪声{z1,z2,z3,

zm},记为z,将z输入生成器g中,生成g(z),将g(z)输入判别器d中,得到d(g(z))。
[0053]
由于生成对抗网络的目标为:生成器能尽可能生成接近真实样本的样本,判别器能尽可能区分真实样本和生成的样本,因此目标损失函数具体定义为e为期望,p
data
为真实样本x的概率分布;pz为随机向量z的先验分布,如高斯分布等。
[0054]
按照上述方法训练m个批次,对判别器d与生成器g进行迭代训练,直至判别器d与生成器g之间达到纳什均衡。待生成器与判别器达到纳什平衡后,去除判别器,保留生成器。
[0055]
步骤3、利用生成器生成故障样本,并结合真实样本构建故障训练集。
[0056]
在一个实施例中,构建用于故障分类模型训练的训练集的包括:利用得到的生成器,输入满足正态分布的n
×
150维的随机噪声,生成n个故障样本用作扩充样本,生成的样本数量根据实际情况而定;将生成的n个故障样本与采集到的m个真实故障样本进行混合作为故障训练集。
[0057]
本实施例利用生成器扩充样本,并且保留真实样本混合得到最终的故障训练集,保证故障训练集中即包含足够的数据量,有保留真实样本特性。
[0058]
步骤4、构建一维卷积自编码器,并利用故障训练集对一维卷积自编码器进行训练得到故障分类模型。
[0059]
在一个实施例中,为了充分利用故障信号中的有用信息,故障训练集在用于一维卷积自编码器训练前需要进行预处理,所述故障训练集的预处理为:对构建的故障训练集中的样本进行fft变换,将时域信号变换为频域信号,变换后的样本从1
×
1200维的数据变换为了1
×
600维的数据。
[0060]
如图4所示,本实施例的一维卷积自编码器由编码层和解码层组成,通过训练使解码层的输出接近于编码层的输入,从而学习输入样本的潜在特征。编码层由三层卷积层、三层池化层和一个flatten层组成,在每个卷积层后接入一个池化层,最后由flatten层过渡到解码层;解码层由三个卷积层和两个上采样层组成,解码层中前两个卷积层的每个卷积层后接入一个上采样层,最后一个卷积层为卷积核数目为1、卷积核大小为3
×
1、步长为1的卷积层。
[0061]
编码层负责对输入进行编码,由三个卷积池化层和flatten层组成;输入为1
×
600维的数据;所有池化层的卷积核大小均为2
×
1,步长均为2;卷积层1的卷积核数目为16,卷积核大小为3
×
1,步长为1,激活函数为relu激活函数;卷积层2的卷积核数目为8,卷积核大小为3
×
1,步长为1,激活函数为relu激活函数;卷积层3的卷积核数目为8,卷积核大小为3
×
1,步长为1,激活函数为relu激活函数;flatten层负责将提取的特征展平。
[0062]
编码层由一维卷积层和池化层构成,为提高信号中细腻特征的提取能力,一维卷积层采用了小卷积核以及小的步长;通过在卷积层后接入池化层来改变特征图的宽度来减少网络参数和计算量,同时保留重要特征;利用relu作为激活函数避免训练时的梯度消失现象,同时获取特征的稀疏表示;利用flatten层将提取的特征展平,避免引入额外的训练参数,较小了模型的过拟合的风险。
[0063]
解码层负责对输入进行重构,由两个上采样层和三个卷积层组成;所有上采样层的卷积核大小均为2
×
1,步长均为2;卷积层1的卷积核数目为8,卷积核大小为3
×
1,步长为1,激活函数为relu激活函数;卷积层2的卷积核数目为8,卷积核大小为3
×
1,步长为1,激活函数为relu激活函数;卷积层3的卷积核数目为1,卷积核大小为3
×
1,步长为1,激活函数为relu激活函数,使得输出为1
×
600维的数据。
[0064]
解码层由一维卷积层和上采样层组成,同样卷积层采用小卷积核和小步长来提取潜在的细腻特征;通过卷积后上采样实现对信号的重构,避免了反卷积层分辨率低以及信息丢失的缺点;利用relu作为激活函数来避免训练时的梯度消失现象;解码层的最后一层为卷积核数目为1,卷积核大小为3
×
1,步长为1的卷积层,用于输出最终的重构信号。
[0065]
如图5所示,利用训练集对卷积自编码器进行训练得到故障分类模型,包括:预训练阶段和微调阶段。
[0066]
其中预训练阶段包括:利用故障训练集对一维卷积自编码器进行预训练,预训练阶段的损失函数为相关熵损失函数,预训练至到达结束条件后进入微调阶段。
[0067]
本实施例在训练一维卷积自编码器时,利用相关熵构建损失函数取代常用的mse损失函数作为一维卷积自编码的重构误差损失,以减小数据中非高斯噪声对一维卷积自编
码训练的影响;相关熵损失函数的表现形式为:
[0068][0069]
式中y为在预测值,为真实值,σ为函数的宽度参数。相关熵损失函数的梯度如图6所示,有图可见相关熵损失函数的梯度相比于常用的mse损失函数,其梯度值被限定在一定的范围以内,不会出现由于异常值而造成的梯度过大的现象。
[0070]
其中微调阶段包括:取预训练结束后的一维卷积自编码器,去除一维卷积自编码器中的解码层,固定编码层的参数后将编码层直接接入分类器,并利用故障训练集对分类器的参数进行微调得到故障分类模型,微调阶段的损失函数为交叉熵损失函数。
[0071]
步骤5、利用故障分类模型对待检测的机械设备的振动信号进行分类,实现针对机械设备的故障诊断。
[0072]
本实施例的基于生成对抗网络和自编码器的故障诊断方法利用一维卷积神经网络搭建了生成对抗网络,一定程度上解决了传统生成对抗网络训练不稳定、数据生成质量差的问题;利用一维卷积神经网络搭建了自编码器,提升了自编码的特征特取能力,提升了故障诊断的准确率;将一维卷积生成对抗网络与一维卷积自编码器相结合,一定程度上解决了基于数据驱动的故障诊断方法在实际应用时缺乏故障样本的问题。
[0073]
为了更加清楚地了解本发明的技术方案及其效果,下面结合一个具体的实施例进行详细说明。
[0074]
本实施例提供一种基于生成对抗网络和自编码器的故障诊断方法,首先利用少量的真实故障样本送入一维卷积生成对抗网络中进行训练,得到生成器用于生成故障样本作为扩充样本来构建故障训练集。接着构建一维卷积自编码器,对故障训练集中的样本进行傅里叶(fft)变换,送入到一维卷积自编码器中进行训练,利用相关熵损失函数替代mse损失函数作为一维卷积自编码器的损失函数。新提出的诊断模型可以直接利用一维加速度振动信号进行样本扩充并进行故障分类模型的训练,可以有效提高小样本下故障诊断的准确度。
[0075]
本实施例针对一维卷积生成对抗网络模型的训练中,通过参数调整获得的具体参数如表1所示:
[0076]
表1一维卷积生成对抗网络的参数
[0077]
[0078][0079]
本实施例针对一维卷积自编码器的训练中,通过参数调整获得的模型参数如表2所示:
[0080]
表2一维卷积自编码器的参数
[0081][0082]
本实例采用了美国凯斯西储大学故障轴承数据集对文中的方法进行验证。该数据集是在不同工况下对内圈、外圈、滚动体故障以及正常轴承的加速度信号进行采集。在保证振动信号所包含的信息不丢失的前提下,选取不同故障状态,不同工况下的数据样本各1000个。所用数据集的详细情况见表3,a、b、c对应三种不同工况。
[0083]
表3数据集的详细情况
[0084]
数据集a(样本个数)b(样本个数)c(样本个数)内圈故障100010001000外圈故障100010001000滚动体故障100010001000
[0085]
为验证一维卷积生成对抗网络的数据生成能力,取数据集a中每种状态下的500个
样本输入到一维卷积生成对抗网络中进行训练,待生成器与判别器达到纳什平衡后,保留生成器用于生成样本。图7为生成的时域波形随迭代次数的变化,可以看出随着迭代次数的不断增加生成的信号质量越来越好。从图8至图10中可以看出,不同故障情况下,真实样本与生成样本的时域波形虽不相同,但真实样本的频域与生成样本的频域分布类似,说明一维卷积生成对抗网络可以学习到数据的近似分布。
[0086]
为了证明本发明方法故障诊断的准确率分别进行单一工况和变工况实验。
[0087]
首先进行单一工况下的诊断试验,取数据集a中50%的样本利用一维卷积生成对抗网络构建包含5000个样本的训练集用于一维卷积自编码模型的训练,剩余50%的样本用于分类测试。为了验证一维卷积自编码模型的有效性,与mse dae和时频特征 lgb的诊断方法进行比较,每种方法各进行5次实验取平均值。从图11可以看出本方法的诊断结果比较理想,准确率较高。
[0088]
接着为验证本文模型在不同工况下的泛化能力,分别用一种工况下的样本用于一维卷积生成对抗网络与一维卷积自编码器的训练,其余工况的样本作为测试,“a-b”表示数据集a用作训练,真实数据b用作测试,其他情况以此类推,同时与mse dae方法和时域特征 lgb的方法的结果进行对比,从图12中可以直观的看出mse dae的方法与时域特征 lgb的方法泛化性能较差,而本文所提出的模型具有不错的泛化能力,说明卷积自编码器能够提取到更本质的特征使得模型具有更好的泛化能力。
[0089]
为了直观地展示一维卷积自编码的特征提取能力,利用t-sne降维可视化方法对一维卷积自编码提取的特征进行降维聚类,并与人工提取的时域特征进行对比。从图13中可以看出,一维卷积自编码提取的特征,类别与类别之间有着清晰的界限,说明一维卷积自编码器提取的特征具有区分故障类别的能力。
[0090]
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0091]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献