APP下载

基于DNN-CapsNet的液压泵故障程度诊断方法

2023-08-28高丙朋

液压与气动 2023年8期
关键词:液压泵编码器故障诊断

郑 彪, 高丙朋, 程 静

(新疆大学 电气工程学院, 新疆 乌鲁木齐 830017)

引言

液压系统的稳定运行与液压泵的健康状况有着密不可分的关系。多年来,其作为液压系统核心动力提供部件已被广泛应用于机械制造、汽车装配、航空航天等领域[1]。由于液压泵工作环境复杂,难免出现高温、高压、大负载和大转速的状况,其一旦发生故障,不仅造成设备损坏,还可能会伤及工作人员。因此,对液压泵故障进行诊断是非常有必要的。目前,已有很多国内外学者对液压泵故障诊断问题做了大量研究工作,取得了不错的研究成果。

液压泵故障诊断方法主要可以归结为三类:主观经验诊断方法、信号处理诊断方法和智能诊断方法[2]。其中主观诊断方法主要依靠专家经验知识来判断故障类型,但当面对多类故障时,不仅检测效果差还耗费时间。随着技术的进步,以信号分析处理为主的液压泵故障诊断方法迅速崛起,通过分解信号提取故障特征即可完成故障诊断,常见信号处理方法主要有时频分析[3]、小波变换[4]和粒子滤波[5]等。该方法在进行故障识别前需要人工手动提取特征,当不同类故障拥有相似特征时,便无法准确识别故障。智能故障诊断方法的出现为故障诊断提供了新思路,其依据大量历史故障数据来学习有效信息,并通过传递、处理故障特征信息,从而实现对液压泵故障的准确诊断。目前主要有以人工神经网络和支持向量机为代表的机器学习方法[6-7],在取代人工提取故障特征的同时也在一定程度上提高了故障诊断的准确率,但其学习能力对网络结构的依赖性比较强,且其模型参数设置也会对网络的诊断性有所影响。

在人工智能技术和计算机技术的推动下,深度学习方法异军突起[8],凭借其强大的特征提取能力广泛用于图像识别、数据处理和故障诊断[9]等领域中。目前用于液压泵故障诊断中的深度学习方法有长短期记忆神经网络(Long-Short Term Memory,LSTM)[10]、卷积神经网络(Convolution Neural Network,CNN)[11]和孪生神经网络(Siamese Neural Network,SNN)[12]等。LSTM网络在训练过程中易出现梯度消失和梯度爆炸问题,导致模型训练困难。CNN网络中的池化层会导致关键特征信息的丢失,从而降低液压泵故障诊断的精度。SNN网络独特的双子网结构导致其计算复杂度高涨,需要更长训练时间,所以用于故障诊断中的实时性比较差。

针对上述网络存在的问题,SABOUR S等[13]于2017年提出了一种新型神经网络模型CapsNet,该网络将CNN网络中的标量神经元用向量神经元来代替,并设计动态路由算法来更新权值参数。目前,基于CapsNet网络的液压泵故障程度诊断研究还鲜见报道。

基于上述分析,本研究提出一种结合深度神经网络与CapsNet的液压泵故障程度诊断模型。首先通过搭建液压泵数字孪生模型采集压力信号来构建故障数据样本;然后用DNN网络替换CapsNet网络中的卷积层和预胶囊层来完成故障特征提取,并利用动态路由机制更新向量神经元间的相关度;最后,由间隔损失函数和输入数据来完成模型参数的优化,实现对液压泵多故障模式下不同故障程度的准确识别。

1 基本原理

1.1 深度神经网络

1) 稀疏自编码器

为解决模拟人类触觉感知非监督学习中的相关计算问题,OLSHAUSEN等[14]首次提出了稀疏编码的思想。由于自编码器自身结构问题,只能通过简单记忆将输入数据送到隐含层,并不能提取到任何输入数据所拥有的特征。为此,将稀疏惩罚项引入自编码器来构建稀疏自动编码器,它是由具有对称结构的前馈神经网络构成,主要有3层:输入层、隐含层和输出层,结构如图1所示。

图1 稀疏自编码器结构图

稀疏自编码器主要包含两个步骤:编码过程和解码过程[15]。对于采集到的液压泵出口压力数据p(i)={p1,p2,…,pn},将其划分成大小为M×N的输入矩阵x,在编码过程中稀疏自动编码器将x通过式(1)转换为隐含层特征表达h,以此来尽可能的稀疏重构输入数据。在解码过程中稀疏自动编码器将隐含层特征h通过式(2)转换为输出层y。

(1)

(2)

式中,f—— 激活函数

We,be—— 输入层到隐含层的权重矩阵和偏置向量

Wd,bd—— 隐含层到输出层的权重矩阵和偏置向量

稀疏自编码器网络通过权重矩阵和偏置向量计算,将输入层数据送入隐含层,再映射到输出层,在此过程中,为了使输出数据y能尽可能接近输入数据x,网络需要对权重矩阵和偏置向量进行优化来尽可能的减小稀疏重构误差,网络训练的常用损失函数表示如下:

(3)

式中,C—— 输入数据的长度

λ—— 权重衰减系数

L—— 网络层数

kl—— 第L层的神经元个数

为了学习到更加稀疏的特征,我们选择KL散度(Kullback_Leibler,简称KL)作为惩罚项加入到损失函数中以达到惩罚目的,相关计算如下:

(4)

(5)

式中,KL(ρ‖ρj) ——KL散度

ρ—— 神经元激活量均值

β—— 惩罚因子系数

在稀疏自编码器的训练过程中,需要将权重矩阵W和偏置向量b进行优化,更新计算公式如下:

(6)

(7)

式中,γ—— 学习率

2) 深度神经网络的构建

本研究基于稀疏自编码器和Dropout层构建了深度神经网络模型。采用3个稀疏自编码器来学习输入数据的关键特征,将第一个稀疏自编码器的输出作为下一个稀疏自编码器的输入,再加入Dropout层来完成深度神经网络模型搭建,其结构如图2所示。

图2 深度神经网络

1.2 胶囊网络

胶囊网络主要由卷积层、预胶囊层和数字胶囊层组成,网络结构如图3所示。相比传统的标量神经元,胶囊网络将神经元的输入输出改为向量结构,通过向量来标记数据中的重要特征,其中向量的方向代表在该方向上的概率,向量的长度则表示概率的大小。胶囊层之间的参数通过动态路由算法不断迭代更新,将预胶囊层提取的数据特征传递给数字胶囊层,并进行相关性计算,完成对不同故障的准确分类。

图3 胶囊网络结构

胶囊网络算法步骤如下:

步骤1:初始化权值矩阵ωij,输入向量为xi,则预测向量xj|i可表示为:

xj|i=ωijxi

(8)

步骤2:采用softmax函数通过更新中间变量bij计算耦合系数cij,并与预测向量xj|i加权求和得到深层特征向量sj,计算公式如下:

(9)

(10)

步骤3:采用squash激活函数对深层特征向量sj

进行压缩,将向量模长压缩到0-1之间得到输出向量vj:

(11)

步骤4:通过内积计算预测向量xj|i与vj之间的相关性来更新中间变量bij,公式如下:

bij←bij+xj|ivj

(12)

步骤5:依据式(11)更新耦合系数cij;随后通过式(11)、式(12)依此更新vj和sj;动态路由算法经过r次迭代后得到最佳输出向量vj,其方向代表某一类特征,模长代表属于该类别的概率pj:

pj=‖vj‖

(13)

2 基于DNN-CapsNet的液压泵故障诊断模型

2.1 模型结构

DNN网络对时序信号具有较好的特征学习能力,采用逐层训练机制,解决了传统神经网络训练速度慢的缺点。而CapsNet网络计算复杂,网络训练速度慢,模型的特征提取能力不足。基于上分析,结合DNN网络和CapsNet网络各自优缺点,本研究提出一种DNN-CapsNet的液压泵故障诊断模型。首先通过稀疏自编码器搭建一个DNN 网络,然后用DNN网络来替换胶囊网络中的卷积层和预胶囊层,得到特征提取能力提升的改进网络模型,其结构如图4所示。

图4 DNN-CapsNet模型结构

DNN-CapsNet网络主要有7层:1个输入层、3个全连接层、1个Dropout层、1个数字胶囊层和1个输出层。首先,将采自液压泵数字孪生模型的故障压力信号进行z-score标准化处理并加入高斯白噪声后作为模型的输入数据;全连接层1和2采用大量神经元提取丰富的输入特征;全连接层3则采用少量神经元提取关键细节特征;之后加入Dropout层淘汰部分神经元以防止模型在前期训练时发生过拟合;数字胶囊层利用动态路由算法来量化输入特征之间的相关性,从而实现对液压泵不同故障特征的准确分类;输出层则对输出向量求取模长即可得到各故障类型的概率分布情况。

2.2 模型参数

DNN-CapsNet模型输入数据维度为1024,DNN中的全连接层均采用ReLU激活函数;CapsNet中的激活函数采用Softmax;模型损失函数采用间隔损失函数;输出层数据为属于某一类故障的概率值。DNN-CapsNet模型详细结构参数如表1所示。

表1 DNN-CapsNet模型参数

2.3 损失函数

损失函数可以度量神经网络算法分类结果和真实类别之间的差异,进而完成误差的反向传播。对于数字胶囊层内的权重参数优化问题,需要利用间隔损失函数(Maring Loss)来实现。胶囊网络输出为同等长度的若干个向量,间隔损失函数对于不同向量类别间的间隔损失较为敏感。因此,本研究所提模型采用间隔损失函数,计算方法如下式所示:

Lk=Tkmax(0,m+-‖vk‖)2+

λ(1-Tk)max(0,‖vk‖-m-)2

(14)

式中,k—— 液压泵故障类型

Tk—— 分类指示函数(属于该类别时为1,否则为0)

Lk—— 属于类别k的间隔损失

‖vk‖ —— 向量的模长,代表识别为某一类故障的概率

上边界m+取0.9,下边界m-取0.1;比例系数λ取0.5。

2.4 液压泵故障程度诊断流程

采用DNN网络替换CapsNet网络中的卷积层和预胶囊层,构建了一种用于液压泵故障程度诊断的神经网络模型—DNN-CapsNet,其诊断流程图如图5所示。

图5 故障诊断流程图

基于DNN-CapsNet模型液压泵故障诊断流程如下:

步骤1:从液压泵数字孪生模型中采集故障下的出口压力信号,并对其进行Z-score标准化处理;

步骤2:将处理后的数据按一定比例划分为训练集、验证集和测试集;

步骤3: 搭建模型结构,设置模型初始化参数;

步骤4:使用训练集数据和验证集数据来分别训练模型和优化模型参数;

步骤5:最后使用测试集对训练好的模型性能进行测试,得出故障诊断结果。

3 仿真验证

3.1 仿真数据及评价指标

由于液压泵故障下的压力信号公开数据暂未出现,所以本研究通过MATLAB中的Simscape 语言搭建液压泵数字孪生体模型来采集故障实验数据,如图6所示。所选液压泵规格为CAT pump 1051C,采用故障注入的方式来模拟液压泵故障,主要包括入口堵塞、缸体泄漏和曲轴磨损3种故障类型。在实验过程中,驱动电机转速设置为958 r/min,采样频率为1000 Hz,由于液压泵在刚启动时的数据不能满足实验要求,所以数据采集从0.3 s开始,故采样时间设置为1.324 s,采集时长为1.024 s,共采集数据长度为1024。

图6 液压泵数字孪生模型

通过以上模型设置参数,分别采集正常、3种入口堵塞故障数据(轻微堵塞、中度堵塞和重度堵塞)、3种缸体泄漏故障数据(轻微泄漏、中度泄漏和重度泄漏)和3种曲轴磨损故障数据(轻微磨损、中度磨损和重度磨损)组成实验数据集,总计10类,为模拟液压泵工作环境,加入信噪比为10 dB的高斯白噪声,故障数据波形如图7所示。每一类样本采集200组数据,共计2000组实验数据,并按照7∶3的比例划分为训练集和测试集,再将训练集的1/10划分为验证集,数据分布如表2所示。

表2 数据分布

图7 故障数据波形

采用“独热(one-hot)”编码方式对数据集标签进行编码,由于本实验具有10类故障,故需要将标签转化为10维向量,其中只有属于该类故障所对应的维度为1,其余维度均为0。

对于多分类问题,常采用准确率(Accuracy)、宏精准率(macro-P)、宏召回率(macro-R)和宏F1(macro-F1)分数作为评价指标。其中准确率是反映正确分类样本在总样本中所占比例;宏精准率是模型预测为正的样本中实际也为正样本所占比例;宏召回率是指实际为正的样本中被预测为正样本所占比例;F1则解释为宏精确率和宏召回率的加权平均值。以上各指标值越大,表明分类效果越好。相关计算公式如下:

(15)

(16)

(17)

(18)

3.2 实验分析

1) 消融实验

为了验证DNN-CapsNet模型中各部分网络的作用,分别采用DNN网络、CapsNet网络和DNN-CapsNet网络在液压泵故障数据集上进行消融实验。各网络详细结构如下:

(1) DNN:利用稀疏自编码器搭建3层DNN网络,前2层激活函数采用ReLU,Dropout设置为0.4,各层神经元个数分别为64,64和10。输出层采用Softmax作为激活函数,得到故障识别结果。

(2) CapsNet:采用最基本的网络结构,主要有卷积层、预胶囊层和数字胶囊层。由于卷积层接受图片数据,以此将一维压力信号通过格拉姆角场编码后转换成图像,再送入CapsNet网络进行训练。设置64个大小为5×5的卷积核,数字胶囊层的胶囊数为16,胶囊维度为10。

(3) DNN-CapsNet模型参数选择如3.2节所示。由于F1分数可以综合反映模型的识别分类性能,所以此处采用Accuracy和F1分数来评价各模型的诊断效果。结果如图8所示。

图8 3种模型准确率和F1分数

由图8 可以看出,相比于CapsNet和DNN模型,DNN-CapsNet模型的准确率分别提高了7%和4%;F1分数分别提高了10%和4%,由此说明DNN-CapsNet模型结合了DNN模型与胶囊网络的各自优势,对液压泵不同程度的故障具有更好的诊断效果。

2) 对比实验

为了进一步说明DNN-CapsNet模型的有效性,将与文献[16]中所提LSTM-CapsNet方法和文献[17]中所提CNN-CapsNet方法在液压泵故障数据集上进行实验,2种网络的结构与参数可参考文献[16]和文献[17]。DNN-CapsNet模型训练参数设置如下:批处理设置为128,训练次数设置为50,优化函数设置为Adma(Adaptive moment estimation),学习率r设置为0.0002,损失函数选择间隔损失函数。DNN-CapsNet模型对液压泵故障诊断中的损失和准确率结果如图9所示。诊断结果的混淆矩阵如图10所示,诊断可视化结果如图11所示。进行5次实验后,计算3种方法下各评价指标的平均值,结果如表3所示。

表3 3种模型实验结果对比

图9 模型训练与验证过程

图10 诊断结果混淆矩阵

图11 诊断结果可视化

由图9可以发现训练集和验证集的准确率随训练次数递增,损失随训练次数递减。当训练到30轮时,模型准确率和损失值基本趋于稳定,说明模型已经收敛。

由图10可以看出,除了重度堵塞(标签为6)故障中有3%识别错误外,其余类别故障识别效果都比较好,表明本研究所提DNN-CapsNet模型对液压泵故障程度具有较高的诊断精度。

如图11所示,不同类别的样本各自聚集在一定范围内,各个类别之间的区分较为明显,说明本研究算法对液压泵故障程度的识别具有更好的识别效果。

从表3可以看出,DNN-CapsNet模型相比于 LSTM-CapsNet模型,准确率提升了6.23%,查准率提升了7.25%, 查全率提升了7.02%,F1分数提升了6.39%,DNN网络不存在梯度消失现象,能够提取更全面的特征信息;相比于CNN-CapsNet模型,准确率提升了3%,查准率提升了3.31%,查全率提升了4%,F1分数提升了3.25%,说明去掉卷积池化操作后,减少了特征的丢失,借助DNN网络可以提取到更多有效的特征。

基于以上分析,DNN-CapsNet模型对液压泵故障程度的识别效果明显优于其他模型,各评价指标得分也更为出色。

4 结论

针对液压泵在多故障模式下故障程度诊断问题,提出一种基于DNN改进CapsNet网络的液压泵故障诊断方法,通过对搭建的液压泵数字孪生模型仿真得到的数据进行故障诊断,验证了该方法的有效性,并与LSTM-CapsNet和CNN-CapsNet方法诊断效果进行对比,得出以下结论:

(1) 借助数字孪生技术可以模拟多故障模式下不同程度的故障,并采集压力信号,以此检测故障状态,可有效解决液压泵故障数据不充足的问题;

(2) 相比于传统的故障诊断方法,DNN-CapsNet模型结合了DNN模型深层特征提取能力和胶囊网络采用动态路由算法更新权重的特点,无需进行人工特征提取,就可完成对液压泵多类故障下的故障程度诊断任务,具有更好的操作性,有利于实现快速智能故障诊断的进一步应用;

(3) 目前,本研究只对液压泵简单故障模式下的故障程度进行识别,研究复合故障模式下故障程度诊断以及模型参数稳定性优化问题将是下一步工作的重点。

猜你喜欢

液压泵编码器故障诊断
液压泵常见故障及排除方法探讨
基于FPGA的同步机轴角编码器
神经网络PID控制在液压泵马达速度控制系统中的研究
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计
因果图定性分析法及其在故障诊断中的应用
液压泵站异常噪声故障分析与排除
多总线式光电编码器的设计与应用
基于小波包与遗传算法和支持向量机的液压泵故障诊断
基于LCD和排列熵的滚动轴承故障诊断