陈香松, 陶建峰, 刘成良
(上海交通大学 机械与动力工程学院, 上海 200240)
柱塞泵在工程机械、航空航天等领域中有着广泛的应用[1],但由于柱塞泵结构相对复杂,容易因载荷、污染物、油温及不当使用而发生故障,进而严重影响主机正常运行,甚至造成灾难性的后果。因此,研究柱塞泵异常监测的方法对提高泵本身及其主机系统可靠性有重要的价值。
关于液压柱塞泵的异常检测及故障诊断,前人有许多的研究。柱塞泵的振动信号携带着柱塞泵工作时的大量信息[2],因此可以通过振动信号来判断柱塞泵的运行状态。 DU等[3]使用基于相关向量机和粒子群优化算法提出了柱塞泵故障诊断的方法PSO-RVM,方法适合低复杂度的应用。程珩等[4]针对早期微弱故障信号易受噪声干扰、难以提取和识别的问题,提出基于变分模态分解多尺度散布熵和极限学习机的柱塞泵微弱故障诊断方法。赵立红等[5]提出局部均值分解样本熵和支持向量机结合的柱塞泵故障诊断方法。杜振东等[6]提出了SA-EMD-PNN柱塞泵故障诊断方法,方法可以缩短诊断时间,故障诊断效率较高。尽管基于振动信号的柱塞泵诊断方法研究取得了较好的进展,但存在故障与振动信号之间的映射关系复杂导致算法可解释性差,以及安装振动传感器导致的成本问题。
作为液压系统最为常见的工作参数,压力信号被广泛应用于系统状态的监测,是多数液压系统的标准配置。由于较低的获取成本以及比较明确的物理含义,以压力信号作为异常检测及故障诊断信号源近年来得到了研究人员的关注。 LU Chuanqi等[7]提出了一种基于波形匹配和极值镜像扩展两步经验模态分解方法相结合的故障诊断方法,能有效识别泵的故障。TANG Hongbin等[8]将压力信号与振动信号特征进行融合,通过SVM进行故障识别,取得了一定的效果。目前,负载对泵出口压力信号的扰动是影响基于压力信号的液压泵故障诊断面临的主要因素。
在具体的算法方面,卷积神经网络是泵故障诊断领域广泛应用的方法。ZHU等[9]将小波分析与改进的卷积神经网络相结合,通过修改网络结构减少了参数数量和计算复杂度。魏晓良等[10]结合长短时记忆和一维卷积神经网络提出了一种柱塞泵空化故障诊断方法。TANG Shengnan等[11]通过连续小波变换获取压力信号的时频特征,使用贝叶斯优化实现了主要超参数的学习。HASAN M J等[12]结合信号到时频成像技术和自适应深度卷积神经网络模型(Adaptive Deep Convolution Neural Network,ADCNN),提出了一种泵自动健康状态诊断框架。然而上述方法需要的卷积神经网络内核权值需要模型在数据集上进行学习,方法的计算复杂度相对较高,SAXE A M等[13]证明了即使使用未经训练的随机权重、某些特征学习架构也可以为对象识别任务产生有用的特征。DEMPSTER A等[14]使用随机卷积核训练了简单线性分类器,以现有方法的一小部分计算成本实现了最高的精度,使用这种方法,可以在不到2 h的时间内在UCR数据集中的所有85个数据集上完成分类器的训练和测试,并且可以在1 h内在大约一百万个时间序列的大型数据集上完成分类器的训练。
本研究基于柱塞泵出口压力上的脉动信号为高频分量,蕴含丰富的泵的状态信息,且对低频负载扰动不敏感的事实,提出了一种柱塞泵异常检测方法。该方法为了充分利用柱塞泵压力信号本身所携带的信息,采用DTW算法对波形数据进行分割,尽可能地保留压力脉动信号信息,基于一维随机卷积核提取特征,之后对分割的波形使用孤立森林算法进行异常检测,并训练线性分类器,对存在异常的数据段确定具体异常类型。
DTW算法用于比较两段时间序列的相似性,传统的欧几里得距离无法比较不同序列长度的信号的相似性,也无法有效地比较仅有时间轴位移差异的两段数据的相似度。DTW通过把欧式距离的“一对一”对齐方式改为“一对多”对齐方式,克服了欧式距离缺点,两者的对齐方式如图1所示。
图1 一对一对齐与一对多对齐方式
DTW算法使用了动态规划的思想,对于序列a={a1,a2,a3,…,ar},b={b1,b2,b3,…bn},定义描述序列a和序列b间的对齐路径λ表达式为:
(1)
2个特定点i,j之间的距离定义为:
Dist(i,j)=(ai-bj)2
(2)
使用递归方式计算确定最短对齐路径,将序列最短对齐路径分解为子序列最短对齐路径问题进行求解:
Dpath=min[D(i-1,j),D(i,j-1),D(i-1,j-1)]
D(i,j)=Dpath+Dist(i,j)
(3)
DTW算法具体的算法流程如图2所示。
图2 Algorithm 1 DTW 算法流程
获取柱塞泵压力传感器所采集的如图3所示的原始信号后,需要对信号进行处理,形成数据集。
图3 原始压力脉动信号
结合原始压力脉动信号存在近似周期性的特点,按照周期波形近似分割数据可最大限度地保存信息。简单地按照固定长度进行压力脉动数据分割无法克服误差累积的问题,为使所划分的压力脉动数据间相似度较大,基于DTW使用滑动窗口的方法进行数据划分。
手动选取一个压力脉动数据段作为匹配模板,使用此模板轮流对整体压力脉动数据进行分割,生成数据集。数据集生成的流程算法如图4所示。
图4 Algorithm 2 产生数据集
卷积神经网络的特征提取能力非常强大,广泛应用于图像处理与一维时序数据,典型的卷积神经网络拥有多个卷积核对数据进行特征提取,通过滑动点积的方式与输入的数据进行卷积,进而提取波形数据的一系列特征。基于卷积神经网络的上述特征,算法抽取卷积神经网络的卷积核作为压力脉动信号的特征提取工具。受到前人研究的启发,大量参数随机生成的卷积核提取时序特征的表现较好,且卷积核的权重不参与网络训练过程,其参数在卷积核生成时产生并固定。随机卷积核生成时其关键参数长度l、权重w、偏置b、核膨胀D与填充Pa均按照一定的规律生成以达到特征提取的效果。
算法按照如下步骤生成卷积核,用于提取压力数据特征:
(1) 一维卷积核长度l从{7,9,11}中以相同概率随机抽取,卷积核的长度应当适中,长度过大的卷积核可能会丢失原始数据的部分信息。
(2) 卷积核权重w从标准正态分布中随机采样,即:
(4)
由标准正态分布采样得到的权重w系数保证了大多数权重系数都比较小,同时也允许较大权重系数的产生。
(3) 偏差b从均匀分布中采样,即:
(5)
偏差b使2个权重w系数近似的卷积核仍然能够产生不同的特征图,提取到不同的特征。
(4) 核膨胀D使2个权重w系数近似的卷积核能够以不同大小的感受野产生特征图,核膨胀D扩张率d遵循如下分布:
(6)
在生成随机卷积核时随机决定是否使用填充Pa,填充Pa影响卷积核生成的特征图的尺寸。
算法的卷积层拥有1000个一维卷积核,卷积核按照一定的步长滑动遍历整个数据段,进而提取不同的特征,一维卷积的公式为:
(7)
池化为卷积神经网络中常见的操作,通常位于卷积层后。池化的作用是减少特征维度,并且保持原有特征图的精度,突出不同特征间的差异。方法使用最大池化,最大池化公式为:
(8)
除了通过最大值池化提取特征图中的特征,算法使用了特征图参数的另外一个特征,正值比例Ppositive,正值比例Ppositive刻画了卷积核特征提取结果的宏观表现,有助于分类器通过衡量正值比例Ppositive参数进行类别划分。正值比例Ppositive的公式为:
(9)
经过最大池化与特征提取层后,每个卷积核生成的特征图得到2个特征量f(k)与Ppositive,1000个卷积核共计产生2000个特征量,生成的数据集单个数据长度在670~690之间。
孤立森林算法是一种集成算法,异常检测准确度较高,所用时间较短,非常适合用于对随机卷积核提取到的特征进行分析与异常判断。
孤立森林算法在进行计算的过程中需要生成多颗二叉树,综合所有生成二叉树的结果得到异常点。生成单颗二叉树的算法步骤如下:
(1) 从数据集中随机选取λ个数据作为当前样本,置于根节点;
(2) 随机选取样本的一个维度上的数据,随机确定分割点P,根据数据在此维度上与P的大小关系分别置于左节点与右节点;
(3) 重复步骤(1)与步骤(2),直到每个节点仅有一个数据或者样本二叉树的高度大于设定高度。
按照步骤(1)~步骤(3),获取t棵子树,对于输入的数据样本,综合t棵子树,得到最终结果:
(10)
其中,h(x)为数据样本在单个二叉树上的高度,c(n) 为每棵二叉树的平均高度:
(11)
c(n)的作用为归一化E(h(x))。数据样本为异常样本的几率与score(x,n)正相关。
本研究所提方法的算法流程如图5所示,首先基于DTW算法分割原始数据,生成数据集;其次,使用约1000个一维卷积核对生成的数据集进行特征提取,通过1D池化层进行特征降维与特征强化,对提取到的特征,使用孤立森林的方式进行数据异常检测;在异常检测阶段,方法的显著特征为舍弃了常规1D-CNN深度方向的延伸,转为广度方向的拓展,网络卷积层中包含1000个随机卷积核,卷积核的参数均为随机生成,且一旦生成就始终固定,不参与参数的更新过程;卷积层提取的特征通过池化层进行特征参数压缩和特征强化,得到提取的特征。
图5 算法整体流程图
为证明方法有效性,本研究使用在正常工况、缸体磨损工况、松靴工况3种工况下通过压力传感器采集到的压力脉动数据进行算法验证,压力传感器的安装位置如图6所示,数据由采样频率为51200 Hz的压力传感器采集,共采集了3类数据:正常工况下加载压力为5 MPa,转速为500 r/min,长度为512000的压力脉动序列;松靴工况下加载压力为5 MPa,转速为500 r/min,长度为512000的压力脉动序列;缸体磨损工况下加载压力为5 MPa,转速为500 r/min,长度为512000的压力脉动序列。松靴工况的数据在1个柱塞存在松靴状态下的柱塞泵上采集,缸体磨损工况的数据在9个柱塞均存在磨损的状态的柱塞泵上采集。
图6 压力传感器安装位置
为验证基于DTW的数据划分方法的合理性,分别按照DTW方法与定长数据段划分数据集,按照相同的方法生成数据集与训练集,使用OCSVM(One-Class SVM)算法对两者生成的数据进行异常检测,比较所得结果,以验证基于DTW方法分割数据的优势。
1) DTW计算划分方法
选取一个波形作为匹配模板,按照1.2节所述方法依次对原始压力脉动数据进行数据集划分,得到压力脉动数据划分结果如下:经过划分后的单个压力脉动数据段长度不固定,为后续处理方便,取生成的压力脉动数据段长度的中位数670作为数据段标准长度,长度低于670的数据段终止点向后延拓至670,长度高于670的数据段终止点向前裁剪至670。
对正常工况下的数据按照3∶1的比例划分训练集与测试集,为了测试集样本均衡,分别从磨损工况、松靴工况下随机抽取160个样本作为测试集,基于构建的训练集提取特征并训练分类器,基于构建的测试集测试方法效果。最终数据集划分如表1所示。
表1 数据集划分
2) 定长数据段划分方法
同样按照表1进行数据集划分,划分方法如图7所示,按照670的固定长度以固定的步长500分别从正常数据中抽取738个数据段,按照3∶1方法划分训练集与测试集,从磨损工况、松靴工况下随机抽取160个样本作为测试集。
图7 定长数据段划分方法
对划分完成的数据集使用OCSVM方法进行异常检测,得到如表2的结果,对比方法表现,OCSVM在使用DTW方法对数据划分生成的数据集上表现更好,DTW方法在对数据进行划分时尽可能地找到与模板波形最为相似的子数据段,将其作为数据集能够保存原始数据集中较多的信息,从而更有利于算法的识别,提升算法识别效果。
表2 不同数据划分方法对结果影响
按照查准率、召回率、F1 均值3个方面对方法效果进行评估,将随机卷积核+孤立森林方法与孤立森林方法、OCSVM方法、5层BP神经网络(网络结构为1024-512-128-32-2,激活函数tanh,使用ADAM作为优化器,迭代5000轮,学习率0.0001)进行比较,得到表3与图8的结果。通过比较不同方法的结果,能够得到如下结论:
图8 不同方法的平均指标
表3 不同方法的表现
(1) 随机卷积核+孤立森林方法在判断正常工况数据段上的召回率与F1均值为91.9%和95.7%,相较于孤立森林方法,在相同数据上的召回率与F1均值分别提高了12.5%与7.2%,且随机卷积核+孤立森林方法在松靴与缸体磨损数据上的表现均优于单一孤立森林算法。这表明,随机卷积核+孤立森林方法相较于单一孤立森林方法,识别正常数据的能力更强,有利于该方法在判别更复杂种类的异常数据时具有更高的识别准确度;
(2) 对随机卷积核+孤立森林方法所得结果进一步分析,该方法在存在异常的数据集上召回率达到100%,而在正常数据集上的160个样本中仅有13个被误判为异常。被误判的样本基本每隔一个周期出现一次,分析原因可能是误检的正常数据样本与其余数据样本存在特征数据上的细微差异,存在故障前兆,这也从另一方面说明了该方法对于异常数据的敏感性;
(3) 随机卷积核+孤立森林方法与BP神经网络相比较,BP神经网络对正常数据与缸体磨损数据辨识能力较强, 但对松靴数据辨识能力较差,主要原因可能是松靴数据与正常数据波形非常类似。相比之下随机卷积核+孤立森林方法对于正常数据、松靴数据与缸体磨损数据辨识能力都比较强,验证了方法的优势。
综合比较所得结果可以得到,随机卷积核+孤立森林方法相较于其他方法有着较为明显的优势,在查准率、召回率以及F1均值等指标上,该方法效果均优于其他方法,尤其相对于单一孤立森林方法效果提升明显,验证了随机卷积核层对于数据特征提取的强大能力;在检测时间等指标上,随机卷积核+孤立森林方法所用检测时间处于所有方法的中间位置,且与其他方法耗费时间差距比较小,验证了方法的实时性比较好。
提出了一种基于随机卷积核与孤立森林的柱塞泵异常检测方法,通过研究并实验对比,得到如下结论:
(1) 随机卷积核的权重等参数无需通过训练来学习,比较适合柱塞泵实时异常检测场景,且算法不需要人为对原始数据做太多处理,对异常数据敏感,适应性较强。
(2) 提出的基于随机卷积核的异常检测方法,只需正常工况下的压力脉动数据就可具备异常检测的能力,异常检测准确度在95%以上。