基于栈式降噪自编码的故障诊断
2017-05-02朱煜奇黄双喜杨天祺孙洁香
朱煜奇,黄双喜,杨天祺,孙洁香
(1.清华大学 自动化系,北京 100084;2.北京机械工业自动化研究所,北京 100120)
基于栈式降噪自编码的故障诊断
朱煜奇1,黄双喜1,杨天祺1,孙洁香2
(1.清华大学 自动化系,北京 100084;2.北京机械工业自动化研究所,北京 100120)
提出一种基于栈式降噪自编码网络的故障诊断方法,把深度学习应用于设备故障诊断。建立深层网络模型,采取逐层贪婪编码的方式进行预训练,实现高维深层故障特征的自适应提取和挖掘,再使用反向传播算法对模型进行监督式微调。方法集成了特征提取和状态分类两大步骤,摆脱了传统机器学习方法对人为提取样本特征的依赖,并有效克服梯度消失、局部极值等问题。通过滚动轴承数据实验,验证该方法对故障的识别能力和泛化能力。
故障诊断;栈式降噪自编码;深度学习;滚动轴承
0 引言
通过机器学习挖掘生产数据的内在信息,可以实现基于状态的设备维护。滚动轴承作为制造设备变速机构的重要组成部分,具备丰富的数据积累,以滚动轴承为对象研究智能化的故障诊断方法具有一定的典型性和可推广性。
传统故障诊断可归纳为特征提取和状态分类两个步骤。传统特征提取需经过复杂的信号处理和多变量的主观选择,对诊断结果造成主观影响。传统机器学习分类算法面临维数灾难、过拟合等问题,只能学习样本的低维浅层特征,且缺少必要的泛化能力[1~3]。深度学习为克服上述问题提供了新思路。Hinton等提出无监督预训练加后期微调的训练框架,使用自编码网络[4]和深度置信网络[5]等模型,实现深度网络结构对高维抽象特征的提取,并以逐层贪婪的训练原则克服了多层网络结构的梯度消失和局部极值问题[5,6]。目前深度学习对工业生产数据的挖掘仍处于摸索阶段,在设备维护和故障诊断领域有着广阔的想象空间。
综合上述背景,本文提出一种基于栈式降噪自编码网络的故障诊断方法,将深度学习应用于设备故障诊断。该方法建立深层网络模型,利用逐层贪婪编码的方法实现高维深层故障特征的自适应挖掘,显著提升故障识别能力和泛化能力。相比传统机器学习,该方法集成了特征提取和状态分类两大步骤,摆脱了人为提取样本特征对经验的依赖和复杂运算,有效克服梯度消失、局部极值等问题,能够适应复杂的设备诊断需求。
1 基于栈式降噪自编码的故障诊断
1.1 基本自编码网络
自编码网络(Autoencoder,AE)基本模型是一个三层前向网络结构,包括输入层X,中间层(隐层)Y,输出层Z,其中输入层和输出层维数相同,隐层维数较小,网络结构如图1所示。理解AE可以分编码和解码两个阶段,其核心思想是逼近一个恒等函数,在隐层实现降维的同时尽可能完整地保留特征信息[7]。
图1 基本自编码网络
解码阶段,m维隐层向量y通过同样的方式反向重构为n维向量z,非线性解码函数可以作如下表示:
经过编码和解码两个步骤,AE将x压缩为y再重构为z。由于维度m<n,隐层表达向量y实现了对输入特征的编码和降维;由于保证重构误差最小化,可以认为编码向量y很好地保留了输入向量x所包含的特征信息;最后,以重构输入向量为目标的训练过程避免了人为添加样本标签,减少了对主观经验的依赖,也更加适应海量数据的应用场景。综上所述,AE模型可以非监督、自适应地实现样本特征的提取和降维。
1.2 降噪自编码网络
在现实场景中,考虑到样本的个体差异以及噪声对样本输入的影响,同类样本往往不会表现出严格相同的特征。这就需要分类器具备一定的鲁棒性和泛化能力。基本AE的训练直接以真实信号为输入进行编码重构,因此在面对噪声干扰时可能因为过拟合而影响分类效果。
降噪自编码网络(DenoisingAutoencoder,DAE)通过人为向输入端引入噪声解决上述问题[7],实践中可以采用masknoise作为修正,即随机造成输入缺失(置0)。记经过修正的输入向量为x′,则DAE的原理可作如下表示:
在DAE的训练过程中,输入向量x′是含有人为噪声的信号,而重构误差L(x,z)表达了编码向量y对真实信号x的重构能力,如图2所示。由此可见,DAE追求的是存在扰动的情况下对真实信号的重构能力,由此得到的特征表达具有更好的鲁棒性和泛化能力。
图2 降噪自编码网络
1.3 栈式堆叠和逐层贪婪训练
堆叠多个DAE可以得到深层神经网络,实现对高维深层特征的提取[4]。当训练完一个DAE单元后,编码部分已经可以实现输入向量到隐层编码的映射,因此只需保留编码部分作为DAE训练结果。已知DAE各层输入输出都满足归一化要求,因此可以将一个DAE的隐层编码向量作为另一个DAE的输入,作进一步的编码和降维。记原始输入样本为x0,第i层DAE的编码结果为xi,则各层DAE编码可以表示为:
如此层层堆叠得到的模型称为栈式降噪自编码网络(Stacked Denoising Autoencoder,SDAE),整体训练这样的深层网络会引起梯度消失,因此需要采用逐层贪婪的原则,对每一层DAE进行单独训练,并保证重构误差最小化。假设每一层DAE编码都能实现比较好的重构效果,则SDAE作为整体就能实现高维特征的深度提取和降维,如图3所示。
1.4 分类器预训练和微调
在传统机器学习的观点中,从原始数据到实现分类需要经过特征提取和状态分类两步,其中基于样本的机器学习主要发生在状态分类阶段,特征提取被认为是训练模型之前的预处理。而在本文给出的方法中,逐层贪婪训练同样能实现样本特征的提取和降维,区别在于SDAE训练会使用到样本数据,所以这是一种自适应的非监督的预训练[4]。
在SDAE的输出特征之后接上分类模型即可实现样本分类。例如以softmax分类作为输出,可以得到以独热编码(One-Hot code)表示分类结果的分类器,如图3所示。一个N分类的独热编码可作如下表示:
图3 SDAE分类器
基于逐层贪婪训练得到的分类器已经能实现较为准确的分类,但是逐层最优并不能保证堆叠之后分类器整体最优。此时如果有经过分类标签的样本数据,就可以采用BP等算法对整个分类器进行监督式训练,进一步实现微调[4]。因为有自编码预训练作为基础,此时的BP训练有较好的初值作为基础,不容易陷入局部极值。
1.5 基于深度学习的轴承故障诊断
将SDAE深度分类模型应用于设备状态识别,可以实现设备故障诊断。分析轴承故障通常采用振动信号作为对象,既可以采取时域分析,也可转换到频域分析,经试验频域信号所体现的特征更为显著,更加适合用作分类器输入。传统机器学习能处理的特征维数有限,需要将原始频域序列转换为少数中间变量或人为选取某些特征频率;本文提出的SDAE方法可以从高维特征出发进行工作状态识别,因此可以直接采用频谱序列作为分类器输入,最大限度保留了样本信息,提升诊断效果和泛化能力。综上,构建以轴承振动信号频谱序列为输入、以独热分类编码为输出的SDAE分类器,可以实现基于深度学习的轴承故障诊断。
2 应用实例
2.1 实验数据集
本文采用美国Case Western Reserve University轴承数据中心的故障数据[8]验证SDAE模型的诊断效果,以SKF6205-2RS滚动轴承为对象,通过电火花加工在轴承的内圈、滚动体、外圈制造人为损伤,在电机箱体采集振动加速度信号,研究不同的轴承故障模式下振动数据的表现。统一选取1马力负载、每分钟1772转、采样频率12kHz的驱动端振动信号作为依据,每500个采样点作为一条样本序列,选取正常状态加9种故障模式共10个工作状态,对每种状态随机选取3/4的样本用作训练集,剩余1/4样本用作测试集。表1描述了样本数据信息。
2.2 诊断模型设计
根据前文描述的方法,将上述样本经过FFT变换为频谱序列并归一化,SDAE分类器以500维的频谱序列作为输入,10位独热分类编码作为输出。经试验,本文设计5层SDAE模型,各层神经元数量为:500-300-100-50-10,noising mask概率设为0.1。在预训练阶段,逐层贪婪训练的迭代次数设置为3;在微调阶段,采用BP算法进行整体优化,迭代次数设置为30。为减少随机影响,重复进行10次诊断试验,并结合其他经典方法比较诊断效果。
表1 样本数据集描述
2.3 实验结果
图4展示了SDAE及其他分类模型对测试样本的诊断结果。在设定的实例场景下,SDAE诊断模型可以准确识别不同位置、不同程度的轴承故障,10次试验均能保证100%的正确率,体现出色的识别和泛化能力。
图4 各模型诊断准确率
对照试验中,经典反向传播网络BP采用和SDAE相同的5层结构但不采用逐层贪婪预训练,识别能力整体逊于SDAE模型,诊断正确率在25.23%~79.81%之间浮动,性能十分不稳定。PCA+SVM方法选取10个特征分量作为SVM输入,最终诊断正确率只能保持在46%左右,但是相比BP方法稳定很多。文献[9]给出的EMD+SVM方法在特征提取方面做出改进,能保证94.61%的平均正确率,具有较高的识别率,诊断结果也十分稳定。相较而言,本文提出的SDAE方法能够自适应地挖掘故障特征,具有更强的诊断能力和泛化性能。
深入分析训练方法对诊断效果的影响。图5具体展示第5次SDAE试验、第5次BP试验和第8次BP试验的训练迭代误差曲线。SDAE以逐层贪婪训练避免了梯度消失,又通过非监督预训练得到更为合理的迭代初值,表现出更为稳定的诊断效果。BP方法面对深层网络会出现梯度消失陷入局部极值,迭代结果受随机初值影响,故诊断效果不稳定。
图5 各模型诊断准确率
深入分析特征提取对诊断效果的影响。对样本进行聚类并投影到以特征向量为坐标的空间中,可以观察所选特征对样本的区分能力。图6描述原始信号经三层DAE挖掘得到的特征,可见同一故障模式下的样本较好地聚集在一起,能比较明显地区分不同状态下的样本。图7描述PCA对样本特征的提取,结果表明同类样本能实现一定程度的聚集,但不同故障模式下的样本有比较严重的重叠。这是因为高维特征向低维空间投影的过程中损失了大量的特征信息,导致某些相似状态不能得到很好地区分,最终影响诊断效果。
3 结论
本文提出一种基于栈式降噪自编码网络的故障诊断方法,将深度学习应用于设备故障诊断,通过实验证明了方法的有效性,结果表明:
1)所提出的方法能实现故障特征的自适应提取和降维,摆脱了对专家诊断经验和复杂信号处理的依赖,成功实现特征提取和状态分类两大步骤的集成;
图6 SDAE特征可视化
图7 PCA特征可视化
2)所提出的的方法成功利用深层神经网络挖掘高维样本特征,遵循逐层贪婪训练和预训练加微调的方式,有效克服传统机器学习面临的梯度消失和局部极值问题,显著提升故障识别效果和泛化能力;
3)以滚动轴承故障诊断为例验证所提出的的方法,对照传统机器学习诊断方法进行,证明了该方法的有效性。
[1] Bengio Y, Goodfellow I J,Courville A. Deep learning[J]. Nature, 2015,521:436-444.
[2] LeCun Y,Bengio Y, Hinton G. Deep learning[J].Nature, 2015, 521(7553):436-444.
[3] Bengio Y. Learning deep architectures for AI[J].Foundations and trends☒ in Machine Learning,2009,2(1):1-127.
[4] Hinton G E, Salakhutdinov R R.Reducing the Dimensionality of Data with Neural Networks[J].Science, 2006,313(5786):504.
[5] Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets.[J].Neural Computation,1989,18(7):1527-1554.
[6] Bengio Y, Lamblin P, Popovici D,et al.Greedy layer-wise trainingof deep networks[C].Advances in Neural Information Processing Systems 19, Proceedings of the Twentieth Conference on Neural Information Processing Systems,Vancouver,British Columbia, Canada, December. DBLP,2007:153-160.
[7] Vincent P,Larochelle H,Bengio Y, et al.Extracting and composing robust features with denoisingautoencoders[C].International Conference.2008:1096-1103.
[8] Bearing data center.Case Western Reserve University[EB/ OL].[2016-12-31].Available: http://csegroups.case.edu/ bearingdatacenter/pages/download-data-file.
[9] 胡荣华,楼佩煌,唐敦兵,刘明灯.基于EMD和免疫参数自适应SVM的滚动轴承故障诊断[J].计算机集成制造系统,2013,(02):438-447.
Fault diagnosis based on stacked denoising autoencoder
ZHU Yu-qi1, HUANG Shuang-xi1, YANG Tian-qi1, SUN Jie-xiang2
TP206+.3
A
1009-0134(2017)03-0152-04
2016-11-20
国家高技术研究发展计划项目(2015AA043702)
朱煜奇(1992 -),男,上海人,硕士研究生,主要从事企业信息化与集成研究。