数据处理方法、装置、设备及存储介质与流程

文档序号:35932090发布日期:2023-11-05 09:23阅读:47来源:国知局
数据处理方法、装置、设备及存储介质与流程

本技术涉及人工智能技术等领域,尤其涉及一种数据处理方法、装置、设备及存储介质。


背景技术:

1、人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习等几大方向。其中,基于机器学习技术所创建的机器学习模型需要大量训练样本数据进行训练,才能满足用户的需求,但是训练样本数据分布在不同的机构或同一机构中的部门,由于隐私限制,无法采用数据共享的方式进行训练。为了避免隐私泄露,基于多方参与训练的联邦学习模型应运而生,参与方可以将联邦学习模型的中间结果以加密方式分享给其他参与方,其他参与方基于加密的中间结果确定训练参数,根据训练参数对联邦学习模型进行训练。实现中发现,在联邦学习模型的训练过程中,需要大量矩阵计算等高维运算,导致联邦学习模型的训练开销比较大,且效率比较低。


技术实现思路

1、本技术实施例提供一种数据处理方法、装置、设备及存储介质,降低联邦学习模型的训练开销,提高联邦学习模型的训练效率。

2、本技术实施例一方面提供一种数据处理方法,包括:

3、从第一设备中获取梯度密文、k个自同构公钥,以及转换公钥;所述梯度密文是基于所述第一设备的第一公钥多项式对n个梯度值进行加密得到的,所述k个自同构公钥和所述转换公钥是基于所述第一公钥多项式对应的第一私钥多项式和第二私钥多项式确定的;n、k为大于1的整数;

4、根据m个索引集合,对所述梯度密文进行同态累加处理,得到联邦学习模型的m个候选梯度直方图密文;所述m个索引集合是基于n个训练样本的样本特征对所述n个训练样本进行分箱得到的;m为大于1的整数;

5、对所述m个候选梯度直方图密文中每两个候选梯度直方图密文进行合并,得到m/2个合并梯度直方图密文;

6、根据所述k个自同构公钥、所述转换公钥,将所述m/2个合并梯度直方图密文进行转换处理,得到所述联邦学习模型的目标梯度直方图密文,将所述目标梯度直方图密文发送至所述第一设备;所述第一设备用于根据目标梯度直方图明文对所述联邦学习模型进行训练,所述目标梯度直方图明文是基于所述第二私钥多项式对所述目标梯度直方图密文进行解密得到的。

7、本技术实施例一方面提供一种数据处理方法,包括:

8、获取第一设备的第一私钥多项式对应的第一公钥多项式、第二私钥多项式、转换公钥和k个自同构公钥;所述转换公钥和所述k个自同构公钥是基于所述第一私钥多项式和所述第二私钥多项式生成的,k为大于1的整数;

9、根据所述第一公钥多项式,对n个梯度值进行加密,得到梯度密文;n为大于1的整数;

10、将所述梯度密文、所述交换公钥和所述k个同构映射公钥发送至第二设备;所述第二设备用于根据所述k个自同构公钥、所述转换公钥,将m/2个合并梯度直方图密文进行转换处理,得到联邦学习模型的目标梯度直方图密文,所述m/2个合并梯度直方图密文是对m个候选梯度直方图密文中每两个候选梯度直方图密文进行合并得到的,所述m个候选梯度直方图密文是根据m个索引集合,对所述梯度密文进行同态累加处理得到的;所述m个索引集合是基于所述n个训练样本的第二样本特征对所述n个训练样本进行分箱得到的;m为大于1的整数;

11、接收所述第二设备所发送的所述联邦学习模型的目标梯度直方图密文,根据所述第二私钥多项式,对所述目标梯度直方图密文进行解密,得到目标梯度直方图明文;

12、根据所述目标梯度直方图明文,对所述联邦学习模型进行训练。

13、本技术实施例一方面提供一种数据处理装置,包括:

14、获取模块,用于从第一设备中获取梯度密文、k个自同构公钥,以及转换公钥;所述梯度密文是基于所述第一设备的第一公钥多项式对n个梯度值进行加密得到的,所述k个自同构公钥和所述转换公钥是基于所述第一公钥多项式对应的第一私钥多项式和第二私钥多项式确定的;n、k为大于1的整数;

15、处理模块,用于根据m个索引集合,对所述梯度密文进行同态累加处理,得到联邦学习模型的m个候选梯度直方图密文;所述m个索引集合是基于所述n个训练样本的样本特征对n个训练样本进行分箱得到的;m为大于1的整数;

16、合并模块,用于对所述m个候选梯度直方图密文中每两个候选梯度直方图密文进行合并,得到m/2个合并梯度直方图密文;

17、转换模块,用于根据所述k个自同构公钥、所述转换公钥,将所述m/2个合并梯度直方图密文进行转换处理,得到所述联邦学习模型的目标梯度直方图密文,将所述目标梯度直方图密文发送至所述第一设备;所述第一设备用于根据目标梯度直方图明文对所述联邦学习模型进行训练,所述目标梯度直方图明文是基于所述第二私钥多项式对所述目标梯度直方图密文进行解密得到的。

18、本技术实施例一方面提供一种数据处理装置,包括:

19、获取模块,用于获取第一设备的第一私钥多项式对应的第一公钥多项式、第二私钥多项式、转换公钥和k个自同构公钥;所述转换公钥和所述k个自同构公钥是基于所述第一私钥多项式和所述第二私钥多项式生成的,k为大于1的整数;

20、加密模块,用于根据所述第一公钥多项式,对n个梯度值进行加密,得到梯度密文;n为大于1的整数;

21、发送模块,用于将所述梯度密文、所述交换公钥和所述k个同构映射公钥发送至第二设备;所述第二设备用于根据所述k个自同构公钥、所述转换公钥,将m/2个合并梯度直方图密文进行转换处理,得到联邦学习模型的目标梯度直方图密文,所述m/2个合并梯度直方图密文是对m个候选梯度直方图密文中每两个候选梯度直方图密文进行合并得到的,所述m个候选梯度直方图密文是根据m个索引集合,对所述梯度密文进行同态累加处理得到的;所述m个索引集合是基于所述n个训练样本的第二样本特征对所述n个训练样本进行分箱得到的;m为大于1的整数;

22、接收模块,用于接收所述第二设备所发送的所述联邦学习模型的目标梯度直方图密文,根据所述第二私钥多项式,对所述目标梯度直方图密文进行解密,得到目标梯度直方图明文;

23、训练模块,用于根据所述目标梯度直方图明文,对所述联邦学习模型进行训练。

24、本技术实施例一方面提供了一种计算机设备,包括存储器和处理器,上述存储器存储有计算机程序,上述处理器执行上述计算机程序时实现上述的方法的步骤。

25、本技术实施例一方面提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现上述的方法的步骤。

26、本技术实施例一方面提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。

27、本技术中,在训练联邦学习模型的过程中,首先,第一设备直接根据第一公钥多项式对n个梯度值进行加密,得到梯度密文,即根据该第一公钥多项式对n个梯度值对应的梯度多项式进行加密,得到梯度密文,在对联邦学习模型的梯度值进行加密的过程中,只需要多项式之间的运行,不需要高纬度的向量运算,降低联邦学习模型的训练过程中的运算量,降低联邦学习模型的训练开销,提高联邦学习模型的训练效率。然后,第一设备将该梯度密文发送至第二设备之后,通过对m个候选梯度直方图密文中的每两个候选直方图密文进行合并,得到m/2个合并梯度直方图密文,大大减少候选直方图密文的数量;进而,降低对直方图密文(合并梯度直方密文)的转换次数,降低对直方图密文进行转换所需的资源开销,降低联邦学习模型的训练过程中的运算量,提高联邦学习模型的训练效率。另外,在对联邦学习模型的训练过程中,通过计算梯度直方图密文,将第一设备方的第一样本特征、标签数据和第二设备方的第二样本特征联系起来,在确保第一设备方的训练数据(即第一样本特征和标签数据)和第二设备方的训练数据(即第二样本特征)不被泄露的情况下,实现对联邦学习模型的联合训练,为联邦学习模型的训练过程提供更多信息量,提高联邦学习模型的训练准确度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1