APP下载

基于CNN-RF的嵌入式数控系统故障诊断研究

2022-10-25游达章陶加涛许文俊张业鹏

机床与液压 2022年19期
关键词:数控系统卷积嵌入式

游达章,陶加涛,许文俊,张业鹏

(1.湖北工业大学机械工程学院,湖北武汉 430068;2.湖北省现代制造质量工程重点实验室,湖北武汉 430068)

0 前言

嵌入式数控系统一般由几个模块组成,如主任务模块、译码模块、加减速模块等,如图1所示。这些模块在数控系统运行过程中产生大量的数据,如各轴运动的步数、位置、速度、加减速等。这些数据反映了控制系统的实时性能,通过这些数据的异常可判断系统功能模块是否发生故障。通过统计分析这些模块故障,对数控系统进行优化与改进,对其可靠性增长有重要意义。

图1 嵌入式数控系统功能模块调用

国内外学者对数控系统的故障诊断与预测做了大量的研究工作。陈同兴等通过收集加工中心的各类警报信息,运用BP神经网络理论对数控加工中心的故障预测进行了研究。房启成等在进行机床故障诊断研究时,提出了一种基于多源信息融合与高斯随机映射的数控机床故障诊断方法。李海等人采用压缩算法对数据存储进行了优化,提出了一种利用时间序列相关性来预测机床性能的方法,并建立了Petri网模型,对五轴机床故障诊断进行了研究。

以上方法对数控机床不同方面的故障诊断取得了较好的效果,但是对于数控系统模块的故障诊断缺乏有效方法。近年来,对于数据的处理,以神经网络为代表的深度学习在这方面得到了广泛的应用。因此,本文作者提出了一种CNN-RF集成学习的故障诊断方法,采用Stacking集成策略将卷积神经网络(Convolutional Neural Networks,CNN)和随机森林(Random Forest,RF)融合。为验证模型的有效性,用嵌入式数控系统采集到的模块数据进行验证。

1 基本原理介绍

1.1 卷积神经网络原理

卷积神经网络是一种前馈神经网络,它凭借着自带特征提取和权值共享的优势在许多领域被应用。它一般包括卷积层、池化层和全连接层。

1.1.1 卷积层

卷积层利用可调参数组成的卷积核与输入数据进行卷积操作,得到输出。卷积操作的数学表达式为

(1)

采用ReLU函数衍生出的ELU激活函数,其数学表达式为

(2)

1.1.2 池化层

池化层(pooling)的作用主要是降低维度,通过对卷积后的结果进行降采样来降低维度,分为最大池化和平均池化两类。文中采用最大值池化,其数学表达式为

=[()+]

(3)

式中:为输出;(·)为激活函数;为乘性偏置;()为降采样函数;为偏置项。

1.1.3 全连接层

全连接层在整个网络结构中处于最后,它是利用卷积和池化层得到的数据特征向量对数据进行分类。最后的分类器通常采用Softmax分类器。假设对于类的分类问题,Softmax分类器的数学表达式为

(4)

式中:(1≤≤)为模型的参数;()为模型的输出。

1.2 随机森林原理

随机森林是由BREIMAN提出的一种机器学习方法,是一个包含许多决策树的集成分类器。

随机森林有着更快的训练速度、更高的预测和更强的鲁棒性。它基于打包思想在随机选择的特征子集中选择最佳分割模式。通过使用boostrap获得个样本,并通过多数票获得最终结果。

RF包含个决策树{(),=1,2…,},其中={,,…,}。是信号的维特征向量。最终输出=(),其中:=1,2…,,为个树的最终决策。

在随机森林算法中,有2个参数非常重要:一个是决策树的数量,另一个是每个节点的随机子集。2个变量的设置要根据特征总数以及分类的准确性和训练时间决定。

1.3 Stacking集成模型

Stacking模型通过组合多种不同机器学习算法提升分类器的泛化性能。在Stacking中,将被组合的机器学习模型称为基学习器,而组合基学习器的称为元学习器。Stacking模型结构如图2所示。

图2 Stacking模型示意

Stacking模型在训练过程中,为了防止训练出的模型产生过拟合,在模型建立前对模型进行交叉验证。其中,折交叉验证应用最为广泛。

2 基于CNN与RF组合的故障诊断

2.1 故障诊断模型的建立

文中所用的数据集,由于是数控模块产生的数据,其正常数据量大,错误数据量小,导致数据不平衡。因此提出CNN与RF集成学习模型进行故障识别,其诊断流程如图3所示。

图3 CNN-RF集成模型诊断流程框图

在模型结构中,CNN和RF模型当作基学习器,而元学习器采用Logistic Regression(LR)算法。LR算法是一个稳定性好、分类速度快且能涵盖全部特征的算法。

由图3可以看出:CNN-RF集成模型一共分为两层,在训练CNN与RF单独模型时,将训练集5折,其中4折分别用于第一层中的CNN和RF中,然后用第一层训练好的模型预测被留下的1折训练集,得到综合诊断结果,再通过概率输出的形式将诊断结果组合成新数据集,作为元学习器的输入,训练完元学习器LR模型后,得到最终的预测结果。其单模型的5折交叉验证过程如图4所示。

为使元学习器更加高效、分类性能更好,对LR算法的超参数进行设定。其中,优化算法参数(solver)选用sag优化方法;分类方式选择参数(mult_class)选用many-vs-many(MvM)分类方式;类型权重参数(class_weight)选用balanced。其分类计算过程如下:

在第1.3节中个基学习器输出组成的新数据集为

(5)

其中第个样本:

(6)

其多项逻辑斯蒂回归模型为

(7)

(8)

式中:为权重值。

图4 单模型5折交叉法示意

2.2 模型评价指标

由于文中研究的嵌入式数控系统故障诊断属于分类问题,为更好地评价预测值与实测值之间的差异,采用准确值、精确值、召回率、分数以及混淆矩阵进行评价。其值均为0~1。计算公式分别为

(9)

(10)

(11)

(12)

其中:为被模型预测为正的正样本;为被模型预测为正的负样本;为被模型预测为负的正样本;为被模型预测为负的负样本。

3 实验及结果分析

3.1 数据的来源与选取

该实验的数据来源于课题组自主研发的嵌入式数控实验台,如图5所示,主要由伺服电机、直线滑台、伺服驱动器等组成。

图5 实验台

在数控机床的运行过程中,系统内部各个模块输出的数据,通过在数控系统中用“插桩”的形式,可以快速提取其中的大量时序数据作为试验训练数据。通过实验台采集,得到如表1所示的数据集。经过预处理后给它们贴上标签,以便后续进行模型训练。

表1 实验样本数据集

3.2 基学习器模型训练

在CNN模型训练过程中,训练集与验证集最优模型的损失值及诊断准确率随迭代步数的变动如图6所示。可见:当迭代次数达到40次后,模型呈现收敛趋势。其网络结构如表2所示。

图6 准确率和损失值变化曲线

表2 CNN模型的超参数设置

为使RF模型达到良好的训练效果,需要调整决策树的数目,如图7所示。可知:当=60时,其袋外样本数(oob_score)趋于收敛,模型的泛化能力达到最大,模型达到最优。因此,文中RF模型算法的超参数为叶子节点最小样本数量为1、节点划分最小样本数量为2、树的数目为150。

图7 oob_score随决策树个数变化曲线

3.3 CNN-RF集成模型性能验证

为验证CNN-RF集成模型对嵌入式数控故障的诊断效果,用混淆矩阵可视化地展示诊断模型对各个故障类型的判别结果,如图8—图10所示。可以看出:可能是由于样本存在不均衡性,导致了少量故障判别错误,但相较于RF模型和CNN模型,CNN-RF集成模型对故障的诊断准确率较高。由表3可看出:CNN-RF集成模型在整体诊断准确率上也优于两个单一模型。各模型中各故障类别的分类性能比较如表4所示。可以看出:CNN-RF模型中各个类型故障在精确率、召回率和指标中均优于RF和CNN模型。

图8 RF模型的混淆矩阵

图9 CNN模型的混淆矩阵

图10 CNN-RF模型的混淆矩阵

表3 RF、CNN和CNN-RF模型诊断结果

表4 RF、CNN和CNN-RF模型性能比较

可见:CNN模型和RF模型在经过Stacking集成融合后,充分利用了卷积神经网络自动提取数据特征和随机森林分类性能优越的优势,对嵌入式数控系统模块的故障诊断性能有一定的提升效果。

3.4 不同故障诊断模型性能比较

为进一步验证CNN-RF集成模型的诊断效果,将它与其他机器学习方法进行对比。对比实验分为两类,第一类是与其他单一机器学习对比,包括支持向量机(SVM)、梯度提升树(GBR)和多层感知机神经网络(MLP);第二类是将这3个单一模型分别与CNN进行集成融合后进行对比。为使模型性能达到最优,3个模型的超参数设定如表5所示。经过实验验证,不同诊断模型性能比较如图11所示。

表5 各模型的超参数

图11 不同诊断模型性能比较

由图11可知,在第一类实验中,CNN模型的故障诊断准确率相比于RF、SVM、MLP、GBR模型分别高出3.64%、19.84%、8.68%、6.96%,表明CNN模型对于该故障的诊断准确度最好。虽然RF、GBR和MLP模型也有着较高的诊断效果,但相比于CNN还是有差距。其中SVM模型的整体分类效果最差,评价指标较低,这是因为它对数据集存在的不均衡问题比较敏感,影响了整体的诊断效果。在第二类实验中, CNN-RF性能相比其他模型性能提升最大,故障诊断准确率提高了2.74%。CNN-GBR集成模型相比CNN是负提升;CNN-SVM和CNN-MLP模型相比CNN模型的准确率提升不大。由此可以看出,CNN-RF集成模型的诊断分类性能最佳。

4 总结

针对嵌入式数控系统模块故障诊断的研究,本文作者采用深度学习方法,通过实验结果得到以下结论:

(1)卷积神经网络凭借自身自适应提取特征的优势,在嵌入式数控系统模块故障诊断中取得了良好的效果。其故障诊断准确率相比传统机器学习的RF、SVM、MLP和GBR模型分别高出3.64%、19.84%、8.68%、6.96%,证明了深度学习网络在嵌入式数控系统模块故障诊断以及分类方面的可行性;

(2)通过Stacking集成方法将CNN模型与其他模型集成融合,通过指标评估对比,发现集成后的模型效果更优,其中 CNN-RF集成模型在数控系统故障方面的诊断性能最佳;CNN-RF集成模型同时利用了卷积神经网络特征提取能力强的优势和随机森林分类性能好、能提供平衡数据集误差方法的优势,进一步提高了对故障的诊断性能,其故障诊断准确率提升了2.74%。因此采用Stacking集成方法融合CNN和RF模型是一种有效的嵌入式数控机床系统模块故障诊断模型,为嵌入式数控机床系统模块及其他故障诊断提供了一种新思路。

猜你喜欢

数控系统卷积嵌入式
基于FMECA与FTA的数控磨床数控系统可靠性分析
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
基于深度卷积网络与空洞卷积融合的人群计数
卷积神经网络概述
华中数控在CIMT 2015上展示3C钻攻生产线
嵌入式LINUX操作系统的研究
基于Windows的线接触加工数控系统实时性研究
嵌入式组件技术的研究及应用
“嵌入式系统概论”课程设计