一种基于循环神经网络的智能故障诊断方法与流程

文档序号:16210823发布日期:2018-12-08 07:43阅读:1211来源:国知局
一种基于循环神经网络的智能故障诊断方法与流程

本发明涉及旋转机械振动信号的处理技术领域,尤其是一种基于循环神经网络的智能故障诊断方法。

背景技术

故障诊断方法主要关注系统的运行状态,能够及时发现故障并指导维修,对于提高系统可靠性有重要作用。一般情况下,当旋转部件出现故障时都会伴随振动形式的变化,产生瞬时振动脉冲,因此振动信号携带了重要的诊断信息,是设备状态识别的重要依据。机械设备通常需要在复杂的环境中工作,有着强烈的背景噪声,所以现场获取的机械振动信号通常是有着背景噪声的多分量、非平稳信号。因此,从复杂的机械振动信号中提取故障特征,从而对故障模式相近的机械振动信号进行诊断分类就变得非常困难。现代状态监测系统采集信号能力飞跃式的提升使得故障诊断进入大数据时代,这导致了传统的故障诊断方法的缺陷被放大。因此,现代机械故障诊断需要新的信号处理方法。

近年来,深度学习技术发展迅猛,在图像、语音等很多传统的识别任务上表现出了极高识别准确率,彰显了其在数据处理上的巨大潜力。深度学习技术能够从数据中自动学习提取信号特征用于分类,是取代传统人工信号处理技术的优秀选择。深度学习技术在故障诊断领域已有大量研究及应用,包括玻尔兹曼机、深度置信网络(deepbeliefnetwork,dbn)、自动编码器、卷积神经网络(convolutionalneuralnetworks,cnn)、稀疏滤波(sparsefiltering,sf)等。但是目前智能诊断算法仍存在如下两个问题(1)需要大量的训练数据,当输入的信号序列长度不足以致信息的存储量有限时,这些方法往往难以保持足够高的精确度,导致诊断结果比较片面。(2)需要对训练数据进行预处理,导致了人工工作量大,影响诊断效率。这些问题限制了诊断方法的灵活性。



技术实现要素:

发明目的:为克服上述现有方法的缺陷,本发明的目的在于提供一种基于循环神经网络的智能故障诊断方法,在门控循环单元循环神经网络的基础上引入dropout训练技术,加强模型对于小尺寸信号的识别能力。

技术方案:

一种基于循环神经网络的智能故障诊断方法,包括如下步骤:

(1)利用加速度传感器获取旋转机械在不同健康状态下工作的时序振动信号,将获得的原始振动信号分成两个不重叠的部分,分别作为训练集与测试集;

(2)建立循环神经网络:所述循环神经网络的模型选用门控循环单元,模型以振动信号xt为输入,模型向前传播公式为:

zt=σ(wzxt+uzht-1+bz)(1)

rt=σ(wtxt+utht-1+br)(2)

式中,xt是当前t时刻输入数据,ht-1为前一个时刻t-1输出的隐藏单元信息,zt是更新门输出,rt是重置门输出,是候选隐藏状态,ht是隐藏状态,σ为sigmoid激活函数,tanh是双曲正切激活函数,w、u均为神经网络权重矩阵,b为偏置,“●”表示哈达马乘积,即两个矩阵对应元素的乘积;

采用softmax函数对循环神经网络的输出进行分类,每个循环单元的目标函数为:

式中,l为目标函数、k为健康状况种类的维数、l(i)为健康状态标签、为隐藏层输出、e表示自然常数,1{·}表示按照条件输出0或者1的指示函数;最终目标函数为所有单层目标函数的综合,为:

式中m为样本数、t为时间步数;

(3)将步骤(1)获取的带有健康状态标签的时序振动信号训练集依次分段输入到步骤(2)建立的循环神经网络中进行训练,对比分类结果与原信号健康标签的差异对网络参数进行微调,包括网络的输入,以得到训练好的循环神经网络;

(4)将步骤(1)获取的带有健康状态标签的时序振动信号测试集输入到步骤(3)训练好的循环神经网络中进行健康状态的诊断分类,根据分类结果判断网络是否达到预期诊断目标,若准确度低于期望值,则重复步骤(3)直到获得准确度高于期望值的循环神经网络;所述期望值为95%;

(5)通过所述步骤(4)得到的循环神经网络进行智能故障诊断。

所述步骤(1)中的时序振动信号包括系统在正常状态、磨损、断齿及断齿和磨损的复合故障状态下的振动信号。

所述步骤(3)的循环神经网络训练过程中在循环神经网络隐藏层的输入输出中引入dropout技术:

在隐藏层中,对每个时刻隐藏单元的输入与输出以设定好的比例p置零,使得每次计算均由强制性安排的随机挑选出来的神经元共同工作。

有益效果:

1、本发明利用门控循环单元循环神经网络对于序列信息的建模能力,直接处理原始时序振动信号,可以充分利用较少的信息来精确地诊断旋转机械故障,并有很高的识别速度。

2、本发明在循环神经网络训练过程中引入dropout技术来防止过拟合,增强了模型的泛化能力。

附图说明

图1是本发明的方法流程图。

图2是循环神经网络模型图。

图3是不同大小训练样本识别精度对比图。

具体实施方式

下面结合附图对本发明作更进一步的说明。

图1是本发明基于循环神经网络的智能故障诊断方法的流程图,如图1所示,该方法包括如下步骤:

(1)利用加速度传感器获取旋转机械在不同健康状态下工作的时序振动信号:通过发动机—转子试验台获取振动信号数据,试验采用电机—齿轮箱—负载的形式工作。齿轮箱选用一级行星齿轮箱,含3个行星轮、1个太阳轮和1个固定内齿圈。采用加速度传感器采集试验中竖直方向的振动加速度作为试验处理信号。试验主要采集行星轮在正常、齿面磨损、断齿、断齿和磨损的复合故障4种状态下的振动信号。试验设置采样频率为fs=12.8khz。将获得原始振动信号分成两个不重叠的部分,分别作为训练集与测试集。随机抽取样本大小分别为600、800、1000和1200的数据集各400组。

(2)建立循环神经网络:循环神经网络的模型选用门控循环单元,网络模型包括输入层、隐藏循环层、输出层三层神经网络。针对该数据集设置输入层维数和隐藏层维数分别为20、100。

参照图2,第一层为输入层,读取分段的训练数据并拓展到更高的维度后输入到下一层隐藏层。隐藏循环层的门控循环单元包括两个控制门,重置门和更新门,用于学习信号的内在故障特征,输出层利用隐藏循环层得到的故障特性对输入信号进行分类。模型以振动信号xt为输入,向前传播的过程按如下公式计算:

zt=σ(wzxt+uzht-1+bz)(1)

rt=σ(wtxt+utht-1+br)(2)

式中xt是当前t时刻输入数据,ht-1为前一个时刻t-1输出的隐藏单元信息,zt是更新门输出,rt是重置门输出,是候选隐藏状态,ht是隐藏状态,σ为sigmoid激活函数,tanh是双曲正切激活函数,w、u均为神经网络权重矩阵,b为偏置,“●”表示哈达马乘积,即两个矩阵对应元素的乘积。

最后一层为输出层,用于诊断健康状况,即分类层。输出层接受隐藏层的最终输出,目标函数采用softmax函数。

每个循环单元的目标函数公式为:

式中,l为目标函数、k为健康状况种类的维数、l(i)为健康状态标签、为隐藏层输出、e表示自然常数,1{·}表示按照条件输出0或者1的指示函数。最终目标函数为所有单层目标函数的综合,为:

式中m为样本数、t为时间步数;

(3)网络训练:将带有健康状态标签的时序振动信号集依此分段输入到循环神经网络中进行训练,首先将振动信号输入输入层进行维度拓展,其次将重构后的数据输入循环层来提取不同健康状态的故障特征,最后将提取的故障特性输入输出层进行分类,对比分类结果与原信号健康标签的差异对网络参数进行微调,以得到训练好的循环神经网络;所述微调即调整训练好之后的循环神经网络参数,观察结果,直至调整到某一个值后诊断准确度不再上升,属于按经验调整。所述微调的调整参数包括输入数据的维度,输入层隐藏维度及迭代次数等。

利用采集好的训练样本集对建立的循环神经网络模型进行训练。训练过程中在循环神经网络隐藏层的输入输出中引入dropout技术,来防止过拟合。即在隐藏层中,对每个时刻隐藏单元的输入与输出以设定好的比例p置零,使得每次计算均由强制性安排的随机挑选出来的神经元共同工作,以达到弱化神经元节点之间的联合适应性,增强泛化能力,解决过拟合问题。在本发明中,每个时刻隐藏单元的输入与输出以设定好的比例p=0.5。

(4)验证方法的测试精度,将振动信号输入训练好的循环神经网络中进行健康状态的诊断分类,根据分类结果判断网络是否达到预期诊断目标,若准确度低于期望值,重复步骤3直到获得足够高准确率的神经网络。

(5)测试:采用之前准备的测试样本来验证提出方法的有效性,并将本方法与系数滤波(sf)、lstm网络对比。每组实验进行10次,取平均值以确保普遍性。准确率对比如图3所示,可见本方法有着最高的识别精度。说明本方法能在提供较少信息时保持特征学习的能力。

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1