刘 程,陈 斌,瞿珊瑚,张海天
(海军工程大学 电子工程学院,湖北 武汉 430033)
发信机是短波发信系统的重要组成部分,在军事通信中应用广泛。发信机出现故障往往会造成严重的后果,甚至会影响作战任务的正常进行。装备故障检测与诊断已成为现在的一个热点问题,但是在发信机故障诊断方面新的方法仍然较少。目前,多用基于BP神经网络[1]、专家系统等方法对装备进行故障诊断。由于发信机结构复杂,存在数据采集困难等问题,而传统的诊断方式从已经处理过的参数去分析判断。BP神经网络存在网络不易收敛、易陷入局部最优和收敛速度慢等缺点。基于专家系统的方法则需要人工提取信息,耗时长且工作量大。
近年来,深度学习因为其强大的特征挖掘和特征提取能力,已在语音识别[2]、图像处理等领域得到了广泛应用。深度学习利用原始数据逐层提取信息特征,对提取到的浅层特征进行处理,由浅层特征得到信息的深层表示,实现了非线性函数逼近,使较浅层的网络模型有更优的处理性能和泛化效果[3]。运用深度学习强大的特征提取能力,可以挖掘故障信号的深层特征表示。
常用的深度学习神经网络包括深度置信网络(Deep Belief Networks,DBNs)、深度玻尔兹曼机(Deep Boltzmann Machines,DBMs)、深度卷积神经网络(Deep Convolutional Neural Network)和深度堆栈自编码网络(Stacked Auto-Encoder,SAE)。深度堆栈自编码网络应用广泛,周志文等提出基于联合深度时频特征的辐射源识别算法,可显著提高雷达辐射源的识别准确度[4]。曹玉良等利用自动编码器构建的深度学习网络,对离心泵空化状态有良好的识别效果[5]。在故障诊断方面,王丽华等利用堆叠降噪自编码提取信号特征,结合Softmax分类器实现了高准确率的电机故障诊断[6]。Siqin Tao和陈仁祥等在研究轴承故障诊断时提出了堆栈自编码器与Softmax回归结合的深度神经网络算法框架,可以显著消除噪声影响,具有很强的鲁棒性[7-8]。
深度学习理论模拟神经元结构,不依赖人工处理数据而能自动学习信号的深层特征表示,对短波发信机故障诊断而言,深度学习具有很强的数据处理和分析能力[9-10]。因此,本文提出了基于深度学习的短波发信机故障诊断方法。
堆栈自编码(Stacked Auto-Encoder,SAE)是深度学习网络中一种应用较广泛的网络,基本单元为自动编码器(Auto-Encoder,AE)。图1是自动编码器结构。
自动编码器包含一个输入层、一个隐含层和一个输出层。相邻层间全连接,同一层内无连接。自动编码器对输入的无标签数据x(x∈Rn)编码,在隐含层得到数据的特征表示h(h∈Rm),然后对得到的数据特征重构得到输出y(y∈Rn)。
编码过程为:
Wh是输入层到隐含层的权值矩阵,b1是偏置向量,fh是非线性激活函数,通常有sigmoid和tanh两种。本文使用的是sigmoid函数,表达式为:
图1 自动编码器
解码过程为:
Wy是隐含层到输出层重构的权值矩阵,b2是重构偏置向量,fy是合成函数(sigmoid)。为使输出y尽可能等于输入x,需要使网络的训练误差最小,训练误差J(θ)的计算公式为:
其中,N是训练样本个数,θ为需要学习的参数,包含Wh、Wy、b1、b2四项。通常,使Wy=WhT保证解码合成阶段的无失真性。当重构的输出和输入近似相等时(y≈x),此时的自动编码器学习到的特征性能较好,能够将高维数据用抽象的低维特征表示。
堆栈自编码网络(SAE)是由多层自编码器组成的神经网络,其前一层自编码器隐含层的输出作为后一层自编码器的输入,多级连接从而构成堆栈自编码网络,每一级逐层学习形成堆栈自编码模型。无监督训练方式是自底向顶的,而精调过程为自顶向底的有监督训练。如图2所示,在SAE网络后加上一层有监督网络,即可对提取到的特征进行分类。本文采用Softmax分类器实现该功能,因为Softmax分类器适用于存在多个标签种类时的分类任务。
精调过程与自动编码器训练过程相似,根据SAE网络的输出与标签之间的差别调节无监督过程中学习到的参数,从而使网络的特征提取能力达到最优。设输入的样本为x(x∈Rn),n为输入节点数,对C种故障类型的信息进行分类,输出的概率为:
图2 有监督SAE网络
式中,x是输入,y是输出的故障类型,W和b分别是分类器的权重矩阵和偏置向量。归一化函数为,所有故障类型的概率之和为1,输出层的节点数等于故障类别数。由此,在输入数据经过SAE网络训练和精调后,根据概率输出可以确定故障类型,表达式为:
采用自底向顶无监督训练的方式学习获得网络参数,能够提取数据的深层特征,且深层特征可以有效还原输入信号。而自顶向底的有监督精调能够进一步优化网络参数,使网络权值可以更好地表达原始输入数据,获得更好的特征提取和表达能力。基于堆栈自编码的发信机故障诊断模型,结合SAE网络和有监督微调过程,先通过SAE网络训练提取无标签故障样本的特征参数,然后通过Softmax分类器对有标签的故障进行分类,精调整个网络的参数。该方法可同时实现发信机故障样本的特征提取和故障类型的诊断,算法流程如图3所示。
发信机SAE故障诊断网络模型主要步骤如下。
步骤1:获取故障样本与预处理。采集各类故障信号,归一化信号幅值在[0,1]内,从各类故障样本中随机抽取2/3作为训练样本,剩余数据作为测试样本。
步骤2:SAE网络预训练。设置网络参数(包括隐含层层数、各层节点数、学习率、迭代次数等),构建出堆栈自编码网络。输入训练样本,无监督训练得到每层权值矩阵和偏置,提取故障信号特征。
图3 发信机故障诊断流程
步骤3:有监督精调。输入有标签的训练样本,精调预训练中得到的网络参数。
步骤4:测试网络。输入测试样本,测试训练好的网络,输出故障诊断类型。
为验证SAE网络对发信机故障的诊断能力,本文以某型短波发信机为例进行分析。由于发信机的内部结构复杂,可能发生的故障种类并不相同,本文中预设了正常状态和4种故障类型对其进行故障分析。每类信号如图4所示。
图4 故障信号波形
实验中,5种状态的信号分别设置标签为[1,0,0,0,0]、[0,1,0,0,0]、[0,0,1,0,0]、[0,0,0,1,0]、[0,0,0,0,1],每种状态的信号各采集数据1 500组,共7 500组数据。随机抽取每种状态数据的1 000组作为训练样本,剩余500组作为测试样本。
3.1.1 自动编码器个数不同时的诊断准确率
由于本文中采用堆栈自编码网络来构造故障诊断模型,而改变自动编码器数目会影响特征提取能力,因此改变自动编码器数目,研究在不同网络深度情况下的故障诊断性能。实验中,自动编码器数目(隐含层层数)设置为L(L∈[1,3]),每组数据的维数为1 024,设置SAE网络各层节点数为1 024—200—100—50—5。在研究不同数目的自动编码器的影响时,设置其余网络参数(学习率,迭代次数)相同,比较故障的识别率、网络训练时间t1、测试时间t2,结果如表1所示。
表1 自动编码器数目不同时诊断准确率
由表1的结果可以看出,基于SAE的诊断模型可以应用于发信机的故障诊断。在学习率、迭代次数等参数相同的情况下,增加自动编码器的数目(网络深度)可以提高故障诊断的准确率。因为随着SAE网络深度的加深,模型的特征提取能力变强,提取到的特征可以更准确地表示原始数据。但是,当自动编码器数目L≥2时,故障诊断均能达到100%左右的准确率,说明在自动编码器数目为2时,网络提取到的特征已经足够用来进行发信机故障诊断,此时继续增加网络深度将无法提升网络性能。模型在L=3时比L=2时增加了40%的网络训练时间。增加网络深度会增加网络训练耗时,而测试时间相比训练时间并没有显著变化且时间都较短(t<0.1 s)。综合诊断准确率和耗时考虑,在后面的仿真实验中,采取含2个自动编码器的SAE网络,网络结构为1 024—200—100—50—5。
3.1.2 不同样本数目时的网络诊断效果
在实际的发信机故障诊断过程中,有效的故障类别信号往往较少。因此,对不同大小的训练样本进行网络性能对比有很强的实用意义。设置网络参数不变,网络结构为1 024—200—100—50—5。改变每一类故障训练样本数据集的大小,得到如表2所示的识别效果。
表2 不同样本大小时的实验结果
由表2可以发现,当每一类故障训练样本在100以下时,故障诊断准确率较低;当训练样本为500以上时,诊断准确率接近100%。这表明在训练样本增多时,SAE网络具有更好的特征提取能力和故障诊断准确性;当训练样本为200时,准确率能达到70%左右,表明在网络训练样本较小时,该模型仍具有较好的故障诊断能力,增加训练样本数目能够提高网络的参数学习能力和数据表达能力。随着训练样本的增大,网络训练耗时也增加。考虑到实际故障诊断问题,需要在较短时间内判断出故障类型,得到诊断结果。从仿真实验中的训练时间来看,本文的诊断模型符合这一要求。
将本文中基于堆栈自编码的诊断模型与传统单隐层BP神经网络进行对比。因为在当每一类训练样本为500时,SAE模型的诊断准确率就能接近100%,所以本节仿真中选择训练样本大小为500。为了避免实验出现随机性,本文进行了10次仿真实验,在训练样本大小相同的情况下,比较两种算法故障诊断的准确率,得到如图5所示的结果。
图5 两种方法10次实验的诊断准确率
可以看出,基于SAE的诊断模型的诊断准确率比BP神经网络方法提升明显,基本上在95%以上;从稳定性上看,SAE诊断准确率的波动较小,而BP神经网络的诊断效果不稳定,因为BP神经网络在程序运行过程中容易陷入局部最优,导致网络训练误差较大,故障诊断准确率低。
针对短波发信机不同种类的故障诊断问题,将堆栈自编码网络添加分类层,构建出基于SAE的发信机故障诊断模型。模型通过对无类别数据进行自底向顶无监督训练和有类别数据的自顶向底有监督精调完成网络的训练,能够提取到故障信息的深层特征表示,实现发信机的故障诊断。可见,实验结果验证了本文基于SAE诊断模型的有效性,同时和传统BP神经网络相比,基于SAE的诊断模型具有更好的稳定性与诊断准确率。