李 倩 刘惠康 皮 瑶 喻 青
(*武汉科技大学教育部冶金自动化与检测技术工程研究中心 武汉430081)
(**中钢集团武汉安全环保研究院 武汉430081)
吊车作为工业生产中最常见的设备,不仅要保证其高效率的运行作业,对于它的安全问题更是不可忽视。在实际的工程中,考虑到制动器是吊车高效、安全作业的保障,对制动器进行故障诊断引起了相关学者的广泛研究。高峰[1]构建了电梯故障诊断专家系统,结合支持向量机(support vector machine,SVM)完成了电梯故障诊断。何常远等人[2]分析了起重机制动系统典型故障及原因,利用Levenberg-Marquardt 算法优化的BP(back propagation)神经网络识别故障。刘锦荣等人[3]通过构建遗传算法(genetic algorithm,GA)优化的BP 神经网络(GA-BP)的诊断方法,实现了提升机液压制动系统的常见故障诊断。虽然这些方法在过去取得了不错的效果,但随着故障数据的日渐复杂化和大数据化,仅靠传统的故障诊断方法难以取得很好的效果。比如专家系统只适合应用于研究非常透彻的领域,而在研究尚未成熟的领域应用则不能保证较高的准确率。SVM 作为一种基于有限样本统计理论的分类方法,只适合解决小样本、高维数等问题。传统的神经网络具有故障诊断准确率高的优点,但是存在网络收敛速度慢、容易陷入局部最小等问题。
深度学习理论的提出,解决了数据多且复杂的难题,越来越多的学者将其应用在不同的研究领域。深度置信网络(deep belief network,DBN)作为深层网络的典型代表,凭借其强大的数据处理和特征提取能力广泛地应用于各种研究中,特别是在手写体识别[4-6]、语音识别[7-8]及图像处理[9-10]等领域取得了一些成果。通过查询相关文献可以看出,利用深度置信网络进行故障诊断具有一定优势。如Tamilselvan 和Wang[11]提出将DBN 理论应用到飞机发动机的故障诊断中,并对发动机结构状态进行了有效识别。Duc 和Provost[12]提出通过采集振动、压力、电流信号,利用DBN 网络对往复式压缩机气阀进行故障诊断的方法,并通过实验证明了此方法的可行性。鲁春燕和李炜[13]利用DBN 网络对炼化空压机进行故障诊断,并与另外两种传统方法进行对比后发现该方法具有较高的准确率和稳定性。
针对前文所述问题,本文提出一种基于深度置信网络的吊车制动器故障诊断方法。相比于现有的制动器故障诊断方法,本文方法的优点在于采用堆叠的受限玻尔兹曼机构成的DBN 可以对数据进行充分的预训练,从而更准确地提取特征;集特征提取器与分类器于一体的结构既解决了过分依赖人工经验的问题,又可以通过BP 网络的反向微调使得模型参数更精准。除此之外,本文所应用的采集吊车制动器制动正压力的柔性薄膜传感器阵列能有效保证每个检测单元的一致性,从而保证了数据的准确性。为了更好地展示深度置信网络模型的优点,本文将该方法分别与基于SVM 和GA-BP 神经网络的制动器故障诊断方法对比。结果表明,利用深度置信网络进行制动器故障诊断不仅能获得更高的诊断精度,而且稳定性也比较高。
深度置信网络是一种由多个受限玻尔兹曼机(restricted Boltzmann machine,RBM)和一个分类器堆叠起来而构成的概率生成模型[14]。其网络结构如图1 所示,该模型由2 个RBM 堆叠而成,每个RBM 又包含可视层v和隐藏层h。可视层v0代表输入数据,数据映射到隐藏层h0,构成第1 层RBM;同时,h0又作为下一个RBM 的输入,数据就这样逐层传递,最终在高层提取出具有表征能力的特征表示。
图1 深度置信网络模型
由于DBN 是一种深层神经网络,结合其自身的结构特点,它既可用作非监督学习,又可用于监督学习。用作非监督学习时,它的功能类似于自编码器;而用于监督学习时,可将它作为一个分类器来使用[15]。
深度置信网络的训练可分为两个部分:第一部分为无监督的预训练,该部分的训练通过贪婪算法由低往高地依次训练每个受限玻尔兹曼机,将低层RBM 的输出作为下一个RBM 的输入,依次训练从而不断更新网络参数以获得最佳学习特征;第二部分为有监督的反向微调阶段,将训练误差反向地传递给每个RBM,从而进行每层RBM 参数的微调,反复进行这些步骤直至达到最大迭代次数为止,此时的深度置信网络模型的参数也达到了最优。这一过程的核心可概括为利用贪婪学习算法不断提取故障诊断信号中的故障特征,利用BP 神经网络反向微调使得DBN 具有最优的故障诊断与预测性能。
受限玻尔兹曼机作为一个典型的能量模型[16],在深度置信网络模型的形成与训练中有着重要的用处。RBM 的结构如图2 所示,每个RBM 中都包含两部分,即可视层v和隐藏层h。每个可视层内部单元之间不存在连接,只在可视层与隐藏层的层与层之间有双向联系。
图2 受限玻尔兹曼机
包含m个可视层和n个隐藏层的RBM,它在某种状态(v,h) 下的能量函数的矩阵-向量形式可以表示为
式中,θ={a,b,w} 表示受限玻尔兹曼机中的参数,a和b分别为可视层单元和隐藏层单元的偏置向量,w为隐藏层单元和可视层单元之间的权重。
由式(1)可得出在此状态下的联合概率分布为
其中
Zθ为归一化因子,也称配分函数。
因为RBM 中层与层之间条件独立,所以可计算出可视层vi在隐藏层h状态下被激活的概率为
同理可得出,隐藏层hj在可视层v状态下被激活的概率为
在上式中,vi和ai分别为第i个可见层单元的状态和偏置;bj和hj分别第j个隐藏层单元的状态和偏置;sigmoid(x)表示激活函数,且
在RBM 的训练过程中,可见单元即被视为数据分布的样本,训练的目的是不断更新θ={w,a,b}使边际分布Pθ(v,h) 最大程度上接近真实观测数据分布PΣ(v),即生成的观测数据的对数似然需要最大化。文献[17]表明,对数似然的梯度上升可以通过吉布斯抽样过程有效地近似,对于RBM 来说就产生了如下的学习规则:
其中,{·}data代表训练数据的期望,{·}model代表模型分布下的数据期望,η代表学习率,且η∈(0,1)。通常情况下,{·}model不易通过计算获得,所以会采取抽样逼近来获得。
为了能使网络达到平衡,使用吉布斯采样近似值通常需要创建足够的样本。然而对比散度算法[17](contrastive divergence,CD)可以有效地解决这个问题,并且在实践中表现非常好。本文采用K步对比散度算法(CD-K)来逼近{·}model以达到更新网络参数的效果。
制动器的有效制动是控制吊运设备正常运行的关键以及保障安全的重要防线。因此,采用有效措施监测制动器不同工况的数据信号,及时预报诊断故障非常重要。而传统的故障诊断方法,如故障树、专家系统、人工神经网络等,由于过分依靠人工经验,不能及时有效地提取故障特征和故障诊断准确率低等问题而逐渐被深度神经网络取代。深度置信网络作为深度神经网路的代表之一,由于其强大的特征提取能力和实践效果显著的优点被广泛应用于故障诊断中。本文中的吊车制动器故障诊断流程示意图如图3 所示。
图3 吊车制动器故障诊断流程图
采用上述方法进行吊车制动器故障诊断的一个优点是可以根据诊断结果逐渐扩大故障特征数据的数据库,从而实现特征数据的自学习和优化,达到提高故障诊断精度和稳定性的目的。
基于深度置信网络的制动器故障诊断可以分为以下几个步骤。
(1)利用柔性薄膜传感器阵列获取吊车制动器不同工况时的制动压力,并进行相关性分析和归一化处理,划分测试样本和训练样本。
(2)通过多次测试得出深度置信网络的参数。如DBN 网络层数、输入节点数、输出节点数以及隐藏层节点数、学习率和迭代次数。
(3)利用训练数据作为输入,对每个RBM 进行无监督的训练,直至第N个RBM 训练完为止。
(4)利用BP 算法实现对整个DBN 网络的有监督的反向微调训练过程。
(5)DBN 模型训练完毕后,输入测试样本数据,对吊车制动器进行故障识别与分类。
根据上述故障诊断步骤可以看出,深度置信网络模型能将无监督地逐层训练受限玻尔兹曼机和有监督地反向微调相结合,同时完成特征提取和故障分类识别的任务,这就是相比传统故障诊断方法而言深层神经网络的优势所在。
本文的制动正压力由一种柔性薄膜传感器采集获得,其结构示意图如图4 所示。该传感器阵列不同于一般的测力计、应变仪,通常能获得力的测量精度在±5%~±25%,现有传感器制造技术不能保证阵列中各传感器的一致性,而该薄膜传感器阵列采用阵列可变电阻测量校正方法,使得阵列中每个检测单元的分压比一致。
图4 柔性薄膜压力传感器结构示意图
柔性薄膜压力传感器在承压时,压力值与器件的电导率有良好的正相关性,利用该特性设计单元力检测算法。采用柔性薄膜传感器阵列压力检测技术检测制动面承压状况,根据实时检测的制动器制动面压力大小及分布情况,结合制动器控制指令即可对制动器工作状态、设备缺陷或故障做出判断。
本文的数据来源于中钢集团武汉安全环保研究院的AHYDT-RX2018 型鼓式制动器,并在国家桥门式起重机机械产品质量监督检测中心进行现场实验采集数据。在制动器左右两侧的摩擦衬垫与制动闸瓦之间放置2 个柔性薄膜传感器阵列,以实时检测制动面受力大小及力的分布。压力传感器阵列信号采集采用分布式I/O 设备,通过MODBUS 现场总线与制动系统监控主控制器TPC1162Hi 工业平板计算机交互信息。同时,通过MCGS 嵌入式组态软件进行数据处理和图像显示以及实时进行故障预报。
实验中通过控制吊车制动器的闭合和打开模拟各类故障,分别采集吊车制动器不同运行状态下的监测数据。为了充分提取特征数据的故障信号,每种运行状态实验40 次,按照80%和20%的比例随机划分训练样本和测试样本,每种运行状态可以通过传感器阵列采集到3840 个压力值,吊车制动盘常见的运行状态如表1 所示。
表1 吊车制动器的几种常见运行状态及样本数
将数据输入到DBN 网络之前,对数据进行归一化处理,本文使用的归一化公式为
其中,Xmin和Xmax分别为所采集的压力值的最小值和最大值。
在训练深度置信网络的过程中,为了提高网络的诊断精度,需要不断更新网络参数,而这一过程需要通过迭代来完成,迭代次数即DBN 的训练次数。为了得到最合适的迭代次数,分别取不同的迭代次数判断其故障诊断能力。由图5 可以看出,随着迭代次数的增加,故障诊断误差不断减小,最后基本趋于稳定;当迭代次数为500 次时,诊断误差基本趋于稳定。考虑到随着迭代次数的增加模型的训练时间也大幅度增加,从而导致故障诊断实时性效果不好。于是,在本文中,该DBN 模型的迭代次数取500 次。
图5 不同迭代次数的故障诊断误差
为了确定受限玻尔兹曼机个数(即隐藏层层数)对故障诊断精度的影响,通过搭建N(N=1,2,3,4,5)层深度置信网络模型,利用一样的训练样本集和测试样本集对该模型进行实验。为了保证实验结果的可靠性,每次实验进行10 次模拟,得出的准确率取平均值。N层DBN 网络的故障诊断准确率如图6 所示。其中,4 层DBN 网络的平均故障诊断率最高。
图6 不同层数DBN 的诊断准确率
经过以上过程的不断训练,最后在本文中采用的深度置信网络一共包含4 层,其中2 层为隐藏层,每层神经元的个数分别为4、24、24、5,迭代次数为500次,学习率为0.1。
为了更好地展示利用DBN 网络进行故障诊断的优点,本文分别利用GA-BP 和SVM 的训练集和测试集做了多次相同的实验,这两种方法的故障诊断准确率如图7 所示。
图7 3 种故障诊断方法准确率对比
结合图7 和表2 可以看出,DBN 故障诊断平均准确率高达92.14%,明显高于GA-BP 神经网络和SVM;且DBN 准确率方差也明显低于GA-BP 和SVM,这说明利用DBN 进行吊车制动器故障诊断的稳定性较高。以上实验有效地证实了利用深度置信网络对吊车制动器进行故障诊断的优越性。
表2 不同方法的诊断结果
本文提出一种基于深度置信网络的吊车制动器故障诊断方法。该方法基于深层神经网络模型,充分展示了强大的数据提取能力,减少了预先对制动器本身进行建模的要求。实验结果表明,将深度置信网络应用于吊车制动器故障诊断取得了较高的诊断精度,克服了传统故障诊断方法对于故障信号预处理及人工经验的依赖;基于DBN 故障诊断模型的搭建与调试涉及到诊断对象的影响,在本次实验中,适合该吊车制动器的DBN 包含2 个隐含层。
虽然这次的实验取得了较好的诊断效果,但调节DBN 网络初始参数耗费了太多时间。今后,可将利用一种优化算法自适应地调节DBN 网络参数作为本文的进一步研究方向。