李 玲, 胡克磊
(1.上海电力学院 自动化工程学院, 上海 200090; 2.安徽华电六安电厂有限公司 热控分厂, 安徽 六安 237000)
基于不同学习算法的RBF神经网络在故障诊断中的应用
李 玲1, 胡克磊2
(1.上海电力学院 自动化工程学院, 上海 200090; 2.安徽华电六安电厂有限公司 热控分厂, 安徽 六安 237000)
基于对RBF神经网络常用的3种学习算法的研究,通过对凝汽器典型故障类型与故障征兆分析,提出了基于不同学习算法的RBF神经网络凝汽器故障诊断,并对诊断结果进行比较.诊断结果表明,基于3种常见学习算法的RBF神经网络都可以准确诊断出凝汽器的各种故障,但聚类方法和OLS算法学习速度要快得多,梯度训练方法速度较慢.研究还表明,RBF神经网络在故障诊断领域具有很好的实用性.
RBF神经网络; 学习算法; 凝汽器; 故障诊断
作为现代大型电站汽轮机组的主要辅助设备,凝汽器设备在汽轮机组的热力循环中起着冷源的作用,其工作性能直接影响到整个汽轮机组的安全性和经济性,因此,凝汽器设备状态的监测和故障诊断一直是研究热点[1-2].凝汽器设备发生故障的原因与其故障征兆之间是非线性关系,具有随机性、模糊性、复杂性等,精确的数学公式很难将其表达出来.而人工神经网络的特点是自学习、自组织能力突出,具有很强非线性模式分类能力,非常适合对设备进行故障诊断.
目前,反向传播(Back Propagation,BP)神经网络在故障诊断领域中应用最为广泛,但其在故障诊断中具有容易陷入局部最小、训练收敛速度慢等缺点[3].而径向基(Radical Basis Function,RBF)神经网络具有收敛速度快、不存在局部极小值、能够以任意精度逼近任意非线性函数、泛化能力强等特点,目前它是最引起研究者关注的神经网络模型之一[4].
本文将RBF神经网络应用于凝汽器故障诊断,同时基于对RBF神经网络常见学习算法的学习和研究,将不同学习算法的RBF神经网络在凝汽器故障诊断中的应用进行了比较.
基于神经网络故障诊断的基本思想就是:第一,利用一组故障样本训练网络,确定网络结构和参数;第二,进行故障诊断,即向网络输入一组征兆,实现征兆集到故障集之间的非线性映射[5].凝汽器系统结构非常复杂且运行环境特殊,发生故障时具有多种故障原因和故障征兆.本文确定了凝汽器的14种典型故障类型,通过分析这些故障发生的原因,选取了16种故障征兆,分别如表1和表2所示.对这些故障征兆进行规一化处理并根据系统运行参数和结构参数,最终使征兆取值范围为[0,1][6-7].结合文献[6]得到凝汽器系统的故障样本征兆数据表,如表3所示.
表1 凝汽器故障类型集合
表2 凝汽器故障征兆集合
在RBF神经网络训练中,训练样本集包含征兆集和故障集.征兆集作为样本输入,即表3中数据;故障集作为样本输出,如表4所示,每个输出分别取两个状态,0 代表无故障状态,1代表故障状态.RBF神经网络的结构可以确定为:输入层n=16,每一个故障征兆参数对应一个神经元的输入;隐含层h由RBF神经网络的学习算法确定;输出层m=14,每一个故障类型对应一个神经元输出.
表3 凝汽器系统故障征兆数据
表4 故障类型对应的网络输出
RBF神经网络学习算法的选择十分重要,网络的隐层节点数h,数据中心ci,扩展常数σi以及输出权值修正都由学习算法在网络训练时确定.RBF神经网络常用的学习算法是聚类方法(最常用的是k-means聚类),梯度训练方法,正交最小二乘(orthogonalleastsquares,OLS)算法.这3种学习算法各有优缺点,聚类方法可以根据各聚类中心之间的距离得出隐节点的宽度,但是确定数据中心时没有用到样本输出信息,只用到了样本输入信息;梯度训练方法具有更新隐含层数据中心及宽度的能力,显著地提高了RBF网络的性能,但其增加了训练算法的复杂度和网络训练时间;正交最小二乘算法能够保证学习误差不大于给定值,且能在权值学习的同时确定隐节点的数目,较容易实现,但该算法并不一定能设计出具有最小结构的RBF神经网络[8-10].
由于输出层的神经元之间没有相互作用,基于这个原因,不失一般性,可以考虑单输出的RBF神经网络.有多于一个输出的网络可以看作几个单输出网络共享一个隐含层的叠加.在以下RBF神经网络学习算法中,x1,x2,x3,…,xN为样本输入,相应的样本输出为y1,y2,y3,…,yN,其中N为样本个数.
2.1 基于聚类方法的RBF神经网络凝汽器故障诊断
2.1.1 聚类方法
在RBF神经网络学习算法中,聚类方法是最经典的,该算法的实现过程如下[11-13].
(1) 设k为迭代次数,此时的聚类中心为c1(k),c2(k),c3(k),…,ch(k),相应的聚类域为θ1(k),θ2(k),θ3(k),…,θh(k).初始化算法,令k=1,选择h个不同的初始聚类中心.
(2) 计算输入样本与数据中心的距离,即‖xj-ci(k)‖,i=1,2,3,…,h;j=1,2,3,…,N.
(3) 对输入xj按最小距离原则进行分类.当i(xj)=mini‖xj-ci(k)‖时,xj被归为第i类,即xj∈θi(k).
(4) 重新计算聚类中心,即:
(1)
式中:x——输入样本;Ni——聚类域;θi(k)——所含有的样本数.
(5) 如果ci(k+1)≠ci(k),则转到步骤(2),否则进行下一步骤.
(6) 计算各隐节点的宽度.隐节点的宽度为:
(2)
式中:α——重叠系数;di=mini‖cj-ci(k)‖.
(7) 数据中心和宽度确定后,输出权值矢量ω=[ω1,ω2,ω3,…,ωh]T用最小二乘方法计算得到.当输入为xj时,第i个隐节点的输出为:
(3)
隐层输出矩阵为:
(4)
(5)
(6)
2.1.2 凝汽器故障诊断
采用表3中的故障类型和相关的征兆作为凝汽器故障诊断的训练样本,根据上述聚类算法的实现步骤,利用MATLAB编程设计训练出基于聚类算法的RBF神经网络,实现对这些故障的识别能力.其中,隐节点重叠系数α取1;该RBF神经网络的隐含层由14个神经元组成,这是经过多次训练得出的.本文进行凝汽器故障诊断所用的故障样本如表5所示,即凝汽器故障数据集.其中,数据1故障征兆对应的故障是Y13,即循环水量不足;数据2故障征兆对应的故障是Y9,即冷却管堵塞;数据3故障征兆对应的故障是Y4,即真空系统管路破裂.
利用训练好的基于聚类算法的RBF神经网络对表5数据进行凝汽器故障诊断,诊断结果如表6所示.
表5 故障数据集
其中,网络输出值第g维的取值为相应第g种故障发生的概率(g=1,2,3,…,14).由表6可知:数据1最大故障类型值为1.000 0,远超过其他故障类型值,因此可判断该故障类型为Y13,即循环水量不足;数据2最大故障类型值为0.950 4,远大于其他故障类型值,因此可判断该故障类型为Y9,即冷却管堵塞;数据3最大故障类型值为0.958 1,比其他故障类型值都大许多,因此可判断该故障类型为Y4,真空系统管路破裂.诊断结果与实际故障情况完全相符.
表6 基于聚类方法的RBF故障诊断结果
由聚类算法的描述中看到,基于聚类方法的RBF网络在训练确定数据中心时没有用到样本输出信息,而是只用到了样本输入信息;网络训练中可调参数仅为输出层的权值,该方法导致训练算法过于简单.而梯度训练方法允许调整所有的3组网络参数,即隐节点数据中心、径向基函数扩展常数、输出层权值,极大地提高了RBF神经网络的性能.
2.2 基于梯度训练方法的RBF神经网络凝汽器故障诊断
2.2.1 梯度训练方法
RBF神经网络的梯度训练方法通过最小化目标函数调节各隐节点聚类中心、扩展常数和输出权值,类似于BP算法训练多层感知器的原理.本文给出一种单输出RBF网络学习方法[14-15],其网络学习的目标函数为:
(7)
误差信号为:
(8)
梯度训练方法具体描述如下.
(1) 选择隐节点数据中心,从输入样本集选择数据中心.
(2) 设定目标误差E0,最大训练次数,适当的学习率参数ηc,ησ,ηω,初始化RBF函数扩展常数,网络输出层权值为一些小的随机值.
(3) 计算网络输出:
(9)
(4) 更新RBF神经网络参数:
(10)
(11)
(12)
式中:n——训练次数.
(5) 如果网络学习的目标函数满足E 2.2.2 凝汽器故障诊断 与基于聚类方法的RBF神经网络训练时一样,训练时采用相同的样本输入,并使每种故障对应的网络输出如表4所示.根据梯度训练方法的原理,利用Matlab编程训练构建基于梯度训练方法的RBF神经网络,经过多次调试确定该RBF神经网络隐含层由13个神经元组成.利用基于梯度训练方法的RBF神经网络对表4中的凝汽器故障数据进行故障诊断,结果如表7所示. 表7 基于梯度训练方法的RBF故障诊断结果 由表7可知:数据1最大故障类型值为0.951 2,其余很小,最大的为0.089 6,因此可判断该故障类型为Y13,即循环水量不足;数据2最大故障类型值为1.000 0,其余远小于该值,因此可判断该故障类型为Y9,即冷却管堵塞;数据3最大故障类型值为0.820 5,其余故障类型值很小,最大的为0.174 2,因此可判断该故障类型为Y4,即真空系统管路破裂.该网络的诊断结果与基于聚类方法的RBF神经网络的诊断结果一致,与实际故障情况完全相符. 在基于该算法的RBF神经网络训练中,该算法不仅在确定数据中心时用到了样本输入输出信息,同时具有更新隐含层数据中心及扩展常数的能力,这极大地提高了RBF神经网络的性能,但该学习算法增加了训练算法的复杂度,因此也增加了训练网络需要的时间.于是本文又提出了基于正交最小二乘算法的RBF神经网络凝汽器故障诊断. 2.3 基于正交最小二乘算法的RBF神经网络凝汽器故障诊断 2.3.1 OLS算法 (13) 式中:ε——指定误差; ω0——最优权矢量ω的值. 该算法选择数据中心的步骤如下: (4) 采取步骤(2)的方法,选择第二个数据中心,使用步骤(3)方法判断算法是否终止. (5) 重复上面步骤,直至找到M个数据中心,使网络满足式(13). 2.3.2 凝汽器故障诊断 采用表3和表4中的数据作为训练基于OLS算法的RBF神经网络的样本和网络输出,根据OLS算法步骤,利用Matlab训练构建基于OLS算法的RBF神经网络,经多次训练调试确认此时神经网络隐含层由13个神经元构成.利用基于OLS算法RBF神经网络对表5中凝汽器故障数据进行故障诊断,输出如表8所示. 表8 基于OLS算法的RBF故障诊断结果 由表8可知:数据1最大故障类型值为0.959 0,大于0.6,另外一个较大故障类型值为0.459 7,且两个故障类型值相差大于0.3,其余的都比后者小,故可判断该故障类型为Y13,即循环水量不足;数据2最大故障类型值为0.952 8,其余很小,最大的为0.199 8,因此可判断该故障类型为Y9,即冷却管堵塞;数据3最大故障类型值为1.000 0,其余很小,最大的绝对值为0.231 9,因此可判断该故障类型为Y4,真空系统管路破裂.诊断结果与前面两种RBF神经网络的诊断结果一致,与实际故障情况完全相符. 基于OLS算法的RBF神经网络不仅在RBF神经网络训练确定数据中心时用到样本输入输出信息,且训练方法的复杂度比基于梯度训练方法的RBF神经网络简单,训练时间短.该算法能够自动设计满足精度要求的网络结构,有时其结构不一定是最优,但网络规模确实是相对较小的. 本文针对电厂中的重要辅助设备凝汽器故障诊断进行了研究,在分析凝汽器故障征兆和故障类型的基础上,重点讨论了基于3种不同算法的RBF神经网络在凝汽器故障诊断中的应用.本文利用表4中训练样本集训练得到基于3种不同算法的RBF神经网络所用的时间:基于聚类算法的RBF神经网络用时为0.005 880 s;基于梯度训练方法的RBF神经网络用时3.755 148 s;基于OLS算法的RBF神经网络用时0.010 684 s.由于梯度训练方法算法较其他两种算法复杂,所以3种学习算法中,梯度训练方法速度最慢,聚类方法和OLS方法的学习速度比较快,因此在凝汽器故障诊断中可以采用以这两种算法.本文为相关算法在后续实际工程中的应用提供了研究依据. [1] 单旭昇.神经网络专家系统在凝汽器故障诊断中的应用研究[D].北京:华北电力大学,2009. [2] 侯国莲,孙晓刚,张建华,等.基于非线性主元分析和概率神经网络的凝汽器故障诊断方法研究[J].中国电机工程学报,2005,25(18):104-108. [3] 王光研,许宝杰.RBF 神经网络在旋转机械故障诊断中的应用[J].机械设计与制造,2008(9):57-58. [4] 吴伟.基于改进RBF神经网络的故障诊断技术研究[D].重庆:重庆大学,2012. [5] 张敬斋.RBF神经网络在水轮发电机故障诊断中的应用[J].计算机仿真,2011,28(12):314-317; [6] 王晋权,李磊,唐国瑞.基于RBF神经网络的凝汽器故障诊断研究[J].电力科学与工程,2007,23(4):27-31. [7] 熊晋魁,谢春玲,施小成,等.RBF人工神经网络在核电厂故障诊断中的应用[J].核动力工程,2006,27(3):57-60. [8] 田雨波.混合神经网络[M].北京:科学出版社,2009:60-73. [9] 叶世伟,王海娟.神经计算原理[M].北京:机械工业出版社,2007:101-109. [10] 姜鹏飞,蔡之华.基于遗传算法和梯度下降的RBF神经网络组合训练方法[J].计算机应用,2007,27(2),366-372. [11] 张庆新,崔展博,马睿,等.基于k-means 聚类与径向基神经(RBF)网络的电力系统日负荷预测[J].科学技术与工程,2013,13(34):10 177-10 181. [12] 吴秋明.基于RBF神经网络的故障诊断[D].镇江:江苏大学,2006. [13] 张彬.基于聚类算法的RBF神经网络设计综述[J].微型机与应用,2012,31(12):1-3. [14] 魏海坤,李奇,宋文忠.梯度算法下RBF网的参数变化动态[J].控制理论与应用,2007,24(3):357-360. [15] 吴潇潇,陈机林,王力.基于聚类与梯度混合学习算法RBF神经网络的电液伺服系统建模及仿真[J].电气自动化,2011,33(1):20-22. [16] MICCHELLI C.Interpolation of scattered data:distance matrices and conditionally positive definite function [J].Constructive Approximation,1986,2(1):11-22. (编辑 桂金星) Application of Fault Diagnosis Based on RBF Neural Network withDifferent Learning Algorithms LI Ling1, HU Kelei2 (1.SchoolofAutomationEngineering,ShanghaiUniversityofElectricPower,Shanghai200090,China; 2.AnhuiHuadianLuanPowerGenrationCo.,Ltd.C&I,Lu’an237000,China) Through the research of three kinds of learning algorithms for RBF neural network and analysis of typical faults and symptoms of the condenser,RBF neural network based on different learning algorithms for the condenser fault diagnosis is presented.Finally,the result of the diagnosis is compared.Diagnosis results show RBF neural network based on three kinds of learning algorithms can accurately diagnose various fault diagnosis of the condenser.But the study speed of the clustering method and the OLS algorithm is faster;on the contrary,the gradient training method is slower.The research also shows that the RBF neural network has good practicability in the field of fault diagnosis. RBF neural network; learning algorithm; condenser; fault diagnosis 10.3969/j.issn.1006-4729.2016.06.017 2015-10-20 简介:李玲(1977-),女,硕士,讲师,江苏射阳人.主要研究方向为优化算法的研究与应用,火电站与核电站安全及故障诊断.E-mail:liling@shiep.edu.cn. TP183;TK264.11 A 1006-4729(2016)06-0583-063 结 语