黄金娥,刘鹏鹏
(海军研究院,北京 100161)
随着现代舰船及其武器装备性能的提升,对船用柴油机运行要求也越来越高。而船用柴油机的振动类故障占据故障的绝大部分,因此通过振动信号进行柴油机的故障诊断是合理且必要的[1]。传统的柴油机故障诊断是根据专家经验或是特定部件的先验知识进行诊断指导,类如轴承齿轮,当它们的尺寸确定,其故障频率也能被计算得到。只需要观察故障频率在频谱变化就能完成简单的故障诊断工作。而类似气缸磨损故障,由于气缸比较复杂,没法准确得到它的故障频率,这类故障诊断就不能再依赖先验知识。随着数据挖掘技术的发展,深度学习为智能故障诊断提供了一条新的技术路线。深度学习网络可以摆脱了对大量信号处理技术与诊断经验的依赖,直接从频域信号中自适应地提取故障特征[2-3],将传统故障诊断中特征提取+模式识别的方法融为一体,实现在缺乏先验知识下的故障特征自适应提取与健康状况评估。基于此,为更好解决柴油机气缸磨损诊断故障问题,本文提出了一种基于改进深度学习算法的船舶柴油机故障诊断技术。首先,通过GOA进行参数寻优,降低手动设置参数对训练结果的影响。其次,分析参数寻优对隐含层的特征提取能力的影响。最终,将预处理后的数据输入网络进行训练,构建基于DBN的柴油机气缸磨损故障诊断模型。经试验验证,本文提出的方法能有效提高DBN自适应故障特征提取能力以及识别精度,很好解决了传统故障诊断方法的不足。
蚱蜢优化算法(GOA)模仿了自然界中蚱蜢的群体觅食行为,在解决多目标优化问题时表现出优越的性能。由蚱蜢种群构建的网络将所有的个体连接起来,使每个蚱蜢个体的位置协调一致,个体可以通过群体中的其他个体来决定掠食的方向。由于目标的位置是未知的,具有最佳适应度蚱蜢的位置被认为是与目标最接近的位置,蚱蜢会随着网络中目标的方向而移动。随着蚱蜢的位置更新,为了在全局搜索与局部搜索之间取得平衡,适宜范围区将自适应地下降,直到最后,蚱蜢汇聚在一起并向最优解进行逼近[4]。
式中:N为种群规模;ubd和lbd分别为第d维的上界和下界;Tˆd为当前迭代最优解。
式中:cmax为c的最大值;cmin为c的最小值;l为当前迭代次数;L为最大迭代次数。为了在每一次搜索的过程中,使蚱蜢个体向着最优解的方向移动,假定当前搜索过程最佳适应度值的个体是目标值。蚱蜢优化算法通过随机初始化一组解开始优化操作,优化过程中根据式(1)来进行位置更新,因子c的更新依赖于式(2)。在每次迭代中都会更新最佳目标的位置,直到满足终止条件,就会返回最优个体的位置以及适应度值。
预训练采用了无监督贪婪逐层方式对RBM各层之间的连接权值和偏置进行初始化,接着对每层RBM由下向上单独训练[5-6]。RBM训练的实质是求一个训练样本的概率分布。通过这个分布,使得训练样本与标签对应的概率最大化。由于想要得到这个最佳分布的关键点在于权值W的调整,因此训练RBF实际上就是寻找最佳的权值。
由于预训练属于无监督学习,经过预训练得到的参数初始值并非最优参数。这一阶段针对输出误差大的问题,采用BP神经网络结合标签对参数进行微调。在DBN的输出层设置BP神经网络,由上向下进行有监督的训练,并优化每层之间的连接参数使得DBN的分类能力达到最优。针对复杂的故障信号特征,深度置信神经网络通过模拟大脑的深层组织结构,建立深层网络模型,能够更加高效地表征气缸振动信号与其磨损状态之间复杂的映射关系。
蚱蜢优化算法对DBN参数寻优步骤如下:
1)设置GOA各个参数,并初始化种群。
2)把DBN训练误差均方根值作为目标函数,根据参数学习率和批量学习个数评价个体的适应度值fit(i),并标记最优个体。
3)判断当前迭代次数是否达到终止条件,若是则结束,进而输出结果,若否则继续下一步。
4)更新每个个体的位置,并将超出上下界的个体重新进行初始化。
5)更新最优个体,迭代步骤m=m+1。
本文试验数据来自某型船用柴油机的耐久性试验。试验采用DH5927D信号采集仪,在柴油机气缸盖布置一个单向加速度传感器进行振动测试。试验柴油机转速为1 500 r/min,选取的采样频率为5.12 kHz。
根据提出方法的流程,首先对柴油机气缸振动信号进行预处理,图1给出气缸不同磨损状态的FFT频谱图。
图1 气缸不同磨损状态的频谱图Fig.1 FFT spectrum of different wear states of the cylinders.
任何信号都对应了频域的若干频率分量的叠加,频域分析可实现对合成信号的分解。为了使信号的表示更加简练和方便,每组样本经过FFT变换,由于频谱的对称性取一半数据点作为特征向量,从而减少信号特征的维数。为了降低一些噪声和奇异样本对网络训练的影响,把得到的特征向量进行线性归一化,减少网络的训练时间并提高收敛速度。
DBN各层隐含层神经元节点数的设置没有已知的公式,通常根据多次试验和相关经验确定为200-100-50的网络结构。接着,利用GOA对DBN最佳学习率和批量抽取数量参数进行搜索,搜索范围分别为[0~1]以及[1~100]。参考Zhang[7]的建议,GOA的迭代次数为100,种群数量为30。
完成参数设置的优化算法后开始对DBN的参数进行搜索。如图2所示,为了详细说明参数搜索过程,给出了GOA参数寻优曲线,可以看出训练均方根误差最小值收敛到0.008 6左右。在计算3次后的迭代开始收敛,说明该优化算法全局寻优能力强、收敛速度快,适合用来搜寻DBN最优参数组合。此后得到的最优参数组合为[0.165 8,10]。
图2 GOA迭代曲线Fig.2 GOA iterative curve
为验证参数优化后的DBN具有更好的特征提取能力,对比参数优化前后DBN网络隐含层对故障特征自动提取能力。参考Geoffrey Hinton[8]给的建议,由经验选取参数的DBN(看作优化前的DBN)学习率和批量抽取数量为[0.1,20]。依然采用相同的样本以及网络结构进行训练,输出第3个隐含层节点值,以其稀疏性作为特征提取能力的评判。
由图3可知,参数优化后的DBN自动提取的故障特征更稀疏,远低于经验选取参数的DBN,这种稀疏特征更能有效地表达数据的本质特征,提高故障特征的泛化能力。
图3 DBN优化前后隐含层节点输出Fig.3 Comparison of fault feature sparsity between networks before and after optimization
为了验证提出方法在诊断精度的优势,对比本文提出方法、由经验选取参数的DBN的故障模型的诊断率。随机抽取气缸磨损3种运行状态样本各300组(剩余50%样本),为消除随机产生的误差,重复10次测试,以验证模型的故障识别能力和稳定性,测试结果如图4所示。
图4 DBN优化前后诊断率对比Fig.4 Accuracy of DBN before and after optimization
由图4(a)可以看出,本文提出方法建立的柴油机气缸磨损故障诊断模型,在10次随机抽样测试中识别精度都高于99.5%,平均诊断率能达到99.72%,说明提出方法对于复杂的气缸故障具有较高的诊断率和稳定性。图4(b)为由经验选取参数的DBN模型的诊断率,平均诊断率为98.87%,略低于参数优化的DBN模型。由文献[9]可知,传统的柴油机气缸故障诊断都是通过谱分析、或是缸内能量值进行判定,且平均诊断率为80%~90%左右。对比深层网络模型,传统故障诊断方法在自适应故障特征提取、监测诊断精度及泛化性能方面有所欠缺,而深层网络更适合缺乏先验知识以及复杂工况下的自适应故障诊断。
1)以训练误差均方根值最小为目标函数,利用GOA搜索DBN最佳的学习率和批量抽取数量,可以显著提高DBN的特征提取能力和故障诊断精度。
2)本文所提出的方法可以自适应地提取柴油机气缸振动信号频谱中蕴含的故障信息,摆脱了对大量信号处理方法与诊断工程经验的依赖,在故障诊断的泛化性能方面更具有优势。
3)基于深度学习的故障诊断方法为缺乏先验知识的复杂部件故障诊断提供了一条新思路