本技术涉及联邦学习,特别是涉及轻量化数据安全聚合方法、装置及系统。
背景技术:
1、联邦学习(federated learning,fl),是一种分布式机器学习方法。联邦学习的核心目的是在联邦模型的训练过程中保障用户端所提供的本地数据的隐私安全,确保本地数据的隐私始终不外泄。
2、安全聚合是联邦学习中一种保护数据隐私的手段,参与联邦学习的用户端利用本地数据训练本地模型,并将所训练的本地模型的梯度发送至服务器,服务器在不解密各用户端的梯度的情况下聚合所有梯度,得到全局梯度,全局梯度用于指示下一轮本地模型的训练方向。
3、在联邦学习的过程中,用户端所提供的本地数据可以为多媒体数据,多媒体数据包括文本、图像、音频、视频等多媒体数据,由于多媒体数据的丰富性和复杂性,多媒体数据可能包含高度敏感的信息,而通过梯度存在反推多媒体数据的信息的可能性。
4、因此,针对联邦学习的安全聚合,如何提高数据安全性是亟待解决的问题。
技术实现思路
1、本技术实施例的目的在于提供轻量化数据安全聚合方法、装置及系统,以针对联邦学习的安全聚合,提高数据安全性。具体技术方案如下:
2、第一方面,本技术实施例提供了一种轻量化数据安全聚合方法,应用于目标用户端,所述目标用户端为参与联邦学习的用户集合中的任一用户端,所述方法包括:
3、在满足预定的梯度上报条件时,对所述目标用户端的第一份额值,以及所述用户集合中其他用户端分别共享给所述目标用户端的第二份额值进行求和处理,得到所述目标用户端的目标掩码;其中,每一用户端具有第一份额值以及多个第二份额值,每一用户端的所述多个第二份额值中的每一份额值通过预定可信方分发至除该用户端以外的唯一一个用户端,每一用户端的第一份额值和所述多个第二份额值为对该用户端所生成的目标随机数值进行数值分解所得到的,且求和所得到的数值等于所述目标随机数值;
4、获取所述目标用户端的待上报的当前梯度;其中,所述待上报的当前梯度为所述目标用户端根据本地的多媒体数据,当前对所述目标用户端的本地模型进行训练后所生成的;
5、将所述目标用户端的目标掩码与所述目标用户端的待上报的当前梯度进行求和处理,得到所述目标用户端的加密梯度;
6、将所述加密梯度发送至服务器,以使所述服务器在获取到所述用户集合中各个用户端发送的加密梯度后,对所述各个用户端发送的加密梯度进行聚合,并从聚合的结果中剔除全局掩码,得到梯度聚合后的、用于下发至所述各个用户端的全局梯度;其中,所述全局掩码为所述预定可信方基于所述各个用户端上报的第一份额值以及所述多个第二份额值,所计算得到的所述各个用户端的目标掩码的总和。
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、当然,实施本技术的任一产品或方法并不一定需要同时达到以上所述的所有优点。
1.一种轻量化数据安全聚合方法,其特征在于,应用于目标用户端,所述目标用户端为参与联邦学习的用户集合中的任一用户端,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述全局梯度,对所述目标用户端的本地模型的模型参数进行更新之前,所述方法还包括:
4.根据权利要求1-3任一项所述的方法,其特征在于,所述对所述目标用户端的第一份额值,以及所述用户集合中其他用户端分别共享给所述目标用户端的第二份额值进行求和处理,得到所述目标用户端的目标掩码,包括:
5.根据权利要求1-3任一项所述的方法,其特征在于,任一用户端的目标随机数值按照如下公式进行数值分解:
6.根据权利要求1-3任一项所述的方法,其特征在于,每一用户端生成目标随机数值的方式,包括:
7.一种轻量化数据安全聚合方法,其特征在于,应用于服务器;所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.一种轻量化数据安全聚合系统,其特征在于,包括:服务器以及参与联邦学习的用户集合中的各个用户端;
10.一种轻量化数据安全聚合装置,其特征在于,应用于目标用户端,所述目标用户端为参与联邦学习的用户集合中的任一用户端,所述装置包括:
11.一种轻量化数据安全聚合装置,其特征在于,应用于服务器;所述装置包括:
12.一种电子设备,其特征在于,包括:
