基于压缩感知和深度小波网络的列车故障识别
2019-09-04杜小磊陈志刚张楠许旭
杜小磊 陈志刚 张楠 许旭
摘 要:针对列车走行部故障振动数据无监督特征学习的难点,提出了一种基于压缩感知和深度小波神经网络(CS-DWNN)的列车故障识别方法。首先,对采集得到的列车走行部振动信号利用高斯随机矩阵进行压缩采样;其次,构建以改进小波自编码器(WAE)为基础的深层小波网络,将压缩后的信号直接输入网络进行自动逐层特征提取;最后,用DWNN学习到的多层特征分别训练多个深度支持向量机(DSVM)和深度森林(DF)分类器,并将识别结果进行集成。该方法利用深层小波网络从压缩信号中自动挖掘隐藏的故障信息,受先验知识和主观影响较小,并且避免了复杂的人工特征提取过程。实验结果表明,CS-DWNN方法取得了99.16%的平均诊断正确率,能够有效识别列车走行部的3种常见故障,识别能力优于传统的人工神经网络(ANN)、支持向量机(SVM)等方法和深度信念网络(DBN)、堆栈降噪自编码器(SDAE)等深度学习模型。
关键词:列车;压缩感知;小波自编码器;深度学习;故障识别
Abstract:Aiming at the difficulty of unsupervised feature learning on defect vibration data of train running part, a method based on Compressed Sensing and Deep Wavelet Neural Network (CS-DWNN) was proposed. Firstly, the collected vibration data of train running part were compressed and sampled by Gauss random matrix. Secondly, a DWNN based on improved Wavelet Auto-Encoder (WAE) was constructed, and the compressed data were directly input into the network for automatic feature extraction layer by layer. Finally, the multi-layer features learned by DWNN were used to train multiple Deep Support Vector Machines (DSVMs) and Deep Forest (DF) classifiers respectively, and the recognition results were integrated. In this method DWNN was employed to automatically mine hidden fault information from compressed data, which was less affected by prior knowledge and subjective influence, and complicated artificial feature extraction process was avoided. The experimental results show that the CS-DWNN method achieves an average diagnostic accuracy of 99.16%, and can effectively identify three common faults in train running part. The fault recognition ability of the proposed method is superior to traditional methods such as Artificial Neural Network (ANN), Support Vector Machine (SVM) and deep learning models such as Deep Belief Network (DBN), Stack De-noised Auto-Encoder (SDAE).
Key words: train; Compressed Sensing (CS); Wavelet Auto-Encoder (WAE); deep learning; fault identification
0 引言
列车走行部用于保障列车安全平稳地通过钢轨,并可减小列车和钢轨之间因相互冲击产生的振动。当列车走行部发生故障时,通过分析其振动信号,可以及时地判断列车故障状况,对确保列车的安全运行起到重要作用[1]。
当列车走行部发生故障时,其振动信号通常表现出非平稳性,一般采用时频分析方法。李佳睿等[2]采用改进的希尔伯特黄变换(Hilbert-Huang Transform, HHT)对列车走行部轴箱进行故障诊断;Lei等[3]使用集合经验模态分解(Ensemble Empirical Mode Decomposition, EEMD)分析列车轴承振动信号,然后选择敏感特征,并结合人工神经网络(Artificial Neural Network, ANN)进行故障识别;然而使用HHT和EEMD等时频分析方法进行特征提取很大程度上依赖于工程经验,并不能保证所提取特征的稳定性,且传统的人工神经网络(Artificial Neural Network, ANN)和支持向量机(Support Vector Machine, SVM)等浅层分类器面临维数灾难问题,难以表征被測信号与列车走行部故障之间复杂的映射关系[4]。
深度学习[5]能自动从原始数据中学习具有代表性的特征,很大程度上摆脱了依赖于诊断专家的信号处理与特征提取经验,已逐渐应用于列车故障识别领域。郭超等[6]构建多通道深度信念网络(Deep Belief Network, DBN)模型进行列车故障识别;庞荣等[7]提出了一种基于深度降噪自编码器(Deep Denoising Auto-Encoder, DDAE)的列车走行部故障识别方法;但DBN训练困难,初始权值有指向性,易陷入局部最优;DDAE所使用的Sigmoid激活函数难以建立列车走行部故障与振动信号之间的精确映射关系[8]。小波函数包含尺度因子和位移因子,位移因子使小波沿着信号的时间轴进行遍历性分析,尺度因子用于分析信号不同的频率,因此,将小波和深度学习模型相结合,将使深度模型具有更优的自动特征提取能力;而压缩感知(Compressed Sensing, CS)[9]将列车原始高维振动信号进行压缩采样,在保留大部分信息的同时极大地减小了数据冗余量,与深度学习结合将更具优势。
监督学习方法需要大量的带标签训练数据,而列车经长期运行后会积累大量无标签振动数据,因此,迫切需要无监督学习与数据压缩方法,在增强算法适应性的同时减小数据维数,同时保留最有用的信息。本文在CS、小波和深度学习优势的基础上,提出了一种新的列车走行部故障识别方法。先利用CS对列车走行部振动信号进行压缩采样,然后将压缩信号直接输入深度小波神经网络(Deep Wavelet Neural Network, DWNN)进行无监督逐层特征提取,最后用DWNN学习到的多层特征分别训练多个深度支持向量机(Deep Support Vector Machine, DSVM)和深度森林(Deep Forest, DF)分类器,并将结果进行集成。
1 压缩感知理论
本文采用CS方法对采集到的列车走行部振动信号进行压缩采样,提高了后续的分析效率。CS基于信号理论和稀疏理论,设振动信号x∈RN,压缩过程如下:
其中:θ=[θ1,θ2,…,θN]T∈RN是x的稀疏系数向量,只包含很少的非0值;Ψ=[ψ1,ψ2,…,ψN]T∈RN×N是稀疏字典,本文使用离散余弦变换(Discrete Cosine Transform, DCT)字典,ψi∈RN是稀疏基;Φ∈RM×N为测量矩阵,一般取高斯随机矩阵;y∈RM(MN)为压缩采样后的信号,包含了信号x的绝大多数信息。为尽可能减小数据维数同时保留足够多的故障信息,必须确定合理的压缩率,压缩率定义如下:
本文并非在信号采集系统上应用CS,而是在传统的A/D采样之后实施信号的压缩采样,采集的仍然是传统的离散信号。
2 深度小波神经网络
2.1 改进小波自编码器
自编码器(Auto-Encoder, AE)[10]包括输入层、隐层和输出层,输入层维数等于输出层维数,其核心思想是逼近一个恒等函数以自动完成特征提取。小波自编码器(Wavelet Auto-Encoder, WAE)将AE的Sigmoid激活函数替换为小波函数φ,将小波的时频局部特性和AE的自动特征提取优势相结合,具有更好的特征表示性能。DWNN由多个WAE构成,标准WAE和2隐层DWNN的结构如图1。
设WAE输入层有m个节点,隐层L个节点,输出层m个节点,Wjk是连接隐层小波节点j和输入层节点k的权值,aj和cj分别为隐层小波节点j的缩放因子和平移因子。给定输入样本向量x=[x1,x2,…,xm]T∈Rm,则隐层小波节点j的输出为:
其中,φ为小波激活函数,本文以Morlet小波函数的实部作为隐层激活函数,表达式如下:
则小波层节点j的输出改写为:
输出节点i的输出为:
其中,Wij是隐层小波节点j与输出节点i之间的连接权值。训练WAE就是不断地调整参数,最后找到一组最优参数θWAE={Wij,Wjk,aj,cj},使输入与输出间的损失函数最小化。损失函数一般定义为均方误差函数,如下:
其中:N为输入样本数,xsi是输入的第s个样本的第i个维度,ysi是第s个重构样本的第i个维度,但标准WAE的抗噪能力弱,泛化能力弱,容易陷入过拟合,因此,作如下改进:改进误差函数、加入收缩自编码机制并改进权重更新策略,详细如下。
1)标准WAE损失函数是用均方误差函数设计的,如式(9),这对复杂信号的特征学习鲁棒性低。文献[11]中提出一种最大相关熵损失函数,较好地克服了均方误差函数的缺陷。最大相关熵对复杂非平稳背景噪声不敏感,具有与复杂信号特征相匹配的潜力。在本文中,采用最大相关熵函数作为WAE的损失函数。设两个随机变量A=[a1,a2,…,aP]T∈RP,B=[b1,b2,…,bP]T∈RP,相关熵的近似计算如下:
其中,σ为高斯核函数尺寸,则WAE损失函数可以通过最大化以下函数实现:
其中:xi为输入样本向量,yi为重构样本向量。
2)收缩自编码机制。收缩自编码(Contractive Auto-Encoder, CAE)[12]通过增加收缩惩罚项学习信号的鲁棒性特征。CAE的惩罚项如下:
通过最小化式(13),使CAE学到的隐层表示对输入的狭小变动具有较强的鲁棒性,则改进后的WAE的损失函数如下:
其中:λ1为收缩惩罚项系数,用于调节收缩惩罚项在目标函数中所占比重;DN为N个输入样本集合;λ2为权重衰减项系数,用于防止网络过拟合;sl是第l层的节点个数(s1=s3=m,s2=L);W(l)IJ为第l层权重,其中W(1)IJ=Wij,W(2)IJ=Wjk。
其中:η为学习率,b为动量项系数,LWAE(k)是WAE的第k次迭代的误差。式(15)中,η是一个全局性的常数,当η过大不利于收敛,η过小需要太多的训练时间。为了解决上述问题,本文引入自适应学习率,以cj的更新为例,计算公式如下:
DWNN堆叠多个WAE并采取逐层训练方法,将上一级WAE隐层输出作为下一级WAE的输入,并保证损失函数最小化,从而构成多层次的网络结构,直到整个DWNN完成训练。DWNN屬于无监督网络,为了将其强大的数据处理能力用于列车故障识别,在图1(b)所示的网络最后一层加上有监督Softmax分类器,用少量带标签样本结合BP算法对整个网络进行微调,以增强特征提取效果。
2.2 DWNN层次集成模型
DWNN具有较强的特征表达能力,但易受到网络层数和隐层节点数目的影响。集成学习可提高分类系统的泛化能力和可靠性。本文结合深度学习与集成学习的优点,不仅利用DWNN的最后一层特征,还利用DWNN的中间层特征,用DWNN学习到的多层特征分别训练DSVM[13]和DF[14]分类器。DSVM将深度学习模型应用于SVM中,将多个标准SVM堆叠,获取更高阶的判别特征,从而增强鲁棒性。DF通过将多个随机森林(Random Forest, RF)进行级联从而达到更好地表征学习和分类的效果。最后对每个分类器采用多数投票法进行集成。图2为本文4隐层DWNN层次集成模型,图3为诊断流程。综上,本文方法诊断步骤如下。
步骤1 获取不同故障状态的列车走行部振动数据样本集,从样本集中随机选取70%作为训练样本,其余作为测试样本;训练样本中95%作为无标签样本进行无监督训练,5%作为有标签样本进行微调。
步骤2 利用高斯随机矩阵对列车走行部振动信号进行压缩采样。
步骤3 确定网络层数、各层节点的数量和学习率等参数。
步骤4 进行网络训练,首先逐层无监督训练WAE,将前一级WAE的隐层输出作为下一级WAE的输入,逐层提取特征信息,将最后一级WAE的隐层输出作为Softmax分类器的输入,通过有监督BP算法微调整个DWNN。
3 实验结果与分析
3.1 实验数据介绍
空气弹黃、横向减振器和抗蛇形减振器是走行部的3个关键部件,这3个关键部件若出现故障将严重威胁列车安全运营。本文所用的实验数据来自某大学重点实验室,实验室数据集记录了列车走行部7种工况下的振动信号,如表1。
在不同工况下采集40km/h和80km/h速度下的振动信号,每种速度下的振动信号包含4×105个采样点,采样频率1000Hz。将每种速度下的数据分为1000段,每段包含400个采样点。图4为a、b、d和f工况下列车走行部振动信号时域图,为减少噪声干扰,将原始信号归一化到[0,1]。从图4可以看出几种工况下的时域特征较为相似,难以进行区分。
3.2 压缩采样
将原始振动数据集与压缩数据集分别标记为Y及Y′。数据集Y中包含2种速度下列车走行部7种工况,每类工况包含1000个样本,每个样本包含400个采样点。通过不同维度的高斯随机测量矩阵与数据集Y的相乘得到数据集Y′。经反复实验,取压缩率r=50%,高斯随机测量矩阵维度为200×400,根据式(1)和式(2)对数据集Y进行压缩采样,获得压缩采样数据集Y′。数据集Y和Y′在后续实验中将作为DWNN的输入数据。
3.3 与其他方法的对比
DWNN虽然省去了大量的人工特征提取的时间,但其隐含层层数、隐含层节点数以及其他超参数的确定依然依赖人力。AutoKeras开源软件利用贝叶斯优化通过每次选择最佳运算来引导结构搜索空间,能根据所给定的数据集,自动搜索在上面执行某个任务时可以达到最佳表现的神经网络结构。本文基于AutoKeras软件搜索得到最优DWNN的隐含层数目、隐含层节点数目以及其他超参数。根据本文方法,实验中首先根据r=50%的压缩率获取压缩数据,然后将压缩采样数据随机选取70%作为训练数据,余下作为测试数据。将训练集输入AutoKeras软件,AutoKeras将自动搜索在执行列车走行部故障识别任务时可以达到最佳表现的DWNN。输出参数如下:输出6层DWNN模型,包括输入、输出层及4个隐层。输入层节点数为200,输出层节点数为7,第1隐层节点数为155,第2隐层神经元数为86,第3隐层节点数为38,第4隐层节点数为16,无跨层连接,无残差连接,即DWNN模型结构为200-155-86-38-16-7。其他主要参数分别如下:α为1.54,惩罚参数λ1为0.04,权重衰减项系数λ2为0.003,高斯核函数尺寸σ为3.26,Batch Size为20,WAE迭代次数为120,微调次数为500。每个DSVM分类器层数为两层,核函数采用径向基函数(Radial Basis Function, RBF),参数由10折交叉验证方法确定。每个DF分类器随机森林个数为2,随机树森林个数为2,参数由10折交叉验证方法确定。为了保证提出方法的有效性,进行5次实验,取平均结果。为验证提出方法的优越性,使用ANN、SVM、深度ANN、深度信念网络(Deep Belief Network, DBN)和堆栈降噪自编码器(Stacked Denoising Auto-Encoder, SDAE)进行分析比较。本文模型和其他深度模型输入的是压缩采样数据,ANN和SVM输入的是24个特征(11个时域特征和13个频域特征),这24个特征的详细计算见文献[15]。其他方法的主要參数如下。
方法2(ANN) ANN结构为24-50-7,学习率设为0.1,动量项为0.9,迭代次数设为500,结构参数由反复实验确定。
方法3(SVM) SVM采用RBF核函数,核函数的惩罚因子和半径分别为20和0.11,由10折交叉验证法[16]确定。
方法4(深层ANN) 深层ANN结构为200-144-80-40-20-7,学习率、动量参数和迭代次数分别为0.05、0.1和1900,激活函数为Sigmoid函数,结构参数由AutoKeras软件确定。
方法5(DBN) DBN的结构为200-120-90-60-30-7,学习率、动量参数和迭代次数分别为0.08、0.2和1900,结构参数由AutoKeras软件确定。
方法6(SDAE) DSAE的结构为200-131-90-60-28-7,学习率、动量参数和迭代次数分别为0.08、0.2和1900,激活函数为Sigmoid函数,结构参数由AutoKeras软件确定。
图6是为本文方法第一次测试的多分类混淆矩阵,全面记录了列车走行部不同故障状况的识别结果,包括正确分类信息和错误分类信息,纵坐标表示列车状态的实际标签,横坐标表示预测标签,主对角线上的元素代表了各故障状态的识别精度。
由表2可知,与其他方法相比,本文方法具有更高的分类准确率和更小的标准差,平均诊断正确率达到99.16%,高于其他方法,标准差仅0.18。由图5,提出方法5次实验的准确率分别为98.99%、99.49%、99.01%、98.87%和99.64%,均高于其他方法,主要原因是ANN和SVM等传统浅层模型的性能很大程度上依赖于主观的人工特征提取,导致诊断精度和泛化能力低。与其他深度模型相比,本文方法改进了编码器损失函数并充分利用了小波函数的优良特性,进一步提高了对复杂非平稳振动信号的特征学习能力,因此具有更高的稳定性。
3.4 不同激活函数对DWNN的影响
本节讨论一系列具有不同激活函数的深度模型对列车走行部故障识别性能的影响,包括整流线性单元(Rectified Linear Unit, ReLU)、漏隙線性单元(Leaky Rectified Linear Unit, LReLU)、指数线性单元(Exponential Linear Unit, ELU)、Sigmoid函数、Swish函数和Gaussian函数,各激活函数表达式如式(19)~(24):
在本文DWNN结构基础上验证不同的激活函数的性能,只需把DWNN中的小波激活函数替换为表3所列的激活函数,实验共进行5次,结果如图7,可以看出,Morlet小波函数作为深度模型的激活函数对列车走行部故障识别率最高,DWNN结合了小波的时频局部特性和深度模型的较强的特征提取能力,具有更好的特征表示性能;Sigmoid函数饱和区范围广,存在梯度消失问题,影响模型的性能;Swish函数存在运算成本大的问题;ReLU函数收敛速度快,但在进行反向传播时,容易形成了“死神经元”,对网络不利;LReLU改进了ReLU,不会形成了“死神经元”,但存在着抗噪能量弱的问题;ELU包含指数运算,存在运算量较大的问题。
3.5 压缩率对DWNN的影响
压缩率衡量压缩信号与原始信号相比的压缩程度,通过调整高斯随机矩阵的规模可以实现不同程度的压缩。压缩率受CS理论限制,过高的压缩率将导致获得的压缩信号存在严重的信息损失。本节研究了不对信号进行压缩采样和压缩率r在40%~90%变化时,列车故障识别准确率所受的影响,进行5次实验,统计平均识别准确率和平均用时,结果如表3。
由表3,压缩率r在40%~90%变化时,识别准确率随着压缩率的降低整体趋势在提高,当压缩率小于50%后,平均诊断精度不再提高,反而有所下降,所需时间增加明显;而不对信号进行压缩采样时,平均诊断正确率要低于压缩率在50%的情况下2.86%,但是诊断时间却大幅度增加。
3.6 不同优化算法对DWNN的影响
深度学习模型所具有的良好的学习能力是建立在大量的训练数据和较深层次的网络结构基础之上的,因此深度模型的迭代和训练时间会比较长,提高深度模型的收敛速度是必须要考虑的问题。本节将本文所提优化方法与一些常见的深度网络的优化方法进行比较,包括自适应梯度(Adaptive Gradient, AdaGrad)、自适应学习率(Adaptive learning rate method, Adadelta)、均方根传播(Root Mean Square Propagation, RMSProp)、自适应动量估计(Adaptive moment estimation, Adam)和自适应动量最大估计(Adaptive moment estimation maximum, Adamax)。共进行5次实验,统计平均识别准确率和平均用时,如表4所示。
由表4,本文所提出的自适应优化算法诊断正确率最高,平均训练用时相对最短;AdaGrad优化方法仍依赖于人工设置一个全局学习率,在中后期有可能使得网络训练提前结束;Adadelta方法在训练后期,容易反复在局部极小值附近抖动;RMSprop方法效果在AdaGrad和Adadelta方法之间;Adam和Adamax方法参数更新较平稳,但仍不如本文方法。
4 结语
本文提出一种基于CS和DWNN的层次集成模型,实现了高精度的列车走行部故障识别,主要结论如下:
1)利用CS对列车走行部振动信号进行压缩采样,在保留有效信息的前提下实现了数据压缩,很大程度上减少了信息冗余量,缩短了网络的训练时间。
2)将深度模型和小波相结合,增添对信号时频局部特性的表示,增强了网络的自动提取特征的能力,且改进了小波自编码器的误差函数,又引入收缩自编码机制和自适应权值调整策略,有效防止DWNN的过拟合且增强了泛化性能。
3)将集成学习引入故障诊断,不仅利用DWNN的最后一层特征,还利用DWNN的中间层特征,将DWNN学习到的多层特征分别训练DSVM和DF分类器,提高了模型的泛化能力和可靠性。
4)利用AutoKeras开源构架自动搜索得到最优DWNN的隐含层数目、隐含层节点数目以及其他超参数,节省了大量人工调整参数的时间。后续将实验其他的小波函数族及超小波函数族对网络性能的影响,并继续改进优化算法。
参考文献 (References)
[1] 陈志,李天瑞,李明,等.基于计算统一设备架构的高铁故障诊断方法[J].计算机应用,2015,35(10):2819-2823.(CHEN Z, LI T R, LI M, et al. Fault diagnosis method of high-speed rail based on compute unified device architecture [J]. Journal of Computer Applications, 2015, 35(10): 2819-2823.)
[2] 李佳睿,岳建海.基于HHT及共振解调方法的动车组走行部轴箱轴承故障诊断算法[J].北京交通大学学报,2017,41(4):85-90.(LI J R, YUE J H. Fault diagnosis algorithm for the axle box bearing of walking unit in EMU based on HHT and resonance demodulation method [J]. Journal of Beijing Jiaotong University, 2017, 41(4): 85-90.)
[3] LEI Y, HE Z, ZI Y. EEMD method and WNN for fault diagnosis of locomotive roller bearings [J]. Expert Systems with Applications, 2011, 38(6): 7334-7341.
[4] SHAO H D, JIANG H K, HUI F W, et al. An enhancement deep feature fusion method for rotating machinery fault diagnosis [J]. Knowledge-Based Systems, 2017, 119: 200-220.
[5] JURGEN S. Deep learning in neural networks: an overview [J]. Neural Networks, 2015, 61(1):85-117.
[6] 郭超,杨燕,金炜东.基于EDBN-SVM的高速列车故障分析[J].计算机科学,2016,43(12):281-286.(GUO C, YANG Y, JIN W D. Fault analysis of high speed train based on EDBN-SVM [J]. Computer Science, 2016, 43(12):281-286.)
[7] 龐荣,余志斌,熊维毅,等.基于深度学习的高速列车转向架故障识别[J].铁道科学与工程学报, 2015,12(6):1283-1288. (PANG R, YU Z B, XIONG W Y, et al. Faults recognition of high-speed train bogie based on deep learning [J]. Journal of Railway Science and Engineering, 2015, 12(6): 1283-1288.)
[8] SHAO H D, JIANG H K, ZHAO K. A novel tracking deep wavelet auto-encoder method for intelligent fault diagnosis of electric locomotive bearings [J]. Mechanical Systems and Signal Processing, 2018, 110: 193-209.
[9] DONOHO D. Compressed sensing [J]. IEEE Transactions on Information Theory, 2006, 52(4): 1289-1306.
[10] 王雅思,姚鸿勋,孙晓帅,等.深度学习中的自编码器的表达能力研究[J].计算机科学,2015,42(9):56-60.(WANG Y S, YAO H X, SUN X S, et al. Representation ability research of auto-encoders in deep learning[J]. Computer Science, 2015,42(9):56-60.)
[11] SHAO H D, JIANG H K, ZHAO H, et al. A novel deep autoencoder feature learning method for rotating machinery fault diagnosis[J]. Mechanical Systems and Signal Processing, 2017, 95(10): 187-204.
[12] 韩霜,吴奇,孙礼兵,等.基于深度收缩自编码网络的飞行员疲劳状态识别[J].生物医学工程学杂志,2018,35(3):443-451.(HAN S, WU Q, SUN L B. Recognition of fatigue status of pilots based on deep contractive auto-encoding network[J]. Journal of Biomedical Engineering, 2018,35(3):443-451.)
[13] 姜红茹.基于深度SVM和深度小波神经网络的极化SAR影像地物分类[D].西安:西安电子科技大学,2014:15-29.(JIANG H R. Terrain classfication of PolSAR image with deep SVM and deep wavelet networks[D]. Xian: Xidian University, 2014:15-29.)
[14] 薛参观,燕雪峰.基于改进深度森林算法的软件缺陷预测[J].计算机科学,2018,45(8):160-165.(XUE C G, YAN X F. Software defect prediction based on improved deep forest algorithm[J]. Computer Science, 2018,45(8):160-165.)
[15] QU J X, ZHANG Z S, GONG T. A novel intelligent method for mechanical fault diagnosis based on dual-tree complex wavelet packet transform and multiple classifier fusion [J]. Neurocomputing, 2016, 171(1): 837-853.
[16] MINOWA Y. Verification for generalizability and accuracy of a thinning-trees selection model with the ensemble learning algorithm and the cross-validation method[J]. Journal of Forest Research, 2008,13(5): 275-285.