论文部分内容阅读
摘 要:根据BP算法神经网络模型,阐述BP神经 网络应用于机械故障诊断的基本步骤,归纳总结BP神经网络在机械故障诊断中的应用,提出存在的问题和发展方向。
关键词:神经网络 机械故障诊断 BP算法
引 言
随着传感器、信号处理和计算机等技术的发展,机械设备故障诊断技术正日趋完善,各国研究开发了一系列故障诊断理论和方法,并成功地应用于机械设备的状态监测与故障诊断中。不过,工程实际中的问题往往较为复杂,尤其对于大型机械设备和复杂系统而言。由于设备结构庞大,影响性能的因素多,若还是用传统方法很难得以解决,神经网络技术的兴起和发展恰为解决这类问题开辟了新的途径。
神经网络(Neural network, NN)或称人工神经网络,是近几年发展起来的一门多领域的交叉学科,它是一种以物理上可以实现的器件,系统或现有的计算机来模拟人脑的结构和功能的人工系统。由于神经网络具有自学习、自组织、联想记忆及容错等特点,可以较好处理不确定的、矛盾的、甚至错误的信息,因此在机械故障诊断领域受到广泛关注。
BP网络,即多层前馈神经网络,因其采用误差反向传播算法(Error Back-Propagation,即BP算法) 而得名。BP算法结构简单、易于实现。在人工神经网络的实际应用中,80%~90% 的神经网络模型是采用BP网络或它的变化形式, 目前主要用于模式识别与分类、函数逼近、数据压缩及预测等领域。
1、BP算法神经网络模型
图1所示为典型的带有一个隐层的多层前馈模型(FNN),本文采用的是三层BP神经网络模型,它由输入层、隐层和输出层组成。网络的前馈意义在于每一层节点的输入仅来自前面一层节点的输出。对于输入信号,先前向传播到隐层节点,经过作用后,再把隐节点的输出信息传播到输出节点,最后得到输出结果。
(1)输入层节点i(i=1,2,3…,n),其輸
出 等于输入 ,将控制变量值传到第二层。
(2)隐层节点j(j=1,2,3…,p),其输入 ,输出 分别为:
式中, 为隐层节点j与输入层节点i 之间的连接权; 为隐层节点j的偏置(或阀值);f为Sigmoid函数: 。
(3)输出层节点k(k=1,2,3…,m),其输入 ,输出 分别为:
式中, 为输出层节点k与隐层节点j之间的连接权; 为输出层节点k的偏置(或阀值)。
对于给定的训练样本集( , …, ),p为样本数(p=1,2, …,P),网络运算结果与训练样本目标输出之间的均方误差可表示为:
式中, ;
p为样本数; 为第p个样本的第l个输
出单元的目标输出结果; 为第p个样本的第l个输出单元的网络运算结果。
网络学习训练的过程包括网络内部的前向传播和误差的反向传播,其目的就是通过调节网络内部权使网络误差最小化。对于多层前馈网络中输入层与隐层之间、隐层与输出层之间的连接权通过反向误差传播BP学习算法来调节。
2、轴承故障与振动之间的关系
在石油机械设备中由滚动轴承受损引起的故障占有很大的比例。其表现为长时间运转形成表面材料疲劳而出现点蚀、剥落或裂纹元件表面损伤故障。出现故障后,轴承部件振动加剧,在受载运行过程中,损伤点同与之相互作用的元件表面接触时会产生一系列的冲击脉冲力,其频率称为轴承元件的故障特征频率。由于制造装配误差以及其他许多因素都会引起轴承振动,传感器拾取的振动信号中除了损伤引起的冲击性振动信号外,还包含了大量的其他振动信号。当损伤点比较微小时(如点蚀初期、微小裂纹等),这些周期性的冲击信号往往淹没在大量的背景噪声中,如果直接进行频谱分析,难以诊断出故障。为了把损伤引起的冲击信号从原始信号中提取出来,本文采用以下提取算法,将故障特征频率及参数提取出来,再通过神经网络进行故障分类识别。
3、BP网络在故障诊断中的应用
利用神经网络进行轴承故障诊断,其程序流程见图2
(1)特征参数的提取
轴承诊断中所用的状态信号为振动信号,一般根据经验抽取出一些反映轴承状态的特征参数,以便进行状态识别。本文选取均方根值、峭度指数、峰值指数、波形指数、脉冲指数和裕度指数作为轴承状态特征向量。均方根值能反映振动总量,对 轴承的整体劣化有效,稳定性较好,但对早期故障信号不敏感;峰值
指标能较好地反映表面损伤类的故障,特别是对初期阶段的表面剥落,非常容易检测出来,波形指标主要反映频率成分的增加。峭度指标、裕度指标和脉冲指标对于冲击类故障比较敏感,特别是当故障早期发生时,它们有明显增加;但上升到一定程度后,随故障的逐渐发展,反而会下降,表明它们对早期故障有较高的敏感性,但稳定性不好。所以,为了取得较好的效果,常将它们同时应用,以兼顾敏感性和稳定性。
(2)网络结构与状态编码
采用三层网络结构形式,输入层神经元个数为6,对应特征向量的6个元素,隐层神经元取作10个。为简化起见,采用双值输出网络,输出层神经元设为2个,对应的状态编码为:正常(0,0),故障(0,1)
(3)网络训练
神经网络的工作过程分为学习过程和应用过程两部分,学习过程将训练样本输入网络,对其进行训练,调配网络权值,通过权值的不断变化逐渐逼近期望输出;应用过程则用已经调配好权值的网络对实测试数据进行分类。在训练之前应先对特征参数进行归一化处理,归一化处理的公式为:
其中,max为某一参数各组样本的最大值;min为最小值。
经过归一化处理后的数据利用BP网络进行训练,将该数据用作训练样本,作为输入向量,经过网络的输入层、中间层以及输出层,输出的结果与目标目标进行比较,若所得误差值在最大误差允许的范围内,则说明训练达到了预期效果,结束训练,若误差不在最大误差允许的范围内,则通过BP网络的反馈将数据重新转入到输入层,开始新一轮的循环。直至满足要求,经过此神经网络的训练可以得到一组权向量值。将该组权向量值存入指定的文件中,以备下面的模式识别之用。 (4)模式识别
用同样的方式将一组待识别的轴承的特征参数进行处理后作为网络的输入向量,用上一步训练得到的权向量值进行网络计算,此时在输出层得到的向量值与期望值即目标向量相比较,在一定的误差范围内与哪一个接近,就认定该待识别轴承的状态属于那一种。从而判别出轴承的故障状况。
4、诊断实例
从石油钻机传动箱上提取轴承振动数据。先测量完好轴承的数据,然后将轴承的内圈弹道上切割大小不等的沟槽,作为表面剥蚀和裂纹等故障。从采集到的原始振动数据集中提取10组用于训练网络,其中包括5组有故障的轴承和5组没有故障的轴承的数据。提取的特征参数归一化后的数据列于表1。由这10组数据训练网络得到一组权向量值。
从采集的原始数据集中随机抽取8组数据,其中有轴承在完好状态下采集到的,也有故障状态下采集到的。在知道其状态前提下利用BP网络对其进行验证,看是否可以做出正确判断,判断的依据初步定为,当期望值是1时,实际输出应在(0.9,1)范围内,当期望值为0时,实际值应在(0,0.1)范围内,超出这个范围则不能判断其是否故障状态,即BP网络诊断失败,网络训练不成功,需要重新进行学习训练。此处采取的网络训练误差值取的是0.01,由此网络训练得到的权值进行模式识别,验证得到的结果见表2,五组是正常的,3组是有故障的。可以看出其与期望值相差非常小,完全可以在接受的范围内。从而以验证网络的状态分类能力。
表1 用作网络学习的10组特征参数(已归一化)(数据附后)
5、结论
通过BP神经网络对轴承故障进行快速诊断,从而可以做到实时监测,發现问题可以及早进行处理,尽最大可能避免损失,这是其它监测方法所无法达到的效果,不足之处在于BP神经网络自身还存在一些需要改进的地方,如中间层神经元数的确定问题缺乏理论根据,现在仍处于凭经验来确定其个数的阶段;另外,该法需要大量的与实际情况一致的训练数据,用不同设备和不同状态 下的数据训练的网络缺乏通用性。这一方法有待于进一步的成熟。
参考文献
[1] 钟秉林,黄 仁. 机械故障诊断学,北京:机械工业出版社,2002.
[2] 高隽. 人工神经网络原理及仿真实例,北京-机械工业出版社,2003.
[3] 虞和济…[等].基于神经网络的智能诊断,北京-冶金工业出版社,2000.
[4] Simon Haykin. 神经网络原理,北京-机械工业出版社,2004.
关键词:神经网络 机械故障诊断 BP算法
引 言
随着传感器、信号处理和计算机等技术的发展,机械设备故障诊断技术正日趋完善,各国研究开发了一系列故障诊断理论和方法,并成功地应用于机械设备的状态监测与故障诊断中。不过,工程实际中的问题往往较为复杂,尤其对于大型机械设备和复杂系统而言。由于设备结构庞大,影响性能的因素多,若还是用传统方法很难得以解决,神经网络技术的兴起和发展恰为解决这类问题开辟了新的途径。
神经网络(Neural network, NN)或称人工神经网络,是近几年发展起来的一门多领域的交叉学科,它是一种以物理上可以实现的器件,系统或现有的计算机来模拟人脑的结构和功能的人工系统。由于神经网络具有自学习、自组织、联想记忆及容错等特点,可以较好处理不确定的、矛盾的、甚至错误的信息,因此在机械故障诊断领域受到广泛关注。
BP网络,即多层前馈神经网络,因其采用误差反向传播算法(Error Back-Propagation,即BP算法) 而得名。BP算法结构简单、易于实现。在人工神经网络的实际应用中,80%~90% 的神经网络模型是采用BP网络或它的变化形式, 目前主要用于模式识别与分类、函数逼近、数据压缩及预测等领域。
1、BP算法神经网络模型
图1所示为典型的带有一个隐层的多层前馈模型(FNN),本文采用的是三层BP神经网络模型,它由输入层、隐层和输出层组成。网络的前馈意义在于每一层节点的输入仅来自前面一层节点的输出。对于输入信号,先前向传播到隐层节点,经过作用后,再把隐节点的输出信息传播到输出节点,最后得到输出结果。
(1)输入层节点i(i=1,2,3…,n),其輸
出 等于输入 ,将控制变量值传到第二层。
(2)隐层节点j(j=1,2,3…,p),其输入 ,输出 分别为:
式中, 为隐层节点j与输入层节点i 之间的连接权; 为隐层节点j的偏置(或阀值);f为Sigmoid函数: 。
(3)输出层节点k(k=1,2,3…,m),其输入 ,输出 分别为:
式中, 为输出层节点k与隐层节点j之间的连接权; 为输出层节点k的偏置(或阀值)。
对于给定的训练样本集( , …, ),p为样本数(p=1,2, …,P),网络运算结果与训练样本目标输出之间的均方误差可表示为:
式中, ;
p为样本数; 为第p个样本的第l个输
出单元的目标输出结果; 为第p个样本的第l个输出单元的网络运算结果。
网络学习训练的过程包括网络内部的前向传播和误差的反向传播,其目的就是通过调节网络内部权使网络误差最小化。对于多层前馈网络中输入层与隐层之间、隐层与输出层之间的连接权通过反向误差传播BP学习算法来调节。
2、轴承故障与振动之间的关系
在石油机械设备中由滚动轴承受损引起的故障占有很大的比例。其表现为长时间运转形成表面材料疲劳而出现点蚀、剥落或裂纹元件表面损伤故障。出现故障后,轴承部件振动加剧,在受载运行过程中,损伤点同与之相互作用的元件表面接触时会产生一系列的冲击脉冲力,其频率称为轴承元件的故障特征频率。由于制造装配误差以及其他许多因素都会引起轴承振动,传感器拾取的振动信号中除了损伤引起的冲击性振动信号外,还包含了大量的其他振动信号。当损伤点比较微小时(如点蚀初期、微小裂纹等),这些周期性的冲击信号往往淹没在大量的背景噪声中,如果直接进行频谱分析,难以诊断出故障。为了把损伤引起的冲击信号从原始信号中提取出来,本文采用以下提取算法,将故障特征频率及参数提取出来,再通过神经网络进行故障分类识别。
3、BP网络在故障诊断中的应用
利用神经网络进行轴承故障诊断,其程序流程见图2
(1)特征参数的提取
轴承诊断中所用的状态信号为振动信号,一般根据经验抽取出一些反映轴承状态的特征参数,以便进行状态识别。本文选取均方根值、峭度指数、峰值指数、波形指数、脉冲指数和裕度指数作为轴承状态特征向量。均方根值能反映振动总量,对 轴承的整体劣化有效,稳定性较好,但对早期故障信号不敏感;峰值
指标能较好地反映表面损伤类的故障,特别是对初期阶段的表面剥落,非常容易检测出来,波形指标主要反映频率成分的增加。峭度指标、裕度指标和脉冲指标对于冲击类故障比较敏感,特别是当故障早期发生时,它们有明显增加;但上升到一定程度后,随故障的逐渐发展,反而会下降,表明它们对早期故障有较高的敏感性,但稳定性不好。所以,为了取得较好的效果,常将它们同时应用,以兼顾敏感性和稳定性。
(2)网络结构与状态编码
采用三层网络结构形式,输入层神经元个数为6,对应特征向量的6个元素,隐层神经元取作10个。为简化起见,采用双值输出网络,输出层神经元设为2个,对应的状态编码为:正常(0,0),故障(0,1)
(3)网络训练
神经网络的工作过程分为学习过程和应用过程两部分,学习过程将训练样本输入网络,对其进行训练,调配网络权值,通过权值的不断变化逐渐逼近期望输出;应用过程则用已经调配好权值的网络对实测试数据进行分类。在训练之前应先对特征参数进行归一化处理,归一化处理的公式为:
其中,max为某一参数各组样本的最大值;min为最小值。
经过归一化处理后的数据利用BP网络进行训练,将该数据用作训练样本,作为输入向量,经过网络的输入层、中间层以及输出层,输出的结果与目标目标进行比较,若所得误差值在最大误差允许的范围内,则说明训练达到了预期效果,结束训练,若误差不在最大误差允许的范围内,则通过BP网络的反馈将数据重新转入到输入层,开始新一轮的循环。直至满足要求,经过此神经网络的训练可以得到一组权向量值。将该组权向量值存入指定的文件中,以备下面的模式识别之用。 (4)模式识别
用同样的方式将一组待识别的轴承的特征参数进行处理后作为网络的输入向量,用上一步训练得到的权向量值进行网络计算,此时在输出层得到的向量值与期望值即目标向量相比较,在一定的误差范围内与哪一个接近,就认定该待识别轴承的状态属于那一种。从而判别出轴承的故障状况。
4、诊断实例
从石油钻机传动箱上提取轴承振动数据。先测量完好轴承的数据,然后将轴承的内圈弹道上切割大小不等的沟槽,作为表面剥蚀和裂纹等故障。从采集到的原始振动数据集中提取10组用于训练网络,其中包括5组有故障的轴承和5组没有故障的轴承的数据。提取的特征参数归一化后的数据列于表1。由这10组数据训练网络得到一组权向量值。
从采集的原始数据集中随机抽取8组数据,其中有轴承在完好状态下采集到的,也有故障状态下采集到的。在知道其状态前提下利用BP网络对其进行验证,看是否可以做出正确判断,判断的依据初步定为,当期望值是1时,实际输出应在(0.9,1)范围内,当期望值为0时,实际值应在(0,0.1)范围内,超出这个范围则不能判断其是否故障状态,即BP网络诊断失败,网络训练不成功,需要重新进行学习训练。此处采取的网络训练误差值取的是0.01,由此网络训练得到的权值进行模式识别,验证得到的结果见表2,五组是正常的,3组是有故障的。可以看出其与期望值相差非常小,完全可以在接受的范围内。从而以验证网络的状态分类能力。
表1 用作网络学习的10组特征参数(已归一化)(数据附后)
5、结论
通过BP神经网络对轴承故障进行快速诊断,从而可以做到实时监测,發现问题可以及早进行处理,尽最大可能避免损失,这是其它监测方法所无法达到的效果,不足之处在于BP神经网络自身还存在一些需要改进的地方,如中间层神经元数的确定问题缺乏理论根据,现在仍处于凭经验来确定其个数的阶段;另外,该法需要大量的与实际情况一致的训练数据,用不同设备和不同状态 下的数据训练的网络缺乏通用性。这一方法有待于进一步的成熟。
参考文献
[1] 钟秉林,黄 仁. 机械故障诊断学,北京:机械工业出版社,2002.
[2] 高隽. 人工神经网络原理及仿真实例,北京-机械工业出版社,2003.
[3] 虞和济…[等].基于神经网络的智能诊断,北京-冶金工业出版社,2000.
[4] Simon Haykin. 神经网络原理,北京-机械工业出版社,2004.