机电设备随着科技的发展和进步日趋复杂,随机性、继发性、并发性、暴发性、隐蔽性等也已成为故障出现时所具备的性质[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 |
本文采用基于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函数,输出表示为yi,yi的取值范围是(-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) |
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,且其他处均为零,说明该列代表区分故障类别r1和r2的二值分类器。结合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) |
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。已知
2) 依次用ψ中第n组分类器ψn对d进行分类,若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 |
最终诊断结果
$ \hat D = \left\{ {{F_1},{F_2}} \right\} $ | (10) |
该诊断结果
性能对比实验均在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) |
式中:
性能对比如图 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. ( ![]() |
[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. ( ![]() |
[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 ( ![]() |
[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. ( ![]() |
[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. ( ![]() |
[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 ( ![]() |
[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. ( ![]() |
[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. ( ![]() |
[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. ( ![]() |
[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. ( ![]() |
[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. ( ![]() |
[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.
( ![]() |