基于粒子群优化以及深度胶囊网络的轴承故障诊断(学习记录)

一、摘要

针对发动机轴承损坏情况严重以及基于模型方法预测精度不稳定的问题,提出一种基于深度胶囊网络和粒子群优化算法的轴承故障预测方法。通过将观测振动信号自适应降噪后,基于粒子群优化算法进行稀疏盲分离,得到轴承振 动信号,通过 S 变换获取时域图以及轴承振动特征,其次将时域图经由卷积层卷积,输入到胶囊层进行预测。将高低胶囊层 之间的算法转化为数学优化问题,提升传输效率,最后得出高层胶囊的预测向量。结合具体轴承监测数据进行实例分析,与 基于数据的浅卷积网络以及经验模态分解预测相比,算法体现了更稳定更精确的预测性能。
二、算法及相关原理
2.1 自相关去噪
自相关降噪法在轴承振动信号的降噪中并不依靠先验信息的同时保留有用信息,可以用于观测信号的降噪。根据相关函数式

R_{x}(\tau )=\lim_{T\rightarrow \propto }\frac{1}{T}\int_{0}^{T}x(t)x(t+\tau )dt

其中,T为周期, \tau为时延。可以看出周期信号的自相关系数与原信号同周期,可以将自相关函数应用到轴承信号的降噪中,同时可以最大保留有用信号,有效降低信号中的非周期高斯白噪声。从下图可以看出,在 \tau =0附近的自相关值比较大,这可能是受到了噪声的影响,因此在实际处理时去掉 \tau =0附近的部分自相关数据。当 \tau很大时,自相关值也比较大,将这一部分数据也去掉。
2.2 粒子群算法(PSO)

 粒子群算法时一种模仿鸟群、鱼群觅食行为发展起来的一种进化算法。粒子群算法中每一个粒子的位置代表了待求问题的一个候选解。每一个粒子的位置在空间内的好坏是由钙离子的位置在待求问题中的适应度值来确定。每一个粒子在下一代的位置有其在这一代的位置与其自身的速度矢量决定,其速度决定了粒子每次飞行的方向和距离。在飞行过程中,粒子会记录下自己所到过的最优位置 P,群体也会更新群体所到过的最优位置G 。粒子的飞行速度则由其当前位置、粒子自身所到过的最优位置、群体所到过的最优位置以及粒子此时的速度共同决定。

算法流程:

Step 1. 初始化规模为N的粒子群,每个粒子的速度和位置随机。

Step 2. 评价每个粒子的适应值。

Step 3. 若某个粒子当前的适应值present比之前记录的该粒子最优解pbest更好,则更新pbest。

Step 4. 若某个粒子当前的适应值present比之前记录的全局最优解gbest更好,则更新gbest。

Step 5. 若gbest符合要求,则结束。若gbest不符合要求,粒子根据如下的公式来更新自己的速度和新的位置(G表示最大进化代数,kg表示当前进化代数,pi表示第i个粒子从一开始到当前迭代完成之后所产生的最优解pi,整个种群此时的全局最优解为BestS)

Step 6. 跳转到Step 2。

2.3稀疏盲源分离

假设:x(t)是n个未知的相互统计独立的源信号s(t)的线性组合,即:

x(t)=As(t)

式中,x(t)=[x_{1}(t),x_{2}(t),...,x_{n}(t)]^{T},s(t)=[s_{1}(t),s_{2}(t),...,s_{n}(t)]^{T},A为mxn阶未知混合矩阵。由于A和s未知,盲分离要通过特定算法来实现x(t)的处理,从而获得nxm阶的分离矩阵,用W表示,使得输出信号:

y(t)=Wx(t)=WAs(t)

就是s(t)的估计值。

由于s(t)和A未知,盲源分离一句条件和要求,将s(t)从观测信号x(t)中将源信号分离出来,使得最终分离出的信号无限逼近于源信号s(t),即通过分离矩阵W来实现盲源分离,一些混合信号中含有噪声成分,在处理这类信号的过程中,可以将混合信号和噪声区别开来,分别看作是不同路的信号。

为了保证盲源分离的可能性,需要一些假设条件,通常为:

1)满秩混合矩阵A,源信号数不得超过观测信号数即(n\leqslant m);

2)基于统计要求,各源信号互相统计独立;

3)至多有一个信号是高斯分布。

在缺乏源信号和信息通道的情况下,经过盲分离的信号并不能确定幅值和排列顺寻,这一特征称为模糊性。模糊性虽然存在,但是却并不会影响最终结果。

根据大数定理,多个相互独立的随机变量之和趋向于高斯分布。因此如果观测信号是源信号的线性组合,那么源信号的非高斯性比观测信号的非高斯性更强。根据这个原理,可以通过对分离信号的非高斯性判断来确定互相独立性。分离信号的非高斯型越大,其分离效果越好。

2.4数据聚类的粒子群优化算法

G={z1,z2,...,zn}为数据空间,聚类的目标是将所处空间分为K个聚类区Ci(i=1,2,...,K),使得下列式子成立:

C_{i}\neq \Phi (i=1,2,...,K)

C_{i}\bigcap C_{j}=\Phi (i\neq j)

\sum_{i=1}^{K}C_{i}=G

m_{i}(i=1,2,...,K)为聚类中心,设Y=(m_{1},m_{1},...,m_{k})表示粒子,则将PSO应用于聚类和m_{i}的步骤如下:A=(a_{1},a_{2},...,a_{n})

1)初始化Y=(m_{1},m_{1},...,m_{k})及其速度矢量v;

2)若对Y=(m_{1},m_{1},...,m_{k}),下式成立:

 

||z_{p}-m_{j}||\leqslant ||z_{p}-m_{j}||(k=1,2,...,K,j\neq K)

则把z_{p}归到C_{j}类,用下式作为适应度函数对粒子进行评价

J=\sum_{j=1}^{K}\sum_{i=1}^{K}||z_{i}=m_{i}||^{2}

3)求出第i个粒子迄今为止搜索到的最优位置为p_{i}(i=1,2,...,M)和整个粒子群迄今为止搜索到的最优位置为PBest;

4)用固定点算法对粒子进行迭代;

5)重复第二到第四步,直到满足条件为止。

2.5基于PSO算法的稀疏盲源分离

1)由加速度计得到的振动信号x(t)(t=1,2,...,T)作稀疏变换P转换为系数信号P(x(t)),t=1,2,...,T;

2)采用2.4中的聚类方法对稀疏信号P(x(t)),t=1,2,...,T进行聚类;

3)对聚类后的每一类确定方向矢量a_{1},a_{2},...,a_{n},从而确定混合矩阵A=(a_{1},a_{2},...,a_{n});

4)使用PSO算法求解下列优化问题

min\sum |P(s_{i}(t))|

s.t.:AP(s_{i}(t))=P(x(t)),t=1,2,...,T

5)对P(x(t)),t=1,2,...,T进行逆变换得到P^{-1},从而分离出源信号。

2.6分离效果评价指标

1)PI评价

PI指标是性能指标,利用全局矩阵和广义排列矩阵的差别来评价分离性能,定义如下:

其中g_{ji}为G的第(i,j)个元素,G为全局矩阵,也就是分离矩阵与混合矩阵乘积。PI值越小表示分离效果越好。

2)相似系数

定义\rho _{ij}

为相似系数,最小为0,表示s_{j}s_{i}相互统计独立,最大值为1,表示s_{j}s_{i}完全相似。其中s_{i}为源信号的第i个矢量,s_{j}为经过盲源分离后与s_{i}相对应的分离信号。con表示方差

3)二次残差

该指标计算信号与源信号的二次残差(VQM),其值越小表示分离效果越好,计算如下:

三、基于优化动态路由算法的深度胶囊网络故障预测

 构建基于胶囊网络的故障分类模块,包括:输入层、卷积层、L组胶囊层。其中输入层获得振动信号分离过后的特征。卷积层采用512个步幅为1的7*7卷积核对输入的数据进行卷积,第三层是胶囊层并包含卷积运算,开始构建相应的张量结构作为后续胶囊层的输入,经过多层胶囊预测得到L层胶囊的预测向量,此向量在每个方向上的长度表示在十种故障类型上分别的概率,长度最长也就是概率最大方向上代表的故障便是诊断结果。

在高底层的连接中,u_{i}\in R^{12*1}(i=1,2,...,2304)为2304个低胶囊输出向量,v_{j}\in R^{28*1}(j=1,2,...,800)表示800个高层胶囊的输入向量,变换矩阵W_{ij}u_{i}相乘得到预测向量\hat{u}_{j|i}\in R^{28*1}(i=1,2,...,2304,j=1,2,...,800)\hat{u}_{j|i}乘以耦合系数c_{ij}作为s_{ij}的输入向量。变换矩阵W_{ij}的参数总量为28*12*2304*800=619315200,耦合系数的参数量为2304*800=1843200,决定高底层胶囊间参数量的因素为高底层胶囊的数量以及胶囊输出向量的长度。

1)构造高层胶囊输出向量。由于采用输出向量v_{j}的模长||v_{j}||来表示故障存在的概率,需要其满足大于0且小于1,因此采用非线性函数来构造v_{j}

2)高层输出向量的计算。s_{j}是分配给第j个高层胶囊的预测向量和耦合系数的加权和,其中\hat{u}_{j|i}的计算方式为:

变换矩阵W_{ij}编码了低层胶囊特征和高层特征的关系,包括将12维低层向量u_{i}进行线性变换到28维的向量\hat{u}_{j|i},而变换矩阵的求解通过BP算法、随机梯度法等可以得到。把分配给第j个高层胶囊所有的2304个预测向量通过耦合系数进行加权求和,得到第j个高层胶囊的输出向量为:

3)耦合系数的计算。耦合函数代表着第i个低层胶囊输出向量被分配给第j个高层网络的概率分布,计算方式如下,其中b_{ij}表示低层胶囊i被耦合到高层胶囊j的对数先验概率,由高底层网络的类型和位置决定。

3.2多层胶囊之间的动态路由算法

通过测量高层胶囊的输出向量与底层胶囊的预测向量之间的一致性来迭代改进初始耦合系数。一致性对应于输出向量和预测向量的内积运算结果,根据矩阵理论,两者方向相同时内积最大,改进耦合系数之前由呢及来更新b_{ij}。经过多次迭代,预测向量被较大概率的分配到与输出向量一致性较大的高层网络。

从数学优化角度给出改进的路由算法,将其简化为求解下列数学优化问题:

 基于以上分析,得出全部胶囊层之间的动态路由算法步骤:

1)用f表示胶囊层数,初始化层数为1,即第一层为低层胶囊;

2)输入总层数L、路由算法迭代步数R以及输出向量维数;

3)判断f<L,若是接第4步,若不是则算法结束,得到L层输出向量;

4)选取第f层为低层胶囊,读取低层胶囊总数I,用i表示单个胶囊;选取第f+1层为高层胶囊,读取高层胶囊总数J,用j表示单个胶囊并构建优化问题,设置初始迭代步数r=0;初始化b_{ij}^{}=0;

5)判断r<R,若不是则令f=f+1,转到第三步。若是,接第六步;

6)计算耦合系数、高层胶囊输出向量、更新缩放因子,令r=r+1,接第五步。

采用类似的分析方法,得到其余胶囊层的动态路由算法,从而将底层胶囊所包含的振动信息传递给高层胶囊,在最高阶层的L胶囊层得到预测向量从而对故障进行预测。

四、实验结果

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值