基于深度学习的风机叶片状态异常检测

2021年7月28日 16:26
浏览量:0
收藏

张云峰1,李民1,黄久平1,王德玉1,步兵1,王秋强1,刘钊辰1,武珈锐1,于洁1,付小林2,刘进2
(1.国电和风风电开发有限公司,沈阳 110000;2.4166金沙手机官网,成都 610000)

 

摘要:叶片作为风力发电机组的关键核心构件之一,由于其自身构造特点、运行环境等不利因素影响,难以避免会出现裂缝、磨损、覆冰、不平衡等问题,如无有效手段对叶片异常状态进行及时检测和维护检修会导致叶片各种伤害,甚至严重威胁着整个风电机组的安全运行,因此对风力发电机组叶片实施状态检测与故障诊断研究具有极其重大意义,本文首先回顾了针对叶片状态检测技术国内外的研究现状,随后提出了基于深度学习模型的叶片状态检测具体实现方案并初步验证探讨了方案的可行性及有效性。


关键词:风力发电机组;叶片检测;深度学习;变分自编码器;聚类


 

0引言
       项目背景

       叶片作为整个风力发电机组中的关键核心部件之一,由于其性质所以在工作过程中容易受到各种天气或人为等各种不利因素的影响,无法避免裂缝、磨损、覆冰、不平衡等问题,如无有效手段及时检测出异常状态,且不及时进行处理会导致叶片的各种伤害,严重威胁着整个风电机组的完全运行,因此对风力发电机组叶片实施状态检测与故障诊断研究具有重要意义。叶片检测可避免叶片在运行过程中可能出现故障,降低由于突发事故产生的不必要损失及停机维护检修带来的发电量损失,减少叶片维修维护成本,这些都直接影响着机组的整体的可靠稳定与综合效益。


       叶片状态检测技术国内外的研究现状
       叶片是风力发电机组中的关键部件,一旦发生损伤,由于其所受荷载的复杂性,损伤将会以很快的速度扩展,而如果没有及时发现就可能导致整个结构的毁坏,后果不堪设想。对于叶片状态检测国内外学者做了大量的研究,国外学者J. B. Ruan等学者进行了基于声发射技术的叶片结构健康检测研究,通过传感器系统监测叶片状态,通过采集的信号观测出叶片刚度退化和非线性应变响应,实现了损伤识别。G.Dutton等为获得叶片表面的应力分布,在对叶片进行无损检测研究时运用了热成像法,取得了不错的效果。国内学者赵光新等对叶片的破损问题进行检测,辨识和诊断叶片故障时利用小波分析处理叶片声发射信号,通过去噪和重构等手段区分了不同类型损伤的声发射信号特征。李录平等运用振动监测技术和BP神经网络,得到了叶片损伤与其振动特性变化的定量关系。
 

       当前人工智能技术在风力发电机组叶片状态检测领域运用情况
       对风电叶片运行状态的在线检测和故障诊断,能够有效的预防突发性和重大随机事件的产生,为风电叶片停机检修提供了理论支撑。近些年随着人工智能技术的成熟和广泛的应用,将人工智能用于风力发电机叶片故障检测和诊断是当前结构故障检测和诊断的热点。目前,人工智能技术结构损伤模式识别包括:深度学习、机器学习、小波分析以及专家系统等这些成熟的技术被广泛应用到对结构损伤状况的诊断中。在实际生活中深度学习将正常运行的风电运行状态检测,将若干种技术综合起来进行风电叶片故障的检测和诊断,深度学习的应用同时也使风电叶片损伤识别逐步向着简便化、智能化的目标过渡。

 

1 深度学习模型
1.1 AutoEncoder(VE)

       AutoEncoder,中文称作自编码器,是一种无监督式学习模型。自动编码器之所以受到越来越多的关注,最主要的一点就是其在深度学习中的特征提取能力,本质上它使用了一个神经网络来产生一个高维输入的低维表示。AutoEncoder与主成分分析PCA类似,但是AutoEncoder在使用非线性激活函数时克服了PCA线性的限制。AutoEncoder原理图如下图1所示。

 
图1AutoEncoder原理图

       AutoEncoder包含两个主要的部分,Encoder(编码器)对输入的数据进行编码,从而给出一种编码表示(即编码阶段)作用是用来发现给定数据的压缩表示;然后根据这些编码来重构输入,即Decoder(解码器)用来重建原始输入,在训练时,Decoder 强迫AutoEncoder选择最有信息量的特征。所以AutoEncoder可以看做是一个特殊的三层神经网络模型:输入层、隐藏层和重构层,它的目标是使重构层的输出尽可能的接近或等于输入。
       假设输入的数据为经过编码器进行编码得到H,然后在通过解码器将解码重构成R,则编码过程和解码过程可以表示为:
H=()=Sf (WX+B)
R=()=Sg (WH+B)
       其中,SfS分别表示为编码器和解码器的激活函数,激活函数种类很多,但本文对编码器和解码器都采用ReLU激活函数:f(x)=max ⁡(0,),值域为 [0,+∞)。WW分别表示为编码器和解码器的权值,BB分别表示层和重构层的偏置。ReLU激活函数如下图2所示

 
图2ReLU激活函数

       AutoEncoder训练的优化目标是使得重构层的输出尽可能的接近或等于输入X,所以这两者之间的差异就形成了重构误差,并用来描述两者之间的接近程度。常用的重构误差函数有很多,本文使用平方误差函数:(X ,)=‖-2

 

 
图3 AE重构误差原理


1.2 VariationalAutoEncoder(VAE)
       VariationalAutoEncoder(VAE)即变分自编码器。是一类重要的生成模型。它于2013年由DiederikP.Kingma和Max Welling提出[1]。2016年Carl Doersch写了一篇VAEs的tutorial[2]。其结构跟自动编码器是类似的,也由编码器和解码器构成。不同之处在于在编码过程给它增加一些限制迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这也是与AutoEncoder的最大不同之处。在生成新的数据时,只需要简单地给它一个随机的服从标准正态分布的隐含向量,使用解码器通过解码就能生成任意数据,而且是不需要给它原始的输入数据先进行编码的。

 
图4 VAE原理


       图4所示为VAE的图模型。我们能观测到的数据是`,而`由隐变量Z产生,由Z→`是生成模型pθ (|z ),从AutoEncoder的角度来看,就是解码器;而由X→是识别模型qϕ (z |x ),类似于自编码器的编码器。VAE需要计算两种隐含变量分布的相似度,即用KL散度来计算两种分布的相似度。
       下面是VAE的具体计算步骤:
       对生成模型(Decoder)pθ (x |z )做参数估计,利用对数最大似然法,就是要最大化下面的对数似然函数:

       VAE用识别模式(Encoder)qϕ (z |(i ))去逼近真实的后验概率pθ (z |x (i ))衡量两个分布的相似程度,我们一般采用KL散度,即:

       于是:
       其中:
       由于KL散度非负,当两个分布一致时,KL散度为0,于是logpθ (x (i ) )≥(θ,ϕ ;x (i ) ),其中(θ,ϕ ;x (i ) )被称为对数似然函数的变分下界。
       直接优化logpθ (x (i ) )是不可行的,因此一般转而优化它的下界(θ,ϕ ;x (i ) )。对应的,优化对数似然函数转化为优化

       利用蒙特卡罗方法估计(θ,ϕ ;x (i ) )期望,则:

       其中,为了计算假定识别模型qϕ ()可以写成可微函数gϕ (ϵ,),(i,) )=gϕ (ϵ (i,) ),(i )),ϵ 为噪声,ϵ (i,l )(ϵ )。
       根据上面整个的算法推导流程,只有给定了ϵpθ (|),qϕ (|),pθ ()的分布以及可微函数gϕ (ϵ,),VAE算法才能启动,但是在实际应用中这些都是通过数据可以知道的,所以这里有如下假设:

(ϵ )=(ϵ ;0,)
qϕ (z(i ) )=(;μ (i ),σ 2(i ) I)
pθ ()=(;0,)
(i,) )=gϕ (ϵ (i,) ,(i ) )=μ (i ),σ (i )ϵ (l )
pθ ((i ))=((i ) ;μ`(i ),σ`2() I)
       所以根据以上的假设分布,可以推算出:

 

2 聚类
       聚类,是将一些物理的或抽象的对象,根据这些对象之间的相似程度,分为若干个簇类,并使得同一簇类内的数据对象具有较高的相似度,而不同簇类中的数据对象具有较大的相异度。聚类分析是一种无监督学习方法,在没有任何先验信息条件下,将现有无标记数据进行归类,所以对于没有标签的数据能起到非常好的分类效果。
       目前,聚类分析算法有非常多的种类,比如基于划分的算法(K-Mean等)、基于层次的算法(BIRCH等)、基于密度的算法(DBSCAN等)等。由于本文的数据特性和分布状态,这里采用适合本文数据的K-Means算法。


2.1 K-MEANS
       K-Means算法是无监督的聚类算法其基本思想为:已知一个包含N个样本数据的数据集,以及给定聚类数目K,首先随机选取K个样本分别作为初始划分的簇类中心,然后根据相似性度量函数采用迭代的方法,彭凯,汪伟等[3]提出了一种余弦距离度量学习算法,称之为并结合一种伪近邻分类算法实现对文本的分类。实验结果表明,该算法可以有效地提高分类的精度。本文利用采用余弦相似度方法计算未划分的样本数据到每个聚类中心点的距离,并将该样本数据划分到与之最近的那个聚类中心所在的簇类中,对分配完的每一个簇类,通过计算该簇类内所有数据平均值不断移动聚类中心,重新划分聚类,直到类内误差平方和最小且没有变化时为止。假设簇划分为(C1C2C3,⋯,C),则我们的目标函数是最小化平方误差E:

       其中,μ是簇C的均值向量(质心),其表达式为:。K-Means算法流程如下图5所示。

 

 
图5 K-Means流程图

 

 

3 实验验证
3.1 实验流程

 

3.2 实验数据
       本次实验采用了仿真数据集,数据集大小为30万个样本,包含了10个特征,分别为:B1Mx、B2Mx、B3Mx、B1My、B2My、B3My、TowAccFA、TowAccSS、NacAccNod和NacAccRol。基本信息如下表1所示。

表1数据描述信息表


3.3 数据处理
       由于原始数据集中各个维度的数据其度量标准并不统一,分布形态各异,所以在数据建模之前必须适当的做一些数据预处理的工作,即数据归一化。数据标准化是对原始数据的变换,使结果处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:

       其中μ 为所有样本数据的均值,σ 为所有样本数据的标准差。经过数据标准化处理过后的数据使得各个数据处于同一量纲。处理后的数据分布如下图6所示。

 


图6数据处理后的数据分布


3.4 实验结果
       训练结果
       AE的实验结果和VAE的实验结果如下图所示,当中分别比较了AE和VAE在Loss损失函数的变化、拟合优度(2)的大小、均方误差(MSE)的大小,以及两种网络结构预测值和真实值之间的情况。
       首先,对于两种网络结构的Loss损失曲线来看,VAE网络要比AE网络的损失更小且更快收敛;其次,通过比较AE网络和VAE网络的拟合优度(2)方面的大小,发现VAE网络要比AE网络平均拟合优度要更高,AE拟合优度在95%左右,VAE的拟合优度在98%左右;最后,通过比较两者对原始数据的均方误差(MSE),VAE网络MSE要比AE网络的MSE方差较小、相对稳定。

 

  
图7 AE和AE的Loss曲线、R-Square曲线
 


图8 AE和AE的MS曲线


       如图9和图10所示是两种网络的预测值与真实值之间的关系,通过观察两者的数据曲线可以直观地观察到两者对原始数据的拟合效果都很好,但VAE的效果优于AE的效果,且能全面的拟合。

 图9 AE拟合值与真实值


 图10 VAE拟合值与真实值


       测试结果
       在数据训练完成后为了进一步的查看模型的实际效果,于是采用测试数据集来检验模型的效果。
       测试数据集大小一共25000个数据样本,根据异常数据具有时频性的特点,将前10000个样本标记为正常数据,后15000个样本标记为异常数据(含两种异常)。将数据分别用AE和VAE两种网络进行计算,得出各自的误差值变化曲线用来判断正常数据和异常数据。通过比较AE和VAE两种网络对测试数据的得分可以看出AE网络和VAE网络都能区分正常异常数据,但相比之下VAE网络的正异常值误差得分区别更为明显,判断更为直观,通过可视化能有效判断出异常。

 

  

图11异常数据分布


       测试时通过人为标记的正异常标签,利用混淆矩阵对测试结果进行评价。评价结果显示AE准类率为83%,VAE的准确率为94%,如表2所示。


表2 AE、VAE的混淆举证

  AE混淆举证 VAE混淆举证
  0 1 0 1
0 83% 17% 94%  6%
1 17% 83% 6% 94%


   
图12 AE、VAE的混淆举证


       综上,分别利用AE和VAE两种网络对风力发电机组数据异常数据进行检测,结果表明两种网络结构均可用来检测异常数据,但相比之下VAE对拟合数据原始分布更有效,检测异常值效果更好,整体准确率为94%。

3.5 Mini Batch K-Means聚类
       由于AE和VAE两种网络进行的是无监督学习所以仅能检测出异常值,而对于异常值属于那种类型并不能完全得知,但是仅检测出异常数据是不够的,无法准确确定异常数据属于那种类型所以并不能够及时准确的拿出相应的解决办法。由于数据不存在真实的标签,所以利用聚类的算法来对未知的数据“分类”。
       在传统的K-Means算法中,要计算所有的样本点到所有的质心的距离,由于本文的样本量很大,此时用传统的K-Means算法非常的耗时这里遂采用Mini Batch K-Means也就是用样本集中的一部分的样本来做传统的K-Means,这样可以避免样本量太大时的计算难题,算法收敛速度大大加快。当然此时的代价就是我们的聚类的精确度也会有一些降低。一般来说这个降低的幅度在可以接受的范围之内。为了增加算法的准确性,在10次Mini Batch K-Means算法下,用得到不同的随机采样集来得到聚类簇,选择其中最优的聚类簇。部分分类效果如下图所示。 


图13Mini Batch K-Means分类效果


       从实验结果可以看出Mini Batch K-Means能非常好的区分出经过VAE网络筛选出的异常数据,最优结果并将其分为两类。

 

4 结论
       基于深度学习的叶片状态异常检测能够判断叶片异常状态,其首先通过变分自编码判断叶片状态是否异常,再通过K-Means聚类算法对叶片异常数据进行分类,进而识别具体叶片故障,该方法可对风力发电机组叶片实施状态检测与故障诊断,可以检测叶片在运行过程中出现的故障,从而降低由于突发事故产生的不必要损失及停机维护检修带来的发电量损失,减少叶片维修维护成本。

 


参考文献
[1]. Wainwright, M. J. and Jordan, M. I. (2008). Graphical models, exponential families, and variational inference. Foundations and Trends in Machine Learning, 1(1-2):1–305.
[2]. DOERSCH C. Tutorial on Variational Autoencoders[J]. stat, 2016, 1050: 13.
[3]. 彭凯,汪伟等基于余弦距离度量学习的伪近邻文本分类算法计算机工程与设计,2013,34(6):2200-2211.
 

首页    新闻中心    公司新闻    基于深度学习的风机叶片状态异常检测