APP下载

基于机器学习的船舶机舱设备状态监测方法

2021-03-08王瑞涵陈辉管聪

中国舰船研究 2021年1期
关键词:柴油机工况样本

王瑞涵,陈辉*,管聪

1 武汉理工大学 能源与动力工程学院,湖北 武汉 430063

2 武汉理工大学 高性能舰船技术教育部重点实验室,湖北 武汉 430063

0 引 言

机舱是船舶的心脏,其中机舱设备的工作状态对船舶安全高效运行至关重要。在船舶设计制造领域,船舶自动化的推进和发展在很大程度上体现在机舱自动化程度的提高上。随着计算机技术和通信技术的发展,船舶机舱设备与系统逐渐实现了自动化,并向智能化方向发展[1-3]。机舱设备传统的故障方法是基于物理模型的方法(建立物理或数学模型)、基于经验模型的方法(专家系统和故障树分析)、基于可靠性模型的方法(贝叶斯方法和可靠性评估),对故障的诊断主要依靠操作人员的经验,需要依赖专家知识对复杂的对象设备进行建模。由于现代船舶在不同工况下的状态监测信息量巨大且变化迅速,无法对船舶机舱设备建立精准的物理或数学模型,传统的故障监测方法很难对船舶机舱设备状态做出准确诊断。因此,传统的故障监测方法已不能适应智能机舱的需要。智能机舱是利用传感器等设备感知技术,来对机舱设备进行状态监测。基于机器学习的智能故障监测方法是以状态监测数据为对象,利用各种人工智能算法提取监测数据中的有效信息,来及时发现机械设备的潜在故障,不需要对象系统的先验知识。与传统的故障监测方法相比,基于机器学习的智能故障监测方法能够有效、准确、迅速地处理大量船舶机舱中采集的状态监测信息,并能得到更加可靠的状态诊断结果,该过程大大减少了人为因素对故障监测过程的参与。

伴随着机器学习算法的发展,基于机器学习的故障监测方法已成为研究热点。机器学习算法已被广泛应用于船舶机舱设备的故障诊断领域。宫文峰等[4-5]利用数据增强和Dropout 技术对卷积神经网络进行改善,提高了船舶中轴承系统的故障诊断精度,其使用支持向量机替代softmax 分类器,使得改进的CNN-SVM 算法的故障诊断准确率达99.86%。尚前明等[6]将主成分分析(PCA)技术、K-均值聚类技术和BP 神经网络进行融合,大大降低了原始数据的复杂度,提高了BP 神经网络的性能,该多信息融合技术被应用于船舶柴油机的故障诊断,大大提高了故障识别率。Gong 等[7]设计了一种新型卷积神经网络结构(CNN-GAP),用于实现对船舶DC-DC 变换器的故障诊断。仲国强等[8]提出了一种基于限制性玻尔兹曼机的深度信念网络,用于实现对船用柴油机的智能诊断,测试集故障识别率可达98.61%。刘国强等[9]结合粗糙集理论、优化有向无环图和支持向量机对船舶主机进行故障诊断,提高了分类准确度,减少了测试时间。同时,支持向量机(support vector machine, SVM)、神经网络(neural network, NN)和随机森林(random forest)等机器学习算法也在其他工业领域中得到广泛应用。Konar等[10]结合连续小波变化技术与支持向量机技术对电动机轴承故障进行检测,提高了监测精度和速度。基于机器学习算法的故障监测方案减少了对目标设备先验知识的依赖,以状态监测数据为对象,估计对象系统的实时状态,实现了工业大数据下故障特征的自适应提取和智能诊断。

上述故障诊断方法需要大量的正常与故障状态数据对诊断模型进行训练。然而,由于故障状态对船舶机舱设备的工作性能造成巨大伤害,设备不可能长时间处于故障工况进行数据采集,导致缺乏足够的样本故障数据来训练故障诊断模型。因此,对于船舶机舱设备的故障诊断,需借助异常点监测技术。根据异常点监测技术的原理,只需将正常状态下的样本数据对模型进行训练,然后通过将故障状态样本数据定义为与正常工况样本偏差的异常点,即可进行故障监测。异常点监测技术主要包括单分类支持向量机(oneclass SVM)、局部异常因子(LOF)、最邻近算法(nearest neighbor)和鲁棒性协方差估计(robust covariance,RC)等。Bicego 等[11]通过聚类算法设计新型单分类加权支持向量机,提高了监测的鲁棒性。Diez-Olivan 等[12]采用局部异常因子结合K-均值算法和模糊建模方法,对船用柴油机进行故障监测,大大提高了监测性能。Zhang 等[13]提出了一种基于角度的空间来选择有用的特征子空间的方法,以提高对高维数据异常监测的精度。本文拟采用孤立森林 (isolation forest, iforest)算法对船舶机舱设备进行故障监测。孤立森林是一种典型的采用集成学习策略的异常监测技术,其通过集成学习将多个异常监测决策树组合在一起,并融合多个子学习器的监测结果,共同完成对异常点的监测任务,以有效提高故障监测的稳定性和准确度[14]。

船舶机舱设备的状态监测数据是包括多种热力参数的高维数据。这种高维特征数据容易导致异常监测算法陷入维数灾难,还会使故障监测模型失效,从而达不到最优的监测结果。在故障监测之前,特征选择是一种非常有效的信息提取技术。其中,流形学习(manifold learning)是目前数据特征选择的常用方法之一[15]。流形学习是通过在高维空间中建立降维映射关系,然后将低维流形嵌入原始数据的高维空间中来对其进行维度转换[15]。本文将探讨多维尺度分析(multi-dimensional scaling, MDS)、局部线性嵌入(locally linear embedding,LLE)和t 分布随机邻域嵌入(TSNE)等流形学习方法,以融合特征的方式从原始数据中提取有效信息,将高维数据降至两维。将融合后的两维特征输入至孤立森林模型中,以为数据的高效处理提供可能。本文将以船用二冲程柴油机为例,在Matlab/Simulink 环境下建立船舶柴油机仿真模型,以产生柴油机状态信息数据。然后通过流形学习对高维度的状态信息数据进行预处理,降低数据维度和数据复杂度,并将处理好的数据输入至孤立森林模型,实现对船舶柴油机的故障监测。

1 故障监测方法描述

本节将详细描述流形学习和孤立森林的算法原理,通过Python 语言建立基于机器学习的故障监测模型。通过使用numpy,pandas 和scikit-learn等的数据包和数据库,为基于流形学习和孤立森林的故障监测模型提供方便。

1.1 流形学习

流形是拓扑学中的一个概念,表示的是一个局部的拓扑空间,并且该空间具有欧几里德特性,即它是一个由空间中的点构成的集合。流形可以简单地理解为是将二维空间的曲线、三维空间的曲面向更高维度空间的推广。流形学习的主要思想是将高维数据映射到低维,使该低维数据能够反映原高维数据的某些本质结构特征。流形学习的前提是假设高维数据实际是由一种低维的流形结构嵌入高维空间中得到的。流形学习的目的是将其映射回低维空间中,从而实现对原始数据维数的简约化和可视化。在故障监测中,流形学习作为数据预处理的关键步骤,可起到降低原始数据维数和提取数据特征的作用。

1.1.1 多维尺度分析

多维尺度分析是一种无监督的线性降维方法,其利用成对样本间的相似性来构建合适的低维空间,以使样本在此空间的距离和在高维空间中距离的相似性尽可能保持一致。约简后,低维空间中任意两点间的距离应该与它们在原高维空间中的距离相同。假设p维空间中有n个点,组成矩阵X={x1,x2,···,xi,···,xj,···,xn},xn∈Rp,表示x在R空间中的维数为p。2 个点之间的欧氏距离满足以下公式:

1.1.2 局部线性嵌入

局部线性嵌入(locally linear embedding, LLE)不同于MDS。LLE 的核心思想是每个样本点都可以由与它相邻的多个点的线性组合来近似重构,这相当于用分段的线性面片近似代替复杂的几何形状,样本投影到低维空间之后要保持这种线性重构关系,即有相同的重构系数。LLE 算法可以归结为3 步:首先,寻找每个样本点的k个近邻点;然后,由每个样本点的近邻点计算出该样本点的局部重建权值矩阵;最后,由该样本点的局部重建权值矩阵和其近邻点计算出该样本点的输出值。假设xi能用xj,xk,xl表示:

式中,wij,wik,wil为权重系数。

初始点由其权重系数wij给出的线性组合来重新构造。用代价函数E(w)表示重构误差,因此E(w)满足以下方程:

矩阵Z为一个降维矩阵,它的数据处在一个d维 空 间,而 原 始 点在D维 空 间,其 中D>d。LLE 算法会使得数据在较低的d维空间中保持相同的权重系数wij。xj对应于低维空间的坐标zj,满足

这个优化问题等价于求解稀疏矩阵的特征值问题。记稀疏矩阵为M,Z=(z1,z2,···,zm)∈Rd×m,则稀疏矩阵M满足以下方程:

式中:由特征向量组成的矩阵ZT可以由矩阵Z的最小特征值d得到;I为单位矩阵;W为权重系数wij组成的矩阵。

1.1.3 t 分布随机邻域嵌入

t 分布随机邻域嵌入(TSNE)算法是一种通过仿射变换将数据点映射到概率分布上,用于非线性数据降维的算法。原始空间的数据用高斯联合概率表示,嵌入空间的数据用t 分布表示。首先,采用TSNE 算法构建一个高维对象之间的概率分布,以使相似的对象被选择的概率更高,而不相似的对象被选择的概率较低。其次,TSNE 算法可在低维图中的点上构造一个相似的概率分布,可使高维图和低维图中的两个概率分布尽可能地相似。

对于给定的N个高维对象,TSNE 首先将欧氏距离转化为概率pij来 表示xi与xj之间的相似性:

式中: σi为数 据点xi的 高 斯方 差;pj|i和pi|j均 为成本函数参数;pij为 数据点xi和xj之间的高维分布概率。

TSNE 的目标是得到一个尽可能反映pij值的d维映射y1,y2,···,yn,yn∈Rd。通过类似的方法,相似度qi j用低维数据中2 个与高维数据点xi和xj相对应的 点yi和yj来 衡量。其中,qij定义为

若降维效果好,数据特征基本一致,则有pij=qi j,并且目标函数C由分布Q与分布P的KL距离表示,即

可以将高斯分布初始化为较小的值 σ。为了加快优化过程,避免局部最优解,需要在梯度中使用较大的动量,即

式中:Y(t)为 迭代t次的值;η 为学习效率; α(t)为迭代t次的动量。

1.2 孤立森林

孤立森林算法是由大量的二叉树组成,基于划分孤立和集成学习的异常检测算法,无需对故障数据建模。孤立森林的核心思想是,由于异常数据与正常数据较为疏离,故通过构建二叉树来找出异常数据。通常情况下,只需要较少的几次切分就可以将异常数据单独划分出来并把它们判定为异常值。孤立森林模型采用二叉树对数据进行切分,数据点在二叉树中所处的深度反映了该条数据的“疏离”程度,此算法引入了隔离树和平均路径长度的定义。整体算法大致分为2 个阶段:

1) 训练阶段,抽取训练的多个子样本构建二叉树。

2) 测试阶段,由隔离树来传递测试的样本,可以得到每个测试样本的异常得分。

在训练阶段中,iforest 算法与子空间孤立点检测密切相关。给出1 个数据样本(来自d变量分布的n个实例),以构建1 棵二叉树。从全量数据中抽取一批样本,然后随机选择一个特征作为起始节点,并在该特征的最大值和最小值之间随机选择一个值,将样本中小于该取值的数据划到左分支,其他数据划到右分支。之后,在左、右2 个分支数据中,重复上述步骤,直到满足如下条件终止:

1) 数据不可再分,即只包含1 条数据,或者全部数据相同;

2) 二叉树达到限定的最大深度。

在测试阶段,平均路径长度和异常分值用于检测异常。计算数据x的异常分值时,先要估算它在每棵二叉树中的路径长度,也可以叫做深度。沿着1 棵二叉树,从根节点开始按不同特征的取值从上往下,直到到达某叶子节点。数据x的路径长度h(x)由边的数量测量,异常分值可以用s表示,即

式中:ε=0.577 215 664 9,为欧拉常数;c(n)为用来标准化样本数据x的路径长度h(x)的参数;E(h(x))为数据x在二叉树集合中路径长度的均值;s(x,n)为二叉树从n个样本的训练数据中获得的x的异常分值,s(x,n)的 范围为 [0,1]:

1) 若E(H(x))接近于0,s非常接近于1,表明数据x异常的可能性很高。

2) 若E(H(x))接近于n−1,s非常接近于0,表明数据x基本为正常数据。

3) 若E(H(x)) 接近于c(n),所有的s在0.5 附近时,整个样本数据没有明显的异常值。

2 基于流形学习和孤立森林的故障监测方案

船舶机舱需要进行状态监测的设备包括:主推进柴油机、发电柴油机、轴系系统、推进操纵系统、重要辅助机械、重要的泵及电动机,以及锚机等设备。船舶主推进柴油机作为船舶的心脏,其安全可靠的运行直接决定了船舶的航行安全。船舶主推进柴油机不仅是船舶最重要的机械设备,而且还是船舶所有机械系统中故障发生率最高的设备。瑞典船舶俱乐部对船舶故障风险的研究表明,船舶主柴油机故障占到了船舶机械故障总数的37.7%,每年造成的经济损失总额约2.02 亿美元[16]。因此,降低船舶主柴油机系统的故障率对保证船舶安全航行具有重要意义。本文将以船舶主柴油机作为船舶机舱典型设备,对基于流形学习和孤立森林的智能故障监测方法进行研究。

在孤立森林模型中直接输入原始数据是不可行的,因为原始数据是多维数据,若直接训练故障监测模型,会造成维数灾难,从而降低故障监测的性能。在数据预处理阶段,可通过人为经验选择合适的数据特征。我们利用流形学习对原始数据进行数据降维,不需要相关的专家知识。通过流形学习对原始数据的特征进行选择和融合,可以降低原始数据结构的复杂度,在尽可能多地保留有用信息的情况下重构新的特征向量,因此可以用较少的计算量训练孤立森林模型。只需要正常工况数据集就能对孤立森林进行训练。孤立森林模型致力于计算每个正常工况数据的平均路径长度,通过假设正常工况数据中存在少量的异常点来对阈值进行设定,从而对测试集的正常工况数据与故障工况数据进行分类。由于不需要故障工况数据对故障监测模型进行训练,因此孤立森林模型更适用于实际工业设计中的故障监测。基于流形学习与孤立森林的故障监测方案如图1所示。首先,在数据预处理中引入流形学习进行特征选择和融合;其次,利用低维数据训练孤立森林模型,实现故障监测;最后,用故障检测率(FDR)和虚警率(FAR)对模型性能进行评估。

图1 基于流形学习和孤立森林的故障监测流程图Fig. 1 Procedures of the manifold learning-iforest monitoring scheme

3 基于船舶柴油机仿真模型的故障监测实验研究

3.1 船舶柴油机仿真系统

基于流形学习与孤立森林的船舶柴油机故障监测方法,需要柴油机状态信息数据,以用于模型的训练与测试。由于船舶柴油机历史监测数据匮乏,同时破坏性试验对柴油机的损害过大,因此造成船舶柴油机的故障样本数据量严重不足,无法提供对模型的测试与评估。本文将在Matlab/Simulink 环境下对船用二冲程柴油机(7K98MC)进行仿真建模,并采用零维模型对其气缸进行建模[17]。将柴油机模型仿真结果与试验台架的数据进行对比,以确定该仿真模型的准确性。7K98MC船用二冲程柴油机的技术指标如表1 所示,仿真模型如图2 所示。

表1 7K98MC 船用柴油机技术指标Table 1 Technical parameters of 7K98MC marine diesel engine

图2 7K98MC 船用柴油机仿真模型Fig. 2 The simulation model of 7l98MC marine diesel engine

为了验证该7K98MC 船用主柴油机仿真模型的准确性,将在不同负荷下的柴油机模型仿真结果与台架实验数据进行了对比,对比结果如表2所示。

表2 不同负荷下柴油机模型仿真值与台架实验值的比较Table 2 Comparison between simulation results and shop test data

由表2 可知,模型仿真结果与试验台架结果的数据相吻合,最大误差出现在25%负荷下柴油机的涡轮转速,其实验值与仿真值的误差为4.53%。其他参数的仿真值与实验值误差在1%左右,可以验证该船舶柴油机仿真模型的合理性和正确性。

3.2 数据描述

本文对7K98MC 柴油机在94 r/min 转速和100%负荷条件下的仿真模型进行了研究。通过改变压缩机效率、冷却器效率和喷油时间来模拟柴油机的故障工况。其中每种工况由15 个特征进行描述,其特征为有效功率、有效油耗率、空燃比、气缸最高爆发压力、气缸最高燃烧温度、压气机进口压力、压气机出口温度、中冷器出口温度、扫气箱压力、扫气箱温度、排气管压力、排气管温度、涡轮出口压力、涡轮出口温度、透平转速。该柴油机仿真模型大约运行30 min 可使模型运行平稳,总共运行了近200 h,共采集了700个正常与故障工况样本。数据描述如表3 所示。

表3 仿真数据集Table 3 Simulation datasets

在本文研究中,训练数据集由200 个正常工况样本组成,该数据集用于建立基于流形学习和孤立森林的故障监测模型。测试数据集由500 个样本组成,其中正常工况样本数为200 个,故障工况(包括柴油机压缩机故障、冷却器故障及喷油定时错误3 种)样本数为300 个。测试数据集用于评估和比较不同故障监测方案的性能。

3.3 基于流形学习的数据降维

由于柴油机的不同工况对数据特征会产生不同的影响,选择能够精准描述柴油机正常与故障工况的特征,提取和融合具有代表性的特征,是进行柴油机故障监测的关键。

基于流形学习的数据降维通过选择与融合,能够精准描述设备正常工况与异常工况的特征,从而达到减少原数据特征数的目的。减少原数据集的复杂度,为后期数据的高效处理和分类提供了可能。本文中,由15 个特征组成的数据集被构造为一个矩阵,通过流形学习,将原数据15 维的数据特征降维至2 维,用降维后的2 个融合特征作为新的数据特征进行了故障监测。采用数据可视化的方法验证了不同流形学习算法对数据特征降维的效果。采用的流形学习算法包括PCA,MDS,LLE 和TSNE。图3 所示为不同流形学习算法对相同数据降维的处理效果。通过数据可视化,可以发现不同算法在相同数据分布下的降维效果。图中,G1 为正常工况数据,G2 为故障工况数据。

从图3(a)可以看出,经PCA 算法降维的数据中,G1 与G2 的数据部分重叠,这意味着PCA 算法对于该数据的降维效果不佳。从图3(b)和图3(c)中可以看出,MDS 和LLE 算法比PCA 具有更好的降维效果,因为不同工况下的数据区分度更大。同时,LLE 和MDS 算法相比特征提取效果更好,因为经过LLE 提取的特征,其所代表的不同工况之间数据集的间隔更宽,更容易区分。从图3(d)可以看出,TSNE 算法具有最好的降维效果,因为来自同一个类别的数据开始集聚在一起,不同类别的数据集则相隔较远,容易划分。流形学习作为一种数据可视化工具,在数据降维与特征提取领域中表现出了良好的性能,其中TSNE 算法的特征选择效果最佳。

3.4 基于孤立森林算法的柴油机故障监测

采用PCA,MDS,LLE 和TSNE 等特征选择方法,将15 维表示投影到2 维空间。将选定的特征和融合后的特征送入孤立森林模型,以监测柴油机状态。为验证本文中所用孤立森林算法的性能,研究了其他异常点监测的方法,包括鲁棒性协方差估计(RC)和单分类支持向量机(OS)。

利用仿真数据,对基于流形学习与孤立森林的故障监测方法进行研究。故障监测模型的训练仅使用正常工况下的数据(200 个样本)。采用训练好的故障监测模型对新的正常样本与故障样本进行识别。通过计算故障虚警率( FAR)和故障检测率(FDR),验证基于流形学习和异常点监测模型的性能。FAR 是被错误分类为故障样本的正常样本数量与实际正常样本总数之间的比率,FDR 是被正确分类为故障样本的故障样本数量与实际故障样本总数之间的比率。因此,FDR 越大,FAR 越小,故障监测方案性能越好。

不同流形学习算法与异常点监测算法的组合会导致故障监测方案性能发生变化。本文采用箱线图对不同故障监测方案的性能进行了比较,如图4 所示。箱线图由最小值、下四分位数、中位数、上四分数、最大值和异常值组成,可以从多个角度评价故障监测方案的性能。表4 所示为不同故障监测方案的平均FDR 和FAR。

图3 不同流形学习方法的降维效果Fig. 3 The dimensionality reduction effect of different manifold learning methods

由图4 可知,基于TSNE 与iforest 算法方案的FDR 最高,FAR 最低,且在箱线图中对应的箱子宽度较窄,说明基于TSNE 与iforest 算法的故障监测方案稳定性较好。同时,通过表4 可以得到,在相同异常点监测算法下,基于TSNE 的故障监测方案效果最好,进一步说明了TSNE 对船舶柴油机状态监测数据的降维质量更高,损失率更低。

图4 不同故障监测方案的FDR 与FAR 值Fig. 4 Comparison of FDR and FAR under different hybrid fault monitoring schemes

表4 不同故障监测方案的平均FDR 与FAR 值Table 4 The accuracy FDR and FAR under different hybrid fault monitoring schemes

在iforest 模型训练阶段,训练该模型只需要正常工况的样本数据集。孤立森林模型致力于计算每个正常工况样本的平均路径长度,从而定义阈值,以对正常数据和故障数据进行分类。图5显示了不同流形学习算法与孤立森林结合的故障监测方案下,通过计算正常样本平均路径长度而得到的阈值T1。如图5 所示,由TSNE-iforest 的故障监测方案得到的阈值T1 效果最好,只有少部分正常工况样本被识别为故障工况,并且全部的故障工况样本都被正确分类。

图5 不同故障监测方案的阈值Fig. 5 Thresholds of different hybrid fault monitoring schemes

4 结 论

针对船舶机舱设备的实际需求,本文提出了一种基于流形学习与异常点监测结合的柴油机故障监测方案。通过船用柴油机仿真模型生成的柴油机状态数据,对该故障监测方案性能进行了验证。分析结果表明:

1) 和PCA 算法相比, MDS,LLE,TSNE 等流形学习能够有效地将原始15 维数据降维至2 维。流形学习用于数据预处理阶段,可以极大地减少原始数据的复杂度,提高后续故障监测模型的性能。其中,TSNE 算法的数据降维效果最好。

2) 孤立森林相比其他异常点监测算法(鲁棒性协方差估计、单分类支持向量机),具有更高的故障检测率和更低的故障虚警率(FAR),只需要正常工况下的数据,便可对孤立森林进行训练,从而进行船用柴油机的故障监测。

3) 基于TSNE 和iforest 的故障监测方案可得到一个合适的阈值,该阈值能够准确地对正常工况数据与故障工况数据进行分类。

基于TSNE 和iforest 的船舶柴油故障监测方案能够有效提高监测准确率和可靠性。此故障监测方案仅用正常状态样本便可进行故障监测,更适用于船舶机舱设备的实际运行情况,并且诊断稳定性高,具有一定的理论参考和应用价值。

猜你喜欢

柴油机工况样本
热网异常工况的辨识
不同工况下喷水推进泵内流性能研究
误使用工况下儿童安全座椅安全性的开发与验证
汽车行驶工况识别模型搭建的方法研究
规划·样本
人大专题询问之“方城样本”
随机微分方程的样本Lyapunov二次型估计
南京尚德柴油机有限公司
柴油机三种滤清器常见问题及保养要点
河柴重工新型船用高速柴油机上线装配