一种基于VMD与胶囊网络的电机故障程度识别方法

文档序号:28681653发布日期:2022-01-29 06:32阅读:145来源:国知局
一种基于VMD与胶囊网络的电机故障程度识别方法
一种基于vmd与胶囊网络的电机故障程度识别方法
技术领域
1.本发明涉及一种异步电机故障程度识别的新方法,具体涉及一种基于变分模态分解(variational mode decomposition,vmd)与胶囊网络的电机故障程度识别方法。


背景技术:

2.三相异步电机结构简单、维护方便、可靠性高等特点被广泛应用到工业生产中。但由于电机的长期运行,电机中的一些部件会逐渐劣化,容易引起故障,电机的故障不仅可能会对整个电机本身造成伤害,而且会造成整个系统的不稳定,甚至会造成安全隐患。因此,如何有效地早期诊断电机是否存在故障并防止故障扩大,保证设备安全稳定运行十分必要且具有重要意义,作为各行业机械设备中广泛采用的动力元件,异步电动机的工作状况直接影响着机械设备的正常工作或生产过程的正常运行,对电动机进行合理适当的维护、故障处理及维修是提高电动机的利用率、工作可靠性、最大限度地发挥电动机动力性。


技术实现要素:

3.本发明的目的是为了解决传统异步电机故障分析存在鲁棒性较差,错误识别率较高等问题,提出了基于vmd与胶囊网络的电机故障程度识别方法。本文主要针对异步电机中不同程度故障进行研究。首先采集异步发电机的正常数据和不同程度故障数据,利用变分模态分解对数据进行预处理,建立胶囊网络模型,利用训练样本对其进行训练,使其能对测试数据进行故障程度识别。
4.创新点:采用先进的胶囊神经网络结合变分模态分解建立神经网络模型,以及采用最新提出的radam优化器对损失函数进行优化,该方法鲁棒性好,准确率高,收敛速度快。
5.为实现上述的目的,本发明采用如下技术方案:
6.一种基于vmd与胶囊网络的电机故障程度识别方法。它包括数据预处理模块、变分模态分解、胶囊神经网络。其中,数据预处理是将采集到的原始电流信号数据归一化处理,消除数量级的影响,变分模态分解是为了进行去噪处理,胶囊网络模型用于判断电机故障程度,该模型用自编码器对网络进行重构,选择边缘损失作为模型的优化目标。
7.本发明主要利用如下技术:
8.1.变分模态分解
9.变分模态分解是一种新的信号分解估计方法,其整体框架是变分问题,使得每个模态的估计带宽之和最小,其中假设每个模态是具有不同中心频率的有限带宽,为解决这一变分问题,采用了交替方向乘子法,不断更新各模态及其中心频率,逐步将各模态解调到相应的基频带,最终各个模态及相应的中心频率被一同提取出来。能有效避免模态混叠、过包络、欠包络、边界效应等问题,具有较好的复杂数据分解精度及较好的抗噪声干扰等优点。
10.vmd的分解过程是变分问题的求解过程,该算法可分为变分问题的构造和求解,其中涉及了3个重要概念:经典维纳滤波、希尔伯特变换和频率混合。
11.调频信号公式如下:
[0012][0013]
中心频率公式如下:
[0014][0015]
拉格朗日乘数公式如下:
[0016][0017]
停止条件公式如下:
[0018][0019]
式中ak为分解后的单分量调幅调频信号;wk为每个单分量调幅调频信号的中心频率;λ为拉格朗日乘数;m为迭代次数,一般设置为3最有效;δ为判别精度,k为分解后的固有模态函数(intrinsic mode function,imf)分量个数,α为惩罚参数,r为保真个数。k与α对分解效果影响最大,k过大或者过小会导致过分解和欠分解,α主要影响的是带宽,因此选择合适的值非常重要。
[0020]
2.胶囊网络
[0021]
胶囊网络(capsnet)。为了解决卷积神经网络(convolutional neural network,cnn)的不足,hinton提出了一种对于图像处理更加有效的网络——胶囊网络,其综合了cnn的优点的同时,考虑了cnn缺失的相对位置、角度等其他信息,从而使得识别效果有所提升。cnn中每个神经元的输出是标量,而capsnet中每个神经元的输出是向量。胶囊网络将cnn特征图谱重塑为向量,并应用了一个动态路由算法。它的最后一层经过一个掩膜,选取了最大向量后,使用一种混合了边缘损失和重建损失的损失来训练整个模型。
[0022]
capsnet由两部分组成:编码器和解码器。前3层是编码器,后3层是解码器。第一层为卷积层,第二层为主胶囊(primarycaps)层,第三层为数字胶囊(digitcaps)层,后3层都是全连接层。
[0023]
与在cnn中为每个层添加squashing函数不同,在胶囊网络中是向神经层的嵌套集合添加squashing函数。因此,squashing函数会应用到每个胶囊的向量输出上。非线性激活函数公式如下:
[0024][0025]
该函数会挤压胶囊的输出向量的长度。如果向量较小,就将其挤压为0,如果向量较长,就将其限制为1。
[0026]
主胶囊层通过动态算法得到数字胶囊层,数字胶囊层向量的模长大小就是预测结
果。动态路由算法中c
ij
是b
ij
通过softmax函数得到,c
ij
为低层胶囊对高层胶囊的耦合系数,公式如下:
[0027][0028]
权重更新公式如下:
[0029]bij
=b
ij
+f
ji
·
vjꢀꢀ
(7)
[0030]fji
相当于单个胶囊的个人预测,vj是所有胶囊共同作用的结果,所以向量积的大小代表了该胶囊对最终结果的一致程度,也就是耦合程度,如果向量积为负,耦合程度应该变小,如果向量积为正,耦合程度应该变大。
[0031]
仿射变换公式如下:
[0032]fji
=w
ij
·fi
ꢀꢀ
(8)
[0033]fji
是每个低层胶囊i对高层胶囊j的预测向量,乘上对应的耦合系数,进行加权求和得到sj,加权求和公式如下:
[0034]
sj=∑
icijfji
ꢀꢀ
(9)
[0035]
胶囊网络使用损失函数来对学习过程进行控制,对每个数字胶囊k,分别采用边缘损失(margin loss)作为模型优化的目标函数,公式如下:
[0036]
lossk=tkmax(0,a-||vk||)2+α(1-tk)max(0,||vk||-b)2ꢀꢀ
(10)
[0037]
a=0.9,为上边缘阈值,用于惩罚假阳性,为k类存在但是预测不存在,导致损失函数很大;b=0.1,为下边缘阈值,用于惩罚假阴性,为k类不存在但是预测存在,也会导致损失函数很大;α为稀疏系数,用于调整比重。tk为关于分类的函数,仅当k存在时为1,不存在时则为0。
[0038]
3.radam优化器
[0039]
由于在model训练的早期,缺乏足够多的训练样本,会导致刚开始的几个样本对model的参数造成较大的影响,从而导致自适应式学习率产生较大的方差波动,进而导致model训练时陷入局部最优解。因此采用radam优化器对最终损失进行优化,使其不断减小。
[0040]
radam算法输入有:步长η
t
;衰减率{β1,β2},用于计算移动平均值(simplemoving average,sma)和它的二阶矩。输出为θ
t

[0041]
radam优化器具体公式如下:
[0042][0043]
如果ρ

大于4,那么,计算移动量二阶矩的修正值和方差修正范围:
[0044][0045]
如果ρ

小于4,则使用非自适应动量更新参数:
[0046]
θ
t
=θ
t-1-α
tmt
ꢀꢀ
(13)
[0047]mt
,v
t
分别为移动量的一阶矩和二阶矩,g
t
为梯度,ρ
t
为移动平均值。
附图说明
[0048]
图1胶囊网络结构图
[0049]
图2一种基于vmd与胶囊网络的电机故障程度识别方法流程图。
具体实施方式
[0050]
下面结合附图及利用各种技术对本发明做一个详细的说明。
[0051]
图2中描述了整个电动机故障程度识别方法实现流程,其流程如下。
[0052]
步骤1:数据采集。采集三相定子电流瞬时信号,利用3只电流钳直接钳在定子绕组的三相接线端,测取定子瞬时电流信号,然后通过ni采集卡采集定子电流数据。按故障可能产生的后果的严重程度将故障分为四个等级:安全状态、临界状态、危险状态、破坏性状态。采集电机在不同程度故障下的电流数据,并将数据存为csv文件,并对不同故障程度添加标签。每种故障程度下选取5组,每组10000个采样点,包含10个周期,截取其中的6个周期作为实验的总样本。将数据集按照6:4的比例划分为训练集和测试集。
[0053]
步骤2:信号预处理。对信号进行归一化处理,消除数量级的影响。将归一化的信号由子序列划分,使用变分模态分解算法对子序列进行处理,生成若干限带本征模式序列,并构造多维限带本征模态函数矩阵,每个限带本征模态函数作为矩阵的一个行向量。vmd方法具体分解过程如下:1)初始化ak、wk、λ和m=0;
[0054]
2)m=m+1,进入循环;3)根据ak和wk的更新公式进行更新,直到分解个数达到k时停止内循环。4)根据λ的更新公式更新λ;5)给定精度δ,若满足停止条件,迭代停止,整个循环结束,输出k个窄带imf分量。
[0055]
步骤3:建立胶囊神经网络,利用预处理后的数据集对胶囊神经网络进行训练。
[0056]
步骤301:构建胶囊神经网络,设置迭代次数,计算预测向量,应用一个转换矩阵w
ij
将输入fi通过公式f
ji
=w
ij
·fi
转换为预测向量;
[0057]
步骤302:通过动态路由算法实现从主胶囊层到数字胶囊层,具体过程为:初始化b
ij
=0,通过softmax函数计算出c
ij
,根据公式sj=∑
icijfji
预测向量加权求和,更新权重,再对胶囊的输出向量进行挤压,保持方向不变,将模长压缩到[0,1]区域内,在迭代次数内循环上述计算;
[0058]
步骤303:采用radam优化器对最终损失进行优化。首先将移动量的一阶矩和二阶矩初始化为0,计算出简单移动平均值的最大长度ρ

=2/(1-β2)-1,然后依据(式10)计算出:第t步时的梯度g
t
,移动量的二阶矩,移动量的一阶矩,移动偏差的修正和sma的最大值,
再根据sma的最大值是否大于4进行相应的计算,以上步骤都完成后,得出t步骤后的参数θ
t

[0059]
步骤304:采用自编码器进行重构,目的是对胶囊网络的数据表征方式以及实例化参数进行验证。通过最小化重构图片与输入图片之间的方差来实现,为一个三层的全连接层结构,然后在输出层加sigmoid激活函数的结构。
[0060]
步骤4:故障程度诊断。将带预测故障数据使用归一化以及变分模态分解进行数据预处理,输入搭建好的胶囊神经网络进行故障程度诊断,通过判断胶囊向量最大的模长对应的索引值,判断出电机故障程度。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1