摘要
传统的道岔故障诊断方法往往依赖于复杂的信号处理过程以及丰富的专家经验,需要对信号进行精确的分段,过程繁琐,不利于现场使用。采用粒子群算法(PSO)优化的深度置信网络(DBN)的方法,直接对道岔功率原始数据提取特征,利用受限玻尔兹曼机(RBM)逐层拟合数据特征同时实现对数据的降维。然后采用极限学习机(ELM)对故障进行分类,提高了诊断的速度。研究结果表明:与PSO优化的支持向量机(SVM)方法相比,准确率提升了4%,达到了96%,所用时间也大大减少。
近年来,随着中国高速铁路的飞速发展,铁路信号设备的状态识别和智能故障诊断方法成为一项亟需解决的问题。S700K高速转辙机作为基础设备中最重要但故障频率最高的设备,其状态将直接影响铁路运行安全和效率。
据统计,道岔转换设备故障占信号设备故障总数的40%以
目前国内外在道岔故障的诊断方面已经有了相应的研究。王瑞峰
故障诊断的关键在于特征提取,高质量的特征提取可以更好地拟合原始数据的特征。由以上研究可知,目前的道岔故障诊断普遍采用统计学、信号处理等方法来提取故障数据的特征,然后利用神经网络、SVM、聚类等方法来诊断故障。这些方法通常存在以下问题:1)特征提取的过程往往比较繁琐,要对道岔的运行周期分段提取特征,整个过程必须依赖于丰富的先验知识;2)仅仅选取一些时域和值域等一些浅层统计特征不足以从本质上反映道岔的状态,并且可能会遗漏重要的特征信息;3)提取的特征维数较高,仍然需要对提取的结果进行降维,增加了过程的复杂度;4)算法适应性差,针对不同类型或同一类型但不同应用场景的道岔设备,需要采用不同的方法有针对性的提取特征。
笔者采用了一种基于深度置信网络(deep belief networks,DBN)的故障诊断方法,将传统的人为设定特征参数的方式转变为从原始数据中自动对道岔故障特征进行深度学习的方法。利用受限玻尔兹曼机(restricted Boltzmann machine,RBM)将原始数据逐层抽取成更深层次的机器特征,最大可能地拟合原始数据的特征,同时DBN利用其特殊的网络结构实现了对原始数据的降维,实现特征提取与降维一体化。然后将自动提取的特征输入极限学习机(extreme learning machine,ELM)进行分类,得出诊断结果。与传统的神经网络分类方法相比,ELM的速度和泛化性能更好,且不易陷入局部最优解,更适合用于对现场故障的分类。利用提出的PSO-DBN-ELM的方法诊断微机监测系统上采集的真实的故障数据,取得了良好的效果。
转辙机的运行状态可以通过其输出的推拉力来体现,且推拉力与其工作功率直接相
正常工作的S700K转辙机的功率曲线如

图1 S700K转辙机正常功率曲线
Fig. 1 Normal power curve of S700K switch machine
从微机监测的数据以及故障日志中分析整理出S700K转辙机8种常见的故障状态,对应的功率曲线如

图2 8种常见故障的功率曲线图
Fig. 2 Power curve of eight common faults
DB

图3 传统故障诊断方法和基于DBN的方法
Fig. 3 Traditional fault diagnosis method and DBN method
DBN网络是由RBM堆叠形成的多层感知器神经网络。采用经典的3层RBM堆叠的DBN网络,如

图4 DBN网络结构
Fig. 4 DBN network structure
DBN网络的训练过程包括各层RBM的无监督的预训练以及有监督的微调。RBM的结构如

图5 RBM网络结构
Fig. 5 RBM network structure
可视层状态向量: , | (1) |
可视层偏执向量: , | (2) |
隐含层状态向量: , | (3) |
隐含层偏执向量: 。 | (4) |
RBM是一种基于能量的模
, | (5) |
式中,是RBM的参数,转化为矩阵形式
。 | (6) |
将能量函数转化为道岔状态的联合概率分布
, | (7) |
其中:
, | (8) |
称作归一化因子,也叫做配分函数(partition function)。
对于实际的问题,我们关心的往往是输入原始数据v的边缘概率分布,也叫做似然函数(likelihood function)。
, | (9) |
同理:
。 | (10) |
联合概率和边缘概率,已知,根据贝叶斯公式,可求得条件概率
, | (11) |
, | (12) |
式中,指的是激活函数,采用sigmoid函数。
若道岔的功率原始数据组成的训练样本为:,其中指的是训练样本的个数,,l=1, 2, …, ns。对于S中任意样本,最大似然函数为
, | (13) |
为了方便求解,两边同时取对数
。 | (14) |
训练RBM的最终目的是为了得到参数,然后利用去更新网络的3个参数。以的求解为例,利用梯度下降法求出
。 | (15) |
进一步求得
。 | (16) |
由于
利用(11)(12)中2个条件概率分别在第t步时进行吉布斯抽样,可求出:
, | (17) |
然后利用
。 | (18) |
同理,参数ci和bj的更新过程和wji的类似,不再赘述。综上,RBM的参数更新的训练过程主要包含5个步骤。
Step1 将原始数据v归一化之后输入到第1层RBM的可视层v1,训练并调整v1和h1之间的权重和偏置参数并得出h1开启的概率。
Step2 网络参数初始化。确定网络层数,初始化RBM层的权重和偏置。
Step3 用h1重构v2,作为第2层RBM的输入。同Step1,训练并调整v2和h2之间的权重和偏置参数并得出h2开启的概率。
Step4 重复Step1和Step2,直到前两层RBM预训练完成,至此无监督的特征学习过程完成。
Step5 将样本标签数据y加入到h2中,用(y,h2)重构v3,作为第三层RBM的输入,利用BP算法对整个网络每层的权重和偏置进行反向微调,监督学习完成整个DBN网络的训练。
采用的故障诊断方法分为以下4个步骤:
Step1 转辙机原始功率数据归一化处理。
Step2 数据输入,利用PSO算法优化每层RBM神经元的个数,建立DBN。
Step3 利用DBN对功率数据自动提取特征。
Step4 将网络提取的特征输入ELM进行预测分类,诊断结果输出。
由于隐含层的神经元个数对特征提取的质量和速度影响较大,采用利用粒子群优化算法(particle swarm optimization,PSO
优化区间 | H1 | H2 | H3 | t | trainAcc/% | testAcc/% |
---|---|---|---|---|---|---|
1~5 | 5 | 3 | 5 | 5.63s | 57.5 | 62 |
1~10 | 8 | 4 | 10 | 5.81s | 76.5 | 74 |
1~15 | 10 | 6 | 14 | 8.31s | 98.0 | 96 |
1~20 | 15 | 15 | 17 | 8.54s | 98.5 | 96 |
1~25 | 22 | 23 | 21 | 12.4s | 99.0 | 100 |
数据集来自微机监测采集的真实数据,共250条,其中正常状态50条,8种故障状态各25条,每类各自取20%作为测试集,剩下的做训练集。S700K型转辙机动作一次大约需要6.5 s时间,而微机监测系统的以40 ms为采样频率进行采样,因此原始功率数据为162维。数据组成如
数据 | 数据大小 |
---|---|
原始数据 | 250×162 |
训练集 | 200×162 |
测试集 | 50×162 |
经过3层RBM的特征抽取以及BP算法的反向微调之后,道岔功率原始数据经过DBN特征提取之后得到的14维特征,从原始数据的每类状态中选取一个作为代表,特征提取结果如
ID | 特征1 | 特征2 | 特征3 | 特征4 | 特征5 | 特征6 | 特征7 | … | 特征14 |
---|---|---|---|---|---|---|---|---|---|
1 | 0.602 929 | 0.570 384 | 0.619 140 | 0.554 068 | 0.526 342 | 0.530 688 | 0.589 821 | … | 0.565 637 |
2 | 0.594 544 | 0.556 673 | 0.603 014 | 0.538 962 | 0.524 628 | 0.519 579 | 0.583 409 | … | 0.554 929 |
3 | 0.553 400 | 0.509 959 | 0.537 609 | 0.491 562 | 0.514 099 | 0.484 331 | 0.548 390 | … | 0.514 437 |
4 | 0.601 131 | 0.565 632 | 0.614 530 | 0.548 556 | 0.526 070 | 0.526 847 | 0.588 407 | … | 0.562 459 |
5 | 0.587 817 | 0.540 709 | 0.584 230 | 0.517 950 | 0.523 726 | 0.504 030 | 0.577 866 | … | 0.542 230 |
6 | 0.586 026 | 0.537 923 | 0.580 529 | 0.514 465 | 0.523 365 | 0.501 547 | 0.576 291 | … | 0.539 890 |
7 | 0.595 655 | 0.554 530 | 0.601 728 | 0.535 074 | 0.525 144 | 0.516 961 | 0.584 093 | … | 0.553 897 |
8 | 0.583 090 | 0.529 033 | 0.570 751 | 0.503 417 | 0.523 032 | 0.492 806 | 0.574 328 | … | 0.533 364 |
9 | 0.602 111 | 0.571 302 | 0.618 996 | 0.555 321 | 0.526 038 | 0.531 526 | 0.589 072 | … | 0.565 876 |
尽管通过DBN提取的特征已经降低至较低的维度,但是如果要将特征提取的效果进行可视化分析,还需要将特征进行二次降维,便于直观的展示DBN特征提取的效果。
LL

图6 原始数据三维分布
Fig. 6 Three dimensional distribution of original data

图7 三维特征可视化
Fig. 7 3D feature visualization
从
ELM是一种单隐含层前馈神经网络算法,相对于传统神经网络的训练方法,训练速度特别
将提取的特征输入到ELM中进行分类。假设有N个学习样本,其中:
输入样本: ; | (19) |
样本标签: 。 | (20) |
则对于一个有L层隐含层的ELM网络,网络的诊断结果可以表示为
, | (21) |
其中,g(x)是激活函数;
(22) |
是输入的权重矩阵,输出的权重,bi是第i个隐含层神经元的偏置。网络的学习目标是使得输出的误差最小,即
。 | (23) |
训练ELM的过程就是寻找,Wi和bi使得输出的结果尽可能的接近样本的分类标签tj,即
。 | (24) |
将其表示成矩阵:,其中矩阵H由激活函数的结果组成,矩阵T是训练集样本标签组成的期望输出矩阵。在ELM算法中,Wi和bi被随机确定,隐含层的输出矩阵H就可以被确定,进一步求得隐含层网络的输出权值:。
ELM将网络的未知参数求解转变成矩阵求逆的问题,加快了模型的训练速度。之后只需要确定隐含层的神经元个数L之后,网络就可以开始训练。由于L对ELM的训练时间和分类准确率都有较大影响,为了确定最佳的L,对L和测试集的准确率之间的关系进行分析,如

图8 L对测试集准确率的影响
Fig. 8 Effect of L on the accuracy of test set
从
分别对训练集和测试集的分类准确率进行仿真分析,训练集的分类结果如

图9 训练集分类结果
Fig. 9 Classification results of training set

图10 测试集分类结果
Fig. 10 Classification results of test set
首先对PSO-DBN-ELM、PSO-统计特征-SVM这2种方法的模型训练时间和分类器所用时间做了对比,如
道岔故障诊断方法 | 模型训练所用时间t/s | 分类器所用时间t/s |
---|---|---|
PSO-DBN-ELM | 10.31 | 0.29 |
PSO-SVM | 30.33 | 0.80 |
从
然后又对2种方法的测试集准确率做对比,对比结果如
道岔故障诊断方法 | 测试集准确率/% |
---|---|
PSO-DBN-ELM | 96 |
PSO-SVM | 92 |
从
综上可知,PSO-DBN-ELM模型优于PSO-统计特征-SVM模型,重要的原因在于特征提取的效果,前者采用的是DBN提取的深度抽象特征,后者采用的是人工选取的时域特征,特征提取效果差异导致2个模型的分类效果的差异。
1)DBN特征提取方法提高了特征提取的质量。对提取到的深层次特征进行可视化可知,除了故障4和故障5有少量重叠外,各个故障状态被清晰的区分开,说明了DBN提取的特征准确的拟合了原始数据的特征。
2)基于DBN的故障诊断方法实现了特征提取与降维的一体化。DBN利用RBM组成的特殊结构,在对原始数据进行降维的同时实现了对数据特征的降维,进一步简化了特征提取的复杂度。
3)ELM故障分类提高了诊断的速度。与传统的神经网络分类方法相比,ELM学习速度更快,泛化性能好,且不易陷入局部最小值,更适合用于故障的分类。
4)算法的普适性强。基于DBN的故障诊断方法直接输入转辙机功率原始数据,减少了对专家经验的依赖,对不同类型或不同工况下的转辙机都可以通过采集的原始数据进行诊断。
参考文献
钟志旺, 陈建译, 唐涛, 等. 基于SVDD的道岔故障检测和健康评估方法[J]. 西南交通大学学报, 2018, 53(4): 842-849. [百度学术]
Zhong Z W, Chen J Y, Tang T, et al. SVDD-based research on railway-turnout fault detection and health assessment[J]. Journal of Southwest Jiaotong University, 2018, 53(4): 842-849.(in Chinese) [百度学术]
张凯, 杜凯, 巨永锋. 基于BP神经网络的提速道岔故障诊断算法[J]. 武汉理工大学学报, 2014, 36(11): 77-81. [百度学术]
Zhang K, Du K, Ju Y F. Algorithm of speed-up turnout fault diagnosis based on BP neural network[J]. Journal of Wuhan University of Technology, 2014, 36(11): 77-81.(in Chinese) [百度学术]
王瑞峰, 陈旺斌. 基于灰色神经网络的S700K转辙机故障诊断方法研究[J]. 铁道学报, 2016, 38(6): 68-72. [百度学术]
Wang R F, Chen W B. Research on fault diagnosis method for S700K switch machine based on grey neural network[J]. Journal of the China Railway Society, 2016, 38(6): 68-72.(in Chinese) [百度学术]
许庆阳, 刘中田, 赵会兵. 基于隐马尔科夫模型的道岔故障诊断方法[J]. 铁道学报, 2018, 40(8): 98-106. [百度学术]
Xu Q Y, Liu Z T, Zhao H B. Method of turnout fault diagnosis based on hidden Markov model[J]. Journal of the China Railway Society, 2018, 40(8): 98-106.(in Chinese) [百度学术]
张钉, 李国宁. 基于改进WNN分析功率曲线的S700K转辙机故障诊断[J]. 铁道科学与工程学报, 2018, 15(8): 2123-2130. [百度学术]
Zhang D, Li G N. Fault diagnosis of S700K switch machine based on improved WNN analyses power curve[J]. Journal of Railway Science and Engineering, 2018, 15(8): 2123-2130.(in Chinese) [百度学术]
刘新发, 魏文军. 基于模糊聚类方法的S700K转辙机故障诊断[J]. 中南大学学报(自然科学版), 2019, 50(9): 2148-2155. [百度学术]
Liu X F, Wei W J. Fault diagnosis of S700K switch machine based on fuzzy cluster method[J]. Journal of Central South University (Science and Technology), 2019, 50(9): 2148-2155.(in Chinese) [百度学术]
钟志旺, 唐涛, 王峰. 基于PLSA和SVM的道岔故障特征提取与诊断方法研究[J]. 铁道学报, 2018, 40(7): 80-87. [百度学术]
Zhong Z W, Tang T, Wang F. Research on fault feature extraction and diagnosis of railway switches based on PLSA and SVM[J]. Journal of the China Railway Society, 2018, 40(7): 80-87.(in Chinese) [百度学术]
何攸旻. 高速铁路道岔故障诊断方法研究[D]. 北京: 北京交通大学, 2014. [百度学术]
He Y M. Research on fault diagnosis method of high-speed railway turnout[D].Beijing: Beijing Jiaotong University, 2014. (in Chinese) [百度学术]
Hinton G E, Osindero S, Teh Y W. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554. [百度学术]
熊景鸣, 潘林, 朱昇, 等. DBN与PSO-SVM的滚动轴承故障诊断[J]. 机械科学与技术, 2019, 38(11): 1726-1731. [百度学术]
Xiong J M, Pan L, Zhu S, et al. Bearing fault diagnosis based on deep belief networks and particle swarm optimization support vector machine[J]. Mechanical Science and Technology for Aerospace Engineering, 2019, 38(11): 1726-1731.(in Chinese) [百度学术]
Hinton G E. A practical guide to training restricted boltzmann machines[M]// Neural Networks: Tricks of the Trade. Berlin, Heidelberg: Springer, 2012: 599-619. [百度学术]
Hinton G E. Training products of experts by minimizing contrastive divergence[J]. Neural Computation, 2002, 14(8): 1771-1800. [百度学术]
Kennedy J, Eberhart R. Particle swarm optimization[C]//Proceedings of ICNN'95 - International Conference on Neural Networks. November 27 - December 1, 1995, Perth, WA, Australia. IEEE, 2002: 1942-1948. [百度学术]
Roweis S T, Saul L K. Nonlinear dimensionality reduction by locally linear embedding[J]. Science, 2000, 290(5500): 2323-2326. [百度学术]
Huang G B, Zhu Q Y, Siew C K. Extreme learning machine: a new learning scheme of feedforward neural networks[C]//2004 IEEE International Joint Conference on Neural Networks (IEEE Cat. No.04CH37541). July 25-29, 2004, Budapest, Hungary. IEEE, 2005: 985-990. [百度学术]
Huang G B, Zhu Q Y, Siew C K. Extreme learning machine: theory and applications[J]. Neurocomputing, 2006, 70(1/2/3): 489-501. [百度学术]