石 宪, 钱玉良
(上海电力大学 自动化工程学院, 上海 200090)
燃气轮机作为燃气-蒸汽联合循环机组的核心动力装备,工作于高温、高压、高转速状态,极易发生故障。对燃气轮机的状态监测及故障诊断不仅可以大幅提高机组运行的可靠性,而且还可以降低检修成本。文献[1]应用时域和频域特征训练深度信念网络(Deep Belief Network,DBN),准确识别出多种气阀故障,同时给出了DBN的内部结构和训练过程。文献[2]提出了一种振动信号与DBN结合的故障诊断方法,与支持向量机(Support Vector Machine,SVM)比较得到了较好的诊断结果,为DBN与燃气轮机故障诊断提供了新的思路。文献[3]提出了一种通过随机森林算法训练分类器对燃气轮机进行故障诊断的方法,但随机森林是弱分类器,在构建和决策过程中易产生过拟合,诊断准确率不高。文献[4]提出了D-S证据理论决策层融合算法对燃气轮机典型故障进行诊断,但D-S证据理论的证据冲突问题尚未得到完整的解决办法,决策层无法进一步提高诊断方法的容错性。
专家系统、数据挖掘等方法需要从大量的原始数据中提取出故障特征,燃气轮机运行时极少产生故障数据,数据库的搭建面临极大的问题[5];SVM对参数的选取是一个难题,参数选取不恰当会使分类的准确率大大下降[6];浅层神经网络模型难以准确挖掘出故障特征向量与众多故障模式之间复杂的映射关系,最终导致分类器诊断准确率不高[1]。对于燃气轮机故障诊断面临的问题,本文提出了一种基于遗传算法(Genetic Algorithm,GA)优化的DBN燃气轮机故障诊断模型(GA-DBN模型)。DBN是一种深层网络模型,具有更好处理高维、非线性数据的能力,同时能更快找出故障特征向量与故障模式之间复杂的非线性关系[7-9]。燃气轮机自身结构的复杂性使得引起故障的原因多种多样,若将大量特征向量直接输入模型进行诊断,会使无关的特征向量影响诊断结果,造成诊断准确率下降,而且巨大的数据量会使模型诊断时间变长,效率变低。对于DBN的,结构参数选择合适与否对模型性能的影响很大,一般DBN的初始结构参数为随机生成,经过逆向微调得到调整,但会增加系统的运行时间。本文采用Apriori算法对原始特征向量进行处理,挖掘不同故障特征向量与故障类型间的规律,刻划每类故障特征向量对不同故障模式的影响程度,去除无关特征向量,划分训练样本和测试样本。采用GA计算得到DBN的结构参数。
由于燃气轮机自身结构极为复杂,部件繁多,因此引起燃气轮机故障的原因多种多样[10]。目前研究的大部分诊断方法仅依靠故障特征向量参数来诊断故障原因,虽然对识别故障种类有较高的准确度,但对故障产生原因及产生部位的识别效果较差。为了提高诊断精度,在建立故障诊断模型前,需要使用相关性分析准确刻划每类故障特征向量对不同故障模式的影响程度,区分主次影响因素[11]。
Apriori算法适用于样本数据有限、复杂且具有不确定性问题的分析与评价[12-13]。设元素Am称为项,A={A1,A2,A3,…Am}为项的集合,Ym称为目标项,Y={Y1,Y2,Y3,…Ym}为目标项的集合。D是项与目标项的集合,D={Am,Ym},即D是一个知识数据库。一个关联规则形如A→Y的映射关系式(A∈D,Y∈D且A∩Y=F)。规则A→Y的支持度定义为项A和Y同时发生的概率就称为关联规则的支持度,记Sup(A→Y),规则A→Y的置信度定义为A发生,则Y发生的概率就称关联规则的置信度,记Conf(A→Y),即
(1)
(2)
挖掘关联规则实质上是寻找满足最小置信度和最小支持度。燃气轮机发生压气机叶片磨损记为Y,故障征兆可能是压气机发生较大幅度的振动,导致低压压气机转速变化量等特征量的变化,则将发生变化的特征量称为故障征兆,记为:A1,A2,A3,…,Am,而A和Y是故障集D的子集。Apriori算法是一种基于多维的关联规则,以最小支持度、最小置信度和分析目标作为条件,若所有规则均不满足条件,则重新调整模型参数,否则输出关联规则。
DBN是一种非监督深层网络结构特征学习模型,由多个受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)堆叠而成[14]。
RBM是DBN的基本组成单元,本质是一种概率生成模型。RBM由可视层(v)和隐含层(h)组成。可视层的偏置量为ci,隐含层的偏置量为bj。v与h之间通过权值ωij连接,v与h内部单元之间不连接,属于独立个体,是一种层外有连接、层内无连接的网络结构[15]。RBM的结构如图1所示。
图1 RBM结构示意
在一组确定的RBM中,用vi和hj分别表示可视层神经元和隐含层神经元的状态。定义可视层神经元与隐含层神经元之间的联合组态能量,即一个RBM所具备的能量为
(3)
式中:θ——RBM的结构参数,θ={ωij,ci,bj};
ωij——可视层神经元与隐含层神经元之间的连接权重;
V——可视层神经元个数;
H——隐含层神经元个数。
由于RBM中v层与h层各个神经元都是独立的状态,所以当给定隐含层状态时可视层神经元的激活概率为
(4)
式中:ξ(·)——激活函数,一般选用sigmoid函数。
当给定可视层状态时,隐含层神经元的激活概率为
(5)
式(4)表示由特征变量数据重构后输入数据的逆向学习过程,式(5)表示RBM将高维空间的输入数据转换为低维特征变量的正向学习过程。在这一过程中,RBM中的ωij得到了更新,即
Δωij=α[Eobj(vihj)-Emodel(vihj)]
(6)
式中:a——学习率;
Eobj(vihj)——训练集的目标;
Emodel(vihj)——训练模型的输出。
一个DBN由两个或两个以上的RBM堆叠形成。相邻的两个RBM中,底层RBM的输出为高层RBM的输入。图2为包含3个RBM的一个DBN结构图。RBM1的可视层和隐含层分别为DBN的输入层和隐含层。最后一层为输出层,即softmax层。由DBN结构可知,RBM1的隐含层即为RBM2的可视层,以此类推。
图2 包含3个RBM的DBN结构示意
基于DBN的燃气轮机故障分类器模型是通过两个步骤训练得到的:一是根据非监督式学习机制,自输入层经过隐含层到输出层对每一个RBM进行独立充分训练,确定DBN初始结构参数;二是采用有监督式反向传播算法(BP算法)自上而下整体对DBN的结构参数进行微调。
在第一步中,充分且独立训练每一个RBM的目的是得到最优化参数θ*。它是整个DBN分类器模型建立的关键,即
(7)
式中:M——染色体个数。
根据文献[7]提出的对比散度,得到ωij,ci,bj的更新准则为
(8)
(9)
(10)
在完成RBM的训练后,采用有监督式的BP算法对整体DBN网络结构参数进行反向微调。微调的目的是进一步优化结构参数,减小训练误差,提高分类器的精度。训练误差的定义为
(11)
式中:Lm——训练样本;
Ym——分类器输出。
DBN结构参数的选取对模型的整体性能有较大的影响。RBM中,θ(θ={ω,c,b})作为DBN结构参数对整个DBN故障分类器能否准确区分故障种类起着决定作用。由于最大似然估计方法的局限性,使θ极易陷入局部最优值,不容易得到全局最优值。本文提出了一种基于GA对θ优化的DBN模型,将ωij,ci,bj进行数据重构,组成串结构数据,随机生成N个串结构数据,每一个串结构数据作为一个染色体,与群体内其他染色体进行选择、交叉、变异,以及适应度评价、保优等操作,得到最优染色体,即θ*。将θ*重新配置到DBN中,计算DBN的适应度,满足终止条件后输出分类结果。
GA模拟自然界生物的遗传机制形成的过程搜索最优解算法,具有原理简单且全局搜索能力强的特点,在智能诊断领域有着极为广泛的应用[16]。因此,本文采用GA对DBN结构参数进行优化。优化步骤分为以下3步。
(1) 初始化DBN结构参数,将θ重构为串数据,即为一条染色体。随机生成一个初始种群,种群中包含M条染色体。
(2) 从种群中任意选择一条染色体替代初始θ,训练DBN,并计算适应度函数。适应度函数定义为Yt/Ytotal。其中,Yt为分类正确样本数,Ytotal为总样本数。
(3) 利用第1代种群中适应度大于a(a为一常数)的染色体,经选择、交叉、变异和保优4步衍生出第2代新种群。重复第2步,计算新结构参数下DBN的适应度函数。
本文设计了一种经GA对DBN网络结构参数优化后的燃气轮机故障诊断模型,即GA-DBN模型。其总体流程如图3所示。
图3 GADBN模型的总体流程
由上述分析可知,DBN训练过程分为非监督式正向学习过程和监督式逆向学习过程。在搭建DBN模型时,文献[17]提出了一个相对通用的原则用于搭建DBN结构:网络后一层单元数小于前一层单元数,这样设置的目的是为了在训练过程中训练数据可以被逐层压缩,得到较好的准确率。本文中DBN的输入节点为5,等于每一类故障特征向量的维度。隐含层层数选定4层,即3个RBM堆叠的DBN网络。由于隐含层节点数的选择上没有相应的定理和规律,主要根据设置不同节点数计算训练误差,因此本文对3个RBM逐个进行最优隐含层神经元个数的选取,以最小训练误差作为神经元个数的选取准则。输出节点对应故障模式0-1矩阵维数。训练参数主要包括正向学习的训练学习率和迭代训练次数。因为每个RBM的隐含层节点数不尽相同,而每个RBM学习率的选取方法与RBM隐含层神经元最优个数的选取方法相同,因此以训练误差为衡量标准,选取训练误差最小的学习率作为单个RBM中的最优学习率。对于迭代次数,一般过大会使诊断模型产生过拟合现象,过小会使诊断模型产生欠拟合现象,所以迭代次数需要不断调整得到。
为验证本文所提方法的有效性,针对压气机叶片积垢、压气机顶端间隙、压气机叶片磨损、压气机叶片机械损伤、涡轮叶片热腐蚀、涡轮叶片积垢、涡轮叶片磨损、涡轮叶片机械损伤、燃烧室故障9种故障模式及正常状态进行诊断分析。分别用A~E表示部分故障特征向量,具体如表1所示。分别用H1~H10表示9种故障模式及正常状态,具体如表2所示。
表1 燃气轮机故障特征符号及其向量
表2 故障模式和正常模式的符号及状态
由于故障特征向量数据分布并不是均匀分布且故障特征向量所对应的故障模式尚未清楚,因此不可用均分的方法对不同类别的故障特征向量进行分组。选取K均值聚类算法对特征向量进行自动区间划分,得到每类故障特征向量离散表,具体如表3所示。
表3 故障特征向量离散表
设置模型的最小支持度和最小置信度,通过Apriori算法对离散化特征向量进行分析,将模型的最小支持度和最小置信度以及故障模式作为条件,设置最小支持度为5%,最小置信度为55%。由于关联结果较多,限于篇幅,本文取第一类故障为例,关联结果如表4所示。
隐含层节点个数选取参数设置如表5所示。表5中,hbest和hbest_2分别为RBM1和RBM2的最优个数。最优学习率参数选取设置如表6所示。
表4 第一类故障(H1)的关联结果
表5 隐含层节点个数参数选取设置
表6 最优学习率参数选取设置
不同隐含层节点个数及学习率对应训练误差如图4和图5所示。
图4 不同隐含层节点个数对应的训练误差
图5 不同学习率对应的训练误差
经过迭代计算最终确定3个RBM最优隐含层节点个数和最优学习率,如表7所示。即DBN为5-93-43-19-10结构,将3个RBM最优学习率作为DBN学习率送入网络训练,最终得到DBN模型,如图6所示。
表7 最优个数及学习率
DBN诊断模型的全部参数配置如表8所示 。
同时选取DBN模型、LM神经网络模型与GA-DBN模型做对比。DBN与GA-DBN中RBM1的学习率对比如图7所示。
标准DBN设置初始学习率为0.5,学习率最小值为0.001,当适应度小于上一代最优适应度时,学习率减半,直到小于最小值时结束循环;GA-DBN则采用最优学习率。
图6 DBN诊断模型网络结构
表8 DBN全部参数配置
图7 DBN与GADBN中RBM1的学习率比较
由图7可以看出,标准DBN在第43次学习率达到最小值;GA-DBN经过遗传算法寻优的结构参数使得适应度值以较快速度减小,在第25次学习率达到最小值,所以GA-DBN有着更快、更少的迭代次数和更快的迭代速度。
图8为3种算法故障诊断结果的比较。
图8 故障诊断结果
此外,在230个测试数据中,GA-DBN误诊个数为3,整体准确率可以高达98.696%。在相同的测试数据中,标准DBN模型误诊个数为13,整体准确率94.348%;LM神经网络模型误诊个数为30,整体准确率86.957%。由此可知,与传统浅层智能诊断方法相比,本文提出的方法能更加稳定地诊断出燃气轮机的故障模式,且准确率更高。
本文通过Apriori算法筛选出满足最小支持度和最小置信度的故障特征向量进行关联度分析及分类,将处理好的数据作为DBN的输入数据,同时结合GA对DBN结构参数进行优化,建立了基于DBN的非监督式燃气轮机故障诊断模型GA-DBN模型。与DBN模型和LM神经网络模型相比,本文所提方法的故障准确率有明显提升,多次实验准确率均可达到98%以上,在3种模型中准确度最高。