尚志武,钱仕淇
(1.天津市现代机电装备技术重点实验室,天津 300387;2.天津工业大学 机械工程学院,天津 300387)
滚动轴承是机械设备中不可缺少的部件,一旦发生故障可能造成整个机械设备损坏,导致严重的经济损失或人员伤亡。为保证设备安全可靠运行,必须按时对轴承健康状态进行辨识和诊断。
随着人工智能的迅猛发展,机器学习被广泛应用于故障诊断领域。然而,机器学习方法在提取特征时十分依赖信号处理和专家经验,浪费大量时间和人力[1],且很难高效挖掘海量数据中的特征信息。深度学习方法有很强的特征挖掘能力,可以自动提取丰富且有价值的特征,具有更高的诊断准确率[2-3]。其中,卷积神经网络(CNN)[4-5]在应用中取得了显著的诊断效果,然而卷积是局部连接、参数共享的,没有考虑特征间的关联,因此CNN中并没有可用的空间信息,而且最大池化层只保留上一层最活跃的神经元,会导致部分重要信息丢失,使得故障特征提取不全面,影响诊断准确率并造成模型过拟合。为克服以上不足,文献[6]提出了一种具有动态路由机制的胶囊网络,将提取的特征封装在胶囊中,通过计算模长进行预测;文献[7]进一步在胶囊网络中加入Inception模块和回归分支对滚动轴承进行故障分类,取得了良好的效果。
在实际工程应用中,滚动轴承大部分时间处于健康状态,在故障状态下运行的时间很少。因此,难以在不同的工况下为每个故障类别收集到足够多的数据,导致大部分深度学习方法的诊断性能受到限制。针对此类问题,一些学者进行了基于有限数据的故障诊断研究:文献[8]使用由卷积层和池化层组成的孪生子网络实现了小样本柱塞泵的故障诊断;文献[9]采用孪生神经网络并基于样本相似性度量进行分类,在故障类别多且每类样本数量少的情况下表现良好;文献[10]利用相同或不同类的样本训练孪生神经网络,从只有少量样本的类中识别待分类测试样本,从而实现有限数据下的轴承故障诊断。然而,孪生神经网络的子网络常使用基础的CNN模型,所提取的特征并不全面,也不具代表性,胶囊网络则很好地解决了CNN的缺陷。
综上分析,为准确提取轴承故障特征并解决故障数据不足的问题,本文提出一种基于改进孪生胶囊网络的故障诊断模型(Siamese Capsule Network Model,SICN),以更好地实现基于小样本数据的滚动轴承故障诊断。
传统神经网络需要大量的样本进行训练,在小样本时很难达到理想效果,容易造成网络的欠拟合。孪生网络的本质是计算样本间的相似度,通过对比样本间的相似度扩大训练次数,根据相似程度判定待分类的样本属于哪一类别。如图1所示:孪生网络的子网络(常用CNN,LSTM等)是结构相同且权值共享的,可以确保从输入样本对中提取的特征在同一分布域。孪生网络需要成对的样本x1,x2作为输入,输出是x1,x2是否相似的概率,其不仅能从已有类别中学习特征的相似性度量,对非常相似的样本做出精准判断,而且还能利用先验知识分辨新样本的类别。
图1 孪生网络结构示意图
传统神经网络的神经元都是标量,胶囊网络则将每个神经元由标量转换为可以储存空间位置信息的向量,封装后以胶囊的形式传递特征信息,解决了CNN中没有可用空间信息的问题。低级胶囊数量多但维度低,每个胶囊只表示输入的一个小区域,共同组成相应的空间关系。在低级胶囊转换为高级胶囊的过程中,胶囊数量变少,每个胶囊由于存储了更多信息而面积增加,低级胶囊到高级胶囊的维度增量可以建立不同胶囊间的对应关系,这个过程可通过动态路由算法实现并更新权重。
整个胶囊网络的运算过程可以分为4个阶段:
1)通过输入向量乘以仿射变换矩阵得到预测向量,即
uj|i=Wijui;i,j=1,2,…,n,
(1)
式中:ui为底层胶囊;n为胶囊个数;Wij为编码特征的空间位置关系仿射变换矩阵;uj|i为预测向量。
2)对所有得到的预测向量进行加权求和,得到总输入向量sj,即
(2)
(3)
式中:cij为耦合系数。
3)使用非线性函数squash将向量长度压缩在(0,1)区间,整个过程方向不变,可表示为
(4)
式中:vj为第j个胶囊的输出向量;‖sj‖为总输入向量sj的模长。
4)利用动态路由算法迭代更新bij和cij,得到最优输出向量。
bij=bij+vjuj|i,
(5)
式中:bij为对数先验概率。
胶囊网络的运算过程如图2所示:在每个路由迭代前先将bij的值设置为0,通过(3)式得到cij并通过(2)式计算sj,最后利用squash函数得到vj;使用(3)式和(4)式更新bij和cij并通过前向传播进一步修正sj,得到输出向量vj;不断循环上述过程,直至得到一组最优耦合系数。
图2 胶囊运算过程示意图
为提取更全面、更丰富的特征,通常增加网络的宽度和深度,这会导致参数太多,模型难以训练,而且可能造成梯度消失,难以优化模型。另外,传统卷积层的每层只有单一尺寸的卷积核,当样本为二维图片时,不同通道间的特征关联不大,对不同通道使用不同尺寸的卷积核十分必要。Inception模块在多个尺寸上进行卷积,使相关性强的特征聚集在一起,获得不同大小的感受野,从而提高分类效果,能在增加网络宽度的同时减少参数并增加网络的泛化性[11]。其初始结构如图3所示。
图3 Inception模块结构示意图
为消除量纲的影响,将原始数据进行零均值归一化处理,即
(6)
式中:x为原始数据;x*为处理后的数据;μ,σ分别为x的均值和方差。
在同类故障中,截取信号的周期不同也可能导致故障产生空间位置差异。因此,引入短时傅里叶变换(STFT)[12]将样本数据转换为包含丰富空间位置等信息的时频图,从而保留多数的故障特征信息。
短时傅里叶变换通过滑动窗口重叠截取数据样本,加汉明窗后分别计算每个窗口的傅里叶变换,即形成不同时间窗口对应的频域信号,将其拼接起来得到时频图。短时傅里叶变换的窗口尺寸为128×128,选择时间步长为0.813 ms,则滑动窗口的步幅为0.813×10-3×12 000=9.756 s,经过短时傅里叶变换后得到时频图(TFG)尺寸为128×128。
1)将处理后的数据划分为训练集和测试集。
2)从训练集中随机抽取2个样本组合成样本对输入模型训练,当模型收敛时停止训练并保存模型。
3)从测试集中抽取一个待分类的样本并从N类训练样本中随机抽取一个样本,构成一个样本对。重复N次,构成N个样本对并依次输入训练好的模型。计算测试样本与N个训练样本属于同一类的概率,选择概率最大值的类别作为测试样本的类别。
由于更新耦合系数以及叠加卷积层会导致胶囊网络比其他深度学习模型慢,为提高网络模型的处理效率,在主胶囊层前加入Inception模块(即ICN),不仅能够增加网络宽度,提取到多尺度的特征,还减少了参数,从而加速计算过程。孪生网络的子网络使用ICN可以解决CNN中最大池化不足,卷积核单一和所提取特征信息不足等问题。ICN结构如图4所示,各层详细信息见表1。
表1 ICN模型的详细信息
图4 ICN结构示意图
经过数据预处理后的时频图尺寸为128×128,为使网络的特征图尺寸与原始胶囊网络的输入保持一致,使用了一个30×30的卷积核,其步长为5,核数为256,则特征图尺寸为20×20×256。ReLU卷积层用于提取初级特征,其尺寸为9×9,步长为2,核数为256,输出尺寸为6×6×256。
将提取的初级特征输入ICN中进行矢量化处理,提取更高级别的特征。在Inception模块中,使用8个尺寸分别为1×1到8×8的卷积核并行连接在最后一个通道上,得到8维的输出胶囊。此时输出变成尺寸为6×6×32×8的胶囊,包含空间位置信息初级特征向量,结构如图5所示。
图5 主胶囊层Inception模块示意图
输入数字胶囊层,通过仿射变换矩阵Wij=[8×16]与主胶囊层全连接,获得6×6×32×16的高级特征向量。应用3次挤压函数和动态路由算法(图6)对胶囊进行非线性变换,胶囊间的耦合系数通过3次动态路由算法更新,最终输出10×16的胶囊。
图6 动态路由算法流程图
SICN模型通过距离度量方法判断样本是否来自同一类别,常用的方法有欧氏距离、余弦相似度、曼哈顿距离等。余弦相似度通过计算2个向量夹角的余弦值判断样本间差异,更注重2个向量在方向上的差异,而非距离或长度,可以避免由于向量长度不同而导致的距离偏大[13]。由于输出的胶囊是具有方向位置信息的向量,因此使用余弦距离判断样本间的差异能够对胶囊向量样本进行更好的相似性度量,提高分类精度。
余弦相似度可表示为
(7)
则余弦距离为
DW(X1,X2)=1-cos(X1,X2)=
(8)
因此,2个向量的夹角越小(越趋近于0),余弦距离就越小,其方向越相近,即越相似;当2个向量的方向不同时,余弦距离越大,方向差异越大,也越不相似。
SICN模型的损失函数通常采用对比损失(Contrastive Loss),即
(1-Y)max(m-DW,0)2,
(9)
式中:Y为2个样本是否匹配的标签;DW为2个样本特征向量X1和X2的余弦距离;N为样本个数;m为设定的阈值,距离超过阈值时损失看做0。
确定了损失函数后,使用梯度下降算法对孪生网络的子网络ICN进行训练,实现误差的反向传播。训练目标是同类样本间的差异度尽可能接近0,不同类样本间的差异度尽可能接近1。
经过以上步骤,所构建的SICN故障诊断模型如图7所示。
图7 SICN故障诊断模型
为证明SICN模型在故障诊断领域的有效性,选取了凯斯西储大学(CWRU)轴承数据集以及实验室自测轴承数据进行试验。
3.1.1 数据描述
CWRU轴承数据集的试验轴承为SKF6205,使用电火花加工技术在轴承的内圈(IR)、钢球(B)以及外圈(OR)上设置单点故障,包括正常(N)轴承共有10种状态,采样频率为12 kHz,数据集的详细描述见表2。通过数据处理在每种转速下分别得到1 000张时频图,划分为训练集(700张)和测试集(300张)。
表2 CWRU轴承数据的详细描述
3.1.2 样本数量的影响
为检验所提小样本方法的性能,随机选择60,90,150,300,500,700个训练样本并与支持向量机(SVM),CNN和加入Inception模块的卷积神经网络(ICNN)模型进行对比,不同样本数量对模型性能的影响如图8所示:4种模型均能达到较高的分类精度,但SICN均取得了最高的准确率;特别是当样本数量为150时,孪生神经网络的准确率为92.67%,比SVM高60%。在仅有60个训练样本的小样本条件下,SICN也能达到80.24%的准确率,远远高于同条件情况下的其他方法。
图8 不同样本数量时各模型的准确率
3.1.3 不同孪生子网络模型的对比
在样本数量为150的条件下,选择孪生网络常用的子网络CNN,WDCNN(宽卷积神经网络), ICNN,LSTM与本文所提ICN方法进行对比。如图9所示:虽然采用5种子网络的模型均达到了90%以上的准确率, 但ICN子网络在同一工况下的准确率明显高于其他4种子网络,诊断效果更好,说明采用ICN作为孪生网络的子网络可以提高模型的准确率。
图9 不同子网络结构时各模型的准确率
另外,为验证Inception模块的有效性,在CNN、残差网络(ResNet),WDCNN和胶囊网络等基础模型上进行Inception模块的消融试验,结果如图10所示:4种基础模型加入Inception模块后,准确率均有所提升,证明Inception模块可以在增加网络模型宽度的同时提高模型的特征表达能力,解决传统神经网络卷积核单一导致特征提取不足的问题,可有效应用于故障类别辨识。
图10 Inception模块的消融试验
如图11所示,试验平台主要由制动器、联轴器、轴承(6205)、传感器、电动机构成。除了正常状态,分别在内、外圈滚道面上设置不同的故障尺寸,转速包括500,1 000 r/min,详细的数据描述见表3。通过数据处理在每种转速下分别得到1 000张时频图,划分为训练集和测试集。训练集包含700张,测试集包含300张。
表3 轴承数据的详细介绍
图11 实验室轴承数据采集系统
与3.1节相同,进行不同样本数量和不同子网络结构(样本数为90)时各模型的性能对比,结果如图12所示:不同样本数量以及不同子网络结构时,SICN模型在实验室轴承数据集上的准确率均优于其他方法,进一步证明了SICN模型在小样本下的有效性,可以提高诊断准确率,具有较强的泛化性。
图12 不同样本数量和子网络结构时各模型对实验室轴承数据集的诊断准确率
SICN模型在小样本故障诊断中的效果得到了初步验证, 但其学习过程难以表达。为直观理解所提方法对原始信号的特征提取过程,使用t-SNE[14-15]对SICN模型提取的特征进行降维与可视化(图13),经数字胶囊层提取特征后,各类别相对距离增大,分类效果明显。
图13 数字胶囊层提取特征后的t-SNE可视化结果
提出了一种基于改进孪生胶囊网络的小样本滚动轴承故障诊断方法,主要结论如下:
1)采用孪生网络学习策略,创建时频图样本对,通过对比样本相似度扩大训练次数,解决了故障数据不足的问题。
2)针对CNN中没有可用的空间信息以及最大池化忽略重要信息的问题,将胶囊网络作为孪生网络的子网络,最大程度地保留了特征的空间位置信息,从而提取更全面的特征,减少特征信息的丢失。
3)针对胶囊网络运算速度慢的问题,在胶囊网络中加入Inception模块从时频图中提取多尺度特征,在增加网络宽度的同时减少了参数量,加速了计算过程并防止过拟合。
4)针对度量误差大的问题,选用余弦距离对具有空间位置信息的胶囊向量进行相似性度量,能更好地区分2个胶囊向量的差异性,提高了模型的准确率。