黄 勇,张征凯,曾宪淑,齐 浪
(西安建筑科技大学 机电工程学院,西安 710703)
齿轮泵是一种常见的液压泵,和其他类型的泵相比,齿轮泵具有结构简单、体积小、重量轻、工作可靠、便于维修、对油液污染不敏感等优点,大多数的液压设备都采用齿轮泵作为液压系统的动力元件。另外,齿轮泵作为液压系统的心脏,它的状态性能直接关系着液压系统乃至整台液压机械设备的正常运转[1-2]。如果设备正在工作的情况下动力系统发生故障,将会给企业的生产效率造成极大的影响。因此对齿轮泵进行实时监测,及时对它的工作状态进行诊断,利用现代化技术对齿轮泵的运转工况进行有效的诊断分析,将会避免不必要的损失。
随着人工智能时代的到来,越来越多的科学领域都在研究人工智能对自己行业发展会带来怎样的影响,国内外许多专家学者都在研究人工智能的核心技术机器学习和深度学习。其中深度学习作为人工智能领域中的一个重要分支,它的模型是搭建各种深度神经网络,通过构建一个多层的表示学习结构,使用一系列非线性变化从原始数据中提取出简单的特征进行组合,从而得到神经网络模型[3]。神经网络的训练过程主要是将采集到的数据进行特征量的提取和归一化的处理,并将部分数据作为训练数据输入到建立好的神经网络模型中,然后将另一部分数据输入到该模型中进行训练和预测。本文是在BP神经网络模型的基础上,利用python语言编写Keras深度学习框架来搭建一个多层感知器模型用于齿轮泵的故障诊断。
BP神经网络由Mcclelland和Rumelhart等科学家提出的基于多层前馈网络的反向传播学习算法,称之为BP神经网络算法。BP神经网络算法的思想是将模型的学习分为信息正向传播和误差反向传播阶段[4]。其中,正向传播阶段是计算模型的输出,反向阶段是根据误差减小最快的方向修改模型的参数,训练的过程中若模型的输出与期望输出之间的误差不满足要求的计算精度,模型就会进入反向传播阶段的计算,然后重新计算参数调整后的模型输出值,再验证模型输出与期望输出之间的误差,判断输出是否满足要求,该算法在数据预测和分类方面有广泛的应用。
实验平台涉及到的硬件主要有USB4716数据采集卡,加速度传感器,流量传感器,压力传感器,正常工作的新泵,齿轮泵齿轮磨损的旧泵,磁粉制动器,放大器,电磁比例换向阀,电磁比例溢流阀。该实验平台用磁粉制动器模拟阻力和溢流阀作为背压给整个液压系统加载,通过放大器控制电磁比例换向阀和溢流阀来控制液压油的流向和流速,通过Labview软件给数据采集卡发送信号来间接地控制放大器和张力控制器,从而给液压系统发送模拟信号。实验的过程将系统的最大压力调定到5MPa,分别采集正常信号和齿轮泵齿轮磨损故障信号,采用双通道数据采集。
本文采用时域信号特征提取法,利用信号的数字特征作为时域特征量来反应齿轮泵的工作状态,实验数据的采集过程利用Labview软件和USB4716数据采集卡进行采集,实验数据的处理过程是将采集到的电压信号通过线性关系转换成压力值,并将这些参数经过一系列的特征提取和归一化处理得到特征值,并建立样本库。分别选用均值、均方根、偏度、峭度、波形因子、峰值因子、裕度因子作为特征量对数据进行分析处理。实验室所采集到的信号x(t)是一组离散的时间序列X={xi},每一个特征量参数指标为:
均值:
(1)
均方根:
(2)
偏度:
(3)
式中,μ是均值,δ为标准差,E是均值操作。
峭度:
(4)
波形因子:
(5)
峰值因子:
(6)
裕度因子:
(7)
将实验数据代入到上述公式(1)~式(7)进行计算。表1是齿轮泵在正常工作情况下和齿轮泵齿轮磨损情况下归一化处理后的部分数字信号量。
表1 信号特征值
从表1的部分数据可以观察到齿轮泵在正常和故障状态下信号的峭度和脉冲因子的数据相差较大,因此选择齿轮泵的峭度和脉冲因子作为特征因子进行训练、验证和诊断。
传统的神经元模型如图1a所示,本文建立的神经网络结构模型为典型的三层BP神经网络结构,如图1b所示。
(a) 神经元模型
(b) 典型的三层BP神经网络模型 图1 神经网络模型
由图1b可以看出神经网络训练的正向传播中,输入信号通过输入层、隐藏层到输出层,逐层传递计算每层神经元的实际输出值。如公式(8)所示:
net=ϖTo+b
(8)
其中,ω为各层的权重向量,是上一层的输出向量,b为阈值,o为输入样本训练集。
若正向传播结束后,实际输出与期望输出相差高于所设定的误差容限值,则进行误差反向传播。直到误差取值在误差容限值范围内,表明当前模型的计算结果达到需要的计算精度,即可结束模型训练。否则,需要进入误差反向传播过程,修改神经网络的内部连接权值。经过修改连接权值,得到新的模型。将样本数据代入新的模型,按流程重新计算模型输出与期望输出之间的误差结果。如果结果小于期望误差,表明当前模型的输出有效,模型的训练完成;否则,再次进行误差反向传播,继续训练,直到最终得到满足精度要求的隐含层连接权值和输出层连接权值[6]。
利用BP神经网络对齿轮泵进行故障诊断分析,过程包括样本训练、验证和诊断。从样本库中随机抽取300组正常,300组故障数据,其中280组数据用来对模型进行训练,20组数据用来对模型进行验证,接着从样本库中随机抽取10组数据进行训练,图2为样本分类的结果。
图2 样本分类结果
从图2可以看出,经过BP神经网络的训练过程已经将两种不同的工作状态进行了正确分类。为了能够准确诊断出齿轮泵是否已经发生故障,将已经训练好的神经网络模型进行验证,图3为随机选取的20组数据进行验证。
图3 样本验证结果
图4 齿轮泵齿轮磨损诊断结果
图5 齿轮泵齿轮正常诊断结果
图6 误差结果输出
图4、图5中横坐标为峭度归一化参数值,纵坐标为脉冲因子归一化参数值。其中图4、图5为在未知压力输出信号的前提下诊断出齿轮泵的工作状态。从图4、图5中可以看出,标记的绿点分布在故障点和正常点的周围,表明诊断的输出结果与实际的工作情况相吻合,BP神经网络作为故障预测模型能够达到诊断目标。从图6中可以看出,算法开始后,权重误差显著下降,至大约80次迭代开始缓慢下降,直到100次左右迭代接近最优,最后才逐渐平稳。通过误差的变化趋势说明BP神经网络算法对此数据集的分类训练在第100次达到最优。
2006年,Hinton在刊物《Nature》上第一次提出了深度学习的概念,整篇文章主要表达两个观点:第一,含有多个隐层的网络结构相对于单隐层的网络结构对特征有更好的学习能力,所学到的特征更能体现出数据的本质,有利于分类。第二,通过“逐层初始化”的方法来解决深度神经网络的训练问题[7-8]。BP神经网络就是典型的单隐藏层神经网络结构,模型构建过程较为复杂,收敛速度比较慢,主要由学习率(步长)进行控制,正如之前训练样本的过程中需要不断的调整误差容限值、学习率、最大的迭代次数等参数才能达到最终的分类效果。针对BP神经网络在样本训练过程中存在的不足,本文拟使用深度神经网络搭建多层感知器模型对齿轮泵进行故障诊断分析。
构建的多层感知器模型是在单隐层神经网络的基础上多增加一个或者多个隐藏层,模型的搭建过程使用Keras深度学习框架进行构建。图7表示4层神经网络模型:将数据进行预处理产生8个特征字段作为输入层(8个神经元),隐藏层1(40个神经元),隐藏层2(30个神经元),输出层(1个神经元)。
图7 4层神经网络网络模型
训练多层感知器模型的输入数据仍采用训练BP神经网络所用的300组数据,接着在相同样本数据的基础上,训练并评估模型的准确率,然后使用训练完成的模型来判断齿轮泵齿轮是否发生故障。
训练开始之前将300组样本数据分成:90%作为训练数据,10%作为验证数据。齿轮泵正常工作和齿轮泵齿轮磨损状态下工作总共有600组数据,所以将归一化之后的数据分成:600×90%=540作为训练样本数据,600×10%=60最为验证数据。训练过程中设置每一批次输入18组样本数据,共执行30个训练周期,每个周期训练完成之后,计算训练周期之后训练、验证的准确率和误差,图8为周期数与准确率的关系曲线图,图9为周期数与误差的关系曲线图。
图8 周期数与准确率关系曲线
图9 周期数与误差关系曲线图
从图8的显示曲线可以看出,无论是“acc训练准确率”还是“val_acc验证准确率”在第运行到第18个周期之前准确率越来越高,18个周期之后准确率基本上趋于稳定。从图9的显示曲线可以看出,无论是训练还是验证过程,误差都在越来越小,整个训练和验证的过程表明模型的输出可靠。接着评估单隐藏层神经元的个数和多隐藏层神经元的层数对模型准确率的影响。
从图10的显示曲线可以看出,随着隐藏层神经元个数的增加,模型的准确率逐渐的增加,直到神经元的个数达到40个,模型的准确率可以达到67%。结果表明单隐藏层神经网络对样本的训练效果不好,达不到诊断的效果。选择单隐藏层神经元的个数为40个,增加隐藏层的层数来训练模型。从图11的显示曲线可以看出,随着隐藏层个数增加,模型的准确率显著增加,直到最后可以达到99%。结果表明多层感知器模型对样本的训练效果更好,更能满足于齿轮泵故障诊断的分析和应用。
图10 神经元个数与模型准确率关系曲线
图11 隐藏层层数与模型准确率关系曲线
随机从样本库中抽取两组数据进行诊断。分别用0标记齿轮泵正常样本,1标记齿轮泵齿轮磨损的样本,诊断结果如表2所示。
表2 预测结果
表2中前5组数据用0进行标记,发生故障的模型准确率较低,说明此时齿轮泵正常工作,后5组数据用1进行标记,发生故障的模型准确率较高,说明此时齿轮泵齿轮已经磨损,与正常情况相符合。本文提出的评估多层感知器模型准确率的方法较BP神经网络对齿轮泵的故障进行诊断有了较大的提高。当设定隐含层的层数为3个时,其准确率可达到95.56%,设定隐含层的层数为4个时,其准确率可达到99.27%,而当隐含层设定6个时,其准确率可达到99.9%。结果表明多层感知器模型能够更加高效地诊断出齿轮泵是否已经发生故障。
本文使用深度神经网络构建多层感知器模型,模型的实现过程使用Python语言进行编写,模型的搭建过程使用Keras深度学习框架进行构建,通过评估该模型准确率的方式来诊断齿轮泵的工作状态。以实验室的液压实验台作为载体,齿轮泵作为研究对象,经过大量实验数据的采集,将提取特征量之后的实验数据作为样本数据对BP神经网络模型和多层感知器模型进行实验验证,使用训练完成的模型对齿轮泵进行故障诊断。诊断结果表明多层感知器模型输出结果与预测结果较吻合,可以用于液压设备中齿轮泵的故障诊断分析,具有良好的实际使用价值。