«上一篇
文章快速检索     高级检索
下一篇»
  哈尔滨工程大学学报  2020, Vol. 41 Issue (11): 1715-1720  DOI: 10.11990/jheu.201810092
0

引用本文  

管业勤, 蒋祖华. 基于Elman网络和ECOC-SVM的机电系统并发多故障诊断方法[J]. 哈尔滨工程大学学报, 2020, 41(11): 1715-1720. DOI: 10.11990/jheu.201810092.
GUAN Yeqin, JIANG Zuhua. A concurrent multifault diagnosis method for electromechanical systems based on the Elman network and an ECOC-SVM[J]. Journal of Harbin Engineering University, 2020, 41(11): 1715-1720. DOI: 10.11990/jheu.201810092.

基金项目

国家自然科学基金项目(71461018,71361019,MC-201720-Z20)

通信作者

蒋祖华, E-mail:zhjiang@sjtu.edu.cn

作者简介

管业勤, 女, 硕士;
蒋祖华, 男, 教授, 博士生导师

文章历史

收稿日期:2018-10-31
网络出版日期:2020-11-23
基于Elman网络和ECOC-SVM的机电系统并发多故障诊断方法
管业勤 , 蒋祖华     
上海交通大学 机械与动力工程学院, 上海 200240
摘要:在复杂机电系统多故障并发情形下,面向单一故障的诊断方法难以辅助维修人员决策,容易产生误诊和漏诊的问题。本文提出一种面向复杂机电系统多故障并发下的故障诊断方法,引入损失函数,用Elman网络对故障类型进行初判,改良结合纠错输出码与支持向量机(ECOC-SVM)的分类器设计,对Elman网络识别的故障类型进行筛选,实现可能故障原因在线推送。本文收集来自某船用发动机公司售后维修部的真实数据,针对某类型的船用发动机,以其故障诊断过程为例进行实验,验证本文提出的方法有显著优势,结果表明:本文提出的分类算法,在提高复杂机电系统并发故障的诊断效率和诊断质量方面,性能优于常用机器学习分类方法。
关键词复杂机电系统    多故障诊断    纠错输出码    支持向量机    损失函数    Elman网络    分类器设计    多故障并发    
A concurrent multifault diagnosis method for electromechanical systems based on the Elman network and an ECOC-SVM
GUAN Yeqin , JIANG Zuhua     
School of Mechanical Engineering, Shanghai Jiao Tong University, Shanghai 200240, China
Abstract: Considering the difficulties in the complex concurrent multifault diagnosis of an electromechanical system, this study proposes a multifault diagnosis method based on the Elman network and error-correcting output code-support vector machine (ECOC-SVM). This method focuses on the inability of a single diagnosis to assist a decision maker in maintenance, specifically considering that the faults are easily misdiagnosed and ignored. To diagnose multifault concurrency, the proposed method introduces loss function and filters faults in an early stage by leveraging Elman networks in the configurable diagnosis model. The combination of the ECOC-SVM classifiers is improved to adjust detection results by determining the faults recognized by Elman networks, which consequently enables the realization of an online push of the diagnosis result. Taking a marine engine as an example, the actual data of the after-sales maintenance department of a marine engine company are collected to conduct experiments. Results show that the method proposed in this study can improve the efficiency and quality of the detection and diagnosis of concurrent multiple faults in a complex electromechanical system.
Keywords: complex electromechanical system    multifault diagnosis    error-correcting output code (ECOC)    support vector machine (SVM)    loss function    Elman network    classifier design    multifault concurrency    

机电设备随着科技的发展和进步日趋复杂,随机性、继发性、并发性、暴发性、隐蔽性等也已成为故障出现时所具备的性质[1]。同时,故障的出现方式更加复杂,多个故障同时发生或相互作用的情况更加常见。

传统的研究将多重故障诊断转化为一类由各个组成故障对应于征兆数据集合的类划分问题[2]。现有的智能诊断方法大多针对具体的工程问题展开,如文献[3]针对航空发动机的并发多故障诊断问题,运用自联想记忆神经网络,改进输入数据不完整或充满噪声情况下的诊断效果,但其特点对于相似故障的判别能力较弱。文献[4]建立基于置信规则的复合式诊断系统架构以应对无耦合关联和发生冲突的船用柴油机并发多故障,扩大系统可诊断的故障范围,其缺点是没有考虑可能并发的故障之间如冲突、耦合等更为复杂的联系。文献[5]针对电动机故障诊断复杂,训练困难等难题,扩展了单故障诊断方法,采用子径向基函数神经网络构造组态式故障诊断模型一种故障模式。文献[6]针对传统模糊诊断规则库缺乏联想和自学习能力的缺点,采用模糊神经网络构造智能诊断系统,将遗传算法和蚁群算法用于系统参数优化训练中,提高了诊断系统的泛化能力和收敛速度,不足之处在于该方法仅针对多种相互独立故障,难以应对复杂的多故障并发情形。现有研究大多聚焦于提取表征故障类型的有效故障特征,或着力于建立基于特征信息的模式分类系统。

机器学习作为新兴的技术手段,在故障诊断领域大放异彩。递归神经网络是机器学习最常用到的模型,递归神经网络中常用的Elman网络,其输出不仅取决于当前的输入,而且与以前的网络内部状态有关,契合复杂系统的实时故障诊断要求[7]。故障诊断情境具有历史数据稀疏的特点,结构简单的支持向量机(support vector machine,SVM)算法适合解决此类小样本模式识别问题[8]。文献[9]结合极限学习机(extreme learning machine, ELM)算法与纠错输出码(error corrected output code, ECOC),建立基于故障特征的模式分类系统,准确识别故障原因。因而,本文提出了基于Elman网络和ECOC-SVM的机电系统并发多故障诊断方法,在线推送诊断结果,助力维修决策。

1 并发多故障诊断方法

图 1,本文提出的并发多故障诊断方法分为离线建模和在线诊断2个部分:离线建模:1)待诊断故障的原因初判模型;2)疑似故障的筛选模型。在线诊断:1)运用初判模型构造疑似故障原因集合;2)利用筛选模型识别故障原因。

Download:
图 1 多故障并发诊断方法示意 Fig. 1 Fault diagnostic method for multiple concurrent fault modes
1.1 故障类别初判

本文采用基于Elman网络的组态式模型对故障类别进行初判。如图 2所示,几个相对独立的子模型组成多故障初判模型,其输入是传感器监测到的系统运行参数值,不同的故障类型分别对应各自的子模型。考虑到在线诊断的实时性要求,子模型均由Elman网络训练而成。

Download:
图 2 基于Elman网络的组态式多故障类别初判模型结构 Fig. 2 Fault diagnostic model for multiple concurrent fault modes in a parallel structure

编号为i(i=1, 2, …, N)的子模型中,其故障特征集合Ti根据专家知识选取得到,输入层神经元的个数由Ti决定,网络中间层到输出层的传递函数采用对数Sigmoid函数,输出表示为yiyi的取值范围是(-1, 1)。Pi用于推测该子模型用于识别的类型是否为故障原因。

yi≤0时,Pi=0, 表示该子模型对应的故障未发生;当yi>0时,Pi=yi,表示该子模型对应的故障类型,其发生概率与模型输出值的大小成正比。

可能的故障原因集合F为:

$ F = \left\{ {\left( {{F_1},{P_1}} \right), \cdots ,\left( {{F_i},{P_i}} \right), \cdots ,\left( {{F_N},{P_N}} \right)} \right. $ (1)

式中Fi(i=1, 2, …, N)表示第i种故障类型。

Pi的取值为:

$ {P_i} = \left\{ {\begin{array}{*{20}{l}} {0,}&{{y_i} \le 0}\\ {{y_i}}&{{y_i} > 0} \end{array}\quad (i = 1,2, \cdots ,N)} \right. $ (2)
1.2 故障原因筛选 1.2.1 筛选模型

SVM结构简单、泛化能力强;ECOC对于解决多分类问题很有效。因此本文通过结合ECOC与OVO将SVM扩展至ECOC-SVM建立筛选模型。

离线建模过程中,本文用于训练分辨任两类故障的SVM二值分类器与1.1节中训练Elman网络的历史故障数据一致,假设所有的可能故障类别数为N

训练过程如图 3所示。

Download:
图 3 故障筛选模型训练流程图 Fig. 3 Fault screening model training flowchart

不同于文献[8]在编码之前使用统计特征(例如主成分和线性判别分析)来过滤特征,本文采用唯一初始矩阵:列向量为二值分类器,行向量为类别标签,规避了编码稳定性不强的问题。

本文提出的编码矩阵M取值于集合,{-1,0,+1},M[i, j]=0意味着样本的标签值对于第j个二值分类器无意义。对于类别数为m的多分类问题,M是一个m行、m(m-1)/2列的矩阵,对于第j列,若M[r1, j]=+1,M[r2, j]=-1,且其他处均为零,说明该列代表区分故障类别r1r2的二值分类器。结合ECOC与OVO初始化纠错输出码矩阵M的详细流程如图 4所示。

Download:
图 4 纠错输出码矩阵初始化流程 Fig. 4 ECOC matrix flowchart

执行上述步骤得到的初始化编码矩阵M为:

$ \mathit{\boldsymbol{M}} = \left[ {\begin{array}{*{20}{c}} 1& \cdots &0\\ \vdots & \vdots & \vdots \\ 0& \cdots &{ - 1} \end{array}} \right] $ (3)
1.2.2 筛选过程

F为本文1.1节得到的可能故障原因集合,m为集合中的故障类别数量。当m≤2时,诊断结果即为集合F

本文考虑m>2的诊断情形,提出基于极大似然估计[13]的ECOC解码方式,运用ECOC-SVM多分类器筛选故障原因,得到最终诊断结果。

类别数为m的多分类问题中,ψn表示第n组分类,有ψn{SVMi, j, SVMj, i}(n=1, 2, …, m(m-1)/2)。假设初始编码矩阵M中,hn(i)表示第n列第i行的元素值,hn(i)∈{-1, 0, +1}。若hn(i)≠0,un(di)表示以待诊断故障数据d为输入时, 该非零项的实际预测值,un(di)∈{+1, -1}。gn(di)表示在第n组分类中,d属于类别i的权重,其取值为:

$ {g_n}\left( {{d_i}} \right) = \left\{ {\begin{array}{*{20}{l}} {\left| {{\alpha _n}} \right|,}&{{h_n}(i) = + 1}\\ {\left| {{\beta _n}} \right|,}&{{h_n}(i) = - 1}\\ {0,}&{{h_n}(i) = 0} \end{array}} \right. $ (4)

其中:

$ \left\{ {\begin{array}{*{20}{l}} {{\alpha _n} = \frac{1}{2}\ln \left( {\frac{{\sum\nolimits_{i:{h_n}(i) = {u_n}\left( {{d_i}} \right) = + 1} {{{\rm{e}}^{{h_n}(i){u_n}\left( {{d_i}} \right)}}} }}{{\sum\nolimits_{i:{h_n}(i) = + 1 \ne {u_n}\left( {{d_i}} \right)} {{{\rm{e}}^{ - {h_n}(i){u_n}\left( {{d_i}} \right)}}} }}} \right)}\\ {{\beta _n} = \frac{1}{2}\ln \left( {\frac{{\sum\nolimits_{i:{h_n}(i) = {u_n}\left( {{d_i}} \right) = - 1} {{{\rm{e}}^{{h_n}(i){u_n}\left( {{d_i}} \right)}}} }}{{\sum\nolimits_{i:{h_n}(i) = - 1 \ne {u_n}\left( {{d_i}} \right)} {{{\rm{e}}^{ - {h_n}(i){u_n}\left( {{d_i}} \right)}}} }}} \right)} \end{array}} \right. $ (5)

d属于类别i的可能性大小U(di)为:

$ U\left( {{d_i}} \right) = \sum\limits_{n - 1}^{m(m - 1)/2} {{g_n}} \left( {{d_i}} \right){u_n}\left( {{d_i}} \right){h_n}(i) $ (6)

本文提出的筛选模型用于识别故障原因的过程如下:

1) 采用本文1.2.1节中所述方法初始化编码矩阵M。已知$n \in\left(1, m \frac{(m-1)}{2}\right)$i∈(1, m),记录所有的非零项hn(i)。

2) 依次用ψ中第n组分类器ψnd进行分类,若SVMi, j返回值为-1,则un(di)=-hn(i);若SVMi, j返回值为+1,则un(di)=hn(i);若SVMj, i返回值为-1,则un(di)=-hn(i);若SVMj, i返回值为+1,则un(di)=hn(i)。

3) 运用式(4)、(5)计算d属于类别i的权重gn(di);

4) d的归属类别与类别i的相似度值U(di), 由式(6)计算得到,筛选判据为:

$ D = \left\{ {i\mid U\left( {{d_i}} \right) > \frac{1}{2}\sum\limits_{j = 1}^m U \left( {{d_j}} \right)} \right\} $ (7)

经上述步骤,诊断结果经故障原因筛选后推送给维修人员辅助其决策。

2 多故障诊断实例分析 2.1 船用发动机故障诊断

本文采集某类型船用发动机售后维修部的真实数据,以该发动机故障诊断为例,对本文提出的诊断方法进行实验评估。

2.1.1 离线建模

本文收集897项报警内容为发动机氧合系数异常的船用发动机故障的发动机运行数据用于实验。

表 1为9个预先设置的特征参数。表 2为可能引起发动机氧合系数异常的6种故障原因。

表 1 特征参数表 Table 1 Features details
表 2 故障原因表 Table 2 Faults details

表 3表示根据专家经验得到的特征参数与故障原因间的映射关系,由此构造诊断系统。

表 3 特征参数-故障明细表 Table 3 Features-faults for every sub-system

针对此6类故障原因,采用1.2节所述方法构建故障类别初判模型S;采用1.1节所述步骤,训练SVM二值分类器,构造用于在线诊断阶段的ECOC-SVM分类器。

2.1.2 在线诊断

本实例中待诊断故障数据为d,经2.1.1节构造的故障类别初判模型S处理后得到可能故障原因集合F为:

$ \begin{array}{l} F = \left\{ {\left( {{F_1},0.65} \right),\left( {{F_2},0.73} \right),\left( {{F_3},0.57} \right),} \right.\\ {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} \left. {\left( {{F_4},0.51} \right),\left( {{F_5},0} \right),\left( {{F_6},0} \right)} \right\} \end{array} $ (8)

初始化编码矩阵为:

$ \mathit{\boldsymbol{M}} = \left[ {\begin{array}{*{20}{c}} { + 1}&{ + 1}&{ + 1}&0&0&0\\ { - 1}&0&0&{ + 1}&{ + 1}&0\\ 0&{ - 1}&0&{ - 1}&0&{ + 1}\\ 0&0&{ - 1}&0&{ - 1}&{ - 1} \end{array}} \right] $ (9)

d的归属类别与各类别的相似度值U(di)(i=1, 2, 3, 4)如表 4所示。

表 4 ECOC-SVM预测值 Table 4 Prediction values of ECOC-SVM

最终诊断结果$\widehat{D}$为:

$ \hat D = \left\{ {{F_1},{F_2}} \right\} $ (10)

该诊断结果$\widehat{D}$与人工诊断结果一致,验证了本文提出的并发多故障诊断方法的有效性。

2.2 性能对比实验

性能对比实验均在R环境下进行,所用计算机内存为8 GB。

2.2.1 对比常用机器学习分类方法

表 5给出了与本文方法进行比较的分类算法[10-12]的描述和参数选择。

表 5 实例研究中的各个算法说明 Table 5 Details of classifiers used in the experimental study

本文使用性能测量指标宏F1(macro_F1)衡量分类器性能:

$ {\rm{macro}}\_{F_1} = \frac{{2 \times \frac{1}{m}\sum\limits_{i = 1}^m {{P_i}} \times \frac{1}{m}\sum\limits_{i = 1}^m {{R_i}} }}{{\frac{1}{m}\sum\limits_{i = 1}^m {{P_1}} + \frac{1}{m}\sum\limits_{i = 1}^m {{R_i}} }} $ (11)

式中:$P_{i}=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FP}}; R_{i}=\frac{\mathrm{TP}}{\mathrm{TP}+\mathrm{FN}}$

性能对比如图 5所示,其中TP、FP、TN和FN分别代表真阳性、假阳性、真阴性和假阴性的数量。

Download:
图 5 分类器性能比较箱线图 Fig. 5 Boxplot of average Macro-F1 obtained examined classifiers used

每种方法的平均训练持续时间和测试持续时间如表 6所示。

表 6 算法时长对比 Table 6 Averaged training and testing times for different examined classifiers  

图 5可以看出,单个分类器(C5.0,kNN)的性能指标低于80%,这意味着超过1/5的实际故障在故障诊断中将被忽略。

OVA-SVM使用一对多分类策略,精确度不高的原因可能是样本数量不均。输出代码设计(ECOC)是纠错码(ECC)和一对一分类(OVO)的结合。从图 6可以看出,与ECOC组合的分类器的性能要优于组合前单个分类器的性能。另外,作为比较算法,k-NN的宏高于C5.0,但结合纠错输出代码,ECOC-k-NN性能远不及其他混合算法,而ECOC-SVM性能高于其他混合算法。

Download:
图 6 分类错误率对比 Fig. 6 Comparison of the multiclass error

考虑到诊断系统需要及时给出故障检测建议,以解除警报,因此本文对比了各分类方法的平均训练时间与对未知样本的平均分类时间(测试时间),如表 6所示。尽管k-NN不需要预先训练,但其测试时间显著高于其他方法,不适合实际使用。与OVA-SVM相比,ECOC-SVM的训练时间更长,但是实际的诊断系统采用离线训练,训练时长不影响在线诊断的即时响应时间。

2.2.2 对比基于汉明距离的ECOC-SVM分类方法

将本文提出的基于最大似然估计的ECOC-SVM故障分类方法与传统的基于汉明距离的ECOC-SVM故障分类方法进行比较[8],如图 6所示。

本文提出的方法考虑了分类过程中的损失函数,因此与传统的汉明距离方法相比,分类精度有所提高。但随着分类数量的增加,2种分类方法的错误率均增加,分类准确度呈下降趋势。

本文诊断方法的优势在于使用故障类别初判模型减少ECOC-SVM的分类数量,以此降低ECOC-SVM的分类错误率。

3 结论

1) 本文提出的方法利用Elman网络构造组态式的多故障诊断模型,构建方法简单,各子系统含义清晰。

2) 这种方法的模型训练的实质是训练子系统。子系统可以根据应用条件进行重组或更新,以方便扩展。

3) 这种方法中的子系统是相对独立的。故障特征的选择充分利用了专家的经验。

4) 该方法根据实时数据的特征从所有单个故障中选择可能的故障类型,避免了故障诊断对机理模型的依赖。

本文提出的故障诊断方法以没有未知故障为前提,忽略了故障模式未知的诊断情形。因此之后的研究应聚焦未知故障情境下的诊断方法。

参考文献
[1]
杨培林, 侯翌, 徐凯, 等. 利用形式化方法的机电系统概率失效模式及影响分析[J]. 西安交通大学学报, 2018, 52(1): 1-7.
YANG Peilin, HOU Yi, XU Kai, et al. Probabilistic failure modes and effects analysis for electromechanical systems based on formal method[J]. Journal of Xi'an Jiaotong University, 2018, 52(1): 1-7. (0)
[2]
张可, 周东华, 柴毅. 复合故障诊断技术综述[J]. 控制理论与应用, 2015, 32(9): 1143-1157.
ZHANG Ke, ZHOU Donghua, CHAI Yi. Review of multiple fault diagnosis methods[J]. Control theory & applications, 2015, 32(9): 1143-1157. (0)
[3]
PRAVEENKUMAR T, SAIMURUGAN M, KRISHNAKUMAR P, et al. Fault diagnosis of automobile gearbox based on machine learning techniques[J]. Procedia engineering, 2014, 97: 2092-2098. DOI:10.1016/j.proeng.2014.12.452 (0)
[4]
XU Xiaojian, YAN Xinping, SHENG Chenxing, et al. A belief rule-based expert system for fault diagnosis of marine diesel engines[J]. IEEE transactions on systems, man, and cybernetics:systems, 2020, 50(2): 656-672. (0)
[5]
聂冰, 赵慧敏, 丁鸣艳, 等. 组态式牵引电动机故障诊断模型[J]. 上海交通大学学报, 2015, 49(3): 402-405.
NIE Bing, ZHAO Huimin, DING Mingyan, et al. Configurable fault diagnosis model in induction motor[J]. Journal of Shanghai Jiao Tong University, 2015, 49(3): 402-405. (0)
[6]
CAI Chengtao, WENG Xiangyu, ZHANG Chuanbin. A novel approach for marine diesel engine fault diagnosis[J]. Cluster computing, 2017, 20(2): 1691-1702. DOI:10.1007/s10586-017-0748-0 (0)
[7]
皮骏, 黄江博. 基于IPSO-Elman神经网络的航空发动机故障诊断[J]. 航空动力学报, 2017, 32(12): 3031-3038.
PI Jun, HUANG Jiangbo. Aero-engine fault diagnosis based on IPSO-Elman neural network[J]. Journal of aerospace power, 2017, 32(12): 3031-3038. (0)
[8]
GU Xiaodan, DENG Fang, GAO Xin, et al. An improved sensor fault diagnosis scheme based on TA-LSSVM and ECOC-SVM[J]. Journal of systems science and complexity, 2018, 31(2): 372-384. (0)
[9]
KOWALSKI J, KRAWCZYK B, WOZ'NIAK M. Fault diagnosis of marine 4-stroke diesel engines using a one-vs-one extreme learning ensemble[J]. Engineering applications of artificial intelligence, 2017, 57: 134-141. (0)
[10]
EKER S, AYAZ E, TVRKCAN E. Elman's recurrent neural network applications to condition monitoring in nuclear power plant and rotating machinery[J]. Engineering applications of artificial intelligence, 2003, 16(7/8): 647-656. (0)
[11]
DENG Fang, GUO Su, ZHOU Rui, et al. Sensor multifault diagnosis with improved support vector machines[J]. IEEE transactions on automation science and engineering, 2017, 14(2): 1053-1063. (0)
[12]
GURUSWAMI V, SAHAI A. Multiclass learning, boosting, and error-correcting codes[C]//Proceedings of the 12th Annual Conference on Computational Learning Theory. Santa Cruz, USA, 1999: 145-155. (0)