刘彬豪,孙敬伟,邓志华
(汕头大学 工学院,汕头 515063)
近年来,为了应对日益严重的能源短缺危机,风力资源的开发已经成为全球各国解决能源危机的重要举措,因此风力发电的规模越来越大,风电设备的智能化程度也越来越高,风电发展在未来也有很大的发展前景[1]。然而,机械设备必然会存在或高或低的故障率,故障会使得风力机的停机时间加长,进而导致风力发电效率变低。在众多风力设备的零部件里,齿轮箱的故障率较低,但其发生故障导致风力机停机的时间却是最长的[2],所以风力机齿轮箱的故障诊断一直是风力机故障检测的重要组成部分之一。而齿轮箱的齿轮故障一般包括断齿、齿面点蚀、齿根裂纹、齿面磨损、齿面胶合五种[3]。
目前,国内外对齿轮箱方面的故障诊断也已经开拓了许多方向,卷积神经网络(CNN)、堆叠稀疏自动编码器(Stacked Sparse Autoencoder,SSAE)和深度置信网络(Dynamic Bayesian Network,DBN)等深度学习模型已广泛用于故障诊断系统。Xiang 和黎阳羊等人[4-5]将CNN 融入长短期记忆网络以检测风电机组的故障与异常识别;Jing 等人[6]开发了一种一维CNN,可以分析获得的振动频率等信息特征,以此对齿轮箱故障作出诊断分类;Zhang[7]等人利用凯斯西储大学轴承数据集,提出了一种CNN 结构,它在第一层卷积层利用宽卷积核对原始信号提取特征并进行去噪,在前面的层中,使用了小卷积滤波器;Sun 等人[8]利用CNN 方法从振动信号的双树复小波变换获得的多尺度信号特征中识别齿轮故障特征;Du等人[9]研究750 kW 的风力机齿轮箱齿轮表面,采用低秩和卷积稀疏学习的方法实现故障的精准识别。然而以上方法只适用局部情况,因此,该领域仍然有许多亟待解决的问题[10]。
本文提出粒子群优化多分支卷积神经网络(PSO-MBCNN)预测方法。首先,从实验齿轮箱平台模拟四种运行状态:正常、点蚀、断齿、磨损,以此获得振动数据。粒子群优化算法用于更新CNN 的内部权重和偏差,以避免使用梯度反向传播算法更新CNN 权重和偏差所导致的“梯度消失”和“梯度爆炸”问题。最后,将小波分析获得的图像数据输入PSO-MBCNN 模型中,并将其与传统的BP 网络和CNN 进行了比较。
风力机齿轮箱的振动信号受到各种因素影响(风力、速度等),所以它是一种非平稳信号,它的信号随时间而变化。与时域或频域中的一维信号相比,图像是一个二维数据矩阵,包含更多更丰富的特征信息,而且从直观图像中学习特征比从抽象数据中学习特征相对容易,因此可以用来表示更复杂的数据分布。短时傅里叶变换、Wigner-Ville(WV)分布、Hilbert 变换等方法虽然在机械故障诊断领域的应用取得了不少成绩[11],但是仍然存在自身固有的缺陷导致难以精确提取信号特征。短时傅里叶变换的窗口大小是固定的;WV 分布可能会导致内在交叉干扰项目的问题,污染原始数据;Hilbert 变换会产生严重的边界效应。小波变换克服了上述方法的缺点,其具有很强的时频复合观测特性,而在变工况条件下(速度和负载时变)风力机的齿轮箱振动频率观测值具有清晰的时变非线性,所以该研究使用小波变换来实现时频特性的提取[12]。为了提取故障特征,小波变换求解初始信号和小波基函数之间的卷积,如下:
式中,f(t) 是原始振动信号;τ是转换参数;a是比例因子;φ是母小波。
Kennedy 等人[13]于1995 年提出粒子群算法(PSO),以其易于操作、高精度和快速收敛而闻名,主要用于处理工业设计中的优化问题。后来因为其独有的特性,它就在各个领域中被用来优化各种深度算法。在PSO 算法中,开始时每一个微粒都会给定特定的位置、速度和适应度值,迭代过程中,每个微粒均能锁定其所处的最佳位置,在这过程中每个微粒的速度也决定了其运动的方向和距离,以此使微粒能得到全局最优解[14]。当微粒进行一轮迭代训练之后,微粒的速度和位置都会发生改变,而此时要更新微粒的速度和位置信息的话就需要借助适应度值与单个极值(pbest)和全局极值(gbest)两者分别进行比较。微粒的速度和位置信息通过以下式子来计算更新:
式中,i为种群数目;c1和c2为加速因子;r1和r2为随机数;t为当前的进化代数。
在很多情况下,加速因子(Acceleration Constants)c1和c2一般都会取2,而且它们的值均为非负值常数,但也可以根据具体问题在0~4 的范围内选择适合的数值,设置加速因子的作用是使微粒具备向优秀个体学习的能力,使得微粒能够不断趋向历史个体最优点,进而达到全局优化的结果。粒子群优化算法的优点是简单易实现,并且不需要调整许多参数。BP 神经网络模型中存在着梯度消失的问题,本文通过确定隐藏层中的神经元数量和PSO 的优化来避免这个问题。
传统PSO 优化算法均存在一种局限,就是在全局搜索能力和收敛速度上较难达到平衡,难以把握。所以该研究对传统PSO 算法进行改进,即在传统PSO 算法中引入一个标准量相似度S,是为了在PSO 后期的迭代过程中可以丰富粒子的种类以及分析出粒子群的多样性,进一步提升对MBCNN 模型相关参数全局搜索能力和收敛速度的能力。这里定义任意两个粒子i、j,其距离由Euclid 距离公式可得:
式中,div(i,j) 为i、j间距离;S为相似度,取值为div(i,j)最大值与最小值之间。
当i、j粒子的距离越小,相似度S也越小,则这两个粒子的相似性越大,而随着粒子群的继续迭代更新,最优粒子和这些粒子的相似度S会越来越小,粒子的更新能力也持续下降,失去了粒子种群的多样性,也从而存在发生优化停滞的可能。所以通过分析相似度S的变化大小来分析粒子在迭代过程中需不需要进行变异,如果rand 的大小小于相似度和进化代数与周期的乘积大小,则粒子的位置就是rand 所设定的位置上。
因此,同一迭代中不同粒子之间的越相似,粒子群算法在迭代过程中则越需要产生变异。通过这样改进PSO 算法在保证收敛速度上,有利于提高早期的PSO 算法全局搜索能力,后期保持局部的探测能力。
卷积神经网络作为一种前馈神经网络,存在着普通神经网络所没有的特点,自从卷积神经网络被LeCun 等人[15]提出的这些年以来,许多学者对其进行了发展与拓展,使得卷积神经网络技术也被成功地引入到机器故障诊断领域,在各个领域已经成为了一种具有里程碑意义的技术,在各种计算机视觉和模式识别任务中都取得了最先进的性能。本文在回顾其在风力机故障诊断的应用之前,首先介绍卷积神经网络的基本结构及其独特的过人之处。图1 为CNN 的基本结构图,CNN 不外乎都是由输入层、卷积层、池化层、全连接层以及输出层构成。此外,CNN 结构还包括了归一化处理和dropout 处理两种CNN 常用操作,以提高模型的性能。换一句话说,纵观CNN 的整体结构,其实就是一个个滤波器,输入的数据信号通过这些滤波器,提取数据相关的特征。CNN 的稀疏连接和权重共享共同作用可以降低数据的维度,从而达到优化CNN的网络结构的效果[16]。所以,当输入的数据数量比较多时,CNN 技术是一个很好的处理方法。
图1 CNN 的基本结构
CNN 模型的识别精度直接受其网络结构的影响,CNN 网络体系结构包括网络层的数量、卷积核的大小、卷积层中输出通道的数量和池的大小。传统CNN 只有一条网络结构路线,提取的隐藏特征量也比较少,所以在该研究中本文提出了一个多分支模块来构建一个无须先验知识的CNN 网络体系结构:多分支卷积神经网络(MBCNN)。MBCNN 通过使用多个分支,在分支中不断学习,并在最佳分支中提取较多的特征量,深入且全面的学习特征,从而输出更精确的结果。
MBCNN 中最为关键的结构是多分支模块,每个多分支模块包括多个分支,每个分支由一个或多个单元组成,每个单元由卷积层和最大池层组成。如图2(a)所示,多分支模块由N个单元组成,第一条分支由一个单元组成,第二条分支由两个单元组成,以此类推,第n条分支就由N个单元组成。其中,n∈[1,N]。每个单元由一个卷积、不同的学习速率等参数组成,其在CNN 中的等效结构如图2(b)所示。
图2 多分支模块结构
然后,输入二维特征图,计算每个分支最后一次训练的损失函数。其中,损失函数为交叉熵[17],其计算如下:
其中,yj和sj分别是预期输出和预测输出。各个分支结构独自运算训练,最后,通过比较每个分支最后一个训练阶段损失函数的大小,而得出损失函数最小的分支即为最优分支。
采用粒子群优化(PSO)对多分支卷积神经网络的初始权重和阈值通过进行迭代训练的方式得到优化,以获得最优参数,再把优化后的权值、阈值及其他参数输入到MBCNN 网络中对样本数据进行训练,并基于PSO-MBCNN 算法模型构建了风力机齿轮箱故障诊断模型。这种模型在一定程度上能很好地提高MBCNN 的训练速度和最终的预测精度。PSO-MBCNN 模型的运行步骤如下:
(1)输入风力机齿轮箱的运行(图像)数据,并划分好训练集、验证集(用于验证故障诊断模型的能力)和测试集。
(2)为了避免不同单元之间无法进行比较的情况,对图像数据进行了预提取并对其进行了归一化。
(3)使用粒子群优化MBCNN 的初始权重和阈值来搜索最优参数。
(4)根据实际情况,判断是否在这里;否则,返回步骤(3)。
(5)利用获得的最优参数对PSO-MBCNN 模型进行评估,并确定隐藏层中的最佳节点。
(6)利用优化好的参数应用回MBCNN 里,再进行训练、验证的过程。
(7)输出该风力机的运行状态类型准确度。
PSO-MBCNN 算法的基本流程如图3 所示。PSO-MBCNN 算法使用的参数可以分为三类:粒子群算法参数、MBCNN 网络架构和MBCNN 训练参数。粒子群算法的主要参数是迭代次数、种群大小和更新速度时设置的选择阈值。迭代次数越多,找到全局最优解的概率就越大。当种群规模达到一定水平时,再次增加种群规模对算法性能的改善有限,但会增加运算量。考虑到算法的性能和计算量,将迭代次数和种群大小分别设置为100 和40。为了减少整体训练时间,本研究将粒子评估期间训练的时间段数设置为1。PSO-MBCNN 算法中的所有参数设置如表1 所示。
表1 PSO-MBCNN 算法的参数设置
图3 PSO-MBCNN 算法流程图
将基于小波分析的PSO-MBCNN 模型应用于风力机齿轮箱故障诊断,如图4 所示,具体步骤如下:
图4 基于小波分析的PSO-MBCNN 故障诊断模型流程
(1)从风力机齿轮箱中采集故障振动信号。
(2)通过复Morlet 连续小波变换将原始一维振动信号转换成二维时频图像数据,使用的小波带宽参数为3,中心频率也为3,图片尺寸为256×256。
(3)将得到的小波时频图进行裁剪处理,裁剪图片尺寸为64×64,以减少运算负担,加快训练速度;将所有的样本按比例划分,其中70%的样本作为训练集,20%样本作为验证集,10%样本则作为测试集。
(4)图像数据输入到卷积神经网络以及其多分支模块上,在多分支模块通过损失函数的计算选取最优分支,再将这分支的结果输入到卷积神经网络上。
(5)设计改进的PSO 方法优化多分支卷积神经网络(MBCNN)模型,使用训练集进行模型训练,将验证样本输入训练好的模型进行验证,最后输出四种状态的诊断结果。
实验使用模拟的风机齿轮箱作为故障诊断对象,将正常、点蚀、断齿、磨损状态的齿轮在故障模拟实验平台进行模拟实验,故障模拟实验平台是江苏千鹏诊断工程有限公司的QPZZ-II旋转机械振动及故障模拟实验平台,数据由实验平台搭配的ADA16-8/2(LPCI)的数据采集卡采集而得。实验过程中,使用正常、点蚀、磨损和断齿的四种齿轮进行测试,本文采用了880 转速下的齿轮箱,其振动信号为输出轴电机侧轴承Y加速度数据,采集了53 248 个加速度数据点。
在53 248 个加速度数据点中,每次选取50 个,生成1 000 个样本,在对原始数据进行小波变换后,对于每一类状态得到1 000 张时频图,将原尺寸为256×256 的时频图均进行裁剪处理,裁剪图片尺寸为64×64,以减小运算负担,四种状态小波变换时频图如图5 所示。然后再将这些时频图全部输入到建立好的PSO-MBCNN 模型中。
图5 四种状态小波变换时频图
使用Windows10 作为系统平台,运行环境是Matlab R2021a,将以上预处理后的小波时频图数据输入到本文建立的PSO-MBCNN 诊断模型中。
为了要对网络模型的表现进行全面、客观的评价,决定采用ACC 准确度对模型进行综合评价。
ACC 准确度的计算如下:
式中,TP 表示正样本被正确识别为正样本;TN表示负样本被正确识别为负样本;FN 表示正样本被错误识别为负样本。
为了能有效地训练模型,设置70%的数据集为训练集,20%为验证集,10%为测试集,经过PSO-MBCNN 模型200 次迭代训练后的故障诊断分类的准确度如图6 所示,总体故障准确度最终能稳定达到99.60%。结合PSO-MBCNN 诊断模型在该数据集中进行诊断分类的混淆矩阵图(图7)可以看出,每类状态均有700 个样本,四类状态诊断准确度均在99%以上,其中断齿状态最低为99%。这表明,PSO-MBCNN 模型能对该齿轮箱进行准确的故障诊断。
为了进一步证明PSO-MBCNN 模型的有效性,使用T-SNE[18]进行特征可视化,比较数据在输入PSO-MBCNN 模型训练前后的特征。如图8 和图9 分别是原始数据和训练分类后特征可视化结果,可以很清晰地看到原始数据的特征混乱且重叠,不能分辨四种状态;而通过训练后的数据,能很容易分辨出四种状态的位置,很好地证明PSO-MBCNN 模型具有很高效的分类效果。
图8 原始数据特征可视化
图9 训练后数据特征可视化
在实验中,把图像的大小设置为64×64。PSOMBCNN 网络的卷积核大小为1×3。为了便于计算,将剩余卷积层中卷积核的大小设置为3×3,将本文提出的PSO-MBCNN 网络的预测结果与近年来同类问题的先进模型进行训练比较。这些先进模型是CNN、深度信念网络(DBN)、支持向量机(Support Vector Machine,SVM)和MBCNN,将这些模型都运行了10 次以评估模型的效果。平均预测精度是该比较的最终度量项。
(1)传统卷积神经网络(CNN):卷积层中卷积核的所有大小都设置为3×3。池化层选择最大池化函数并使用2×2 过滤器。将迭代设置为200 代,预测精度在运行150 代后收敛。
(2)深度信念网络(DBN):由三个RBM 堆叠,其单位数量分别位于隐藏层400、160 和40中。将迭代设置为200 代,预测精度在运行150代后收敛。
(3)支持向量机(SVM):将核函数设置为RBF 核函数,将惩罚项C设置为5,将支持向量的影响半径γ的倒数设置为0.1。将迭代设置为200 代,预测精度在运行180 代后收敛。
(4)MBCNN:设置卷积层中卷积核的所有大小都为3×3。池化层选择最大池函数并使用2×2过滤器。将迭代设置为200 代,预测精度在120代后收敛。
图10和表2 显示了运行上述模型20 次的平均准确率的比较结果,从中可以得出结论,PSOMBCNN 模型比其他先进模型获得更好的平均预测准确度99.60%,远高于其他模型的预测结果。在本实验中,PSO-MBCNN 模型在90 个时期后基本收敛,比其他模型具有更高的平均准确率和更快的收敛速度。
表2 不同方法准确率比较
图10 不同方法结果比较
提出了基于小波分析的PSO-MBCNN 的智能故障诊断方法,可以有效用于诊断风力发电机组变速箱的复合故障。鉴于所提方法在小样本数据情况下的有效性,可以考虑将其应用于具有少量历史故障数据的风机的实际监测。这项工作的具体结论总结如下:
(1)对振动信号进行Morlet 小波变换,将一维故障信号转换成二维故障图片样本,得到的故障时频样本同时具备时域和频域特征,解决了故障模式较多时带来的相似性问题。
(2)在卷积神经网络加入多分支结构,在多个分支中选择损失量最小的最优分支,提高了特征的利用率和提高网络训练速度,也加快了网络收敛。
(3)相较于传统机器学习利用人为提取的特征进行训练和诊断,CNN 通过卷积核自动提取样本中的特征更为有效。而与一般CNN 相比,引入改进的粒子群算法,引入相似度S使得PSO 优化方法参数少、收敛速度快的特点,使得PSOMBCNN 模型对于特征的提取和利用能力更突出,诊断精度也更高,准确度高达99%以上。
(4)利用T-SNE 特征可视化方法,通过比较训练前后数据特征可视化和与其他先进方法进行训练后的预测精度比较,进一步证明了PSOMBCNN 模型的有效性。
本研究所提方法能够较好地应用于风机齿轮箱故障诊断中,对于风机齿轮箱的健康监测和及时诊断有着显著的作用。