程加堂,艾莉,熊伟
(红河学院 工学院,云南 蒙自 661100)
滚动轴承是机械设备中最易损坏的部件之一,在旋转机械中约30%的故障是由滚动轴承损坏而引起的[1],因此轴承的运行状态是否良好直接关系到整台机器的工作性能。传统的滚动轴承故障诊断方法有振动法、声发射法、温度法、光纤探测法等[2]。但是,由于轴承的故障征兆集合与故障集合之间的映射关系复杂,并且同一个故障征兆也可能对应着多个故障,致使传统的故障诊断方法在实际使用过程中有很大的局限性,故障诊断的精度往往不高。
BP神经网络原理简单且易于实现,具有自适应、自学习的能力,可以逼近任意的非线性系统,已在轴承的故障诊断中得到成功应用[3]。但由于其学习速度很慢、对初始权值的选取非常敏感、易陷入局部极小等缺点,影响其诊断能力。蚁群算法是一种采用正反馈机制、分布式并行计算的仿生优化算法,具有较强鲁棒性,并易与其他算法相结合。文献[4]提出了用蚁群算法来训练BP神经网络的权值,并将其应用于求解非线性模型的辨识问题及倒立摆的控制问题,取得了良好的效果。因此,将蚁群算法和BP神经网络结合起来,使之既具有神经网络的非线性映射能力又具有蚁群算法的快速、全局收敛等特点。并将其用于滚动轴承的故障诊断中,可有效地提高神经网络的训练速度和诊断的准确度。
蚁群算法[5-6](Ant Colony Optimization,ACO)是一种模拟蚂蚁智能行为的仿生优化算法。其基本思想是:蚂蚁个体之间是通过在其走过的路径上留下一种被称为信息素的物质来进行信息传递的,并根据信息素的浓度来选择自己的前进方向。于是在某条路径上,走过的蚂蚁越多,后面的蚂蚁选择该路径的可能性就越大,形成正反馈机制。随着算法的推移,代表最优解路径上的信息素逐渐增多,而其他路径上的信息素却会随着时间的流逝而逐渐消减,最终整个蚁群在正反馈的作用下集中到代表最优解的路径上,也就找到了最优解。蚁群算法具有较强的鲁棒性、优良的分布式计算机制、易于与其他方法结合的优点,目前已经渗透到多个应用领域,成为研究的热点之一。
神经网络中应用最多的是BP网络模型,是一种误差反向传播前馈多层神经网络,学习训练过程由正向传播和误差反传两部分组成。因计算简单、通用性强而得到广泛应用,但是存在收敛速度慢、易于陷入局部极值等缺陷。蚁群算法作为一种全局优化的启发式算法,用来训练神经网络的权值,可避免BP算法的这些缺点。算法的实现步骤如下[7-8]:
(1)初始化。设神经网络中有m个参数(包括所有的权值和阈值),对这些参数进行排序,记为pi(1≤i≤m)。对其中某一参数pi,将其设置为N个随机非零值,形成集合Ipi。令集合中每个元素j的信息素τj(Ipi)=C(1≤j≤N),蚂蚁的数目为h,并设置最大迭代次数等参数,全部蚂蚁置于蚁巢。
(2)遍历。每只蚂蚁从蚁巢出发,依次遍历这N个集合, 根据集合中每个元素的信息素按(1)式选择1个元素,直到蚁群全部到达食物源。
(1)
(3)信息素更新。设所有蚂蚁从蚁巢到达食物源并按照原路径返回蚁巢后,所经过n个时间单位,利用(2)式对信息素进行更新。
τj(Ipi)(t+n)=(1-ρ)τj(Ipi)(t)+Δτj(Ιpi),
(2)
(3)
(4)
式中:Q表示信息素强度,为一常数;ek为将第k只蚂蚁选择的一组参数作为神经网络权值时各训练样本的输出误差,ek=|O-Oq|;O,Oq分别对应于神经网络的实际输出和期望输出。误差越小,相应信息素的增加就越多。
(4)重复上述步骤。直到所有蚂蚁全部收敛到一条路径,即找到了参数的最优解,则算法循环结束。
(5)神经网络二次训练。将蚁群算法找到的最优解作为BP算法的初始权值,进行网络的二次学习训练,直至满足误差要求。
滚动轴承常见的失效形式主要有疲劳、磨损和胶合失效等。当轴承元件如内圈、外圈、滚动体或保持架出现局部故障时,会产生一定频率的冲击响应。根据故障发生的部位不同,其振动特性也不完全相同。由于轴承的振动信号中包含其运行的状态信息,通过安装在靠近轴承承载区的加速度传感器采集信号,经过分析处理后,来提取能够反映轴承运行状态的故障特征向量。由于所采集振动信号的随机性较强,而有量纲的参数指标依赖于历史数据。因而需将信号的参数进行统计计算,转化为无量纲参数。作为无量纲的参数,峰值因子、波形因子等容易提取且对轴承的承载和转速不敏感,无须考虑相对标准值或与以前的数据进行比较。同时,即使测点稍微改变对参数的计算结果也不会产生明显影响。因此,选择峰值因子、波形因子、脉冲因子、裕度因子和峭度5个归一化后无量纲的参数作为表征轴承运行状态的特征向量,相应地将正常、内圈故障、外圈故障、滚动体故障和保持架故障5种运行状态作为神经网络输出的故障类型,并定义它们的编码为:正常(1 0 0)、内圈故障(0 1 0)、外圈故障(0 0 1)、滚动体故障(1 0 1)、保持架故障(1 1 0)。
试验中选择3层BP神经网络进行仿真分析,按照经验公式并经反复训练调试,网络的结构确定为5-10-5。误差收敛因子取0.000 01,学习率0.1,输入层至隐层、隐层至输出层的激励函数分别为tansig与logsig,训练函数为trainlm。蚁群算法的参数设置为:信息素挥发系数ρ=0.05,蚂蚁数目h=10,信息素强度Q=0.1,最大优化次数20。利用文献[9]中滚动轴承5种常见故障类型与特征向量之间的试验关系数据,可得出BP神经网络的训练误差曲线及蚁群神经网络训练误差、目标函数(以网络输出的总体均方误差进行评价)的变化曲线,分别如图1~图3所示。
图1 BP神经网络训练误差变化曲线
图2 蚁群神经网络训练误差变化曲线
图3 蚁群神经网络目标函数变化曲线
由测试数据得出蚁群神经网络和BP神经网络的故障诊断输出结果,见表1。
表1 两种方法的输出结果比较
从图1~图3及表1中可以看出,蚁群神经网络算法在经过26次迭代后,满足预设精度要求,而BP神经网络训练了184步才满足所设精度要求,而且蚁群神经网络的输出误差较小(蚁群神经网络输出的平均绝对误差为0.13%,BP神经网络输出的平均绝对误差为0.42%)。说明蚁群神经网络能有效提高BP神经网络的收敛速度。同时,又能克服其陷入局部极小的缺陷,明显提高了滚动轴承故障诊断的准确度,说明该算法是可行有效的。
将蚁群算法应用于BP神经网络初始权、阈值的优化中,并根据故障类型与其特征量之间的试验数据建立滚动轴承的故障诊断模型。该方法不仅发挥了BP神经网络超强的非线性映射能力,并在一定程度上克服了BP神经网络容易陷入局部极小点、收敛速度慢等缺点,改进了网络的泛化能力,提高了故障诊断的准确性。此外,所采用的方法具有较强的通用性,可推广到其他设备的故障诊断中。