CN114722923A - 一种轻量型的机电设备故障诊断方法 - Google Patents
一种轻量型的机电设备故障诊断方法 Download PDFInfo
- Publication number
- CN114722923A CN114722923A CN202210284584.4A CN202210284584A CN114722923A CN 114722923 A CN114722923 A CN 114722923A CN 202210284584 A CN202210284584 A CN 202210284584A CN 114722923 A CN114722923 A CN 114722923A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- fault diagnosis
- training
- pruning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003745 diagnosis Methods 0.000 title claims abstract description 110
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012549 training Methods 0.000 claims abstract description 60
- 238000013138 pruning Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000011002 quantification Methods 0.000 claims abstract description 12
- 238000002054 transplantation Methods 0.000 claims abstract description 8
- 238000003062 neural network model Methods 0.000 claims abstract description 6
- 238000007781 pre-processing Methods 0.000 claims abstract description 6
- 239000011159 matrix material Substances 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 22
- 230000009467 reduction Effects 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 22
- 238000013528 artificial neural network Methods 0.000 claims description 19
- 238000012360 testing method Methods 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000013139 quantization Methods 0.000 claims description 12
- 238000002474 experimental method Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000007667 floating Methods 0.000 claims description 8
- 238000012952 Resampling Methods 0.000 claims description 7
- 230000001186 cumulative effect Effects 0.000 claims description 6
- 238000000513 principal component analysis Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000011425 standardization method Methods 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000003786 synthesis reaction Methods 0.000 claims 1
- 238000010801 machine learning Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241001124320 Leonis Species 0.000 description 1
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000004580 weight loss Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
本发明公开了一种轻量型的机电设备故障诊断方法,涉及故障诊断领域。该方法主要分为模型的预训练、模型的轻量化和模型的移植部署三部分。模型的预训练和模型的轻量化过程在PC上完成,模型预训练包括对原始数据的采集、数据的预处理、特征选择及三维化、LSTM‑BP网络的参数设置以及预训练模型的建立;模型的轻量化包括网络模型的剪枝和参数的量化;模型的移植部署在嵌入式MCU上完成,将轻量化后的模型移植至MCU后,使用MCU部署在机电设备旁并实时采集设备的状态数据,得到诊断结果。该方法通过将两种神经网络模型进行融合,提高了针对通用的机电设备的故障诊断的准确率和实时性。
Description
技术领域
本发明涉及故障诊断领域,更具体的涉及基于轻量型的机电设备故障诊断应用领域。
现有技术
机器学习方法在对机电设备进行状态监测和故障诊断时,诊断的准确率已经明显优于传统的统计诊断方法。如果能将机器学习模型移植在嵌入式设备上、部署在机电设备前端,能够有效提高诊断的实时性和故障响应速度,减少设备故障带来的损失,具有重要的工程意义和应用价值。
通过对目前的文献检索发现,在嵌入式设备上实现机器学习方法的研究仍处于初级阶段,现有技术大多仅将嵌入式设备用于数据采集以及简单数据处理,机器学习部分仍在PC端完成。仅有少部分直接将机器学习模型移植在嵌入式设备上,并且集中于嵌入式微处理器(Microprocessor Unit,MPU),几乎没有基于嵌入式微控制器(MicrocontrollerUnit,MCU)的机器学习模型移植研究。如Qian等人在《Edge Computing:A PromisingFramework for Real-Time Fault Diagnosis and Dynamic Control ofRotatingMachines Using Multi-Sensor Data》中使用嵌入式设备采集并融合多源传感器数据,上传至PC进行大数据分析和人工智能诊断;华中科技大学的聂丹颖等人在《基于云边协同计算的设备故障诊断系统研究》中使用基于Linux的嵌入式MPU实现了基于贝叶斯的智能故障诊断,未在嵌入式MCU上完成机器学习模型的移植;Crocioni G等人在《Li-Ion BatteriesParameter Estimation With Tiny Neural Networks Embedded on Intelligent IoTMicrocontrollers》中在PC机上设计并训练了神经网络模型并将模型移植到STM32 MCU上进行故障诊断,但是其数据采集、存储和处理部分在PC上完成,没有实现实时的故障诊断,难以应用于实际工程中。
嵌入式MCU相比于嵌入式MPU,有着更高的集成度、更小的体积、更低的成本,能够与各类工业设备紧密耦合。因此,将机器学习部署在MCU上,能够进一步提高设备监测和故障诊断的实时性和准确性。此外,由于嵌入式MCU的应用已经深入工业、农业、国防及日常生活等各个领域,将机器学习模型部署在MCU上,使其具有智能数据处理能力,将促进各行各业的产业变革,极大加速自动化进程,提高生产效率。然而目前缺少基于MCU的实时故障诊断的研究,机器学习模型难以移植于MCU,工程上存在实时故障诊断模型对硬件计算资源需求高的问题。因此,亟待一种轻量型的实时故障诊断模型的发明来解决存在的问题。
发明的目的
针对现有的问题,本发明提出一种基于轻量型的智能故障诊断方法。使用基于长短期记忆网络(Long Short Term Memory,LSTM)和BP(Back Propagation)神经网络级联的模型结构和方法对机电设备进行故障诊断。针对工业设备数据普遍存在的不平衡问题,使用合成少数类过采样技术(Synthetic Minority Oversampling Technique,SMOTE)生成小样本数据,并结合代价敏感函数调整不同故障类型的权重。基于网格搜索法优化模型参数,提高故障诊断准确率,得到故障诊断模型。为了将模型移植于各类嵌入式MCU,使用基于阈值搜索的剪枝算法减少模型的参数数量,降低模型的复杂度;使用参数量化方法降低模型的参数精度,压缩模型的体积,提高模型的运行速度,得到轻量化后的故障诊断模型,最终实现基于轻量型机电设备故障诊断。
发明的内容
本发明的总体数据流程框架如图1所示,主要分为模型的预训练、模型的轻量化和模型的移植部署三部分。模型的预训练和模型的轻量化过程在PC上完成,模型预训练包括对原始数据的采集、数据的预处理、特征选择及三维化、LSTM-BP网络的参数设置以及预训练模型的建立;模型的轻量化包括网络模型的剪枝和参数的量化;模型的移植部署在嵌入式MCU上完成,将轻量化后的模型移植至MCU后,使用MCU部署在机电设备旁并实时采集设备的状态数据,得到诊断结果。
步骤1:采集原始工业设备的数据
根据实际应用场景和具体情况,通过传感器采集目标工业设备的数据,得到原始工业设备的数据集。原始数据集通常具有数据量大、时序性强、数据不平衡以及存在缺失值的特点。需求进行进一步的处理才能用于故障诊断。
步骤2:对原始数据进行数据预处理
(1)清洗原始数据
在进行原始数据的采集时,由于环境干扰、传感器异常或传输不连续等因素会导致采集的数据出现个别数据的缺失或明显的异常。对于该类数据需要进行填补或修正,减少对诊断结果的影响。由于工业设备的数据在时间上是连续的,前后的数据值具有很强的相关性,为了尽可能还原数据原本的状态,本发明采取邻近值填充法对缺失或异常值进行处理,即使用缺失或异常值前后的数据的平均数对该值进行替换。
(2)划分清洗后的数据集
将原始数据集随机划分为训练集、验证集和测试集三部分:训练集用于进行模型的训练;验证集用于对训练得到的模型进行性能的测试,调整模型的参数和验证模型的泛化能力,以确定是否停止或继续训练;测试集用于评估模型最终的性能,测试集的验证结果不能作为模型特征选择和参数调整等的依据。通常训练集和验证集占原始数据集的80%~90%,每次训练及验证时采用交叉验证法对训练集和验证集进行划分,测试集占原始数据集的10%~20%。
通过划分数据集,由原始数据集得到故障诊断数据集,其中故障诊断数据集分为训练集、验证集和测试集。
(3)重采样训练集的数据
工业机电设备数据往往存在各类故障样本数据量差距明显:正常运行数据往往较多,而某些故障数据较少,即存在数据不平衡的问题。数据不平衡现象会导致故障诊断的准确率下降。因此,需对针对原始数据进行重采样,调整不同故障类型的数据的比例。
数据重采样分为欠采样和过采样。欠采样通过将数据集中的数据量较大的类别进行随机移除,达到平衡数据集的目的。过采样指随机复制小样本的数据,提高小样本数据的比例。但是过采样方法复制的样本与原样本相同,没有引入新的观察值,并不是一个解决数据缺乏的有效方案,同时由于大量重复样本的存在,可能会导致过拟合问题。因此,本发明针对过采样产生大量重复数据的问题,用合成少数类过采样技术(Synthetic MinorityOversampling Technique,SMOTE)产生新的数据。该算法产生新样本的原理如图2所示,对于样本集中的每一个少数类样本数据xi,计算它与其他所有少数类样本的欧氏距离,得到k近邻,然后选择xi与近邻连线上任意一点作为产生的新样本。
(4)使用代价敏感函数来平衡训练集的数据
代价敏感学习区别于传统分类以降低全局误分率为目标,通过引入代价敏感因子,将不同分类错误赋予不同的权重的损失,以分类错误总代价最低为优化目标。针对存在的不平衡问题,通过对小样本的故障类型赋予较大的权重,样本数据较多的故障类型赋予较小的权重,达到平衡数据的目的。
步骤3:降维数据集的特征并将特征三维化
(1)特征的降维
本发明设计的LSTM-BP网络模型的LSTM网络测能够从时序角度上直接分析原始信号的信息,自动实现特征提取功能;此外,LSTM网络的运算量较大、运算时间较长,如果对原始数据进行特征提取会降低故障诊断的实时性。综合考虑,本发明在使用LSTM-BP网络模型对机电设备进行故障诊断时不再额外提取特征,只进行特征的降维。
为了降低模型在嵌入式设备运行时占用的内存空间,减少嵌入式设备需要处理的运算量,使用主成分分析(Principal Component Analysis,PCA)法进行特征降维,降低输入数据的维度。
首先通过公式(1)计算原始训练集数据的协方差矩阵W:
其中x为训练集样本构成的矩阵,m为训练集样本的个数。然后计算矩阵W的特征值λi及对应的特征向量ξi,将特征向量ξi按对应特征值λi的大小从上到下按行排成矩阵,得到矩阵P。其中前r个特征的累计贡献度ηr为:
一般选取累计贡献度ηr≥95%的前r个主元作为降维后的特征,对应矩阵P的前r行得到Pr,通过公式(3)计算得到降维后的特征数据:
t=Prx (3)
在进行特征降维后,为了消除不同传感器量纲对故障诊断的影响,本发明使用Z-score标准化方法对特征数据矩阵t中每一个特征向量进行处理,消除量纲间的差异,计算公式为:
公式(4)中yi为特征向量的第i个特征值,ymean为特征向量特征值的平均值,ystd为特征向量特征值的标准差,Yi为标准化后的特征值。
(2)特征的三维化
LSTM网络的输入数据格式与传统神经网络的二维矩阵不同,其格式是在样本个数、时间序列长度和特征数量三个维度上形成的三维矩阵,具体如图3所示。
为了将原始的二维信号转化为LSTM输入数据格式的三维矩阵,需要进行滑动窗口处理:首先选取一个与时间序列相同长度的窗口在原始信号上框定,并将窗口内的数据作为三维样本的一列保存;然后将该窗口向后滑动一个时刻,将窗口内新的数据作为三维样本的第二列;通过重复以上过程最终完成了整个三维数据的转化,如图4所示。通过这种方法,在原本信号的基础上增加了时间维度的关联信息,提高故障诊断准确率。
步骤4:设置LSTM网络的参数
对于LSTM网络模型,需要设置的参数包括时间序列的长度l,LSTM的隐藏层数n,每个隐藏层对应的单元数pn,单次迭代的样本集的大小Batch Size以及迭代次数epoch。基于经验和试探实验设置l=10,n=2,使用网格搜索法对其他的参数进行寻优,算法流程如图5所示。
步骤5:预训练故障诊断模型
对于机电作动器设备的故障诊断问题,由于采集的传感器数据在时间维度上是连续的,因此在故障分类时结合前后时刻的设备运行状态,从时间序列的角度建立故障诊断模型,分析设备运行状态的动态变化信息,能够更有效地诊断故障类型,达到更高的识别准确率。基于LSTM能够从时间维度上进行数据分析的特性,将LSTM网络与BP神经网络进行结合,构建LSTM-BP的网络模型结构,将该模型用于机电作动器的故障诊断,设计的网络模型结构如图6所示。
将训练集数据使用步骤3中的重采样、特征降维以及三维化处理后,输入LSTM网络的隐藏层,并将隐藏层的输出作为BP神经网络模型的输入数据,经过BP神经网络后输出层输出故障类型对应的矩阵。在计算误差函数时,使用代价敏感函数调整不同故障类型的权重。之后进行反向传播过程,如此完成LSTM-BP网络模型的一次迭代过程,得到一次训练后的故障诊断模型。然后使用验证集对该模型的性能进行测试,并给予步骤4的网格搜索法对模型进行不断的优化调整,最终得到一个最优的故障诊断模型,作为得到的预训练模型。
步骤6:轻量化预训练的模型
为了提高故障诊断的准确率,本发明设计的LSTM-BP网络模型的模型结构和参数规模十分庞大,难以直接移植部署于嵌入式MCU。因此,需要对预训练得到的模型进行轻量化处理,压缩模型的体积,使嵌入式MCU能够运行轻量化的模型。模型的轻量化过程分为模型剪枝和参数量化两个步骤。
(1)模型剪枝
在训练神经网络时,为了保证模型分类结果的准确性,通常会导致神经网络模型存在一定程度上的参数冗余。因此,可以通过减少网络层中的神经元个数来减少模型的体积,得到更紧凑的模型结构。剪枝算法的关键是如何评判神经元的重要性,以决定将哪些神经元的参数置为0。本发明设计了一种基于阈值搜索的剪枝算法对神经网络进行裁剪。
首先定义模型准确率下降阈值η0,当剪枝后模型准确率下降超过该值则不再进行剪枝。设网络模型的所有权重参数值为W={w1,w2,…,wn},第i次测试时的剪枝阈值为xi,该阈值下的剪枝的权重参数掩码为T={t1,t2,…,tn},其中
则剪枝的目标公式为:
min∑||T||,s.t.|A(W)-A(W⊙T)|<η0 (6)
公式(6)中A(·)表示神经网络的诊断准确率,则A(W)表示原始神经网络的准确率,A(W⊙T)表示剪枝后神经网络的准确率,因此该式表示在保证模型准确率下降值不超过设定阈值η0的限制条件下,使非零的权重参数最小化。根据网络权重绝对值的最大值wmax和绝对值最小值wmin以及设定的间隔数N,计算阈值间隔值n0:
因此可以得到剪枝阈值:
进行剪枝实验时,i由小到大进行测试,若实验时准确率下降在阈值η0范围内,则会继续实验;当以xi+1为阈值进行剪枝时,准确率下降恰好超过η0,则停止实验,以xi作为最佳剪枝阈值得到剪枝后的模型。具体算法流程如图7所示。
(2)参数量化
剪枝算法是从减少模型参数的数量的角度进行模型体积大小的压缩,参数量化方法则是从降低参数精度的角度来减少模型运行过程的计算量。神经网络的模型参数中存在大量32位的浮点数数据,当这些浮点数进行乘法运算时,将占用大量计算资源和存储空间。因此,可以将原始的32位浮点量化为定点数,实现模型的轻量化。
进行模型参数量化时,以神经网络的每一层为单位,分别进行参数量化。设待量化网络层的参数为xi,其中最大值为xmax,最小值为xmin。根据设定的量化比特数q可以计算量化级别n,计算方法为:
n=2q-1 (9)
因此,量化后的参数范围为[0,n],并且可以计算量化的尺度:
则量化后的整型xint可以通过式(3-19)和式(3-20)计算:
xint=clamp(0,n,round((xi-xmin)/Δ) (11)
公式(11)中round函数为取整函数,将对应的浮点数转化为邻近的整数值。
通过对步骤5的预训练模型进行模型剪枝和参数量化,得到轻量型的故障诊断模型。
步骤7:移植轻量化的模型并实现实时的故障诊断
将步骤6得到的轻量型故障诊断模型在STM32单片机上进行移植,具体方法流程如下:
(1)移植模型大小评估。对轻量型故障诊断模型所占用的硬件资源进行评估,记录模型所占用的Flash和RAM大小;
(2)目标硬件资源评估。查询目标移植嵌入式MCU的Flash和RAM,根据实际工程经验,嵌入式设备的硬件资源最好超过模型所需资源的20%。基于此,对目标设备资源是否满足模型移植条件进行评判;
(3)模型参数装订。故障诊断模型在PC上保存的文件格式为HDF5文件,其中存储着模型的权重参数。单片机无法直接读取HDF5文件,因此提取其中的网络权重参数并装订为为C语言编写的头文件格式,如图8所示;
(4)模型算法调用。基于C语言进行编程,加载重写的模型文件并调用其中的模型权重参数,进行故障诊断运算;
(5)实时故障诊断。将编程得到的嵌入式MCU部署在机电设备旁,实时采集设备的传感器数据并得到故障诊断结果。
1、发明的效果
本发明基于嵌入式MCU完成了实时机电设备故障诊断系统的开发,提出了一种轻量型的机电设备故障诊断模型,通过将两种神经网络模型进行融合,提高了针对通用的机电设备的故障诊断的准确率和实时性。
发明相比于以往的机电设备故障诊断发明,使用合成少数类过采样技术增加工业机电设备的小样本数据,并结合代价敏感函数调整不同故障的权重,解决工业机电设备普遍存在的不平衡问题,以此优化后续模型的预训练过程、提高故障诊断准确率。在完成故障诊断的模型预训练后,本发明提出了一种基于阈值搜索的剪枝算法和参数量化方法,实现模型体积和运算量的减少,得到轻量型的故障诊断模型。因此,相比于以往发明只能在电脑端或微处理器上实现的故障诊断方法,本发明能够将故障诊断模型创新性地部署在体积和硬件资源极小的嵌入式微控制器上,在不损失诊断准确率的同时,大大提高了故障诊断的实时性,具有极高的实际工程意义。
2、附图及附图的简要说明
图1是本发明的数据流程框架图。
图2是SMOTE算法原理图。
图3是LSTM网络的三维输入数据格式。
图4是滑动窗口处理示意图。
图5是网格搜索法流程图。
图6是设计的LSTM-BP网络模型结构。
图7是基于阈值搜索的剪枝算法流程图。
图8是模型参数装订图。
图9是PCA降维的帕累托图。
图10是诊断准确率与epoch的关系图。
图11是间隔数与剪枝次数的关系图。
图12是STM32单片机程序流程图。
图13是上位机软件界面。
图14是实时故障诊断显示界面。
3、案例验证
本发明的效果通过NASA机电作动器数据集进行展示与验证。
1.NASA机电作动器数据集的介绍和数据预处理
NASA机电作动器数据集,是通过人为注入特定故障类型,并采集传感器数据得到的高维不平衡数据集。该数据集数据量较大,维度为17维,故障数据类型分为四种:正常、丝杠通道阻塞、丝杠通道剥落以及电机绕组短路故障。其中正常类型数据量较大,短路故障数据量较少,属于典型的不平衡数据集。原始数据样本信息如表1所示。
表1原始样本集详细信息
(1)数据清洗及数据集划分
采用邻近填充法对原始数据集进行数据清洗,并将清洗后的数据集划分为训练集、验证集和测试集三部分,具体划分如表2所示。
表2实验数据集划分
(2)数据重采样和代价敏感函数学习
通过对得到的数据集进行随机欠采样和SMOTE过采样,新样本集信息如表3所示。
表3重采样后的样本集详细信息
经过重采样后,阻塞、剥落和短路故障相对于正常样本的比例仍较小,因此设置代价敏感函数,提高模型在诊断时的敏感程度和在损失函数所占的比重。根据经验设置三类故障的代价函数如表4所示。
表4三类故障代价函数表
2.特征降维和三维化
对经过预处理的17维数据集进行基于主成分分析的特征降维,降维后的前10个主元贡献度的帕累托图如图9所示。可以发现在第六个主元附近,主元累计贡献度达到了95%。基于累计贡献度超过95%的原则,选择前六个传感器作为降维后的特征,进行后续案例验证。具体传感器及特征如表5所示。
表5不同传感器的贡献度及累计贡献度
对降维后的数据进行标准化以及三维化处理,获得三维矩阵的样本数据。
3.参数设置与模型的建立
将得到的三维矩阵样本数据作为训练样本进行LSTM-BP网络的训练,基于网格搜索法进行参数设置。在案例验证过程中,发现在逐渐增大网络模型参数p1,p2过程中,故障诊断的准确率不断提高,在p1=64,p2=32时,准确率达到了99.98%。而Batch Size对机电作动器数据的诊断准确率影响不大,主要影响模型训练的速度,因此Batch Size可以选择为32,此时模型训练时间为51秒。迭代次数epoch对诊断准确率的影响如图10所示,可以发现epoch=7时故障诊断准确率最高为99.98%,随后开始小幅度下降,但是始终保持在99.8%以上。因此,LSTM-BP网络参数设置如表6所示,以此建立预训练模型。
表6 LSTM-BP网络参数设置
最终建立的预训练故障诊断模型性能如表7所示
表7两种故障诊断模型的性能对比
4.模型轻量化
(1)模型剪枝
对预训练模型进行基于阈值搜索的剪枝操作。图11为不同间隔数和剪枝次数的关系,可以发现剪枝的次数随着间隔数的增大不断上升。这是由于间隔数的增加,间隔值相应越小,剪枝时阈值搜索更加细化,得到最终剪枝阈值的次数也会增加。但是当间隔数增加到一定程度后,剪枝的次数并不会继续上升,说明已经确定了最优的剪枝阈值。因此,最终设置剪枝间隔数为20。
(2)参数量化
对模型的LSTM层进行参数量化的模拟测试时,发现将32位浮点数量化为8位整数,导致故障诊断的准确率下降10.5%,其原因可能在于LSTM网络对参数有更高的精度要求,8位整型相比于32位浮点数损失信息较多。因此,将LSTM的网络参数量化为16位定点数,降低量化误差;而模型的BP网络层参数仍量化为8位整型。
预训练模型经过模型的剪枝和参数量化后,得到轻量型的故障诊断模型。
5.模型移植及下位机软件开发
本发明以STM32单片机为例进行模型的移植验证。基于C语言和Keil uVision5软件对STM32单片机进行编程和软件的开发,实现数据的采集、数据的预处理、故障诊断、结果的发送等功能。软件程序流程主要分为两个部分:主程序内完成单片机的初始化、诊断模型的预加载、串口数据的接收以及在单片机RGB屏上的数据显示等功能;串口接收到数据后的中断程序内完成数据的预处理、故障的诊断、基于LW-RTS通信协议的数据包的封装以及结果的发送过程。具体程序流程图如图12所示。
6.上位机软件的开发
为了显示实时故障诊断结果,本发明对上位机显示界面进行软件的开发。上位机界面通过PyQt5软件进行设计,基于Python编写实现相关功能。上位机软件实时接收下位机传输的设备传感器数据、故障诊断结果以及可视化显示波形图。
图13为实现的上位机软件界面,界面主要分为五个部分:界面控制区域用于控制监控过程的开始和界面的清空操作;故障诊断结果显示区域用于实时故障结果;页面切换区用于切换不同传感器的显示。
7.实时诊断结果验证
使用STM32单片机实时采集NASA机电作动器数据,经过故障诊断后将结果传输至上位机软件,上位机显示界面如图14所示。计算故障诊断准确率、故障覆盖率以及单组样本诊断数据,最终结果如表8所示。
表8实时故障诊断结果
通过案例验证,可以得到以下结论:
(1)本发明提出的LSTM-BP故障诊断模型有效提高了诊断准确率。针对工业设备数据存在的不平衡问题和时序性的特点,本发明提出了基于LSTM-BP网络级联诊断模型。通过SMOTE技术和代价敏感函数解决数据不平衡的问题,LSTM网络从时间维度上对信号进行分析诊断。最终有效提高了对于NASA机电作动器数据的故障诊断性能,诊断准确率高达99.98%;
(2)本发明设计的轻量型故障诊断方法有效降低了模型运行的硬件要求。资料表明,大部分PC机的主频在3GHz左右,在维持操作系统的同时,每秒能进行一亿次以上的浮点数运算;STM32单片机的极限主频一般为100MHz,极限情况下每秒也只能进行几万次浮点运算。PC机的计算能力超出单片机四个数量级。通过本发明设计的模型的轻量化算法,诊断模型在运算性能有限的单片机上的故障诊断准确率达到了接近PC的98%,证明设计的模型轻量化方法有效减小了模型的体积和运算量,降低了模型的运行要求,实现了在嵌入式MCU上移植运行,具有极高的实际意义和工程应用价值。
Claims (2)
1.一种轻量型的机电设备故障诊断方法,其特征在于,包括如下步骤:
步骤1:采集原始工业设备的数据;
步骤2:对原始数据进行预处理
(1)清洗原始数据;
采取邻近值填充法对缺失或异常值进行处理,即使用缺失或异常值前后的数据的平均数对该值进行替换;
(2)划分清洗后的数据集,得到故障诊断数据集;
将原始数据集随机划分为训练集、验证集和测试集三部分:训练集用于进行模型的训练;验证集用于对训练得到的模型进行性能的测试,调整模型的参数和验证模型的泛化能力,以确定是否停止或继续训练;测试集用于评估模型最终的性能;
训练集和验证集占原始数据集的80%~90%,每次训练及验证时采用交叉验证法对训练集和验证集进行划分,测试集占原始数据集的10%~20%;
通过划分数据集,由原始数据集得到故障诊断数据集,其中故障诊断数据集分为训练集、验证集和测试集;
(3)重采样训练集的数据
用合成少数类过采样技术产生新的数据;以原始数据中的训练集作为样本集,对于样本集中的每一个少数类样本数据xi,计算它与其他所有少数类样本的欧氏距离,得到k近邻,然后选择xi与近邻连线上任意一点作为产生的新样本;
(4)使用代价敏感函数来平衡训练集的数据
步骤3:降维数据集的特征并将特征三维化
(1)特征的降维
使用主成分分析(Principal Component Analysis,PCA)法进行特征降维,降低输入数据的维度:
首先通过公式(1)计算原始训练集数据的协方差矩阵W:
其中x为训练集样本构成的矩阵,m为训练集样本的个数。然后计算矩阵W的特征值λi及对应的特征向量ξi,将特征向量ξi按对应特征值λi的大小从上到下按行排成矩阵,得到矩阵P;其中前r个特征的累计贡献度ηr为:
一般累计贡献度ηr≥95%的前r个主元作为降维后的特征,对应矩阵P的前r行得到Pr,通过公式(3)计算得到降维后的特征数据t:
t=Prx (3)
在进行特征降维后,使用Z-score标准化方法对特征数据矩阵t中每一个特征向量进行处理,消除量纲间的差异,计算公式为:
公式(4)中yi为特征向量的第i个特征值,ymean为特征向量特征值的平均值,ystd为特征向量特征值的标准差,Yi为标准化后的特征值;
(2)特征的三维化
通过滑动窗口处理将原始的二维信号转化为LSTM输入数据格式的三维矩阵,具体过程如下:首先选取一个与时间序列相同长度的窗口在原始信号上框定,并将窗口内的数据作为三维样本的一列保存;然后将该窗口向后滑动一个时刻,将窗口内新的数据作为三维样本的第二列;通过重复以上过程最终完成了整个三维数据的转化;
步骤4:设置LSTM网络的参数
对于LSTM网络模型,需要设置的参数包括时间序列的长度l,LSTM的隐藏层数n,每个隐藏层对应的单元数pn,单次迭代的样本集的大小Batch Size以及迭代次数epoch;使用网格搜索法对其他的参数进行寻优;
步骤5:预训练故障诊断模型
将LSTM网络与BP神经网络进行结合,构建LSTM-BP的网络模型结构,将该模型用于机电作动器的故障诊断;
将训练集数据使用步骤3中的重采样、特征降维以及三维化处理后,输入LSTM网络的隐藏层,并将隐藏层的输出作为BP神经网络模型的输入数据,经过BP神经网络后输出层输出故障类型对应的矩阵;在计算误差函数时,使用代价敏感函数调整不同故障类型的权重;之后进行反向传播过程,如此完成LSTM-BP网络模型的一次迭代过程,得到一次训练后的故障诊断模型;然后使用验证集对该模型的性能进行测试,并给予步骤4的网格搜索法对模型进行不断的优化调整,最终得到一个最优的故障诊断模型,作为得到的预训练模型;
步骤6:轻量化预训练的模型
模型的轻量化过程分为模型剪枝和参数量化两个步骤;
(1)模型剪枝
基于阈值搜索的剪枝算法对神经网络进行裁剪的过程具体如下:
首先定义模型准确率下降阈值η0,当剪枝后模型准确率下降超过该值则不再进行剪枝;设网络模型的所有权重参数值为W={w1,w2,…,wn},第i次测试时的剪枝阈值为xi,该阈值下的剪枝的权重参数掩码为T={t1,t2,…,tn},其中
则剪枝的目标公式为:
min∑||T||,s.t.|A(W)-A(W⊙T)|<η0 (6)
公式(6)中A(·)表示神经网络的诊断准确率,则A(W)表示原始神经网络的准确率,A(W⊙T)表示剪枝后神经网络的准确率,因此该式表示在保证模型准确率下降值不超过设定阈值η0的限制条件下,使非零的权重参数最小化;根据网络权重绝对值的最大值wmax和绝对值最小值wmin以及设定的间隔数N,计算阈值间隔值n0:
得到剪枝阈值:
进行剪枝实验时,i由小到大进行测试,若实验时准确率下降在阈值η0范围内,则会继续实验;当以xi+1为阈值进行剪枝时,准确率下降恰好超过η0,则停止实验,以xi作为最佳剪枝阈值得到剪枝后的模型;
(2)参数量化
进行模型参数量化时,以神经网络的每一层为单位,分别进行参数量化;设待量化网络层的参数为xi,其中最大值为xmax,最小值为xmin;根据设定的量化比特数q可以计算量化级别n,计算方法为:
n=2q-1 (9)
因此,量化后的参数范围为[0,n],并且可以计算量化的尺度:
则量化后的整型xint可以通过式(3-19)和式(3-20)计算:
xint=clamp(0,n,round((xi-xmin)/Δ) (11)
公式(11)中round函数为取整函数,将对应的浮点数转化为邻近的整数值;
通过对步骤5的预训练模型进行模型剪枝和参数量化,得到轻量型的故障诊断模型;
步骤7:移植轻量化的模型并实现实时的故障诊断
将步骤6得到的轻量型故障诊断模型在STM32单片机上进行移植,具体方法流程如下:
(1)移植模型大小评估;对轻量型故障诊断模型所占用的硬件资源进行评估,记录模型所占用的Flash和RAM大小;
(2)目标硬件资源评估;查询目标移植嵌入式MCU的Flash和RAM,以嵌入式设备的硬件资源超过模型所需资源的20%为条件,对目标设备资源是否满足模型移植条件进行评判;
(3)模型参数装订;故障诊断模型在PC上保存的文件格式为HDF5文件,其中存储着模型的权重参数,提取其中的网络权重参数并装订为为C语言编写的头文件格式;
(4)模型算法调用;基于C语言进行编程,加载重写的模型文件并调用其中的模型权重参数,进行故障诊断运算;
(5)实时故障诊断;将编程得到的嵌入式MCU部署在机电设备旁,实时采集设备的传感器数据并得到故障诊断结果。
2.一种如权利要求1所述的轻量型机电设备故障诊断方法,其特征在于,所述步骤4中,设置时间序列的长度l,LSTM的隐藏层数n分别为:l=10,n=2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210284584.4A CN114722923B (zh) | 2022-03-22 | 2022-03-22 | 一种轻量型的机电设备故障诊断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210284584.4A CN114722923B (zh) | 2022-03-22 | 2022-03-22 | 一种轻量型的机电设备故障诊断方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114722923A true CN114722923A (zh) | 2022-07-08 |
CN114722923B CN114722923B (zh) | 2024-02-27 |
Family
ID=82240054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210284584.4A Active CN114722923B (zh) | 2022-03-22 | 2022-03-22 | 一种轻量型的机电设备故障诊断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722923B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115858635A (zh) * | 2023-02-27 | 2023-03-28 | 国网江西省电力有限公司电力科学研究院 | 一种基于自然语言处理的短路冲击自动诊断方法 |
CN115859092A (zh) * | 2022-12-01 | 2023-03-28 | 南京天洑软件有限公司 | 一种基于主成分分解的发电机绕组温度预警方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019090878A1 (zh) * | 2017-11-09 | 2019-05-16 | 合肥工业大学 | 基于向量值正则核函数逼近的模拟电路故障诊断方法 |
CN110909977A (zh) * | 2019-10-12 | 2020-03-24 | 郑州电力高等专科学校 | 基于adasyn-dhsd-et的电网故障诊断方法 |
US20200285900A1 (en) * | 2019-03-06 | 2020-09-10 | Wuhan University | Power electronic circuit fault diagnosis method based on optimizing deep belief network |
CN111860658A (zh) * | 2020-07-24 | 2020-10-30 | 华北电力大学(保定) | 一种基于代价敏感和集成学习的变压器故障诊断方法 |
CN113536658A (zh) * | 2021-05-21 | 2021-10-22 | 西北工业大学 | 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 |
-
2022
- 2022-03-22 CN CN202210284584.4A patent/CN114722923B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019090878A1 (zh) * | 2017-11-09 | 2019-05-16 | 合肥工业大学 | 基于向量值正则核函数逼近的模拟电路故障诊断方法 |
US20200285900A1 (en) * | 2019-03-06 | 2020-09-10 | Wuhan University | Power electronic circuit fault diagnosis method based on optimizing deep belief network |
CN110909977A (zh) * | 2019-10-12 | 2020-03-24 | 郑州电力高等专科学校 | 基于adasyn-dhsd-et的电网故障诊断方法 |
CN111860658A (zh) * | 2020-07-24 | 2020-10-30 | 华北电力大学(保定) | 一种基于代价敏感和集成学习的变压器故障诊断方法 |
CN113536658A (zh) * | 2021-05-21 | 2021-10-22 | 西北工业大学 | 基于stm32嵌入式处理器的机电设备轻量化故障诊断方法 |
Non-Patent Citations (2)
Title |
---|
姜齐艳;王鲁平;: "基于数据挖掘与神经网络的财务异常数据监测分析算法", 电子设计工程, no. 11, 5 June 2020 (2020-06-05) * |
师彦文;王宏杰;: "基于新型不纯度度量的代价敏感随机森林分类器", 计算机科学, no. 2, 15 November 2017 (2017-11-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115859092A (zh) * | 2022-12-01 | 2023-03-28 | 南京天洑软件有限公司 | 一种基于主成分分解的发电机绕组温度预警方法及装置 |
CN115859092B (zh) * | 2022-12-01 | 2023-11-17 | 南京天洑软件有限公司 | 一种基于主成分分解的发电机绕组温度预警方法及装置 |
CN115858635A (zh) * | 2023-02-27 | 2023-03-28 | 国网江西省电力有限公司电力科学研究院 | 一种基于自然语言处理的短路冲击自动诊断方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114722923B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111914883B (zh) | 一种基于深度融合网络的主轴轴承状态评估方法及装置 | |
CN114722923B (zh) | 一种轻量型的机电设备故障诊断方法 | |
CN109884419B (zh) | 一种智慧电网电能质量在线故障诊断方法 | |
CN112784920A (zh) | 云边端协同的旋转部件对抗域自适应故障诊断方法 | |
CN110726898A (zh) | 一种配电网故障类型识别方法 | |
CN113743661A (zh) | 锂离子电池在线容量预测的方法、系统、设备及存储介质 | |
CN117154263A (zh) | 锂电池梯次利用充放电系统及控制方法 | |
CN117473411A (zh) | 基于改进Transformer模型的轴承寿命预测方法 | |
CN116720095A (zh) | 一种基于遗传算法优化模糊c均值的电特性信号聚类方法 | |
US20210279590A1 (en) | Apparatus and method for creating and training artificial neural networks | |
CN109921462B (zh) | 一种基于lstm的新能源消纳能力评估方法及系统 | |
CN117874615A (zh) | 一种基于深度数字孪生的光伏故障诊断方法以及系统 | |
CN109580145A (zh) | 基于深度学习的智能制造设备故障的诊断方法及装置 | |
CN117909881A (zh) | 多源数据融合的抽油机的故障诊断方法及装置 | |
CN114626426A (zh) | 基于K-means优化算法的工业设备行为检测方法 | |
CN117236979A (zh) | 一种电力市场价格预测方法 | |
CN111695631A (zh) | 基于sae的检定故障特征提取方法、装置、设备以及介质 | |
US20210397962A1 (en) | Effective network compression using simulation-guided iterative pruning | |
CN109344881B (zh) | 一种基于时空连续性的扩展分类器 | |
CN115439566B (zh) | 一种基于存算一体架构的压缩感知系统及方法 | |
CN118194028B (zh) | 基于混合概率主成分分析的低轨卫星异常状态识别方法 | |
Wang et al. | Prediction of Battery Capacity Based on Deep Residual Network | |
Wang et al. | Data Augmentation Integrated with Feature-Enhanced Convolutional Neural Network for Imbalanced Fault Diagnosis in Rolling Bearings | |
CN118839119A (zh) | 一种基于Spark的风功率缺失填充方法 | |
CN118708940A (zh) | 电力设备智能监测方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |