一种微波组件故障诊断方法、装置及设备与流程

文档序号:21185050发布日期:2020-06-20 18:03阅读:384来源:国知局
一种微波组件故障诊断方法、装置及设备与流程

本发明涉及故障诊断领域,尤其涉及一种微波组件故障诊断方法、装置及设备。



背景技术:

故障诊断技术是一种通过监测设备的状态参数来发现设备的异常情况,并在发现异常情况后对故障原因进行分析、诊断的技术,其宗旨是借助当前一切创新技术发现产品的潜在故障,以达到对产品质量事故防患于未然的目的。目前,故障诊断技术已发展成为一门独立的跨学科的综合信息处理技术,是控制领域的一个热点研究方向。

近年来,bp(backpropagation,反向传播)神经网络是目前应用非常广泛的一种推理模型。其理论发展已经十分成熟,取得了许多突破性进展,引起国内外学术界高度重视和极大关注。bp神经网络作为一种新兴的建模技术已经被各行各业的技术人员所使用。在故障诊断方面,该网络模型的应用也十分广泛。在传统的测试线中,被测微波组件所出现的故障问题以及造成故障现象的原因大多是通过检测人员根据测试结果人为判断出来的,这样的后果是诊断效率低下、被测件流转滞后。



技术实现要素:

为了解决上述技术问题,本发明提供了一种微波组件故障诊断方法、装置及设备,解决了现有技术中微波组件的故障诊断效率低下、被测件流转滞后的问题。

依据本发明的一个方面,提供了一种微波组件故障诊断方法,包括:

获取微波组件的故障特征量,所述故障特征量包括故障现象特征量和故障原因特征量;

根据所述故障特征量建立反向传播bp神经网络模型;

对所述bp神经网络模型进行训练;

利用训练后的所述bp神经网络模型对待诊断故障信息进行诊断。

可选地,所述获取微波组件的故障特征量的步骤包括:

由微波组件故障检测的原始信号中提取故障特征量;

将所述故障特征量转换为向量形式。

可选地,将所述故障特征量转换为向量形式的步骤包括:

根据公式:f(xi)=st(xi)/sr(xi),计算所述故障特征量的待诊断状态的当前值与正常状态的预设值的比值;

其中,xi为所述故障特征量,st(xi)为xi的待诊断状态的当前值,sr为xi的正常状态的预设值;

根据所述比值确定所述故障特征量的向量值。

可选地,根据所述故障特征量建立反向传播bp神经网络模型的步骤包括:

根据所述故障特征量确定bp神经网络模型的输入层节点数和输出层节点数;

根据所述输入层节点数和输出层节点数确定bp神经网络模型的隐含层节点数。

可选地,所述输入层节点数为所述故障现象特征量的维数,所述输出层节点数为所述故障原因特征量的维数。

可选地,根据所述输入层节点数和输出层节点数确定bp神经网络模型的隐含层节点数的步骤包括:

通过公式计算所述隐含层节点数的取值范围:

其中,k为隐含层节点数,n为输入层节点数,l为输出层节点数,α为1~10的常数。

可选地,根据所述故障特征量建立反向传播bp神经网络模型的步骤还包括:

确定激励函数。

可选地,对所述bp神经网络模型进行训练的步骤包括:

设定所述bp神经网络模型的初始权重和初始阈值;

利用所述初始权重、初始阈值以及所述故障特征量进行正向传播运算,分别得到隐含层的输出结果和输出层的输出结果;

根据所述输出结果计算误差;

根据所述误差进行逆向反馈运算,得到更新后的权重和阈值。

可选地,利用所述初始权重、初始阈值以及所述故障特征量进行正向传播运算,分别得到隐含层的输出结果和输出层的输出结果的步骤包括:

通过公式:计算得到隐含层的输出结果;

其中,bj表示隐含层第j个神经元的输出,wij为输入层至隐含层的权重,ai为输入层的输入,θj为输入层到隐含层的阈值,n为当前神经元前一层的神经元数量;

通过公式:根据所述隐含层的输出结果计算输出层的输出结果;

其中,ct表示输出层第t个神经元的输出,vjt表示隐含层至输出层的权重,rt为隐含层到输出层的阈值。

可选地,根据所述输出结果计算误差的步骤包括:

通过公式:计算得到所述误差;

其中,e为误差,dt为期望输出,ct为输出层第t个神经元的输出,n为当前神经元前一层的神经元数量。

可选地,根据所述误差进行逆向反馈运算,得到更新后的权重和阈值的步骤包括:

通过公式计算得到更新后的权重;

其中,wij为输入层至隐含层的权重,wij′为更新后的输入层至隐含层的权重,η为所述bp神经网络模型的学习效率,bj为隐含层第j个神经元的输出,ai为输入层的输入;vjt为隐含层至输出层的权重,vjt′为更新后的隐含层至输出层的权重,et=dt-ct,dt为期望输出,ct为输出层第t个神经元的输出;

通过公式计算得到更新后的阈值;

其中,θj为输入层到隐含层的阈值,θj′为更新后的输入层到隐含层的阈值;rt为隐含层到输出层的阈值,rt′为更新后的隐含层到输出层的阈值。

可选地,对所述bp神经网络模型进行训练的步骤还包括:

判断所述bp神经网络模型的迭代次数是否达到预设次数;

若达到预设次数,则结束所述bp神经网络模型训练,否则,重复bp神经网络模型训练过程。

可选地,利用训练后的所述bp神经网络模型对待诊断故障信息进行诊断的步骤包括:

将所述待诊断故障信息输入训练后的所述bp神经网络模型;

利用训练后的所述bp神经网络模型,对所述待诊断故障信息进行故障诊断。

依据本发明的另一个方面,提供了一种微波组件故障诊断装置,包括:

第一获取模块,用于获取微波组件的故障特征量,所述故障特征量包括故障现象特征量和故障原因特征量;

模型建立模块,用于根据所述故障特征量建立反向传播bp神经网络模型;

模型训练模块,用于对所述bp神经网络模型进行训练;

故障诊断模块,用于利用训练后的所述bp神经网络模型对待诊断故障信息进行诊断。

依据本发明的再一个方面,提供了一种微波组件故障诊断设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的微波组件故障诊断方法的步骤。

本发明的实施例的有益效果是:

上述方案中,通过将历史故障案例信息分散储存于网络内各个神经元中,可以动态调整网络结构,使得整个模型具备很好的鲁棒性和容错性,在一定程度上提高了模型的适应性和稳定性;利用bp神经网络可高度拟合非线性的能力,逼近微波组件故障诊断问题中故障信息与故障原因的耦合关系,从而实现对新产生故障的快速定位至其导致原因。实现面向自动测试单元的微波组件故障的智能诊断。

附图说明

图1表示本发明实施例的微波组件故障诊断方法的流程图;

图2表示本发明实施例的激励函数的示意图;

图3表示本发明实施例的bp神经网络模型示意图;

图4表示本发明实施例的bp神经网络模型训练的流程图;

图5表示本发明实施例具体地故障诊断流程示意图;

图6表示本发明实施例的微波组件故障诊断装置的结构框图。

具体实施方式

下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。

如图1所示,本发明的实施例提供了一种微波组件故障诊断方法,包括:

步骤11、获取微波组件的故障特征量,所述故障特征量包括故障现象特征量和故障原因特征量;

该实施例中,将已有的故障案例数据作为模型训练的训练集,从中提取可识别的故障信息。对微波组件进行故障检测得到的原始信号中,存在许多能反应微波组件故障状态的信息,由该信息中提取出能够体现其特征的故障特征量,包括故障现象特征量和故障原因特征量,提取出的故障特征量应体现其中的规律性和敏感性,即具有较好的故障独立性与故障规律性。

步骤12、根据所述故障特征量建立反向传播bp神经网络模型;

根据提取出的所述故障特征量搭建bp神经网络模型,包括根据所述故障特征量确定bp神经网络模型的输入层节点数、隐含层节点数、输出层节点数以及激励函数等。

步骤13、对所述bp神经网络模型进行训练;

训练所述bp神经网络模型,将提取出的所述故障特征量作为所述bp神经网络模型的样本数据,输入到网络模型中进行运算,经多次迭代运算调整数值矩阵、权重和阈值。在达到预设的最大迭代次数或者输出的故障诊断结果误差下降到期望误差之下时,认为满足终止条件,模型训练结束。

步骤14、利用训练后的所述bp神经网络模型对待诊断故障信息进行诊断。

该实施例中,bp神经网络模型训练结束后,将新产生的待诊断故障信息以向量的形式输入到已学习过的bp神经网络模型中,经bp神经网络模型的计算得到与故障信息对应的故障原因,并以概率的形式进行输出展示,从而实现对自动测试单元的微波组件的智能故障诊断。

该方案通过将历史故障案例信息分散储存于网络内各个神经元中,可以动态调整网络结构,使得整个模型具备很好的鲁棒性和容错性,在一定程度上提高了模型的适应性和稳定性;利用bp神经网络可高度拟合非线性的能力,逼近微波组件故障诊断问题中故障信息与故障原因的耦合关系,从而实现对新产生故障的快速定位至其导致原因。实现面向自动测试单元的微波组件故障的智能诊断。

具体地,所述步骤11包括:由微波组件故障检测的原始信号中提取故障特征量;将所述故障特征量转换为向量形式。

由故障信息中提取出故障特征量之后,需要将其转化为多维向量,即将检测的原始数据转化为网络模型可识别的输入向量。将所述故障特征量转换为向量形式的步骤包括:

根据公式:f(xi)=st(xi)/sr(xi),计算所述故障特征量的待诊断状态的当前值与正常状态的预设值的比值;根据所述比值确定所述故障特征量的向量值。

其中,xi为所述故障特征量,st(xi)为xi的待诊断状态的当前值,sr为xi的正常状态的预设值;

该实施例通过将故障特征量的待诊断状态的当前值与预设的正常值进行比较,以比值作为判断故障现象是否出现的依据。可选地,故障特征量的待诊断状态的当前值与正常状态的预设值的比值f(xi)与预设的门限值进行比较,若f(xi)大于门限值,则该故障特征量在对应的多维向量中的值为“1”,表示该故障出现,否则该故障特征量在对应的多维向量中的值为“0”,表示该故障未出现。

具体地,所述步骤12包括:

根据所述故障特征量确定bp神经网络模型的输入层节点数和输出层节点数;其中,所述输入层节点数为所述故障现象特征量的维数,所述输出层节点数为所述故障原因特征量的维数。

根据所述输入层节点数和输出层节点数确定bp神经网络模型的隐含层节点数。增加隐含层单元层数可以降低网络误差,提高精度,但也会使网络复杂化,从而增加网络的训练时间和导致“过拟合”现象出现。该实施例以3层网络为例进行说明,即只有一个隐含层。然后通过调整隐含层单元节点数来获得较低的误差。

进一步地,根据所述输入层节点数和输出层节点数确定bp神经网络模型的隐含层节点数的步骤包括:

通过公式计算所述隐含层节点数的取值范围:

其中,k为隐含层节点数,n为输入层节点数,l为输出层节点数,α为1~10的常数。

该实施例中,隐含层节点数与求解问题的要求、输入输出单元数多少都有直接的关系。隐含层节点数过少,则无法产生足够的连接权组合数来满足若干样本的学习;隐含层单元节点数过多,则学习以后网络模型的泛化能力变差。由上述方法计算得到隐含层节点数的取值范围,然后从该取值范围内的最小值逐个增加隐含层节点数,比较在训练集相同的情况下网络收敛速度,最后结合训练结果得到的训练误差选择最佳隐含层节点数。

本发明的上述实施例中,根据所述故障特征量建立反向传播bp神经网络模型的步骤还包括:确定激励函数。

该实施例中,微波组件的故障诊断的问题中普遍会出现故障现象与故障原因对应关系的耦合现象(即在不同故障现象组合的情况下对应不同的故障原因),同时希望诊断结果能以概率的方式定位到出故障的模块,因此针对这一分类问题该实施例选用输出范围在[0,1]之间的sigmoid函数作为bp神经网络模型的激励函数,sigmoid函数的函数公式为:

其中,x是激励函数的输入,即转换为向量形式的故障特征量,e是自然对数。

sigmoid函数的图像如图2所示,sigmoid函数拥有非线性、函数值有界并介于[0,1]之间的特点。针对微波组件故障诊断这一问题,sigmoid函数作为神经元函数有如下优点:

一、非线性保证了多个神经元并行合作的时候能够表示输入和输出之间的非线性关系;

二、介于[0,1]之间的输出值可以直接用在输出层上,可以用来表示诊断结果的概率;

三、sigmoid函数的导数可以方便地用函数体本身表示,求导易得f′(x)=f(x)*(1-f(x)),因此在使用梯度下降法的神经网络中易于实现。

sigmoid函数的一个缺陷在于当函数值接近0或1(接近边界)的时候,其梯度(导数值的绝对值)会非常小,这种情况下神经网络权重值和阈值改变速度会很慢。因此在创建神经网络时需要避免在误差较小前神经元的输出接近0或1。

所述bp神经网络模型的输入层节点数、输出层节点数、隐藏层节点数以及激励函数确定后,即完成了bp神经网络模型的建模,所述bp神经网络模型如图3所示,图3中a1、a2、a3...an为模型输入层的输入,c1、c2...ct为模型输出层的输出。完成bp神经网络模型的建模后,利用故障信息中提取的故障特征量对所述bp神经网络模型进行训练。

具体地,如图4所示,对所述bp神经网络模型进行训练的步骤包括:

步骤41、设定所述bp神经网络模型的初始权重和初始阈值;即初始化神经网络模型,随机设定初始权重和阈值。

由上述实施例中选择的激励函数sigmoid函数的缺陷可知,在初始化的过程中需要尽量避免在初始状态下,向前传递过程中下一层神经元的输出接近0或1。因此该实施例中设定初始化的高斯分布的标准差为其中n表示该神经元前一层神经元的数量。在此种情况下,若前一层神经元的输出全部为1(极端状态),此时当前神经元输入加和为均值为0,标准差为这种状态下神经元输入总和绝对值大于3的概率极低,因此可以有效防止初始化导致神经元饱和的情况。

步骤42、利用所述初始权重、初始阈值以及所述故障特征量进行正向传播运算,分别得到隐含层的输出结果和输出层的输出结果;

具体地,正向传播运算得到隐含层的输出结果和输出层的输出结果的步骤包括:

通过公式:计算得到隐含层的输出结果;

其中,bj表示隐含层第j个神经元的输出,wij为输入层至隐含层的权重,ai为输入层的输入,θj为输入层到隐含层的阈值,n为当前神经元前一层的神经元数量;

通过公式:根据所述隐含层的输出结果计算输出层的输出结果;

其中,ct表示输出层第t个神经元的输出,vjt表示隐含层至输出层的权重,rt为隐含层到输出层的阈值。

步骤43、根据所述输出结果计算误差;

具体地,根据所述输出结果计算误差的步骤包括:

通过公式:计算得到所述误差;

其中,e为误差,dt为期望输出,ct为输出层第t个神经元的输出,n为当前神经元前一层的神经元数量。记dt-ct=et,则所述误差可以表示为:

步骤44、根据所述误差进行逆向反馈运算,得到更新后的权重和阈值。误差反向传播的目标是使误差函数达到最小值。

具体地,根据所述误差进行逆向反馈运算,得到更新后的权重和阈值的步骤包括:

通过公式计算得到更新后的权重;

其中,wij为输入层至隐含层的权重,wij′为更新后的输入层至隐含层的权重,η为所述bp神经网络模型的学习效率,bj为隐含层第j个神经元的输出,ai为输入层的输入;vjt为隐含层至输出层的权重,vjt′为更新后的隐含层至输出层的权重,et=dt-ct,dt为期望输出,ct为输出层第t个神经元的输出;

其中,上述权重更新公式根据梯度下降法计算得到,即,输入层到隐含层的权重更新为:

其中,

则权重的更新公式为:

隐含层到输出层的权重更新为:

则权重的更新公式为:

通过公式计算得到更新后的阈值;

其中,θj为输入层到隐含层的阈值,θj′为更新后的输入层到隐含层的阈值;rt为隐含层到输出层的阈值,rt′为更新后的隐含层到输出层的阈值。

其中,输入层到隐含层的阈值更新为:

其中,

则阈值的更新公式为:

隐含层到输出层的阈值更新为:则阈值的更新公式为:rt′=rt+ηet。

根据上述权重和阈值的更新方法,对所述bp神经网络模型进行多次迭代计算,从而得到可以使得bp神经网络模型计算结果最精确的权重参数和阈值。

可选地,对所述bp神经网络模型进行训练的步骤还包括:

判断所述bp神经网络模型的迭代次数是否达到预设次数;若达到预设次数,则结束所述bp神经网络模型训练,否则,重复bp神经网络模型训练过程。

该实施例中,可以根据bp神经网络模型的迭代次数判断是否满足算法的终止条件,还可以根据更新得到的权重和阈值进行正向传播运算,计算隐含层和输出层的输出,进而计算误差,判断输出的故障诊断结果的误差是否小于期望误差,从而判断是否结束网络模型训练。

本发明的上述实施例中,利用训练后的所述bp神经网络模型对待诊断故障信息进行诊断的步骤包括:

将所述待诊断故障信息输入训练后的所述bp神经网络模型;

利用训练后的所述bp神经网络模型,对所述待诊断故障信息进行故障诊断。

该实施例中,将新产生的待诊断故障信息转换为多为向量的形式,输入到训练后的bp神经网络模型中,经计算输出层输出运算结果,将输出的多维向量中最大的三个位置转换为其对应的故障原因,其数值结果表示确定是该故障原因的概率大小。

具体的故障诊断流程如图5所示,获取新产生的待诊断故障现象信息,将故障现象信息转换为输入向量,进行正向传播运算,得到隐含层的输出和输出层的输出,然后进行逆向反馈运算,得到更新后的权重和阈值,利用更新后的权重和阈值进行误差计算,判断误差是否小于预设的允许误差,如果小于允许误差则得到输出层的输出向量,由输出向量中选择概率最大的三个转换为故障原因信息,即得到故障诊断的诊断结果。

该实施例根据面向的问题需求及向量的数据结构确定网络模型,将已有的故障案例数据提取出可识别的故障信息,导入至网络模型中进行训练学习。训练结束后,将新产生的故障信息输入至已学习过的网络模型中,便可运算得出与之对应的故障原因,并以概率的形式进行输出展示,从而实现对自动测试单元的微波组件的智能故障诊断。实现面向自动测试单元的微波组件故障的智能诊断;通过将历史故障案例信息分散储存于网络内各个神经元之中,可动态调整网络结构,使得整个模型具备很好的鲁棒性和容错性,在一定程度上提高了模型的适应性和稳定性;利用bp神经网络可高度拟合非线性的能力,逼近微波组件故障诊断问题中故障信息与故障原因的耦合关系,从而实现对新产生故障的快速定位至其导致原因。

该方案通过对自动测试单元的微波组件的智能故障诊断问题进行分析,提出了故障信息识别与故障信息标准化的方法,研究了基于神经网络的智能故障诊断方法,能够提高测试效率,实现测试判断处理的实时化、高效化、精细化、智能化。

如图6所示,本发明的实施例提供了一种微波组件故障诊断装置,包括:

第一获取模块61,用于获取微波组件的故障特征量,所述故障特征量包括故障现象特征量和故障原因特征量;

该实施例中,将已有的故障案例数据作为模型训练的训练集,从中提取可识别的故障信息。对微波组件进行故障检测得到的原始信号中,存在许多能反应微波组件故障状态的信息,由该信息中提取出能够体现其特征的故障特征量,包括故障现象特征量和故障原因特征量,提取出的故障特征量应体现其中的规律性和敏感性,即具有较好的故障独立性与故障规律性。

模型建立模块62,用于根据所述故障特征量建立反向传播bp神经网络模型;

根据提取出的所述故障特征量搭建bp神经网络模型,包括根据所述故障特征量确定bp神经网络模型的输入层节点数、隐含层节点数、输出层节点数以及激励函数等。

模型训练模块63,用于对所述bp神经网络模型进行训练;

训练所述bp神经网络模型,将提取出的所述故障特征量作为所述bp神经网络模型的样本数据,输入到网络模型中进行运算,经多次迭代运算调整数值矩阵、权重和阈值。在达到预设的最大迭代次数或者输出的故障诊断结果误差下降到期望误差之下时,认为满足终止条件,模型训练结束。

故障诊断模块64,用于利用训练后的所述bp神经网络模型对待诊断故障信息进行诊断。

该实施例中,bp神经网络模型训练结束后,将新产生的待诊断故障信息以向量的形式输入到已学习过的bp神经网络模型中,经bp神经网络模型的计算得到与故障信息对应的故障原因,并以概率的形式进行输出展示,从而实现对自动测试单元的微波组件的智能故障诊断。

该方案通过将历史故障案例信息分散储存于网络内各个神经元中,可以动态调整网络结构,使得整个模型具备很好的鲁棒性和容错性,在一定程度上提高了模型的适应性和稳定性;利用bp神经网络可高度拟合非线性的能力,逼近微波组件故障诊断问题中故障信息与故障原因的耦合关系,从而实现对新产生故障的快速定位至其导致原因。实现面向自动测试单元的微波组件故障的智能诊断。

本发明的上述实施例中,所述第一获取模块61包括:

提取单元,用于由微波组件故障检测的原始信号中提取故障特征量;

转换单元,用于将所述故障特征量转换为向量形式。

由故障信息中提取出故障特征量之后,需要将其转化为多维向量,即将检测的原始数据转化为网络模型可识别的输入向量。所述转换单元具体用于:

根据公式:f(xi)=st(xi)/sr(xi),计算所述故障特征量的待诊断状态的当前值与正常状态的预设值的比值;根据所述比值确定所述故障特征量的向量值。

其中,xi为所述故障特征量,st(xi)为xi的待诊断状态的当前值,sr为xi的正常状态的预设值;

该实施例通过将故障特征量的待诊断状态的当前值与预设的正常值进行比较,以比值作为判断故障现象是否出现的依据。可选地,故障特征量的待诊断状态的当前值与正常状态的预设值的比值f(xi)与预设的门限值进行比较,若f(xi)大于门限值,则该故障特征量在对应的多维向量中的值为“1”,表示该故障出现,否则该故障特征量在对应的多维向量中的值为“0”,表示该故障未出现。

本发明的上述实施例中,所述模型建立模块62包括:

第一确定单元,用于根据所述故障特征量确定bp神经网络模型的输入层节点数和输出层节点数;其中,所述输入层节点数为所述故障现象特征量的维数,所述输出层节点数为所述故障原因特征量的维数。

第二确定单元,用于根据所述输入层节点数和输出层节点数确定bp神经网络模型的隐含层节点数。增加隐含层单元层数可以降低网络误差,提高精度,但也会使网络复杂化,从而增加网络的训练时间和导致“过拟合”现象出现。该实施例以3层网络为例进行说明,即只有一个隐含层。然后通过调整隐含层单元节点数来获得较低的误差。

具体地,所述第二确定单元具体用于:

通过公式计算所述隐含层节点数的取值范围:

其中,k为隐含层节点数,n为输入层节点数,l为输出层节点数,α为1~10的常数。

该实施例中,隐含层节点数与求解问题的要求、输入输出单元数多少都有直接的关系。隐含层节点数过少,则无法产生足够的连接权组合数来满足若干样本的学习;隐含层单元节点数过多,则学习以后网络模型的泛化能力变差。由上述方法计算得到隐含层节点数的取值范围,然后从该取值范围内的最小值逐个增加隐含层节点数,比较在训练集相同的情况下网络收敛速度,最后结合训练结果得到的训练误差选择最佳隐含层节点数。

本发明的上述实施例中,所述模型建立模块62还包括:

第三确定单元,用于确定激励函数。

该实施例中,微波组件的故障诊断的问题中普遍会出现故障现象与故障原因对应关系的耦合现象(即在不同故障现象组合的情况下对应不同的故障原因),同时希望诊断结果能以概率的方式定位到出故障的模块,因此针对这一分类问题该实施例选用输出范围在[0,1]之间的sigmoid函数作为bp神经网络模型的激励函数,sigmoid函数的函数公式为:

其中,x是激励函数的输入,即转换为向量形式的故障特征量,e是自然对数。

sigmoid函数的图像如图2所示,sigmoid函数拥有非线性、函数值有界并介于[0,1]之间的特点。针对微波组件故障诊断这一问题,sigmoid函数作为神经元函数有如下优点:

一、非线性保证了多个神经元并行合作的时候能够表示输入和输出之间的非线性关系;

二、介于[0,1]之间的输出值可以直接用在输出层上,可以用来表示诊断结果的概率;

三、sigmoid函数的导数可以方便地用函数体本身表示,求导易得f′(x)=f(x)*(1-f(x)),因此在使用梯度下降法的神经网络中易于实现。

sigmoid函数的一个缺陷在于当函数值接近0或1(接近边界)的时候,其梯度(导数值的绝对值)会非常小,这种情况下神经网络权重值和阈值改变速度会很慢。因此在创建神经网络时需要避免在误差较小前神经元的输出接近0或1。

所述bp神经网络模型的输入层节点数、输出层节点数、隐藏层节点数以及激励函数确定后,即完成了bp神经网络模型的建模,所述bp神经网络模型如图3所示,图3中a1、a2、a3...an为模型输入层的输入,c1、c2...ct为模型输出层的输出。完成bp神经网络模型的建模后,利用故障信息中提取的故障特征量对所述bp神经网络模型进行训练。

具体地,所述模型训练模块63包括:

参数设定单元,用于设定所述bp神经网络模型的初始权重和初始阈值;即初始化神经网络模型,随机设定初始权重和阈值。

由上述实施例中选择的激励函数sigmoid函数的缺陷可知,在初始化的过程中需要尽量避免在初始状态下,向前传递过程中下一层神经元的输出接近0或1。因此该实施例中设定初始化的高斯分布的标准差为其中n表示该神经元前一层神经元的数量。在此种情况下,若前一层神经元的输出全部为1(极端状态),此时当前神经元输入加和为均值为0,标准差为这种状态下神经元输入总和绝对值大于3的概率极低,因此可以有效防止初始化导致神经元饱和的情况。

第一计算单元,用于利用所述初始权重、初始阈值以及所述故障特征量进行正向传播运算,分别得到隐含层的输出结果和输出层的输出结果;

具体地,所述第一计算单元具体用于:

通过公式:计算得到隐含层的输出结果;

其中,bj表示隐含层第j个神经元的输出,wij为输入层至隐含层的权重,ai为输入层的输入,θj为输入层到隐含层的阈值,n为当前神经元前一层的神经元数量;

通过公式:根据所述隐含层的输出结果计算输出层的输出结果;

其中,ct表示输出层第t个神经元的输出,vjt表示隐含层至输出层的权重,rt为隐含层到输出层的阈值。

第二计算单元,用于根据所述输出结果计算误差;

具体地,所述第二计算单元具体用于:

通过公式:计算得到所述误差;

其中,e为误差,dt为期望输出,ct为输出层第t个神经元的输出,n为当前神经元前一层的神经元数量。记dt-ct=et,则所述误差可以表示为:

第三计算单元,用于根据所述误差进行逆向反馈运算,得到更新后的权重和阈值。误差反向传播的目标是使误差函数达到最小值。

具体地,所述第三计算单元具体用于:

通过公式计算得到更新后的权重;

其中,wij为输入层至隐含层的权重,wij′为更新后的输入层至隐含层的权重,η为所述bp神经网络模型的学习效率,bj为隐含层第j个神经元的输出,ai为输入层的输入;vjt为隐含层至输出层的权重,vjt′为更新后的隐含层至输出层的权重,et=dt-ct,dt为期望输出,ct为输出层第t个神经元的输出;

其中,上述权重更新公式根据梯度下降法计算得到,即,输入层到隐含层的权重更新为:

其中,则权重的更新公式为:

隐含层到输出层的权重更新为:

则权重的更新公式为:

通过公式计算得到更新后的阈值;

其中,θj为输入层到隐含层的阈值,θj′为更新后的输入层到隐含层的阈值;rt为隐含层到输出层的阈值,rt′为更新后的隐含层到输出层的阈值。

其中,输入层到隐含层的阈值更新为:

其中,

则阈值的更新公式为:

隐含层到输出层的阈值更新为:则阈值的更新公式为:rt′=rt+ηet。

根据上述权重和阈值的更新方法,对所述bp神经网络模型进行多次迭代计算,从而得到可以使得bp神经网络模型计算结果最精确的权重参数和阈值。

本发明的上述实施例中,所述模型训练模块63还包括:

判断单元,用于判断所述bp神经网络模型的迭代次数是否达到预设次数;

控制单元,用于若达到预设次数,则结束所述bp神经网络模型训练,否则,重复bp神经网络模型训练过程。

该实施例中,可以根据bp神经网络模型的迭代次数判断是否满足算法的终止条件,还可以根据更新得到的权重和阈值进行正向传播运算,计算隐含层和输出层的输出,进而计算误差,判断输出的故障诊断结果的误差是否小于期望误差,从而判断是否结束网络模型训练。

本发明的上述实施例中,所述故障诊断模块包括:

输入单元,用于将所述待诊断故障信息输入训练后的所述bp神经网络模型;

诊断单元,用于利用训练后的所述bp神经网络模型,对所述待诊断故障信息进行故障诊断。

该实施例中,将新产生的待诊断故障信息转换为多为向量的形式,输入到训练后的bp神经网络模型中,经计算输出层输出运算结果,将输出的多维向量中最大的三个位置转换为其对应的故障原因,其数值结果表示确定是该故障原因的概率大小。

具体的故障诊断流程如图5所示,获取新产生的待诊断故障现象信息,将故障现象信息转换为输入向量,进行正向传播运算,得到隐含层的输出和输出层的输出,然后进行逆向反馈运算,得到更新后的权重和阈值,利用更新后的权重和阈值进行误差计算,判断误差是否小于预设的允许误差,如果小于允许误差则得到输出层的输出向量,由输出向量中选择概率最大的三个转换为故障原因信息,即得到故障诊断的诊断结果。

该方案通过对自动测试单元的微波组件的智能故障诊断问题进行分析,提出了故障信息识别与故障信息标准化的方法,研究了基于神经网络的智能故障诊断方法,能够提高测试效率,实现测试判断处理的实时化、高效化、精细化、智能化。

需要说明的是,该装置是与上述个体推荐方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。

本发明的实施例还提供了一种微波组件故障诊断设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的微波组件故障诊断方法的步骤。

本发明的该实施例,通过将历史故障案例信息分散储存于网络内各个神经元中,可以动态调整网络结构,使得整个模型具备很好的鲁棒性和容错性,在一定程度上提高了模型的适应性和稳定性;利用bp神经网络可高度拟合非线性的能力,逼近微波组件故障诊断问题中故障信息与故障原因的耦合关系,从而实现对新产生故障的快速定位至其导致原因。实现面向自动测试单元的微波组件故障的智能诊断。

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

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