CN114037001A - 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 - Google Patents
基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 Download PDFInfo
- Publication number
- CN114037001A CN114037001A CN202111183493.3A CN202111183493A CN114037001A CN 114037001 A CN114037001 A CN 114037001A CN 202111183493 A CN202111183493 A CN 202111183493A CN 114037001 A CN114037001 A CN 114037001A
- Authority
- CN
- China
- Prior art keywords
- data
- wgan
- sample
- model
- fault diagnosis
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于WGAN‑GP‑C和度量学习的机械泵小样本故障诊断方法,基于一维卷积和时序数据设计,由数据预处理、数据增强、度量学习、模型优化四部分组成。其中,数据预处理实现数据自适应去噪和标准化;在数据增强部分,基于WGAN‑GP进行网络和结构修改得到WGAN‑GP‑C,以实现按类别扩充数据,从而强化数据的边缘界限信息;度量网络结合残差思想和空间自适应结构实现特征映射,再结合KNN算法,即可实现状态分类;在模型优化部分,本发明运用权值量化思想优化网络,使用Ball‑tree实现KNN并根据重要因子对训练数据进行删减,从而从整体上提升算法性能。本发明在数据稀少的情况下具有良好性能,实用价值高,可以为维修机械泵的相关工作人员提供思路。
Description
技术领域
本发明涉及机械泵故障诊断方法,尤其涉及一种基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法。
背景技术
随着科学技术的发展,船舶装备的结构越来越复杂,功能也越来越完善,自动化程度越来越高,机械设备的复杂程度也随之成倍增加。因此,当机械设备的某个零部件出现故障时,有可能导致整个***失效,这种故障不仅有可能产生严重的经济损失,更有甚者可能会导致人员伤亡。因此迫切需要发展和完善能够对机械设备故障有效诊断的智能诊断技术。
智能诊断技术是将故障诊断技术与网络传输技术相结合,通过采用计算机软件,把诊断过程智能化,不仅降低了故障诊断门槛,方便使用,同时提高了诊断结果的可靠性,逐渐受到越来越多的关注,已成为当前研究和应用的一个热点。
随着模糊集理论、专家***、神经网络、小波分析等检测技术的出现,智能故障诊断技术已发展成为一种多学科耦合的综合技术,了解并合理采用这些技术将成倍地提高船舶装备的效能,满足船舶装备的全寿命、全***和全费用管理,对于保证船舶***的可靠性与安全性有着十分重要的意义。
现如今,应对机械泵的智能化故障诊断***一般采用数据驱动的模型,这些模型大多借助于如梯度提升树、支持向量机以及逻辑回归等机器学习算法,将提取的故障特征输入到算法模型中并调整模型参数,经过多次迭代训练获得诊断模型。
近年来,深度学习和神经网络的发展为故障诊断引入新的思想,其具有较强的表达能力,克服了传统机器学习算法的不足,具备识别微小故障的潜力,其在故障诊断中的应用已得到业内学者的广泛关注。这些诊断模型在特定场景下通常有着不错的效果,但是大多模型的建立需要较多的数据,数据规模对其中部分模型影响巨大,尤其是基于深度学习和神经网络和模型结构,数据多少的影响是格外明显的。但在现实中,机械泵等机械设备的故障数据很是稀少并且可能存在部分缺失,难以支撑一套普通算法的有效训练,小样本数据的情况加大了数据分析的难度,使算法难以获得理想的结果,从而使故障诊断面临准确率低、漏报误报等难题。
针对小样本背景的机械故障诊断算法设计是现如今的研究热题,近年来也涌现出许多策略,但大多还存在着适应场景单一、算法性能存在缺陷等问题,这也是当下继续研究的意义所在。
发明内容
为解决现有技术中存在的不足,本发明的目的在于,提供一种基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,在船舶机械泵故障数据稀少的小样本背景下,基于一维卷积和时序数据,设计基于WGAN-GP-C和度量学习的小样本故障诊断算法,并采用典型机械泵的故障数据进行算法验证与实现。
为实现本发明的目的,本发明所采用的技术方案是:
一种基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,所述方法包括步骤:
(1)读取时序数据并进行数据预处理;
(2)构建WGAN-GP-C模型,并基于WGAN-GP-C模型进行数据增强;
(3)基于度量学习和KNN分类算法构建故障诊断模型;
(4)进行模型优化;
(5)利用优化后的模型对预处理且数据增强过得数据进行故障诊断。
进一步地,所述步骤(1)具体包括:
(1.1)读取时序数据并按设定长度进行截取,并利用归一化最小均方自适应滤波器NLMS进行滤波;
(1.2)用中值滤波进行异常值去除;
(1.3)统计数据各个维度的平均值和方差,采用Z-score方法进行数据标准化处理。进一步地,NLMS滤波算法如下:
y(k)=wT(k)x(k)
e(k)=d(k)-y(k)
进一步地,所述步骤(2)具体包括:
(2.1)基于WGAN-GP和残差结构构建WGAN-GP-C模型,在生成器输入随机噪声时加入标签进行类别指导,在判别器输出端判别数据所属类别,实现按类别生成数据;
(2.2)进行WGAN-GP-C模型训练,将生成样本与真实样本一同送入判别器,先训练数据分布,让生成样本与真实样本相拉近,再在完善分布的同时训练分类;
(2.3)用训练完成的WGAN-GP-C生成样本时,对生成样本数据筛选;
(2.4)生成样本数据质量采用最大平均差异MMD进行评估并以此调整模型。
进一步地,生成器G的损失函数,判别器D的损失函数,数据类别的损失函数,如下式:
其中,表示f(x)对x在分布P下的数学期望,xr是真实样本,xf是生成样本,Pr表示真实数据分布,Pf表示生成数据分布,和分别表示xr和xf的类别,表示的数据分布,表示在分布Pr和分布Pf的连线上的数据点,表示的数据分布,L2表示L2正则化惩罚,λ1、λ2、λ3、λ4和λ5是控制损失函数不同部分的超参数,n表示样本数量即y的维度,yi、classi表示第i个样本的网络输出以及真实类别。
进一步地,数据筛选步骤包括:将生成样本通过判别器进行类别判断,保留输入标签与判别器输出类别相同的生成样本;对保留下来的每个样本,以一定概率a选择是否保留样本,此概率a取判别器在真实数据测试集上准确率a。
进一步地,所述步骤(3)具体包括:
(3.1)构建度量网络模型,包括卷积神经网络Vector-CNN和空间自适应结构,样本数据经卷积神经网络得到一个向量,空间自适应结构中构建空间位置矩阵,然后根据向量特征对空间位置赋予不同的权重,以实现空间度量映射;
(3.2)构建triplet数据集,采用Adam优化器训练度量网络模型;
(3.3)构建分类算法模型,利用KNN算法寻找最优k值以及对应的准确率,对训练得到的度量网络模型进行测试。
进一步地,空间自适应结构损失函数如下式:
ltriplet(xa,xp,xn)=max{0,d(Ea,Ep)-d(Ea,En)+μ
loss=ltriplet(xa,xp,xn)+λlE
其中,d(Ea,Ep)表示Ea和Ep的欧几里得距离,μ是一个超参数,λ是控制惩罚程度的超参数;xa表示anchor,xp和xn分别表示正样本和负样本,Ea、Ep和En表示三者的度量网络映射输出;lE表示L2正则化处理。
进一步地,所述步骤(4)具体包括:
(4.1)针对度量网络进行量化;具体针对卷积神经网络Vector-CNN进行量化,将网络相邻模块融合;具体对卷积的weight采用对称量化,bias不进行量化,对激活层采用非对称量化;
(4.2)采用树形结构Ball-tree实现KNN算法的加速;
(4.3)进行训练集数据筛选,提出训练集数据的重要因子IF,将所有样本按重要因子从小到大进行排序;并在保证算法准确率的前提下,去除一部分IF较小的样本。
进一步地,定义样本的重要因子为其与同类样本的欧式距离的平方的倒数和,并加上调整大小后的其与不同类样本的欧式距离的平方和,并考虑到不同类别的样本的重要因子大小分布存在差异,在排序和实现数据删减时按数据类别分别进行操作;
其中,xin表示训练样本第i类的第n个样本,Ni表示第i类样本的数量,C表示样本类别数量,d(xin,xim)表示xin和xim的欧式距离,表示集合的最大值,表示集合的最小值,和分别是集合和集合按一定比例删除较大值和较小值的集合,mean()表示集合所有数值的平均值,inf表示防止分母为零的极小值。
本发明的有益效果在于,与现有技术相比:
(1)本发明针对稀少的故障数据,采用的NLMS+中值滤波的方案在较小的时间劣势下获得了更好的滤波性能;将滤波结合数据标准化构成数据预处理部分,其对模型性能有着明显的提升效果;
(2)数据增强部分是针对小样本现状的第一步方案,基于WGAN-GP进行更改得到WGAN-GP-C以实现按类别生成数据,并结合参数调整以及有效的数据筛选策略,实现了数据增强,强化数据边缘信息;
(3)在模型优化部分,针对Vector-CNN进行量化处理,将模型大小降低约4倍,同时保证了运算速度和分类性能;将KNN的常规实现更换为Ball-tree,有效提高了搜索速度;提出重要因子定义,实现中以基于训练集性质的重要因子为参考去除数据,进一步优化了Ball-tree的建树时间和搜索时间;
(4)在高噪声干扰、样本数量不足等复杂场景下该方法具有较好的故障识别准确率;具有科学合理,适应性强,实用价值高,可为机械泵研发、大型机械运行维护以及研究等相关人员提供参考。
附图说明
图1为基于WGAN-GP和度量学习的机械泵小样本故障诊断方法总体框图;
图2为WGAN-GP-C网络设计图;
图3为metric-net结构设计图;
图4为KNN分类器示意图;
图5为WGAN-GP-C模型训练相关损失变化示意图;a为生成器损失,b为判别器损失;
图6为metric-net训练过程损失变化示意图;a为损失变化,b为lE变化;
图7为量化后向量库二维可视化示意图;
图8为数据筛选时准确率变化示意图;a为最优准确率变化,b为搜索时间变化,c为建立树形结构的时间变化,d为准确率变化。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本申请的保护范围。
如图1所示,本发明所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,由数据预处理、基于WGAN-GP-C的数据增强、基于度量学习和KNN的分类算法、模型优化四部分组成,实现对具有小样本背景的机械泵故障的准确诊断。
本发明所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,具体步骤如下:
(1)数据预处理设计;
读取原始数据并按长度为2015进行截取,将数据利用滤波器阶数为16和步长因子为0.05的归一化最小均方自适应滤波器(Normalized Least Mean Square,NLMS)进行滤波,并用核为5的中值滤波进行异常值去除。统计数据各个维度的平均值和方差,采用Z-score方法进行数据标准化处理。
(2)基于WGAN-GP-C的数据增强设计;
搭建WGAN-GP-C模型时基于WGAN-GP和残差结构思想进行设计,在生成器输入随机噪声时加入类别指导信息,在判别器输出端引入判别数据类别的部分。在WGAN-GP-C训练中,前50000个epoch只训练数据分布,其后同时训练数据分布和数据分类,以实现按类别生成数据。数据生成质量采用最大平均差异(Maximum Mean Discrepancy,MMD)进行评估并以此调整网络。数据增强过程遵循数据筛选策略。
(3)基于度量学习和KNN的分类算法设计;
搭建度量网络模型,基于残差思想,并提出空间自适应结构,使得样本在进行空间映射时根据自身性质寻找更为合适的空间位置。数据映射输出维度为32。构建triplet数据集。采用学习率lr=5×10-5的Adam优化器训练网络模型。构建分类算法模型时,利用KNN算法,将参数k在[1,100]范围内遍历,然后测试KNN算法在测试集上的性能,以寻找最优k值以及对应的准确率。
(4)构建模型并进行模型优化;
针对度量网络进行量化。对卷积的weight采用对称量化,bias不进行量化,对激活层采用非对称量化。实现运算32位到8位的运算。采用树形结构实现KNN。对线性扫描(linear scan)、Kd-tree、Ball-tree进行搜索时间比较,选择Ball-tree方式实现KNN算法。训练集数据筛选,提出训练数据的重要因子(Important Factor,IF)的概念,将所有样本按重要因子从小到大进行排序,在保证算法准确率的前提下,去除一部分IF较小的样本,从而实现数据筛选,优化Ball-tree建树速度并提高搜索速度。
(5)构建并优化后的模型,对预处理过得数据进行故障诊断。
所述步骤(1)中,
(1.1)数据预处理中的NLMS由最小均方自适应滤波器(Least Mean Square,LMS)改善得来。已经广泛应用与信号处理、信道均衡等领域,其基于随机梯度下降得出最优解,算法运算过程包括滤波输出计算(式1)、误差信号计算(式2)、加权系数更新(式3)。
y(k)=wT(k)x(k) (1)
e(k)=d(k)-y(k) (2)
w(k+1)=w(k)+μe(k)x(k) (3)
其中,x(k)是输入信号,y(k)是输出信号,d(k)参考信号(实际使用时会以x(k)为参考),w(k)是滤波器系数(the coefficient of the adaptive filter),μ是步长参数。
当信号不稳定或较为复杂时,LMS常因固定的收敛步长而出现收敛不稳定甚至难以收敛的问题。归一化最小均方自适应滤波器(NLMS,Normalized Least Mean Square)用输入信号对固定的步长参数进行归一化,从而不断改变步长参数,因此NLMS算法比LMS具有更高的适应性和收敛稳定性。
NLMS在运算时,其滤波器系数更新如式4。
(1.2)中值滤波是把数字序列中一点的值用该点的一个邻域中各点的中值代替,从而消除孤立的噪声点,能有效抑制异常点。
(1.3)数据标准化是为了保证网络对数据各个维度一视同仁从而达到良好的收敛效果,本发明使用的是Z-score标准化方法,计算方式如下。
所述步骤(2)中,
(2.1)基于WGAN-GP-C的数据增强是本发明针对机械泵故障诊断的第一步方案。WGAN-GP-C是本发明为实现按类别生成数据,基于WGAN-GP进行结构更改得到的。
基于Wasserstein生成对抗网络(Wasserstein Generative AdversarialNetworks,WGAN)解决了原生生成对抗网络(Generative Adversarial Network,GAN)难以训练的问题,但WGAN的梯度剪切(weight clipping)仍存在易导致梯度消失或梯度***。为解决此问题,梯度惩罚(gradient penalty)的训练技巧被引入到WGAN中,即WGAN-GP。
如图2所示,本发明数据生成的一个重要前提是按数据类别进行生成,故基于WGAN-GP进行网络结构设计时需要加入类别指导信息,将其称为WGAN-GP-C(WGAN-GP withcategory)。
本发明设计对生成器输入的随机噪声数据加入标签进行类别指导,其中标签用可训练的与随机噪声同纬度的word embeddings表示,将生成样本与真实样本一同送入判别器,判断器输出生成样本和真实样本的Wasserstein距离(EM距离,Earth Mover’sDistance,EMD)以及样本所属类别。在构建WGAN-GP-C的生成器和判别器时,基于1DCNN,使用了残差思想进行设计。值得说明的是,在判别器构建中,在使用残差结构时,并未加入Batch Normalization。根据本发明的结构设计,可以得到生成器G(x)的损失函数如式6,判别器D(x)损失函数如式7。其中,对数据类别的损失计算采用交叉熵函数,如式8。
其中,表示f(x)对x在分布P下的数学期望,xr是真实样本,xf是生成样本,Pr表示真实数据分布,Pf表示生成数据分布,和分别表示xr和xf的类别,表示的数据分布,表示在分布Pr和分布Pf的连线上的数据点,表示的数据分布,L2表示L2正则化惩罚,λ1、λ2、λ3、λ4和λ5是控制损失函数不同部分的超参数,n表示样本数量即y的维度,yi、classi表示第i个样本的网络输出以及真实类别。
WGAN-GP-C的训练方式是为了更好切合本发明按类别生成数据的需求,先训练数据分布,让生成数据与真实数据相拉近,再在完善分布的同时训练分类,寻找生成数据的边界信息。即设置式6和7的参数,在前5万个epoch,设置λ2=10,λ1=λ3=λ4=λ5=0,导入数据训练。在5万epoch之后的训练中,设置λ1=1、λ2=10、λ3=0、λ4=10、λ5=0.004,继续进行训练。
用训练完成的WGAN-GP-C生成样本时,设计对生成样本数据筛选,在这个过程中,本发明认为判别器具有较好性能,故数据筛选过程与判别器相关联,数据筛选的步骤是:(1)将生成样本通过判别器进行类别判断,保留输入label与判别器输出类别相同的生成样本。(2)对(1)中保留下来的每个样本,以一定概率a选择是否保留样本,此概率a取判别器在真实数据测试集上准确率a。
(2.2)对生成样本的质量采用MMD(Maximum Mean Discrepancy,MMD)方法进行评价,MMD是在希尔伯特空间对训练数据集分布和生成数据集的距离进行度量。其数值越小,证明两组数据分布越接近。
所述步骤(3)中,
(3.1)基于度量学习和KNN的分类算法设计的度量网络模型是本发明针对机械泵小样本问题的第二步方案。度量学习(Metric Learning)是一种空间映射的方法,能够学习到一种更加具有判别性特征空间(embedding space),其效果比特征提取更为有效,在小样本问题上效果显著。
如图3所示,本发明基于度量学习的网络模型设计基于1DCNN和残差结构进行设计,并参考Similarity Condition Embedding Network,提出空间自适应结构,使得样本在进行空间映射时根据自身数据性质自动选择更为合适的空间位置。将其命名为metric-net。metric-net主要由名为Vector-CNN的卷积神经网络和空间自适应结构组成。Vector-CNN基于1DCNN实现,使用了多个残差结构和池化结构以取得更好的收敛效果,一维数据经过该部分会得到一个向量即Vector。
在空间自适应结构中,利用Vector进行处理,网络在该部分会使用一个可学习的矩阵mask,其包含n个维度与Vector相同的数组,即M1、M2、…、Mn,其作用是自动学习出能有效代表机械泵振动数据特征的n个空间位置;另外,Vector会经过一个小型网络,输出n个数据,即W1、W2、…、Wn,旨在根据向量特征对上述n个空间位置赋予不同的权重从而进行合理重组以实现更好的空间度量映射。
在空间自适应结构部分的计算中,Mi(i=1,2,…,n)用L2范数进行归一化后与Vector进行哈达玛积运算以实现样本向不同空间位置的映射,后与Wi(i=1,2,…,n)进行乘积运算,并将得到的n个向量按维度进行累加,即得到最终的Embedding,该部分可以看作是一种自注意力机制。metric-net采用了可学习的mask且在实现时不寻求mask的稀疏性,从而实现空间位置的自适应寻找。
(3.2)为了训练该度量网络,本发明定义了一个三元组{xa,xp,xn},其中,xa表示anchor,xp和xn分别表示正样本和负样本,Ea、Ep和En表示三者的度量网络映射输出,则最后的triplet loss可以表示成式9。本发明对最后的Embedding进行L2正则化处理即lE,则该网络的损失函数如式10所示。
ltriplet(xa,xp,xn)=max{0,d(Ea,Ep)-d(Ea,En)+μ} (9)
loss=ltriplet(xa,xp,xn)+λlE (10)
其中,d(Ea,Ep)表示Ea和Ep的欧几里得距离,μ是一个超参数。λ是控制惩罚程度的超参数。
构建triplet数据集时,按同一类别的2组数据搭配9组不同类别数据的原则进行。为使得网络取得良好的收敛性,在训练时,采用较小的学习率。采用Adma优化器进行学习,学习率为lr=5×10-5,batch size设置为512。设置式9和式10的参数,其中,μ=0.6,λ=5e-3。
(3.3)对于待诊断数据,可将其进行数据预处理后用该网络映射为向量,然后向周围空间查找,以周围向量类别判断该数据。
如图4所示,本发明采用KNN算法进行紧邻搜索,将参数k在[1,100]范围内遍历,然后测试KNN算法在测试集上的性能,以寻找最优k值以及对应的准确率。
所述步骤(4)中,
(4.1)模型优化主要目的是在保证性能的情况下,减少模型内存占用,提高运算速度。量化是本发明处理度量网络的重要方式。对度量网络进行量化处理时,将32位运算转换为8位运算,从而减小体积提升运算速度,但也会带来一定的误差。本发明采用将模块融合与静态量化(Post Training Static Quantization)相结合的方案。针对训练好的网络模型,在指定量化位置后,将模型中的卷积层、bn层(Batch Normalization)和激活层的参数进行融合,确定量化方式,在训练集上进行推理并逐通道观察获取合理的量化参数。
(4.2)采用树形结构实现KNN是为了提升KNN的搜索速度。KNN算法的线性扫描方式的运算速度较慢,为提高算法实时性,本发明采用树形结构进行运算加速。比较常用的是Kd-tree,它可以很节约在线搜索时间,但是其使用超矩形划分数据,在数据维度较高时搜索速度不佳。为改善这一情况,Ball-tree应运而生,其在一系列嵌套的超球体上分割数据,搜索时基于两边之和与第三边大小进行判断,从而改善运算效率。
(4.3)训练集数据筛选是为了进一步提高Ball-tree的搜索速度,并达到减小Ball-tree建树时间和降低内存占用的作用。树形结构虽然搜索效率很高,但是其建树过程复杂耗时较长,故如果能将在不影响性能的情况下将训练数据减少,则建树效率和搜索效率也可以得到进一步提高。本发明在KNN算法中使用加权投票方式得到最终类别结果。能有效实现分类的训练样本应该是距离同类别较近,不同类别较远,从而具有较好的可分辨性。
故定义样本的重要因子(Important Factor,IF)为其与同类样本的欧式距离的平方的倒数和,并加上调整大小后的其与不同类样本的欧式距离的平方和,大小调整参考上述两个欧式距离的平方的均值大小,如式11所示。考虑到不同类别的样本的重要因子大小分布存在差异,在排序和实现数据删减时按数据类别分别进行操作。
其中,xin表示训练样本第i类的第n个样本,Ni表示第i类样本的数量,C表示样本类别数量,d(xin,xim)表示xin和xim的欧式距离,表示集合的最大值,表示集合的最小值,和分别是集合和集合按一定比例删除较大值和较小值的集合,mean()表示集合所有数值的平均值,inf表示防止分母为零的极小值。
本发明对算法设计的不同参数设置进行了多个实验对比,以达到更优的参数选择,并进一步扩展整体算法的实用性和普适性。
本发明所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,具体步骤如下:
S1,数据预处理设计;
读取原始数据并按长度为2015进行截取,将数据利用滤波器阶数为16和步长因子为0.05的归一化最小均方自适应滤波器(Normalized Least Mean Square,NLMS)进行滤波,并用核为5的中值滤波进行异常值去除。统计数据各个维度的平均值和方差,采用Z-score方法进行数据标准化处理。
本发明借助在机械泵试验台上布设震动传感器,将时序数据通过转换传至PC软件,抽取部分数据进行算法验证。其中包括10类数据,0类为正常,1~9类为故障。通过处理,每类数据150个,其中90个用来模型建立,60个用来测试。实验电脑配置为8核CPU(i7-6700)、RAM为8GB、GTX 1080显卡,需要说明的是,本发明关于模型运行时间的计算都是在CPU上进行。
该步骤参数与实验设置如下:(1)统计所有类别样本的数据量,并统一格式。(2)设置NLMS的采样点数为2015、滤波器阶数为16、步长因子调节因子α=0.0001,用NLMS处理所有数据。(3)设置中值滤波的核为5,将样本数据进行处理。(4)用Z-score标准化处理数据,同时记录数据集均值和标准差。
利用复杂信号dn=0.6sin(5x)+0.3cos(10x)+0.1sin(20x)添加均值为0、标准差为0.3的高斯噪声形成混合信号,分别用LMS、NLMS、NLMS与中值滤波相结合的滤波方式进行处理,用均方根误差(Root Mean Squard Error,RMSE)和运算时间对其处理效果进行评估,不同滤波方式的性能对比如表1。
表1
为展示滤波方案和数据标准化的数据处理方式对模型性能的影响,利用未处理、只进行数据标准化、只进行滤波处理、同时进行滤波和数据标准化处理的四种数据训练一个含有4个隐藏层且隐藏神经元为1000、500、100、50的BP神经网络(BackPropagationNeuron Network)训练1500epoch,其测试集准确率如表2。
表2
由表2可知,在机械泵组的数据背景下,本发明设计的滤波方案结合数据标准化的数据预处理方式对数据表达能力有着明显的提升效果,有利于模型建立。
S2,基于WGAN-GP-C的数据增强设计;
搭建WGAN-GP-C模型时基于WGAN-GP和残差结构思想进行设计,在生成器输入随机噪声时加入类别指导信息,在判别器输出端引入判别数据类别的部分。在WGAN-GP-C训练中,前50000个epoch只训练数据分布,其后同时训练数据分布和数据分类,以实现按类别生成数据。数据生成质量采用最大平均差异(Maximum Mean Discrepancy,MMD)进行评估并以此调整网络。数据增强过程遵循数据筛选策略。
实验步骤如下:(1)将样本进行处理,使得更适合网络训练。(2)设置随机噪声的维度为128,采用adam优化器进行学习,设置初始学习率为lr=1×10-4,并在10万与15万次epoch时将学习率降低10倍,设置每6步更新一次生成器,batch size设为128。(3)设置式6和7的参数,在前5万个epoch,设置λ2=10,λ1=λ3=λ4=λ5=0,导入数据训练。(4)在5万epoch之后的训练中,设置λ1=1、λ2=10、λ3=0、λ4=10、λ5=0.004,继续进行训练。(5)根据EM距离选择表现好的模型,用MMD进行数据评估并适当进行参数调整,对生成数据进行筛选,从而得到增强数据集。
如图5所示,对于式7的λ3、λ4的参数设置,本发明进行了对比两组不同设置的实验,同时为证明WGAN-GP-C的效果,用Auxiliary Classifier GAN(ACGAN)进行对比试验。对生成的样本,为展示数据筛选方案的作用,同时采用不进行数据筛选(no filter)和进行数据筛选(filter)的两种处理方式生成两组数据,并用MMD对最终生成样本进行评估。不同模型和不同数据处理方式下的数据评估结果如表3所示,WGAN-GP-C的生成数据的质量远高于ACGAN,并且本发明参数设置方式使得模型具有更好的性能,同时数据筛选方案可以实现进一步的数据质量提高。
表3
实验得知判别器在测试集的分类准确率为83.33%,本发明基于该模型进行数据增强,为测试数据增强的效果,用增强不同倍数的数据集训练一个含有4个隐藏层且隐藏神经元为1000、500、100、50的BP Neuron Network,测试其在测试集上的准确率,数据增强的倍数为1时,BP神经网络准确率提升最快,故在考虑到尽量不引入过多不属于真实数据本身的数据特点的情况下,本发明选择数据增强倍数为1,由此生成增强数据集用于后续算法设计。
S3,基于度量学习和KNN的分类算法设计;
搭建度量网络模型,基于残差思想,并提出空间自适应结构,使得样本在进行空间映射时根据自身性质寻找更为合适的空间位置。数据映射输出维度为32。构建triplet数据集。采用学习率lr=5×10-5的Adam优化器训练网络模型。构建分类算法模型时,利用KNN算法,将参数k在[1,100]范围内遍历,然后测试KNN算法在测试集上的性能,以寻找最优k值以及对应的准确率。
具体实验步骤如下:(1)用训练集构建triplet格式的数据集以便于metric-net训练。(2)采用adma优化器进行学习,学习率为lr=5×10-5,batch size设置为512。(3)设置式10和式11的参数,其中,μ=0.6,λ=5e-3。(4)利用训练完成的网络将数据集转换为向量库,利用KNN算法,将参数k在[1,100]范围内遍历以寻找最优k值以及对应的准确率。(5)采用(4)的方式对训练得到的多个模型进行测试,从而选取较好的度量网络模型。
如图6所示,本发明为实现更好的模型设计,对不同参数设置进行了对比实验。其中对式10的设置了0.2、0.6、1的对比,同时在原数据集和增强数据集上进行验证。将模型输出的Embedding的数据维度分别设为16、32,并在原数据集上进行验证。空间自适应结构为算法模型引入了一个计算量较小的结构,为验证其的作用,将上述基于度量学习的实验分别在metric-net和不含空间自适应结构的Vector-CNN上进行验证,其准确率结果表4的(1)-(14)所示。本发明为证明度量学习更加适合小样本背景,将Vector-CNN改为分类网络,并用多分类交叉熵在原数据集合增强数据集上进行训练,结果如表4的(15)和(16)所示。
表4
由表4的(1)、(3)、(8)和(10)可知,在本发明的数据集中,将模型输出的Embedding的数据维度设为32可以使模型取得更好的性能。从理论上分析,当输出维度为32时,能保留更多的数据本身信息,对数据的表达性更强,更有利于进行分类任务。
由μ的不同参数设置下的准确率的情况可知,同等条件下,设μ=0.6的效果较好。此时,不同类别的数据被拉开的程度相对μ=0.2更大,使得数据界限更为明显,更加适用于机械设备故障诊断这种繁杂的任务。同时,相对μ=1而言,网络要把不同类数据分离的程度更小,在训练上更容易达到。虽然(13)和(14)两种情况下模型准确率都是99.33%,但是从训练情况和最终模型选择情况综合来看,在(13)的情况下,模型表现更加稳定和优越。故本发明最终选取μ=0.6。
由表4的(1)-(7)和(8)-(14)对比可知,在基于度量学习的思想下,结合空间自适应结构,能使数据根据自身性能寻找更加合适的空间位置,从而提升算法性能。同时为了排除了空间自适应结果是因为大计算量和大空间占比换取的高性能的可能性,从模型大小、计算量(floating point operations per second,FLOPs)以及cpu耗时三方面对比Vector-CNN和空间自适应结构,结果如表5所示。由表可知,Vector-CNN和空间自适应结构二者模型大小比例为75:1、MFLOPs比例为6663:1、运算时间比例为3:1,空间自适应结构在本发明背景下可以以较小的代价换取较大的性能提升,证明了设计的合理性。
由表4的(1)-(14)和(15)、(16)对比可知,基于度量学习的方案设计更加适合小样本背景的机械泵故障诊断,从而证明方案设计的合理性和有效性。
由模型在原数据集和增强数据集上的表现对比可知,数据增强使得模型效果从表4的(10)的98.16%提升到了99.33%,证明数据增强方案有着明显的性能提升作用,也证明了本发明针对小样本问题设计的两步解决方案即基于WGAN-GP-C的数据增强以及基于度量学习和KNN的分类算法设计,在面对机械泵小样本故障诊断任务时可以表现出较好的性能,Vector-CNN与空间自适应结构的模型对比如表5所示。
表5
S4,模型优化;
针对度量网络进行量化。对卷积的weight采用对称量化,bias不进行量化,对激活层采用非对称量化。实现运算32位到8位的运算。采用树形结构实现KNN。对线性扫描、Kd-tree、Ball-tree进行搜索时间比较,选择Ball-tree方式实现KNN算法。训练集数据筛选,提出训练数据的重要因子(Important Factor,IF)的概念,将所有样本按重要因子从小到大进行排序,在保证算法准确率的前提下,去除一部分IF较小的样本,从而实现数据筛选,优化Ball-tree建树速度并提高搜索速度。
在模型优化部分分为3个步骤各自步骤如下:
对metric-net进行量化:(1)分析网络特点。Vector-CNN和spatial adaptivestructure的cpu耗时约为3:1,其模型大小约为75:1,计算量(floating point operationsper second,FLOPs)约为6663:1,所以本发明量化针对Vector-CNN部分进行。(2)将网络的一些相邻模块进行融合。(3)对卷积的weight采用对称量化,bias不进行量化,对激活层采用非对称量化。(4)在网络中***观察张量的模型,并将训练集送入网络运算以实现校准。(5)将网络模型进行量化转换,并结合KNN算法测试新模型性能。如图7所示。
采用树形结构加速KNN运算的步骤:(1)采用Kd-tree和Ball-tree实现对线性扫描的算法替代。(2)对线性扫描、Kd-tree、Ball-tree进行搜索时间比较。(3)对Kd-tree、Ball-tree进行建树时间分析。如图8所示。
对向量库的数据按重要因子进行筛选:(1)确定集合和集合删除较大值和较小值的比例为0.15,从而得到集合和对向量库中每一个样本进行重要因子(IF)计算,并将其按类别从小到大排序。(2)取去除数据的比例在[0,0.99]之间以0.01为间隔进行遍历。(3)按比例在每类数据中去除数据,测试算法准确率、搜索时间和建树时间,在保证准确率的情况下选择更大的去除数据比例。
根据上述内容对metric-net的Vector-CNN进行量化处理,并通过计算模型大小、计算量(MFLOPs)、运算时间以及最终模型分类准确率来衡量模型优化效果。为进行对比,本发明采用分组卷积(Group Convolution)和深度可分离卷积(Depthwise SeparableConvolution)对Vector-CNN进行处理,结果如表6所示,表中GC表示分组卷积,DPC表示深度可分离卷积,且表中的模型大小、MFLOPs和时间都是针对Vector-CNN而言。
表6
量化对分组卷积和深度可分离卷积在减少模型体积上更具优势,且对模型准确率的影响更小。分组卷积和深度可分离卷积这样的轻量化网络结构在CPU上支持并不是很好,所以其运算时间反而上升。量化处理有效降低了模型大小,运算时间基本保持不变。
本发明将用上述步骤建立分类模型,在经过预处理的数据集上与其他常用算法进行运算时间和准确率对比。参与对比的算法包括朴素贝叶斯分类器(Naive Bayesclassifiers)、决策树(Decision Tree)、支持向量机、Ball-tree、3层BP神经网络(隐藏神经元分别为1000、500、100、50)、Vector-CNN实现的分类等。分类器性能对比表如表7所示。
表7
由表7中对比结果可知,本发明使用的机械泵故障数据是有较为明显的小样本特性的,且本发明针对其小样本特点设计的方案虽然训练较为复杂,但是其准确率相对普通分类模型有着明显的优势,且经过模型优化后的运算速度也较为可观,总体性能较好。
为更好的验证本发明方法在不同训练数据量下的效果,分别将训练集的每类样本数据量设为10、20、30和60,测试模型性能,并与表7中表现较好的SVM和Vector-CNN实现的分类进行比较,其准确率结果如表8所示。
表8
可知,针对机械泵小样本背景提出的算法方案在本发明数据集上具有良好的性能,在不同训练数据量下都具有比普通方式更高的准确率。以此证明方案有效性。
本发明申请人结合说明书附图对本发明的实施示例做了详细的说明与描述,但是本领域技术人员应该理解,以上实施示例仅为本发明的优选实施方案,详尽的说明只是为了帮助读者更好地理解本发明精神,而并非对本发明保护范围的限制,相反,任何基于本发明的发明精神所作的任何改进或修饰都应当落在本发明的保护范围之内。
Claims (10)
1.一种基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,其特征在于,所述方法包括步骤:
(1)读取时序数据并进行数据预处理;
(2)构建WGAN-GP-C模型,并基于WGAN-GP-C模型进行数据增强;
(3)基于度量学习和KNN分类算法构建故障诊断模型;
(4)进行模型优化;
(5)利用优化后的模型对预处理且数据增强过得数据进行故障诊断。
2.根据权利要求1所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,其特征在于,所述步骤(1)具体包括:
(1.1)读取时序数据并按设定长度进行截取,并利用归一化最小均方自适应滤波器NLMS进行滤波;
(1.2)用中值滤波进行异常值去除;
(1.3)统计数据各个维度的平均值和方差,采用Z-score方法进行数据标准化处理。
4.根据权利要求1所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,其特征在于,所述步骤(2)具体包括:
(2.1)基于WGAN-GP和残差结构构建WGAN-GP-C模型,在生成器输入随机噪声时加入标签进行类别指导,在判别器输出端判别数据所属类别,实现按类别生成数据;
(2.2)进行WGAN-GP-C模型训练,将生成样本与真实样本一同送入判别器,先训练数据分布,让生成样本与真实样本相拉近,再在完善分布的同时训练分类;
(2.3)用训练完成的WGAN-GP-C生成样本时,对生成样本数据筛选;
(2.4)生成样本数据质量采用最大平均差异MMD进行评估并以此调整模型。
6.根据权利要求4所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,其特征在于,数据筛选步骤包括:将生成样本通过判别器进行类别判断,保留输入标签与判别器输出类别相同的生成样本;对保留下来的每个样本,以一定概率a选择是否保留样本,此概率a取判别器在真实数据测试集上准确率a。
7.根据权利要求1所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,其特征在于,所述步骤(3)具体包括:
(3.1)构建度量网络模型,包括卷积神经网络Vector-CNN和空间自适应结构,样本数据经卷积神经网络得到一个向量,空间自适应结构中构建空间位置矩阵,然后根据向量特征对空间位置赋予不同的权重,以实现空间度量映射;
(3.2)构建triplet数据集,采用Adam优化器训练度量网络模型;
(3.3)构建分类算法模型,利用KNN算法寻找最优k值以及对应的准确率,对训练得到的度量网络模型进行测试。
8.根据权利要求8所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,其特征在于,空间自适应结构损失函数如下式:
ltriplet(xa,xp,xn)=max{0,d(Ea,Ep)-d(Ea,En)+μ}
loss=ltriplet(xa,xp,xn)+λlE
其中,d(Ea,Ep)表示Ea和Ep的欧几里得距离,μ是一个超参数,λ是控制惩罚程度的超参数;xa表示anchor,xp和xn分别表示正样本和负样本,Ea、Ep和En表示三者的度量网络映射输出;lE表示L2正则化处理。
9.根据权利要求1所述的基于WGAN-GP-C和度量学习的机械泵小样本故障诊断方法,其特征在于,所述步骤(4)具体包括:
(4.1)针对度量网络进行量化;具体针对卷积神经网络Vector-CNN进行量化,将网络相邻模块融合;具体对卷积的weight采用对称量化,bias不进行量化,对激活层采用非对称量化;
(4.2)采用树形结构Ball-tree实现KNN算法的加速;
(4.3)进行训练集数据筛选,提出训练集数据的重要因子IF,将所有样本按重要因子从小到大进行排序;并在保证算法准确率的前提下,去除一部分IF较小的样本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183493.3A CN114037001A (zh) | 2021-10-11 | 2021-10-11 | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183493.3A CN114037001A (zh) | 2021-10-11 | 2021-10-11 | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114037001A true CN114037001A (zh) | 2022-02-11 |
Family
ID=80134816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111183493.3A Pending CN114037001A (zh) | 2021-10-11 | 2021-10-11 | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114037001A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115204031A (zh) * | 2022-05-13 | 2022-10-18 | 哈尔滨工业大学 | 航空发动机装配过程的振动值预测方法 |
CN116047427A (zh) * | 2023-03-29 | 2023-05-02 | 西安电子科技大学 | 一种小样本雷达有源干扰识别方法 |
-
2021
- 2021-10-11 CN CN202111183493.3A patent/CN114037001A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115204031A (zh) * | 2022-05-13 | 2022-10-18 | 哈尔滨工业大学 | 航空发动机装配过程的振动值预测方法 |
CN116047427A (zh) * | 2023-03-29 | 2023-05-02 | 西安电子科技大学 | 一种小样本雷达有源干扰识别方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112784881B (zh) | 网络异常流量检测方法、模型及*** | |
CN111181939B (zh) | 一种基于集成学习的网络入侵检测方法及装置 | |
CN111832608B (zh) | 一种基于单阶段检测模型yolov3的铁谱图像多磨粒识别方法 | |
CN112039903B (zh) | 基于深度自编码神经网络模型的网络安全态势评估方法 | |
CN109581339B (zh) | 一种基于头脑风暴自动调整自编码网络的声呐识别方法 | |
CN114037001A (zh) | 基于wgan-gp-c和度量学习的机械泵小样本故障诊断方法 | |
CN113240201B (zh) | 一种基于gmm-dnn混合模型预测船舶主机功率方法 | |
CN112560596B (zh) | 一种雷达干扰类别识别方法及*** | |
CN109949200B (zh) | 基于滤波器子集选择和cnn的隐写分析框架构建方法 | |
CN111861756A (zh) | 一种基于金融交易网络的团伙检测方法及其实现装置 | |
CN115051864B (zh) | 基于pca-mf-wnn的网络安全态势要素提取方法及*** | |
CN114782761B (zh) | 基于深度学习的智能仓储物料识别方法和*** | |
CN115147341A (zh) | 一种基于生物视觉启发的织物表面缺陷分类深度网络方法 | |
CN115908842A (zh) | 变压器局部放电数据增强与识别方法 | |
CN117197591B (zh) | 一种基于机器学习的数据分类方法 | |
CN112528554A (zh) | 一种适于多发多源火箭试验数据的数据融合方法及*** | |
Lassouaoui et al. | Genetic algorithms and multifractal segmentation of cervical cell images | |
CN111275109A (zh) | 基于自编码器的电力设备状态数据特征选优方法及*** | |
CN114882007A (zh) | 一种基于记忆网络的图像异常检测方法 | |
CN115643153A (zh) | 基于图神经网络的报警关联分析方法 | |
CN114330650A (zh) | 基于进化元学习模型训练的小样本特征分析方法及装置 | |
CN114143210A (zh) | 一种基于深度学习的指挥控制网络关键节点识别方法 | |
CN111340111B (zh) | 基于小波核极限学习机识别人脸图像集方法 | |
CN112364892B (zh) | 一种基于动态模型的图像识别方法及装置 | |
CN114510715B (zh) | 模型的功能安全测试方法、装置、存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |