本发明涉及联邦学习,尤其是一种基于多项式分解问题的同态加密联邦学习方法。
背景技术:
1、联邦学习(federated learning)是一种能够实现“数据不出本地”的分布式机器学习方式,它的思想是:让客户端本地训练完再统一进行聚合,步骤为:服务器向客户端广播全局模型;客户端开始各自训练全局模型为本地模型;训练完成后,客户端们将本地模型上传回服务器;服务器进行特殊的聚合操作得到一个满足所有要求的全局模型,从而实现了数据不出客户端,但是模型训练完成的效果,杜绝了因机器学习的需要造成数据泄露的可能。
2、然而如何在保护数据隐私的同时实现数据的有效利用,已成为急切要解决的技术问题。同态加密技术(fhe)以其独特的加密后数据仍可进行计算的特性,为解决这一问题提供了新的方向。同态加密(fhe)允许在不解密的情况下对加密数据进行特定的运算,其核心在于保持数据的运算完整性。
3、然而,同态加密(fhe)计算复杂性和性能开销限制了其在实际应用中的广泛部署。联邦学习作为一种新兴的分布式机器学习范式,有效解决了数据隐私和集中存储的问题,具备了一定的安全性。但是,当模型训练涉及敏感数据时,如何确保参数交换过程中的数据安全,依然成为亟待解决的挑战,因为联邦学习依然可能遭受到梯度反演和数据推理攻击。
技术实现思路
1、针对现有技术的不足,本发明提供一种基于多项式分解问题的同态加密联邦学习方法,以进一步提高联邦学习的隐私安全性。
2、本发明的技术方案为:一种基于多项式分解问题的同态加密联邦学习方法,包括以下步骤:
3、s1)、服务器开始一轮联邦学习训练,初始化全局模型参数,并将全局模型参数广播给各个客户端;
4、s2)、客户端收到全局模型参数后使用本地数据训练全局模型作为自己的本地模型;
5、s3)、所有客户端训练完成后,将本地模型参数发送给指定的可信的第三方加密模块;
6、s4)、所述的第三方加密模块将收到的客户端的本地模型参数转换为同型的参数矩阵;并将参数矩阵中的元素位置初始化为多项式分式;并将所有客户端的多项式分式发送给服务器;
7、s5)、服务器接收来自第三方加密模块的多项式分式后,使用定义法计算相应的反常积分,逐步还原聚合后的模型。
8、作为优选的,所述的第三方加密模块为第三方加密平台或者客户端。
9、作为优选的,若所述的第三方加密模块为客户端,则该客户端不参与本地模型的训练。
10、本发明的有益效果为:
11、1、本发明多项式的设计基于参数的多项式插值实现,最终每个参数维持一个多项式,在同态加密计算时,所有客户端的参数密文态加权平均只需要进行一次多项式反常积分计算即可获得,其计算复杂度非常小,特别适用于联邦学习这种通讯交互次数较多的场景;
12、2、本发明能够进一步防止隐私泄露,强化联邦学习框架的隐私安全性;本发明具有能抵抗客户端模型参数的投毒攻击、模型的推理和反演攻击的优点。
1.一种基于多项式分解问题的同态加密联邦学习方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:所述的第三方加密模块为第三方加密平台或者客户端。
3.根据权利要求1所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:若所述的第三方加密模块为客户端,则该客户端不参与本地模型的训练。
4.根据权利要求2所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:所述的第三方加密模块将收到的本地模型参数转化为同型的参数矩阵在n维本地模型参数向量的基础上向下拓展a维,并补上0元素使得为整数;然后按“先行后列”的顺序排列所有元素为n′维参数矩阵其表达式如下:
5.根据权利要求4所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:初始化一个n′维的多项式分式矩阵m用于放置多项式分式;将矩阵m中对应的本地模型参数转化后的参数矩阵的元素位置初始化为多项式分式fi,j(x)=0。
6.根据权利要求5所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:所述的第三方加密模块对本地模型参数转换的参数矩阵作如下操作:
7.根据权利要求6所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:所述的服务器对收到的来自第三方加密模块的矩阵m中的多项式分式元素fi,j(x)计算反常积分parameteri,j;逐步还原每一个元素位置的聚合参数;再将m中按照“先行后列”顺序的前n个元素排列还原为聚合参数向量wt+1。
8.根据权利要求7所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:所述的反常积分的计算式为:
9.根据权利要求8所述的一种基于多项式分解问题的同态加密联邦学习方法,其特征在于:在完成该轮训练后,服务器将新的全局模型参数wt+1发送给各个参与训练的客户端,作为下一轮训练的初始参数。