卷积神经网络在舵机异常检测中的应用*

2021-07-28 01:35王伟丽杨瑞峰郭晨霞
航天控制 2021年6期
关键词:测试数据舵机准确度

王伟丽 杨瑞峰 郭晨霞 秦 浩

1.中北大学仪器与电子学院,太原 030051 2.山西省自动化检测装备与系统工程技术研究中心,太原 030051

0 引言

舵系统是导弹控制系统的重要执行机构,它接收来自飞行控制系统的控制信号,驱动舵面偏转,从而控制飞行姿态和轨迹。舵机的精确输出和可靠操纵对于飞行器安全稳定飞行至关重要[1]。舵机性能和质量的好坏直接决定着导弹飞行过程中的动态品质[2],舵机发生故障可能会导致灾难性事故。因此,对舵机进行精准异常定位具有重要的现实意义。

目前,针对导弹舵机测试数据进行分析的研究较少。文献[3]对舵机测试数据进行了特征分析和多故障分类,但未考虑数据分布特征。文献[4-5]使用自适应采样方法和支持向量机分类器(Support Vector Machine, SVM)对舵机数据的不均衡进行了研究。该方法虽然使得不均衡数据分类准确度有所提高,但效果不显著。近年来,深度学习(Deep Learning,DL)技术广泛应用于各个领域,其中卷积神经网络(Convolutional Neural Networks, CNN)已经成为热门的机器学习算法之一[6]。文献[7]中提到使用CNN对皮肤癌进行分类和诊断,文献[8]中使用CNN对高光谱图像进行分类。由此可以看出,CNN以其出色的分类性能,为舵机异常检测提供了新思路。

针对舵机参数的测试数据量大且样本不均衡的特点,考虑到CNN优越的特征提取和分类的性能,本文提出使用CNN对舵机测试数据进行异常检测。我们通过不同网络层次的对比实验,得到最优的网络结构,完成适用于舵机异常检测的CNN模型设计。本文所提出的CNN模型包含3个卷积层、2个池化层、1个展平层、2个失活层和2个全连接层。

1 基本理论背景

1.1 舵机测试设备

本研究使用的舵机自动化测试平台能够自动完成舵机参数的采集。测试设备主要由工控机、电源、采集卡、信号调理电路、驱动器和多功能数据采集卡组成。该平台最多可同时测试4套舵机,大大提高了测试效率。图1为舵机测试的简要流程图。

图1 舵机测试过程概述

舵机在使用前必须进行性能评估,以确保所有参数处于正常状态。若舵机参数测试结果出现异常,则需要立即对舵机进行检修。通过人工分析数据需要耗费大量的时间和精力,且准确度难以保证。所以,利用机器学习技术自动且高效地完成舵机异常检测是十分必要的。

1.2 舵机参数数据集

实验中使用到了19490个历史测试数据。实验数据集中包含气动舵机测试项目如下:过渡过程时间、超调量、稳态误差、空载带宽、负载带宽、迟滞特性、零位精度和舵机行程。这些参数反映了气动舵机的动静态特性,是评价舵机性能的综合指标。每条舵机测试数据包含10个“特征”,对应10种不同的测试参数;一个“标签”,对应11种测试状态:合格状态(Q)和异常状态(FA-FJ)。

1.3 卷积神经网络

提出了一种适用于舵机异常检测的CNN模型。CNN是受到人类视觉神经系统的启发,使用卷积核来代替人类的视野,达到降低计算量,高度保留特征的目的。

输入层:用于接收预处理后的舵机测试数据。

卷积层:该层由多个卷积核组成,执行大量卷积计算。卷积核(W=[w1,w2,w3,…,wN]T)通过在整个数据上滑动一定的步长,以生成新的数据表示,也称为输出特征[9]。输出特征被映射到激活函数,实现网络层的非线性变换。本实验所使用的Rectified Linear Unit(ReLU)是神经网络结构中最常用的激活函数,它的定义如下:

R=max(0,WTx+b)

(1)

式中:R表ReLU函数;W卷积核的权重;x为输入的舵机测试数据;b表偏差。

池化层:该层用于特征降维,减少训练过程中的计算负担,从而减少过拟合,提高模型的容错率。本实验选取的池化形式为最大池化。

展平层:将上一层的输出转换为矢量。该层通常用于卷积层或池化层到全连接层的过渡。

失活层:使用隐含单元的随机失活来防止过拟合。这种随机性的引入迫使网络变得冗余,也就是使得网络与训练样本不完全匹配,从而增加网络的泛化能力。

全连接层:它旨在将该层的神经元与其它层的神经元连接。输出类型决定了使用哪种激活函数。本文设计的模型中存在两个全连接层。其中,第二个全连接层为输出层,用于分类,该实验需要把舵机测试结果分为11类,则该层神经元个数为11个。分类选用Softmax激活函数。该函数对预测输出进行归一化,以获得相应类别的概率分布:

(2)

2 舵机异常检测模型的搭建

2.1 实验设置

实验以8 ∶2的比例划分数据集,即舵机测试数据15592个被划分到训练集,3898个被划分到测试集。具体设置如下:首先,神经网络的一次训练选择的样本数量太小,损失函数会振动,导致结果不收敛;在一定范围内增加一次训练选择的样本数量,不仅可以缩短神经网络的训练时间,还可以提高训练精度。因此,我们将其取值为512。其次,CNN的训练使用Adam算法进行,训练的迭代次数为200。

2.2 不同网络层次性能对比

为了搭建适合舵机测试参数的CNN模型,我们进行了不同网络层次的性能对比实验。架构示例如图2所示,每个模块由一个卷积层和一个池化层组成。图2(a)命名为SimpleNet-2,图2(b)命名为SimpleNet-22。

图2 架构示例图

对比结果如表1所示。SimpleNet-22结构所得到的测试集准确度最高,相比于SimpleNet-1,SimpleNet-12,SimpleNet-2和SimpleNet-3,测试集准确度分别高出0.421%、0.056%、0.077%和0.143%。由此可以看出,在一定程度上加深网络层次可以提高模型性能。通过SimpleNet-1和SimpleNet-12对比,以及SimpleNet-2和SimpleNet-22的对比,在第一次池化层前加入两个卷积层可以允许模型学习到更复杂的特征,完成更优的特征提取。但通过SimpleNet-3的实验分析可知,过渡加深网络层次不一定能提高模型的分类性能。

表1 测试集准确度

2.3 CNN模型的构建

通过上述实验,最终选取SimpleNet-22的架构来搭建CNN模型。如图3所示,本实验设计的CNN模型的第1层、第2层和第4层为卷积层,分别包含32个、64个和128个卷积核,卷积核尺寸均为2,步长设计为1,选取ReLU为激活函数。第3层和第5层为最大池化层,池化窗大小为2。第6层为展平层。数据以10×1的形式输入,通过上述六层计算后,数据以384×1的形式输出。接下来,展平层输出的数据被输入到含有256个神经元的全连接层,并以0.25的概率随机失活。最后的全连接层为输出层,以0.5的概率随机失活,使用Softmax作为激活函数,得到11类分类结果。这11类分类结果将数据分为合格和10类故障,实现舵机测试数据的异常检测。

图3 CNN模型

3 仿真校验

3.1 评价指标

舵机异常检测的本质是多分类问题,为了评估所提出的模型的性能,使用了以下参数:准确度(accuracy)、精确度(precision)、召回率(recall)、F-score和kappa系数[3,10]。

(3)

(4)

(5)

(6)

(7)

式中:Acc代表准确度;Pre代表精确度;Rec代表召回率;F代表F-score;K代表Kappa系数;TP,TN,FP和FN分别代表真阳性、真阴性、假阳性和假阴性;N代表样本总数。

3.2 CNN模型的分类性能验证

在神经网络模型训练时,将损失函数进行了可视化处理,结果如图4所示。训练集交叉熵损失值在迭代200次后趋于平稳,说明BP(Back Propagation)神经网络和CNN网络训练在不引起过度拟合的情况下收敛。也就是说我们的网络训练结果是有效的[11]。

图4 损失函数值曲线

为了对所提出的模型进行广泛的性能评估,我们将其与KNN、SVM和BP模型相对比。其中,BP模型为去除CNN模型卷积部分的结构,如图3所示。表2所示的KNN、SVM、BP和CNN模型的分类性能指标是通过5次重复实验得到的平均值。与KNN和SVM模型相比,实验设计的CNN模型在准确度上提高了3.494%和1.826%。与BP模型相比,CNN模型的准确度提高了0.42%,这表明,通过卷积层提取数据特征可以有效的提高分类性能。在精确度、召回率和F-score分析中,CNN模型的分类效果均最优。CNN模型的Kappa系数结果为0.99362,与其他三种模型相比最接近1,也就是说明CNN分类结果与真实结果相比几乎完全一致。综上所述,我们所设计的CNN模型相比于其他3种模型在舵机测试数据分类中表现最佳。

表2 不同模型分类性能比较

3.3 不同类别的分类性能验证

由于舵机测试数据不均衡,为了分析小样本的分类情况,实验绘制了如表3所示的CNN模型的混淆矩阵,以及表4所示的不同模型中不同类别的分类性能表。值得注意的是,KNN和SVM模型虽然在整体性能比较中与神经网络的差距不大,但它们受数据不均衡影响较大。在FE,FF,FG和FJ中分类效果不佳。尤其是KNN模型,在FF类中,准确度只有42.25%,无法达到分类效果。使用CNN模型分类时,FA,FB,FE,FH,FI和FJ的分类准确度和精确度均能达到100%。由此可见,CNN模型几乎不受训练样本量的影响,在小样本中仍能达到良好的分类效果。

表3 CNN模型的混淆矩阵

表4 不同模型中不同类别的分类性能比较

4 结论

针对舵机的自动化异常检测,本文提出了一种适用于舵机参数测试的CNN模型。实验结果表明,该模型能够良好改善舵机数据样本不均衡而导致的小样本难以准确分类的问题。在4种模型对比实验中,CNN模型的准确度、精确度、召回率、F-score和kappa系数均最优。由此可以看出,这是深度学习技术在舵机领域的一种新的有效应用。

猜你喜欢
测试数据舵机准确度
含齿隙弹载舵机的全局反步模糊自适应控制
测试数据管理系统设计与实现
幕墙用挂件安装准确度控制技术
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
基于自适应粒子群优化算法的测试数据扩增方法
动态汽车衡准确度等级的现实意义
空间co-location挖掘模式在学生体能测试数据中的应用
基于云模型的舵机同步控制
高炉重量布料准确度的提高