基于CLPSO-IDBN的风电机组轴承故障诊断*

2023-10-21 08:43:30谢东东沈艳霞
组合机床与自动化加工技术 2023年10期
关键词:故障诊断神经元粒子

谢东东,沈艳霞

(江南大学物联网工程学院,无锡 214122)

0 引言

由于能源需求的日益增长,化石燃料的消耗与碳排放总量的上升。风力发电及其相关技术越来越多地受到了国内外的关注。但是风电设备所安装的区域总是环境恶劣,作为整个风电机组的核心设备,齿轮箱中的核心组件滚动轴承对整个系统的运作效率影响巨大,一旦发生故障,会导致整个系统的长时间停机。而其故障特征微弱、提取困难,因此研究风电机组滚动轴承的故障诊断方法具有重要的实际意义[1]。

故障检测和诊断方法主要分为3大类:基于模型、基于知识推理和基于数据驱动[2]。传统方法如机器学习等由于表达能力单一,泛用性差,等缺点,在进行数据驱动类型的故障诊断时表现平平,已经无法适应新工业“大数据”特性的需求。

深度学习由于其强大的学习能力,能够通过分析大量的数据来发现数据之间的联系,从大量的非标签数据中自动提取相应的特征表达分类,非常适用于解决故障诊断的难题[3]。深度置信网络(deep belief networks,DBN)作为深度学习的一种新兴方法,能够更好地表征振动信号和故障状态之间的映射关系,减少了传统方法的不确定性,适合复杂数据下多故障位置、多损伤程度的轴承故障诊断需求。

GOU等[4]将DBN采用主/从属模式进行训练提出了一种并行计算优化故障诊断方法;GOU等[5]提出了一种基于双稀疏字典和DBN的滚动轴承故障诊断方法;唐刚等[6]提出了一种基于优化VMD和深度置信网络的滚动轴承故障诊断方法;韩欣宏等[7]提出了一种基于改进EEMD-AR和DBN的风机轴承故障诊断方法;XING等[8]提出了一种新工况下机器智能故障诊断的分布不变式DBN;李益兵等[9]提出了基于深度置信网络与信息融合的齿轮故障诊断方法,有效提高了故障识别精度。目前基于DBN的故障诊断技术已经初见成效[10-14],但仍存在过拟合,最优参数难以确定、训练时间长等问题,随着日益复杂工况的发展,这些问题的影响也会愈加严重,因此急需提出对应方法加以解决。

本文提出一种综合型学习粒子群算法[14]与改进DBN结合的故障诊断模型。该模型在DBN内部设置迭代误差阈值优化策略,限制训练的迭代次数,在保证模型得到充分训练的同时大大减少训练时间,同时缓解了DBN因过度训练而导致的过拟合问题。利用CLPSO对IDBN网络的参数进行寻优,确定网络的最优结构。以美国凯斯西储大学的滚动轴承平台数据作为仿真输入,验证所提出方法的有效性。

1 深度置信网络设计

1.1 深度置信网络

DBN是一个有多个隐含层的神经网络,一般由多个受限玻尔兹曼(restricted boltzmann machine,RBM)[16]堆叠而成。RBM是一种随机生成的神经网络结构,其本质上是由一层可见神经元v和一层隐含神经元h组成的模型。它只有隐含层和可见层神经元之间的连接,而可见层神经元和隐含层神经元之间没有连接。此外,隐含层神经元通常采用二元分布,并服从伯努利分布。如1图所示的模型由2个RBM堆叠而成,通过权值连接每一层,每一层的神经元之间没有相互连接的部分。

(a) 2层RBM的DBN结构 (b) n个可见神经元和隐藏神经元的RBM图1 DBN结构模型

代表输入数据的可见层v1将数据输入到隐含层h1,由此组成第一块的RBM。随后输入数据经过激活函数映射到隐含层h1之后,h1又作为第2个RBM层的可见层,依次逐层传递的数据在高层得到比低层更抽象和更具有表征能力的特征表示,这就是DBN的逐层贪婪学习策略[18]。

令θ={a,b,w},a为可见层的偏置值和b隐含层的偏置值,w为可见层与隐含层中间的权值矩阵。RBM中具体能量函数如式(1)所示:

(1)

当参数一定时,两个层之间也会出现一种既定的状态量,用(v,h)表示,结合式(1)的能量函数,针对此状态,可以得到一个联合概率分布,如式(2)所示:

(2)

计算隐含层h状态,可通过式(3)得到:

(3)

从而获得可见层第i个神经元被激活的概率。

可见层状态v下,在隐含层的第j个神经元被激活概率如式(4)所示。

(4)

式中:Relu(x)表示激活函数。

(5)

1.2 DBN网络的初始化

DBN的模型训练主要分为基于RBM的无监督预训练和有监督的反向优化微调两个阶段:

第一阶段是无监督预训练,前向叠加的RBM将按顺序进行训练,训练过程中较为优秀的参数将保留下来,作为下一阶段的的初始值

第二阶段是DBN的反向优化微调,从无监督学习训练之后的模型的最后一层开始,通过带标签样本里的数据进行误差对比,来反向调整模型参数。

第一阶段的学习较为单一。每次进行的都是某一层RBM的独立训练,而第二阶段的反向微调过程则需要根据数据特点选择合适的方法。本文中采用了有监督的自适应时刻估计法(adaptive moment estimation,Adam)[19],利用梯度的一阶矩估计和二阶矩估计,灵活地调整每个参数自适应不同学习速率,从而使得在反向微调时参数可以在一个较为平稳的区间内变化,每一次迭代学习率都有可选的波动范围。

1.3 基于误差阈值的迭代优化策略

针对传统DBN模型训练时间过长,以及因过训练而导致的过拟合现象,本文提出一种基于误差阈值的迭代优化策略,通过提前停止迭代训练防止过拟合[20],并减少训练时间。根据文献[15]研究,隐含层偏差b在RBM训练收敛中起关键作用,有如下关系:

(6)

该式由Lipschitz连续(详见文献[21])导出。其中,{ak,b,Wk}分别表示可见层的偏置值、隐含层的偏置值和权值。

当累积迭代误差与隐含层的偏置值b之间的关系满足式(7)时,可以获得最优的模型训练结果。

(7)

基于误差阈值的迭代优化策略的主要实现步骤可以描述为:

步骤1:RBM预训练前的参数设置:根据经验值设置迭代次数的初始值i和迭代次数的最大值T,以确保模型在T个周期后是最优的。

步骤2:启动RBM预训练。根据式(8)获得单个训练迭代误差。在其中的v1、v2、b分别表示隐含层1,2的输入数据,以及各隐含层偏置。

(8)

步骤3:根据式(7)判断是否满足要求。如果结果为真,则认为模型训练是最优的,并停止迭代。否则,根据新的迭代误差继续迭代,其中ε的迭代按以下公式实现:

(9)

如果未满足,则继续重复步骤2。

当ε满足式(7)时,模型停止迭代,这不仅保证了模型训练的充分性,而且大大缩短了训练时间。同时,最大训练次数T的设置也达到了自适应效果。通过加入这种优化策略,构建了改进的DBN模型,即IDBN。

在整个网络模型建立的过程中,两个参数的设定至关重要,①各个隐含层的神经元数量、②学习率η,前者关系到整个模型对于数据样本中特征提取的能力,后者关系到整个网络收敛的效率。

因此需要引入外部优化算法来快速确定所需的最优参数。本文中采用了CLPSO对IDBN进行优化。

2 基于CLPSO的IDBN参数优化算法

2.1 综合粒子群算法CLPSO

粒子群优化算法(particle swarm optimization,PSO),是一种启发式算法[17]。该算法目前广泛应用于深度学习相关网络的训练,与一些系统控制等领域。基本的PSO算法中,粒子的多样性不足,容易早熟,易导致获得的最终结果为局部最优解。为缓解此问题,本文选择了全局性更优的综合学习粒子群算法CLPSO。

CLPSO是一种改进后的粒子群算法,算法的核心思想如下:向D维空间中随机散布粒子,粒子的每个维度在每次的迭代更新中,不只向榜样粒子学习,而是向自身的历史最佳位置pbest,和随机挑选的其他粒子的pbest的对应维度学习。其中的原理是充分挖掘其他粒子的潜力,任何粒子都存在值得被其他粒子所学习的可能性。

(10)

Vi(n+1)=α*Vin+r1c1*(pbestin-xin)

(11)

(12)

Xi(n+1)=Xin+Vin

(13)

2.2 CLPSO优化IDBN参数算法

前文已经提到在IDBN网络模型建立的过程中,两个参数的设定至关重要,即各个隐含层的神经元数量与学习率η,这两类参数的调节需要大量的实验与专家经验,因此,通过引入CLPSO算法对其进行寻优。

粒子的3个维度,分别对应IDBN中第一第二隐含层中的神经元数量,与IDBN学习率,每个粒子都会在给定范围内随机选择配给参数值,并在初始化后的IDBN模型中进行迭代训练。将每次训练完毕后具有最优适应度的结果纳入到历史数据中,并继续按照优化策略更新与训练,直至适应度满足要求或达到最大迭代次数的终止条件。伪代码如表1所示。

表1 伪代码

3 基于CLPSO-IDBN的优化算法故障诊断流程

将CLPSO优化后的IDBN模型用于风电滚动轴承的故障诊断。其具体流程图如图2所示。

图2 基于CLPSO-IDBN的故障诊断流程流程图

步骤1:数据预处理。对原始数据样本预处理,充分保证原始特征的保留,使用归一化处理,如式(14)所示。随后采用主成分分析法(principal component analysis,PCA)进行降维,使得原始的高维信号可供IDBN模型训练时的顺利使用。

(14)

步骤2:划分数据集。将数据集随机划分为两个连续的集合S和T,S为训练集包括120个训练样本与30个验证样本,T为测试集包括10个测试样本。

步骤3:IDBN初始化。将数据样本输入IDBN进行初始化,并选择是否启用IDBN内部的误差阈值迭代优化策略。

步骤4:CLPSO优化IDBN。通过CLPSO进行粒子初始化并在IDBN中进行迭代训练,通过式(10)~式(13)不断更新新一轮粒子的速度与位置。直到满足结束条件,粒子的适应度达到设定值,或者迭代次数达到所设置的最大次数Max,CLPSO的优化过程结束。

步骤5:验证结果。利用训练之后的参数代入IDBN模型,以优化后的IDBN模型验证训练集,测试集数据,得到故障诊断结果。

4 实验验证

本文采用了来自于某大学滚动轴承数据库的轴承数据。该实验平台在轴承上总共设置了3种类型的单点故障。类型分别为:内圈故障、滚动体故障、外圈故障。采样频率为12 kHz,转速包括1797 r/min、1772 r/min、1750 r/min、1730 r/min。

分别以0.007、0.014、0.021 in为标准,设置3种故障类型的的点蚀直径。将最后获得的轴承信号数据集进行预处理后随机分段,保存为时序图,并分别对应4种标签:正常信号(Normal)、内圈故障信号(Inner)、滚动体故障信号(Roller)、外圈信号(Outer)。同时,为了更加精确的实验,再将故障类型细分为轻度、中度、重度,细分后每个标签的样本量为150,每个样本包含3000个采样点具体的故障类型和数目如表2所示。

表2 轴承故障描述以及样本分布

图3为对应的各种状态下的滚动轴承振动信号时域波形图,不同类型的故障状态下的信号可以看出有所不同,正常状态下的波形变化较为平缓,一旦滚动轴承出现某些故障,波形就会开始出现不同程度的起伏,并且有的故障类型在轻度故障的时候,波形极其接近于正常状态,难以区分。

图3 滚动轴承振动信号时域波形图

仿真实验所使用的设备具体配置为:64位Intel i5-5200U处理器,主频2.2 GHz、内存16 GB的个人计算机。实验的具体设置为:对2层隐含层的IDBN,每层分别有m1、m2个神经元,学习率η∈[0,1)。对粒子群进行编码时,设置CLPSO中每个粒子为三维向量D(m1,m2,η)。种群数量为K,一般取值范围为10~30,本文中为15。最大迭代次数Max设置为40。

在经过CLPSO寻优之后所得到的最优IDBN模型参数如表3所示。

表3 CLPSO-IDBN算法参数

本文将实验分为两部分,第一部分,只采用CLPSO优化传统DBN模型并其他算法对比来验证通过CLPSO算法优化过后模型故障诊断准确率的提高;第二部分则综合CLPSO与迭代误差阈值优化策略构建完整的CLPSO-IDBN模型,并与其他算法对比,验证准确率的提高与训练时间的缩短。

本文总共设置了5种典型算法,通过对照组进行对比实验,使用的原始数据相同,并进行了适合的预处理。具体算法与参数设置如下:

(1)支持向量机SVM。核函数选择RBF(radial basis function)函数,根据经验设置惩罚系数C=50,Gamma函数半径g=0.015,停止训练误差精度设为0.001。

(2)BP神经网络。采用根据经验设置的3层网络结构440-100-10,学习率为0.8。

(3)DBN。以逐级递减的策略设置网络结构,每层的神经元数量设置为400-325-250-10,学习率设置为0.8。

(4)PSO-DBN。通过传统PSO算法优化,得到其状态下的最优参数,DBN的网络结构为440-133-182-10,学习率为0.7855。DBN训练中的批处理步长batchsize设置为44。

(5)CLPSO-DBN。通过改进的CLPSO算法优化,得到最优参数,DBN的网络结构为440-195-581-10,学习率为0.09。DBN训练中的批处理步长batchsize设置为44。

表4为按照如上参数进行了5次随机样本数据实验后所获得的结果。

表4 训练集数据算法对比分析

结论1:准确率显著地提高。由表4可见,传统算法如BP、SVM的正确率不超过91%。CLPSO-DBN的正确率达到96.82%,在测试集上也达到了96.14%。未经优化的DBN虽然训练集的准确率较高,达到了95.57%,但和测试集的结果差距较大,说明出现了过拟合的问题。而CLPSO与PSO的优化结果对比中,CLPSO的效果更优于PSO,说明在多次的随机实验中,出现PSO陷入了局部最优解的情况,在这一方面更注重全局性的CLPSO就获得了更佳的结果。

上述实验的进行是没有启用在IDBN内部设置的基于误差阈值的迭代优化策略时的效果,为了验证该优化策略策略的合理性,以相同的实验对照组数据,进行了相同情况下,在IDBN内部启用该优化策略后的实验。其实验结果如表5所示。

表5 训练集数据算法对比分析

结论2:加入阈值函数的模型效率更高。对于传统的DBN模型本身而言,阈值函数对减少训练时间的效果显著,并且对于加入PSO或CLPSO优化的IDBN模型,其对于减少训练时间的效果更加明显。并且从各组的训练与测试准确率来看,通过阈值函数提前结束迭代训练的组别,在过拟合问题方面也得到了缓解,因此在准确度方面也有较小的提升。并且使得测试结果更接近训练结果,使得训练出的模型具备更强的泛用性。因此具有更好的实际应用效果。图4是最终优化时的CLPSO的粒子迭代时的适应度变化曲线。

图4 CLPSO的适应度变化曲线

为了直观具体地表示CLPSO-DBN 网络对各种工况下的轴承的分类正确率,本文使用了混淆矩阵,如图5所示。其中横轴所表示的是实际的故障类别,纵轴所表示的是所预测的故障类别,对角线的数值表示的是每一次分类的正确率,其他不同位置为该对应类别分类的错误率。

图5 故障分类混淆矩阵

如图5所示,对于滚球中度的错误率较高,到了30%,说明这种故障类型比较容易与正常波形的特征相混淆,对于其余的故障类型,均达到了100%的预测准确率,并且总体而言整个测试集的平均准确率达到了97.00%,说明该优化后的模型具有良好的分类效果。且在其他大部分工况下比其他传统浅层网络具有更好的故障诊断效果,受到内部过拟合等问题的影响更小。

5 结论

针对DBN算法用于轴承故障诊断时,对于DBN的网络结构层的参数设置,需要大量经验以及时间等问题,本文提出了基于CLPSO优化的IDBN算法,粒子群自动对参数寻优结合模型内部的迭代误差阈值优化策略提前终止训练。通过这种方法,在不依赖专家经验的前提下,做到自动设置IDBN模型内部隐含层的神经元最优数目,以及学习率,在保证模型得到充分迭代训练的同时,相比与单纯增加优化算法的传统模型,大大减少了训练时间。将该算法与SVM、BP神经网络、DBN、PSO-DBN等方法进行对比分析,结果表明,该基于CLPSO优化的IDBN算法具有更高的准确率以及更少的训练时间。

猜你喜欢
故障诊断神经元粒子
《从光子到神经元》书评
自然杂志(2021年6期)2021-12-23 08:24:46
基于粒子群优化的桥式起重机模糊PID控制
测控技术(2018年10期)2018-11-25 09:35:54
跃动的神经元——波兰Brain Embassy联合办公
现代装饰(2018年5期)2018-05-26 09:09:01
基于粒子群优化极点配置的空燃比输出反馈控制
因果图定性分析法及其在故障诊断中的应用
基于二次型单神经元PID的MPPT控制
电源技术(2015年5期)2015-08-22 11:18:38
毫米波导引头预定回路改进单神经元控制
基于LCD和排列熵的滚动轴承故障诊断
基于WPD-HHT的滚动轴承故障诊断
机械与电子(2014年1期)2014-02-28 02:07:31
高速泵的故障诊断
河南科技(2014年3期)2014-02-27 14:05:48