[发明专利]基于SIGNSGD的联邦学习梯度安全聚合方法在审
申请号: | 202110669062.1 | 申请日: | 2021-06-17 |
公开(公告)号: | CN113407963A | 公开(公告)日: | 2021-09-17 |
发明(设计)人: | 林莉;张笑盈;王万祥;杨康;解晓宇 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F21/60 | 分类号: | G06F21/60;G06F21/62;G06N3/08;G06K9/62 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 signsgd 联邦 学习 梯度 安全 聚合 方法 | ||
1.基于SIGNSGD的梯度安全聚合方法,其特征在于,该方法包括以下步骤:
步骤1:初始化阶段;
参与方在本地完成模型参数和密钥对的初始化;
步骤2:训练阶段;
参与方们在本地进行模型训练,然后在每轮训练中计算梯度,并对1和-1加密,替换到梯度相应位置,得到梯度密文,然后将梯度密文上传到聚合服务器;
步骤3:聚合阶段;
聚合服务器对梯度密文进行聚合,然后聚合服务器将聚合的梯度密文发给各个参与方;
采用基于SIGNSGD的梯度聚合方法,聚合服务器根据参与方上传的梯度密文进行聚合,由于参与方梯度中的值为1或-1的密文,根据SIGNSGD的思想,梯度的正负的多数决定最终聚合结果,如果1的个数多,聚合结果为正数,如果-1的个数多,聚合结果为负数,如果一样多,则聚合结果为0,梯度密文聚合算法采用同态加密算法中密文的同态性对梯度进行聚合计算,聚合服务器将收到的梯度密文进行聚合,即利用同态加密的同态性,对收到的梯度密文进行同态加密的密文乘法运算,得到聚合的梯度密文;
步骤4:模型更新阶段;
参与方们在本地解密聚合梯度密文,并更新模型参数。
2.根据权利要求1所述的基于SIGNSGD的梯度安全聚合方法,其特征在于,步骤1的具体实施过程如下,
步骤1.1:模型参数的初始化;
(1)参与方在本地初始化神经网络模型nn,学习率α和训练轮数epoch,每个参与方的nn,α和epoch都是一样的;
步骤1.2:密钥对的初始化;
(1)可信第三方完成公钥pk和私钥sk的生成,并下发给各个参与方,每个参与方获得的pk和sk都是一样的。
3.根据权利要求1所述的基于SIGNSGD的梯度安全聚合方法,其特征在于,步骤2的具体实施过程如下,
步骤2.1:梯度计算;
(1)设参与方的训练数据集为D,参与方们随机选取D的子集D*,对D*计算损失函数,然后根据损失函数对模型参数求导得到梯度;
步骤2.2:梯度的加密;
(1)在参与方得到公钥pk和私钥sk后,基于SIGNSGD的思想,将梯度中的正值看做1,负值看做-1,然后对1和-1加密,替换到梯度相应位置,作为梯度加密的结果;先获取模型的梯度,设为G,G为大于等于0且小于n的正整数;然后随机选择r满足0rn且r∈Z*n2;接着对1和-1进行加密,得到梯度密文,将1和-1看做num,加密过程为密文c=gnum·rnmod n2;最后替换到梯度相应位置,作为梯度加密的结果;并将得到的梯度密文上传到聚合服务器。
4.根据权利要求1所述的基于SIGNSGD的梯度安全聚合方法,其特征在于,步骤4的具体实施过程如下,
步骤4.1:解密聚合的梯度密文;
(1)参与方们在本地利用公钥pk和私钥sk对聚合的梯度密文进行解密运算,得到聚合梯度的明文结果;
步骤4.2:模型参数的更新;
(1)参与方们利用聚合梯度的明文结果更新模型参数,更新完成后,如果达到预定的训练轮数epoch,则训练终止,如果未达到预定的训练轮数epoch,则返回训练阶段继续下一轮训练。
5.根据权利要求3所述的基于SIGNSGD的梯度安全聚合方法,其特征在于,所述步骤2.1梯度计算的过程中,包括以下步骤:
(1)参与方们获得数据集D的随机子集D*,设D={(xi,yi)|i=1,2,…,p},D*={(x1,y1)|i=1,2,…,q},q<p,其中xi代表数据,yi代表标签;
(2)参与方们对数据集D*里面的数据计算输出值,并根据输出值和标签得到损失函数;
(3)参与方们通过损失函数对模型进行求导得到梯度值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110669062.1/1.html,转载请声明来源钻瓜专利网。