一种深度卷积自编码网络及其在滚动轴承故障诊断中的应用
2018-07-25张西宁向宙唐春华
张西宁, 向宙, 唐春华
(西安交通大学机械制造系统工程国家重点实验室, 710049, 西安)
随着计算机、传感器及通信技术的发展,机电产品的状态监测迈入了“大数据”时代,这给机械故障诊断带来了数据量大、种类繁多、高速率等新的挑战[1-2]。在机电大数据时代,利用先进的理论与方法,从机械装备大数据中自动挖掘信息,取代诊断专家进行特征提取,对轴承等基础零部件进行实时监测诊断,并保证故障诊断及预测的准确性与高效性,成为了当前研究的热点[3]。
近年来,深度学习在学术界和工业界发展迅猛,在很多传统的识别任务上取得了显著的成果。深度学习模型依靠其多个隐含层,可以很好地实现高变函数等复杂高维函数的表示,在特征提取能力上具有很多其他网络学习算法不可比拟的优势[4-6]。卷积神经网络(convolutional neural network,CNN)是深度学习中最重要的模型之一,在二维图像识别、一维时间序列分类与诊断等领域取得了重大突破。2012年,加拿大多伦多大学的Krizhevsky等设计的具有5个卷积层的深度卷积神经网络AlexNet在ImageNet图像识别挑战赛上取得了惊人的效果,将准确率从传统智能方法的74.2%提升到了83.6%[7];2014年,Google通过建立更深层的模型,将ImageNet图像识别准确率提高到了93.3%[8];2015年,微软研究院提出的残差卷积神经网络ResNet将这个纪录提高到了95.06%,高于人眼识别正确率的94.9%[9];2017年,斯坦福大学的Esteva等在《Nature》上发表的卷积神经网络在皮肤癌的诊断上正确率达到了91%,超过了人类专家的水平[10]。在机械故障诊断领域,华南理工大学的贾京龙等人利用卷积神经网络成功识别出了变压器故障,并探讨了卷积核个数、卷积核大小以及采样宽度等对分类效果的影响[11]。西安交通大学的赵明等人对比了不同结构卷积神经网络在轴承故障诊断中的效果[12]。Zhang等人研究了卷积神经网络在多负载高噪声环境下的识别能力,通过分批规范化和小批量训练,极大地提高了网络对负载和噪声的适应能力[13]。
卷积神经网络通过局部权值共享极大地减少了网络参数的数量,能够在一定程度上避免样本数量不足时网络产生过拟合[14]。但是,用于机械故障诊断的卷积神经网络一般都具有大卷积核[15],网络的参数依然较多,传统的权值随机初始化方法依然会有陷入局部最优的风险。针对这种情况,本文提出了一种利用卷积自编码器对深度卷积神经网络进行初始化的方法:首先,将卷积池化后的特征通过“固定步长叠加”反卷积回原信号空间,并优化权值,使重构信号与原信号误差最小;之后,将编码特征作为新的输入,利用同样的方式进行编码,依次循环;最后,给网络加上全连接网络和分类器,用少量带标签样本微调,使网络具有故障识别能力。
1 基础理论
1.1 卷积神经网络
Hubel和Wiesel对猫视觉皮层细胞的研究表明,视觉信息从视网膜传递到大脑中是通过多个层次感受野(receptive field)激发完成的[16]。卷积神经网络正是受此启发,通过堆叠的卷积层和池化层将原始图像转化成一系列特征图,然后使用全连接神经网络对特征进行分类,最后采用反向传播算法对网络进行有监督训练。
图1 用在一维时间序列上的典型卷积神经网络结构
用在一维时间序列上的典型卷积神经网络的结构如图1所示。卷积神经网络的卷积层通常包含若干个特征平面,每个特征平面由同一个滤波器对原信号进行滤波而来,这里滤波器就是卷积核。每个特征平面使用同一个滤波器的直接好处是权值共享减少了网络各层之间的连接,进而降低了网络过拟合的风险。卷积核一般以随机小数的形式初始化,在网络的训练过程中卷积核通过学习得到合理的权值。池化也叫作子采样,通常有均值子采样和最大值子采样两种形式。池化的目的是为了对主要特征进行提取,降低特征维数[15]。
对目标误差的反向传播进行求解是神经网络进行权值优化的关键步骤,典型卷积神经网络主要由全连接、池化、卷积3部分构成。在对这3部分的梯度进行求解后,即可通过链式求导法则对整个网络的梯度传播进行计算。
(1)
(2)
池化层没有权值,只需要计算L关于池化层的输入神经元的导数。对于最大值池化:正向传播时记录最大值位置,设t=tm时,max{al(i,t),(j-1)W+1≤t≤jW}=al(i,tm);反向传播时,只将梯度传递给第tm个神经元,其余神经元不参与传递,即
(3)
(4)
式中:yl(i,j)为卷积层的输出;xl(j)为卷积层的输入。
1.2 卷积自编码器
为了解决深度神经网络随着网络层数的加深梯度传递衰减严重、优化目标函数非凸等问题,Hinton等人提出了用无监督预训练来初始化网络权值的方法,这就是自编码器[17]。自编码器的核心思想是基于有效的准则,建立输入与其编码的良好拓扑对应关系,以致编码可以以合理的误差重构回原信号。常见的自编码器都是基于全连接神经网络的,基于卷积神经网络权值初始化的方法还比较少见。基于此,本文提出了一种基于卷积神经网络的自编码器,原理如图2所示。其主要思想是将卷积池化后的信号通过反卷积核进行重构,具体做法是以池化后的特征为权值,对反卷积核进行加权叠加,叠加时的步长为池化时的步长,将池化后的信号还原到原信号空间。
图2 卷积自编码器
卷积自编码器的求解主要是以重构信号与原信号的差最小为优化目标,对卷积核和反卷积核进行优化求解。由图2可知,卷积自编码器主要由卷积、池化、反卷积3部分构成,卷积和池化层的梯度计算见式(3)(4),反卷积层的梯度传递如下
(5)
(6)
式中:K为反卷积核;y为反卷积层输出;x为反卷积层输入;t为反卷积层输入信号长度;m为反卷积时的叠加步长。
1.3 深度卷积自编码网络
如图3所示,将卷积自编码器堆叠,即将上一层的池化层作为下一层卷积自编码器的输入,即可构成深度卷积自编码网络。在卷积自编码过程中,不需要用到数据的标签,因此是一种非监督的逐层学习方式。每一层自编码器都是浅层神经网络,可充分发挥浅层神经网络凸优化的优势,降低网络陷入局部最优的风险。在自编码完成后,用少量带标签数据对网络进行微调,即可使网络达到比较好的效果。本质上,这种逐层编码就是将抽象特征进行逐步提取的过程,随着层级的增加,这种特征就愈加抽象,愈加具有全局整体特性。
图3 深度卷积自编码网络
1.4 Adam优化算法
利用链式求导法则计算了误差反向传播后,下一步就是用优化算法更新权值,以期目标函数达到最小。本文的优化算法采用了自适应动量项(adaptive moments,Adam)算法。Adam算法是一种利用梯度一阶矩和二阶矩估计自适应调整学习率的优化算法,其主要优点是经过偏置矫正后,可以修正一阶矩(动量项)和二阶矩估计,使得每次的学习率都有稳定的范围。由于Adam对超参数具有很强的鲁棒性,因而在深度学习领域被广泛应用,其算法流程如下[18]。
步骤1更新时间步:t←t+1
步骤2从训练集中随机抽取m个样本x1,x2…,xm,对应的目标为y1,y2…,ym。
步骤4更新一阶矩估计:s←ρ1s+(1-ρ1)g
步骤5更新二阶矩估计:v←ρ2v+(1-ρ2)g⊗g
步骤9达到终止条件则终止训练,否则回到步骤1。
参数说明:λ为学习率;ρ1和ρ2为矩估计衰减率,推荐0.9和0.999;ε为数值稳定常数,推荐10-8;初始化时间步t、一阶矩s、二阶矩v均为0。
2 基于卷积自编码网络的轴承故障诊断
为了验证本文提出的卷积神经网络的性能,在公共数据集——西储大学轴承数据集以及实验室实测数据集上,进行了深度卷积自编码网络与传统卷积神经网络对滚动轴承故障识别的实验。识别直接在时域上进行,无需对数据进行预处理,卷积神经网络模型为“第一层宽卷积核深度卷积神经网络(deep convolutional neural network with wide first-layer kernel,WDCNN)”。
WDCNN的特点是第一层为大卷积核,其余各层均为小卷积核。第一层采用大卷积核的目的是为了提取短时特征,其作用与短时傅里叶变换类似,只不过将短时傅里叶变换的正弦函数换为了第一层的大卷积核,而大卷积核是通过网络训练得到的,可以自动地学习面向诊断对象的有用特征,过滤掉无用信息。其余各层均采用小卷积核的目的是为了减少网络的参数,有助于加深网络,同时可以抑制过拟合[13]。每层卷积之后均进行激活操作,激活函数选择ELU(exponential linear unit)函数,其表达式为
(7)
式中:α为系数,可取为1。ELU函数在正值区间减轻了梯度弥散问题,在负值区间具有软饱和的特性,提升了网络对噪声的鲁棒性。
2.1 西储大学轴承数据集
西储大学滚动轴承数据集是学术界常用的轴承故障诊断标准数据集,截至2015年,机械故障诊断领域著名期刊《Mechanical System and Signal Processing》就发表过41篇利用此数据集进行轴承故障诊断的文章[19]。将本文方法与原有方法在第三方数据集上进行比较,可以有效地验证本文方法的有效性。
利用数据集中采样频率为12 kHz的数据,诊断对象为深沟球轴承SKF6205,轴承故障由电火花加工而来,故障位置分别位于外圈滚道、内圈滚道、滚动体,每个位置均有损伤直径为0.18 mm、0.36 mm、0.54 mm三类不同程度的故障,加上无损伤轴承,共计10类。实验中,选择样本长度为1 200点,每类状态100个样本,共计1 000个样本,测试时选择不同比例样本用于训练,其余样本用于测试。
实验使用Google公司的深度学习框架TensorFlow,编程语言为Python,所用计算机配置为Core i5-6500 CPU @3.20 GHz,内存为16 GB。实验时先利用Python在TensorFlow环境中搭建出卷积神经网络的数据流图,然后将训练数据输入到图中,启动数据流图,利用权值更新模块自动更新权值,待网络训练完毕后,将测试数据输入数据流图进行诊断。对于传统卷积神经网络,所有卷积核均采用随机小数进行初始化,对于卷积自编码神经网络,卷积核采用经过卷积自编码器预训练后的卷积核进行初始化,二者网络结构保持一致。
分别选用20%、40%、60%、80%的样本用于训练,其余样本用于测试,网络结构参数及训练超参数如表1所示。
表1 网络结构参数及训练超参数
为了测试网络的稳定性,每个实验重复20次,统计结果如表2所示,各次实验的测试正确率如图4所示。从表2、图4中可以看出,卷积自编码神经网络可提高故障平均识别率,且稳定性较传统卷积神经网络得到了极大的提升,可有效地避免传统卷积神经网络由于不恰当的初始化而陷入局部最优的情形。
表2 不同比例训练样本下测试正确率统计结果
(a)20%训练样本 (b)40%训练样本
(c)60%训练样本 (d)80%训练样本图4 不同比例训练样本下的测试正确率
为了深入了解深度卷积神经网络的逐层特征提取效果,对20%样本训练下的测试集各层特征通过t-SNE(t-distributed stochastic neighbor embedding)降维技术降为2维并进行可视化[20],可视化结果如图5所示。由结果可以看出,每经过一次卷积池化,各个类别的特征都进行了一次聚集,这说明每一个卷积池化层都具有特征提取能力,到第5层卷积池化后,各个类别已经基本分开。
2.2 实验室实测数据集
为了进一步验证本文方法的性能,在实验室实测数据集上进行了测试,并对网络结构的含义做了进一步分析。
实验所用轴承实验台包括直流电机、滚动轴承安装架、滚动轴承和加载装置等部分,如图6所示。被诊断对象为5种状态下的6308深沟球轴承,分别为正常、外圈剥落、内圈剥落、滚动体剥落和保持架故障状态。实验时保持轴承内圈转速为1 200 r/min,传感器为IMI的601A11加速度传感器,数据采集卡为UA300系列数据采集卡。采样频率为10 kHz,每个样本采样长度为2 400点,每种状态采集400个样本,共计2 000个样本。
卷积神经网络各层数据长度以及通道数为:2 400@1;1 200@4;600@4;300@4;150@4;75@4;300@1;5@1。第1层卷积核长度为64,其余各层均为15,各池化层长度均为2,分类器选择Softmax。选取50%样本用于训练,剩下50%样本用于测试,重复实验20次,各次实验结果如图7所示。
由测试结果可以看出,随机初始化CNN的测试正确率在0.2到1之间变化,而卷积自编码CNN测试正确率均在0.8以上。两种网络第5、6次训练时误差的变化如图8所示,可以看出,随机初始化卷积神经网络误差收敛的不确定性较大,网络有陷入局部最优的可能,当网络如第6次训练那样过早陷入局部最优后,网络的性能将变得格外糟糕。卷积神经网络的权值由于经过了卷积自编码器的逐层预训练,网络的初始误差较小,经过微调后网络的误差都收敛到了一个较小值。对训练误差的分析再一次说明,本文提出的深度卷积自编码网络可有效地避免卷积神经网络由于随机初始化而陷入局部最优。对20次实验结果进行统计,卷积自编码神经网络将故障识别正确率由0.799提高到了0.921。
图5 各层可视化结果
图6 滚动轴承实验台
图7 两种网络测试集的正确率对比
图8 两种网络训练时误差的变化
为了对卷积神经网络提取的特征有一个直观的了解,利用图3中的反卷积核将网络底层提取的特征反卷积回原信号空间,其中外圈故障和内圈故障的原信号与特征重构信号的对比如图9所示。
(a)外圈故障
(b)内圈故障图9 原信号与特征重构信号的对比
图9a中,重构信号的噪声明显减少,这说明网络在特征提取的过程中有消除噪声的作用。图9b中,原始信号被转频调制严重,内圈故障的冲击信号不明显,但是在重构信号中,故障冲击信号得到了明显的加强,转频信号相对被减弱,这说明网络在提取特征的过程中还有加强故障特征信号、衰减非特征冲击信号的能力。
在本实验中,卷积自编码神经网络的底层为4个通道,每个通道75个特征,为了更加形象地了解每个特征的含义,对各通道的每个特征都单独置为1,其余特征都置为0,然后同样通过图3中的反卷积核将各单独置1后的特征分别反卷积回原信号空间,部分重构信号如图10所示。
图10 单个特征的重构信号
反卷积回原信号空间的过程,实际上是通过图2所示的以池化长度为步长、特征为权值、对反卷积核进行叠加的方式进行的,因而当反卷积核固定后,网络底层每个通道内的特征重构回的信号也是一样的,只不过由于特征所在的位置不一样,所以在原信号空间中所在的时间点也不一样。网络底层不同通道的特征在反卷积回原信号空间时由于被叠加的反卷积核不一样,因而在原信号空间的表征也不一样。对各特征重构信号的频域进行分析,发现它们都集中在低频段,且有重叠部分;对时域进行分析,发现它们之间的相位有较大差异。
通过观察各单个特征的重构信号可以看出,卷积神经网络对信号特征的提取实际上就是对信号的一种分解,特征反卷积回的信号为分解的基函数,网络底层的通道数为基函数的数量,通道内单个特征对应分解时所在的时间点。
3 结 论
为了更好地从机械装备大数据中自动提取特征,本文提出了一种卷积自编码器,并使用其对卷积神经网络进行了预训练。在滚动轴承故障诊断上进行的实验结果表明,改进后的网络取得了更加稳定可靠的性能,故障识别正确率由0.799提高到了0.921。通过反卷积核对改进后的网络提取的特征进行重构,并对改进后的网络结构进行分析,得出了如下结论。
(1)本文提出的卷积自编码器能够有效地对输入进行编码,保留有效特征。由编码层、全连接层和分类器堆叠而成的深度卷积自编码网络能够有效地防止由于不恰当地随机初始化使网络过早陷入局部最优,无监督逐层学习策略可使网络绕开深度神经网络非凸优化的问题,使网络性能更加稳定可靠。
(2)通过反卷积核将被提取的特征逐层重构回原信号空间,第一次在原信号空间看到了神经网络到底“学”到了什么。对比原信号与重构信号发现,网络不仅能够明显削弱原信号的噪声,而且还具有加强故障特征信号、衰减非特征信号的能力。
(3)对网络底层提取的特征逐个置1其余置0,分别重构回原信号空间,对重构信号分析发现:卷积神经网络对信号特征的提取本质上是对信号的一种分解,特征反卷积回的信号为分解的基函数,网络底层的通道数为基函数的数量,单个通道内的不同特征代表分解时所在的时间。
本文提出的卷积自编码器为科研人员设计卷积神经网络时的初始化提供了一种策略,避免了网络由于非凸优化陷入局部最优的问题,同时,对网络结构含义的分析也可为网络结构调整提供参考。