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

一种聚合模型更新处理方法及装置与流程

2022-09-06 18:31:03 来源:中国专利 TAG:


1.本发明涉及数据处理领域,具体而言,涉及一种聚合模型更新处理方法及装置。


背景技术:

2.联邦学习作为隐私计算的代表性技术之一,其典型算法中常常需要有可信第三方存在。以金融风控建模常用的回归算法为例,数据集是按特征维度纵向切分分布在不同企业。基于典型联邦学习算法的建模训练步骤包括:
3.1)第三方生成公私钥对,并将公钥分发给数据提供的参与方;
4.2)数据提供方之间利用公钥加密中间计算结果并交互传输,完成梯度和损失的计算;
5.3)数据提供方将各自加密结果上传给第三方;
6.4)第三方返回解密结果,数据提供方开始下一轮迭代训练。
7.从上述训练流程可以看出,第三方承担着生成公私钥对、分发公钥、解密被加密结果等角色,因此额外获得了一些计算相关信息,这些信息是否会暴露其他参与方的数据隐私,与算法本身的结构有关。但是,如果此第三方与任何参与方一起作弊,就很可能会导致数据隐私泄漏和模型暴露。所以,必须要保证此第三方是绝对诚实可信的,才能保障数据隐私安全。
8.针对上述问题,相关技术中提出联邦学习,通常采用联邦平均的方法予以聚合,低质量模型参与聚合导致全局模型质量降低的问题。
9.针对相关技术中联邦学习采用联邦平均的方法予以聚合,低质量模型参与聚合导致全局模型质量降低的问题,尚未提出解决方案。


技术实现要素:

10.本发明实施例提供了一种聚合模型更新处理方法及装置,以至少解决相关技术中联邦学习采用联邦平均的方法予以聚合,低质量模型参与聚合导致全局模型质量降低的问题。
11.根据本发明的一个实施例,提供了一种聚合模型更新处理方法,包括:
12.通过区块链接收多参与方上传的本地模型的损失值与梯度值,其中,所述本地模型是所述多参与方基于本地数据对聚合模型进行训练得到的;
13.分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值;
14.根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件;
15.在判断结果为否的情况下,将所述损失聚合值和/或梯度聚合值发送给所述多参与方,以使所述多参与方所述损失聚合值和/或梯度聚合值更新所述本地模型;
16.在所述多参与方的本地模型均满足所述预设条件的情况下,根据所述多参与方的本地模型的模型参数更新所述聚合模型。
17.可选地,根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件包括:
18.分别判断所述多参与方的本地模型的损失值是否大于或等于所述损失聚合值,得到第一判断结果,并判断所述多参与方的本地模型的梯度值是否大于或等于所述梯度聚合值,得到第二判断结果;
19.在所述第一判断结果与所述第二判断结果均为是的情况下,确定所述多参与方的本地模型满足预设条件;
20.在所述第一判断结果或所述第二判断结果为否的情况下,确定所述多参与方的本地模型不满足所述预设条件。
21.可选地,分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值包括:
22.确定所述多参与方的损失值的损失均值,将所述损失均值确定为所述损失聚合值;
23.确定所述多参与方的梯度值的梯度均值,将所述梯度均值确定为所述梯度聚合值。
24.可选地,分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值包括:
25.按照预先为所述多参与方设置的权重确定所述多参与方的损失值的加权损失值,将所述加权损失值确定为所述损失聚合值;
26.按照预先为所述多参与方设置的权重确定所述多参与方的梯度值的加权梯度值,将所述加权梯度值确定为所述梯度聚合值。
27.可选地,根据所述多参与方的本地模型的模型参数更新所述聚合模型包括:
28.分别确定所述所述多参与方的本地模型的模型质量评估结果与信誉值评分;
29.分别根据所述模型质量评估结果与所述信誉值评分确定所述多参与方的本地模型的权重;
30.根据所述多参与方的本地模型的权重与所述多参与方的本地模型的参数更新所述聚合模型。
31.可选地,在通过区块链接收所述多参与方上传的本地模型的损失值与梯度值之后,所述方法还包括:
32.通过区块链对所述损失值与所述梯度值的签名进行验证;
33.在对所述签名验证通过之后,验证所述梯度值的可靠性。
34.根据本发明的另一个实施例,还提供了一种聚合模型更新处理装置,包括:
35.接收模块,用于通过区块链接收多参与方上传的本地模型的损失值与梯度值,其中,所述本地模型是所述多参与方基于本地数据对聚合模型进行训练得到的;
36.第一确定模块,用于分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值;
37.第二确定模块,用于根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件;
38.发送模块,用于在判断结果为否的情况下,将所述损失聚合值和/或梯度聚合值发
送给所述多参与方,以使所述多参与方所述损失聚合值和/或梯度聚合值更新所述本地模型;
39.更新模块,用于在所述多参与方的本地模型均满足所述预设条件的情况下,根据所述多参与方的本地模型的模型参数更新所述聚合模型。
40.可选地,所述第二确定模块,还用于分别判断所述多参与方的本地模型的损失值是否大于或等于所述损失聚合值,得到第一判断结果,并判断所述多参与方的本地模型的梯度值是否大于或等于所述梯度聚合值,得到第二判断结果;在所述第一判断结果与所述第二判断结果均为是的情况下,确定所述多参与方的本地模型满足预设条件;在所述第一判断结果或所述第二判断结果为否的情况下,确定所述多参与方的本地模型不满足所述预设条件。
41.可选地,所述第一确定模块,还用于确定所述多参与方的损失值的损失均值,将所述损失均值确定为所述损失聚合值;确定所述多参与方的梯度值的梯度均值,将所述梯度均值确定为所述梯度聚合值。
42.可选地,所述第一确定模块,还用于按照预先为所述多参与方设置的权重确定所述多参与方的损失值的加权损失值,将所述加权损失值确定为所述损失聚合值;按照预先为所述多参与方设置的权重确定所述多参与方的梯度值的加权梯度值,将所述加权梯度值确定为所述梯度聚合值。
43.可选地,所述更新模块,还用于分别确定所述所述多参与方的本地模型的模型质量评估结果与信誉值评分;分别根据所述模型质量评估结果与所述信誉值评分确定所述多参与方的本地模型的权重;根据所述多参与方的本地模型的权重与所述多参与方的本地模型的参数更新所述聚合模型。
44.可选地,所述装置还包括:
45.验证模块,用于通过区块链对所述损失值与所述梯度值的签名进行验证;在对所述签名验证通过之后,验证所述梯度值的可靠性。
46.根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
47.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
48.通过本发明,通过区块链接收多参与方上传的本地模型的损失值与梯度值;分别根据所述多参与方的确定损失聚合值与梯度聚合值;根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件;在判断结果为否的情况下,将所述损失聚合值和/或梯度聚合值发送给所述多参与方,以使所述多参与方所述损失聚合值和/或梯度聚合值更新所述本地模型;在所述多参与方的本地模型均满足所述预设条件的情况下,根据所述多参与方的本地模型的模型参数更新聚合模型,可以解决相关技术中联邦学习采用联邦平均的方法予以聚合,低质量模型参与聚合导致全局模型质量降低的问题,根据损失值与梯度值筛掉低质量模型,从而提升聚合模型的准确率。
附图说明
49.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
50.图1是本发明实施例的聚合模型更新处理方法的移动终端的硬件结构框图;
51.图2是根据本发明实施例的聚合模型更新处理方法的流程图;
52.图3是根据本发明实施例的集群学习的训练的示意图;
53.图4是根据本发明实施例的聚合模型更新处理装置的框图。
具体实施方式
54.下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
55.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
56.本技术实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的聚合模型更新处理方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
57.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的聚合模型更新处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
58.传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
59.在本实施例中提供了一种运行于上述移动终端或网络架构的聚合模型更新处理方法,应用于主节点,图2是根据本发明实施例的聚合模型更新处理方法的流程图,如图2所示,该流程包括如下步骤:
60.步骤s202,通过区块链接收多参与方上传的本地模型的损失值与梯度值,其中,所述本地模型是所述多参与方基于本地数据对聚合模型进行训练得到的;
61.进一步的,为了防止因推理攻击而导致的本地数据隐私泄露风险,针对模型聚合
过程中的梯度增加还可以基于拉普拉斯机制的差分隐私保护。
62.步骤s204,分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值;
63.步骤s206,根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件;
64.步骤s208,在判断结果为否的情况下,将所述损失聚合值和/或梯度聚合值发送给所述多参与方,以使所述多参与方所述损失聚合值和/或梯度聚合值更新所述本地模型;
65.步骤s210,在所述多参与方的本地模型均满足所述预设条件的情况下,根据所述多参与方的本地模型的模型参数更新所述聚合模型。
66.通过上述步骤s202至s210,可以解决相关技术中联邦学习采用联邦平均的方法予以聚合,低质量模型参与聚合导致全局模型质量降低的问题,根据损失值与梯度值筛掉低质量模型,从而提升聚合模型的准确率。
67.本发明实施例中,上述步骤s206具体可以包括:分别判断所述多参与方的本地模型的损失值是否大于或等于所述损失聚合值,得到第一判断结果,并判断所述多参与方的本地模型的梯度值是否大于或等于所述梯度聚合值,得到第二判断结果;在所述第一判断结果与所述第二判断结果均为是的情况下,确定所述多参与方的本地模型满足预设条件;在所述第一判断结果或所述第二判断结果为否的情况下,确定所述多参与方的本地模型不满足所述预设条件。
68.在一实施例中,上述步骤s204具体可以包括:确定所述多参与方的损失值的损失均值,将所述损失均值确定为所述损失聚合值;确定所述多参与方的梯度值的梯度均值,将所述梯度均值确定为所述梯度聚合值。
69.在另一实施例中,上述步骤s204具体还可以包括:按照预先为所述多参与方设置的权重确定所述多参与方的损失值的加权损失值,将所述加权损失值确定为所述损失聚合值;按照预先为所述多参与方设置的权重确定所述多参与方的梯度值的加权梯度值,将所述加权梯度值确定为所述梯度聚合值。
70.本发明实施例中,上述步骤s210具体可以包括:分别确定所述所述多参与方的本地模型的模型质量评估结果与信誉值评分;分别根据所述模型质量评估结果与所述信誉值评分确定所述多参与方的本地模型的权重;根据所述多参与方的本地模型的权重与所述多参与方的本地模型的参数更新所述聚合模型。
71.相关技术中的联邦学习通常采用联邦平均的方法对梯度予以聚合,但没有考虑到低质量模型参与聚合带来的全局模型质量降低的问题。本发明实施例根据模型质量评估结果以及参与方在协作过程中的信誉值评分调整模型聚合权重,增加高质量模型参数在聚合中的贡献度占比,从而提升聚合模型的准确率。
72.为了防止参与方自身作恶上传虚假的训练损失,提出了协作者异步参数审计机制。在每轮迭代过程中,参与方对接收到的模型参数利用自身本地数据计算模型误差。经过异步参数审计之后,模型质量评估不单依靠节点自身计算的训练误差,还需考虑参与方对模型参数的审计结果,从而获取到更加真实公平的本地模型质量评估结果。
73.在一可选的实施例中,在上述步骤s202之后,所述方法还包括:通过区块链对所述损失值与所述梯度值的签名进行验证;在对所述签名验证通过之后,验证所述梯度值的可
靠性。
74.区块链收到数据后,验证签名的合法性,以防止攻击者对数据性进行篡改。若签名合法,则验证梯度的可靠性,并组成验证委员会检测梯度是否存在恶意攻击。采用multi-krum算法检测恶意攻击,可以解决参与分布式训练中n个设备间存在m个拜占庭设备(2m 2《n)的问题,取与大多数向量的平方距离之和较小的向量作为合法向量。
75.本发明实施例中的集群学习的思路来源于集群智能。从自然界中可以发现社会动物以一个统一的动态系统集体工作时,解决问题和做决策上的表现会超越大多数单独成员。可以设想如果我们将独立的参与方联合起来共同构建模型,那么联合模型的表现也应该优于单个模型的效果。
76.随着信息化的不断发展,各行业积累了量大质高的敏感数据,事关国家经济命脉和公民合法权益,因此数据的安全与风险防范一直是监管部门关注的重点,国家也相继出台数据安全相关政策与法律法规,对数据安全的重视程度不断提高。
77.本发明实施例将区块链与机器学习相结合,提出集群学习的概念,意在实现数据隐私不被泄露情况下的联合建模。图3是根据本发明实施例的集群学习的训练的示意图,如图3所示,包括:
78.步骤1,根据区块链设置的准入机制,筛选满足条件的参与方参与模型训练;
79.步骤2,配置区块链中的智能合约,设置模型的损失与梯度的上传要求、聚合方法;
80.步骤3,各参与方基于本地数据进行模型的构建与训练。由于数据不出本地,所以保证了数据的隐私性与安全性;
81.步骤4,在完成一轮训练后,各参与方计算模型的损失与梯度,并将这两部分上传至区块链;
82.步骤5,智能合约会判断参与方上传的模型的损失与梯度是否满足要求,只保留满足要求的部分;
83.步骤6,基于智能合约计算各参与方上传的损失与梯度的聚合均值。依据平均损失判断模型训练是否终止。若未停止,则区块链将更新后的平均梯度同步至各参与方,参与方依此更新模型参数;
84.至此,一轮模型迭代结束。而后重复步骤3-步骤6,直至模型达到终止条件。
85.通过这一过程实现了在满足数据不出本地情况下的联合模型的训练,同时由于区块链的存在,这样的联合建模不需要可信第三方的存在,各参与方的角色一致、地位平等,避免了由可信第三方导致的“权力”集中。
86.根据本发明的另一个实施例,还提供了一种聚合模型更新处理装置,图4是根据本发明实施例的聚合模型更新处理装置的框图,如图4所示,包括:
87.接收模块42,用于通过区块链接收多参与方上传的本地模型的损失值与梯度值,其中,所述本地模型是所述多参与方基于本地数据对聚合模型进行训练得到的;
88.第一确定模块44,用于分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值;
89.第二确定模块46,用于根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件;
90.发送模块48,用于在判断结果为否的情况下,将所述损失聚合值和/或梯度聚合值
发送给所述多参与方,以使所述多参与方所述损失聚合值和/或梯度聚合值更新所述本地模型;
91.更新模块410,用于在所述多参与方的本地模型均满足所述预设条件的情况下,根据所述多参与方的本地模型的模型参数更新所述聚合模型。
92.可选地,所述第二确定模块46,还用于分别判断所述多参与方的本地模型的损失值是否大于或等于所述损失聚合值,得到第一判断结果,并判断所述多参与方的本地模型的梯度值是否大于或等于所述梯度聚合值,得到第二判断结果;在所述第一判断结果与所述第二判断结果均为是的情况下,确定所述多参与方的本地模型满足预设条件;在所述第一判断结果或所述第二判断结果为否的情况下,确定所述多参与方的本地模型不满足所述预设条件。
93.可选地,所述第一确定模块44,还用于确定所述多参与方的损失值的损失均值,将所述损失均值确定为所述损失聚合值;确定所述多参与方的梯度值的梯度均值,将所述梯度均值确定为所述梯度聚合值。
94.可选地,所述第一确定模块44,还用于按照预先为所述多参与方设置的权重确定所述多参与方的损失值的加权损失值,将所述加权损失值确定为所述损失聚合值;按照预先为所述多参与方设置的权重确定所述多参与方的梯度值的加权梯度值,将所述加权梯度值确定为所述梯度聚合值。
95.可选地,所述更新模块410,还用于分别确定所述所述多参与方的本地模型的模型质量评估结果与信誉值评分;分别根据所述模型质量评估结果与所述信誉值评分确定所述多参与方的本地模型的权重;根据所述多参与方的本地模型的权重与所述多参与方的本地模型的参数更新所述聚合模型。
96.可选地,所述装置还包括:
97.验证模块,用于通过区块链对所述损失值与所述梯度值的签名进行验证;在对所述签名验证通过之后,验证所述梯度值的可靠性。
98.需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
99.本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
100.可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
101.s1,通过区块链接收多参与方上传的本地模型的损失值与梯度值,其中,所述本地模型是所述多参与方基于本地数据对聚合模型进行训练得到的;
102.s2,分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值;
103.s3,根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件;
104.s4,在判断结果为否的情况下,将所述损失聚合值和/或梯度聚合值发送给所述多参与方,以使所述多参与方所述损失聚合值和/或梯度聚合值更新所述本地模型;
105.s5,在所述多参与方的本地模型均满足所述预设条件的情况下,根据所述多参与
方的本地模型的模型参数更新所述聚合模型。
106.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
107.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
108.可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
109.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
110.s1,通过区块链接收多参与方上传的本地模型的损失值与梯度值,其中,所述本地模型是所述多参与方基于本地数据对聚合模型进行训练得到的;
111.s2,分别根据所述多参与方的损失值与梯度值确定损失聚合值与梯度聚合值;
112.s3,根据所述损失聚合值与所述梯度聚合值确定所述多参与方的本地模型是否满足预设条件;
113.s4,在判断结果为否的情况下,将所述损失聚合值和/或梯度聚合值发送给所述多参与方,以使所述多参与方所述损失聚合值和/或梯度聚合值更新所述本地模型;
114.s5,在所述多参与方的本地模型均满足所述预设条件的情况下,根据所述多参与方的本地模型的模型参数更新所述聚合模型。
115.可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
116.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
117.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献