一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于LM-BP算法的弹簧操作机构故障识别方法、系统、设备及存储介质与流程

2022-02-22 02:52:05 来源:中国专利 TAG:

一种基于lm-bp算法的弹簧操作机构故障识别方法、系统、设备及存储介质
技术领域
1.本发明属于故障诊断领域,具体涉及一种基于lm-bp算法的弹簧操作机构故障识别方法、系统、设备及存储介质。


背景技术:

2.高压断路器是一种重要的电气设备,机械结构较为复杂,动作频率较为频繁,易发生机械故障,影响断路器分合闸动作可靠性,进而影响电力系统安全稳定性。操作机构作为断路器分合闸动作最重要的机构,保证操作机构的稳定可靠动作直接影响高压断路器运行的安全可靠性。
3.为深入研究线圈电流特性与高压断路器弹簧操作机构状态之间的关系,实现操作机构故障诊断,提高高压断路器安全可靠性,在分析了断路器操作机构各机械特性的基础上,选择分合闸线圈电流特性进行故障诊断,但是无法实现操作机构的故障诊断。


技术实现要素:

4.为了克服上述现有技术的缺点,本发明的目的在于提供一种基于lm-bp算法的弹簧操作机构故障识别方法、系统、设备及存储介质,旨在解决现有技术中断路器易发生机械故障,操作机构作为断路器分合闸动作最重要的机构,无法实现操作机构的故障诊断的缺陷性技术问题。
5.为了达到上述目的,本发明采用以下技术方案予以实现:
6.本发明提出的一种基于lm-bp算法的弹簧操作机构故障识别方法,根据bp神经网络隐含层和输出层计算得到的连接权值计算全局误差;
7.当全局误差小于精度值或训练次数大于最大训练次数时,bp神经网络训练结束,实现弹簧操作机构故障识别;
8.当全局误差大于等于精度值或训练次数小于等于最大训练次数时,选取下一个训练样本及对应的期望输出,计算样本数和修正量并对bp神经网络中引入阻尼因数,继续计算隐含层和输出层的连接权值,直到全局误差小于精度值或训练次数大于最大训练次数bp神经网络训练结束,实现弹簧操作机构故障识别。
9.优选地,一种基于lm-bp算法的弹簧操作机构故障识别方法的具体操作步骤如下:
10.s1、对bp神经网络进行初始化处理,随机选取第k个输入样本x(k)及输入样本x(k)对应的期望输出d(k),设定误差函数为e,精度值为ε,最大训练次数为z,训练次数为n;
11.s2、根据s1计算得到的输入样本x(k)及输出期望d(k),分别计算隐含层和输出层的连接权值;
12.s3、根据s2得到的连接权值计算全局误差e;
13.若e<ε或n>z,bp神经网络训练结束,实现弹簧操作机构故障识别;
14.若e≥ε或n≤z,选取下一个训练样本及对应的期望输出d(k),计算第n个样本数xn和修正量δ,对bp神经网络中引入阻尼因数λ再继续执行s2的操作,直到e<ε或n>zbp神经网络训练结束,实现弹簧操作机构故障识别。
15.优选地,s2的具体操作步骤如下:
16.s2.1、根据s1计算得到的输入样本x(k)及输出期望d(k),计算隐含层各神经元的实际输入和实际输出计算输出层各神经元的实际输入和实际输出
17.s2.2、利用s2.1得到的隐含层各神经元的期望输出d(k)与实际输出求误差函数e对输出层各神经元的偏导数δo(k),求误差函数e对隐含层各神经单元的偏导数δh(k);
18.s2.3、利用s2.2计算得到的隐含层各神经元的偏导数δh(k)和输入层各神经元的输入来修正连接权值利用输出层各神经元的偏导数δo(k)和隐含层各神经元的输出修正连接权值
19.优选地,在s3中,e≥ε或n≤z,第n个样本数xn的计算方法如下:
20.高斯牛顿法的迭代公式如下:
[0021][0022]
其中,hf为hessian矩阵,为梯度向量在方向上的分量jf为雅克比矩阵;f为高斯牛顿函数,f(xn)为高斯牛顿函数在x=xn处的函数值;hessian矩阵hf和雅克比矩阵jf的计算方法如下:
[0023][0024]
优选地,在s3中,将hessian矩阵hf和雅克比矩阵jf代入高斯牛顿法的迭代公式中,得到高斯牛顿迭代方程为:
[0025]
x
n 1
=xn δ
[0026]
其中,修正量
[0027]
在levenberg-marquart算法中引入了阻尼因数λ对算法的特性进行调节,lm算法中的修正量δ为:
[0028][0029]
其中,阻尼因数λ>0,阻尼因数λ为常数,i为单位矩阵。
[0030]
优选地,当阻尼因数λ增大时,lm算法趋近于梯度下降法,如下所示:
[0031][0032]
当λ趋近于0时,lm算法即为高斯-牛顿法,如下所示:
[0033][0034]
其中,阻尼因数λ的初始值得选取与j
t
j矩阵的元素个数有关。
[0035]
优选地,隐含层节点数根据如下公式确定:
[0036][0037]
其中,h为隐含层节点数,a为输入层节点数,b为输出层节点数,c为1~10之间的调节常数;
[0038]
隐含层节点数满足以下条件:
[0039]
1)、隐含层节点数小于n-1,其中,n为训练样本数;
[0040]
2)、训练样本数大于网络模型的链接权数,训练样本数是网络模型的链接权数的2~10倍。
[0041]
优选地,根据弹簧操作机构的电流数据判别弹簧操作机构为正常运行状态、弹簧疲软状态、弹簧卡涩状态或弹簧脱落状态。
[0042]
本发明还提出了一种基于lm-bp算法的弹簧操作机构故障识别方法的系统,包括:
[0043]
参数获取模块,用于根据bp神经网络隐含层和输出层的连接权值计算全局误差;
[0044]
模型判断模块,用于在全局误差小于精度值或训练次数大于最大训练次数时,bp神经网络训练结束,实现弹簧操作机构故障识别;在全局误差大于等于精度值或训练次数小于等于最大训练次数时,选取下一个训练样本及对应的期望输出,计算样本数和修正量并对bp神经网络中引入阻尼因数,继续计算隐含层和输出层的连接权值,直到全局误差小于精度值或训练次数大于最大训练次数bp神经网络训练结束,实现弹簧操作机构故障识别。
[0045]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行计算机程序时实现基于lm-bp算法的弹簧操作机构故障识别方法的步骤。
[0046]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现基于lm-bp算法的弹簧操作机构故障识别方法的步骤。
[0047]
与现有技术相比,本发明具有以下有益效果:
[0048]
本发明提出了一种基于lm-bp算法的弹簧操作机构故障识别方法,采用含有一个隐含层的bp网络,通过全局误差小于精度值,最大训练次数大于训练次数,来判断训练后的bp神经网络满足故障识别;在全局误差大于等于精度值、最大训练次数小于等于训练次数时,选取下一个训练样本及对应的期望输出,计算第n个样本数和修正量,网络误差增大引入了阻尼因数对算法的特性进行调节再继续计算隐含层和输出层的连接权值,直到全局误差小于精度值,最大训练次数大于训练次数bp神经网络训练结束,实现弹簧操作机构故障识别。本发明运用lm算法对传统bp网络进行优化,解决了传统bp神经网络梯度下降法易陷入局本部最小点、易产生平坦区网络收敛速度慢的问题,有效地提高了算法的训练速度,提高了分类的精确度。
[0049]
进一步地,在lm算法中引入了阻尼因数对算法的特性进行调节;当阻尼因数很大时,lm算法趋近于梯度下降法;当阻尼因数趋近于0时,lm算法即为高斯-牛顿法;随着迭代的进行,阻尼因数减小,避免了在误差下降过程出现平坦区,使在误差下降接近目标值时,仍能保持快速误差下降速度。
[0050]
进一步地,增加隐含层节点数来降低误差;隐含层节点数太少则无法建立复杂的判定界,训练不出合适的网络,容错性差;隐含层节点数过多会使网络训练时间过长,网络泛化能力差。
[0051]
进一步地,增加隐含层数可以降低网络误差、提高精度,但也会使网络复杂化,进而增加网络训练时间。
[0052]
进一步地,输入层节点数的选择根据输入特征向量来决定的。
[0053]
进一步地,隐含层节点数必须小于n-1,否则网络模型的系统误差与训练样本的特性无关而趋于0,即建立的网络无泛化能力。
[0054]
进一步地,训练样本数必须多于网络模型的链接权数,一般为2~10倍,否则训练样本必须采用“轮流训练”的方法才能获得可靠的网络。
[0055]
进一步地,弹簧状态主要通过弹簧操作机构电机电流的波形及所对应的数据来反映,不同故障状态下相较于正常运行的电机电流波形具有明显差别,且四种故障状态下-正常运行状态、弹簧疲软状态、弹簧卡涩状态或弹簧脱落状态的电机电流波形各有特点,具有明显特征。
[0056]
本发明提出的一种基于lm-bp算法的弹簧操作机构故障识别方法的系统,采用模块化思想实现电路的故障诊断,当哪个模块出现问题时能单独管理,模块之间相互独立且互不影响。
附图说明
[0057]
图1为本发明实施例提供的基于lm-bp算法的弹簧操作机构故障识别方法流程图;
[0058]
图2为本发明弹簧操作机构电机电流波形图。
具体实施方式
[0059]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0060]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0061]
下面结合附图对本发明做进一步详细描述:
[0062]
本发明提出的一种基于lm-bp算法的弹簧操作机构故障识别方法,根据bp神经网络隐含层和输出层计算得到的连接权值计算全局误差;
[0063]
当全局误差小于精度值或训练次数大于最大训练次数时,bp神经网络训练结束,
实现弹簧操作机构故障识别;
[0064]
当全局误差大于等于精度值或训练次数小于等于最大训练次数时,选取下一个训练样本及对应的期望输出,计算样本数和修正量,并对bp神经网络中引入阻尼因数,继续计算隐含层和输出层的连接权值,直到全局误差小于精度值或训练次数大于最大训练次数bp神经网络训练结束,实现弹簧操作机构故障识别。
[0065]
一种基于lm-bp算法的弹簧操作机构故障识别方法,如图1所示,包括如下步骤:
[0066]
s1、对bp神经网络进行初始化处理,给各连接权值分别赋值一个区间在(-1,1)范围内的随机数,设定误差函数e,给定计算精度值ε,最大训练次数z,训练次数为n;随机选取第k个输入样本x(k)及输入样本x(k)对应的输出期望d(k),输入样本x(k)和输出期望d(k)的计算方法如公式(1)和公式(2)所示:
[0067]
x(k)=(x1(k),x2(k),

xn(k))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0068]
d(k)=(d1(k),d2(k),

,dn(k))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0069]
s2、根据s1计算得到的输入样本x(k)及输出期望d(k),分别计算隐含层和输出层的连接权值;
[0070]
s2.1、根据s1计算得到的输入样本x(k)及输出期望d(k),计算隐含层各神经元的实际输入和实际输出实际输入与实际输出的计算方法如公式(3)和公式(4)所示:
[0071][0072][0073]
其中,为输入层与隐含层的连接权值;bh为隐含层各神经元的阈值;
[0074]
根据隐含层各神经元的实际输入和实际输出计算输出层各神经元的实际输入和实际输出实际输入与实际输出的计算方法如公式(5)和公式(6)所示:
[0075][0076][0077]
其中,为隐含层与输出层的连接权值;bo为输出层各神经元的阈值;
[0078]
s2.2、利用bp神经网络s2.1得到的隐含层各神经元的期望输出d(k)与实际输出求误差函数e对输出层各神经单元的偏导数δo(k),如公式(7)、公式(8)和公式(9)所示:
[0079][0080]
[0081][0082]
其中,
[0083]
求误差函数e对隐含层各神经单元的偏导数δh(k),如公式(10)所示:
[0084][0085]
s2.3、利用s2.2计算得到的输出层各神经元的偏导数δo(k)和隐含层各神经元的输出来修正连接权值公式如(11)和公式(12)所示,式中η为学习率,学习率的选取直接影响神经网络的训练过程,当η选取过小时,则神经网络训练时间长、速度慢;当η选取过大时,神经网络训练过程易产生震荡。也将导致网络训练时间长、速度慢,通常η选取(0,1)范围内。
[0086][0087][0088]
利用s2.2计算得到的隐含层各神经元的偏导数δh(k)和输入层各神经元的输入来修正连接权值如公式(13)和公式(14)所示:
[0089][0090][0091]
s3、计算全局误差e,如公式(15)所示:
[0092][0093]
判断bp神经网络全局误差e是否满足要求,若全局误差e小于预设精度ε或训练次数n大于预设最大次数z,则bp神经网络训练结束,实现弹簧操作机构故障识别;
[0094]
否则,若全局误差e大于等于预设精度ε或训练次数n小于等于预设最大次数z,选取下一个训练样本及对应的期望输出d(k),形成雅克比矩阵j,计算第n个样本数xn和修正量δ,网络误差增大引入了阻尼因数λ再继续执行s2的操作,直到e<ε或n>z,bp神经网络训练结束,实现弹簧操作机构故障识别。
[0095]
l-m(levenberg-marquart)算法由levenberg提出,并由marquart进一步研究,其
能提供非线性最小化(局部最小)的数值解。此算法借由执行时修改参数达到结合高斯-牛顿算法以及梯度下降法的优点,并对两者不足作改善,既具有梯度下降法的全局特性,即在刚开始迭代的几步下降速度快,又具有高斯-牛顿法的局部特性,即在接近最优值附近产生一个理想的搜索方向,增加下降速度。
[0096]
当e≥ε或n≤z,第n个样本数xn和修正量δ的计算方法如下:
[0097]
高斯牛顿法的迭代公式基本形式为:
[0098][0099]
其中,为梯度向量在方向上的分量,jf为雅克比矩阵,hf为hessian矩阵,f为高斯牛顿函数,f(xn)为高斯牛顿函数在x=xn处的函数值;其hessian矩阵的计算方法如公式(17)所示:
[0100][0101]
梯度向量在方向上的分量计算方法如公式(18)所示:
[0102][0103][0104]
其中,jf为雅克比矩阵,其雅克比矩阵jf的计算方法如公式(20)所示:
[0105][0106]
将公式(18)、公式(19)和公式(20)代入公式(16)中得高斯牛顿迭代方程如公式(21)所示:
[0107]
x
n 1
=xn δ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(21)
[0108]
其中修正量δ即为迭代矢量,修正量δ如公式(22)所示:
[0109][0110]
在levenberg-marquart算法中引入了阻尼因数λ对算法的特性进行调节,lm算法中的修正量δ如公式(23)所示:
[0111][0112]
在公式(23)中,阻尼因数λ>0为常数,i为单位矩阵。
[0113]
当阻尼因数λ很大时,lm算法趋近于梯度下降法,如式(24)所示。
[0114][0115]
当阻尼因数λ趋近于0时,lm算法即为高斯-牛顿法,如式(25)所示。
[0116][0117]
随着迭代的进行,阻尼因数λ减小,避免了在误差下降过程出现平坦区,使在误差下降接近目标值时,仍能保持快速误差下降速度。其中阻尼因数λ的初始值得选取与j
t
j矩阵的元素个数有关。
[0118]
本发明提出了一种基于lm-bp算法的弹簧操作机构故障识别方法,目的在于对高压断路器的弹簧操作机构进行正常运行状态及常见故障的精确判别。针对传统bp神经网络的缺点,本发明通过引入levenberg-marquart算法对bp神经网络进行优化。提出了基于l-m算法优化的bp神经网络的高压断路器操作机构故障诊断,分析了神经网络的数学模型及映射关系,运用l-m算法对传统bp网络进行优化,解决了传统bp神经网络梯度下降法易陷入局本部最小点、易产生平坦区网络收敛速度慢的问题,有效地提高了算法的训练速度,提高了分类精确度。
[0119]
本发明提出一种基于lm-bp算法的弹簧操作机构故障识别方法,介绍了神经网络的数学模型及映射关系,在确定了线圈电流特性与操作机构故障间的对应关系的基础上,提出了基于l-m算法优化bp神经网络的断路器操作机构故障诊断方法,解决了传统bp网络易陷入局部最小值与平坦区的问题,提高了神经网络的收敛速度和判断准确度。诊断结果表明:lm算法优化后的bp神经网络能有效地实现高压断路器操作机构故障诊断。
[0120]
优选地,根据弹簧操作机构的电流数据判别弹簧操作机构为正常运行状态、弹簧疲软状态、弹簧卡涩状态或弹簧脱落状态。
[0121]
在断路器操作机构故障诊断中,输入层节点数的选择主要根据输入特征向量来决定的,如图2所示,本模型选择线圈电流曲线时间量t1、t2和电流量i1、i2作为输入特征向量。故输入层节点数确定为4个。输出层节点数的选择主要根据操作机构的状态类型来决定。共有四种电机电流实际运行波形图,本发明中操作机构状态类型分为4类。因此,该网络输出层的节点数确定为4个。
[0122]
本发明采用lm算法优化bp神经网络是为了提高网络训练速度与诊断精确度。为验证算法有效性,将典型故障下的电流数据用于训练和诊断,使用训练数据对网络进行训练,再将测试数据用训练后的神经网络进行测试,判别率为100%,可以说明本算法能够对于断路器操作机构典型故障使用电机电流进行诊断。
[0123]
优选地,弹簧状态主要通过弹簧操作机构电机电流的波形及所对应的数据来反映,不同故障状态下相较于正常运行的电机电流波形具有明显差别,且四种故障状态下-正常运行状态、弹簧疲软状态、弹簧卡涩状态或弹簧脱落状态的电机电流波形各有特点,具有明显特征。
[0124]
一般认为,增加隐含层数可以降低网络误差、提高精度,但也会使网络复杂化,进而增加网络训练时间。本发明采用含有一个隐含层的bp网络,通过增加隐含层节点数来降低误差。隐含层节点数的确定很重要,隐含层节点数太少则无法建立复杂的判定界,训练不出合适的网络,容错性差。但隐含层节点数过多会使网络训练时间过长,网络泛化能力差。
综上,隐含层节点数的确定要满足以下条件:
[0125]
(1)隐含层节点数必须小于n-1,n为训练样本数,否则网络模型的系统误差与训练样本的特性无关而趋于0,即建立的网络无泛化能力。
[0126]
(2)训练样本数必须多于网络模型的链接权数,一般为2~10倍,否则训练样本必须采用“轮流训练”的方法才能获得可靠的网络。
[0127]
隐含层节点数通常根据经验公式(26)来确定。
[0128][0129]
其中h为隐含层节点数,a为输入层节点数,b为输出层节点数,c为1~10之间的调节常数。经过多次试验,最终选定隐含层节点数为12个。
[0130]
本发明还提出了一种基于lm-bp算法的弹簧操作机构故障识别方法的系统,包括:
[0131]
参数获取模块,用于根据隐含层和输出层的连接权值计算全局误差;
[0132]
模型判断模块,用于在全局误差小于精度值或训练次数大于最大训练次数时,bp神经网络训练结束,实现弹簧操作机构故障识别;在全局误差大于等于精度值或训练次数小于等于最大训练次数时,选取下一个训练样本及对应的期望输出,计算样本数和修正量并对bp神经网络中引入阻尼因数,继续计算隐含层和输出层的连接权值,直到全局误差小于精度值或训练次数大于最大训练次数bp神经网络训练结束,实现弹簧操作机构故障识别。
[0133]
本发明一实施例提供的终端设备的示意图。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
[0134]
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
[0135]
所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。
[0136]
所述处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
[0137]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。
[0138]
所述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机
可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0139]
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献