APP下载

一种基于二维卷积神经网络的舵机故障检测方法*

2023-01-04邹倩倩杨瑞峰郭晨霞

航天控制 2022年6期
关键词:舵机故障诊断卷积

邹倩倩 杨瑞峰 郭晨霞

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

0 引言

舵系统主要应用于航空航天,军事,船舶和自动驾驶等领域,它是一种位置伺服系统,接收来自飞行控制系统的控制信号,驱动方向舵的偏转,进而控制飞行的姿态和轨迹[1]。舵系统在制导设备和相关领域中有不可或缺的主导地位,由于舵系统的长时间高负荷运转,一旦发生故障,就会发生难以估计的损失,为避免造成严重后果,需要时刻关心系统的运行情况,监测设备运行并采集数据进行故障诊断。

文献[2]利用决策树和随机森林等实现了舵机的故障定位。文献[3]通过SVM实现了对不平衡数据的故障诊断;文献[4]提出了混合粒子群果蝇优化BP算法,实现了舵系统的故障诊断和定位查询。

随着计算机技术不断发展,深度学习由于其出色的识别能力为故障诊断提供了新思路,并逐渐成为故障检测的主要工具[5]。卷积神经网络作为深度学习中研究最充分的方法,其模型被广泛的应用到各种场景中[6]。对比传统的故障诊断方法,基于深度学习的故障诊断表现出了更为良好的准确度和适应性。文献[7]将粒子群和深度学习相结合进行故障诊断,得到满意的诊断结果;文献[8]将VGG16卷积神经网络模型应用于故障诊断领域,在不同状态和多分类任务中保持了良好的算法性能;文献[9]构建了基于卷积神经网络HPSOGWO-CNN 模型,解决了舵机故障测试数据中的小样本数据不均衡的问题。文献[10]利用粒子群优化算法确定卷积神经网络的超参数选取问题,该方法具备良好的普适性。显然,CNN已经成为深度学习中常用的智能诊断方法之一[11]。

虽然传统的一维卷积神经网络(1D-CNN)已被广泛应用在故障诊断中,但在相同的卷积条件下,卷积神经网络更容易从高维数据中提取特征,一维卷积神经网络相较于二维卷积神经网络(2D-CNN)获得的感受野较小,存在特征提取不充分、训练过程中容易出现过拟合的问题。文献[12]提出一种基于2D-CNN的识别语音情绪的方法,并和1D-CNN进行比较,得到优于传统1D-CNN的识别分类结果;文献[13]将一维信号转化为矩阵形式的二维输入信号,并对二维卷积神经网络提取的数据特征进行故障诊断和分类,实现了不同情况下的故障识别。从上述研究中发现,相对于训练一维数据,CNN在处理二维数据中展现出了更好的性能,更适合处理二维数据。

本文提出一种基于2D-CNN舵机故障诊断模型的方法,将一维数据转化为二维数组作为输入,并设计了局部学习特征模块(Feature-learning module),简称为FM,FM架构中包含一个卷积层,一个批量标准化层,和一个Re LU激活函数。通过对比模型中所含FM的个数,确定最优的网络结构。本实验中所提出的2D-CNN模型包含5个FM架构,1个最大池化层,1个全连接层和1个失活层。

1 理论背景

1.1 基本原理

不同于图像深度学习中的卷积神经网络,在舵机设备的故障诊断中输入数据的信息分布更为稠密,根据数据量的差别,在实际可行性上对降维过程有较少的依赖,但由于不确定输入对于输出的贡献程度,全局感受野往往占据更为重要的地位。

一维卷积神经网络可以实现故障模式识别中的特征提取与特征选择,并对结果进行分类,但是一维卷积神经网络针对不同的应用场景需配置不同的深度以满足全局感受野,且能满足全局感受野的最低深度和输入的维度是正相关的,这也意味着在严苛的硬件条件下对于不同的故障诊断过程需要不同的深度。启发于三维卷积神经网络在视频理解过程中将时序作为一个单独的维度引入,提出了升维后的二维卷积神经网络,二维卷积神经网络提供了另一种沟通空间信息的方法,我们注意到并列排布进行升维对于扩大感受野的贡献有限,所以寻找一种最大程度增加感受野的排布方式显得十分重要,经过重重实验,我们决定使用对称排布的数据进行合并,组成新的二维特征数据图,经过试验,2D-CNN在参数量和计算量与1D-CNN几乎相同的情况下获得了性能提升。

1.2 二维卷积神经网络

提出的二维卷积神经网络模型,首先将一维舵机数据12×1升级为12×2的形式。如图1所示,将12维原始数据按照分组重新排列,将每组数据首尾拼接起来作为一个12×2的矩阵,让数据首尾兼顾,让原本相距较远的两个参数对结果产生影响,打破了提取数据空间的局部性,使每一层的感受野不再局限于相邻的数据,使特征提取具有全局性,卷积层的1d卷积核升级为2d卷积核,实现了数据增强,增加了可学习参数,将隐藏层映射在更高维的空间,提取出更加抽象的信息,使提取数据深层次的特征更加全面。

卷积神经网络由输入层、卷积层、激活函数、最大池化层、全连接和输出层组成。在卷积层中,卷积核通过步长移动进行特征提取;最大池化层用来减少数据的空间尺寸并保存有用的特征,降低网络计算的难度;全连接层把上一层的输出数据特征结合变成全局特征,并通过Softmax分类得到最后的分类结果。

图1 一维数据升级为二维数组

1.3 批量标准化(Batch Normalization)

在网络训练过程中,每一层的输入受前一层参数的影响,随着网络的加深,网络参数的微小变化累积被放大,即产生协变量偏移,为了减少内部协变量偏移,引入批量标准化。批量标准化(BN)层对每一个输入神经元进行归一化处理。

批量标准化对输出的Batch的数据{x(1),x(2),…,x(k)}的批零归一化操作如下所示。

E[x(k)]和Var[x(k)]为训练数据集的期望和方差:

(1)

归一化后x(k)引入参数γ(k)和β(k),用来对标准化的数据进行缩放和平移:

(2)

式(1)和(2)为数据归一化的过程,归一化过程被用于每个网络层,使得每一层的输出数据呈正态分布,减少数据的发散程度,增加网络的泛化能力,抑制参数在变化随网络加深而被放大的问题,避免了在调整参数时网络出现震荡不收敛的现象。

本实验中用BN层代替池化层,可以简化调参,加快训练速度,抑制过拟合,稳定网络。

2 实验设计

2.1 实验设置

实验数据集包含19889组数据,每组数据集包含12种不同的舵机测试指标,包括零输入响应、舵偏角、上升时间、下降时间、超调量、零输入响、应迟滞特性、稳态误差、加载带宽、空载带宽等。数据集被分为13种状态:合格状态(Q)和异常状态(F1-F12)。实验数据以8:2被分为训练集和测试集,15872组数据为训练集;4017组数据为测试集。实验训练一次选取的批量大小设置为512,迭代次数设为300次,Adam为优化算法。

2.2 不同网络结构性能测试

该实验中设计了一个局部特征学习模块(Feature-learning module),简称为FM。如图2所示。该模块包括一个卷积层、BN层和ReLU激活函数;在相同条件设置下,通过改变FM的数量确定最佳的网络模型。FM3包含3个FM结构,FM4包含4个FM结构,FM5包含5个FM结构,FM6包含6个FM结构,通过多次实验对比,FM3,FM4,FM5和FM6的平均准确度分别为0.9901,0.9924,0.9948和0.9913,如图3所示,当FM的数量为5时,网络表现得最好。由此可见,适当的增加网络结构的数量,可以提高提取深层次特征的准确率,当FM模块过多时,会增加训练时间和训练难度,准确率反而下降。

图2 局部特征学习模块FM

图3 FM结构的准确度

2.3 学习率的选择

在2D-CNN训练过程中,为了确定保证网络可以达到最好的状态,学习率的选择至关重要。以需要重复进行实验,来确定最优数值。设置其他参数不变时,递进地改变学习率的数值,实验结果如表1所示,当学习率为0.05时,准确率最高,达到了0.9953。所以选取学习率0.05为最优值。

表1 不同学习率的准确度

2.4 2D-CNN故障诊断模型的构建

如表2所示,为了提取更深一层的特征,该模型的第1、2、3、4和5层为FM结构,批量大小为512,多次实验对比确定每一层的卷积核个数分别为150、90、60、32和16;第6层为最大池化层,卷积核的大小为2×1,步长为2;第7层为全连接层,并以0.25的概率随机失活,最后通过Softmax分类器分类,得到最后的13种分类结果:合格和12类故障,即舵机的故障诊断结果。

3 仿真校验

3.1 评价指标

舵机的故障诊断实质上为数据的分类问题,本次实验使用准确度(Accuracy)、精确度(Precision)、召回率(Recall)和F-score来评估该模型的分类性能:

(3)

(4)

(5)

(6)

TP代表真阳性;TN代表真阴性;FP代表假阴性;FN代表假阳性。

3.2 性能验证

在网络训练的过程中,损失函数用来衡量模型的优劣,在网络训练中,iter代表了模型处理批量大小的数据,则512个iter代表了一次迭代,从图4可以看出,数据在经过不断迭代的过程中趋于稳定并收敛,证明该模型是可行的。

图4 损失函数可视化

3.3 不同模型性能比较

为了对所提出的模型作出全面的性能评估,将该模型与不同的优化算法SVM,BP,KNN和1D-CNN进行评估和验证,并对相应算法就准确度、精确度、召回率和F1分数进行比较,如表3所示,2D-CNN模型的准确率高达0.9953,精确度为0.9961,召回率为0.9977,F-score为0.9969。可以看出,所提出的2D-CNN模型相比于其他4种模型在舵机分类故障诊断中表现最佳。

实验绘制了如表4所示的2D-CNN模型的混淆矩阵,从表3可知,Q,F1,F2,F4,F5,F8和F11的故障准确度分别为0.997、0.9875、0.9803、0.9771、0.9736、0.9813和0.9824;其余的故障分类准确度均达到了1。

表2 2D-CNN框架图

表3 模型的性能评估

表4 2D-CNN的混淆矩阵

4 结论

对于舵机的故障诊断,提出了一种基于二维卷积神经网络的舵机故障检测,扩大感受野,提高了特征提取的效率。该模型与其他模型进行对比,其准确率高达0.9953,精确度为0.9961,召回率为0.9977,F-score为0.9969,均为最优。表明CNN在处理二维数据中表现优异,2D-CNN在舵机的故障诊断中效果良好,满足了对舵机故障检测的要求。

猜你喜欢

舵机故障诊断卷积
基于包络解调原理的低转速滚动轴承故障诊断
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
从滤波器理解卷积
数控机床电气系统的故障诊断与维修
基于傅里叶域卷积表示的目标跟踪算法
基于dsPIC单片机的飞艇舵机控制实现
基于量子万有引力搜索的SVM自驾故障诊断
超音速舵机保护器
菜鸟看模型