BP神经网络在数控系统故障诊断中应用

2010-09-14 08:26游明琳
世界制造技术与装备市场 2010年3期
关键词:数控系统权值故障诊断

游明琳 潘 阳

贵州师范大学1贵州.贵阳550014 贵州大学2贵州.贵阳 550003

在数控机床的使用过程中,数控系统的结构比较复杂、种类繁多,既有确定性因素,又有随机因素,各种因素交错,使故障更具有渐变性和隐蔽性。一旦出现故障,将直接影响到生产效率,因此,对数控系统的可靠性和可维护性的要求越来越高。

故障诊断是对系统产生故障的原因做出分析与判断,以便找出解决问题的方法。从诊断方式上看,目前数控系统的故障诊断主要是工程技术人员通过视、听、触、嗅、问等方式并辅以简单的会诊仪器凭自己的实践经验进行简易诊断的,或在简易诊断的基础上对有疑问的异常现象,使用某种精密检测仪器对其进行精密诊断分析,从而找出数控系统发生故障的原因与部位。在诊断过程中,还具有很大的人为主观因素,其精确程度远远不能满足现代工业发展的要求。

目前,数控系统中的故障诊断主要有基于传递函数的故障诊断方法和基于人工智能(包括专家系统、神经网络两个分支)的故障诊断方法。前者由于需要系统控制过程的数学模型而遇到较大困难,后者又由于专家系统知识难以获取而难以推广应用。目前传统的维护手段主要依靠维护人员的经验,很难保障维护的质量,而神经网络在故障诊断中的应用可较好地克服基于规则推理的单一专家系统知识获取困难的缺点,基于理论上比较成熟的BP神经网络,本文对BP神经网络在数控系统故障诊断方面的应用进行探讨,提出一种解决方法。

神经网络是由大量的处理单元(神经元)互相连接而成的网络。为了模拟大脑的基本特性,在神经科学研究的基础上,提出了神经网络模型。但是,实际上神经网络并不能完全反映大脑的功能,只是对生物神经网络进行某种抽象、简化和模拟。神经网络的信息处理通过神经元的互相作用来实现,知识与信息的存储表现为网络元件互连分布式的物理联系。神经网络的学习和识别取决于各神经元连接权系数的动态演化过程。神经网络的全称是人工神经网(Artificial Neural Network,ANN), 它采用物理上可实现的器件或采用计算机来模拟生物体中神经网络的某些结构和功能,并应用于工程领域。神经网络的着眼点不在于利用物理器件完整地复制生物体中的神经细胞网络,而是抽取其中可利用的部分来克服目前计算机或其他系统不能解决的问题,如学习、控制、识别和专家系统等。随着生物和认知科学的发展,人们对大脑的认识和了解越来越深入,神经网络将会获得更加广阔的发展空间和应用范围。

1 BP神经网络的基本原理

1.1 BP 神经网络结构

在神经网络所有结构模型中用法最多也最有成效的是前向多层神经网络,由于该网络在学习(训练)过程中采用了 BP(Error Back-propa-gation)算法,故又称为BP网络。

标准的BP网络由三层神经元组成,其结构如图1所示。最下面为输入层,中间为隐含层,最上面为输出层,网络中相邻层采取全互连方式连接,同层各神经元之间没有任何连接,输出层与输入层之间也没有直接的联系。为方便讨论,在此设输入层、隐含层及输出层神经元的个数分别为L、M、N。可以证明:在隐含层节点可以根据需要自由设置的情况下,用三层前向神经网络可以实现以任意精度逼近任意连续函数。

1.2 BP神经网络的学习算法

BP算法的主要思路是根据训练网络的误差函数EP对各个神经元输出的偏导数,计算出误差EP对所有连接权值的偏导数,从而可以利用求解非线性优化问题的梯度下降法来修改各个连接权值。当误差EP满足实际要求时,停止训练,专家系统知识获取过程结束,此时领域专家解决实际问题的经验知识就转化成神经网络中各个神经元之间的连接强度,整个网络就构成了神经网络专家系统的知识库。

BP网络的学习过程是由正向和反向传播两部分组成。在正向传播过程中,每一层神经元的状态只影响到下一层神经元网络。如果输出层不能得到期望输出,即说明实际输出值与期望输出值之间存在误差,于是转入反向传播过程,将误差信号原路返回,通过修改各层神经元的权值,逐次向输入层传播进行计算,再经过正向传播过程,这两个过程的反复运用,使得误差信号最小。

1.3 BP学习算法中的注意问题

BP学习算法中的注意问题主要有以下几点:

(1)神经网络输入层,输出层的神经元个数可以根据研究对象的输入,输出信息来确定,如何合适选取隐含层神经元的数目无规律可循,然而隐含神经元的数目是否合适对整个网络能否正常工作具有重要意义,一般情况下可按下式给出:

式中:nH为隐含层神经元数目,nI为输入层神经元数目,nO为输出层神经元数目,L为1~10之间的整数。

(2)学习算法中的η表示学习速率,或称为步幅,η较大时,数值的修改量就较大,学习速率比较快,但有时会导致振荡,η值较小时,学习速率慢,然而学习过程平稳,η值的具体选取方案有很多种,但没有一种是令人信服的,在一些简单的问题中,η可取为一常数,满足0∠η∠1,如η取0.5。

(3)在权值的修改公式中,往往还加入一个惯性项(或称为动量项)即

惯性项修正系数α应与η协调选取,较大的α可以改善网络的收敛速度,但对提高网络的收敛精度没有积极的作用,对于简单的情况,α取0.5。

(4)在设置各训练样本的理想输出分量时,tpj有时可取为接近1或者0的数,如0.9或者0.1等,而不直接取为1.0,因为单个神经元的转换函数大都是采用Sigmoid函数,因而输出层各神经元的实际输出值,只能接近于1或者0,而不能达到1或者0。

(5)在学习开始时,必须给每个连接权赋初值。

在实际的网络训练过程中,通常的处理方法是给每一个连接权赋以-1至1之间的随机数。

当出现局部最优的情况下,表现出来的特征是:各数值收敛到某一稳定值,而误差值却不是最小,这时可以按下式判定:

式中 ζ<<1, β 为一小数, 通常 0<β<0.2。 如符合上式,则认为此时BP网络陷入局部极小点。

1.4 BP神经网络的学习步骤

综合上面的讨论,可以按照以下步骤来设计具体的学习过程:

(1)网络结构及学习参数的确定:输入输入层,隐含层,输出层的神经元数目,步长η以及惯性校正系数α,数值收敛因子ζ及误差收敛因子β。

(2)网络状态初始化:用较小的(绝对值为1以内)随机数对网络权值,阈值置初值。

(3)提供学习样本:输入向量xp(p=1,2,…,P)和目标向量 tp(p=1, 2, …, P)

(4)学习开始:对每一个样本进行如下操作:

a.计算网络隐含层及输出层各神经元的输出

b.计算训练误差

c.修改权值和阈值

(7)停止。

2 应用实例

某加工型数控车床数控系统的BP网络如下:

故障样本值 检验目标[6, 0, 18, 25][0, 1, 0, 0, 0, 0, 0, 0, 0][13, 10, 16, 80][0, 0, 0, 0, 0, 0, 1, 0, 0][12.5, 8, 0, 95][0, 0, 0, 0, 0, 0, 0, 1, 0]

故障征兆集合 V= [v1,v2,v3,v4]

代表意义:v1:主轴电机的负载大小

v2:主轴电机的功率

v3:x轴的负载;

v4:z轴的负载;

故障集合 U= [u1, u2, u3, u4, u5, u6, u7,u8, u9];

代表意义:u1:主轴传递故障;u2:主轴电机故障;u3:冷却电机故障;u4:plc故障;u5:轨导故障;u6:系统温度太高;u7:反馈控制信号故障;u8:x轴电机故障;u9:z轴电机故障.

网络节点的选择 [4,9,9]输入层节点为4,隐层节点9,输出节点为9。

网络训练,训练样本如上表。对系统进行仿真输入TEST=[6 5 0 93]′,则网络的输入结果为。Y= [-0.0033, -0.0015, 0.0015, 0.0005, 0.0021,0.0002, 0.0003, 0.9762, 0.0025] 与实际检验结果相符合。

4 结论

BP网络在故障诊断中已得到广泛的应用,但仍存在一些问题:1)为确定合理的诊断模型和参数,网络结构须进一步学习和优化;2)网络的容错性、鲁棒性和泛化能力有待进一步提高,以实现准确在线实时机械故障诊断、监测和预报;3)BP网络若能与其他传统方法、模糊分析等更好地相结合,则可实现故障的多种模型综合诊断。本文在对采用BP算法进行研究的基础上,提出了一种基于BP神经网络的数控系统故障诊断方法,并通过实验仿真证明,此方法是可行的,具有一定的实用价值。但该方法还需在实际的系统故障中进行验证,并不断完善故障数据库,要想建立更成熟、更完整的故障诊断体系,还有大量的问题有待解决。

略)

猜你喜欢
数控系统权值故障诊断
一种融合时间权值和用户行为序列的电影推荐模型
基于包络解调原理的低转速滚动轴承故障诊断
CONTENTS
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
基于权值动量的RBM加速学习算法研究
基于多维度特征权值动态更新的用户推荐模型研究
因果图定性分析法及其在故障诊断中的应用