本发明涉及设备故障诊断领域,特别涉及一种基于混合注意力实现单缸故障数据驱动全缸诊断的柴油机整机故障诊断方法。
背景技术:
1、柴油机是众多重要装备的动力核心,在国防装备、工程机械、发电机组和船舶动力等领域发挥着重要作用。由于经常处于恶劣、复杂工况等运行环境,柴油机容易出现工作性能下降甚至故障,不但影响工作效率,严重时还会造成不可估量的经济损失,甚至威胁工作人员的生命安全,影响恶劣。为此,已有大量学者对柴油机故障诊断方法进行了广泛而深入的研究。然而,当前振动数据驱动的柴油机故障诊断方法主要是基于单缸故障数据训练的单缸诊断模型,所构建的模型往往很难直接适用于柴油机整机全部气缸的故障诊断,每个缸的故障诊断模型需要依赖于各自的故障数据,但实际工程中难以获取全部气缸的故障数据,缺乏基于单缸数据驱动全缸诊断的柴油机整机模型。另外,柴油机多缸传感器的振动信号也未能得到充分融合利用。
2、因此,本专利采用自注意力机制来自适应地捕捉不同位置特征之间的长程依赖关系,充分挖掘单缸数据中传统方法难以获取的深层信息;采用互注意力机制,充分融合多缸柴油机各缸振动信号之间的关联信息,获取柴油机整机层面更为全面和综合的信息,并进一步构建出多缸柴油机整机故障诊断模型;同时,依据柴油机振动信号机理知识,提出了一种权重初始化方法,来加快和优化模型的训练过程;最后提出了一种多缸柴油机整机故障诊断模型的训练策略,实现了利用单缸故障数据驱动柴油机全缸诊断,对工程实践中柴油机故障诊断技术应用具有重要意义。
技术实现思路
1、为解决现有技术的缺陷,尤其是针对柴油机全缸故障数据难以获取、基于单缸故障数据建立的全缸故障诊断模型准确率降低的问题,本发明提出了一种基于混合注意力实现单缸故障数据驱动全缸故障诊断的柴油机整机故障诊断方法,能够通过自注意力整合单缸数据,利用互注意力机制实现各缸信号特征的有效融合,并充分结合各缸结构一致性和信号时延性的特性,实现从整机层面提高故障诊断的准确率和泛化能力。
2、本发明提供的一种基于混合注意力实现单缸故障数据驱动全缸诊断的柴油机整机故障诊断方法,其特征在于,包括以下步骤:
3、s1:采集柴油机不同运行工况下的样本数据集,对数据集进行归一化处理,并利用独热编码构建数据集的标签集,并将数据集划分为训练集、验证集和测试集;
4、s2:基于柴油机缸盖振动特性计算并赋予缸盖振动信号一个初始化权重值,从而实现融合振动信号机理知识、优化和加速后续模型的训练过程;
5、s3:构建柴油机整机多缸故障诊断模型,在所构建的模型中引入自注意力和互注意力组成的混合注意力机制,实现了单缸特征间权重的自适应分配和各缸振动信号特征之间的有效融合;
6、s4:设计多缸柴油机整机故障诊断模型的训练策略,实现利用单缸故障数据建立的故障诊断模型适用于柴油机整机全部气缸的诊断;
7、在本发明的一个实施例中,在步骤s1中,所述采集柴油机不同运行工况下的样本数据集,对数据集进行归一化处理,并利用独热编码构建数据集的标签集,并将数据集划分为训练集、验证集和测试集,包括如下步骤:
8、s101:收集不同运行状态下的柴油机缸盖试验数据,整理获得柴油机总的样本数据集d,如下述公式所示:
9、d=[d1,d2,…,di,…,dn] (1)
10、式中,d表示获得的柴油机总样本数据集,di表示第i种运行工况下的样本数据,n表示柴油机的运行工况数量;
11、
12、式中,表示第i种运行工况下多缸柴油机中第j个气缸的样本数据,m表示多缸柴油机中气缸的数量;
13、
14、式中,表示第i种运行工况下第j个气缸的第f种工作状态的样本数据,f表示工作状态的种类数量;
15、s102:将获得的数据集中的每一个样本数据进行归一化预处理,如下式所示:
16、
17、式中,x表示数据集中的一个样本数据,xnew表示归一化预处理之后的样本数据,xmean表示该样本数据的平均值,xmax表示该样本数据中的最大值,xmin表示该样本数据中的最小值;
18、s103:对收集得到的数据集d划分训练集和测试集,如下式所示,并利用独热编码设置样本数据的独热标签;
19、d=[(d(1,train),d(1,test)),…,(d(i,train),d(i,test)),…,(d(n,train),d(n,test))] (5)
20、
21、式中,d(i,train)表示第i种运行工况下的训练集,d(1,test)表示第i种运行工况下的测试集,其中,表示气缸1只包含第i种运行工况下的正常工作状态数据,表示气缸j包含第i种运行工况下的全部工作状态数据,另外,需要说明的是在训练集和测试集中,仅是表示的含义相同,但是具体的样本数据不同。
22、在本发明的一个实施例中,在步骤s2中,所述基于柴油机缸盖振动特性计算并赋予缸盖振动信号一个初始化权重值的方法包括如下步骤:
23、s201:在同一运行工况下正常和故障数据均已知的气缸振动信号中,分别在各个工作状态下随机选择v组数据,组合形成v组包含正常和故障数据的数据集,其中v的每一组数据包含该气缸不同工作状态下的样本数据;
24、v=[v1,...,vi,...,vm] (8)
25、vi=[v(i,1),...,v(i,f),…,v(i,f)] (9)
26、式中,vi表示数据集v中的第i组数据,包含有f种工作状态下的样本数据,v(i,f)表示第i组数据中的第f种工作状态下的样本数据,vv表示数据集v中总共包含有v组样本数据;
27、s202:针对柴油机缸盖振动信号中有用的信息通常在5kz以上的特点,对v组数据进行5kz的高通滤波降噪处理,将5kz以下的噪声信号全部滤除,来获取更具代表性和普适性的柴油机缸盖正常和故障振动信号数据集;
28、s203:对v组数据中的每组数据做相同的分段处理,计算每组数据中每一段正常和故障信号之间的幅值差异值,再将v组数据中相同分段对应的幅值差异值加和、取平均,再将正常与不同故障之间的幅值差异值进行加和、取平均,并进行归一化处理得到最终的初始化权重值矩阵,如下式所示:其中假定vi中第1个v(i,1)表示正常工作状态下的样本数据,
29、v(i,f)=[v(i,f,1),…,v(i,f,l),…,v(i,f,l)](10)
30、y(i,f,l)=max(v(i,1,l))-max(v(i,f,l)),f=2,...,f,l=1,…,l (11)
31、
32、iw=y/max(y),y=[y1,...,yl,...,yl] (14)
33、式中,v(i,fl)表示第i组数据中第f种工作状态下样本数据中的第l段数据,l表示划分的分段数量,v(i,1,l)表示第i组数据中正常工作状态下样本数据中的第l段数据,y(i,f,l)表示第i组数据中正常工作状态与第f种工作状态下第l段数据中最大值的差值,yf表示正常工作状态与第f种工作状态下v组样本数据中不同分段下的均值列表,y表示正常与全部故障状态不同分段下的均值列表,构成一个一维矩阵,长度为l,iw表示归一化处理之后得到的最终初始化权重矩阵;
34、在本发明的一个实施例中,在步骤s3中,所述构建柴油机整机多缸故障诊断模型的方法包括如下步骤:
35、s301:对输入数据进行分段处理,并将每一段数据分别乘于初始化矩阵iw中对应分段的权重值,得到初始化加权之后的数据值,如下式所示:
36、
37、式中,d(i,train)表示模型输入的第i种运行工况下多缸柴油机的原始训练数据,表示初始化加权之后的多缸柴油机试验数据,表示第i种运行工况下第j个气缸分段l的数据,ωl表示分段l所对应的初始化权重值,l表示分段的数量,表示第i种运行工况下第j个气缸经过初始化加权之后的数据;
38、s302:采用自注意力机制模块和一维卷积神经网络模块构建多缸柴油机中单个气缸通道的故障诊断模型,以第j个气缸通道为例,具体的方法步骤为:
39、将初始化加权之后的单缸数据作为模型的输入;
40、构建一维卷积网络层,获取输入数据的深层特征表示,具体公式如下:
41、
42、zj=[z(j,1)…,z(j,c),…,z(j,c)] (19)
43、
44、式中,f(j,c)表示卷积层中第c个通道计算后的数据特征,f(·)表示激活函数,本部分采用relu激活函数,w(j,c)表示第c个通道的卷积核权重,本部分采用xavier初始化方法设置权重初始值,表示卷积运算符,b(j,c)表示第c个通道的卷积核偏置,本部分采用he初始化方法设置偏置初始值,表示第c个通道中第k个池化窗口的最大值,表示第c个通道中第k个池化窗口中的特征值,w表示池化窗口的宽度,本部分取值为3、5、8中的一个,k表示池化窗口的数量(输出特征数量),is表示数据特征f(j,c)中特征的数量,si表示池化窗口之间的间隔步长,本部分取值为1、2、3中的一个,z(j,c)表示经过最大池化处理之后通道c的深层特征,zj表示经过卷积神经网络处理得到的深层特征,c表示通道数目,本部分取值为16、32、64中的一个,另外,需要说明的是当w、si、c的取值变化时,模型的准确率也会发生变化,通过设置取值矩阵xvalue对模型进行迭代训练,选择模型准确率最高的一组取值;
45、
46、构建三层上述的一维卷积神经网络层,并将最后一层的输出输入到自注意力层中,获取深层特征之间的相对重要性以及长程依赖关系,具体公式如下:
47、
48、式中,f(j,sa)表示经过自注意力机制加权处理之后的深层特征,qj、kj、vj分别表示对输入经过线性变换之后得到的三个矩阵query、ker、value,是可学习的权重矩阵,本部分采用下边界为0,上边界为1的randomuniformm初始化方法设置三个矩阵的初始值,表示缩放因子,其中dk的取值为矩阵kj中列的数量,来更好地控制梯度的稳定性和模型的训练效果,softmax表示进行归一化操作;
49、将处理得到的深层特征再进行一次两层一维卷积神经网络层和自注意力机制层处理,然后进行全局平均池化处理,深层特征重新变为一维,再经过全连接层处理,最后,应用softmax分类层获得模型的故障诊断结果,具体公式如下:
50、
51、f(j,d)=f((ω(j,f))t·f(j,gap)+b(j,f)) (26)
52、式中,f(j,gap)表示经过全局平均池化处理之后的深层特征,表示最后一层自注意力机制层输出特征中的第c′个通道的深层特征,表示第c′个通道所包含的深层特征的个数,c′表示通道的数量,f(j,d)表示全连接层的输出特征,f(·)表示激活函数,本部分采用relu激活函数,ω(j,f)表示全连接层的权重,本部分采用xavier初始化方法设置权重初始值,b(j,f)表示全连接层的偏置,本部分采用he初始化方法设置偏置初始值;
53、
54、式中,y(j,predict)表示第j个气缸通道输出的故障预测概率矩阵,β(j,i)表示与连接第i个神经元的权重,本部分采用均值为0.5,标准差为0.1的randomnormal初始化方法设置权重初始值,f(j,d,i)表示第i个神经元的输入特征,bj表示偏置,本部分采用均值为0,标准差为0.1的randomnormal初始化方法设置权重初始值,f表示故障类别的数量;
55、并采用交叉熵损失函数计算模型的故障分类误差,具体公式如下:
56、
57、式中,lsingle表示第j个气缸通道单缸故障诊断模型总的分类损失,ns表示输入的样本数量,lns表示第ns个样本的分类损失,y(i,ns,ture)表示样本ns的真实故障类别,y(i,ns,predict)表示样本ns的模型预测故障类别;
58、s303:在上述构建的单缸故障诊断模型基础上,应用互注意力机制,建立各缸之间的特征融合层,实现多个气缸间深层特征的融合,进而构建出柴油机整机多缸故障诊断模型,具体的方法步骤为:
59、应用互注意力机制将各个气缸通道的单缸故障诊断模型中自注意力机制上一层的一维卷积层输出的深层特征进行融合,具体公式如下:
60、
61、式中,γ(j,m)表示气缸j与气缸m之间的融合权重矩阵,zj表示气缸j的一维卷积层输出,m表示柴油机的气缸数量,f(j,ma)表示气缸j与其余气缸之间经过互注意力机制处理后得到的气缸j的深层特征融合矩阵;
62、将经过互注意力机制得深层融合特征与自注意力机制处理得到的深层特征进行融合,作为各个气缸通道中下一个一维卷积层的输入,具体公式如下:
63、f′j=concatention(f(j,ma),f(j,sa)) (31)
64、式中,f(j,sa)表示气缸j经过自注意力机制加权处理之后的深层特征,f′j表示气缸j经过自注意力机制和互注意力机制融合处理之后的深层特征;
65、将深层特征f′i作为输入,各个气缸通道再次执行一维卷积层、自注意力机制层和混合注意力机制融合层,以及各个气缸通道的全局平均池化处理,全连接层处理,最后,将各个气缸通道的全连接层特征进行融合,得到多缸柴油机全部气缸的深层特征,将深层特征输入softmax分类层,实现多缸柴油机的整机故障诊断,具体公式如下:
66、
67、式中,表示多缸柴油机整机全连接层的输出特征,表示气缸1的全连接层输出特征,表示气缸i的权重,本部分采用xavier初始化方法设置权重初始值,表示气缸i的偏置,本部分采用he初始化方法设置偏置初始值,表示多缸柴油机整机输出的故障预测概率矩阵;
68、采用交叉熵损失函数计算多缸柴油机整机故障诊断模型的故障分类误差,具体公式如下:
69、
70、l=lsingle+lmultiple (35)
71、式中,lmultiple表示多缸柴油机整机的故障分类损失,ns′表示输入的样本数量,lns′表示样本ns′的损失,表示样本ns′的真实标签,表示样本ns′的预测标签,,l表示多缸柴油机整机故障诊断模型总损失;
72、在本发明的一个实施例中,在步骤s4中,所述设计多缸柴油机整机故障诊断模型的训练策略,实现利用单缸故障数据建立的故障诊断模型适用于柴油机整机全部气缸的诊断,包括如下步骤:
73、s401:采集得到第i种运行工况下的柴油机缸盖振动信号di,假设仅知道气缸j正常和故障的数据,其余气缸均仅知道正常数据;利用气缸j计算s203中的权重初始化矩阵;对各个气缸振动信号做5khz的高通滤波、s102的归一化预处理;
74、s402:将预处理之后的振动数据集输入s3中所构建的模型,训练得到已知气缸j正常和故障数据下的故障诊断模型;
75、s403:将气缸j的单缸故障诊断模型通道进行权重冻结;并将气缸j的故障数据,通过调相位的操作,依次放入其余气缸[1,…,j-1,j+1,…,m]所在的单缸故障诊断通道中;每放入一个气缸通道,更新一次权重初始化矩阵,训练一次s3中所构建的模型,并在训练完成后将该气缸通道的权重进行冻结;重复步骤直至训练完成所有气缸通道,最终得到多缸柴油机整机故障诊断模型;
76、其中调相位的方法具体公式如下:
77、sp=connect(s[angle/720×num:num],s[1:angle/720×num]) (36)
78、式中,sp表示相位调节之后得到的信息,connect(s1,s2)表示将两段信号s1和s2进行拼接操作,s表示柴油机一个工作周期(曲轴转角为720°)的信号,s[angle/720×num:num]表示取信号s中angle/720×num位置到num位置之间的数据,s[1:angle/720×num]表示取信号s中1位置到angle/720×num位置之间的数据,angle表示两个气缸间相位的差值,num表示采集的数据点数;
79、本发明针对多缸柴油机故障诊断模型大多是基于单个气缸故障数据构建,且构建的模型对多缸柴油机其余气缸进行故障诊断时准确率降低的问题,提出了一种基于混合注意力实现单缸故障数据驱动全缸诊断的柴油机整机故障诊断方法,依据多缸柴油机缸盖振动信号的振动特性,获取了权重初始化矩阵;同时,结合一维卷积神经网络、自注意力机制和互注意力机制,构建了一个多缸柴油机故障诊断模型;进一步,设计了一种多缸柴油机故障诊断模型的训练策略,利用已知故障数据的气缸,实现对其余未知故障数据气缸的诊断。本发明不仅为柴油机故障诊断提供了一种基于混合注意力的整机故障诊断模型,而且提出了利用单缸故障数据驱动全缸诊断的新思路和策略,对工程实践中柴油机故障诊断技术应用具有重要意义。
80、本发明的有益技术效果在于:
81、1、本发明提出了一种单缸故障数据驱动的柴油机整机故障诊断模型,从柴油机整机层面构建故障诊断模型,而非仅仅构建柴油机单个气缸的故障诊断模型。能够实现利用单缸故障数据完成对柴油机整机全部气缸的故障诊断。
82、2、本发明通过在所构建的模型中引入自注意力和互注意力组成的混合注意力机制,实现了单缸特征间权重的自适应分配和各缸振动信号特征之间的有效融合。
83、3、本发明融合柴油机缸盖振动信号机理知识,提出了一种柴油机整机多缸故障诊断模型的训练策略,同时依据机理知识构建了权值初始化矩阵,进一步优化了模型的训练过程。
1.基于混合注意力实现单缸故障数据驱动全缸诊断的柴油机整机故障诊断方法,其特征在于,包括以下步骤: