一种基于动态联邦学习的设备故障诊断方法转让专利

申请号 : CN202211330534.1

文献号 : CN115562244B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘晶赵益晨季海鹏盛译瑶张恒瑞

申请人 : 河北工业大学

摘要 :

本发明公开了一种基于动态联邦学习的设备故障诊断方法,包括下述步骤:S1.搭建包含局部更新模块与中心聚合模块的联邦学习框架;S2.所有工厂子端对故障数据进行采集、归一化等数据处理;S3.在局部更新模块中构造子端SAC‑BIGRU故障诊断模型,对预处理后的数据进行训练并进行模型更新,同时初始化各子端的平衡系数(ω);S4.中心聚合模块利用动态加权平衡算法(Fed‑Dwb),根据子端更新后的ω动态调整模型上传参数比例;S5.中心端对局部模型完成中心聚合,生成新一轮全局模型下发至工厂子端;S6.局部更新模块利用Fed‑Dwb调整各子端ω,并根据子端的ω动态调整子端模型的训练次数,之后进入下一轮通讯。

权利要求 :

1.一种基于动态联邦学习的设备故障诊断方法,其特征在于,包括下述步骤:

S1:搭建包含局部更新模块与中心聚合模块的联邦学习框架;

S2:对轴承型号为6205‑2RS JEM SKF的深沟球轴承,使用电火花加工技术分别对置于驱动端的轴承内圈、滚动体和轴承外圈三个位置人为设置不同等级的单点故障,故障尺寸分别为0.007inch、0.0014inch和0.0021inch,四种不同的负载为0hp,1hp,2hp,3hp,电机驱动端振动传感器采集正常状态、内圈故障、外圈故障和滚动体故障4种状态下的振动信号得到多个数据点,所有工厂子端对故障数据进行数据预处理,按随机比例的故障数据设置各工厂子端的数据总量,同时以7:3的比例划分训练集与测试集;

S3:在局部更新模块中构造子端带注意力机制的双跳门循环单元(Skip Attention Connection‑Bidirectional Gate Recurrent Unit,简称SAC‑BiGRU)故障诊断模型,在原跳跃连接上融入带注意力机制的跳跃连接(Skip Attention Connect,简称SAC)结构,即在跳跃连线上加入了权重计算,对数据特征进行权重提取,既保证数据特征提取的完整性,同时也使模型收敛速度更快,特征提取模块由两层双向跳跃门循环单元BIGRU(Bidirectional Gate Recurrent Unit)网络构成,调整BIGRU网络的记忆单元数目和神经网络的层数,实现对不同维度信号特征的充分提取,在第二个BIGRU层后加入改进后的卷积块注意模块CBAM(Convolutional Block Attention Module),对主通道上的数据进行权重计算,有效提取数据的时序特征,并在BIGRU层外加入了融合改进CBAM模块的残差连接,通过对CBAM模块中的Channel Attention模块进行优化改进,进一步提升改进后的网络模型性能,选择一维全局平均池化代替用于处理图片分类任务的二维全局平局池化,用一维最大池化代替二维最大池化,输入数据同时进行一维全局平均池化操作和最大池化操作得到两个标量,接着通过两层全连接神经网络,将从MaxPool与AvgPool提取的不同维度特征实现转换融合,将原先不同维度的特征转化为可叠加的特征进行拼接,得到新的特征池,通过Sigmoid激活函数得到权重系数,将权重系数和原来的特征相乘即可得到缩放后的新特征,由BIGRU层、注意力机制、跳跃连接、BN层、Dropout层、全连接层和softmax分类函数输出层构成,利用构造的故障诊断模型对处理后的数据进行训练并完成模型更新,随后初始化各子端的平衡系数ω,{ω1,ω2,…,ωn}→p;

S4:在局部更新模块与中心聚合模块的通讯中,中心聚合模块利用动态加权平衡算法Fed‑Dwb,根据子端更新后的ω动态调整模型上传参数比例,动态调整送往中心端的参数总量;

S5:中心端对子端模型完成中心聚合,生成新一轮全局模型下发至工厂子端;

S6:在中心聚合模块与局部更新模块的通讯中,各子端接收中心端发送的全局模型,随后局部更新模块利用Fed‑Dwb调整各子端ω,并根据子端的ω动态调整子端模型的训练次数,之后进入下一轮通讯。

2.根据权利要求1所述的一种基于动态联邦学习的设备故障诊断方法,其特征在于:所述步骤S4中,局部更新模块与中心聚合模块的通讯中,包括以下步骤:

2‑1)动态加权平衡算法Fed‑Dwb利用平衡系数 动态调整各子端的训练次数, 是由三部分值动态加权求和得出:其中, 表示通讯效率值,即当前子端模型准确率与上传参数比例的乘积与本轮通讯时长的比值; 表示准确率差异值,即前后两个通讯轮次子端模型准确率的差异值; 表示模型距离值,即前后两个通讯轮次子端模型和全局模型的距离值,三部分值按照不同权重加和得到 其中η,μ,λ代表不同的权重系数, 代表第n个子端第k次通讯的上传参数比例,Tk代表第k次通讯的通讯时长, 表示第k轮通讯中所选第n个子端模型的故障诊断率, 表示被选子端局部模型与全局模型之间的距离;

2‑2) 具体计算式根据欧式距离计算公式得出,设第k轮子端n完成本地更新后局部模k‑1 k‑1

型为 第k‑1轮的全局模型为w ,局部模型为 与全局模型为w 的标准欧式距离记为k‑1 k‑1

其中, 和w 是包含相同维度和数量的张量, w =

(b21,b22,.....b2n),样本 方差为Sk:

2‑3)在子端到中心端的通讯中,被选子端会根据自身的 动态加权调整上传参数量比例, 越高上传模型参数比重越大,反之上传模型参数比重越小,在联合学习过程中,每轮训练都会随机从所参与联合建模的子端中选择固定百分比c的子端N参与本轮通信,随后将N个子端的 按大小排列:

2‑4)按照各子端的 大小,参与通讯子端的上传模型参数比例ζ随之动态调整其中表示第n个子端在第k轮通讯中上传的参数量:

3.根据权利要求1所述的一种基于动态联邦学习的设备故障诊断方法,其特征在于:所述步骤S5中,中心端对子端模型完成中心聚合,生成新一轮全局模型下发至工厂子端,包括以下步骤:

3‑1)中心服务器初始化模型参数,执行若干轮,每轮选取至少1个至多K个客户端参与训练,接下来每个被选中的客户端同时在自己的本地根据服务器下发的本轮模型wt,用自己的数据训练自己的模型 上传回服务器;

3‑2)服务器将收集来的各客户机的模型根据各方样本数量用加权平均的方式进行聚合,得到下一轮的模型wt+1:其中nk为客户端k上的样本数量,n为所有被选中客户端总样本数量。

4.根据权利要求1所述的一种基于动态联邦学习的设备故障诊断方法,其特征在于:所述步骤S6中,局部更新模块利用Fed‑Dwb调整各子端ω,并根据子端的ω动态调整子端模型的训练次数,包括以下步骤:

4‑1)在中心端到子端的通讯中,中心端完成全局模型聚合后会下发全局模型,参与通讯的子端会根据自身 大小动态调整子端模型训练次数,随着通讯轮次的增加, 会随之改变:

4‑2)比较前后两个通讯轮次各子端的 表示工厂子端n在第k轮通信的平衡系数,进而动态调整子端训练次数:其中En代表第n个子端模型的训练次数,E,e分别代表训练次数的上下限,若参与本轮通讯子端的 比上一通讯轮次的 大,通讯子端的训练次数自适应增加一次,反之,则自适应减少一次;

4‑3)在本轮通讯中未被选中子端的 保持初始值不变;

4‑4)之后进入下一轮通讯。

说明书 :

一种基于动态联邦学习的设备故障诊断方法

技术领域

[0001] 本发明涉及工业设备故障诊断及联邦学习技术领域,尤其涉及一种基于动态联邦学习的设备故障诊断方法。

背景技术

[0002] 现代工业领域中的设备呈现向大型化、复杂化方向发展的新趋势,其正常运行关系到工厂的经济效益和产品质量。随着设备可靠性增强,其单一工厂设备故障数据越来越少,而工厂间出于隐私保护等原因无法共享数据。因此,如何在保护隐私的前提下,构建有效的联合训练模型变得十分重要。近年来,联邦学习逐渐引起研究者们的广泛关注。联邦学习可以保障隐私安全的前提下,在多参与方之间开展高效的机器学习。
[0003] 随着联邦学习的发展,部分学者将联邦学习应用在工业领域中。文章[刘晶等.基于联邦增量学习的工业物联网数据共享方法[J].计算机应用,2022,42(04):1235‑1243.]针对故障数据量不均衡以及新增量大的问题,提出一种基于联邦增量学习的数据共享方法。该方法加快了新增状态数据与原行业联合模型的融合,进一步提高了故障诊断率。文章[Geng D等.Bearing fault diagnosis based on improved federated learning algorithm[J].Computing,2022,104(1):1‑19.]针对设备数据质量问题提出了一种用于轴承故障诊断的联邦学习算法FA‑FedAvg,加速训练模型收敛的同时,在不同类别和数据量下具有良好的鲁棒性。随着研究的深入,更多学者将注意力转向优化模型训练与提升通讯效率方面。
[0004] 在优化模型训练方面,文章[杨云等.改进一维卷积神经网络与双向门控循环单元的轴承故障诊断研究[J/OL].机械科学与技术:1‑8[2022‑01‑04].]提出改进的一维卷积神经网络与双向门控循环单元融合的新算法,有效学习信号中时间序列关系的同时进一步提升故障诊断率;文章[Cao Yudong等.Transfer learning for remaining useful life prediction of multi‑conditions bearings based on bidirectional‑GRU network[J].Measurement,2021,178.]提出了一种基于双向门控循环单元(TBiGRU)的传递学习方法,有效解决轴承退化轨迹不一致导致难以提取数据时序特征的问题,同时保证了数据的上下文完整性。上述研究虽然在保证数据完整性的同时进一步提取了隐性特征,但忽略了故障数据的强干扰性,导致特征提取不够充分,以及模型收敛速度较慢等问题。
[0005] 在提升通讯效率方面,由于联邦学习中子端通常依靠慢速且不稳定的无线广域网络与中心服务器进行通信,通信开销时间往往会大于计算时间。针对这一问题,文章[SAHUAK等.Federatedoptimization for heterogeneous networks[J].arXiv preprint,2018,arXiv:1812.06127.]提出了一种更通用的FedProx算法,动态地更新不同客户端每一轮需要本地计算的次数,使得算法更适合非独立同分布(nonIID)的联合建模场景;文章[CALDAS S等.Expanding the reach offederated learning by reducing client resource requirements[J].arXiv preprint,2018,arXiv:1812.07210.]优化了从服务器到参与方的模型参数传递,通过有损压缩以及联邦参数筛选的方式来减少从服务器到客户端需要传递的参数数量从而降低通信成本。上述方法均在本地计算或在参数传递上降低了通信成本,但忽视了通讯效率与模型准确率间的关系以及故障数据异构性的影响,导致提升全局通讯效率遇到了瓶颈。

发明内容

[0006] 本发明的目的在于提供一种基于动态联邦学习的设备故障诊断方法,该方法利用子端SAC‑BIGRU故障诊断模型,充分提取各子端故障数据中的时序性和不平衡性特征,加快模型收敛速度的同时提升故障诊断精度。同时利用动态加权平衡算法(Fed‑Dwb),动态调整模型上传参数比例与子端模型的训练次数,有效降低全局计算的参数量,充分利用各子端的资源使其快速收敛的同时提升通讯效率。
[0007] 本发明所采取的技术方案是:
[0008] 一种基于动态联邦学习的设备故障诊断方法,包括下述步骤:
[0009] S1:搭建包含局部更新模块与中心聚合模块的联邦学习框架;
[0010] S2:对轴承型号为6205‑2RS JEM SKF的深沟球轴承,使用电火花加工技术分别对置于驱动端的轴承内圈(Inner Raceway,IR)、滚动体(Ball,BO)和轴承外圈(Outer Raceway,OR)三个位置人为设置不同等级的单点故障,故障尺寸分别为0.007inch、0.0014inch和0.0021inch,四种不同的负载为0hp,1hp,2hp,3hp,电机驱动端振动传感器在
0hp下采集正常状态、内圈故障、外圈故障和滚动体故障4种状态下的振动信号得到多个数据点,所有工厂子端对故障数据进行数据预处理,按随机比例的故障数据设置各工厂子端的数据总量,同时以7:3的比例划分训练集与测试集;
[0011] S3:在局部更新模块中构造子端SAC‑BiGRU故障诊断模型,在原跳跃连接上融入带注意力机制的跳跃连接SAC结构,即在跳跃连线上加入了权重计算,对数据特征进行权重提取,既保证数据特征提取的完整性,同时也使模型收敛速度更快,特征提取模块由两层BiGRU网络构成,调整BIGRU网络的记忆单元数目和神经网络的层数,实现对不同维度信号特征的充分提取,在第二个BIGRU层后加入改进后的CBAM,对主通道上的数据进行权重计算,有效提取数据的时序特征,并在BIGRU层外加入了融合改进CBAM模块的残差连接,通过对CBAM模块中的Channel Attention模块进行优化改进,进一步提升改进后的网络模型性能,选择一维全局平均池化代替用于处理图片分类任务的二维全局平局池化,用一维最大池化代替二维最大池化,输入数据同时进行一维全局平均池化操作和最大池化操作得到两个标量,接着通过两层全连接神经网络,将从MaxPool与AvgPool提取的不同维度特征实现转换融合,将原先不同维度的特征转化为可叠加的特征进行拼接,得到新的特征池,通过Sigmoid激活函数得到权重系数,将权重系数和原来的特征相乘即可得到缩放后的新特征,由BIGRU层、注意力机制、跳跃连接、BN层、Dropout层、全连接层和softmax分类函数输出层构成,利用构造的故障诊断模型对处理后的数据进行训练并完成模型更新,随后初始化各子端的平衡系数ω,{ω1,ω2,…,ωn}→p;
[0012] S4:在局部更新模块与中心聚合模块的通讯中,中心聚合模块利用动态加权平衡算法(Fed‑Dwb),根据子端更新后的ω动态调整模型上传参数比例,动态调整送往中心端的参数总量;
[0013] S5:中心端对子端模型完成中心聚合,生成新一轮全局模型下发至工厂子端;
[0014] S6:在中心聚合模块与局部更新模块的通讯中,各子端接收中心端发送的全局模型,随后局部更新模块利用Fed‑Dwb调整各子端ω,并根据子端的ω动态调整子端模型的训练次数,之后进入下一轮通讯;
[0015] 进一步的,所述步骤S3中,局部更新模块中构造子端SAC‑BIGRU故障诊断模型,完成模型更新后初始化各子端的ω,包括以下步骤:
[0016] 1‑1)在原跳跃连接上加入了注意力机制模块(Skip Attention Connection,简称SAC),即在跳跃连线上加入了权重计算,对数据特征进行权重提取,既保证数据特征提取的完整性,同时也使模型收敛速度更快,其中xinput为模块的输入, 为模块输入后的中间值,xoutput为模块的输出,F为映射函数,f为ReLU激活函数,σ、λ分别为跳跃连线和主通道上的权重,η为映射的系数,W,Wi,Ws为矩阵,通过shortcut进行同等映射:
[0017]
[0018] F=Wiη(W,xinput)
[0019] 1‑2)F(x)与x相加即为逐元素相加的过程:
[0020]
[0021]
[0022] 1‑3)特征提取模块由两层BIGRU网络构成,调整BIGRU网络的记忆单元数目和神经网络的层数,实现对不同维度信号特征的充分提取;
[0023] 1‑4)在第二个BIGRU层后加入改进后的Convolutional Block Attention Module(CBAM)模块,对主通道上的数据进行权重计算,有效提取数据的时序特征,并在BIGRU层外加入了融合改进CBAM模块的残差连接;
[0024] 1‑5)通过对CBAM模块中的Channel Attention模块进行优化改进,进一步提升改进后的网络模型性能,选择一维全局平均池化代替用于处理图片分类任务的二维全局平局池化,用一维最大池化代替二维最大池化;
[0025] 1‑6)输入数据同时进行一维全局平均池化操作和最大池化操作得到两个标量,接着通过两层全连接神经网络,将从MaxPool与AvgPool提取的不同维度特征实现转换融合,将原先不同维度的特征转化为可叠加的特征进行拼接,得到新的特征池;
[0026] 1‑7)通过Sigmoid激活函数得到权重系数,将权重系数和原来的特征相乘即可得到缩放后的新特征;
[0027] 1‑8)初始化各工厂子端的ω,{ω1,ω2,…,ωn}→p
[0028] 进一步的,所述步骤S4中,局部更新模块与中心聚合模块的通讯中,包括以下步骤:
[0029] 2‑1)动态加权平衡算法(Fed‑Dwb)利用平衡系数 动态调整各子端的训练次数, 是由三部分值动态加权求和得出:
[0030]
[0031] 其中, 表示通讯效率值,即当前子端模型准确率与上传参数比例的乘积与本轮通讯时长的比值; 表示准确率差异值,即前后两个通讯轮次子端模型准确率的差异值; 表示模型距离值,即前后两个通讯轮次子端模型和全局模型的距离值,三部分值按照不同权重加和得到 其中η,μ,λ代表不同的权重系数, 代表第n个子端第k次通讯的上传参数比例,Tk代表第k次通讯的通讯时长, 表示第k轮通讯中所选第n个子端模型的故障诊断率, 表示被选子端局部模型与全局模型之间的距离;
[0032] 2‑2) 具体计算式根据欧式距离计算公式得出,设第k轮子端n完成本地更新后k‑1 k‑1局部模型为 第k‑1轮的全局模型为w ,局部模型为 与全局模型为w 的标准欧式距离记为
[0033]
[0034] 其中, 和wk‑1是包含相同维度和数量的张量, wk‑1=(b21,b22,.....b2n),其中(a11,a12,.....a1n),(b21,b22,.....b2n)为两个n维向量,样本方差为Sk:
[0035]
[0036] 2‑3)在子端到中心端的通讯中,被选子端会根据自身的 动态加权调整上传参数量比例, 越高上传模型参数比重越大,反之上传模型参数比重越小,在联合学习过程中,每轮训练都会随机从所参与联合建模的子端中选择固定百分比c的子端N参与本轮通信,随后将N个子端的 按大小排列:
[0037]
[0038]
[0039] 2‑4)按照各子端的 大小,参与通讯子端的上传模型参数比例 随之动态调整其中 表示第n个子端在第k轮通讯中上传的参数量:
[0040]
[0041]
[0042] 进一步的,所述步骤S5中,中心端对子端模型完成中心聚合,生成新一轮全局模型下发至工厂子端,包括以下步骤:
[0043] 3‑1)中心服务器初始化模型参数,执行若干轮,每轮选取至少1个至多K个客户端参与训练,接下来每个被选中的客户端同时在自己的本地根据服务器下发的本轮模型wt,用自己的数据训练自己的模型 上传回服务器
[0044] 3‑2)服务器将收集来的各客户机的模型根据各方样本数量用加权平均的方式进行聚合,得到下一轮的模型wt+1:
[0045]
[0046] 其中nk为客户端k上的样本数量,n为所有被选中客户端总样本数量;
[0047] 进一步的,所述步骤S6中,局部更新模块利用Fed‑Dwb调整各子端ω,并根据子端的ω动态调整子端模型的训练次数,包括以下步骤:
[0048] 4‑1)在中心端到子端的通讯中,中心端完成全局模型聚合后会下发全局模型,参与通讯的子端会根据自身 大小动态调整子端模型训练次数,随着通讯轮次的增加,会随之改变:
[0049]
[0050] 4‑2)比较前后两个通讯轮次各子端的 表示工厂子端n在第k轮通信的平很系数,ε表示训练次数的上限常量值,进而动态调整子端训练次数:
[0051]
[0052]
[0053] 其中Rn代表第n个子端模型的训练次数,E,e分别代表训练次数的上下限,若参与本轮通讯子端的 比上一通讯轮次的 大,通讯子端的训练次数自适应增加一次,反之,则自适应减少一次;
[0054] 4‑3)在本轮通讯中未被选中子端的 保持初始值不变;
[0055] 4‑4)之后进入下一轮通讯。
[0056] 采用上述技术方案所产生的有益效果在于:
[0057] 本发明提出的一种基于动态联邦学习的设备故障诊断方法,针对传统故障诊断方法故障特征提取不充分的问题,提出带注意力机制的双向跳跃GRU网络模型。使用BIGRU充分提取故障数据的时序性特征并保证数据上下文的完整性,同时加入融合注意力机制的双跳连线进一步提取不平衡性特征的同时让模型快速收敛。针对不同工厂间故障数据的异构性导致传统联邦学习通讯效率低的问题,提出动态加权平衡算法。该算法在每轮次的通讯中依据上一轮次通讯结果,动态调整工厂子端模型训练次数和子端向中心端上传的模型参数比例,从而减少通讯成本,提升全局通讯效率。
[0058] 将本文所提故障诊断方法用于凯斯西储大学轴承数据集与帕德博恩轴承数据集,通过试验分析,在两个数据集上的故障诊断率分别达到,93.38%与93.16%。同时利用动态加权平衡算法,在保证故障诊断率的同时缩短了通讯时长,通讯效率相较于联邦平均算法提升了35.06%。验证了提出的基于动态平衡的联邦学习故障诊断方法可以联合更多工厂子端数据共同建模,充分提取故障数据中的隐性特征,实现轴承典型故障诊断分类的同时提升了全局的通讯效率。

附图说明

[0059] 图1是基于动态平衡的联邦学习故障诊断方法架构图;
[0060] 图2SAC‑BIGRU故障诊断模型结构图;
[0061] 图3Skip Attention Connection结构图;
[0062] 图4改进后SAC‑BIGRU的网络内部结构图;
[0063] 图5改进后CBAM模块中的Channel Attention图;
[0064] 图6各性能指标对比图。

具体实施方式

[0065] 下面结合附图与具体实施方式对本发明作进一步详细的说明。
[0066] 本发明以工业设备故障诊断背景,以联邦学习架构为载体,以深度学习为辅助,提出带注意力机制的双向跳跃GRU网络(SAC‑BIGRU)模型为子端故障诊断模型同时提出动态加权平衡算法作为主要的算法框架,其架构如图1所示,包括下述步骤:
[0067] S1:搭建包含局部更新模块与中心聚合模块的联邦学习框架;
[0068] S2:对轴承型号为6205‑2RS JEM SKF的深沟球轴承,使用电火花加工技术分别对置于驱动端的轴承内圈(Inner Raceway,IR)、滚动体(Ball,BO)和轴承外圈(Outer Raceway,OR)三个位置人为设置不同等级的单点故障,故障尺寸分别为0.007inch、0.0014inch和0.0021inch。四种不同的负载为0hp,1hp,2hp,3hp,电机驱动端振动传感器在
0hp下采集正常状态、内圈故障、外圈故障和滚动体故障4种状态下的振动信号得到多个数据点,所有工厂子端对故障数据进行数据预处理,按随机比例的故障数据设置各工厂子端的数据总量,同时以7:3的比例划分训练集与测试集;
[0069] S3:在局部更新模块中构造子端SAC‑BiGRU故障诊断模型,在原跳跃连接上融入带注意力机制的跳跃连接SAC结构,即在跳跃连线上加入了权重计算,对数据特征进行权重提取,既保证数据特征提取的完整性,同时也使模型收敛速度更快,特征提取模块由两层BiGRU网络构成,调整BIGRU网络的记忆单元数目和神经网络的层数,实现对不同维度信号特征的充分提取,在第二个BIGRU层后加入改进后的CBAM,对主通道上的数据进行权重计算,有效提取数据的时序特征,并在BIGRU层外加入了融合改进CBAM模块的残差连接,通过对CBAM模块中的Channel Attention模块进行优化改进,进一步提升改进后的网络模型性能,选择一维全局平均池化代替用于处理图片分类任务的二维全局平局池化,用一维最大池化代替二维最大池化,输入数据同时进行一维全局平均池化操作和最大池化操作得到两个标量,接着通过两层全连接神经网络,将从MaxPool与AvgPool提取的不同维度特征实现转换融合,将原先不同维度的特征转化为可叠加的特征进行拼接,得到新的特征池,通过Sigmoid激活函数得到权重系数,将权重系数和原来的特征相乘即可得到缩放后的新特征,由BIGRU层、注意力机制、跳跃连接、BN层、Dropout层、全连接层和softmax分类函数输出层构成,利用构造的故障诊断模型对处理后的数据进行训练并完成模型更新,随后初始化各子端的平衡系数ω,{ω1,ω2,…,ωn}→p;
[0070] 1‑1)在原跳跃连接上加入了注意力机制模块(Skip Attention Connection,简称SAC),即在跳跃连线上加入了权重计算,对数据特征进行权重提取,既保证数据特征提取的完整性,同时也使模型收敛速度更快,其中xinput为模块的输入, 为模块输入后的中间值,xoutput为模块的输出,F为映射函数,f为ReLU激活函数,σ、λ分别为跳跃连线和主通道上的权重,η为映射的系数,W,Wi,Ws为矩阵,通过shortcut进行同等映射:
[0071]
[0072] F=Wiη(W,xinput)
[0073] 1‑2)F(x)与x相加即为逐元素相加的过程:
[0074]
[0075]
[0076] 1‑3)特征提取模块由两层BIGRU网络构成,调整BIGRU网络的记忆单元数目和神经网络的层数,实现对不同维度信号特征的充分提取;
[0077] 1‑4)在第二个BIGRU层后加入改进后的Convolutional Block Attention Module(CBAM)模块,对主通道上的数据进行权重计算,有效提取数据的时序特征,并在BIGRU层外加入了融合改进CBAM模块的残差连接;
[0078] 1‑5)通过对CBAM模块中的Channel Attention模块进行优化改进,进一步提升改进后的网络模型性能,选择一维全局平均池化代替用于处理图片分类任务的二维全局平局池化,用一维最大池化代替二维最大池化;
[0079] 1‑6)输入数据同时进行一维全局平均池化操作和最大池化操作得到两个标量,接着通过两层全连接神经网络,将从MaxPool与AvgPool提取的不同维度特征实现转换融合。将原先不同维度的特征转化为可叠加的特征进行拼接,得到新的特征池;
[0080] 1‑7)通过Sigmoid激活函数得到权重系数,将权重系数和原来的特征相乘即可得到缩放后的新特征;
[0081] 1‑8)初始化各工厂子端的ω,{ω1,ω2,…,ωn}→p;
[0082] S4:在局部更新模块与中心聚合模块的通讯中,中心聚合模块利用动态加权平衡算法(Fed‑Dwb),根据子端更新后的ω动态调整模型上传参数比例,动态调整送往中心端的参数总量,包括以下步骤:
[0083] 2‑1)动态加权平衡算法(Fed‑Dwb)利用平衡系数 动态调整各子端的训练次数, 是由三部分值动态加权求和得出:
[0084]
[0085] 其中, 表示通讯效率值,即当前子端模型准确率与上传参数比例的乘积与本轮通讯时长的比值; 表示准确率差异值,即前后两个通讯轮次子端模型准确率的差异值; 表示模型距离值,即前后两个通讯轮次子端模型和全局模型的距离值,三部分值按照不同权重加和得到 其中η,μ,λ代表不同的权重系数, 代表第n个子端第k次通讯的上传参数比例,Tk代表第k次通讯的通讯时长, 表示第k轮通讯中所选第n个子端模型的故障诊断率, 表示被选子端局部模型与全局模型之间的距离;
[0086] 2‑2) 具体计算式根据欧式距离计算公式得出,设第k轮子端n完成本地更新后k‑1 k‑1局部模型为 第k‑1轮的全局模型为w ,局部模型为 与全局模型为w 的标准欧式距离记为
[0087]k‑1 k‑1
[0088] 其中, 和w 是包含相同维度和数量的张量, w=(b21,b22,.....b2n),其中(a11,a12,.....a1n),(b21,b22,.....b2n)为两个n维向量,样本方差为Sk:
[0089]
[0090] 2‑3)在子端到中心端的通讯中,被选子端会根据自身的 动态加权调整上传参数量比例, 越高上传模型参数比重越大,反之上传模型参数比重越小,在联合学习过程中,每轮训练都会随机从所参与联合建模的子端中选择固定百分比c的子端N参与本轮通信,随后将N个子端的 按大小排列:
[0091]
[0092]
[0093] 2‑4)按照各子端的 大小,参与通讯子端的上传模型参数比例 随之动态调整其中 表示第n个子端在第k轮通讯中上传的参数量:
[0094]
[0095]
[0096] S5:中心端对子端模型完成中心聚合,生成新一轮全局模型下发至工厂子端,包括以下步骤:
[0097] 3‑1)中心服务器初始化模型参数,执行若干轮,每轮选取至少1个至多K个客户端参与训练,接下来每个被选中的客户端同时在自己的本地根据服务器下发的本轮模型wt,用自己的数据训练自己的模型 上传回服务器
[0098] 3‑2)服务器将收集来的各客户机的模型根据各方样本数量用加权平均的方式进行聚合,得到下一轮的模型wt+1:
[0099]
[0100] 其中nk为客户端k上的样本数量,n为所有被选中客户端总样本数量;
[0101] S6:在中心聚合模块与局部更新模块的通讯中,各子端接收中心端发送的全局模型,随后局部更新模块利用Fed‑Dwb调整各子端ω,并根据子端的ω动态调整子端模型的训练次数,之后进入下一轮通讯,包括以下步骤:
[0102] 4‑1)在中心端到子端的通讯中,中心端完成全局模型聚合后会下发全局模型,参与通讯的子端会根据自身 大小动态调整子端模型训练次数,随着通讯轮次的增加,会随之改变:
[0103]
[0104] 4‑2)比较前后两个通讯轮次各子端的 表示工厂子端n在第k轮通信的平很系数,ε表示训练次数的上限常量值,进而动态调整子端训练次数:
[0105]
[0106]
[0107] 其中En代表第n个子端模型的训练次数,E,e分别代表训练次数的上下限,若参与本轮通讯子端的 比上一通讯轮次的 大,通讯子端的训练次数自适应增加一次,反之,则自适应减少一次;
[0108] 4‑3)在本轮通讯中未被选中子端的 保持初始值不变;
[0109] 4‑4)在完成所有更新之后进入下一轮通讯。
[0110] 基于上述步骤,本发明有效解决各工厂故障数据的异构性导致传统联邦学习存在故障特征提取不充分和通讯效率较低等问题,提出一种基于动态联邦学习的故障诊断方法。首先,针对传统故障诊断方法故障特征提取不充分的问题,提出SAC‑BIGRU故障诊断模型,充分提取故障数据中的时序性和不平衡性特征;其次针对不同工厂间故障数据的异构性导致传统联邦学习通讯效率低的问题,提出动态加权平衡算法(Fed‑Dwb),动态调整工厂子端模型训练次数和子端向中心端上传的模型参数比例,缩短训练时间减少计算参数量,进一步提高了全局通讯效率。
[0111] 本发明基于动态联邦学习的故障诊断方法的试验验证:
[0112] 1、试验环境
[0113] Intel(R)Core(TM)i7‑6700HQ处理器,主频2.60GHZ,内存8GB,Windows 10,64位操作系统的计算机,程序开发环境为Python3.7,采用TensorFlow、Keras框架进行试验。
[0114] 2、试验验证
[0115] 在美国凯斯西储大学轴承故障数据集与德国帕德博恩轴承数据集上的实验结果与分析
[0116] (1)数据集描述
[0117] 数据集1:美国凯斯西储大学(CWRU)电气工程实验室的轴承故障数据,轴承型号为6205‑2RS JEM SKF深沟球轴承。利用电火花加工方式分别在轴承上对内圈(IRW)、外圈(ORW)和滚动体(BA)设置了3个等级的单点故障,故障直径分别为0.007、0.014、0.021英寸。
本实验选取采样频率为12kHZ状态下,电机驱动端(Driver End)在负载为0HP,1HP,2HP,3HP时的数据进行仿真实验,划分为10类故障类型,每种类型包含20000条数据,每条数据采样长度为2048个数据点。将数据集打乱后按照7:3比例划分数据集与测试集,按照预设数据量对实验数据集进行随机采样模拟客户端的本地数据集。样本信息如表1所示。
[0118] 表1西储大学轴承故障实验数据信息
[0119]
[0120]
[0121] 数据集2:德国帕德博恩大学(PU)电气工程实验室的轴承故障数据,所有测试轴承型号均为6203型号滚动轴承。每个轴承型号的文件夹下有4种工况的数据,每个工况的数据有20个,每个数据采集时间均为4秒。本实验选取采样频率为64kHZ状态下,电机转速900rpm,扭矩0.7Nm,径向力1000N的加速寿命试验数据进行仿真实验,划分为7类故障类型,每种类型包含5000个样本,每个样本长度为2048个数据点。将数据集打乱后按照7:3比例划分数据集与测试集,按照预设数据量对实验数据集进行随机采样模拟客户端的本地数据集。样本信息如表2所示。
[0122] 表2帕德博恩轴承故障实验数据信息
[0123]
[0124]
[0125] (2)模型参数
[0126] 本节实验中使用的SAC‑BIGRU模型具体参数见表3。
[0127] 表3模型参数
[0128]
[0129] (3)对比实验结果分析
[0130] 为验证SAC‑BIGRU故障诊断模型在准确率、损失率和收敛性上的效果,本文同时构建GRU与BIGRU网络模型。三种模型进行对比试验,固定epoch=10在验证集和测试集上的表现如表4所示。
[0131] 表4CRWU数据集模型结果对比
[0132]
[0133] 对三种模型进行重复实验取平均值,避免模型诊断结果偶然性。计算每个模型在验证集和测试集上边的准确率以及收敛情况。如表4所示,无论在验证集和测试集上SAC‑BIGRU模型的准确率都是最高的,分别达到92.50%与89.88%,同时损失率下降到最低分别为0.2093与0.3102。通过将改进的SAC结构融入BIGRU网络中,充分提取了故障数据中的不平衡性特征与时序特征,进一步提高故障诊断率。同时利用改进的注意力模块为不同特征赋予不同权重,并加入Dropout层提高模型的收敛速度。综上所述,本文提出的模型无论在收敛速度上还是在准确率与损失率上表现都是最好的。
[0134] 进一步验证SAC‑BIGRU故障诊断模型的鲁棒性和泛化性,在PU数据集上的实验结果如表5所示。
[0135] 表5PU数据集模型结果对比
[0136]
[0137] 对比3种模型在PU数据集上的诊断结果无论是在收敛速度还是诊断精度均优于传统网络模型,epoch=10时故障诊断率达到73.5%。在CRWU与PU数据集上的良好表现,证明了该故障诊断模型的鲁棒性与泛化性。
[0138] 为验证联邦学习对故障诊断率的提升效果,将上述两组数据集随机打乱后划分出30%用于测试,其余按照随机比例分给10个工厂子端用来训练本地模型。随机划分数据集可以满足数据源特征相同样本不同的需求,以及可以满足交叉验证模型的合理性。首先通过实验对参与联合训练的工厂子端比例系数P做测试,验证使用联邦学习框架的有效性并确定好基本参数。实验结果如表6所示:
[0139] 表6不同客户端比例系数对模型性能的影响
[0140]
[0141] 通过表6展示了不同的比例系数P值对故障诊断模型各方面的性能影响。固定epoch=10,p=0.3,设置传统深度学习的数据量为7600,联邦学习的数据量为7600与20760并随机分给10个客户端进行测试,实验结果如表7所示:
[0142] 表7不同方法的故障诊断效果
[0143]
[0144] 通过表6与7可知,随着工厂子端数量增多,聚合数据量增大,整个设备故障诊断模型的诊断率也随之提升。验证了联邦学习可以联合多工厂故障数据共同建模,保护数据隐私的同时学习更多的故障特征提高故障诊断的准确率。
[0145] 为验证Fed‑Dwb算法的有效性和适用性,基于上述研究的实验结果,固定epoch=10以及P=0.3,记录工厂子端利用联邦平均算法(Fedavg)在不同训练次数以及本文提出的动态调整子端训练次数(Ep)的时间损耗和故障诊断率的变化情况。如表8所示:
[0146] 表8不同方法下子端训练次数对故障诊断率的影响
[0147]
[0148] 通过表8可知,在两个数据集中,当子端训练次数(E)为1的时候,整个通讯过程时耗最短但故障诊断率最低。在CRWU与PU中利用Fedavg算法,分别当E=3与E=4的时候诊断率最高,为93.38%和93.16%。通过对比,利用Fed‑Dwb算法在通讯时长上接近子端的最短时长,相较于Fedavg,E=5时分别缩短了34s和40s,可见其在通讯时长上的优势。同时故障诊断率接近于最高故障诊断率分别是92.87%与93.03%,损失率达到最低的0.2002与0.2579。综合考虑通讯时长、准确率和损失率,Fed‑Dwb表现效果理想且优于传统联邦平均算法。在较快收敛的同时可以近似达到最高的故障诊断率,同时有最小的损失率和较少的通讯时长,更好平衡了各指标的最优效果。
[0149] 进一步验证该算法在中心聚合模块对于全局通讯效率的优化效果。固定Fedavg中E=3如表9所示。
[0150] 表9不同方法下上传参数比例对联邦学习框架的影响
[0151]
[0152]
[0153] 由上表可知,随Fedavg的中心聚合模块上传参数比例增大,故障诊断率在稳步提升,模型丢失率稳步下降,但同时通讯时间也随之增加。Fed‑Dwb相比于Fedavg在通讯时长上接近于上传参数比例为0.4的时候,但准确率和丢失率都接近于最优值分别为93.05%、93.13%与0.2235、0.2486,同时通讯效率也达到最高的0.3904与0.3725。基于平衡各指标的最优结果,本文所提Fed‑Dwb明显优于Fedavg。以CRWU为例,取E=3,上传参数比例为0.1,如图6所示,可以更直观的看出Fed‑Dwb在准确率上提升了4.1%、损失率下降了5.51%、通讯效率提升了35.06%。
[0154] 综上所示,本文提出的Fed‑Dwb在整体性能的平衡角度上比传统Fedavg在处理故障数据时更具有优势。Fed‑Dwb通过动态调整局部更新模块中的各子端训练次数和中心聚合模块中上传参数比例,提升各子端模型收敛速度的同时,快速地聚合优质客户端的模型参数提高升了全局通讯中对资源的利用率。由此可见,本文所提基于动态平衡的联邦学习故障诊断方法在提升故障诊断精度的同时,有效解决了工厂子端故障数据异构性导致传统联邦学习通讯效率低的问题。
[0155] 3、结论
[0156] 针对各工厂故障数据的异构性导致传统联邦学习存在故障特征提取不充分和通讯效率较低等问题,本文提出了一种基于动态联邦学习的故障诊断方法。首先,提出SAC‑BIGRU故障诊断模型能够更快学习故障数据的时序性和不平衡性特征,从而提升故障诊断精度。其次,提出Fed‑Dwb算法动态调整每轮次通讯中子端的训练次数和子端向中心端上传的参数量比例,有效解决了各工厂间由于数据异构性导致传统联邦学习通讯效率低的问题。经西储大学轴承故障数据集与帕德博恩轴承数据集实验验证,证明了基于动态联邦学习的故障诊断方法可以联合更多工厂子端数据共同建模,充分提取故障数据中的隐性特征,实现轴承典型故障诊断分类的同时提升了全局的通讯效。
[0157] 以上对本发明的实例进行了详细说明,但内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。