王保勤
潞安化工集团五里堠煤业公司 山西潞安 032600
矿井提升机是矿山企业的主要提升设备,是连接矿井上下的“咽喉”,一旦其发生故障,不但影响矿山的日常生产,甚至危及工作人员的生命安全。据统计,由提升系统故障所造成的安全事故约占煤矿安全事故的 1/3[1],因此对提升机的状态监测、故障诊断与预测具有重要意义。随着我国工业化步伐的加快,机器设备也越来越复杂,需要监测的数据也越来越多,通过专家知识来进行特征提取的传统故障诊断方法已远远不能满足现在的发展。得益于当代计算机技术的快速发展以及信息化与工业化的融合,机器学习、大数据、物联网等技术得到不断发展,其中能够从海量数据中自主挖掘数据内在特性的机器学习方式受到越来越多的关注。如何将这些技术应用于矿井提升机的故障诊断中,也引起大家越来越多的关注[2]。
一维卷积神经网络 (One-dimensional Convolutional Neural Networks,1DCNN) 作为深度学习的经典算法,具有局部感知和参数共享两个特点,能够有效降低网络模型的复杂度,减少权值的数量,使得卷积核对输入的空间局部模式具有最强的响应。T.Ince 等人提出一种具有自适应设计的一维 CNN 用于电动机状态监测[3],Sun W J 等人提出了一种用于感应电动机故障诊断的卷积判别特征学习方法[4],Xia M 等人提出了一种基于CNN的旋转机械故障诊断方法[5]。这些研究都有效验证了利用卷积神经网络对电动机轴承故障诊断具有较高的准确率与鲁棒性。
然而卷积神经网络一般是处理二维数据,而电动机轴承原始振动信号是一维数据,因此笔者提出了一种利用一维卷积神经网络的电动机轴承故障诊断模型,直接将原始振动信号作为输入信号来进行端到端的故障诊断。这样能够有效避免因为人工信号处理以及特征提取所带来的误差,提高故障诊断的准确率。
一维卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络。它与普通神经网络的区别在于,一维卷积神经网络包含了滤波级与分类级,滤波级用于提取信号特征,分类级用于对滤波级所提取的特征信号进行分类,两级网络共同作用。一维卷积神经网络主要由输入层、卷积层、池化层和分类器构成,其中分类器由全连接的多层感知机构成。1DCNN 模型[6]如图 1 所示。
图1 一维卷积神经网络模型Fig.1 Model of one-dimensional convolutional neural network
激活函数用于将非线性引入神经网络,它会将值缩小到较小的范围。常见的激活函数有 Sigmoid、Tanh 以及 ReLU,前 2 种激活函数的函数曲线较为平滑,利于求导,但是当输入值较大时,它们的导数值都趋近于零,并且随着神经网络层数的增加都会出现梯度弥散,甚至无法训练的情况;ReLU 函数能够在一定程度上解决梯度弥散的问题,因此采用 ReLU 函数作为激活函数。
ReLU 激活函数
一维卷积神经网络的关键在于其卷积运算,在卷积层中使用一维数组作为卷积核,通过多个卷积核对上一层输出的特征矢量进行卷积后加上偏置,然后经过非线性激活函数便可得到下一层的激活值其表达式为
式中:为第l层的输出;为上一层 (l-1 层)的输出,也是当前层l的输入;f为激活函数 ReLU 函数;∑为遍历输入特征映射;为神经元的卷积核;为网络偏置。
不含激活函数的卷积运算流程如图 2 所示。
图2 卷积运算流程Fig.2 Process flow of convolution algorithm
池化层进行的是降采样操作,主要目的是减少神经网络的参数。池化方法主要有 2 种,最大值池化和平均值池化。最大值池化是输出池化窗口中的最大值,平均值池化是将池化窗口中值的平均值作为输出。在最大值池化中,能够获取位置的无关特征,因此笔者采用的降采样操作是最大值池化。其公式为
式中:为第l层的第i个神经元的输出值;为第(l-1) 层第i个特征矢量中神经元的值;sscale为池化区域的尺度;sstride为池化区域的步长。
全连接层则是利用卷积层和池化层所提取的特征来进行分类。当输入数据经过多个卷积层和池化层交替传播后,全连接层会对所提取到的特征进行分类,该层能够将上一层输出的矩阵降为 1×n维矩阵,最终通过 Softmax 激活函数输出该样本被分为n类中某一类的概率[7]。
基于一维卷积神经网络的提升机轴承故障诊断算法流程如图 3 所示,具体步骤为:首先,将采集到的轴承振动信号数据集划分训练集和测试集;然后,将训练集的信号样本提前做好对应标签 (每一种故障信号对应一个故障标签),输入到 1DCNN 进行模型训练;最后,将测试集数据输入到模型中从而得到标签分类的准确率[8]。
图3 1DCNN 故障诊断流程Fig.3 Process flow of fault diagnosis based on onedimensional convolutional neural network
笔者采用美国凯斯西储大学轴承数据中心公开的滚动轴承故障振动数据集[9],系统的采样频率为 12 kHz,电动机转速为 1 730 r/min,试验对象为驱动端轴承。该试验将故障类型分为 10 种,具体如表 1 所列。
表1 故障类型数据集Tab.1 Data set of various fault types
电动机在不同状态时有不同的特征,故障诊断的依据就是根据这些不同的特征值来进行分类,图 4 所示为不同状态时振动信号的时域图。
图4 不同状态时振动信号的时域图Fig.4 Time domain diagram of vibration signal in various states
为了进一步增强一维卷积神经网络的泛化能力,需要大量的数据来对模型进行训练,然而在当前轴承故障诊断领域并没有足够的训练样本,因而笔者采用滑动数据窗口采样技术对数据集进行扩增,如图 5 所示。
图5 滑动数据窗口采样Fig.5 Sliding data window sampling
假设数据集中数据总长度N=120 000,每次训练样本长度n=2 000,偏移量m=500,根据公式x=可以算出,每种故障状态数据能够制作 236 组训练样本,一共能够获得 2 360 组试验数据,相比之前的 200 组试验数据扩增加了 11.8 倍。数据扩增能够很好地满足一维卷积神经网络的数据训练要求。
本试验采用的语言为是 Python 语言,框架为Google 公司的 TensorFlow 深度学习框架,开发工具为 Pycharm。试验选取 4 种载荷状态,每种载荷状态包含 10 种故障类型,每种故障类型包含 2 048 个训练样本,训练数据分为 70% 训练集和 30% 测试集,其中训练集、测试集样本均采用数据增强技术。利用搭建好的网络对 4 种载荷状态进行训练,训练时算法的学习率设置为 0.001,训练轮次为 12 次。不同试验方案的验证结果如图 6~ 8 所示。
图6 4 种载荷状态下训练轮次与准确率和损失率的关系曲线Fig.6 Relationship curve of training rounds with accuracy ratio and loss ratio in four load states
图7 4 种载荷状态下平均准确率与损失率曲线Fig.7 Curves of average accuracy ratio and loss ratio in four load states
图8 不同方法下训练轮次与准确率的关系曲线Fig.8 Relationship curve between training rounds and accuracy ratio with various methods
由图 6~ 8 可知,训练集在经过一维卷积神经网络的 12 次迭代之后,准确率能够达到 98% 以上,其中对载荷为 0、2、3 hp 状态下的诊断准确率高达 99%以上。在测试集中,平均准确率也都在 96% 以上。相较于传统的 BP-NN 方法,采用 1DCNN 方法的准确率明显提高,可见该算法具有较高的故障诊断识别率。
笔者提出了基于一维卷积神经网络的提升机轴承故障诊断方法,采用凯斯西储大学轴承数据中心采集的轴承振动信号数据,利用了滑动数据窗口采样技术来对数据集进行扩增,通过试验验证了该方案对轴承故障诊断的准确率达到了 96% 以上,说明一维卷积神经网络在对轴承故障诊断中具有较强的诊断能力。同时,这一试验结果为之后的一维卷积神经网络在轴承故障诊断的应用提供了参考。