王建国,刘冀韬
(内蒙古科技大学机械工程学院,内蒙古 包头 014000)
行星齿轮箱因其结构紧凑、传动效率高、承载能力强等优点[1],在冶金行业、舰船、风力发电等大型装备的传动系统中应用广泛。行星齿轮箱承载动态载荷,工况复杂工作环境恶劣,其内部行星轮复杂的运动机制导致行星轮极易发生故障。及时发现其故障征兆并进行有效的辨识,具有重要意义。
然而,行星齿轮箱的故障诊断问题面临诸多棘手问题。一方面,行星齿轮箱多安装在大型设备上,为了反映大型设备的运行状态,采集系统必须获得大量数据来描述设备状态;另一方面,这类设备上复杂的内部结构造成行星齿轮箱内部结构复杂,传递路径多变导致故障相应微弱且各部件振动相互耦合,信噪比低[2-3],故障特征难以提取。因此,浅层学习模型在面对这些问题时显得捉襟见肘。
近年来,深度置信网络(Deep Belief Net,DBN)作为机器学习领域一种新兴方法,因其强大的建模和表征能力,在行星齿轮箱故障诊断领域取得丰硕成果。文献[4]利用去噪堆叠自动编码器和DBN来应对行星齿轮箱故障诊断过程中产生的大数据难题;文献[5]将DBN应用于行星齿轮箱故障诊断,完成了风力发电机的齿轮箱的状态识别。DBN以其强大的自适应特征提取能力,能够实现行星齿轮箱微弱故障的提取,但在大数据背景下,冗余的数据量将会严重降低DBN模型的训练精度,并增加计算时间。对此文献[6]提出以集合经验模态分解处理信号,提出一种结合特征选择和特征取技术的降维方法,并结合DBN完成了两组行星齿轮箱故障诊断实验;文献[7]利用优化Morlet小波变换,峰度指数和软阈值等提取信号的冲击特征来代替原始数据输入DBN模型辨识行星齿轮箱状态。上述方法虽完成了对高维数据的降维,但不论是EEMD算法还是小波变换都破坏了原始信号的空间特征。LTSA是一种比较典型的非线性维数约简方法,通过对原始数据进行非线性变换,将其从高维输入空间映射到一个低维子空间,能够较完好的保留数据的空间排列信息。文献[8]将振动信号进行相空间重构,然后利用LTSA算法在重构后的高维相空间中提取低维本质流形,从而有效的提取出隐藏在振动信号中的冲击故障特征;文献[9]将成功的使用LTSA算法提信号的低维特征,并应用于工程实践当中。上述学者的研究成果对DBN和LTSA算法应用于行星齿轮箱故障诊断提供了坚实的理论基础。
针对上述问题,提出PCA-LTSA-DBN行星齿箱行星轮故障诊断方法。首先,用PCA算法预估高维数据的内在维度,确定目标维数;然后,结合局部切空间排列算法对高维数据集进行约简,实现高维信号的低损伤降维;最后,将其输入DBN模型中训练网络参数,获得行星齿轮箱故障辨识模型。
局部切空间排列算法是一种比较典型的局部线性嵌入算法[10]。其计算步骤为:
(1)局部邻域矩阵的获取。样本点xi,xi∈Rm,i=1,2,…,n,其中邻域矩阵为Xi=[xi1,xi2,...,xik]。
(2)局部线性拟合:
使式(5)解出唯一解,LTSA算法对全局坐标T加以标准化约束和中心化:
根据计算得到E(T)最优解,构建全局坐标T=[u1,u2,…,ud+1]。
LTSA对于降维的目标维数需要人工指定的。排除人为经验的影响,只能以穷举试凑的方法逐渐尝试,这无疑增加了大量的计算任务。而流形是分布在高维空间中的低维嵌入,用局部主成分分析(Principal Component Analysis,PCA)的方法来计算流形的内在维数。
首先对所有相邻点做去中心化,然后求其协方差矩阵,计算协方差矩阵的特征值λ,且λ>0。按降序排列找出前k大的特征向量,使得:
那么就可以认为原始数据降到k维损失是最小的,k即为LTSA算法的目标维度。
深度信念网络(Deep Belief Network,DBN)由Geoffrey Hinton在2006年提出[11]。其模型,如图1所示。
图1 DBN网络模型Fig.1 DBN Network Model
DBN结构中的每个连续层遵循相同的变换规则,并在整个DBN架构中传递此规则[12]。其训练过程可以分为RBM向前学习和反向微调学习两个步骤。
RBM是一个基于能量的模型[12],由一层可视输入层v和一层隐藏层h构成。可视层和隐含层通过权值双向连接,但层间无连接。在给定可视层和隐含层神经元的状态下,其能量函数可以定义为:
式中:θ={ω,ɑ,b}—网络参数;vi—第i个可视层单元;hj—第j个隐含层单元;ɑi—可视层第i个单元偏置;bj—隐含层第j个单元偏置,ωij连接可视层第i个单元和隐含层第j个单元的权值。由能量函数定义RBM每一个可视层单元和隐含层单元间的联合分布为:
由于RBM层间无连接,概率分布相互独立,因此,可得出条件概率的计算公式:
训练RBM的主要目的是求出网络参数θ={ω,ɑ,b}。通过式(12)或式(13)在已知神经元分布的情况下,可以计算神经元节点被激活概率。神经元节点激活用1表示;反之,用0表示。
由于RBM训练过程中仅保证每个RBM间的特征最优映射,但无法保模型参数最优,有必要进行反向微调提高模型精度。监督学习过程进一步降低了训练误差,提高了DBN分类器模型的分类精度。微调时主要使用BP算法,将期望输出与实际输出间的误差反向传导给各层,并微调其中的RBM间的参数,实现整个网络的微调。反向微调学习持续进行,直到网络输出达到最大数量。
基于LTSA-DBN的行星轮故障诊断的步骤为:(1)获取行星轮的振动数据,并利用LTSA算法对数据进行降维,确定训练样本和测试样本;(2)设置网络相关参数,包括学习率、网络层数和各层节点数等;(3)逐层训练,将获取的训练样本输入DBN模型,对每个RBM模型进行贪婪逐层训练;(4)反向微调DBN网络;(5)利用训练好的DBN模型进行行星轮故障诊断。具体诊断流程,如图2所示。
图2 基于LTSA-DBN的诊断流程Fig.2 LTSA-DBN based Diagnostic Process
搭建的测试链,来验证上述模型的有效性,如图3所示。利用PCB356A16加速度计采集行星齿轮箱行星轮的断齿(图4(a))、裂纹(图4(b))、缺齿(图4(c))以及正常(图4(d))4种状态下垂直径向、水平径向和轴向3个方向的振动信号。为了保证分析的数据量,分别采集每种状态下故障信号的500组数据。
图3 基于LMS Test.Lab和DDS的测试链Fig.3 Test Chain based on LMS Test.Lab and DDS
图4 第一级行星轮故障件Fig.4 The First Stage Planetary Gear Fault
实验采集到的行星齿轮箱振动数据集T有2000行15360列共计3000万个数据点,将其直接转化为频域信号输入DBN模型将会耗费大量时间,同时精度也无法保证。LTSA算法最大的问题在于目标维度的确定,选择采用PCA算法对数据进行维数估计,计算PCA的全部特征值,并计算占总特征值总和90%以上的特征值个数k,作为LTSA算法的目标维度。降维后数据维度降为[2000×680]。
将降维后的数据集Q中的每种故障的前300组作为训练集T=[1200×680],训练DBN识别模型,后200组作为测试集N=[800×680]来验证所建DBN行星轮的状态辨识模型的精度。
这里DBN模型采用4层模型,每层神经元个数分别为680,100,100和4,即该DBN的网络结构为:680-100-100-4,单元传递函数为Sigmod函数,迭代次数为150,学习率为0.10。该网络模型识别精度,如图5所示。
图5 DBN识别结果误差色块图Fig.5 DBN Recognition Result Error Color Block Diagram
图中:xi—实际分类标签;yi—预期的分类标签,分别代表“行星轮断齿、行星轮裂纹、行星轮缺齿、正常”四个类型。若分类结果为(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4),也就是在对角线上,则表示DBN识别结果正确,其余则表示分类错误。例如,行星轮断齿故障的识别正确率为86%(172/200),有8组被错分在x2(行星轮裂纹)故障中,有20被错分在x3(行星轮断齿)故障中。DBN模型对行星轮4类故障的识别精度,如表1所示。
表1 DBN识别精度统计表Tab.1 DBN Recognition Accuracy Statistics Table
为了验证LTSA算法降维对本实验结果的影响,将为降维的齿轮箱数据直接输入到DBN模型中进行学习分类,且DBN模型及参数与上文一致。识别结果,如图6所示。
图6 未降维数据DBN识别结果误差色块图Fig.6 Unreduced Dimensional Data DBN Recognition Result Error Patch Map
显然,除去正常状态下每种故障状态的辨识精度都低于经LTSA算法处理后的辨识精度,这是因为信号中冗余的信息干扰了DBN模型的学习和判别,产生了过拟合现象。而且在数据训练过程中未降维处理的信号占用了大量的计算资源,导致其计算时间达到了1153s,比LTSA处理后的数据集训练多了近5倍(267s)的时间。这里也使用了传统的BP神经网络对行星齿轮箱振动信号进行分析,但准确率只能达到53%,不满足诊断要求,因此不做赘述。两种方法下DBN识别精度对比表,如表2所示。
表2 两种方法下DBN识别精度对比表Tab.2 Comparison of DBN Recognition Accuracy under Two Methods
这里研究了一种基于LTSA和DBN网络的故障诊断方法,将其用于行星齿轮箱行星轮的故障诊断,通过试验验证了方法的有效性,结果表明:(1)DBN网络可以实现自适应信号特征提取,克服了传统方法对大量复杂信号处理技术和实际诊断经验的依赖,在大量数据样本下诊断精度能达到92.5%;(2)LTSA算法能够实现高维数据集的低损伤降维,缩短DBN网络大量的训练时间的同时,对其识别精度也提升了4%。