APP下载

基于平移不变CNN的机械故障诊断研究

2019-03-23朱会杰王新晴张欲保李艳峰

振动与冲击 2019年5期
关键词:池化权值尺度

朱会杰, 王新晴, 芮 挺, 张欲保, 李艳峰

(1. 近地面探测技术重点实验室,无锡 214035; 2. 无锡科研一所,无锡 214035; 3. 上海交通大学 自动化系,上海 200240; 4. 陆军工程大学 野战工程学院,南京 210007; 5. 陆军军事交通学院汽车士官学校,蚌埠 230001)

随着经济的发展,机械设备朝着大型化与集成化发展,结构也越来越复杂,比如高铁、航空飞机、核电站等。这些设备对可靠性提出了很高的要求,如果不能及时检测出机械故障,可能导致机器停机,造成经济损失,甚至导致事故发生。因此,开展机械故障诊断研究具有重要意义。基于信号处理和模式识别的故障诊断方法可以在机器运行时实时监测机器状态,在效率和准确度都有明显优势,一直是故障诊断领域研究的重点[1-3]。使用信号处理的方式识别机械故障,需要知道机器的故障特征频率,对于复杂的机器或者模型未知的设备,这个条件是很难满足的[4]。当多种故障并存、故障特征微弱或者噪声污染严重时,信号分析也常常无法奏效[5]。随着人工智能技术的飞速发展,基于机器学习的智能诊断方法得到越来越多的关注[6]。Liu等[7]使用小波包提取振动信号特征,采用最小冗余—最大相关算法选择最优特征,借助于Ellipsoid-ARTMAP神经网络实现故障的识别。Kankar等使用统计方法对滚动轴承振动信号提取特征和特征降维,结合人工神经网络和支持向量机判断轴承的状态。随着大数据时代的来临,稀疏编码和深度学习被逐渐应用到机械故障诊断,Liu等[8]使用移不变稀疏编码自动提取轴承故障特征,降低了特征提取的难度。然后将特征输入到分类器中以识别轴承状态,实验显示这种方法的准确率优于常规故障诊断方法。Zhu等使用K-SVD对轴承振动信号频谱进行训练,实现特征的自动提取和故障识别。这种方法减少了人工工作量,相对于Liu的方法提高了准确率和计算效率,而且参数也容易设置。Tran等[9]将深度信念网络(Deep Belief Network, DBN)引入到故障诊断中,首先对信号的时域、频域和回归估计进行特征统计,然后通过广义判别分析降维后输入到DBN进行训练和识别。

虽然基于机器学习的智能诊断方法已经取得了丰硕的果实,但仍然存在一些问题。比如,常规的智能诊断流程一般包括信号采集、信号预处理、特征提取、特征选择和模式识别等过程,步骤繁琐、参数众多,需要大量的经验、调节合适的参数才能使用。机器工作的时候负载常常会发生较大幅度的变化,转速也会在一定范围内改变,但常规方法很难同时对负载与转速具有鲁棒性。此外,训练样本的获取非常困难,小样本情况下泛化能力不强也限制了这些故障诊断方法的发展。

作为深度学习方法的一种,卷积神经网络(Convolutional Neural Network, CNN)通过构建多层神经网络,组合低层特征形成更加抽象的高层表示(属性类别或特征)。使得学习到的特征对数据有更本质的刻画,从而有利于分类[10]。CNN可以直接对原始数据进行特征学习和分类,减少了人工工作量,降低了实际应用的难度。CNN通过卷积层和下采样层的组合,能一定程度上对特征移动、缩放和干扰具有鲁棒性[11],适合于机械故障诊断。直接使用传感器采集的原始数据进行故障诊断,不仅要求识别算法具有很强的学习能力与抗干扰能力,也要解决时域特征的平移不变性。尽管CNN对平移特征具有一定的不变性,但仍然无法满足机械信号时移性特征。为此提出了一种权值求和和最大值池化的策略,解决了特征的平移不变性,也增强了抗干扰的能力。为实现在负载、转速变化的情况下,使用尽量少的人工参与和尽量简单的步骤实现精确的机械故障诊断进行了研究。

1 平移不变CNN

1.1 CNN原理

浅层机器学习算法主要依靠人工经验预先提取出样本的特征,主要任务是分类或预测。使用浅层机器学习算法时,为了提取表征目标本质的特征,获得良好的分类效果,需要人们花费大量时间深入研究对象的模型和本质,而且还需要使用者反复尝试参数设置,以及丰富的经验和运气。这种人工设计特征的方式是一个不可扩展的途径,面对一个新的对象又需要重新设计。相对浅层学习,深度学习通过学习一种深层非线性网络结构,可以使用较少的权值实现对复杂函数的表达,具有更好的泛化能力。深度学习强调了特征学习的重要性,通过逐层特征变换,将原始样本从不易区分的原始空间变换到一个新的空间,不需要人工提取特征,并且提高了分类或预测的准确率。深度学习主要包括DBN、堆栈式自编码和CNN三种模型。CNN的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量,在一个深层的CNN网络结果中,假设池化的尺度为2,网络使用了两次池化,那么最后一层的特征相当于输入信号按1/4分辨率进行抽象化,原始信号的伸缩、平移带来的变化在特征层会大大降低,CNN具有一定的伸缩、平移、扭曲不变性适合于具有伸缩、平移性的机械信号。

1.2 CNN结构

受Hubel和Wiesel对猫视觉皮层细胞研究的感受野的启发,LeCun等[12]提出了一种针对局部特征具有平移不变性的CNN。CNN的隐含层由交替出现的卷积层和下采样层所构成,上一层的信息被更高层所利用,通过逐层抽象提取更具意义的特征表示,最后通过一个全连接层输出结果。一维信号的CNN结构如图1所示。

图1 一维信号CNN结构框图

(1)

式中,b表示偏置,f为激活函数,常选用Sigmoid函数、双曲正切函数(Hyperbolic Tangent Function)。Mj表示对输入特征图的一种选择,本文采用全连接方式。卷积层的主要任务是使用不同性能的滤波器对上一层各个位置的局部特征进行处理,从不同角度得到具有平移不变性的特征。卷积层后面一般跟着一个下采样层,池化的方式一般采用平均值池化和最大值池化,本文采用最大值池化方式

(2)

(u1,u2)表示选择上一层池化的元素尺度,图1中的尺度为2,即将两个元素下采样为一个元素。池化的作用是降低分辨率和提高计算效率,以增强网络对缩放、扭曲的不变性,这种方式非常简单有效。

经过交替出现的卷积层和下采样层,特征图的大小逐渐减小,将最后一个下采样层的特征合并为一个列向量Xl,与输出标签进行全连接。输出层第j个标签的值为

(3)

输出函数f(·)可以选择Logistics函数和Softmax函数,本文以Logistics函数为例进行说明。由于整个数据集的误差是所有样例的误差之和,对于Logistics函数只考虑第n个样例的误差为

(4)

式中,C为输出节点的个数。

1.3 CNN的误差传播

卷积神经网络采用误差反传,然后通过梯度下降法(或共轭梯度法、L-BFGS法)进行优化。将残差δ定义为该节点对最终输出值的误差产生的影响,所以输出层L的残差δL为

δL=f′(zL)∘(yn-on)

(5)

式中“∘ ”表示逐点乘积。因此输出层的权值和偏置的梯度分别为

(6)

卷积层后面跟着一个下采样层,因此计算其残差时需要首先进行上采样

(7)

(8)

(9)

对于下一层连接卷积层的下采样层,计算残差时需要考虑共享权重

(10)

通过上述方法计算完梯度后,对卷积核、偏置和最后一层的全连接参数进行更新,实现了卷积核的自动学习,从而能够完成对信号的表达和识别。

2 基于平移不变CNN的机械故障诊断方案

CNN独特的拓扑结构使其对于特征平移、缩放具有一定的不变性,CNN已经被广泛应用于数字识别、人脸识别、声音识别、行人检测等多个领域[13-16]。但机械故障诊断与这些问题有很大的差异。机械故障时往往会产生一些冲击,这些冲击的模式是判断机器状态的重要依据。由于截取信号样本的起点随机性,冲击随机分布于样本的时域内。CNN虽然对于特征的平移具有一定的不变性,但当特征平移的尺度很大时,效果仍不理想。因此,需要采用更好的优化策略来解决特征的平移不变性。机械故障设置需要做大量的实验,投入很多资金和时间,并需要专业的人员才能操作,因此训练样本很难获得。要想成功运用CNN进行故障诊断,首先要解决小样本的学习问题。机械故障特征常被各种干扰所污染,尤其是早期故障的特征更不明显。如何减少其他干扰的影响,提取能反映机器状态的冲击特征,是有效的故障诊断的关键。针对这些问题,考虑到CNN的优势与缺点,对其进行了改进,使其能够适合于周期性、带有冲击的机械信号。

2.1 权值求和策略

机械振动信号的平移性一直是特征提取和识别的难点,平移不变性也是声音识别、视频跟踪等研究领域的存在的共性问题,解决这类问题具有重要意义。在故障诊断领域,为了解决平移不变性,对信号进行统计量分析是一种经常使用且简单易行的方法[17-18]。对机械振动信号进行频谱分析也是一种有效的方法,傅里叶变换的性质说明了将信号转化到频域后可以减轻平移带来的影响,但频谱本质也是一种统计量。还有学者使用一些具有平移不变性的信号处理方法进行特征提取,比如小波变换、匹配追踪、基追踪等方法提取特征。但要人工选择合适的特征需要对其运行模型、原理充分了解,而且通用性不强,每个新对象都重新选择,费时费力。

为此Liu等使用移不变稀疏编码来进行振动信号特征的自动提取,能根据信号自身特点自适应地学习到信号的本质特征,并将样本的稀疏表示作为特征输入分类器中进行故障识别。但移不变稀疏编码计算量很大,对他实验中相同的数据分别使用移不变稀疏编码和CNN进行训练和识别,耗费时间分别为12 h和5 min,效率差异巨大。并且移不变稀疏编码是一种浅层学习,对复杂问题的表达能力有限,识别准确率还待提高。Zhu等先将信号转化到频域,然后使用常规稀疏编码方法——K-SVD进行训练和识别。在综合多尺度特征的基础上,在效率和准确率都较Liu等的方法有所提高,但该方法对转速的鲁棒性不强。Tran等提取了信号的时域、频域的多个统计量,然后使用DBN进行学习和识别。DBN的深度结构具有很强的学习和表达能力,提高了识别的效果。但由于这些统计特征相对于原始信号已经损失了不少有用信息,限制了诊断效果的进一步提升。

直接使用原始信号进行学习和识别将会大大减少人工工作量和主观因素的影响。任何特征提取方法都会损失一定的有用信息,使用原始信号则能缓解这一问题。但如果直接使用原始信号进行机械故障的识别,要求分类器具有强大的表达和学习能力才能从高维数据中自动获取信号的本质表达。还必须具有很强的平移不变性,以及具有在小样本条件下的优异泛化能力。CNN一定程度上具备了这种能力,但最后全连接层的节点仍然保留了信号的相对位置信息,在平移不变性方面仍有不足。如图2所示,最后一层下采样层中第一个特征图中的深色元素,是由与之相连的其他深色元素运算得到的。而浅色标注的元素,则表示在求解该节点时未参与运算。可以看出该节点本质上是输入信号上半部分的函数。类似地,末端节点则是输入信号的下半部分的函数。由此可以推出,CNN提取的特征(最后一层下采样层)的节点包含了一定的位置信息,本质上这些位置信息有助于模式识别,但降低了平移不变性。对于具有特征平移和周期性的机械振动信号而言,如果使用少量样本进行训练,训练样本中的特征位置只能涵盖少数情况,容易导致网络过学习,最终导致网络泛化能力不强。因此需要采取一些措施来减少CNN提取的特征位置信息。

为此,本节提出了权值求和策略以增强特征的平移不变性。如图3所示,在最后一层下采样层中,将同一特征图中的元素取和,然后再与输出节点相连。在图3中,采用权值求和策略后,与输出层连接的权值个数减少为3个。这种方式将整个最后一层下采样层中的每个特征图作为一个特征,消除了特征图中元素的相对位置的影响,从网络结构上具有平移的不变性。与常规的CNN相比,有效增强了算法的泛化能力,在轴承的故障诊断中将识别准确率提高了10%以上,实验详见下节。权值求和策略将卷积核看作滤波器,相当于将信号通过不同的滤波器后的差异作为判断信号类别的依据。但权值取和策略忽略了同一特征图中的不同节点的权重多样性,减少了特征的相对个数。为了克服这一缺陷,可以适当增大最后一层特征图的个数,以增加从多个角度对原始信号的描述,增强网络的表达和识别能力。

图2 CNN平移性示意图

图3 权值求和

2.2 大尺度最大值池化

在CNN中,池化是一种简单高效的操作,能够对一定程度的平移、扭曲和伸缩保持不变性。池化还提高了计算的效率,增强了算法鲁棒性。常用的池化算法有平均值池化和最大值池化,如果使用平均值池化方式,会将冲击特征与干扰的能量进行平均化,使得特征更加不明显。因此,本文采用最大值池化,通过选择最大值的方式无损保留冲击特征信息。但冲击特征在不同样本中的位置是不同的,并且冲击特征受到了噪声和正常振动的干扰,影响了诊断效果。本文在最后一层下采样层中使用了一种大尺度的最大值池化策略以解决这些问题,如图4所示。由于一个冲击往往包含许多元素,而且幅值很大。经过大尺度最大值池化后,一个池化尺度的所有元素被下采样为一个元素,冲击由于幅值较大更容易被保留下来,并将其他干扰滤除。由池化的原理也可以知道,只要一个冲击在池化的尺度内,无论该冲击位于什么位置,都被池化为具有相同幅值的元素,因此这种方式对冲击的平移也有良好的不变性。

图4 大尺度最大化

大尺度最大值池化还大大减少了节点数目,在反向误差传播时,仅对少量的节点进行了误差传播,降低了计算量。对特征图进行大尺度最大值池化后,每次被保留下来的节点的位置是随机的,与近几年提出的Dropout机制有些相似之处。Dropout是在模型训练时随机让网络某些隐含层节点的权重置零,这种方法因为不能保证每2个隐含节点每次都同时出现,权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅在其它特定特征激活下才有效果的情况。从而Dropout能够有效地提升小样本时的过拟合现象,并且已经被大量实验证明。而大尺度最大值池化所保留下来的权值的位置也是不固定的,也具有与Dropout类似的提升小样本时的过拟合的能力。

3 实验、分析与讨论

3.1 轴承单点故障实验

3.1.1 实验介绍

轴承是典型的机械零件之一,研究轴承的故障识别对机械故障诊断具有指导意义。本文使用西储大学轴承数据,该数据被认为是检验机械故障诊断方法的基准。该试验使用电火花加工技术分别在轴承外圈(3点钟、6点钟、12点钟方向)、内圈、滚动体上布置了单点故障,故障直径分别为0.007、0.014、0.021、0.028、0.040英寸(1英寸=2.54厘米),每种状态都分别在负载为0、1、2、3 HP(1 HP=746 W)的工况下进行测试,转速分别对应于1 797、1 772、1 750、1 730 r/min。信号的采样频率为12 kHz。由于在工程应用中,故障数据的获取比较困难,因此希望在使用较少的数据时仍能获得良好的故障诊断效果。本文主要研究在负载变化、转速波动的条件下,通过使用少量的样本对故障进行准确、快速的识别。为了能够同时区分故障类型和故障程度,我们将数据分为10类,每一类数据都包含负载为0、1、2、3 HP四种工况,分别对应的转速为1 797、1 772、1 750、1 730 r/min,数据与类别的对应关系见表1。Normal表示正常状态,IR、B与OR分别表示内圈、球和外圈故障,其后的数字代表了故障程度,@后面表示故障点所处方位。比如,OR007@6表示轴承有外圈故障,故障直径为0.007英寸,故障点位于6点钟方向。每个样本的长度为1 024点,训练样本仅从负载为0 HP的数据中截取,相应的转速为1 797 r/min。测试样本则从每个数据中不重叠的依次截取,能够全面反映诊断方法的性能。正常状态下的一个信号大约可以分割为236个样本,故障工况下的每个信号大约可以分割为118个样本。共获得不同负载、不同转速下的5 239个测试样本。

从负载为0 HP(对应的转速为1 797 r/min)的每个类别的信号中,等间距抽取100个训练样本,共有1 000个训练样本作为训练集。平移不变CNN的网络设置中,选用两个卷积层、两个下采样层。由于冲击的共振波形以及冲击的周期都反映了轴承的状态,因此希望CNN能将这些信息都能进行提取。一个冲击的周期约等价于90个点所对应的时长,因此第一层卷积核的尺寸为89个点,共选用5个,用于提取冲击的共振波形信息,其后的下采样层中池化的尺寸为2。经过池化后,原始信号被压缩为原来的一半。第二层卷积核尺寸仍为89个点,共选用10个。但此时的卷积核相当于第一层中两个冲击的大小,主要用于提取冲击的周期特征。其后的下采样层池化尺寸为大尺寸95,经过这个大尺寸最大值池化后,每个特征图减少为4个元素的特征,提高了计算效率。激活函数选为tanh函数,输出函数为Softmax分类器。每个样本要归一化到[-1,+1]之间。

为了全面反映平移不变CNN的性能,还与其他使用该数据的学者的诊断方法进行了对比,Liu等使用移不变稀疏编码提取信号特征后,输入分类器中进行识别。Zhu等使用K-SVD对信号的包络谱进行学习和识别,并使用小波提取多尺度的频谱,然后使用证据理论综合多个尺度的识别结果。这三种方法的识别结果,如图5所示。

从结果上看,平移不变CNN的准确率几乎在每类上的准确率都是最高的,即使在最差的IR014类别中的准确率也达到97%以上,稳定性很好。三种方法的综合对比见表2,可以看出,本文方法不仅在准确率上有优势,而且所需预处理最简单,人工参数设置步骤简单,计算效率较高。这些结果也说明平移不变CNN的深度学习结构具有很强的学习能力,适用于机械故障诊断,具有良好的工程应用价值。

图5 准确率

表2 三种算法的性能对比

3.1.2 与其他机器学习算法的对比

为了更加全面验证本文方法的性能,还使用上述数据与其他机器学习算法进行了对比,同时继续与Liu、Zhu的方法进行了深入对比。由于Zhu的方法、堆栈式自动编码器(Stacked Autoencoders, SAE)、BP神经网络和DBN这几类方法不具有平移不变性,直接使用时域信号作为输入效果太差,这里使用包络谱进行训练和识别。此外,这些算法对转速的鲁棒性较差,需要采取其他措施。由于重采样后不同转速下的信号能有相同的等价转速,可以消除转速变化带来的干扰,还对这些方法采用重采样后进行测试以提高准确率,*表示对信号进行了重采样操作。得益于平移不变CNN的拓扑结构与机械振动信号的特征一致,平移不变CNN对时移、伸缩都具有很强的不变性,能直接对原始时域信号进行分析,深度网络的抽象性也能对转速波动、负载变化具有优异的鲁棒性。各种方法的准确率如图6所示,平移不变CNN具有准确率较高,优于稀疏编码和BP神经网络,以及深度学习方法SAE和DBN。此外,本文方法直接使用原始时域样本进行学习和识别,操作简单。

图6 与其他机器学习算法的性能对比

3.1.3 与常规CNN算法的对比

为了验证权值求和和大尺度最大值池化策略的有效性,还与常规CNN进行了对比,为了表述方便,定义CNN1为常规CNN+权值求和,CNN2为常规CNN+大尺度最大值池化,常规CNN中最后一层下采样层的池化尺度为4,其中四种方法对训练样本进行训练的准确率全部为100%,测试结果如图7所示。从结果可以看出,添加权值求和或大尺度最大值池化策略都可以增强算法的泛化能力,提升准确率。随着样本数量的增加,CNN1或CNN2的性能与同时采用两种策略的CNN的性能越来越接近,而且常规CNN的效果也得到了提升。这是因为随着样本的增多,有更多的样本,一定程度弥补了常规CNN对小样本机械信号泛化能力的不足。这些结果说明了平移不变CNN更适合机械故障诊断。

图7 权值求和和大尺度最大值池化的性能测试

3.2 多点轴承故障实验

本文还对多点轴承故障进行了诊断。试验台如图8所示,试验台包括调速电动机、齿轮增速器、测试轴承、转子、振动传感器以及综合电子控制系统(图中没显示)。轴承的型号为HRB6304,损伤是用电火花加工的,分别模拟了单点故障和多点故障,单点故障如图9所示,多点故障如图10所示。每种故障的直径都为0.533 4 mm,故障深度为2.1 mm。信号采样频率为10 kHz,转速在1 800~2 000 r/min,轴承共有7种状态,将信号截取成长度为1 024点的样本,每种状态下训练样本随机选择100个,测试样本从剩余样本中随机选择200个。

图8 轴承试验台

图9 单点故障轴承示意图

在平移不变CNN网络设置中,第一个卷积层的卷积核大小为137个点,共有5个卷积核。其后的下采样层的尺度为2。第二个卷积层的卷积核大小也为137个点,共有10个卷积核。其后的下采样层为大尺度池化,尺度为77。输出层选用Logistics分类器,共有四个输出节点,每个节点的值为0或1(0表示假,1表示真)。四个节点依次表示正常状态、外圈故障、内圈故障和滚动体故障。识别准确率如图11所示。为了详细的反映实验结果,使用了两种故障率统计方式,在计算故障准确率1时,对于多点故障的轴承,只要有一个故障被预测出来,就按正确对待。在计算故障准确率2时,对于多点故障,只有所有的故障都被正确预测出来,才按正确对待。从结果上看,平移不变CNN对于多点耦合故障仍然能有不错的识别效果,适合于周期性的机械冲击信号。

图11 识别准确率

4 结 论

本文将CNN引入到智能机械故障诊断,并针对机械振动信号的特点提出了权值求和和大尺度最大值池化策略。CNN是一种深层结构网络,能够自动学习到原始数据的本质表示,具有很强的表达能力。基于CNN的机械故障诊断不需要对原始信号进行复杂的预处理、特征提取、特征选择等人工操作,简化了诊断步骤,降低了对使用者的技术要求,提高了工程应用效率。本文提出的权值求和和大尺度最大值池化策略,有效解决了时域振动信号的平移不变性。实验验证了这些策略能有效增强算法的泛化能力,尤其是小样本的时候。最后,分别通过单点故障和多点故障的轴承进行验证,证明了平移不变CNN较常规诊断方法有更高的识别准确率和计算效率,对负载变化和转速波动都有很强的鲁棒性,所需额外处理少,是一种优异的机械故障诊断方案。此外,本文提出的解决平移不变性的方案对图像和声音处理也有启发意义。

猜你喜欢

池化权值尺度
基于高斯函数的池化算法
一种融合时间权值和用户行为序列的电影推荐模型
卷积神经网络中的自适应加权池化
财产的五大尺度和五重应对
基于卷积神经网络和池化算法的表情识别研究
强规划的最小期望权值求解算法∗
用于手写汉字识别的文本分割方法
程序属性的检测与程序属性的分类
基于权值动量的RBM加速学习算法研究
宇宙的尺度