风机故障检测方法、控制装置及存储介质转让专利

申请号 : CN202311101124.4

文献号 : CN116821730B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 许伯强晏旺徐严侠

申请人 : 北京科锐特科技有限公司

摘要 :

本发明涉及故障检测技术领域,具体提供一种风机故障检测方法、控制装置及存储介质,旨在解决现有检测模型因遗忘历史任务而导致故障检测不准确的问题。为此目的,本发明的风机故障检测方法包括:获取待检测风机的运行数据;将所述运行数据输入至预先训练好的故障检测模型,以使所述预先训练好的故障检测模型输出所述待检测风机是否发生故障的检测结果;其中,所述故障检测模型包括初步检测网络和与所述初步检测网络连接的子记忆网络;所述子记忆网络用于对所述初步检测网络输出的数据分类信息进行优化,以获得优化后的分类信息作为所述检测结果。

权利要求 :

1.一种风机故障检测方法,其特征在于,所述方法包括:

获取待检测风机的运行数据;

将所述运行数据输入至预先训练好的故障检测模型,以使所述预先训练好的故障检测模型输出所述待检测风机是否发生故障的检测结果;其中,所述故障检测模型包括初步检测网络和与所述初步检测网络连接的子记忆网络;所述子记忆网络用于对所述初步检测网络输出的数据分类信息进行优化,以获得优化后的分类信息作为所述检测结果;

所述初步检测网络包括:CNN‑LSTM网络;所述CNN‑LSTM网络用于对接收到的所述运行数据进行特征提取,并基于提取到的特征信息输出与所述运行数据对应的数据分类信息;

所述CNN‑LSTM网络包括:依次连接的输入层、卷积层、激活层、池化层、LSTM层和全连接层;其中,所述卷积层和所述全连接层均有多层;所述子记忆网络包括:至少一个子存储器,以及,与每个所述子存储器对应的子分类器;多层所述全连接层至少部分跳过连接至与当前输入数据对应的所述子存储器;每个所述子存储器用于存储与该子存储器跳过连接的所述全连接层输出的分类信息;每个所述子分类器与最后一层全连接层连接,每个所述子分类器还与与其对应的子存储器连接;每个所述子分类器用于基于最后一层全连接层输出的数据分类信息和当前子存储器输出的分类信息,获得所述优化后的分类信息作为所述检测结果;其中,每个所述子存储器和与每个所述子存储器对应的所述子分类器均基于每一次的输入数据生成,以学习当前输入数据的特征,并保留历史输入数据的特征;所述跳过连接为带有线性变换的跳过连接。

2.根据权利要求1所述的风机故障检测方法,其特征在于,将所述运行数据输入至预先训练好的故障检测模型包括:对所述运行数据进行预处理,获得处理后的数据;将所述处理后的数据输入至预先训练好的故障检测模型;其中,对所述运行数据进行预处理包括:采用DBSCAN聚类算法剔除所述运行数据中密度低于预设密度阈值的数据,获得无噪声数据;

根据最小二乘法或3‑Sigma法则对所述无噪声数据设置正态数据区间;

剔除所述正态数据区间外的数据,获得所述处理后的数据。

3.根据权利要求1所述的风机故障检测方法,其特征在于,每个所述子分类器还用于对所述优化后的分类信息进行L2范数归一化操作,获得归一化后的分类信息作为所述检测结果。

4.根据权利要求1所述的风机故障检测方法,其特征在于,在对每个所述子存储器进行训练的过程中,采用的损失函数为: 其中, 为所述损失函数; 为超参数,用于防止

历史任务性能下降; 为用于保留历史任务所学习到的知识的损失项; 为通过所述CNN‑LSTM网络和第 个所述子存储器的前馈输出计算出的误差; 为迁移学习损失; 为超参数,用于控制迁移学习损失 的重要性;表示 正则化。

5.根据权利要求4所述的风机故障检测方法,其特征在于,所述损失项 采用以下表达式表达: 其中, 是从当前任务

图像中获取的现有模型的输出; 是在训练期间将当前任务图像馈送到网络中获取的现有模型的输出;是标签数;和 均为任务序号;为通过增加预定权重来软化权重分布的温度,为一个预设常数;所述误差 采用以下表达式表达: 其中,为第 个所述子分类器的输出; 为 函数,为一个

激活函数;所述迁移学习损失 采用以下表达式表达:

其中,为第 个所述子分类器的输出; 为第 个所述子存储器的输

出; 为 函数,为一个激活函数。

6.根据权利要求1所述的风机故障检测方法,其特征在于,所述子记忆网络还采用以下方式获得所述检测结果:计算所述优化后的分类信息的均方根误差;

判断所述均方根误差是否大于预设阈值;

当所述均方根误差大于所述预设阈值时,确定所述待检测风机发生故障;

当所述均方根误差不大于所述预设阈值时,确定所述待检测风机没有发生故障。

7.一种控制装置,包括处理器和存储装置,所述存储装置适于存储多条程序代码,其特征在于,所述程序代码适于由所述处理器加载并运行以执行权利要求1至6中任一项所述的风机故障检测方法。

8.一种计算机可读存储介质,其中存储有多条程序代码,其特征在于,所述程序代码适于由处理器加载并运行以执行权利要求1至6中任一项所述的风机故障检测方法。

说明书 :

风机故障检测方法、控制装置及存储介质

技术领域

[0001] 本发明涉及故障检测技术领域,具体提供一种风机故障检测方法、控制装置及存储介质。

背景技术

[0002] 风能作为一种清洁无污染的可再生能源,具有分布广、储量巨大的优势,受到了世界各国的重视。风力发电技术是风能的主要利用形式,也是新能源领域的重点研究方向。因此,利用风力发电逐渐成为替代传统发电的新途径。
[0003] 风力发电技术的快速发展和风能的大规模开发利用提出了与可靠性、成本效益和能源安全相关的关键挑战。一方面,风电机组长期暴露在极端、多变、24/7全天候的天气条件下,使风电机组在运行过程中容易发生事故。另一方面,风电机组通常安装在交通不便的偏远地区或近海地区,机舱一般安装在距离地面数十米甚至上百米的高空,使得风电机组的日常监控和维护变得困难。一旦出现问题,需要相当长的时间来检查故障原因,这大大降低了风电场的利润。对风电机组进行状态监测和故障诊断,在故障发生前及时预警,提早发现微弱故障,能有效避免严重故障的发生,可以有效降低风电机组的运维成本、提高机组可靠性。
[0004] 监控与数据采集系统(Supervisory Control And Data Acquisition, SCADA)是风电机组常用的状态监测系统。该系统实现对风电机组进行实时监控、数据记录、故障报警等主要功能,可以实时地监测到风场中所有风电机组的运行及发电状态、整个风场发电量、历史故障信息等。此外,在系统中记录了大量的与风电机组运行状态相关的数据信息如风速、转速、振动、电流、电压、风力等。
[0005] 纵观风力发电机组SCADA系统的现有文献内容,有关风力发电机组异常运行状态辨识与检测方面,大致分为三大类:基于统计学习的异常运行状态辨识方法,基于机器学习的异常运行状态辨识方法,以及基于密度/距离的异常运行状态辨识方法。
[0006] 在风电领域中,有关基于SCADA数据分析的风力发电机组故障检测、诊断及预警方面,目前学术界与工业界中常见技术主要可以分为警报评估与专家系统方法、趋势分析方法、聚类/分类方法、损伤模型建模方法以及正常行为建模方法。正常行为建模方法的基本原理与风力发电机组的故障检测与预警需求较为契合,现有研究也表明其在故障检测与预警的准确性方面表现较好,已逐渐成为基于SCADA数据分析的风力发电机组故障检测、诊断与预警的重点研究方向。
[0007] 然而,现有的采用建模方式来预测风机故障的方案仅适用于特定的输入数据,当输入数据改变或输入数据维度增加时,需要对模型进行重新训练,才能得到一个较准确的预测结果。即采用现有方式建立的模型存在对历史任务遗忘的问题,它们在适应新任务的同时忘记了大量以前学习过的任务,若输入数据改变,则无法得到准确的故障检测结果。
[0008] 基于此,本领域需要一种新的风机故障检测方案来解决上述问题。

发明内容

[0009] 为了克服上述缺陷,提出了本发明,以提供解决或至少部分地解决现有检测模型因遗忘历史任务而导致故障检测不准确的技术问题的风机故障检测方法、装置、控制装置及存储介质。
[0010] 在第一方面,本发明提供一种风机故障检测方法,所述方法包括:
[0011] 获取待检测风机的运行数据;
[0012] 将所述运行数据输入至预先训练好的故障检测模型,以使所述预先训练好的故障检测模型输出所述待检测风机是否发生故障的检测结果;其中,所述故障检测模型包括初步检测网络和与所述初步检测网络连接的子记忆网络;所述子记忆网络用于对所述初步检测网络输出的数据分类信息进行优化,以获得优化后的分类信息作为所述检测结果。
[0013] 在上述风机故障检测方法的一个技术方案中,将所述运行数据输入至预先训练好的故障检测模型包括:对所述运行数据进行预处理,获得处理后的数据;将所述处理后的数据输入至预先训练好的故障检测模型;其中,对所述运行数据进行预处理包括:
[0014] 采用DBSCAN聚类算法剔除所述运行数据中密度低于预设密度阈值的数据,获得无噪声数据;
[0015] 根据最小二乘法和/或3‑Sigma法则对所述无噪声数据设置正态数据区间;
[0016] 剔除所述正态数据区间外的数据,获得所述处理后的数据。
[0017] 在上述风机故障检测方法的一个技术方案中,所述初步检测网络包括:CNN‑LSTM网络;所述CNN‑LSTM网络用于对接收到的所述运行数据进行特征提取,并基于提取到的特征信息输出与所述运行数据对应的数据分类信息。
[0018] 在上述风机故障检测方法的一个技术方案中,所述CNN‑LSTM网络包括:依次连接的输入层、卷积层、激活层、池化层、LSTM层和全连接层;其中,所述卷积层和所述全连接层均有多层;所述子记忆网络包括:至少一个子存储器,以及,与每个所述子存储器对应的子分类器;多层所述全连接层至少部分跳过连接至与当前所述输入数据对应的所述子存储器;每个所述子存储器用于存储与该子存储器跳过连接的所述全连接层输出的分类信息;每个所述子分类器与最后一层全连接层连接,每个所述子分类器还与与其对应的子存储器连接;每个所述子分类器用于基于最后一层全连接层输出的数据分类信息和当前子存储器输出的分类信息,获得所述优化后的分类信息作为所述检测结果。
[0019] 在上述风机故障检测方法的一个技术方案中,每个所述子分类器还用于对所述优化后的分类信息进行L2范数归一化操作,获得归一化后的分类信息作为所述检测结果。
[0020] 在上述风机故障检测方法的一个技术方案中,在对每个所述子存储器进行训练的过程中,采用的损失函数为:
[0021]
[0022] 其中, 为所述损失函数; 为超参数,用于防止历史任务性能下降; 为用于保留历史任务所学习到的知识的损失项; 为通过所述CNN‑LSTM网络和第 个所述子存储器的前馈输出计算出的误差; 为迁移学习损失; 为超参数,用于控制迁移学习损失 的重要性;表示 正则化。
[0023] 在上述风机故障检测方法的一个技术方案中,所述损失项 采用以下表达式表达:
[0024]
[0025] 其中, 是从当前任务图像中获取的现有模型的输出; 是在训练期间将当前任务图像馈送到网络中获取的现有模型的输出;是标签数;和 均为任务序号;为通过增加预定权重来软化权重分布的温度,为一个预设常数;
[0026] 和/或,所述误差 采用以下表达式表达:
[0027]
[0028] 其中, 为第 个所述子分类器的输出; 为 函数,为一个激活函数;
[0029] 和/或,所述迁移学习损失 采用以下表达式表达:
[0030]
[0031] 其中, 为第 个所述子分类器的输出; 为第 个所述子存储器的输出;为 函数,为一个激活函数。
[0032] 在上述风机故障检测方法的一个技术方案中,所述子记忆网络还采用以下方式获得所述检测结果:
[0033] 计算所述优化后的分类信息的均方根误差;
[0034] 判断所述均方根误差是否大于预设阈值;
[0035] 当所述均方根误差大于所述预设阈值时,确定所述待检测风机发生故障;
[0036] 当所述均方根误差不大于所述预设阈值时,确定所述待检测风机没有发生故障。
[0037] 在第二方面,提供一种控制装置,该控制装置包括处理器和存储装置,所述存储装置适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行上述风机故障检测方法的技术方案中任一项技术方案所述的风机故障检测方法。
[0038] 在第三方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述风机故障检测方法的技术方案中任一项技术方案所述的风机故障检测方法。
[0039] 本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0040] 在实施本发明的技术方案中,通过预先训练好的具有发展记忆的CNN‑LSTM模型来检测风机故障,由于该模型能够基于每一次的输入数据生成与该次输入数据对应的子记忆网络,因此其不仅能够学习当前输入数据的特征,并且能够保留历史输入数据的特征,即其能够通过不断生成子记忆网络来学习并保留单个任务的重要特征,有效解决了现有的风机故障模型对历史任务的遗忘问题。因此,本发明提供的技术方案,即使在输入的风机运行数据发生改变的情况下,也能够准确地检测风机故障,极大地提高了风机故障的检测准确率。

附图说明

[0041] 参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:
[0042] 图1是本发明一个实施例的风机故障检测方法的主要步骤流程示意图;
[0043] 图2是本发明一个实施例中对风机运行数据进行预处理的流程图;
[0044] 图3是本发明一个实施例中CNN的结构示意图;
[0045] 图4是本发明一个实施例中LSTM层的结构示意图;
[0046] 图5是本发明一个实施例中具有发展记忆的CNN‑LSTM模型的结构示意图;
[0047] 图6是本发明一个实施例中风机故障检测流程图;
[0048] 图7是本发明一个实施例的风机故障检测装置的主要结构框图示意图。
[0049] 附图标记列表:
[0050] 11:数据获取单元;12:输入单元。

具体实施方式

[0051] 下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
[0052] 在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
[0053] 这里先解释本发明涉及到的一些术语。
[0054] CNN,Convolutional Neural Networks,卷积神经网络;
[0055] LSTM,Long Short‑Term Memory,长短时记忆网络;
[0056] DM模块,Developmental Memory,发展记忆模块;
[0057] CNN‑LSTM‑DM,具有发展记忆的CNN‑LSTM模型;
[0058] GL,Guided Learning,引导学习。
[0059] 当以顺序方式学习新任务时,传统的CNN模型面临着灾难性的遗忘:它们在适应新任务的同时忘记了大量以前学习过的任务。为了克服使用CNN持续学习的主要障碍,本发明提出了一种新的学习网络,即具有发展记忆的CNN‑LSTM模型(CNN‑LSTM‑DM)。将DM引入CNN‑LSTM模型,不断生成子记忆网络来学习单个任务的重要特征。
[0060] 为了加强记忆效应,在DM结构中引入了带有线性变换的跳过连接,通过反映多级特征来提高模型性能。此外,本发明还提出了一种新的有效训练DM的学习方法,称为GL(Guided Learning)。使用GL,通过学习当前任务的信息特征,引导新的子存储器与整个网络一起成为新任务的专家。这使得模型在CNN‑LSTM和DM之间发挥了集成效应,从而在目标任务上获得了更好的性能。同时,现有的子记忆对旧任务的特征进行编码使CNN‑LSTM‑DM不会忘记先前学习的任务。
[0061] 参阅附图1,图1是本发明一个实施例的风机故障检测方法的主要步骤流程示意图。如图1所示,本发明实施例中的风机故障检测方法主要包括下列步骤S101‑步骤S102。
[0062] 步骤S101,获取待检测风机的运行数据;
[0063] 本实施例中,通过SCADA系统采集获取待检测风机的原始运行数据。SCADA系统采集的原始风机数据包括但不限于:环境风速、环境温度、运行频率、有功功率、无功功率、叶轮转速、发电机转速、对风角、风向角、偏航位置、偏航速度、网侧A相电流、网侧B相电流、网侧C相电流、网侧A相电压、网侧B相电压、网侧C相电压、水平方向加速度、垂直方向加速度、叶片角速度、叶片变桨角度、变桨电机温度、液压系统油温、液压系统油压、机舱温度、齿轮箱油温、齿轮箱高速轴承温度、发电机滑环温度、发电机定子绕组温度U1、发电机定子绕组温度V1、发电机定子绕组温度W1、发电机驱动侧轴承温度、变流器控制器温度、变流器控制柜温度、变流器转子侧温度L1、变流器转子侧温度L2、变流器转子侧温度L3和变流器网侧电抗器温度。
[0064] 需要说明的是,本实施例中所用到的风机的运行数据可以是上述所有数据,也可以是上述数据中的部分数据,具体应用中可根据实际情况确定。
[0065] 步骤S102,将所述运行数据输入至预先训练好的故障检测模型,以使所述预先训练好的故障检测模型输出所述待检测风机是否发生故障的检测结果;其中,所述故障检测模型包括初步检测网络和与所述初步检测网络连接的子记忆网络;所述子记忆网络用于对所述初步检测网络输出的数据分类信息进行优化,以获得优化后的分类信息作为所述检测结果。
[0066] 本实施例中,将所述运行数据输入至预先训练好的故障检测模型包括:对所述运行数据进行预处理,获得处理后的数据;将所述处理后的数据输入至预先训练好的故障检测模型;其中,对所述运行数据进行预处理包括:采用DBSCAN聚类算法剔除所述运行数据中密度低于预设密度阈值的数据,获得无噪声数据;根据最小二乘法和/或3‑Sigma法则对所述无噪声数据设置正态数据区间;剔除所述正态数据区间外的数据,获得所述处理后的数据。
[0067] 具体地,DBSCAN(Density‑Based Spatial Clustering of Applications with Noise,基于密度带有噪声的空间聚类)算法是一种识别大数据集异常值的有效方法,该方法对数据进行区域处理,实现数据筛选。针对现有的DBSCAN算法无法识别高密度异常数据的问题,本实施例找到了一种结合DBSCAN聚类算法和正态功率区间估计的异常数据处理方案。
[0068] 如图2所示,本实施例首先采用DBSCAN聚类算法去除原始数据中密度低的噪声异常数据,然后根据最小二乘法和/或3‑Sigma法则设置正态数据区间。最后,剔除该正态数据区间外的异常数据,得到处理后的数据,即得到能够输入至故障检测模型中的健康数据。
[0069] 如图2所示,本实施例首先根据风机运行时的风速和风机运行功率数据生成“风速‑功率”图,并依据该“风速‑功率”图结合上述DBSCAN聚类算法来剔除异常数据。其中的最佳功率曲线基于上述“风速‑功率”图获得。
[0070] 本实施例中,所述初步检测网络包括:CNN‑LSTM网络;所述CNN‑LSTM网络用于对接收到的所述运行数据进行特征提取,并基于提取到的特征信息输出与所述运行数据对应的数据分类信息。
[0071] 本实施例中,所述CNN‑LSTM网络包括:依次连接的输入层、卷积层、激活层、池化层、LSTM层和全连接层;其中,所述卷积层和所述全连接层均有多层;所述子记忆网络包括:至少一个子存储器,以及,与每个所述子存储器对应的子分类器;多层所述全连接层至少部分跳过连接至与当前所述输入数据对应的所述子存储器;每个所述子存储器用于存储与该子存储器跳过连接的所述全连接层输出的分类信息;每个所述子分类器与最后一层全连接层连接,每个所述子分类器还与与其对应的子存储器连接;每个所述子分类器用于基于最后一层全连接层输出的数据分类信息和当前子存储器输出的分类信息,获得优化后的分类信息作为所述检测结果。
[0072] 其中,每个所述子存储器和与每个所述子存储器对应的所述子分类器均基于所述每一次的输入数据生成。
[0073] 本实施例中,所述卷积层有2层,所述全连接层有3层。
[0074] 本实施例中,每个所述子分类器还用于对所述优化后的分类信息进行L2范数归一化操作,获得归一化后的分类信息作为所述检测结果。
[0075] 具体地,本实施例所述的具有发展记忆的CNN‑LSTM模型能够基于每一次的输入数据生成与该次输入数据对应的子存储器和子分类器,以学习当前输入数据的特征,并保留历史输入数据的特征。上述具有发展记忆的CNN‑LSTM模型包括:CNN模型、LSTM模型和DM模型。
[0076] 其中,CNN模型的本质是多重过滤器,用于提取数据的特征进行分类和预测。如图3所示,CNN模型包括:输入层、卷积层、激活层、池化层、全连接层和输出层。本实施例中,输入层用于上述处理后的数据的输入,SCADA数据中每一个参数代表一个维度;卷积层用于对输入数据的特征进行提取;激活层:由于卷积层是一种线性运算,因此需要对卷积层的输出增加非线性映射,从而使得网络可以学习到更加复杂的特征;池化层:主要用于特征降维和压缩数据;全连接层:将卷积计算后的结果进行重新拟合,减少特征信息的损失,通过softmax分类器输出结果;输出层:输出最终的结果。
[0077] 由于CNN对时间特征不敏感,但LSTM可以更好地处理时间特征。因此,本实施例将CNN与LSTM相结合,以提取风力发电机组SCADA数据的时间特征。如图4所示,LSTM模型包括:输入门、输出门和遗忘门。其中,输入门用于接收数据的输入;遗忘门用于对输入数据进行选择,获得数据的当前状态;输出门用于输出数据的当前状态。
[0078] 本发明中的DM模块与传统网络扩展不同,因为它具有:1)直接从较低层跳过连接;2)内部特征的线性变换;3)一个新的损失函数,用于将任务特定特征学习到内存中。
[0079] 为了设计DM以持续学习CNN‑LSTM,本实施例将CNN‑LSTM扩展DM,以记忆重要特征并学习新的顺序任务。如图5所示,本实施例使用的CNN‑LSTM模型由2层卷积层、激活层、池化层、LSTM层和3层全连接层组成的表示模块和不断生成子分类器的分类器模块组成。与CNN‑LSTM相比,扩展DM的网络在预训练的CNN‑LSTM上不断生成新的子分类器C1、C2…CN和子存储器M1、M2…MN以用于每个新任务。此外,新生成的子存储器不与已有的子存储器共享其参数,因此每个单独的子存储器仅针对与其对应的任务进行优化。
[0080] 以上通过每学习一个新的任务,对应分类器模块生成一个新的子分类器的方式,能够提高模型学习新任务的性能。
[0081] 本实施例所提出的CNN‑LSTM‑DM模型具有发展特性,以便CNN模型开始学习新任务,这里的任务指的是通过CNN模型对预处理后的SCADA数据进行处理,因为SCADA数据有很多参数,本实施例只使用其中一部分,当增加新的参数时,需要学习新的任务。每个任务生成的子存储器是DM模块的一部分,并且仅针对与其对应的任务进行训练以学习数据特征。经过训练的子存储器使得本实施例提出的模型在新任务上达到更高的性能水平。为了加强记忆效应,本实施例在DM结构中引入了带有线性变换的跳过连接,从而改善了性能。
[0082] 本实施例所述的子存储器是一个线性层,类似于CNN‑LSTM中的增强网络,本实施例将带有线性变换的跳过连接添加到子存储器中,以利用来自除最后一层全连接层外的其他全连接层的非线性和线性映射。CNN‑LSTM‑DM与具有残差或跳过连接的常用网络之间的主要区别如下:具有残差连接的现有网络,例如ResNet,在添加残差连接之前或之后总是有一个非线性函数(ReLU),但CNN‑LSTM‑DM在 DM中不使用这样的非线性函数。此外,ResNet每个残差块都有一个残差连接,但本实施例中的DM有多个来自全连接层的跳过连接,如此,能够增加整个网络的记忆效应,提高模型的整体性能。
[0083] 本实施例使用的模型会将新的神经元(神经元表示CNN模型中的特征,也就是学习任务,也是输入数据的一个参数)在全连接层中得到增强,以提高学习性能。
[0084] 如图5所示,设k是表示模块的总层数,是当前任务的索引。当前已经有 对子分类器和子存储器,第 对子分类器和子存储器仅针对第 个任务新生成。第k层的隐藏激活表示为 ,其中第 个子存储器增强到第k层隐藏激活为 ,其中 表示第(k‑1)层和第 个子存储器之间的权重。这意味着子存储器网络表示为前一个隐藏激活 的线性变换。无论是 还是 ,softmax函数之前的第 个子分类器输出函数计算如下:
[0085]     (1)
[0086] 其中, , 。在此方程中,输出 具有非线性和线性项,类似于跳过连接。
[0087] 子存储器网络可以从较低层具有更多跳过连接。由于连接额外的跳过连接可以加强记忆效应,提高模型性能,因此在本实施例中,从(k‑2)层连接了一个额外的跳过连接到子存储器,这意味着 。在这种情况下,子分类器的输出 为:
[0088]         (2)
[0089] 在CNN‑LSTM中的附加归一化与缩放匹配了预训练原始网络和随机初始化增强网络之间的学习速度。基于此,本实施例将 ‑范数归一化运用到此网络如下:
[0090] (3)
[0091] 式(1)中的输出 将使用表示模块的缩放参数 和第 个子存储器的 更改,如下所示:
[0092] (4)
[0093] 其中, 和 初始化为相同的值,并在训练期间通过反向传播进行微调,是哈达玛积,和 分别指具有归一化和缩放的函数 和权重 。总之,网络中的输出 由具有缩放功能的归一化非线性和线性激活的总和表示。
[0094] 本实施例中,在对每个所述子存储器进行训练的过程中,采用的损失函数为:
[0095]
[0096] 其中, 为所述损失函数; 为超参数,用于防止历史任务性能下降; 为用于保留历史任务所学习到的知识的损失项; 为通过所述CNN‑LSTM网络和第 个所述子存储器的前馈输出计算出的误差; 为迁移学习损失; 为超参数,用于控制迁移学习损失 的重要性;表示 正则化。
[0097] 一个实施方式中,所述损失项 采用以下表达式表达:
[0098]
[0099] 其中, 是从当前任务图像中获取的现有模型的输出; 是在训练期间将当前任务图像馈送到网络中获取的现有模型的输出;是标签数;和 均为任务序号;为通过增加预定权重来软化权重分布的温度,为一个预设常数。
[0100] 一个实施方式中,所述误差 采用以下表达式表达:
[0101]
[0102] 其中, 为第 个所述子分类器的输出; 为 函数,为一个激活函数。
[0103] 一个实施方式中,所述迁移学习损失 采用以下表达式表达:
[0104]
[0105] 其中, 为第 个所述子分类器的输出; 为第 个所述子存储器的输出;为 函数,为一个激活函数。
[0106] 具体地,本实施例提出了一种新的学习方法,称为GL,它在前馈路径中引导新的子存储器成为新任务的专家。引导子存储器在两个方面为网络做出贡献。
[0107] 1. 迁移学习:经过训练的子存储器通过与连接的表示模块产生协同效应,在目标任务上具有更好的性能。
[0108] 2. 连续学习:有效地防止了连续学习中相应任务的遗忘,因为它包含相应任务的信息特征。
[0109] 本实施例对GL采用两种方法。首先以不同方式初始化缩放参数 和 ,采用新的超参数 作为  来控制 和 的初始缩放,以区分表示模块和新子存储器之间的学习速度,其中 。如果 为1,则与原始缩放方法相同。相反,如果 为0,则表示模块为不再直接连接到分类器模块。 的值在0到1之间,这意味着使用 可以提高子存储器的学习速度。第 个任务的方程 (4) 重写如下:
[0110]  (5)
[0111] 接下来,设计一个新的损失函数来训练子存储器。逻辑函数 是通过表示模块和第 个子存储器的前馈输出计算的误差,用于第 个任务。 表示为:
[0112]   (6)
[0113] 其中, 为第 个所述子分类器的输出,是独热编码的真实标签向量; 是经过softmax函数后的输出,即 。需要说明的是,从第一个到第(i‑1)个子存储器都没有参与 的计算,这意味着只有第i个子存储器被优化到第i个任务。记忆损失是通过仅使用第i个子存储器的前馈输出计算的误差。为了获取记忆输出,我们将零输入向量 馈送到表示模块的第k层和除第i个子存储器之外的所有子存储器中,这意味着 且 ,其中j∈{1,…,(i‑1)}。根据式(4),第i个记忆输出为:
[0114]  (7)
[0115] 因此,第i个记忆输出仅通过第i个子存储器计算,而不直接将表示模块连接到第i个分类器。然后将此输出用于逻辑损失,如下所示:逻辑损失是一种常用的损失函数,用于二元分类问题。它的形式为:                 (8)
[0116] 其中, 是经过softmax函数后的记忆输出,即 。然后,第i个任务的迁移学习损失函数为:
[0117]         (9)
[0118] 其中, 是一个新的超参数,用于控制迁移学习损失 的重要性。如果 为零,则迁移学习损失与CNN‑LSTM的损失相同。在本实施例中,我们使用 ,表示新的子存储器被引导与表示模块一起训练第i个任务。一旦GL完成,子存储器就成为一个专家,可以执行类似于整个网络的分类。这意味着训练有素的子存储器编码了对于分类第i个任务至关重要的信息特征。
[0119] 此外,为了使用引导子存储器方便进行连续学习,本实施例将LwF中的KD损失应用于损失项中,以保留先前任务的知识而不会遗忘。这种类型的损失可以表示为:
[0120]            (10)
[0121] 其中, 是从当前任务图像中获取的现有模型的输出; 是在训练期间将当前任务图像馈送到网络中获取的现有模型的输出;l是标签数。 和 是经过修改的softmax的输出,如下所示:
[0122]           (11)
[0123] 其中,T是通过增加小权重来软化权重分布的温度。所有实验中都使用T= 2。现在,连续学习的总损失可以表示为:
[0124]             (12)
[0125] 其中, 是防止旧任务性能下降的超参数; 表示 正则化。在式(12)中,为了简化符号,省略了每个损失项的参数。从式(12)可以看出,通过LwF方法微调现有的子分类器和旧任务的子存储器以保留旧任务的知识。需要说明的是,新的子分类器和子存储器仅通过所提出的GL方法针对新任务进行优化。
[0126] 简而言之,所提出的CNN‑LSTM‑DM通过使用在迁移学习和连续学习中都有益处的引导子存储器,在不遗忘先前学习的任务的情况下有效地学习所有顺序任务。
[0127] 进一步地,在一个实施例中,所述子记忆网络还采用以下方式获得所述检测结果:计算所述优化后的分类信息的均方根误差;判断所述均方根误差是否大于预设阈值;当所述均方根误差大于所述预设阈值时,确定所述待检测风机发生故障;当所述均方根误差不大于所述预设阈值时,确定所述待检测风机没有发生故障。
[0128] 具体地,本实施例采用指数加权移动平均法(EWMA)识别风电机组运行状态,预测风电机组早期故障。该模型能够对风电机组异常状态进行预警,并通过残差预测推导故障组件。
[0129] 在深度学习模型训练过程中,选择正常运行状态下的SCADA数据作为训练样本。相关分析后,选取输入变量,通过反复训练进行预测,学习正常操作状态的数据特征。在测试过程中,如果正常运行状态下输入的数据能够适应模型的特性,则预测的残差很小。如果异常运行状态下的数据输入不能适应模型的特性,则预测的残差会增加。通过分析模型结果确定风力发电机组的工作状态并检测故障。
[0130] 均方根误差(RMSE)、平均绝对百分比误差(MAPE)、平均绝对误差(MAE)和R平方2
(R)被应用于评估所提出模型的预测性能。它们的写法如下:
[0131]               (13)
[0132]                (14)
[0133]                  (15)
[0134] 其中,n表示预测点数; 和 分别表示第i个点的实际值和预测值。
[0135] 风力发电机的工作状态通过RMSE的变化趋势和突变程度来区分。阈值是通过指数加权移动平均(EWMA)设置的。EWMA是指数递减加权的移动平均。如果数据接近,则权重很大。数据越远,权重越小。通过EWMA设置的阈值可以有效地检测残差的RMSE波动,从而监测风力发电机的运行状态。EWMA表示为:
[0136]                   (16)
[0137] 其中,代表历史数据的权重,Rt表示RMSE的算数平均值,初始值S0表示在一段时间内风力发电机预测残差的平均RMSE。
[0138] 检测风力发电机运行状态的阈值是EWMA的上限,其计算公式为:
[0139]         (17)
[0140] 其中, 和 分别表示RMSE的加权平均值和标准差,X是一个常数,与阈值的位置有关。通过训练正常数据,可以确定X值的大小,以确保适当的阈值并避免检测结果误报。
[0141] 图6是本发明一个实施例中风机故障检测流程图,通过对建立的CNN‑LSTM‑DM模型进行训练和测试,可实时对风机运行状况进行检测,当测试的RMSE高于预设阈值时,判断风机发生故障;反之,当测试的RMSE不高于上述预设阈值时,判断风机运行正常。
[0142] 本实施例提供一种具有发展记忆的CNN‑LSTM风机故障预测方法,首先,利用SCADA系统采集风机的状态数据;其次,利用一种DBSCAN聚类算法和正态功率区间估计的异常数据处理方案处理异常数据,得到健康数据。将预处理得到的健康数据输入到CNN‑LSTM‑DM故障诊断模型中进行训练、测试,通过残差预测故障,实现故障检测功能。
[0143] 基于上述步骤S101‑S102,本发明能够解决现有的风机故障检测模型由于会遗忘历史任务而导致的故障检测不准确的技术问题。
[0144] 本发明实施例提供的技术方案,通过预先训练好的具有发展记忆的CNN‑LSTM模型来检测风机故障,由于该模型能够基于每一次的输入数据生成与该次输入数据对应的子记忆网络,因此其不仅能够学习当前输入数据的特征,并且能够保留历史输入数据的特征,即其能够通过不断生成子记忆网络来学习并保留单个任务的重要特征,有效解决了现有的风机故障模型对历史任务的遗忘问题。因此,本发明提供的技术方案,即使在输入的风机运行数据发生改变的情况下,也能够准确地检测风机故障,极大地提高了风机故障的检测准确率。
[0145] 需要指出的是,尽管上述实施例中将各个步骤按照特定的先后顺序进行了描述,但是本领域技术人员可以理解,为了实现本发明的效果,不同的步骤之间并非必须按照这样的顺序执行,其可以同时(并行)执行或以其他顺序执行,这些变化都在本发明的保护范围之内。
[0146] 进一步地,本发明还提供了一种风机故障检测装置。
[0147] 参阅附图7,图7是本发明一个实施例的风机故障检测装置的主要结构框图。如图7所示,本发明实施例中的风机故障检测装置主要包括数据获取单元11和输入单元12。其中,[0148] 数据获取单元11,用于获取待检测风机的运行数据;
[0149] 输入单元12,用于将所述运行数据输入至预先训练好的故障检测模型,以使所述预先训练好的故障检测模型输出所述待检测风机是否发生故障的检测结果;其中,所述故障检测模型包括初步检测网络和与所述初步检测网络连接的子记忆网络;所述子记忆网络用于对所述初步检测网络输出的数据分类信息进行优化,以获得优化后的分类信息作为所述检测结果。
[0150] 在一些实施例中,所述输入单元12采用以下方式将所述运行数据输入至预先训练好的故障检测模型:对所述运行数据进行预处理,获得处理后的数据;将所述处理后的数据输入至预先训练好的故障检测模型;其中,对所述运行数据进行预处理包括:
[0151] 采用DBSCAN聚类算法剔除所述运行数据中密度低于预设密度阈值的数据,获得无噪声数据;
[0152] 根据最小二乘法和/或3‑Sigma法则对所述无噪声数据设置正态数据区间;
[0153] 剔除所述正态数据区间外的数据,获得所述处理后的数据。
[0154] 在一些实施例中,所述初步检测网络包括:CNN‑LSTM网络;所述CNN‑LSTM网络用于对接收到的所述运行数据进行特征提取,并基于提取到的特征信息输出与所述运行数据对应的数据分类信息。
[0155] 在一些实施例中,所述CNN‑LSTM网络包括:依次连接的输入层、卷积层、激活层、池化层、LSTM层和全连接层;其中,所述卷积层和所述全连接层均有多层;所述子记忆网络包括:至少一个子存储器,以及,与每个所述子存储器对应的子分类器;多层所述全连接层至少部分跳过连接至与当前所述输入数据对应的所述子存储器;每个所述子存储器用于存储与该子存储器跳过连接的所述全连接层输出的分类信息;每个所述子分类器与最后一层全连接层连接,每个所述子分类器还与与其对应的子存储器连接;每个所述子分类器用于基于最后一层全连接层输出的数据分类信息和当前子存储器输出的分类信息,获得优化后的分类信息作为所述检测结果。
[0156] 在一些实施例中,每个所述子分类器还用于对所述优化后的分类信息进行L2范数归一化操作,获得归一化后的分类信息作为所述检测结果。
[0157] 在一些实施例中,在对每个所述子存储器进行训练的过程中,采用的损失函数为:
[0158]
[0159] 其中, 为所述损失函数; 为超参数,用于防止历史任务性能下降; 为用于保留历史任务所学习到的知识的损失项; 为通过所述CNN‑LSTM网络和第 个所述子存储器的前馈输出计算出的误差; 为迁移学习损失; 为超参数,用于控制迁移学习损失 的重要性;表示 正则化。
[0160] 在一些实施例中,所述损失项 采用以下表达式表达:
[0161]
[0162] 其中, 是从当前任务图像中获取的现有模型的输出; 是在训练期间将当前任务图像馈送到网络中获取的现有模型的输出;是标签数;和 均为任务序号;为通过增加预定权重来软化权重分布的温度,为一个预设常数;
[0163] 和/或,所述误差 采用以下表达式表达:
[0164]
[0165] 其中, 为第 个所述子分类器的输出; 为 函数,为一个激活函数;
[0166] 和/或,所述迁移学习损失 采用以下表达式表达:
[0167]
[0168] 其中, 为第 个所述子分类器的输出; 为第 个所述子存储器的输出;为 函数,为一个激活函数。
[0169] 在一些实施例中,所述子记忆网络还采用以下方式获得所述检测结果:
[0170] 计算所述优化后的分类信息的均方根误差;
[0171] 判断所述均方根误差是否大于预设阈值;
[0172] 当所述均方根误差大于所述预设阈值时,确定所述待检测风机发生故障;
[0173] 当所述均方根误差不大于所述预设阈值时,确定所述待检测风机没有发生故障。
[0174] 在一些实施例中,数据获取单元11和输入单元12中的一个或多个可以合并在一起成为一个模块。一个实施方式中,具体实现功能的描述可以参见步骤S101‑ S102所述。
[0175] 上述风机故障检测装置以用于执行图1所示的风机故障检测方法实施例,两者的技术原理、所解决的技术问题及产生的技术效果相似,本技术领域技术人员可以清楚地了解到,为了描述的方便和简洁,风机故障检测装置的具体工作过程及有关说明,可以参考风机故障检测方法的实施例所描述的内容,此处不再赘述。
[0176] 本领域技术人员能够理解的是,本发明实现上述一实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
[0177] 进一步地,本发明还提供了一种控制装置。在根据本发明的一个控制装置实施例中,控制装置包括处理器和存储装置,存储装置可以被配置成存储执行上述方法实施例的风机故障检测方法的程序,处理器可以被配置成用于执行存储装置中的程序,该程序包括但不限于执行上述方法实施例的风机故障检测方法的程序。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该控制装置可以是包括各种电子设备形成的控制装置设备。
[0178] 进一步地,本发明还提供了一种计算机可读存储介质。在根据本发明的一个计算机可读存储介质实施例中,计算机可读存储介质可以被配置成存储执行上述方法实施例的风机故障检测方法的程序,该程序可以由处理器加载并运行以实现上述风机故障检测方法。为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机可读存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读存储介质是非暂时性的计算机可读存储介质。
[0179] 进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本发明的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图中的各个模块的数量仅仅是示意性的。
[0180] 本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本发明的保护范围内。
[0181] 至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。