成长鸡群优化RBF神经网络的亚健康诊断模型
2020-05-14郭炜儒邱存月张大波王彦捷
郭炜儒,邱存月,张大波,王彦捷,张 利
(辽宁大学 信息学院, 沈阳 110036)
E-mail:zhang_li@lnu.edu.cn
1 引 言
旋转机械对于现代工业发展具有重大意义,滚动轴承作为最重要的部件之一,决定机器运行的状态.由于复杂的工作环境以及高负荷的工作任务,设备故障是一个渐进的过程,在该过程中设备会处于“亚健康”状态.设备“亚健康”状态自动且准确的识别,可防止设备进一步发生严重故障,造成重大损失,为此,“亚健康”的识别具有关键意义.在旋转机械运行过程中,处于“亚健康”状态的设备振动信号与正常设备振动信号的振动幅度不同,因此可根据采集的振动信号区分滚动轴承的状态[1-4,22].
近年来,已经利用数据驱动技术和深度学习(DL)来识别设备状态,而深度学习源于人工神经网络(ANN)[5],ANN被证明是一种高精度强大的工具,常用的ANN模型如多层感知器(MLP)、递归神经网络(RNN)、径向基神经网络(RBFNN)、概率神经网络(PNN)[6],而RBFNN结构简单,具有较高运算速度和较强的非线性映射能力,且计算速度方面有很大优势.但是RBFNN在中心向量、宽度、以及连接权值等参数选取的问题上,没有直接有效的方法.参数选择怎样才能达到最优,一些学者提出不同参数训练方法:正交最小二乘法[7,8]、基于遗传算法[9,10]、基于局部竞争算法[11]、基于粒子群和改进粒子群算法[12-14].
文献[7]提出将正交最小二乘技术与基于梯度的优化相结合确定基函数中心和初始加权因子,减少训练集的数量提高算法性能;文献[8]基于正交最小二乘算法提出中心选择和学习算法,算法考虑了容错性,解决中心选择问题的容错并行故障情况.文献[9、10]都使用遗传算法优化RBFNN,分别应用到结构可靠性分析、高速电主轴热误差建模.文献[11]基于局部竞争算法来选择RBF中心,提出容错LCA,最小化容错目标函数,得到最优解.文献[12]采用粒子群(PSO)算法确定RBF最佳参数;文献[13]提出改进粒子群优化算法来选择最优参数的RBFNN模型,通过初始化基于熵的种群并使用动态调整的惯性权重和改善学习因子来改进PSO,将其应用于油气管道缺陷识别;文献[14]提出自适应量子粒子群优化(AQPSO)算法,将RBFNN的网络规模及参数映射到粒子的空间位置,定义权值平均最优的位置,对其中的参数进行评价,设计随粒子进化自动调整的系数以及网络规模,实现RBFNN参数的自组织学习.
鸡群算法和多智能群体优化算法如狼群、蜂群、蚁群、粒子群等相似,存在求解精度低、收敛速度慢和易陷入局部最优等缺点,在解决复杂高维优化问题时尤甚[15],为了克服这些缺陷,在国内外相关学者现有研究的基础上,本文提出一种成长鸡群算法,使用混沌搜索求得初始种群,对公鸡陷入局部最优以及适应度低的小鸡问题提出改进,提高算法的寻优精度,降低陷入局部最优的概率,将得到的寻优结果输入到RBFNN进行训练,优化RBFNN模型,最后将提出的模型用于设备状态识别.
2 相关理论基础
2.1 RBF神经网络
径向基函数神经网络(Radial basis function neural network)是单隐含层的三层前馈神经网络,具有强大的自学能力,它能够以任意精度逼近非线性函数[16,17],而且结构简单、收敛速度快.传统的RBFNN由三层网络结构组成.第一层为输入层,主要实现输入向量向隐含层传递;中间层为隐含层,也是RBFNN结构中最重要的一层.经常使用的径向基函数有很多种,如高斯函数,表达式如公式(1)所示:
(1)
其中,Ci为中心向量,σ为宽度.
最后一层为输出层,将隐含层的输出结果通过线性组合得到网络的最终输出值,其表达式如公式(2)所示:
(2)
其中,wjk为隐含层对输出层的权值.
RBFNN结构简单,其性能主要受中心向量、节点宽度和连接权值影响,在RBFNN中,如何确定隐含层节点中心向量和宽度是一个困难的问题.针对传统算法的局限性,利用智能算法求解最优化参数的问题成为国内外学者的研究热点.群体优化方法对寻优问题的目标范围和约束条件没有严格规定,可以与深度学习、数据分析等方法相结合求得最优解,提高模型的性能.相较于传统智能算法,鸡群算法具有较快的收敛速度和较高的收敛精度.本文采用成长鸡群对RBFNN的关键参数进行寻优,使优化后的RBFNN模型可以成功的应用到轴承的故障亚健康识别中,取得了较好的结果.
2.2 鸡群算法
我国学者孟献兵在2014年提出一种用于单目标优化的生物启发算法,鸡群算法(Chicken Swarm Optimization,CSO)[18].CSO在搜索食物期间模仿鸡群的等级顺序和行为,每只鸡代表优化问题的潜在解决方案.每种类型的鸡都有属于自身的移动路径并按照相应的移动规则进行运动,在具体的等级制度下,不同的鸡群间具有竞争关系.从本质上讲,CSO使用以下规则理想化鸡的行为[19]:
1)鸡群由几个群体组成,每个群体的鸡按适应度划分为不同的身份:一只占有优势的公鸡,即具有最佳适应度值,小鸡,即适应度值较低,母鸡,即除公鸡和小鸡外的鸡.
2)当整体鸡群等级制度、支配关系和母子关系达到迭代次数G时,更新等级顺序、支配关系和母子关系.
3)每个子群中,公鸡是这个子群的中心,每个个体都跟随公鸡觅食,公鸡在竞争食物方面具有优势,它们会优先找到食物,同时会随机偷走其它鸡已经找到的食物,小鸡在母亲身边寻找食物.
假设Nc是公鸡的数量、Nd是母鸡的数量、Ne是小鸡的数量、Nf是妈妈母鸡的数量N是整个鸡群总体数量.鸡群由公鸡、母鸡、小鸡三种类型的鸡组成,每个种类的鸡按照不同的位置更新公式更新其位置信息.公鸡具有最高的适应度值,也即在广泛的区域、最大限度的移动来寻找食物,按照公式(3)更新位置:
xi,j(t+1)=xi,j(t)·(1+Randn(0,σ2))
(3)
其中,xi,j(t)表示迭代t次后第i个鸡的位置,Randn(0,σ2)是均值为0、标准差为σ2的一个高斯分布,σ2表达式如式(4)所示:
(4)
其中,ε是一个非常小的数,用于避免零误差,k是公鸡指数,从公鸡群中随机选择,fi是公鸡xi的适应度值.
母鸡位置更新公式如公式(5)所示:
(5)
小鸡位置更新公式如公式(6)所示;
xi,j(t+1)=xi,j(t)+F·(xm,j(t)-xi,j(t))
(6)
其中,m为第i只小鸡跟随的母鸡,F为跟随系数,表示小鸡跟随母鸡觅食,考虑不同小鸡之间的差异,取F为[0,2].
3 成长鸡群算法优化RBF神经网络
3.1 混沌搜索策略
混沌搜索策略是利用混沌运动独特性来提升随机优化算法的效率,混沌搜索过程分为两个阶段:第一阶段是映射阶段,映射时遵循混沌映射规则,将初始值通过混沌Logistic映射到混沌变量空间的取值区间内,利用混沌变量的遍历性和规律性寻优搜索[20];第二阶段是逆映射阶段,将第一阶段得到的解线性转换到初始空间.目前最常用的模型是Logistic映射,其公式如公式(7)所示::
(7)
其中,μ为控制参数.
用混沌搜索策略赋值初始种群的过程为:
2)将这些向量按照式映射到原取值空间.
(8)
其中,M为区间上界、m为区间下界.
3)计算目标函数初始变量的适应度,对适应度进行排序,选取适应度好的前n个初始变量赋值给初始种群.
3.2 成长鸡群算法
智能算法在寻优过程中,容易陷入局部最优,鸡群算法虽然相比于其他算法易陷入局部最优解的概率小,但是仍有一定的概率,从而无法找到最优值.为了能够更好的提升算法寻优精度以及降低陷入局部最优的概率,提出成长鸡群算法(GCSO),对公鸡和小鸡位置更新分别做出改进:对公鸡陷入局部最优的问题,本文利用迭代k次的部分适应度高的小鸡粒子,继承公鸡特性并同时自我学习,最终得到小鸡粒子来代替与成长后小鸡粒子数量相同的部分公鸡粒子;对适应度低的小鸡粒子,让其与适应度高的小鸡粒子学习,同时向未知位置探索.改进后达到k次迭代时,公鸡的位置更新公式如公式(9)所示:
xn+1,j(t+1)=α·xn,j(t)+(1+ω·rand)·xi,j(t)
(9)
其中,α表示继承公鸡特性权重,ω为成长系数.
将小鸡的适应度值大小按照4:1的比例分为两类,第一部分高适应度的小鸡粒子正常迭代,剩余适应度低的小鸡粒子位置更新公式如公式(10)所示:
(10)
其中,xl,j(t)为高适应度的小鸡粒子,H为跟随系数,表示小鸡跟随适应度值高的小鸡觅食.
改进后的成长鸡群算法,解决公鸡陷入局部最优的问题,将小鸡分为两类,适应度高的小鸡正常迭代,适应度低的小鸡加入跟随系数,让其继续跟随适应度高的小鸡觅食.
3.3 成长鸡群算法优化RBF神经网络模型
根据成长鸡群算法来寻优RBF神经网络的中心向量和节点宽度,将中心向量和节点宽度映射为公鸡粒子的位置.成长鸡群算法优化RBF神经网络流程如下:
1)设置迭代次数、种群规模、同类型鸡的占比比例,最大迭代次数G等相关参数;
2)根据混沌搜索求得初始种群;
3)将2)中得到的初始种群带入鸡群算法,得到个体当前最好的位置temp_x和鸡群全局最好位置best_x,t=1;
4)如果t%G=1,对适应度排序,将整个鸡群分为若干子群,重新建立新的鸡群等级制度;
5)使用公式(3)、公式(5)、公式(6)分别更新公鸡、母鸡和小鸡的位置,并分别计算每个个体的适应度值;
6)如果t%G=2,使用公式(9)、公式(10)分别更新公鸡粒子位置与小鸡粒子位置;
7)更新鸡群个体当前最优位置信息以及鸡群全局最优位置信息;
8)迭代次数t=t+1,若符合终止条件则停止迭代并输出全局最优解,否则转到4);
9)得到寻优结果带入RBFNN进行训练,得到训练模型.
成长鸡群算法的流程图如图1所示:
4 实验结果与分析
4.1 实验数据采集
实验的轴承数据来自美国西储大学的实测数据,实验平台由2马力的电动机、扭矩传感器/编码器、测功机和控制电子设备组成.设备健康状态直径0.007英寸.通过使用加速度计收集振动数据,加速度计放置在电机壳体的驱动端.
图1 成长鸡群算法的流程图
本文采用的是轴承数据集中数字信号采样频率为12000Hz的驱动轴承数据用于轴承设备健康状态实验,其中外圈的信号来自6点钟方向,数据参数如表1所示.
表1 驱动轴承数据
Table 1 Drive bearing data
故障直径(ft)电机负载电机转速正常信号内圈故障信号滚动故障信号外圈设备健康信号0.00701797X97X105X118X1300.00711772X98X106X119X1310.00721750X99X107X120X1320.00731730X100X108X121X133
4.2 实验数据预处理
实验平台采集的加速度振动信号平稳性较差,存在噪声干扰,但具有一定的周期性.因此,在输入模型前需要对信号进行处理.由于噪声在空间域中无连续性,经小波变换[21]后具有较强随机性导致系数较小,而有效信号在空间域呈现连续的特性,经小波变换后系数较大,所以选择小波变换对数据进行降噪处理.对轴承加速度信号做大量测试后,选取小波基函数为db9,分解层数为5层.根据公式(11)计算sigma.
(11)
其中,th为标准偏差,N为整个信号长度.
选取0负载中正常数据、3种设备状态数据对其降噪处理.由于时域特征参数多,数据经过特征选取得到高维度的特征向量,所以选取四种典型的时域特征参数,如表2所示.
为了提高准确率,在进行特征选择后,采用归一化处理得到的数据,公式如式(12)所示:
(12)
表2 4种时域特征
Table 2 Four kinds of time domain feature
指标名称计算公式均值μx=1n∑ni=1xi峰值xp=maxxi幅值平方和xc=∑ni=1xi2标准差ω=1n-1∑ni=1xi-μx()2
公式(12)中,Xt是归一化后的结果,X是原始数据,m和n分别是样本最大值最小值.
4.3 性能分析
为了对比成长鸡群算法的优势,选取常用的五类不同基准测试函数:Ackley、Griewank、Rastrigin、Alpine、Scherfel.利用函数迭代曲线来直观的显示每个算法的性能.不同测试函数的收敛曲线如图2至图6所示.
综合分析CSO、PSO、GA、GCSO在不同函数下的适应度变化,在Rastrigin函数中,PSO算法陷入局部最优,虽然在后续性能测试中,增加种群规模和迭代次数,PSO算法也可以达到较低的收敛精度,但是相同速度下GCSO收敛速度更快、精度高,在其他四种函数中GCSO算法均表现最优,无论是收敛速度还是最后结果都优于其它三种算法.
图2 Ackley函数收敛曲线
图3 Griewank函数收敛曲线
图4 Rastrigin函数收敛曲线
图5 Alpine函数收敛曲线
图6 Scherfel函数收敛曲线
为了更能直观的看出各个算法的性能,本文用GCSO和原始CSO、PSO、GA算法进行对比,测试维度为30,种群规模为1500,迭代次数设置为2000,六种函数的最小值都为0,算法寻优结果越小,说明算法的收敛精度越高,四种算法测试结果对比如表3所示.
从表3可以看出,成长鸡群算法均表现出较好的搜索性能.相比于PSO、GA、CSO算法,GCSO算法在六组测试函数上的寻优精度、稳定性更好.GCSO算法可以提高全局搜索精度、有跳出局部最优的能力.
为了验证GCSO-RBFNN模型的性能,处理后负载为1、2、3的轴承数据各1000条,分别对GCSO-RBFNN模型和原始RBF神经网络模型进行性能测试,传统RBF神经网络模型利用无监督学习的K均值聚类确定中心,算法迭代次数参数设置为300,种群规模设置为1000,继承公鸡特性权重设置为0.9,成长系数设置为0.7,选取80%的轴承数据作为训练集,用剩余20%的轴承数据作为测试集,用相同的训练集与测试集数据对两种模型进行训练,重复10次求平均分类准确率,准确率对比如表4所示.
从表4可以看出,在各类负载情况下,GCSO-RBFNN模型的准确率高于传统的RBFNN模型,能较好检测出数据对应的滚动轴承的状态.
对传统RBF神经网络模型、信息重构的改进机极限学习机模型(WPE-FWELM)[21]和改进RBF神经网络模型进行对比.将各类负载的正常、故障数据混合在一起,选取训练集数据大小为312,测试集数据大小为200,测试3种模型检测性能,得到的准确率和时间对比如表5所示.
表3 四种算法测试结果对比表
Table 3 Comparison table of test results of the four algorithms
函数算法CSOPSOGAGCSOAckley标准差0.0368580.4474540.2282250.016332平均值0.0956651.3217560.9593560.085421Griewank标准差0.0003180.0178580.0964850.000129平均值0.0006350.0097670.0552520.000375Rastrigin标准差0.0800666.3318560.0399660.101408平均值0.14556633.331090.3192890.120222Alpine标准差0.0014290.0006270.0042150.000932平均值0.0030140.0030920.0294670.001284Scherfel标准差0.0286600.0149480.0030060.028588平均值0.1045870.0594560.6493780.041467
表4 3种负载准确率对比
Table 4 Comparison of accuracy of three loads
模型数据负载1负载2负载3传统RBFNN91.25%82.8125%87.9385%GCSO-RBFNN95.5%93.375%94.125%
表5 准确率和时间对比
Table 5 Accuracy and time comparison
模型全部类型负载数据时间(s)传统RBFNN88.81%0.5434WPE-FWELM92.38%0.4176PSO-RBFNN91.70%0.6627GA-RBFNN90.00%0.7235CSO-RBFNN92.21%0.6167GCSO-RBFNN94.19%0.5986
从表5可以看出,虽然GCSO-RBFNN比传统的RBF神经网络花费时间多,但是准确率却高出5.38%,与近年提出的WPE-FWELM模型相比,能够更准确识别轴承的状态,与其它的智能算法PSO、GA、CSO优化RBFNN相比,准确率更高且花费时间较少.
5 结束语
由于RBF神经网络不能准确计算中心向量、节点宽度,使其达不到满意的结果,本文针对这一问题用成长鸡群算法对参数进行择优,对于初值的选取,采用混沌搜索策略,成长鸡群算法改进原始鸡群算法的公鸡位置更新公式以及适应度低的小鸡位置更新公式,输出优化后的参数,完成RBF神经网络亚健康识别模型的建立.实验表明,本文算法取得了较高的准确率,能够对设备的健康状态准确识别.但是本文进行的轴承状态识别均为离线诊断,在线和实时故障识别有待进一步研究.