一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于联邦学习的大坝缺陷识别模型快速收敛方法与流程

2022-11-30 12:48:37 来源:中国专利 TAG:


1.本发明涉及一种基于联邦学习的大坝缺陷识别模型快速收敛方法,属于图像识别技术领域。


背景技术:

2.随着物联网(iot)时代和5g时代的到来,无处不在的传感设备(如智能手机、监控站点和摄像头)在各个领域得到了广泛应用,从而产生了大量的监控数据。联邦学习是一中新型的分布式机器学习框架,在联邦学习中,多个物联网设备通过参数服务器整合模型参数来协作训练全局模型。在每一轮通信中,参数服务器向多个选定的物联网设备下发模型参数,选定的物联网设备根据本地数据对接收到的模型进行优化。在本地训练结束后,边缘设备将本地训练的模型参数上传到参数服务器,参数服务器将来自不同物联网设备的模型参数进行聚合,从而形成新的模型参数。联邦学习的兴起使得在不损害隐私的情况下,利用监测数据通过云边缘协作来训练深度神经网络成为可能。
3.在大坝安全运维中,无人机巡检拍摄的图片与视频具有体量大,内容涉密等特点,很难通过传统的集中式机器学习来训练缺陷识别模型,而联邦学习能够从根本上解决数据传输成本高的问题,避免数据在传输过程中泄露的风险。然而,无人机收集的数据不遵守机器学习的非独立同分布假设,导致本地模型逐渐向局部最优解收敛,在全局聚合阶段出现高方差,全局模型难以收敛到所有设备的最佳平均损失,这种本地模型逐渐向局部最优解收敛的现象被称为客户端漂移现象。客户端漂移现象会导致全局模型收敛缓慢,所以在大坝缺陷识别模型的训练过程中,缓解客户漂移现象至关重要。无人机等物联网设备在联邦学习系统也被称为客户端。
4.为了缓解客户端梯度漂移现象,通过在本地损失函数添加正化项来修正客户端本地模型,使其不向局部最小值漂移,和通过全局模型参数修正客户端本地更新,减少客户端模型参数差异的方法相继被提出,这两种方法都是在本地训练阶段对联邦学习进行调整。此外还有一些方法如adam、yogi优化器和慢动量等方法在全局聚合阶段对联邦学习进行优化,使得联邦聚合更加平稳,从而有效地缓解客户端漂移现象。虽然很多研究都试图通过修正局部或全局模型来缓解客户端漂移,但这些方法只是从单阶段调整联邦训练。因为客户漂移对联邦学习的影响贯穿整个联邦训练过程,所以只从单一阶段调整联合学习算法可能是片面的。


技术实现要素:

5.发明目的:针对联邦学习中客户端漂移现象导致的大坝缺陷识别模型收敛速度慢的问题,本发明基于梯度方差缩减和全局动量下降技术,提供了一种基于联邦学习的大坝缺陷识别模型快速收敛方法,能够提高全局模型和客户端模型之间的相似性,减少客户端模型之间的离散型,从而缓解梯度漂移现象,加快大坝缺陷识别模型的收敛速度。
6.技术方案:一种基于联邦学习的大坝缺陷识别模型快速收敛方法,通过n个无人机
采集大坝缺陷图像数据,对无人机上训练的本地模型进行聚合后得到的全局模型,即大坝缺陷识别模型。包括以下步骤:
7.步骤1)根据每个无人机保存的大坝缺陷图像数据,通过联邦学习算法训练大坝缺陷识别模型,在每一轮联邦训练之初,参数服务器从无人机群中随机选择k(0<k<n)(其中n为无人机的总数)个无人机参与该轮训练,并将全局的大坝缺陷识别模型w
t
(简称全局模型),全局模型预测参数c
t
和修正项权重ε发送给选定的k个无人机;
8.步骤2)无人机接收来自参数服务器的全局大坝缺陷识别模型w
t
,全局模型预测参数c
t
以及修正项权重ε。然后将本地大坝缺陷识别模型(简称本地模型)初始化为w
t
,并在本地所拥有的大坝缺陷图像数据集上进行e次本地迭代训练,一般取500以内,可根据需求调整。在每次本地迭代训练过程中,根据全局模型预测参数c
t
和本地模型预测参数计算修正项并以修正项来衡量客户端漂移程度;结合修正项以及权重控制机制,以调整本地训练阶段的模型梯度。
9.步骤3)以修正后的模型梯度更新本地大坝缺陷识别模型和本地模型预测参数之后每个无人机在完成e次本地迭代训练后,分别将本地模型和本地预测参数的变化量

wk和
△ck
上传到参数服务器。
10.步骤4)参数服务器根据全局动量梯度下降技术更新全局模型w
t
和全局模型预测参数c
t
,并根据权重控制机制,计算出全局模型历史精度变化速率ε。然后重复步骤1)-4)直到模型收敛或达到指定的通信轮次,最终获得的全局模型即为大坝缺陷识别模型。
11.进一步的,所述步骤2)中本地训练阶段的模型梯度调整的具体步骤如下:
12.定义本地损失函数为:
[0013][0014]
其中表示无人机k训练的大坝缺陷识别模型在其本地所保存的大坝缺陷图片数据集dk上的本地损失函数,ld表示本地大坝缺陷识别模型分类结果与真实标签之间的欧式距离,为近端项,u是正则化参数,为本地模型,w
t
是本轮训练之初从参数服务器接收到的全局模型。
[0015]
定义初始模型梯度为:
[0016][0017]
表示求梯度。
[0018]
之后通过梯度方差缩减和修正项权重控制机制调整大坝缺陷识别模型的梯度,减少无人机之间大坝缺陷识别模型的离散程度,修正本地模型梯度的具体计算公式为:
[0019][0020]
其中是本地模型预测参数,ε是修正项权重控制项,全局模型历史精度变化速率,用于控制对本地梯度的修正程度,为修正后的本地模型梯度。
[0021]
进一步的,所述步骤3)中无人机上的本地模型更新和本地模型预测参数更新的具体步骤如下:
[0022]
本地模型的更新公式为:
[0023][0024]
其中η
l
表示本地学习率,表示本地模型。
[0025]
在无人机执行完e次本地模型的迭代训练后,更新本地模型预测参数,公式为:
[0026][0027]
其中表示第t轮通信中,无人机k的本地模型预测参数;是第t轮通信结束时更新得到的本地模型预测参数,同时作为第t 1轮通信中的本地模型预测参数,参与本地训练;c
t
表示第t轮通信中的全局模型预测参数,e是本地迭代次数。无人机在进行e次本地迭代训练后,分别将本地模型和本地预测参数的变化量

wk和
△ck
上传到参数服务器,

wk和
△ck
计算公式如下:
[0028][0029][0030]
其中w
t
表示本轮通信中无人机的初始模型,表示使用本地数据,经过e次迭代训练后的本地模型,是本轮通信之初的本地模型预测参数,是无人机执行完e次迭代后,更新的本地模型预测参数。
[0031]
进一步的,所述步骤4)中根据全局动量梯度下降技术更新全局模型和全局预测参数的具体步骤如下:
[0032]
计算第t轮通信中,参与联邦训练过程的客户端(无人机),在经过e次本地迭代后的模型参数变化量之和

w:
[0033][0034]
其中|s
t
|表示第t轮通信中,参与联邦训练的无人机数量;根据所有无人机模型参数变化量之和,得到初步更新的全局模型w
t

[0035][0036]
其中n表示所有无人机的数量,利用全局动量梯度下降计算最终更新得到的全局模型:
[0037]
mw=mw w
t
[0038]wt 1
=w
t-βmw
[0039]
其中mw为动量参数,β为动量衰减因子,控制参数mw对全局模型w
t
的影响程度,w
t 1
为第t轮通信结束后所获得的全局模型,也是第t 1轮通信的初始全局模型。
[0040]
全局模型预测参数的更新方式与全局模型一致,所以下面仅给出计算公式,不在进行详细的阐述:
[0041][0042][0043]
mc=mc c
t
[0044]ct 1
=c
t-βmc
[0045]
mc是动量参数。
[0046]
修正项权重的具体计算步骤如下:
[0047]
定义前t轮全局模型测试精度的最大值sub(t)为:
[0048][0049]
其中acc(t)为第t轮全局模型的测试精度,对于当t≥t

,sub(t)≥sub(t

),因此sub(t)是非递减数组。
[0050]
在第t轮通讯中,权重控制项ε由第t-h至第t轮模型测试精度的变化速率决定,具体公式如下:
[0051]
ε=(sub(t)-sub(t-h))/h*10(t≥h)
[0052]
其中h是常数,表示计算权重控制项的窗口大小,h一般取10。
[0053]
一种基于联邦学习的大坝缺陷识别模型快速收敛系统,通过n个无人机采集大坝缺陷图像数据,包括参数服务器和作为客户端的无人机;
[0054]
每个无人机采集并保存的大坝缺陷图像数据,通过联邦学习算法训练大坝缺陷识别模型,在每一轮联邦训练之初,参数服务器从无人机群中随机选择k个无人机参与该轮训练,并将全局的大坝缺陷识别模型w
t
,全局模型预测参数c
t
和修正项权重ε发送给选定的k个无人机;
[0055]
无人机接收来自参数服务器的全局大坝缺陷识别模型w
t
,全局模型预测参数c
t
以及修正项权重ε;然后将本地大坝缺陷识别模型初始化为w
t
,并在本地所拥有的大坝缺陷图像数据集上进行e次本地迭代训练,在每次本地迭代训练过程中,根据全局模型预测参数c
t
和本地模型预测参数计算修正项并以修正项来衡量客户端漂移程度;结合修正项以及权重控制机制,以调整本地训练阶段的模型梯度;
[0056]
无人机以修正后的模型梯度更新本地大坝缺陷识别模型和本地模型预测参数之后每个无人机在完成e次本地迭代训练后,分别将本地模型和本地预测参数的变化量

wk和
△ck
上传到参数服务器;
[0057]
参数服务器根据全局动量梯度下降技术更新全局模型w
t
和全局模型预测参数c
t
,并根据权重控制机制,计算出全局模型历史精度变化速率ε;直到模型收敛或达到指定的通信轮次,最终获得的全局模型即为大坝缺陷识别模型。
[0058]
系统的具体实现过程与方法相同,不再赘述。
[0059]
一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于联邦学习的大坝缺陷识别模型快速收敛方法。
[0060]
一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于联邦学习的大坝缺陷识别模型快速收敛方法的计算机程序。
[0061]
有益效果:与现有技术相比,本发明提供的基于联邦学习的大坝缺陷识别模型快速收敛方法,该方法通过梯度方差缩减和全局动量下降技术,分别对大坝缺陷识别模型的本地训练阶段和全局聚合阶段进行了梯度修正。梯度方差缩减技术根据全局模型和本地模型的差异程度,调整本地模型梯度,减少设备间模型参数的离散性;根据权重控制机制,检
测全局模型的历史精度变化率,动态调整本地梯度的修正程度,保证在收敛阶段本地参数更新的稳定性。在全局聚合阶段根据动量梯度下降技术,综合全局模型参数的历史变化状态,减少全局模型参数的振荡,提高全局模型收敛速度。本发明解决了无人机巡检图片难以大批量上传、数据上传过程容易泄露的问题,缓解了在无人机收集的数据不遵守非独立同分布假设的情况下产生的客户端漂移现象,解决了由客户端漂移现象所导致的大坝缺陷识别模型收敛缓慢的问题。
附图说明
[0062]
图1为本发明实施例的一种基于联邦学习的大坝缺陷识别模型快速收敛方法流程图。
具体实施方式
[0063]
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
[0064]
基于联邦学习的大坝缺陷识别模型快速收敛方法,通过梯度方差缩减和全局动量下降技术,分别对联邦学习的本地训练阶段和全局聚合阶段进行了梯度修正,提高全局模型和客户端模型之间的相似性,减少客户端模型之间的离散型,从而缓解梯度漂移现象,加快全局模型的收敛速度。
[0065]
如图1所示,基于联邦学习的大坝缺陷识别模型快速收敛方法,包括如下步骤:
[0066]
步骤1)在每一轮联邦训练之初,参数服务器从无人机群中随机选择k(0<k<n)(其中n为无人机的总数)个无人机参与该轮训练,并将全局的大坝缺陷识别模型w
t
,全局模型预测参数c
t
和修正项权重ε发送给选定的k个无人机
[0067]
步骤2)无人机接收来自参数服务器的全局大坝缺陷识别模型w
t
,全局模型预测参数c
t
以及修正项权重ε。然后将本地大坝缺陷识别模型初始化为w
t
,并在本地所拥有的大坝缺陷图像数据集上进行e次本地迭代训练。因为客户端漂移的主要表现是客户端不一致的本地模型更新,因此要缓解客户端漂移现象就必须减弱这种不一致的更新程度。具体做法是在每次本地迭代训练过程中,根据全局模型预测c
t
和本地模型预测参数ck(k∈{1,2,3...,k}),计算修正项并以其衡量客户端漂移程度。但是由于c
t
,为预测值,计算的梯度漂移程度可能存在误差。训练前期模型待收敛,的误差对本地计算梯度影响较小,然而训练后期,模型已收敛或将收敛,存在误差的修正模型参数可能造成负面效果。即使损失函数中利用制约修正项误差所带来的影响,模型也可能因不准确的修正更新使模型参数陷入次优状态。因此我们设计了一种权重控制机制,该机制根据历史精度动态调整修正项对本体梯度的修正程度,并且随着模型测试精度的提高,测试精度变化率逐渐变小,模型逐渐减弱对本地训练计算梯度的影响,保证在收敛阶段本地参数更新的稳定性。最后通过梯度方差缩减和修正项权重控制机制的结合来实现本地梯度的修正:
[0068]
定义本地损失函数为:
[0069][0070]
其中表示无人机k训练的大坝缺陷识别模型在其本地所保存的缺陷图片数据集dk上的本地损失函数,ld表示模型分类结果与真实标签之间的欧式距离,为近端项,u是正则化参数,为本地模型,w
t
是本轮训练之初从参数服务器接收到的全局模型。
[0071]
定义初始模型梯度为:
[0072][0073]
之后通过梯度方差缩减和修正项权重控制机制调整大坝缺陷识别模型的梯度,减少无人机之间大坝缺陷识别模型的离散程度,修正本地模型梯度的具体计算公式为:
[0074][0075]
其中是本地模型预测参数,ε是修正项权重控制项,用于控制对本地梯度的修正程度,为修正后的本地模型梯度。
[0076]
步骤3)以修正后的模型梯度更新本地模型和本地预测参数ck。每个无人机本地模型的更新公式为:
[0077][0078]
其中η
l
表示本地学习率,表示本地模型。
[0079]
在无人机执行完e次本地模型的迭代训练后,更新本地模型预测参数,公式为:
[0080][0081]
其中表示第t轮通信中,无人机k的本地模型预测参数;是第t轮通信结束时更新得到的本地模型预测参数,同时作为第t 1轮通信中的本地模型预测参数,参与本地训练;c
t
表示第t轮通信中的全局模型预测参数,e是本地迭代次数。无人机在进行e次本地迭代训练后,分别将本地模型和本地预测参数的变化量

wk和
△ck
上传到参数服务器,

wk和
△ck
计算公式如下:
[0082][0083][0084]
其中w
t
表示本轮通信中无人机的初始模型,表示使用本地数据,经过e次迭代训练后的本地模型,是本轮通信之初的本地模型预测参数,是无人机执行完e次迭代后,更新的本地模型预测参数。
[0085]
步骤4)更新全局模型、全局模型预测参数以及计算修正项权重,具体步骤如下:
[0086]
计算第t轮通信中,参与联邦训练过程的无人机,在经过e次本地迭代后的模型参数变化量之和

w:
[0087][0088]
其中|s
t
|表示第t轮通信中,参与联邦训练的无人机数量;根据所有客户端模型参数变化量之和,得到初步更新的全局模型w
t

[0089][0090]
其中n表示所有无人机的数量,利用全局动量梯度下降计算最终更新得到的全局模型:
[0091]
mw=mw w
t
[0092]wt 1
=w
t-βmw
[0093]
其中mw为动量参数,β为动量衰减因子,控制参数mw对全局模型w
t
的影响程度,w
t 1
为第t轮通信结束后所获得的全局模型,也是第t 1轮通信的初始全局模型。全局模型预测参数的更新方式与全局模型一致,所以下面仅给出计算公式,不在进行详细的阐述:
[0094][0095][0096]
mc=mc c
t
[0097]ct 1
=c
t-βmc
[0098]
修正项权重的具体计算步骤如下:
[0099]
定义前t轮全局模型测试精度的最大值sub(t)为:
[0100][0101]
其中acc(t)为第t轮全局模型的测试精度,对了当t≥t

,sub(t)≥sub(t

),因此sub(t)是非递减数组。
[0102]
在第t轮通讯中,权重控制项ε由第t-h至第t轮模型测试精度的变化速率决定,具体公式如下:
[0103]
ε=(sub(t)-sub(t-h))/h*10(t≥h)
[0104]
其中h是常数,表示计算权重控制项的窗口大小,h一般取10。
[0105]
一种基于联邦学习的大坝缺陷识别模型快速收敛系统,通过n个无人机采集大坝缺陷图像数据,包括参数服务器和作为客户端的无人机;
[0106]
每个无人机采集并保存的大坝缺陷图像数据,通过联邦学习算法训练大坝缺陷识别模型,在每一轮联邦训练之初,参数服务器从无人机群中随机选择k个无人机参与该轮训练,并将全局的大坝缺陷识别模型w
t
,全局模型预测参数c
t
和修正项权重ε发送给选定的k个无人机;
[0107]
无人机接收来自参数服务器的全局大坝缺陷识别模型w
t
,全局模型预测参数c
t
以及修正项权重ε;然后将本地大坝缺陷识别模型初始化为w
t
,并在本地所拥有的大坝缺陷图像数据集上进行e次本地迭代训练,在每次本地迭代训练过程中,根据全局模型预测参数c
t
和本地模型预测参数计算修正项并以修正项来衡量客户端漂移程度;结合修正项以及权重控制机制,以调整本地训练阶段的模型梯度;
[0108]
无人机以修正后的模型梯度更新本地大坝缺陷识别模型和本地模型预测参数之后每个无人机在完成e次本地迭代训练后,分别将本地模型和本地预测参数的变化量

wk和
△ck
上传到参数服务器;
[0109]
参数服务器根据全局动量梯度下降技术更新全局模型w
t
和全局模型预测参数c
t
,并根据权重控制机制,计算出全局模型历史精度变化速率ε;直到模型收敛或达到指定的通信轮次,最终获得的全局模型即为大坝缺陷识别模型。
[0110]
显然,本领域的技术人员应该明白,上述的本发明实施例的一种基于联邦学习的大坝缺陷识别模型快速收敛方法可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献