一种基于二值深层神经网络的电机群故障诊断方法与流程

文档序号:15934027发布日期:2018-11-14 02:05阅读:148来源:国知局

本发明属于工业故障诊断技术领域,涉及一种大规模电机群的故障诊断方法,尤其是指一种运用二值深层神经网络训练故障诊断模型,并将该模型部署在边缘计算设备上对大规模电机群进行实时故障诊断的方法。

背景技术

大多电机设备组成结构复杂,工作环境与工况复杂多变,零、部件之间紧密耦合、相互影响,其故障存在多样性、隐蔽性、不确定性和因果关系复杂性等特点。当前数据驱动的故障诊断技术迅速发展,可以充分利用故障样本数据,结合与故障数据相匹配的数据挖掘和人工智能方法,挖掘出数据中各种复杂的非线性关系和潜在的关联关系。传统的智能诊断方法在电机故障诊断的诸多性能方面均存在明显缺点,而深层神经网络具有非常强大的非线性表征能力,所以近些年被广泛应用于电机故障诊断领域。

随着工业物联网和云计算等技术的迅速发展,当前针对大规模电机群的高精度故障诊断模式约分为两种:第一种模式是将已训练好的基于深层神经网络的电机故障诊断模型部署在云平台上,同时对电机设备进行实时数据采样,并将数据上传到云平台进行数据分析,得出诊断结果。在此模式下,需要上传大量的数据到云端,包括结构化数据、半结构化数据和非结构化数据,同时上传大量的数据容易造成i/o传输瓶颈并引起诊断时延,从而导致不能对电机组进行实时诊断。第二种模式是针对第一种模式的缺点而提出的改进的部署方案,将已训练好的基于深层神经网络的电机故障诊断模型部署在边缘端,而不是直接上传至云端,因此不需要短时间内将大量采集和监测到的数据通过网络进行传输,而直接在本地边缘计算设备上进行分析处理。但该模式同样存在缺点:由于深层神经网络模型复杂,运行该模型对计算设备和存储设备要求较高,大规模部署成本巨大。



技术实现要素:

本发明的目的是为了克服已有技术的缺陷,为了解决大规模电机群故障诊断问题,提出一种基于二值深层神经网络的电机群故障诊断的方法。通过利用电机故障历史数据,训练基于二值深层神经网络的电机故障诊断模型,并将其部署在边缘计算设备上,以期降低实时数据i/o传输负载和缘计算设备的大规模部署边成本,同时拥有很高的诊断准确率。

本发明方法是通过下述技术方案实现的:

一种基于二值深层神经网络的电机群故障诊断方法,流程图如图1所示,其基本实施过程如下:

步骤一:对电机故障数据进行预处理。利用z-score标准化(zero-meannormalization)方法进行数据归一化,同时,对故障类别进行one-hot编码。

步骤二:根据步骤一得到的已预处理的电机故障数据,利用主成分分析方法对电机故障数据进行降维分析,求得电机故障数据降维投影矩阵。用该矩阵对电机故障数据进行降维,结合降维所得数据和步骤一中得到的对应故障类别编码作为电机故障训练数据。

步骤三:根据步骤二得到的电机故障训练数据,设计基于二值深层神经网络的电机故障诊断模型结构,使用误差二值反向传播算法和随机梯度最速下降法对二值深层神经网络进行训练,寻找电机故障诊断模型结构的最优参数,建立基于二值深层神经网络的电机故障诊断模型。

3.1:设计基于二值深层神经网络的电机故障诊断模型结构。

具体地,电机故障诊断模型结构包括输入层、隐含层和输出层。其中所述输入层根据电机故障训练数据设计,其大小必须与输入数据大小相同,输入数据为一维向量数据、二维灰度图或三维彩色图;所述隐含层需设置隐含层数目和对应的神经元数目;所述输出层大小与故障类别数目相同,设置为softmax分类层。

3.2:设置训练二值深层神经网络的超参数。所述超参数包括批训练大小、初始学习率、最终学习率、学习率衰减因子、迭代次数、正则化参数、代价函数选择、激活函数选择和网络连接权值初始化方法选择。

3.3:训练二值深层神经网络,寻找电机故障诊断模型结构的最优参数。具体方法如下:使用步骤二所得电机故障训练数据,根据步骤3.2设置的超参数,利用误差二值反向传播算法和随机梯度下降算法,对二值深层神经网络进行训练,寻找电机故障诊断模型结构的最优参数,包括网络连接权值和偏置的最优参数值,建立基于二值深层神经网络的电机故障诊断模型。

在训练过程中,所有网络连接权值和神经元激活值均以二值形式存储,但二者的梯度值用实值进行存储并进行累加处理,求得各层权重对应的梯度实值和神经元激活值对应的残差,然后利用随机梯度下降算法对权重值进行更新,以此不断进行迭代,直到损失函数值不再下降,最终寻得最优参数。

步骤四:将步骤三获得的电机故障诊断模型部署在各个边缘计算设备上。边缘计算设备根据实时采集和监测的电机运行状态数据(包括结构化数据、半结构化数据和非结构化数据),利用电机故障诊断模型进行分析处理,从而获得电机群故障诊断结果。

有益效果

本发明将基于二值深层神经网络的电机故障诊断模型部署在边缘计算端,而非直接部署在云上的方法。对比已有技术,能够在保证具有和全精度深层神经网络模型相媲美的诊断准确率的前提下,避免了故障实时诊断过程所需的大量数据传输,同时在边缘端使用二值深层神经网络代替全精度深层神经网络,将大量的数学运算变成了位操作,节省了大量的数据存储空间和前向传播时间,间接地降低了大规模部署边缘设备的成本,达到了精度高、诊断快和部署成本低的效果。该方法具有一定的通用性,可将其拓展到各种大规模工业设备群的故障诊断问题中去。

附图说明

图1为本发明基于二值深层神经网络的电机群故障诊断方法流程图;

图2为本发明实施方式,即在边缘端部署基于二值深层神经网络的的电机组故障诊断图;

图3为本发明实施方式诊断准确率对比结果图;

图4为本发明实施方式诊断过程数据对比结果图;

图5为本发明实施方式运行时间大小对比结果图。

具体实施方式

下面结合附图对本发明方法的实施方式做详细说明。

本发明方法是通过下述技术方案实现的:

一种基于二值深层神经网络的电机群故障诊断方法,其实施过程如下:

步骤一:对电机故障数据进行预处理,在利用z-score标准化(zero-meannormalization)方法进行数据归一化的同时,对故障类别进行one-hot编码。

首先,因为z-score标准化方法适用于属性数据的最大值和最小值未知,或有超出取值范围的离群数据的情况,所以利用z-score标准化方法对原始故障数据进行列标准化。对于每一列电机故障数据,标准化函数为:x*=(x-μ)/σ。该方法采用原始数据的均值和标准差进行数据标准化,其中,m表示故障样本个数,xi表示第i个样本对应的值。经过处理的数据符合标准正态分布,即均值为0、标准差为1。

然后,对故障类别进行one-hot编码。one-hot编码采用n位状态寄存器来对n个状态进行编码,每个状态都有它独立的寄存器位,并且在任何时候只有一位有效。

步骤二:根据步骤一得到的已预处理的电机故障数据,利用主成分分析方法对电机故障数据进行降维,求得电机故障数据降维投影矩阵,用该矩阵实现电机故障数据降维,结合降维所得数据和步骤一中得到的对应故障类别编码作为电机故障训练数据。

2.1:先用主成分分析方法对电机故障历史数据进行降维处理,记原数据为xn×p,降维处理后的数据为zn×m,n为故障数据样本个数,原始数据维度为p,降维后的数据维度为m,其中m<p。

2.2:计算相关系数矩阵r及其元素rij值的公式如下:

其中xij表示原数据矩阵中第i行、第j列的元素值,表示第j列数据平均值。

2.3:计算特征值与特征向量

求解特征方程|λi-r|=0,用雅可比法(jacobi)求出特征值,并使其按大小顺序排列λ1≥λ2≥…≥λp≥0,其中λi表示第i个特征值;分别求出对应于特征值λi的特征向量ei(i=1,2,…,p),要求||ei||=1,即其中eij表示向量ei的第j个分量。

2.4:计算主成分贡献率及累计贡献率

贡献率:

累计贡献率:

通常情况下取累计贡献率85%-95%的特征值,λ1,λ2…λm所对应的第1、第2、…、第m(其中m≤p)个主成分。

2.5:计算主成分载荷,求出各个主成分与降维后的数据矩阵z。

主成分载荷

投影矩阵w=(e1,e2,...,em),

降维后的数据矩阵z=wtx。

步骤三:根据步骤二得到的电机故障训练数据,设计基于二值深层神经网络的电机故障诊断模型结构,使用误差二值反向传播算法和随机梯度最速下降法对二值深层神经网络进行训练,寻找电机故障诊断模型结构的最优参数,建立基于二值深层神经网络的电机故障诊断模型。

3.1:设计基于二值深层神经网络的电机故障诊断模型结构。

具体地说,电机故障诊断模型结构包括输入层、隐含层和输出层。其中所述输入层根据电机故障训练数据设计,其大小必须与输入数据大小相同,输入数据可为一维向量数据、二维灰度图或三维彩色图;所述隐含层需设置隐含层数目和对应的神经元数目;所述输出层大小与故障类别数目相同,设置为softmax分类层。

3.2:设置训练二值深层神经网络的超参数。所述超参数包括批训练大小、初始学习率、最终学习率、学习率衰减因子、迭代次数、正则化参数、代价函数选择、激活函数选择和网络连接权值初始化方法选择。

3.3:训练二值深层神经网络,寻找电机故障诊断模型结构的最优参数。具体方法如下:使用步骤二所得电机故障训练数据,根据步骤3.2设置的超参数,利用误差二值反向传播算法和随机梯度下降算法,对二值深层神经网络进行训练,寻找电机故障诊断模型结构的最优参数,包括网络连接权值和偏置的最优参数值,建立基于二值深层神经网络的电机故障诊断模型。

在误差二值反向传播算法中,对二值化方式sign函数进行松弛化:对于其中r表示连接权值和神经元激活值的实值,q表示r的二值化结果。反向传播中,当已知q的梯度对r求梯度时,sign函数松弛为:gr=gq1|r|≤1,即当r的绝对值小于等于1时,r的梯度等于q的梯度;否则r的梯度为0,其中gr表示r的梯度,gq表示q的梯度,1|r|≤1为指代函数。当满足|r|≤1时1|r|≤1为1,否则为0。

在训练过程中,所有网络连接权值和神经元激活值均以二值形式存储,但二者的梯度值用实值进行存储,并分别进行累加处理,以求得各层权重对应的梯度实值和神经元激活值对应的残差;然后利用随机梯度下降算法对权重值进行更新。以此不断进行迭代,直到损失函数值不再下降,最终寻得最优参数。

步骤四:将步骤三获得的电机故障诊断模型部署在各个边缘计算设备上。边缘计算设备将实时采集和监测到的电机故障数据(包括结构化数据、半结构化数据和非结构化数据),利用电机故障诊断模型进行分析处理,从而获得电机群故障诊断结果。

自此,就实现了基于二值深层神经网络的电机群故障诊断方法,该方法可有效降低实时数据传输负载和大规模边缘计算设备的部署成本,同时拥有很高的诊断准确率。部署示意图如图2所示。

实施例

本发明利用提出的方法和主流深层神经网络与传统机器学习方法对某种型号的电机进行故障诊断实验验证,表1显示了部分属性数据,该数据由四种故障类型组成,每种类型包括850个训练样本,120个测试样本。

表1部分故障属性数据

首先,对数据进行列标准化,将所有数据归约到[-1,1],再根据故障类型对输出数据进行one-hot编码。例如,当前共有五类故障数据,则第一类故障的one-hot编码为[1,0,0,0],第三类故障的one-hot编码为[0,0,1,0]。

其次,利用主成分分析方法对原97维故障数据进行降维,取累计贡献率85%的特征值,将数据维度降至56维。

然后,设计基于二值深层神经网络的电机故障诊断模型结构,网络层数为4层,从输入到输出层的神经元数目分别为56-100-80-4。输出层为softmax分类层。接着,进行超参数设置,包括批训练大小20、初始学习率0.01、最终学习率0.0001、学习率衰减因子、迭代次数1000、正则化参数0.1、代价函数选择为交叉熵损失函数、激活函数选择为sigmoid函数以及网络连接权值初始化选择xavier初始化方法。在训练过程中,所有网络连接权值和神经元激活值均以二值形式存储,但二者的梯度值用实值进行存储,并分别进行累加处理,以求得各层权重对应的梯度实值和神经元激活值对应的误差,然后利用随机梯度下降算法对权重值进行更新。以此不断进行迭代,直到损失函数值不再下降,最终寻得最优参数。

最后,验证在边缘计算设备上部署得到的基于二值深层神经网络的电机故障诊断模型,从准确率、过程数据大小和运行时间三个角度,与其它方法进行对比,实验结果分别如图3、图4和图5所示。

实验结果如图3-5所示,图3显示了包括本发明所提方法、传统机器学习方法和深层神经网络方法在内的四种方法。实验结果表明,本发明所提方法的诊断准确率远远高于基于传统机器学习的诊断方法,其准确率可以和当前领先的、基于深层神经网络的诊断模型相媲美。但图4和图5显示,本发明所提的基于二值深层神经网络的大规模电机群故障诊断方法,在运行过程中产生的过程数据所占内存和运行时间非常小,远远小于现有基于深层神经网络的诊断方法。也就是说,该诊断模型的运行对计算存储设备的要求非常低,从而间接降低了大规模边缘计算设备的部署成本。

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