APP下载

基于改进遗传算法优化自联想神经网络的风机故障诊断

2022-07-12李政宇李练兵芮莹莹

计算机应用与软件 2022年6期
关键词:适应度阈值神经网络

李政宇 李练兵 芮莹莹

(河北工业大学人工智能与数据科学学院 天津 300132)

0 引 言

变桨系统是风机控制系统中的重要组成部分,不仅直接影响风机对风能的利用率,其气动刹车功能还负责极端情况下风机的自身安全[1]。大风冰雹天气以及风速风向的不断变化,对变桨系统的性能与寿命均造成影响,增大了其故障发生率[2],使变桨系统成为风机故障易发部件。同时变桨系统安装在离地面数十米的高度,维修难度大、成本高,因此对风机变桨系统的故障诊断研究具有重要意义。

在数据采集与监控(SCADA)的基础上,很多学者对风机变桨系统故障诊断进行了深入研究。文献[3]通过Relief方法挖掘特征参量,提出基于多特征参量距离的变桨系统运行状态异常识别方法,采用支持向量机(SVM)回归方法对异常状态进行识别,但是SVM在大样本数据处理上,收敛速度较慢。文献[4]利用非线性状态评估方法,建立变桨系统正常运行状态的健康模型,根据相似性原理判断模型预测值与正常状态的偏差,根据输入参数对偏差的影响来确定故障的原因,但偏差阈值不易计算。文献[5]选取风速、风向、桨距角和电机转速参量,分别建立多元线性回归分析和BP神经网络故障预测模型,实验分析表明BP神经网络在风电变桨系统中的故障预测效果优于多元线性回归预测。文献[6]采用自适应神经模糊推理系统(ANFIS)的故障诊断方法,拟合SCADA系统采集数据与风电机组运行状态之间的规律,实现变桨系统的故障诊断。人工神经网络对于变桨系统这类难以建立精确数学模型、拥有较多运行数据变量的系统的故障诊断有较好的效果,但是网络的初始参数不易确定,随机的初始参数很容易导致神经网络产生局部最优解,影响收敛速度和结果准确性。

本文在上述研究成果的基础上,针对一般算法在大样本处理上收敛速度较慢、全局寻优效果较差以及变桨系统的精确数学模型难以建立等问题,提出了一种采用改进自适应遗传算法(Improved Adaptive Genetic Algorithm,IAGA)优化自联想神经网络(Auto-Associative Neural Network,AANN)的方法。该方法利用遗传算法全局寻优的特性,与自联想神经网络相结合,对自联想神经网络的初始权值和阈值参数进行优化,改善其收敛速度慢、易陷入局部最优解的缺陷。同时针对遗传算法的后期搜索效率低、易过早收敛等问题,本文从选择算子和适应度函数两个方面进行改进:(1) 结合种群进化代数与优秀个体选取比例,设计新的选择公式,保证种群多样性,加快遗传算法收敛速率;(2) 根据故障诊断对漏诊率要求严格的特性,设计更加适合故障诊断的适应度函数,引入AUC确保较低的漏诊率,同时降低不平衡数据对模型诊断效果的干扰。基于IAGA-AANN算法建立变桨系统正常运行的模型,采用JS(Jensen-Shannon)散度比较正常运行数据与劣化或故障时刻数据经过模型后输出的残差分布的偏移度,简化阈值计算和模型建立过程,实现对变桨系统的故障诊断。最后通过实验测试,验证了该方法的有效性。

1 自联想神经网络

自联想神经网络是具有对称拓扑结构的五层前馈传递网络,是BP神经网络的一种特殊情形,其特点是输出量等于输入量,具有对称的拓扑结构,可被用于高维空间有效特征提取[7]、系统建模、故障识别等问题[8]。

本文选用自联想神经网络提取变桨系统运行数据的主要特征和相互关联的同时,将其正常运行模式固化到网络中,通过比较劣化或故障时刻数据与正常运行数据残差分布的差异程度,更加准确、直观地反映变桨系统的健康状态。相较于支持向量机(SVM)、随机森林(RF)等用于数据特征提取、故障诊断的方法,自联想神经网络不仅用于区分故障与健康的分类问题,而且通过输入与输出数据的残差分布情况可以对设备的健康状态进行量化,将多种相关运行参量作为诊断依据,防止单一参量和阈值判断对诊断结果的影响;同时其训练方式为无监督式训练,不依赖有限的故障训练样本,避免样本不均衡对诊断结果造成的干扰,提升诊断方法的准确率。

在自联想神经网络中,输入数据经过输入层、映射层到达瓶颈层的过程属于编码过程;再通过瓶颈层到映射层最后到输出层的过程属于解码过程。首先高维数据通过输入层非线性映射到瓶颈层,实现对高维数据的压缩进而提取有效的特征维度。设g(x)表示编码函数,xi作为输入,i为x的第i个维度。数据经过编码过程得出yi,其表达式为:

yi=gθ(xi)=s(Wxi+b)

(1)

式中:s(x)是非线性激活函数;θ=(W,b)是g(x)的参数;W代表权重;b是偏置。

然后,隐含层的yi由瓶颈层通过非线性函数再映射到与输入层相同维度的输出层实现信息的解码,即对输入数据的重构,其表达式为:

(2)

式中:θ′=(W′,b′)是h(y)的参数;W′代表权重;b′为偏置。

这样通过对数据的非线性的压缩和重构,自联想神经网络模型将会习得各个变量之间的非线性关系。对于输入为变桨系统正常运行的数据,AANN会将正常运行时数据间的特性与关联固化到模型当中。AANN模型训练时,以最小化输入与输出误差为目标,寻求最优网络参数,使输出尽可能还原输入数据。当输入劣化或故障时刻数据时,输出的数据就会和输入数据有较大偏差。

(3)

式中:n为一个样本包含的变量个数;m为总共的样本数。

图1 自联想神经网络结构图

2 遗传算法及改进

遗传算法(Genetic Algorithm, GA)是模拟自然界遗传和生物进化论而成的一种全局优化概率搜索算法。它将问题的潜在可能解看作一个种群,以适应度函数作为评判标准,经过选择、交叉、变异3个遗传算子产生下一代个体,不断进化迭代,直到找出最优的个体[9]。相较于其他算法,标准遗传算法具有适应性强、全局寻优等优点,但也存在局部寻优能力差,导致其训练比较费时,在进化后期搜索效率较低,容易产生早熟问题。本文针对上述问题,从选择算子和适应度函数两个方面进行改进,提出一种改进自适应遗传算法(IAGA)用于提高原算法的搜索效率、局部寻优能力,避免早熟现象的发生。

2.1 改进选择算子

选择操作是根据适应度函数选出适应度高的个体进行繁衍产生下一代,常用的选择算子有轮盘赌法、排序法以及精英保留策略。轮盘赌法存在随机误差,可能会排除适应度高的个体,排序法及精英选择策略保留了优秀个体但可能破坏种群的多样性,导致算法易于陷入早熟收敛。为此,本文在上述方法的基础上进行改进,在保证准群多样性的同时选出较优个体。算法步骤如下:1) 确定一个初始种群,依据适应度函数计算每个个体的适应度值;2) 按照适应度大小将种群中的个体降序排序;3) 根据当前迭代次数x和总迭代次数xmax,按照式(4)确定保留优秀个体的数量n,余下的个体使用轮盘赌法选择,然后将选出的个体进行交叉和变异操作。

(4)

式中:P为要选出的优秀个体占总体的最大比例;N为种群个体总数;xmax为最大进化代数。4)进行精英保留操作,比较上一代和本代最优的个体,选出适应度最高的个体作为本代最优个体,并替换本代最差个体。为了保留其优秀基因,该个体不进行交叉和变异操作直接进入下一代。

初始种群具备多样性,所以在最初迭代时对排序方法选择的优秀个体数进行限制。随着迭代次数的增加,逐渐增大选取比例,结合轮盘赌算法,改进后的选择算子提高了种群的多样性。同时根据适应度函数对个体进行了有效筛选,并对最优个体采取精英保留操作,保证了算法的收敛速率。

2.2 适应度函数设计

(5)

式中:m为自联想神经网络输出节点数。

遗传算法是朝着适应度函数值增大的方向进化,但自联想神经网络模型误差越小,模型越优,所以取目标函数的倒数作为适应度函数。同时风机故障诊断模型非常注重模型预测的准确性,因此本文在上述适应度函数的基础上加入自联想神经网络的AUC值,提升诊断模型的准确性,降低误报率,改进后的适应度函数为:

(6)

式中:ζ为一个极小值,防止分母为0;k为调节系数。将个体解码赋给自联想神经网络的权值、阈值,再输入训练数据,求出AUC值代入式(6),即为该个体的适应度值。

2.3 自适应交叉和变异概率

交叉和变异算子实现对种群的更新,常规遗传算法使用恒定的交叉与变异概率,这会使算法搜索效率低下,且可能陷入局部最优,无法找出最优个体[10]。本文选用自适应的交叉和变异率,其公式如下:

(7)

(8)

式中:交叉率的上下限分别为Pc1、Pc2,变异率的上下限分别为Pm1、Pm2;fmax表示每代种群个体中最大的适应度值;favg为当前种群平均适应度值;f′为要进行交叉操作的两个个体中较大的适应度值;f为变异个体的适应度值。

由于本文使用实数编码,所以交叉算子采用算数交叉算子,公式如下:

(9)

变异算子采用均匀变异的方法,选取第m个染色体中第j个基因进行变异操作,其染色体取值范围为[Umin,Umax],表达式为:

xmj=Umin+λ(Umax-Umin)

(10)

式中:λ为[0,1]内均匀分布的随机数。

3 模型构建

3.1 故障诊断模型阈值的选取

本文基于IAGA-AANN的方法,将风机变桨系统正常运行数据作为输入,获得模型输出残差,统计各个残差的频数,获得残差概率分布。以此为基准,当输入变桨系统故障数据后,模型的输出残差和概率分布情况就会与正常情况有所区别,通过计算这两种残差概率分布的相差程度即偏移度,判断风机变桨系统是否故障。

比较两个分布间的相似度,一般采用相对熵进行衡量,即KL(Kullback-Leibler divergence)散度[11-12]。设p(x)表示数据的真实分布,q(x)为数据的拟合分布,则在离散型随机变量的情形下,KL散度计算公式如下:

(11)

因为KL散度值域范围为[0,∞],无上界,并且具有不对称性,所以不适合作为阈值。为了更加准确地比较残差分布的偏移程度,本文选用基于KL散度的变体JS(Jensen-Shannon)散度作为衡量两个残差分布差异的指标。其值域范围为[0,1],JS散度越小,表示分布越相似,分布完全相同是0,相反则为1。相较于KL散度,JS散度对相似度的判别更加确切,计算公式如下:

(12)

3.2 故障诊断模型的评估指标

为了降低模型误诊断的概率,引入时间窗口的概念:以故障数据所在时刻为中心,选取的一个时间范围。在该段时间内分析超过设定阈值的预测点数,如果有60%以上的预测点超出阈值范围[13],则判断变桨系统发生故障,否则视为误报,不予采纳。最佳时间窗口范围可依据模型评估指标,通过实验确定。

由于风机故障数据相比于正常运行数据占比较低,即使模型预测的全是正常状态,准确率也不会太低。因此训练模型时以准确率作为评判标准便不能较好地反映模型的诊断效果。而根据ROC曲线计算的AUC值,即使在正负样本不均衡的情况下,也不会发生很大变化,能较好地反映诊断模型的诊断效果,因此本文选用AUC值作为模型评估指标。AUC值的计算要先通过混淆矩阵来定义一些指标,如表1所示。

表1 混淆矩阵

表1中:TP(真正例)表示模型诊断为故障,实际也是故障的事件;FN(假反例)表示模型诊断无故障,但实际有故障的事件;FP(假正例)表示模型诊断为故障,但实际无故障的事件;TN(真反例)表示模型诊断无故障,实际也是无故障的事件。根据上述定义,得出如下指标:

准确率(accuracy)是模型正确诊断事件的比例,在正负样本较为均衡的情况下,准确率越高,模型的诊断效果越好。

(13)

真正类率(TPR)表示在所有实际故障的事件中,被诊断模型正确识别的比例。

(14)

负正类率(FPR)表示在所有实际无故障的事件中,被诊断模型错误地判断为故障的比例。

(15)

分别以FPR和TPR为横纵坐标,以不同的阈值计算对应的FPR、TPR值,构成不同的点,将其连接起来即为ROC曲线,计算其与横坐标所围成的面积即为AUC值。

3.3 IAGA-AANN故障诊断模型

(1) 数据准备。在SCADA系统记录的相关数据中,选取有关变桨系统运行的数据信息,包含15个运行参数,分别为:当前风速、风机有功功率、叶片转速、发电机转速、风机3个叶片的桨距角和变桨驱动电流、变桨系统轴承温度、伺服电机温度、3个叶片的IGBT温度。

去除功率为0、数值缺失、重复记录等无效数据,并按照式(16)对处理后的数据进行归一化处理,获得风机变桨系统的样本集。

(16)

(2) 诊断模型实施步骤。利用改进的遗传算法全局寻优的特性,优化自联想神经网络的权值和阈值,改善自联想神经网络收敛速度慢,易陷入局部最优解的缺陷。

IAGA-AANN诊断模型的诊断流程如下:

① 对采集的数据进行归一化以及奇异值去除等预处理操作,分为训练数据和测试数据。

② 根据输入输出样本数据,确定自联想神经网络的输入输出节点以及隐藏层结构。

③ 设置种群数量N,最大迭代次数M,并随机生成N个个体作为初始种群,采用实数编码的方法对自联想神经网络的权值和阈值进行编码,每个个体包含自联想神经网络的全部权值、阈值以及它们的位置信息。

④ 对每个个体解码获取自联想神经网络的权值、阈值;训练自联想神经网络,根据式(6)计算个体适应度值。

⑤ 依据适应度值对个体降序排列,然后按照改进的选择算子对种群中的个体进行选取,除了精英保留策略选取的个体外,对其余选中个体以式(7)、式(8)的自适应交叉概率和自适应变异概率进行交叉和变异操作。

⑥ 判断适应度值是否满足要求或达到最大进化代数,若满足,则输出最优个体,否则进入步骤④。

⑦ 解码最优个体,并将权阈值信息赋予自联想神经网络的参数空间,并进行参数微调训练,然后将测试集输入故障诊断模型中,获得残差数据及其分布信息,对残差进行分析,验证算法的准确性及效率。

4 实验分析

本文选取华北某风电场1.5 MW风电机组SCADA系统收集的数据进行实验分析。经过多次实验,设置种群规模为60,最大进化代数200,交叉概率最大最小值分别为Pc1=0.89,Pc2=0.58,变异概率最大最小值分别为Pm1=0.15,Pm2=0.005。自联想神经网络输入节点数为15,映射层与解映射层节点为数9,瓶颈层节点数为5,学习率为0.02。

图2为IAGA、AGA和GA三种优化算法的最优个体适应度曲线。可以看出IAGA不仅在收敛速度上优于AGA和GA,而且最终的适应度函数值也更大,拥有更好的参数寻优效果。

IAGA-AANN、AGA-AANN和GA-AANN模型训练误差曲线如图3所示。GA-AANN在迭代1 592次时达到设定的精度要求,AGA-AANN在迭代1 075次时达到精度要求,而IAGA-AANN在迭代694次时达到精度要求,说明IAGA-AANN的收敛速度更快。

图3 AANN、AGA-AANN和IAGA-AANN训练误差曲线

将经过预处理的包含变桨系统正常运行和故障时刻数据的训练集,代入IAGA-AANN模型中,比较经过JS散度计算的正常运行和故障时刻的残差分布偏移度,得到模型的阈值为0.39。图4为部分训练数据残差分布的偏移度散点图。

图4 诊断模型阈值的确定

用已得到的模型阈值作为评判变桨系统是否故障的指标,使模型AUC值最大化,即诊断模型的准确性最高。得出当窗口时间长度选取为50 min时,AUC达到最佳值0.967。

本文选取的某风电场在2019年5月11日3号风机变桨系统发生故障,因此选取故障前10天的数据来检验本文提出的故障诊断方法的有效性。利用训练好的IAGA-AANN故障诊断模型获取风机的残差分布,得出的偏移度曲线如图5所示。

图5 风机变桨系统偏移度曲线

在滑动的时间窗口内,将得出的偏移度与设定的模型阈值进行比较,判断变桨系统是否故障。从图5中可以看出,5月3日有一次超过阈值的情况,但其所占比例在滑动时间窗口内没有超过60%,所以判定为无效警报。在5月8日偏移度开始出现较大震荡,并有上升的趋势,5月10日偏移度超出阈值,并持续增大,判断该风机变桨系统非常可能发生故障,应停机检修。

为了更直观地比较这几种算法的性能,采用同一变桨系统测试集作为诊断模型的输入数据,对最小二乘向量机(LSSVM)、AANN、GA-AANN、IAGA-AANN等诊断模型的AUC值以及准确率进行了比较,结果如表2所示。

表2 IAGA-AANN与其他模型的对比

选取的测试集中包含的正负样本数较为均衡,所以此时准确率也可作为测试集中模型诊断效果的衡量指标。从表1可以看出IAGA-AANN诊断模型的AUC值和准确率均明显高于其他模型,因此IAGA-AANN故障诊断模型的精确度较高,效果较好。

5 结 语

本文提出了一种基于IAGA-AANN的风机变桨系统故障诊断模型,利用风机正常运行历史数据对模型进行训练,通过计算正常与故障时刻模型输出残差分布的JS散度,获取模型阈值,判断变桨系统是否故障。在评估指标中引入AUC值和时间窗口,进一步增加模型的准确性。采用风机变桨系统正常运行与故障时刻的数据进行实验分析,验证模型有效性。实验结果表明,该模型可以对风机变桨系统的故障进行准确有效的判断,对风机安全稳定运行具有重要指导意义。

猜你喜欢

适应度阈值神经网络
改进的自适应复制、交叉和突变遗传算法
基于神经网络的船舶电力系统故障诊断方法
非平稳声信号下的小波变换去噪方法研究
基于人工智能LSTM循环神经网络的学习成绩预测
MIV-PSO-BP神经网络用户热负荷预测
土石坝坝体失稳破坏降水阈值的确定方法
一种改进小波阈值去噪法及其仿真
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
启发式搜索算法进行乐曲编辑的基本原理分析
基于人群搜索算法的上市公司的Z—Score模型财务预警研究