本技术属于业务支撑,尤其涉及一种用于联邦学习的损失约束方法、装置、电子设备及介质。
背景技术:
1、联邦学习是一种新型分布式的机器学习范式,能够让双方在不共享数据的基础上联合建模,从技术上打破数据孤岛。联邦学习的整套机制在合作过程中,数据不会传递到外部。通过联邦学习分散建模的效果和把数据合在一起建模的效果对比,几乎是无损的。在合作过程中,合作双方是对等的,不存在一方主导另外一方,无论数据源方,还是数据应用方,都能获取相应的价值。
2、在现有技术中,各个设备根据本地的训练数据得到待训练模型的梯度,然后各自将梯度共享,并进行梯度融合,采用融合后的梯度更新待训练模型。但是,在共享梯度的过程中,攻击者可能通过网络流量监听或者加密流量劫持等方式获取到明文的梯度信息,然后根据梯度信息获取到对应设备的隐私的训练数据,从而导致隐私泄露。
技术实现思路
1、本技术实施例提供一种用于联邦学习的损失约束方法、装置、电子设备及介质,能够在保证数据安全的前提下,提升联合建模效率。
2、第一方面,本技术实施例提供一种用于联邦学习的损失约束方法,应用于服务器,方法可以包括:
3、步骤一、接收各参与方产生的模型参数数据;
4、步骤二、对所述模型参数数据进行随机扰动编码,得到扰动模型参数数据;
5、步骤三、汇总并解码所述扰动模型参数数据;
6、步骤四、根据损失约束机制对所述解码后的扰动模型参数数据进行校验和回归统计,得到目标模型参数数据;
7、步骤五、将所述目标模型参数数据传递回各所述参与方,以使各所述参与方根据所述目标模型参数数据进行模型迭代更新,重复步骤三至步骤五直至模型收敛或达到最大迭代次数。
8、在其中一个实施例中,上述涉及到的所述根据损失约束机制对所述解码后的扰动模型参数数据进行校验和回归统计,得到目标模型参数数据,包括:
9、根据公式(1)、公式(2)和所述扰动模型参数数据,得到本轮更新次数;
10、根据各参与方传递的模型参数数据,得到各所述参与方的扰动模型参数数据;
11、根据各所述参与方的扰动模型参数数据和公式(3),计算得到所述目标模型参数;
12、
13、其中k代表参与方数量,nk代表k的参与方的数据量,t代表迭代的轮数;
14、
15、其中uk代表本轮更新次数,s指每一轮模型更新中参与方在本地数据集中执行的步骤数;
16、
17、其中n为全部参与方模型参数的之和,μ表示该位值为1的概率,bk代表参与方传递的模型参数数据,b′k代表所述参与方的扰动模型参数数据。
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.一种用于联邦学习的损失约束方法,其特征在于,应用于服务器,方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据损失约束机制对所述解码后的扰动模型参数数据进行校验和回归统计,得到目标模型参数数据,包括:
3.一种用于联邦学习的损失约束方法,其特征在于,应用于参与方,方法包括:
4.根据权利要求3所述的方法,其特征在于,所述将产生的模型参数数据发送至服务器之前,还包括:
5.根据权利要求4所述的方法,其特征在于,所述对数据库中的记录进行校验,得到校验结果之后,还包括:
6.根据权利要求5所述的方法,其特征在于,所述在所述校验结果用于指示数据库中的记录具有唯一性的情况下,根据每条所述记录中字段的对应关系,得到判断结果之后,还包括:
7.一种用于联邦学习的损失约束装置,其特征在于,应用于服务器,装置包括:
8.一种用于联邦学习的损失约束装置,其特征在于,应用于参与方,装置包括:
9.一种电子设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-6任意一项所述的用于联邦学习的损失约束方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行如权利要求1-6任意一项所述的用于联邦学习的损失约束方法。