基于深度门控循环单元神经网络的刀具磨损状态实时监测方法
2020-08-21陈启鹏谢庆生袁庆霓黄海松李宜汀
陈启鹏,谢庆生,袁庆霓+,黄海松,魏 琴,李宜汀
(1.贵州大学 现代制造技术教育部重点实验室,贵州 贵阳 550025;2.贵州大学 公共大数据国家重点实验室,贵州 贵阳 550025)
0 引言
机械智能故障诊断作为智能制造的关键组成,成为“中国制造2025”的重要内容[1]。在机械加工过程中,切削加工是零件成形最主要的加工方式,刀具的磨损状态将直接影响零件的加工精度、表面质量以及生产效率。因此,刀具状态监测(Tool Condition Monitoring, TCM)技术对于保证加工质量、实现连续自动化加工具有非常重要的意义[2]。刀具状态监测方法分为直接测量法和间接测量法,直接测量法采用电阻测量法、光学测量法、放电电流测量法、射线测量法等,直接得到刀具的磨损值,但由于生产过程中受冷却液等干扰影响,无法实时检测加工过程中的刀具磨损状态,在实际的工业生产中应用较少;间接测量法采用切削力测量法[3]、声发射[4]、机械功率测量法[5]、振动信号[6]及多信息融合检测[7]等,能在刀具切削过程中通过传感器实时采集信号,经过数据处理和特征提取后,采用BP神经网络(Back Propagation Neural Network, BPNN)[8]、模糊神经网络(Fuzzy Neural Networks, FNN)[8]、隐马尔可夫模型(Hidden Markov Model, HMM)[9]、支持向量机(Support Vector Machine, SVM)[10]等机器学习(Machine Learning, ML)模型对刀具磨损量进行监测。传统的机器学习模型受制于提取特征质量的不稳定性,需要相关的研究人员具备一定的经验和技巧。同时,样本的训练采用浅层结构算法,模型的收敛速度不可控,容易陷入局部最优解,而深度学习(Deep Learning, DL)的方法可以有效避免上述问题带来的影响。
深度学习在1986年被引入机器学习,在2000年被用于人工神经网络(Artificial Neural Network, ANN)。深度学习使用多层次的非线性信息处理低层特征,以形成更加抽象的高层表示,用于有监督或无监督的特征学习、表示、分类和模式识别[11]。深度学习模型是一个端到端的模型(end-to-end learning),无需对原始数据进行复杂的数据预处理,从而使得模型的构建更为简洁。目前,深度学习方法已在工业领域崭露头角,并逐渐应用到设备寿命预测[12]、故障诊断[13]、刀具状态检测[14-15]等方面。Zhang等[12]提出基于迁移学习及长短期记忆网络(Long Short-Term Memory, LSTM)的设备剩余寿命预测模型,通过预先在相关的不同设备剩余寿命预测数据集上进行训练,针对目标数据集微调网络结构及训练参数,实验结果表明迁移学习方法可以在只拥有少量样本的前提下提升模型的预测精度;金棋等[13]提出基于深度学习多样性特征提取与信息融合的行星齿轮箱故障诊断方法,利用多目标优化算法优化多个堆栈去噪自动编码器(Stacked Denoising Autoencoder, SDAE),同时提取多样性的故障特征,然后采用多响应线性回归模型集成多样性故障特征实现信息融合,实验结果表明多样性特征提取与信息融合的方法能有效提高故障诊断精度与稳定性,具有较强的泛化能力;张存吉等[14]提出将加工过程中刀具的振动信号通过小波包转换(Wavelet Packet Transform, WPT)转变为能量频谱图,然后输入到卷积神经网络(Convolutional Neural Network, CNN)中自动提取特征,并进行准确分类,实验结果表明深度卷积神经网络的准确率优于传统的神经网络模型;曹大理等[15]提出利用密集连接的方式构建深度神经网络(DenseNet),从原始的时序信号中自适应地提取刀具加工信号中隐藏的微小特征,实验结果表明加深网络层数有助于挖掘加工信号中隐含的高维特征,提高刀具磨损监测模型的精度。综上所述,深度学习方法已在工业领域崭露头角,逐渐应用到刀具磨损状态监测方面并取得了一定的成效,基本解决了人工提取信号特征的缺点,但其使用的CNN过多依赖于高维度特征提取,卷积层数过多容易出现梯度弥散,卷积层数过少无法把握全局,且并未考虑刀具加工时产生时序信号样本间的相关性这一重要特征。
本文提出一种基于深度门控循环单元神经网络的刀具磨损状态实时监测方法,利用传感器实时采集刀具加工过程中产生的时序信号,经小波阈值去噪后带入CNN中进行平行局部特征抽取,然后带入深度双向门控循环单元(Bidirectional Gated Recurrent Unit, BiGRU)神经网络中对长距离依赖信息进行特征提取,利用Attention机制计算网络权重并对其进行合理分配,最后将不同权重的信号特征信息放入Softmax分类器对刀具磨损状态进行分类,避免因人工提取特征带来的复杂性和局限性。该方法可以满足实际工业生产中对刀具监测的实时性和准确性要求。
1 刀具磨损状态实时监测方法
1.1 信号预处理
信号预处理作为刀具磨损状态实时监测方法的重要组成部分,原始信号去噪效果的优劣将直接影响刀具磨损状态预测精度。加速度传感器具有测量精度高、频率和幅值响应宽、易于安装和监测等优点。由于采集信号直接来源于切削工作区,因此其灵敏度较高,响应速度也更快。本文选用加速度传感器采集刀具铣削时产生的三轴振动信号用于磨损状态检测。实际采集到的数据存在长度不等、噪声干扰大、数据冗余等缺陷,需要对原始信号进行去噪处理。
生产车间的加工设备和周围环境的干扰会不可避免地产生随机噪声,这些噪声在信号预处理时通常视为高斯白噪声。较低的信噪比将影响后续算法的特征提取和磨损状态检测,为了削弱噪声对检测结果的影响,本文使用小波去噪方法对采集到的原始信号进行去噪处理。小波分析具有多分辨率(多尺度)分析的特点,是一种窗口大小固定不变但时间窗和频率窗都可以改变的时频局部化分析方法。常用的小波去噪方法包括小波分解与重构去噪法、小波系数阈值去噪法、小波变换模极大值去噪法,如表1所示为不同小波去噪方法优缺点比较。
表1 不同小波去噪方法优缺点比较表
刀具在加工过程中采集到的原始信号中信号和噪声的频带无法确定,且去噪过程不考虑信号中含有的奇异点,对比不同的小波去噪法后,本文选用小波系数阈值去噪法对原始信号进行去噪处理,如图1所示为小波系数阈值去噪法的流程图。
小波母函数和小波阈值的选取决定了小波系数阈值去噪法的性能,工程中常采用Daubechies(dbN)和Symlet(symN)小波母函数对振动信号进行去噪处理。小波阈值处理则常采用软阈值和硬阈值两种方法,采用硬阈值方法得到的小波系数在阈值处并不连续,这将导致重构信号时可能产生附加震荡,产生跳跃点,不具有原始信号的平滑性。采用软阈值法得到的小波系数整体连续性好,从而使估计信号不会产生附加震荡,经过处理后的信号较为光滑,其表达式如下:
(1)
深度学习训练过程中需要足够多的样本数量,用以提高神经网络的学习质量,信号去噪之后需缩小和统一样本尺度,以满足对检测速度和样本数量的需求。原始加工信号的数据样本为长序列周期性的时序信号,根据信号采样原理,本文将每次刀具进给产生的振动信号裁剪为多个长度为2 000的短序列时序信号,以减少网络训练时的计算强度。同时,数据扩充能在原有量级的数据基础上增加实验数据,提高网络的鲁棒性,降低过拟合的风险。具体处理步骤为:截取每个采样信号中连续的100 000个点,以2 000为样本数量将截取点划分为50个样本,这50个样本均对应相同的磨损状态标签。
1.2 刀具磨损状态实时监测的神经网络模型
1.2.1 网络模型的结构
受文献[16]启发,本文将CNN和循环神经网络(Recurrent Neural Network, RNN)融合的机器学习方法应用于刀具磨损状态实时监测任务中,构建包含CNN和BiGRU的CABGRUs(convolutional neural network and bidirectional gated recurrent units with attention mechanism)网络模型,有效解决了单卷积神经网络忽略时序信号前后关联的问题,同时避免了循环神经网络梯度弥散和梯度爆炸问题,将Attention机制的思想引入其中,进一步提高了模型预测的准确率。如图3所示为基于CABGRUs刀具磨损状态实时监测神经网络结构图。
(1)单个时间步时序信号局部特征提取
本文采用一维CNN处理刀具加工过程中产生的时序信号,其卷积神经网络部分包括2层卷积层(Convolutional Layer, CONV)和1层池化层(Pooling Layer, POOL),卷积层通过一维卷积运算的方式将每一维度的时序信号进行邻域滤波以生成特征映射,每个特征图可以被看作不同滤波器对当前时间步时序信号的卷积操作[17]。当输入时序信号为x时,卷积核的权重向量为w,采样总数为m,卷积核的大小为n,*表示卷积操作,卷积层的输出特征图y可以表达为:
(2)
在卷积层中,第l层的每一个神经元都只和第l-1层的一个局部窗口内神经元相连,构成一个局部连接网络。一维卷积层的计算公式如下:
(3)
(4)
卷积层后面连接池化层,用于求取局部最大值或局部均值,即最大值池化(max pooling)和均值池化(mean pooling)[18]。池化层具有类似于特征选择的功能,可以保证特征在拥有抗变形能力的同时,达到降低特征维度,加快网络训练速度,减少参数数量,提高特征鲁棒性的目的。本文选用最大值池化对邻域内的特征点取最大值:
(5)
通过一维CNN对原始数据自适应的特征提取,减少了后续网络的输入参数,计算速度得到提升。同时,特征图在向量维度上有所减小,振动信号的特征得到凸显,便于后续的神经网络进行时间序列特征提取。如图4所示为一维卷积神经网络基本结构示意图。
(2)时序信号时间序列特征提取
刀具加工过程中产生的原始信号存在时序关系,RNN网络可以对时序信号时间序列进行编码,挖掘时间序列中相对较长间隔的时序变化规律[19]。为了让刀具磨损状态实时监测模型更好地学习到时序信号间时间序列特征的依赖关系,提高模型分类的准确率,本文对现有的门控循环单元(Gated Recurrent Unit, GRU)神经网络进行改进[20],通过构建两个双向GRU网络共同叠加组成CABGRUs网络同时,在CABGRUs网络中引入Attention机制,增加Attention层,使模型既获得了能从正向和反向同时提取时序信号特征的能力,又获得了选择性的学习信号特征中关键信息的能力。
本文构建的CABGRUs网络中,每个双向GRU网络包含256个神经元,正向和反向GRU网络均由128个神经元组成,每个GRU神经元包括更新门和重置门,分别使用zt和rt来表示。
rt=σ(xtWxr+ht-1Whr+br),
(6)
zt=σ(xtWxz+ht-1Whz+bz),
(7)
(8)
(9)
其中:Wxr和Whr表示重置门的权重向量;Wxz和Whz表示更新门的权重向量;Wxh和Whh表示候选隐藏状态的权重向量;br、bz、bh表示偏置向量;⊙表示Hadamard乘积,即矩阵的点乘;σ(·)表示Sigmod函数;tanh函数表示双曲正切激活函数。
(10)
(11)
(12)
本文引入的Attention机制是一种类似人类视觉所特有的大脑信号处理机制,通过分配不同的初始化概率权重与BiGRU层的各个时间步输出向量进行加权求和,然后带入Sigmod函数中,进行最终的计算并得到数值,实现从大量信号特征中有选择地过滤出部分关键信息并进行聚焦。聚焦的过程体现在权重系数的计算上,对不同的关键信息分配不同的权重,以提升权重的方式来强化关键信息的比重,减少长序列时序信号关键信息的丢失。Attention机制的计算公式如下[21]:
ut=tanh(WsPt+bs),
(13)
(14)
ν=∑αtPt。
(15)
其中:Pt表示BiGRU层在时间步t时的输出特征向量;ut表示Pt通过神经网络层得到的隐层表示;αt表示ut通过Softmax函数归一化得到的重要性权重;us表示随机初始化的上下文向量;ν表示最终文本信息的特征向量。us在训练过程中随机生成,最后经由Softmax函数将Attention层输出值ν进行映射,得到刀具磨损状态的实时分类结果。如图6所示为CABGRUs网络结构示意图。
CABGRUs神经网络的输入数据包括时序信号和磨损状态标签,时序信号的特征提取与表达通过2个卷积层、1个池化层、1个Flatten层、2个双向BiGRU层、1个Attention层和2个全连接层实现。如表2所示为CABGRUs网络参数设置表。
表2 CABGRUs网络参数设置表
1.2.2 网络模型的训练
本文的刀具磨损状态实时监测模型中引入了Dropout技术,用以防止模型在训练过程中发生过拟合。网络模型的激活函数采用Softmax,损失函数采用Categorical_crossentropy,对所获得的时序信号特征进行磨损分类。公式如下:
(16)
式中:y为一个维度为类别数量大小的向量,其每一维度的值都介于[0,1]之间,且所有维度的和为1,该值代表该刀具磨损状态属于某个类别的概率;M为可能的类别个数。在模型的训练过程中,通过Categorical_crossentropy Loss训练整个模型。交叉熵误差
(17)
(18)
(19)
…
(20)
2 实验结果与分析
刀具磨损状态实时监测是制造车间数控加工过程中的重要环节,刀具磨损状态受加工工序、工件材料、切削参数等因素影响,整个系统具有较强的非线性和不确定性。刀具的磨损不仅会降低数控加工设备的加工质量,影响工件表面粗糙度和加工精度,还会严重影响数控加工设备的整体稳定性和加工效率。刀具磨损状态实时监测系统包括状态监测设施和数据分析单元,状态监测设施包括用于加工工件的基础设备,采集加工过程中产生振动信号的设备,以及测量刀具磨损值的设备;数据分析设施包括用于分析和处理数据的高性能计算机和深度学习平台,并将刀具磨损状态进行实时分类和报告。
2.1 实验设计
2.1.1 状态监测
本文实验平台由贵州大学工程训练中心提供。高精度数控立式铣床(型号:VM600)用于铣削工件,铣削过程中不加冷却液,铣削工件为模具钢(S136H),铣削刀具采用超细微粒钨钢硬质合金四刃铣刀,刀刃表面覆盖有多层钛铝氮化物涂层。如表3所示为铣削实验切削参数。
表3 铣削实验切削参数
实验中,采用3个加速度传感器(型号:INV9822,量程:±50 g),按x、y、z方向磁性吸附在机床夹具上,用于实时采集刀具加工过程中产生的原始信号。采用北京东方振动和噪声研究所的高精度数字采集仪(型号:INV3018CT)处理实时信号并传送至计算机,信号的采样频率为20 KHz,每次走刀沿x方向铣削200 mm,记为一个铣削行程,每把刀具铣削330个行程,每个铣削行程结束后,将铣刀从铣床上取下拍照。采用预先标定好的高精度数字显微镜进行测量,测量过程选取铣刀最易磨损的后刀刃边缘位置作为测量位置,并以相同的基准线为标准以保证该位置在测量过程中保持不变。磨损值的计算方式为铣刀后刀刃的初始长度减去该次铣削后的刀刃长度。如图7所示为本文采用的刀具磨损状态实时监测实验装置图。
2.1.2 数据分析
实验的深度学习硬件平台采用高性能服务器:Intel Xeon E5-2650处理器,主频2.3 GHz,256 GB内存,GPU选用NVIDIA GeForce TITAN X图形处理器。软件平台使用Ubuntu 16.04.4操作系统,深度学习框架选用Keras为前端,TensorFlow为后端进行数据分析。
实验采用4把铣刀(C1、C2、C3、C4)完成铣削操作,每把铣刀铣削加工330次,得到1320个原始信号样本,铣刀(C1、C2、C3、C4)的磨损过程图如图8~图11所示。原始信号经小波去噪后,将3把铣刀(C1、C2、C3)的数据用于模型的训练集和验证集,1把铣刀(C4)数据用于模型的测试集。训练集被用于数据样本的拟合和相关参数的训练,验证集被用于初步测试网络模型的性能和超参数调整,测试集被用于模型最终的泛化能力评估。每个样本中均包含3个维度的振动信号和4个后刀刃的磨损值,为防止不同刀刃磨损值的相互干扰,选取4个刀刃中的磨损最大值作为该次铣削行程的标签。刀具的磨损状态分为初期磨损、正常磨损、急剧磨损,本文根据每把铣刀的实际磨损曲线定义刀具的磨损状态,用于确定刀具的磨损程度。将刀具磨损程度划分3类标签数据,采用one-hot编码形式将标签数据进行转换,以便于最终刀具磨损状态分类,如表4所示为刀具磨损程度分类表。
表4 刀具磨损程度分类表
2.2 深度学习模型对比实验结果
实验将铣刀加工过程产生的原始信号进行小波去噪,经采样裁剪后输入到深度学习神经网络模型中,模型自适应提取时序信号中隐含的高维特征,计算模型实际输出值与真实值之间的误差距离,采用Adam算法使Loss下降并不断更新网络权重,让模型的实际输出值更加趋近于真实值。为进一步验证所提算法性能,本文实现了文献[22]中CNN网络的轴承故障诊断算法、文献[23]中BiGRU网络的轴承和齿轮寿命预测算法以及文献[16]中CBLSTMs网络的刀具寿命预测算法,与CABGRUs深度学习神经网络进行对比,训练过程中4个模型设置同样的训练参数,如表5所示为模型具体训练参数表。
表5 模型具体训练参数
经深度学习神经网络训练和验证后得到不同的损失函数值以及准确率,CNN[22]、BiGRU[23]、CBLSTMs[16]、CABGRUs模型输出的训练集和验证集的准确率以及损失函数图如图12~图15所示。
由图12~图15可知,网络模型训练集的损失函数值随着迭代次数的增加不断减小,最终趋于稳定,验证集的损失函数值呈周期性波动,CNN和BiGRU网络模型损失函数振荡幅度较大,CBLSTMs和CABGRUs网络模型相对较为平稳,损失函数总体趋势不断递减,并最终收敛,没有出现梯度爆炸或弥散现象,且网络收敛速度较快。CNN和BiGRU网络模型验证集的准确率分别为89.75%和88.02%,预测精度较低,表明单独的深度学习网络虽然可以对刀具磨损状态进行预测,但由于受网络模型能力的限制,无法捕获刀具振动信号中隐藏的、更深层次的特征。本文所提CABGRUs优于CNN和BiGRU网络模型,这是由于网络结构相对较深,有利于挖掘更深层次的特征,采用CNN网络可以有效地提取时序信号中隐藏的局部特征,同时压缩时序信号特征的长度,便于后续网络学习到时序信号间时间序列特征的依赖关系,提高了模型预测的能力。
与深度CBLSTMs网络模型相比较,本文所提CABGRUs网络模型获得了较高的预测精度。CBLSTMs构建了双层BiLSTM网络,利用双向的LSTM网络访问访问过去和未来的信息,即能从正向和反向同时提取时序信号特征,挖掘出更加丰富的信息特征,经22次迭代后,验证集的准确率基本稳定在96%以上,50次迭代后准确率为96.75%。CABGRUs在CBLSTMs基础上改进了神经元内部结构,引入了Attention机制,实现了从大量信息中有选择地过滤出部分关键信息并进行聚焦,减少了长序列文本关键信息特征的丢失,经20次迭代后,验证集的准确率基本稳定在96%以上,50次迭代后准确率为98.02%,损失函数值达到0.059 5,网络稳定性较高。如表6所示为模型验证集的损失函数值和验证准确率。
表6 验证集的损失函数值和准确率
选用铣刀(C4)的数据作为深度学习网络模型的测试集,用于评估最终模型的泛化能力。测试样本总量为330个,其中初期磨损样本为23个、正常磨损样本为232个、急剧磨损样本为75个,随机将上述样本带入训练好的深度学习网络模型中,由测试结果可知,本文所提CABGRUs网络模型泛化能力较强,虽然测试时间不及部分对比模型,但该算法在时间与精度之间找到了较好的平衡点。表7所示为单个样本的测试时间和模型测试集的准确率。
表7 测试集的单次测试时间和准确率
2.3 机器学习模型对比实验结果
为进一步验证本文所提算法的可行性,选取机器学习模型设计了对比实验。具体地,将传统刀具磨损状态监测模型中常用的BPNN、SVM、HMM及FNN与本文所提CABGRUs网络进行对比。使用小波系数阈值去噪法对加速度传感器采集的原始信号进行去噪处理。提取数据的时域特征、频域特征和时频域特征,具体提取方式如表8所示。采用皮尔森相关系数法(Pearson’s Correlation Coefficient, PCC)反映特征与磨损量间的相关程度,并选取相关系数大于0.9的特征作为提取对象,实现特征降维,将提取的特征作为机器学习模型的输入。
表8 机器学习模型特征提取类目表
如表9所示为机器学习和深度学习预测的准确率表。由表9可知,传统机器学习模型的准确率差异很大,这是由于人工提取特征的不稳定性以及模型的构建都会对预测结果产生影响。本文提出的深度学习模型能在无数据预处理的前提下,通过自适应地提取刀具加工信号中隐藏的高维特征和合理的网络深度设计达到较为理想的结果,预测准确率明显高于机器学习BPNN、SVM、HMM,但机器学习FNN预测准确率达到94.24%,因为FNN利用神经网络来学习模糊系统的规则,根据输入输出的学习样本自动设计和调整模糊系统的设计参数,实现模糊系统的自学习和自适应功能。在性能方面,本文方法与其他算法模型对比有较大的提升,CABGRUs模型的测试样本速度可以达到8 ms,满足工业实际生产时对刀具磨损状态进行实时监测的要求。
表9 机器学习和深度学习预测的准确率
3 结束语
本文将CNN和RNN融合的机器学习方法应用于刀具磨损状态实时监测任务中,并针对高频振动信号噪声大、样本冗余的特点修改了网络参数和结构,用于实时监测刀具磨损程度。在预处理阶段对加速度传感器采集的时序信号进行小波阈值去噪,结合数据扩充的方式,将每次刀具进给产生的冗长信号划分为多个训练样本,在原有量级的数据基础上增加实验数据,以实现滤除噪声,改善算法的鲁棒性;提出依据实际磨损曲线来定义刀具的磨损状态,用于确定刀具的磨损程度,提高了数据标签分类的准确性;采用一维CNN进行局部特征提取,从去噪信号中挖掘出丰富的高维特征,更好地表征了原始信号中隐藏的刀具磨损状态信息,缩短了网络模型训练时间;将Attention机制的思想创新性地引入到改进后的CABGRUs网络模型中,有效地提升了网络模型实时监测的识别精度和泛化性能。使用刀具磨损状态实时监测系统验证了所提方法的可行性,通过实验搭建了信号采集单元及上位机分析单元,采用深度学习框架实时预测刀具磨损状态。实验结果表明:所提出CABGRUs网络模型的预测精度达到97.58%,均优于传统的机器学习算法,同时能适应大部分生产环境的硬件系统,在识别精度和识别速度上能够满足工业要求。
实际加工制造的过程中,能够反映刀具磨损状态的特征信息有很多,本文仅针对加速度传感器采集的原始信号进行了分析,未来将采用多源信息融合技术和深度学习理论相结合的方式,进一步对表征刀具磨损状态的信息进行研究,完善所提出的方法,并将其扩展到工业监测中。