摘要:针对车载电源故障机理复杂且知识经验不足,传统浅层神经网络诊断效果难能满意的问题,研究了基于深度置信网络的车载电源故障诊断方法.该方法借助于30 kW车载电源仿真系统采集的几种常见故障数据,通过对深度置信网络进行预训练与反向微调,构建了车载电源相应故障的深度诊断神经网络,从而实现了车载电源几类常见故障的有效智能诊断.该方法的优势在于能够将车载电源的故障特征提取与故障诊断有机融合,摆脱了传统浅层故障诊断方法对大量信号处理技术与诊断经验的依赖,仿真试验也进一步昭示出文中方法在车载电源故障诊断中的有效性和适宜性.
关键词:车载电源; 深度置信网络; 故障诊断
车载电源作为一种军用移动电站,是野战条件下军队武器装备的主要电能来源.随着车载电源在军队的广泛应用,且与武器系统的依存度也不断提高,一旦出现故障,整个武器系统将可能陷入瘫痪,严重影响军队战斗力.现存的多数军用电站仅有一般的电流、电压、频率等越限后的故障粗略提示,缺乏更科学精准的指示与定位.因此,军方需要以科学的故障诊断方法及时评判车载电源的工作状态,确保以最快的速度进行维修,最大限度地减少对战事的影响.
对于车载电源系统,由于受外部环境的干扰及内部复杂结构的影响,在众多故障诊断方法中[1-2],数据驱动下基于知识与信号处理的方法当属首选,而此类方法都以故障特征的提取为基础.传统的故障特征提取方法如统计分析、自回归模型、小波分析、经验模态分解和奇异值分解等[3],一般都要求对提取的信号具有一定经验知识,并进行复杂的数学运算,同时还应具备丰富的信号处理技术.对于结构相对简单,数据在有限范围内且复杂度低的系统此类方法通常较为有效,对于车载电源,一类受到内部结构和外部环境的互相干扰的系统,这些方法对其故障状况典型特征的挖掘则难能充分,有时甚至需要将多种故障特征提取方法进行融合,才能达到期望效果[4].
传统基于知识的故障诊断方法,往往也过度依赖专家诊断经验且需要大量信号处理技术作支撑,如最为常用的BP算法、支持向量机等单隐层神经网络,由于本身为浅层结构,不仅限制了其挖掘故障信息、提取故障特征和识别设备故障状况的能力,难以表征被测信号与装备运行状况之间复杂的映射关系,而且还面临维数灾难等问题.
2006年Hinton等[5]提出了深度学习的概念.深度学习网络(deep neural network,DNN)是能够模拟人脑的结构建立进行分析和学习的多层神经网络,DNN模仿人脑的学习机制来解释相关数据,如图像、声音和文本等.Hinton等人基于深度置信网络(deep belief network,DBN)提出非监督贪婪逐层训练算法,为解决深层结构相关的优化难题带来了希望,随后提出多层自动编码器深层结构.随着深度学习理论的发展,如深度置信网络、卷积神经网络(CNN)、稀疏自动编码器(SAE)、降噪自动编码器(DAE)等方法在图像处理、语音识别等领域中得到广泛的应用[6-8].
深度学习网络经典算法之一的DBN,凭借其优异的特征提取和训练算法,成功地解决了手写字体识别[5]、图像处理[9]和故障分类[10]等多个领域的问题.Tamilselvan P等[11]于2013年第一次把DBN应用到飞机发动机的故障诊断,随后更多国内外学者关注这一领域,并取得诸多研究成果.Tran等[12]把DBN和Teager-Kaiser能量运算算子(Teager-Kaiser energy operation,TKEO)算法融合,在往复式压缩机阀门故障诊断中,取得了更高的故障识别率;赵光权等人将DBN用于轴承的故障诊断中[10],能够进行多种工况和故障位置的故障诊断,具有较高的诊断精确率.
基于此,考虑车载电源故障机理的复杂性和先验知识的欠缺,本文针对车载电源系统的几种常见故障,如调速器调节失灵、励磁模块故障、喷油嘴故障和系统超载等,在采集大量运行数据的基础上,运用DBN方法对车载电源系统进行故障诊断研究,以期获得较高的故障诊断准确率,为车载电源的安全运行与高效维护提供保障.
1 基于深度学习理论的车载电源故障诊断方法
1.1 车载电源故障诊断深度学习网络的确定
车载电源按组成模块来分,主要包括柴油机、电子调速器、发电机和励磁系统等4个模块;在线监测数据包括电压、电流、功率因数、温度、频率、速度及负荷7个数据;其故障类型既有机械类故障,也有电气类故障.由于机电特性相互耦合,不仅故障机理复杂,而且经验知识匮乏.因而,在车载电源故障诊断中,如果使用传统的基于浅层结构神经网络的故障诊断方法,依旧面临经验知识积累不足、故障特征提取较为困难等问题.深度学习网络则可以实现故障特征的自动提取,并且通过建立深层网络模型较好地挖掘出信号与故障状况之间的深层关系,因此更适合车载电源的故障诊断.
深度学习网络用于设备故障诊断,首先需将故障数据进行预训练[13],即以非监督学习的方式逐层训练深度学习网络,使深度学习网络充分挖掘故障数据的特征,使深度学习模型具有提取故障特征的能力;预训练完成后,在增加相应的分类器(如sigmod、softmax等)基础上,以监督学习的方式对深度学习网络进行反向微调,以保障深度学习网络能够更好地实现故障特征的表达并且具有故障诊断的能力.
由前文分析可知,与其他几种深度学习网络相比,深度学习网络的经典方法DBN在故障诊断领域已有了相对多一些的成功应用,不仅具有强大的故障特征提取能力,而且能很好地表征运行状况与信号之间复杂的映射关系,故本文以DBN作为预训练算法,在添加softmax分类器的基础上,以BP为反向微调算法,从而构建出车载电源故障诊断的深度学习网络.
1.2 限制玻尔兹曼机
限制玻尔兹曼机(restricted botlzmann dachine,RBM)是玻尔兹曼机的一种特殊形式,是DBN模型的基本组成部分,对于DBN模型的构建和训练起着至关重要的作用.DBN模型的预训练过程,即提取故障特征的过程就是通过RBM的逐层堆叠而成,每一个RBM都包含两层分为可视层(通常用v表示)和隐含层(通常用h表示).只有可视层和隐含层的节点之间有连接权值,而每层的节点之间互相没有连接,如图1所示.
图1 限制玻尔兹曼机结构示意图
Fig.1 Schematic diagram of restricted Boltzmann machine
RBM是一个典型的能量模型,它的能量函数可以表示为
(1)
式中:wij表示第i个可见层节点vi与第j个隐含层节点hj之间的权值;ai和bj分别表示vi和hj的偏置.有了联合组态能量函数,就可以定义可见层节点v和隐含层节点h的联合概率:
(2)
RBM层内节点没有连接,所以根据联合概率可以得到条件概率:
得到RBM网络的概率密度函数后,需要学习(w,a,b)等参数使RBM网络表示的吉布斯分布最大可能的拟合输入数据,一般采用求解输入样本的最大似然的方法来进行参数求解.为了解决训练时间漫长的问题,2006年,Hinton提出了对比散度的方法来加快训练速度.对比散度将对数似然函数梯度的求解进行了两个近似:一是使用从条件分布中得到的样本来近似替代计算梯度时的平均求和;二是吉布斯采样时只进行一次.通过对比散度算法,可以快速得到(w,a,b)等参数的更新,从而完成RBM网络的训练.
1.3 基于DBN的训练方法
作为深度学习理论的经典方法之一,通过一系列的非线性变换,DBN能够实现自动地从故障数据中提取到由低层到高层、由具体到抽象的数据特征.
DBN是由多个RBM网络叠加组成的多隐含层神经网络,每一层的RBM通过对比散度的方法单独训练,如图2所示,每一层的RBM都包含一个可视层和隐含层,底层RBM的隐含层输出就是上一层RBM的可视层,层层叠加形成DBN.DBN的核心就是使用贪婪逐层学习算法使含有多隐层的深度神经网络的连接权重得到优化,解决深度学习网络的训练问题.
图2 DBN示意图
Fig.2 Schematic diagram of DBN
DBN模型的训练主要有以下两步:
1) 将底层RBM0的输出作为RBM1的输入,以此类推,达到RBM的最后一层,使用对比散度算法以无监督学习的方式分别训练每一层,使(w,a,b)等参数得到更新;
2) 在DBN模型的最后一层添加BP神经网络,最后一个RBM的输出作为其输入,获得预测的数据类别,并与实际类别比较,得到训练误差,再将得到的误差自上而下反向传播到每一层的RBM,使DBN模型得到微调,直至达到最大的迭代次数即完成训练.
DBN模型可以从故障数据中对故障特征进行逐层提取[5],获得对于故障的一些高层次表达.RBM模型中的权重和阈值被不断更新,直到达到所设定的最大迭代次数.
1.4 基于DBN的车载电源故障诊断方法
根据以上分析,在运用DBN对车载电源进行故障诊断时,首先需要获取故障数据,对故障数据使用无监督方式逐层进行训练,实现对车载电源典型故障特征的有效挖掘;然后在增加softmax分类器的基础上,通过BP算法以有监督的方式对DBN进行反向微调,从而使DBN具有对于故障的诊断能力.
其中使用无监督方式逐层训练故障数据时,通过直接把车载电源正常与故障数据从输入层映射到输出层,可使得一些非线性复杂函数得到较为充分的学习,这恰是DBN具有强大的故障特征提取能力的关键所在,其诊断流程如图3所示.
图3 DBN故障诊断流程
Fig.3 Flow-chart of fault diagnosis with DBN
由图3可知,车载电源故障数据的获取是诊断试验的基础和关键所在.
考虑车载电源系统故障类型繁多,故障特征与检测数据之间的关系较难梳理,而且前期故障数据积累不足,因此本文将基于前期团队为对军方用户开发的车载电源仿真系统进行数据采集,该系统模型与车载电源实体的一致性前期已通过实体对象试验验证.该仿真平台可模拟30 kW车载电源的常见故障,如调速器调节失灵、励磁模块故障、喷油嘴故障、系统超载等,并且可以获得各运行状态下对应的电压、电流、转速、功率等运行数据.
基于DBN模型进行车载电源故障诊断的具体步骤如下:
1) 在30 kW车载电源仿真系统模拟几种常见故障,并获取相应状态的运行数据;
2) 对于采集的数据进行归一化以消除数据之间的量纲影响,解决数据之间的可比性;
3) 将数据按比例随机产生训练集与测试集,其中75%的数据用于训练,25%的数据用于测试;
4) 建立具有多个RBM叠加的DBN模型,依据故障样本的维数确定该模型的输入层节点的数目,使用训练集对该模型以无监督方式进行逐层预训练;
5) 依据车载电源的故障类别数确定DBN模型对应输出层的节点数目,利用有监督方式的BP算法对该模型进行反向微调;
6) 使用测试集对训练好的DBN模型,进行故障诊断有效性的验证分析.
从以上的步骤可以看出,使用DBN方法对车载电源进行故障诊断与传统基于浅层网络故障诊断方法的主要区别为:
1) 使用DBN方法进行故障诊断时,故障特征的提取和分类器的分类集成在一起,在故障诊断中具有一定的普适性;
2) DBN方法具有多隐层模型,与传统的浅层模型故障诊断方法相比,能够有效地避免维数灾难的发生和故障诊断能力不足等方面的问题.
2 仿真试验验证
2.1 试验数据获取
为了验证基于DBN的方法在车载电源故障诊断的有效性,这里以车载电源常见的5种状态(系统正常、调速器调节失灵、励磁模块故障、喷油嘴故障和系统超载)进行故障诊断仿真试验.
首先在车载电源仿真平台上模拟这5类运行工况,并获取相应的运行数据作为故障数据集,该数据由车载电源的电压、电流、转速、有功功率和无功功率等测量量组成,每种单一故障工况下各有404、414、404、376、402个样本集,采集车载电源故障数据共2 000个样本集,共计18 000个数据,具体数据集描述见表1.
表1 车载电源故障数据集描述
Tab.1 Description of failure data set of vehicle-carried power supply
在仿真试验中随机选择75%的样本用于训练,即训练集共1 500个样本;25%的样本用于测试,即测试集为500个样本.同时,对该试验重复进行20次以减少随机因素影响仿真试验结果.在本文中所用DBN模型分为4层,每层神经元个数为9、50、50和5,即该DBN的结构为:9-50-50-5,学习率为0.5,激活函数为tanh,训练次数为50次,训练次数选择依据见下文.
2.2 训练过程
训练过程包括预训练与微调阶段,迭代次数的确定是训练结果准确与否的关键.预训练每完成一次,BP网络便根据预训练结果得到预测的故障类别,并与真实值比较后得到训练误差,然后将错误信息反向传播至每层RBM网络以实现微调.训练过程每迭代一次BP网络便反向微调一次.
1) 迭代次数的确定
每个RBM迭代次数的不同也影响着车载电源故障诊断结果,为了确定最适宜本试验的迭代次数,这里在车载电源故障数据集上测试了训练迭代次数从1到60时的故障诊断能力;为排除随机因素影响,每个迭代次数各进行5次试验,并取其准确率的平均值,具体结果如图4所示.
图4 RBM训练迭代次数
Fig.4 Iteration times of RBM training
由图4可知,迭代次数从1到40故障诊断误差逐渐下降,故障诊断准确率一直处于上升状态,在迭代次数达到40以后,准确率趋于平稳,故本文选取迭代次数为50.
2) 训练误差
随着迭代次数的增加,每次的微调中训练误差会逐步收敛,直至达到理想的训练结果.图5给出了迭代次数为50次的第13次试验的训练误差曲线[14].如图所示,在50次的迭代更新之后,使用DBN方法进行车载电源故障诊断的训练误差已收敛于0.05以下,并达到了98.6%的故障诊断正确率.
图5 训练误差曲线
Fig.5 Training error curve
2.3 故障诊断结果
图6给出了500组随机测试数据中5类车载电源的故障状况的诊断结果,可以看出试验故障均能有效地诊断出来.
图6 车载电源故障诊断结果
Fig.6 Fault diagnosis result of vehicle-carried power supply
2.4 诊断结果分析
对车载电源进行20次的故障诊断试验准确率如图7所示.为体现在车载电源故障诊断中采用DBN的优势,在图7一并给出了使用浅层BP网络诊断相同故障数据集的结果.为进一步定量对比以上两种方法的故障诊断精度,计算20次故障诊断试验的平均故障诊断准确率及相应的标准差(见表2),表3给出了各类故障的预测准确率.
通过观察图7和表2可以看出,传统的浅层BP神经网络20次的故障诊断结果的准确率分布在80.73%~93.81%,诊断结果的波动幅度明显且诊断结果的精度不稳定;而DBN方法在车载电源的20次故障诊断中,故障诊断的诊断准确率高分布在97.4%~99.8%, 20次诊断的准确率相对稳定,DBN方法的故障诊断平均诊断正确率高于BP神经网络约10%,表3给出了DBN对各类故障的预测准确率,对各类故障均具有较好的诊断效果.这充分说明DBN方法用于车载电源的故障诊断,可以更为准确地识别出不同工况下车载电源的故障;也进一步昭示出基于DBN的故障诊断方法,对于经验知识欠缺、机理复杂的系统,能更为深入地学习挖掘其故障知识,自主获取故障特征,并有效地进行故障诊断与分类.
图7 20次试验中的故障诊断准确率
Fig.7 Accuracy of fault diagnosis in 20 experiments
表2 20次试验的故障诊断结果
Tab.2 Results of fault diagnosis in 20 tests
表3 各类故障预测准确率
Tab.3 Prediction accuracy of several kinds of faults
3 结论
本文针对车载电源的几种常见故障,基于DBN对其故障诊断方法进行了研究.利用DBN将车载电源的故障特征提取与故障诊断集成在一个模型之中,实现车载电源的故障特征自适应提取和故障有效分类.仿真结果表明:
1) 基于DBN的模型能够从车载电源的故障信息中自动提取故障特征,并取得较高的故障诊断准确率;
2) 与由浅层模型构成的传统基于知识的故障诊断方法相比,DBN用于车载电源故障诊断,克服了传统方法对于大量信号处理方法与相关专家经验的依赖;
3) 将DBN用于车载电源的故障诊断,与传统故障诊断方法相比,更适合表达车载电源数据中更深层次的隐藏特征,更适应车载电源的故障诊断需求.