基于深度同心学习的船舶主动力异常检测方法
未命名
07-15
阅读:106
评论:0
1.本发明涉及船舶推进动力检测技术领域,具体的说是一种能够对船舶主机运行状态进行准确检测的基于深度同心学习的船舶主动力异常检测方法。
背景技术:
2.船舶是保障国防安全、发展国民经济、建设海洋强国的重大战略装备。船舶主机作为船舶动力系统的核心设备,其能否可靠运行直接决定了船舶的航行安全。据民用船舶统计,在众多海难事故起因中,由机械故障引起的事故率为22%,高居第一位;其中,在机械故障中,由船舶主机故障引发的事故率占45%。海上保险公司瑞典俱乐部(the swedish club)对2015-2017年的船舶故障风险调查显示,船舶机械设备索赔费与整船索赔费之比由原来的35%增加至48%;其中,船舶主机故障索赔费占所有机械设备索赔费约1/3。因此,及时检测出船舶主机异常状态,可以提前发现潜在的主机故障以采取相应的维修措施,确保船舶航行安全。
3.从船舶主机收集到的传感器数据提供了大量船舶主机运行状态的信息。通过对船舶主机传感器数据进行异常检测,能够及时把握船舶主机健康状态。根据标签的可用性,现有的异常检测的算法大致可以分为三类:基于监督的异常检测算法、基于半监督的异常检测算法以及基于无监督的异常检测算法。在基于监督的异常检测算法中,标签是必要的。典型的基于监督学习的策略是在标签引导下训练一个二值分类器来实现异常检测。在这种情况下,现有的分类算法均可以被设计成异常检测器,例如支持向量机、各种先进结构的神经网络分类模型等。然而,考虑船舶主机状态异常模式多,采用基于监督的异常检测方法只能有效识别出现过的主机状态异常模式,可能无法对未知异常模式做出有效的识别,因为在监督学习下训练一个二值分类器无法学习未知异常样本的判别性特征。进一步地,在主机状态异常检测任务中,通常存在严重的类别不平衡问题,即数据集中拥有大量正常运行的状态监测数据,而异常状态数据却很少。在这种情况下,许多分类器倾向于学习主机状态正常数据的特征,无法有效捕抓主机状态异常数据的特征,造成主机异常状态被错分为正常状态。
4.现有大部分异常检测算法面对高维、结构复杂、类别不均衡、异常样本少、异常模式多的船舶主机状态监测数据时仍存在一些局限性。在最近的一些研究中,深度学习方法在解决高维、复杂数据分布的异常方面展示出优异的性能。其中,深度自编码器网络(dae)常被用于深度表征学习。通常,将dae的中间隐层特征作为一种新的潜在表征用于其他异常检测技术,或者将潜在表征与其他特征结合来促进异常检测性能。dae获得的潜在表征维度通常是低维的,可以用于辅助简单的分类器识别异常。然而,dae将输入数据映射到潜在空间中的分布通常是任意形状的,这几乎不能直接用于船舶主机状态异常检测任务,而且还可能不利于异常检测算法的稳定性。另一个关键问题是,现有大多数基于dae的表征学习方法与异常检测器被分离为两个独立的过程,这可能会产生次优表示或与任务无关的表示。因此,有必要开发新的表征学习方法来应对当前船舶主机状态异常检测面临的挑战。
技术实现要素:
5.本发明针对现有技术中存在的缺点和不足,提出了一种能够对船舶主机运行状态进行准确检测的基于深度同心学习的船舶主动力异常检测方法。
6.本发明通过以下措施达到:一种基于深度同心学习的船舶主动力异常检测方法,其特征在于,包括以下步骤:步骤1:数据预处理,通过将从船舶主机状态传感器中获取到的监测数据划分为训练数据集和测试数据集;步骤2:构建深度同心学习dcl模型,并利用深度同心学习dcl模型进行表征学习,在训练阶段,使用dcl对训练数据集进行非线性特征学习,同步执行重构学习与同心学习;步骤3:网络权重优化得到优化后的深度同心学习dcl,首先,分别计算重构损失和同心损失,然后通过随机梯度下降sgd联合最小化重构损失和同心损失来优化权重,最后判断判迭代次数是否达到设定的迭代次数,若是,得到优化后的dcl,若否,则返回步骤2;步骤4:异常检测,首先,将船舶主机状态测试数据集输入到优化后的dcl中获得一个低维潜在表征,然后,计算低维潜在表征到同心中心的距离,作为测试样本的异常分数,最后,根据样本的异常分数输出船舶主机状态异常检测结果。
7.本发明步骤1中,将从船舶主机状态传感器中获取到的监测数据划分为训练数据集和测试数据集;其中,训练数据集用于训练模型,而测试数据集则是用于对网络性能进行评估。
8.本发明步骤2中深度同心学习dcl模型的构建包括以下步骤:步骤2-1:重构学习以用于获得一个低维潜在表征,包括编码和解码两个阶段,在编码阶段,编码器对输入数据进行编码,将输入数据映射到一个低维潜在空间,获得一个低维潜在表征,如下式所示:(1)式中, 是编码器特征映射函数,由非线性变换函数构成; 是编码器输入数据; 是编码器输出数据,是一个用来表征输入数据的低维潜在表征,; 是编码器可学习的权重参数;在解码阶段,解码器占据主导地位,致力于将低维潜在表征重构为输入数据,如下公式所示:
9.式中, 是解码器特征映射函数,由非线性变换函数构成; 是重构数据; 是解码器可学习的权重参数;深度自编码器网络的权重参数通过最小化重构误差获得,均方误差mse被作为重构损失函数,如下所示:
10.式中, 表示重构损失; 是深度自编码器网络通过训练可学习的权重参数; 是编码器输入数据; 是重构数据;步骤2-2:构建同心损失用于引导同心学习,在同心潜在空间中,给定的一个同心中心为 ,低维潜在表征 到同心中心的距离采用欧式距离来度量,如下所示:
11.式中, 是可学习的网络权重参数; 是第i-th输入数据 映射到潜在空间中的低维潜在表征; 被简写为 ,默认设置同心中心c为潜在空间坐标原点,同心损失一般形式定义如下:
[0012][0013]
式中,n为样本数量; 为第i-th个样本对应的标签,正常样本标签为0,异常样本标签为1; 分别表示为同心内边界半径和同心外边界半径, ,默认设置r1 = 0.5,r2 = 1,考虑输入数据为正常样本时,即 ,此时同心损失为:
[0014]
从上式可以看出,如果正常样本被映射在同心内边界之外,即 ,此时 ,这需要对其施加大的约束,使其往同心中心聚拢,直到其落入同心内边界;如果正常样本被映射在同心内边界之内,即 ,此时 ,则不需要对其施加额外的约束,通过随机梯度下降法(sgd)最小化 ,保证正常样本被映射到潜在空间半径为r1的同心内边界内,即正常样本的潜在表征分布在同心内边界内, 的梯度计算如下式所示:
[0015]
式中, 表示正常样本引起的同心损失 对可学习的网络权重参数 求偏导数; 表示编码器输入数据 的第 个样本; 表示同心中心位置; 表示与 对应的第 个低维潜在表征 到同心中心 的距离; 表示 对可学习的网络权重参数 求偏导数;r1表示同心内边界半径;考虑输入数据为异常样本的情况下,即 ,此时同心损失为:
[0016]
从上式看出,如果异常样本被映射在同心外边界之内,即 ,此时 ,这需要对其施加约束,直至将其推出同心外边界之外;如果异常样本被映射在同心外边界之外,即 ,此时 ,则不需要对其施加额外的约束,通过sgd最小化 ,保证异常样本被映射到潜在空间半径为r2的同心外边界外,即异常样本的潜在表征分布在同心外边界外, 的梯度计算如下式所示:
[0017]
式中, 表示异常样本引起的同心损失 对可学习的网络权重参数 求偏导数; 表示编码器输入数据 的第 个样本; 表示同心中心位置; 表示与 对应的第 个低维潜在表征 到同心中心 的距离; 表示 对可学习的网络权重参数 求偏导数;r2表示同心外边界半径;同心损失通过两个权重因子来克服类别不均衡带来的不利影响,如下公式所示:
[0018]
式中, 为正常样本数量, 为异常样本数量, ; 为正常样本权重因子, 为异常样本权重因子,在实际使用中, 设置为异常样本数量,即 ; 设置为正常样本的数量,即 ;步骤2-3:设定异常分数与同心决策边界:异常分数被用来衡量样本的异常程度,异常分数越高,样本异常概率越大,在深度同心学习dcl中,通过表征学习获得的低维潜在表征保留输入数据的关键信息,因此,异常分数可通过计算低维潜在表征到同心中心的距离获得,如下公式所示:
[0019]
式中, 表示第i-th个样本对应的异常分数;在获得每个样本的异常分数之后,还需要一个异常阈值来识别每个样本是正常样本还是异常样本,这个异常阈值,在同心潜在空间中被称为同心决策边界,同心决策边界可以在训练结束后采用p分位数法获得,简记为 ,具体流程为:根据公式(4)计算所有样本深度特征与同心中心之间的距离;将所有样本到同心中心的距离按从小到大排列为;假设训练集中异常样本数量为m,采用p分位数法在d中获得一个样本同心距离为,表示在d中第n-m位置处对应的样本同心距离,则有 ),获得每个样本的异常分数后,将异常得分高于 的样本视为异常样本,从而实现异常检测,如下公式所示:
[0020]
式中, 时为正常样本, 时为异常样本;步骤2-4:构造优化目标函数:给定一个数据集包含 个正常样本和 个异常样本,监督深度同心学习dcl训练的优化目标函数构造如下:
[0021]
考虑类别不均衡的情况下,监督深度同心学习dcl训练的优化目标函数构造如下:
[0022]
深度同心学习(dcl)的优化目标函数包括三个组成部分:(1) :表征了由深度自编码器网络引起的重构误差, 考虑的是由正常样本产生的重构损失,不包括异常样本产生的;(2) :表征了正常样本被映射在同心内边界外产生的同心损失, 越小越好,(3) :表征了异常样本被映射在同心外边界内产生的同心损失,期望 越小越好;步骤3:网络权重优化:首先,分别计算重构损失和同心损失;然后通过随机梯度下降sgd联合最小化重构损失和同心损失来优化权重;最后判断判迭代次数是否达到设定的迭代次数;若是,得到优化后的dcl;若否,则返回步骤2;步骤4:异常检测:在测试阶段,首先,将船舶主机状态测试数据集输入到优化后的dcl中获得一个低维潜在表征;然后,计算低维潜在表征到同心中心的距离,作为测试样本的异常分数;最后,根据样本的异常分数输出船舶主机状态异常检测结果。
[0023]
本发明通过构建一种新的深度表征学习方法,即深度同心学习(dcl),从而致力于学习一种新的潜在表征来有效地分离不同类别间的样本,以促进船舶主机状态异常检测性能,解决了传统基于dae的表征学习与异常检测任务优化目标不一致造成检测性能不理想的问题,dcl利用dae进行表征学习,通过强大的非线性映射能力将高维且结构复杂的船舶主机状态输入数据映射为一个低维潜在表征,为了促使获得的低维潜在表征具有足够的判别性来分离不同类别间的样本,本发明构建了一种同心损失,联合重构损失一起监督dae的训练,考虑船舶主机状态异常样本多样性,在潜在空间中,dcl将船舶主机状态正常样本映射到同心内边界内,异常样本被映射到同心外界外,这可以为未知的船舶主机状态异常样本提供一个更大的映射区域;同时,dcl允许同心内边界与同心外边界之间有一个明显的同心间隔分离不同类别间的潜在表征。进一步地,通过在同心损失设置两个权重因子来平衡船舶主机状态正常样本和异常样本各自引起的同心损失,dcl可以克服类别不均衡问题,dcl不仅可以以一种端到端的方式进行训练,还可以在训练过程中动态调整与同心损失相关的超参数(或可以被预先设置),更为重要地,dcl通过在潜在空间中度量样本到同心中心的距离给出一个可解释的异常得分,进而实现船舶主机状态异常检测任务。
附图说明
[0024]
附图1是本发明中深度同心学习dcl模型的框图。
[0025]
附图2是本发明中同心损失构建的示意图。
[0026]
附图3是本发明中基于深度同心学习dcl的异常检测流程图。
[0027]
附图4是本发明实施例中13个异常检测数据集的实验结果,其中图4中(a)为auc-roc评价指标下的实验结果,图4中(b)为auc-pr评价指标下的实验结果。
[0028]
附图5是本发明实施例中不同异常检测数据集上的损失曲线变化示意图,其中图5中(a)为dcl在ad1异常检测数据集测试样本的损失曲线,图5中(b)为dcl在ad2异常检测数
据集测试样本的损失曲线, 图5中(c)为dcl在ad3异常检测数据集测试样本的损失曲线, 图5中(d)为dcl在ad4异常检测数据集测试样本的损失曲线。
[0029]
附图6是本发明实施例中不同异常检测数据集上测试样本潜在表征可视化结果示意图,其中图6中(a)是ad1数据集测试样本的潜在表征可视化结果,图6中(b)是ad2数据集测试样本的潜在表征可视化结果,图6中(c)是ad3数据集测试样本的潜在表征可视化结果,图6中(d)是ad4数据集测试样本的潜在表征可视化结果,图6中(e)是是ad5数据集测试样本的潜在表征可视化结果,图6中(f)是ad6数据集测试样本的潜在表征可视化结果。
具体实施方式
[0030]
下面结合附图和实施例,对本发明做进一步的说明。
[0031]
为了从船舶主机状态高维输入数据中获得具有判别性的潜在表征来提高异常检测性能,本发明构建了一种新的深度表征学习方法,即深度同心学习(dcl)。使用dcl进行船舶主机状态异常检测流程如附图3所示,主要包括两个阶段:训练阶段与测试阶段。训练阶段用于优化dcl的权重,而测试阶段则是利用优化后的dcl执行船舶主机状态异常检测任务,具体流程如下:第一,数据预处理,将从船舶主机状态传感器中获取到的监测数据划分为训练数据集和测试数据集;其中,训练数据集用于训练模型,而测试数据集则是用于对网络性能进行评估;第二,表征学习,在训练阶段,使用dcl对训练数据集进行非线性特征学习,同步执行重构学习与同心学习;第三,网络权重优化,首先,分别计算重构损失和同心损失;然后通过随机梯度下降(sgd)联合最小化重构损失和同心损失来优化权重;最后判断判迭代次数是否达到设定的迭代次数;若是,得到优化后的dcl;若否,则返回步骤二;第四,异常检测,在测试阶段,首先,将船舶主机状态测试数据集输入到优化后的dcl中获得一个低维潜在表征;然后,计算低维潜在表征到同心中心的距离,作为测试样本的异常分数;最后,根据样本的异常分数实现船舶主机状态异常检测任务。
[0032]
本发明中深度同心学习(dcl)的整体框架如图1所示,包括两个重要的表征学习过程:重构学习和同心学习。其中,重构学习致力于从输入数据中学习一个低维潜在表征,而同心学习则是促使获得的低维潜在表征对不同类别间的样本具备足够的判别性。值得注意的是,在dcl中,重构学习和同心学习这两个过程是同时进行的,共同促进不同类别间样本的可区分性,这对于提高异常检测性能是非常有前景的;图1中上部为重构学习,获得的低维表征是任意形状的,几乎不能直接用于异常检测任务,下部为深度同心学习,获得的低维表征具备足够的判别性,可以直接执行异常检测任务。
[0033]
在重构学习中,深度自编码器被用于重构学习,这个用意是可以利用重构学习将高维、结构复杂的输入数据通过非线性映射为一个低维潜在表征,并且,在最小化重构损失下,获得的低维潜在表征能够尽可能多地保留输入数据中的关键信息。然而,通过重构学习获得的低维潜在表征是任意形状的,如图1上部所示,几乎不能直接用于异常检测,甚至可能会损害异常检测性能。一个直接的原因是重构损失是为了压缩数据维度而设计的,这与异常检测任务优化目标不一致。
[0034]
同心学习解决了上述重构学习存在的问题,通过引导重构学习获得的低维潜在表
征形成一个同心分布的潜在空间,如图1下部所示。考虑异常样本的多样性,在同心潜在空间中,引导正常样本映射在同心边界内,而异常样本则被映射在同心边界外,这可以为多样化、不可预知的异常模式提供一个更大的映射区域。在同心分布的情况下,通过度量样本到同心中心的距离可直接识别正常样本和异常样本。因此,为了获得可直接用于异常检测的低维潜在表征,需要设计一种损失引导同心学习,本发明称之为同心损失。
[0035]
重构学习用于获得一个低维潜在表征,这包括编码和解码两个阶段,如图1上部所示。
[0036]
在编码阶段,编码器对输入数据进行编码,将输入数据映射到一个低维潜在空间,获得一个低维潜在表征,如下式所示:
[0037]
式中, 是编码器特征映射函数,由非线性变换函数构成; 是编码器输入数据; 是编码器输出数据,这是一个用来表征输入数据的低维潜在表征,一般 ; 是编码器可学习的权重参数;在解码阶段,解码器占据主导地位,致力于将低维潜在表征重构为输入数据,如下公式所示:
[0038]
式中, 是解码器特征映射函数,由非线性变换函数构成; 是重构数据; 是解码器可学习的权重参数;深度自编码器网络的权重参数可以通过最小化重构误差获得,均方误差(mse)被作为重构损失函数,如下所示: ,式中, 表示重构损失; 是深度自编码器网络通过训练可学习的权重参数; 是编码器输入数据; 是重构数据。
[0039]
同心损失用于引导同心学习。传统基于dae的表征学习,获得的潜在空间是任意形状的,如图2中(a)部分所示。为了引导低维潜在表征形成一个同心分布的潜在空间,同心损失不仅需要对映射在同心内边界外的正常样本潜在表征施加大的惩罚以促使其落在同心内边界内,还需要对映射在同心外边界内的异常样本潜在表征施加大的惩罚以促使其落在同心外边界外,如图2中(b)部分所示。通过最小化同心损失,可以迫使正常样本映射在同心内边界内,而异常样本映射在同心外边界外,这允许正常样本和异常样本两者对应的低维潜在表征之间有一个明显的同心分离间隔,如图2中(c)部分所示。
[0040]
在同心潜在空间中,给定的一个同心中心为 ,低维潜在表征 到同心中心的距离可以采用欧式距离来度量,如下所示: ,式中, 是可学习的网络权重参数; 是第i-th输入数据 映射到潜在空间中的低维潜在表征; 可以被简写为 。本发明默认设置同心中心c为潜在空间坐标原点。
[0041]
同心损失一般形式可定义如下:
[0042]
[0043]
式中,n为样本数量; 为第i-th个样本对应的标签,正常样本标签为0,异常样本标签为1; 分别表示为同心内边界半径和同心外边界半径,一般地 ,本发明默认设置r1 = 0.5,r2 = 1,在实践中,这会获得一个理想的结果;考虑输入数据为正常样本时,即 ,此时同心损失为:
[0044]
从上式可以看出,如果正常样本被映射在同心内边界之外,即 ,此时 ,这需要对其施加大的约束,使其往同心中心聚拢,直到其落入同心内边界;如果正常样本被映射在同心内边界之内,即 ,此时 ,则不需要对其施加额外的约束。通过随机梯度下降法(sgd)最小化 ,可以保证正常样本被映射到潜在空间半径为r1的同心内边界内,即正常样本的潜在表征分布在同心内边界内。 的梯度计算如下式所示:
[0045]
式中, 表示正常样本引起的同心损失 对可学习的网络权重参数 求偏导数; 表示编码器输入数据 的第 个样本; 表示同心中心位置;表示与 对应的第 个低维潜在表征 到同心中心 的距离; 表示 对可学习的网络权重参数 求偏导数;r1表示同心内边界半径;考虑输入数据为异常样本的情况下,即 ,此时同心损失为:
[0046]
从上式可以看出,如果异常样本被映射在同心外边界之内,即 ,此时 ,这需要对其施加约束,直至将其推出同心外边界之外;如果异常样本被映射在同心外边界之外,即 ,此时 ,则不需要对其施加额外的约束。通过sgd最小化 ,可以保证异常样本被映射到潜在空间半径为r2的同心外边界外,即异常样本的潜在表征分布在同心外边界外, 的梯度计算如下式所示:
[0047]
式中, 表示异常样本引起的同心损失 对可学习的网络权重参数 求偏导数; 表示编码器输入数据 的第 个样本; 表示同心中心位置; 表示与 对应的第 个低维潜在表征 到同心中心 的距离; 表示 对可学习的网络权重参数 求偏导数;r2表示同心外边界半径;
考虑的是由正常样本产生的重构损失,不包括异常样本产生的。
[0058]
(2) :表征了正常样本被映射在同心内边界外产生的同心损失。为了获得的正常样本潜在表征能够分布在同心内边界内,期望 越小越好。
[0059]
(3) :表征了异常样本被映射在同心外边界内产生的同心损失。为了获得的异常样本低维潜在表征能够分布在同心外边界外,期望 越小越好。
[0060]
通过最小化 ,可以保证得到一个低维潜在表征呈现同心分布的潜在空间。在这个潜在空间中,低维潜在表征不仅能够很好地保留正常样本输入数据中包含的重要信息,并且正常样本被映射在同心内边界内,异常样本被映射同心外边界外。
[0061]
本发明使用84维特征向量作为输入。
[0062]
数据集详细信息如表1所示。
[0063]
该数据集被添加了60db的高斯白噪声,共包含3500个样本,包括14种健康状态,分别为正常状态(无故障)、进气歧管压力降低、1号至6号气缸压缩比降低和1号至6号气缸燃油喷射量减少,每种健康状态的样本数均为250个。
[0064]
除正常状态外,其余状态均为异常状态。
[0065]
本发明将正常状态和其余异常状态依次组合,共形成13个异常检测数据集,分别标记为ad1、ad2、
…
、ad13。对于每个数据集,按照7:3的比例随机划分为训练数据集与测试数据集。
[0066]
dcl主要是在dae的基础上引入同心学习(即在同心损失联合监督下)进行表征学习,并且通过同心损失中的两个权重因子来克服类别不均衡的问题。本发明使用3种方法,即dae、dcl_n以及dcl,进行对比实验。其中,dae:仅使用均方误差损失作为优化目标;dcl_n:使用均方误差损失和不考虑克服类别不均衡的同心损失作为优化目标;dcl:使用均方误差损失和考虑克服类别不均衡的同心损失作为优化目标。
[0067]
表1 船舶主机健康状态类型及其对应的样本数量
[0068]
与网络结构相关的超参数参考现有文献并设置为fc(input_size, 60, bn, leakyrelu)-fc(60, 30, bn, leakyrelu)-fc(30, 10, bn, leakyrelu)-fc(10, 2, none, none)-fc(2, 10,bn, leakyrelu)-fc(10, 30,bn, leakyrelu)-fc(30, 60,bn, leakyrelu)-fc(60, output_size, none, none)。其中,fc表示全连接层,bn表示批归一化层,leakyrelu表示leakyrelu激活函数层,input_size、output_size分别是dcl输入和输出向量的特征维度,两者相等;括号里参数分别表示为fc输入神经元数目、输出神经元数目、紧随fc后的批归一化以及紧随bn后的激活函数。从中可以看出,编码器输出是2d的,即潜在表征维度是2d。与网络权重优化的超参数参考现有文献并设置如下。迭代次数为200;采用sgd优化器,动量为0.9,权重衰减为0.0001;初始学习率为0.001,之后每66次迭代衰减0.1;批大小设置为128。
[0069]
本发明使用auc-roc (area under receiver operating characteristic curve)和auc-pr(area under precision-recallcurve)这两种常用的评价指标来综合评价所考虑方法的检测性能。auc-roc关注的是真阳性率(true positive rate,tpr)和假阳性率(false positive rate,fpr)这两个指标之间的关系。当auc-roc=1时模型性能最好,而auc-roc=0.5时意味着模型没有分辨能力。auc-pr关注的是准确率(precision)和召回率(recall)两个指标之间的关系,而非真阳性率和假阳性率。auc-pr越高,检测性能越好;当auc-pr=1时模型性能最好。
[0070]
为了验证算法的有效性,组织了多组实验。首先,评估所构建方法在13个异常检测数据集上的性能表现;然后,通过改变训练数据集上的异常样本比例来探究异常样本不足条件下所构建方法的检测性能;最后,对所构建的方法进行收敛性分析。本发明所构建的dcl是在pytorch 1.8.0上实现的,所有实验均是在一台配置为 intel (r) core (tm) i9-9900k cpu @ 3.60ghz的计算机上执行。
[0071]
不同数据集上性能比较如下:表2给出了所考虑的方法在13个异常检测数据集上的性能。
[0072]
为避免随机因素的影响,每个结果是5次重复实验的平均值。从表2中实验结果可以看出,可以得到如下结论。
[0073]
(1)不论是auc-roc还是auc-pr,dcl_n的性能均优于dae。更为具体地,就平均auc-roc而言,dcl_n比dae获得0.89%的性能提升;就平均auc-pr而言,dcl_n比dae获得0.76%的性能提升。dcl_n与dae不同在于dcl_n使用了同心损失,dcl_n获得优于dae的检测性能表明,同心损失可以促使dcl_n获得具有判别性的潜在表征来分离正常样本和异常样本。
[0074]
(2)就平均auc-roc和平均auc-pr而言,在所考虑的3种方法中,dcl获得了100%的最好检测性能。与dcl_n相比,dcl使用了考虑类别不均衡的同心损失。尽管在所考虑的13个数据集中正常样本和异常样本的比例是相同的,但是dcl使用的同心损失中的两个权重因子产生更大的损失,起到更强的正则化作用,因此能获得优于dcl_n的性能提升。
[0075]
下面考察不同训练异常比例(即异常样本不足、类别不均衡条件下)对dcl检测性能的影响。在这里,训练异常比例指的是训练过程中使用的异常样本占训练数据集中异常样本的比例。在训练中,通过改变训练数据集上的异常样本比例进行实验验证。
[0076]
图4给出了所考虑方法在13个异常检测数据集上的实验结果。每个结果均是每一方法在每个数据集上5次重复实验的平均测试性能。可以看出,随着训练异常比例增大,dae、dcl_n、dcl的性能呈现逐步提升的趋势,这表明在训练数据集上适当增加异常样本有助于学习正常样本和异常样本之间的判别性信息,提高不同类别间样本的可区分性。然而,在训练异常比例较小的情况下,dae的检测性能相对较差,而dcl_n、dcl均保持着较高的检测性能,这表明所构建的方法在类别不均衡的情况下仍能具备优异的表征学习能力;尤其是dcl,由于考虑了类别不均衡的问题,取得了相较于dcl_n更好的检测性能。dcl获得的性能提升表明,在异常检测任务考虑类别不均衡问题很有必要,同心损失可以促使表征学习获得更具判别性的潜在表征来区分不同类别间的样本。
[0077]
表2 不同方法在测试样本集上的检测性能(%)
[0078]
在dcl中,使用了两种损失,即重构损失(mse loss)和同心损失(concentric loss),两种损失之和构成了总的损失(total loss)。图5展示了dcl在ad1、ad2、ad3、ad4异常检测数据集测试样本的损失曲线。可以看出,随着网络权重的优化,总的损失逐步收敛到一个小的值。开始时总的损失较大,主要是由同心损失引起的。之后,随着同心损失减小,重构损失在总的损失中占据主导作用。观察在不同数据集上的损失曲线变化,可以看出同心损失具有良好的收敛性。
[0079]
为了进一步了解dcl获得的潜在表征是否具有足够的判别性来区分不同类别间的样本,图6展示了dcl在ad1、ad2、ad3、ad4、ad5、ad6数据集测试样本的潜在表征可视化结果。可以看出,在不同数据集上,绝大部分正常样本的潜在表征落在同心内边界(即半径为r1的同心圆)内,绝大部分异常样本的潜在表征则落在同心外边界(即半径为r2的同心圆)外,正常样本和异常样本具有明显的分离间隔。在不同数据集上的可视化结果表明,dcl获得的潜在表征具有足够的判别性信息来分离正常样本和异常样本。
[0080]
本发明构建了一种新的深度表征学习方法,即深度同心学习(dcl),促进学习有效的潜在表征来提高船舶主机状态异常检测性能。dcl的主要新颖之处在于构建了一种同心损失引导潜在表征形成一个同心潜在空间。在这个同心潜在空间中,正常样本被映射在同心内边界内,异常样本被映射在同心外边界外。并且,通过在训练过程中设置同心内外边界半径形成一个同心间隔,可以很好地将正常样本与异常样本分离,显著提高不同类别间的可分离性。
[0081]
通过在船舶主机数据集上的实验结果验证了dcl在提高异常检测性能方面的有效性。具体来说,与传统基于dae的方法相比,在所考虑的13个异常检测数据集上,就平均auc-roc与平均auc-pr而言,dcl_n分别获得0.89%、0.76%的检测性能提升;进一步地,在所考虑的3种方法(即dae、dcl_n、dcl)中,考虑类别不均衡问题的dcl获得了100%的最高检测性能。在不同训练异常比例下,dcl_n和dcl均获得比dae更好的检测性能。dcl获得的性能提升表明,在异常检测任务中考虑类别不均衡问题很有必要,同时也表明dcl可以显著促进表征学习获得有判别性的潜在表征来提升船舶主机状态异常检测性能。
[0082]
最后,dcl不仅可以应用于船舶主机状态异常检测任务,还可以应用于其他需要提高不同类别之间可分性的模式识别任务中。
技术特征:
1.一种基于深度同心学习的船舶主动力异常检测方法,其特征在于,包括以下步骤:步骤1:数据预处理,通过将从船舶主机状态传感器中获取到的监测数据划分为训练数据集和测试数据集;步骤2:构建深度同心学习dcl模型,并利用深度同心学习dcl模型进行表征学习,在训练阶段,使用dcl对训练数据集进行非线性特征学习,同步执行重构学习与同心学习;步骤3:网络权重优化得到优化后的深度同心学习dcl,首先,分别计算重构损失和同心损失,然后通过随机梯度下降sgd联合最小化重构损失和同心损失来优化权重,最后判断判迭代次数是否达到设定的迭代次数,若是,得到优化后的dcl,若否,则返回步骤2;步骤4:异常检测,首先,将船舶主机状态测试数据集输入到优化后的dcl中获得一个低维潜在表征,然后,计算低维潜在表征到同心中心的距离,作为测试样本的异常分数,最后,根据样本的异常分数输出船舶主机状态异常检测结果。2.根据权利要求1所述的一种基于深度同心学习的船舶主动力异常检测方法,其特征在于,步骤2中深度同心学习dcl模型的构建包括以下步骤:步骤2-1:重构学习以用于获得一个低维潜在表征,包括编码和解码两个阶段,在编码阶段,编码器对输入数据进行编码,将输入数据映射到一个低维潜在空间,获得一个低维潜在表征,如下式所示:(1),式中,是编码器特征映射函数,由非线性变换函数构成;是编码器输入数据;是编码器输出数据,是一个用来表征输入数据的低维潜在表征,;是编码器可学习的权重参数;在解码阶段,解码器占据主导地位,致力于将低维潜在表征重构为输入数据,如下公式所示:,式中,是解码器特征映射函数,由非线性变换函数构成;是重构数据;是解码器可学习的权重参数;深度自编码器网络的权重参数通过最小化重构误差获得,均方误差mse被作为重构损失函数,如下所示:,式中,表示重构损失;是深度自编码器网络通过训练可学习的权重参数;步骤2-2:构建同心损失用于引导同心学习;步骤2-3:设定异常分数与同心决策边界;步骤2-4:构造优化目标函数。3.根据权利要求2所述的一种基于深度同心学习的船舶主动力异常检测方法,其特征在于,步骤2-2中在同心潜在空间中,给定的一个同心中心为,低维潜在表征到同心中心的距离采用欧式距离来度量,如下所示:,式中,是第i-th输入数据映射到潜在空间中的低维潜在表征;被简写为,默认设置同心中心c为潜在空间坐标原点,同心损失一般形式定义如下:
式中,n为样本数量;为第i-th个样本对应的标签,正常样本标签为0,异常样本标签为1;分别表示为同心内边界半径和同心外边界半径,,考虑输入数据为正常样本时,即,同心损失为:从上式可以看出,如果正常样本被映射在同心内边界之外,即,此时,这需要对其施加大的约束,使其往同心中心聚拢,直到其落入同心内边界;如果正常样本被映射在同心内边界之内,即,此时,则不需要对其施加额外的约束,通过随机梯度下降法sgd最小化,保证正常样本被映射到潜在空间半径为r1的同心内边界内,即正常样本的潜在表征分布在同心内边界内,的梯度计算如下式所示:式中,表示正常样本引起的同心损失对可学习的网络权重参数求偏导数;表示编码器输入数据的第个样本;表示同心中心位置;表示与对应的第个低维潜在表征到同心中心的距离;表示对可学习的网络权重参数求偏导数;r1表示同心内边界半径;考虑输入数据为异常样本的情况下,即,此时同心损失为:从上式看出,如果异常样本被映射在同心外边界之内,即,此时,这需要对其施加约束,直至将其推出同心外边界之外;如果异常样本被映射在同心外边界之外,即,此时,则不需要对其施加额外的约束,通过sgd最小化证异常样本被映射到潜在空间半径为r2的同心外边界外,即异常样本的潜在表征分布在同心外边界外,的梯度计算如下式所示:,式中,表示异常样本引起
的同心损失对可学习的网络权重参数求偏导数;表示编码器输入数据的第个样本;表示同心中心位置;表示与对应的第个低维潜在表征到同心中心的距离;表示对可学习的网络权重参数求偏导数;r2表示同心外边界半径;同心损失通过两个权重因子来克服类别不均衡带来的不利影响,如下公式所示:,式中,为正常样本数量,为异常样本数量, ;为正常样本权重因子,为异常样本权重因子,在实际使用中,设置为异常样本数量,即;设置为正常样本的数量,即。4.根据权利要求3所述的一种基于深度同心学习的船舶主动力异常检测方法,其特征在于,步骤2-3中异常分数通过计算低维潜在表征到同心中心的距离获得,如下公式所示:,式中,表示第i-th个样本对应的异常分数;同心决策边界在训练结束后采用p分位数法获得,简记为,具体流程为:根据公式(4)计算所有样本深度特征与同心中心之间的距离;将所有样本到同心中心的距离按从小到大排列为;假设训练集中异常样本数量为m,采用p分位数法在d中获得一个样本同心距离为,表示在d中第n-m位置处对应的样本同心距离,则有,获得每个样本的异常分数后,将异常得分高于的样本视为异常样本,从而实现异常检测,如下公式所示:,式中,时为正常样本,时为异常样本。5.根据权利要求2所述的一种基于深度同心学习的船舶主动力异常检测方法,其特征在于,步骤2-4具体包括以下步骤:给定一个数据集包含个正常样本和个异常样本,考虑类别不均衡的情况下,监督深度同心学习dcl训练的优化目标函数构造如下:,深度同心学习dcl的优化目标函数包括三个组成部分:(1):表征了由深度自编码器网络引起的重构误差,考虑的是由正常样本产生的重构损失,不包括异常样本产生的;(2):表征了正常样本被映射在同心内边界外产生的同
心损失,越小越好,(3):表征了异常样本被映射在同心外边界内产生的同心损失,期望越小越好。
技术总结
本发明涉及船舶推进动力检测技术领域,具体的说是一种能够对船舶主机运行状态进行准确检测的基于深度同心学习的船舶主动力异常检测方法,通过构建一种新的深度表征学习方法,即深度同心学习(DCL),从而致力于学习一种新的潜在表征来有效地分离不同类别间的样本,以促进船舶主机状态异常检测性能,解决了传统基于DAE的表征学习与异常检测任务优化目标不一致造成检测性能不理想的问题。一致造成检测性能不理想的问题。一致造成检测性能不理想的问题。
技术研发人员:钟百鸿 赵明航 钟诗胜 付旭云 张永健
受保护的技术使用者:哈尔滨工业大学(威海)
技术研发日:2023.06.07
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
