一种基于区块链的联邦学习方法及装置制造方法及图纸

技术编号:29224862 阅读:29 留言:0更新日期:2021-07-10 01:08
本发明专利技术实施例提供了一种基于区块链的联邦学习方法及装置,该方法包括第一节点基于本地训练数据对第i轮本地模型进行训练,确定训练后的第i+1轮本地模型梯度信息,基于梯度裁剪量化规则对第i+1轮本地模型梯度信息中各第一子梯度信息分别进行裁剪量化,得到各第二子梯度信息,按照梯度合并规则,将各第二子梯度信息中每m个第二子梯度信息进行合并,得到n类第三子梯度信息,对n类第三子梯度信息分别进行同态加密,得到n类密文,并将n类密文发送给区块链。由于将本地模型梯度信息中各第一子梯度信息分别进行裁剪量化及合并处理,再进行同态加密,因此可以降低同态加密所产生的计算资源消耗,并可以减少密文传输过程中所消耗的网络资源。络资源。络资源。

【技术实现步骤摘要】
一种基于区块链的联邦学习方法及装置


[0001]本专利技术实施例涉及金融科技(Fintech)领域,尤其涉及一种基于区块链的联邦学习方法及装置。

技术介绍

[0002]随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。
[0003]现有的基于同态加密的联邦学习方法一般是:各设备端利用本地数据集训练本地模型,得到各自训练后的本地模型梯度信息,并利用同态加密算法(比如Paillier算法等)对各自训练后的本地模型梯度信息进行加密,将各自加密后的本地模型梯度信息发送给服务端。然后,服务端在接收到各设备端发送的各自加密后的本地模型梯度信息后,按照预设的聚合方式对这些加密后的本地模型梯度信息进行聚合处理,得到处于加密状态的全局模型梯度信息(密文形式的全局模型梯度信息)。服务端将处于加密状态的全局模型梯度信息发送给各设备端,以使各设备端利用同态加密算法对各自所接收的处于加密状态的全局模型梯度信息进行解密,并基于解密后的全局模型梯度信息继续利用本地数据集训练本地模型,直至本地模型收敛或达到迭代训练次数为止,得到全局模型。然而,这种处理方式虽然利用同态加密为联邦学习提供了强大的隐私保障,但它执行复杂的加密操作(比如模乘或指数运算等),且该复杂的加密操作非常耗时,需要消耗大量计算资源。同时,复杂加密操作后会产生更大的密文,该密文在传输过程中比明文传输过程中所消耗的网络资源更多。
[0004]综上,目前亟需一种基于区块链的联邦学习方法,用以解决现有技术中存在对本地模型梯度信息进行同态加密所产生的计算开销大以及通信开销大的问题。

技术实现思路

[0005]本专利技术实施例提供了一种基于区块链的联邦学习方法及装置,用以解决现有技术中存在对本地模型梯度信息进行同态加密所产生的计算开销大以及通信开销大的问题。
[0006]第一方面,本专利技术实施例提供了一种基于区块链的联邦学习方法,包括:
[0007]第一节点基于本地训练数据对第i轮本地模型进行训练,确定出训练后的第i+1轮本地模型梯度信息;所述第一节点是从N个区块链节点中选取的用于参与第i+1轮联邦学习训练的节点;所述第i轮本地模型是基于所述第一节点从区块链上获取的第i轮全局模型梯度密文得到的;
[0008]所述第一节点基于梯度裁剪量化规则对所述第i+1轮本地模型梯度信息中的各第一子梯度信息分别进行裁剪量化,得到各第二子梯度信息;
[0009]所述第一节点按照梯度合并规则,将所述各第二子梯度信息中每m个第二子梯度信息进行合并,得到n类第三子梯度信息;
[0010]所述第一节点对所述n类第三子梯度信息分别进行同态加密,得到n类密文,并将所述n类密文发送给所述区块链;所述n类密文用于所述区块链中的聚合节点对第i+1轮联
邦学习训练的各第一节点反馈的密文进行聚合处理,从而得到第i+1轮全局模型梯度密文。
[0011]上述技术方案中,本专利技术中的技术方案一方面引入了区块链机制,将各第一节点产生的本地模型梯度密文以上链的方式存储至区块链中;同时,引入区块链中的聚合节点进行聚合处理,得到全局模型梯度密文并上链至区块链中。该方式基于区块链的去中心化以及可追溯特性可以确保各第一节点上传的本地模型梯度密文的完整性,并可以确保聚合处理各本地模型梯度密文过程的公开可验证性以及确保全局模型梯度密文的正确性,从而可以消除现有技术中服务端作恶的可能性。另一方面,各第一节点基于梯度裁剪量化规则对自身产生的本地模型梯度信息中的各第一子梯度信息分别进行裁剪量化,得到各第二子梯度信息,并按照梯度合并规则,将各第二子梯度信息中每m个第二子梯度信息进行合并,得到n类第三子梯度信息。然后对n类第三子梯度信息分别进行同态加密,得到n类密文。由于将训练后的本地模型梯度信息中各第一子梯度信息分别进行裁剪量化及合并处理,之后再进行同态加密,因此有助于降低同态加密所产生的计算资源消耗,并可以减少密文传输过程中所消耗的网络资源,从而可以解决现有技术中存在对本地模型梯度信息进行同态加密所产生的计算开销大以及通信开销大的问题。
[0012]可选地,在所述第一节点基于本地训练数据对第i轮本地模型进行训练之前,还包括:
[0013]所述第一节点对所述第i轮全局模型梯度信息密文进行同态解密,得到第i轮全局模型梯度信息;
[0014]所述第一节点确定所述第i轮全局模型梯度信息与第i

1轮全局模型梯度信息的差值大于设定阈值。
[0015]上述技术方案中,在基于本地训练数据对第i轮本地模型进行训练之前,通过将第i轮全局模型梯度信息和第i

1轮全局模型梯度信息的差值与设定阈值进行比较,能够及时地获知当前的联邦学习训练状态,以此可以及时地确定是否需要进行第i+1轮联邦学习训练;同时在确定第i轮全局模型梯度信息与第i

1轮全局模型梯度信息的差值小于等于设定阈值时,也可以避免后续再次进行联邦学习训练,从而避免联邦学习训练资源的浪费。
[0016]可选地,所述第一节点基于梯度裁剪量化规则对所述第i+1轮本地模型梯度信息中的各第一子梯度信息分别进行裁剪量化,得到各第二子梯度信息,包括:
[0017]所述第一节点基于梯度裁剪算法分别对所述各第一子梯度信息进行裁剪处理,得到裁剪后的各第一子梯度信息;
[0018]所述第一节点基于梯度量化算法分别对所述裁剪后的各第一子梯度信息进行量化处理,得到所述各第二子梯度信息。
[0019]上述技术方案中,通过使用梯度裁剪算法以及梯度量化算法对各第一子梯度进行裁剪量化,可以使得各第一子梯度信息被简化,更便于后续的数据处理,从而有助于降低后续的同态加密运算的复杂度,并有助于减少同态加密运算所消耗的时间。
[0020]可选地,所述第一节点基于梯度量化算法分别对所述裁剪后的各第一子梯度信息进行量化处理,得到所述各第二子梯度信息,包括:
[0021]针对所述裁剪后的各第一子梯度信息中每个第一子梯度信息,所述第一节点将所述第一子梯度信息与梯度阈值进行比较;所述梯度阈值是根据所述裁剪后的各第一子梯度信息的分布规律确定的;
[0022]所述第一节点基于梯度量化规则,根据所述第一子梯度信息与所述梯度阈值的比较结果,确定所述第一子梯度信息对应的第二子梯度信息。
[0023]上述技术方案中,通过将裁剪后的各第一子梯度信息分别与阈值进行比较,可以实现对裁剪后的各第一子梯度信息的分类,如此便于后续基于分类结果及时准确地对裁剪后的各第一子梯度信息进行量化,以获得各第二子梯度信息。
[0024]可选地,在得到第i+1轮全局模型梯度密文之后,还包括:
[0025]所述第一节点从所述区块链获取所述第i+1轮全局模型梯度密文,并对所述第i+1轮全局模型梯度密文进行同态解密,得到第i+1轮全局模型梯度信息;
[0026]所述第一节点若确定所述第i+1轮全局模型梯本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的联邦学习方法,其特征在于,包括:第一节点基于本地训练数据对第i轮本地模型进行训练,确定出训练后的第i+1轮本地模型梯度信息;所述第一节点是从N个区块链节点中选取的用于参与第i+1轮联邦学习训练的节点;所述第i轮本地模型是基于所述第一节点从区块链上获取的第i轮全局模型梯度密文得到的;所述第一节点基于梯度裁剪量化规则对所述第i+1轮本地模型梯度信息中的各第一子梯度信息分别进行裁剪量化,得到各第二子梯度信息;所述第一节点按照梯度合并规则,将所述各第二子梯度信息中每m个第二子梯度信息进行合并,得到n类第三子梯度信息;所述第一节点对所述n类第三子梯度信息分别进行同态加密,得到n类密文,并将所述n类密文发送给所述区块链;所述n类密文用于所述区块链中的聚合节点对第i+1轮联邦学习训练的各第一节点反馈的密文进行聚合处理,从而得到第i+1轮全局模型梯度密文。2.如权利要求1所述的方法,其特征在于,在所述第一节点基于本地训练数据对第i轮本地模型进行训练之前,还包括:所述第一节点对所述第i轮全局模型梯度信息密文进行同态解密,得到第i轮全局模型梯度信息;所述第一节点确定所述第i轮全局模型梯度信息与第i

1轮全局模型梯度信息的差值大于设定阈值。3.如权利要求1所述的方法,其特征在于,所述第一节点基于梯度裁剪量化规则对所述第i+1轮本地模型梯度信息中的各第一子梯度信息分别进行裁剪量化,得到各第二子梯度信息,包括:所述第一节点基于梯度裁剪算法分别对所述各第一子梯度信息进行裁剪处理,得到裁剪后的各第一子梯度信息;所述第一节点基于梯度量化算法分别对所述裁剪后的各第一子梯度信息进行量化处理,得到所述各第二子梯度信息。4.如权利要求3所述的方法,其特征在于,所述第一节点基于梯度量化算法分别对所述裁剪后的各第一子梯度信息进行量化处理,得到所述各第二子梯度信息,包括:针对所述裁剪后的各第一子梯度信息中每个第一子梯度信息,所述第一节点将所述第一子梯度信息与梯度阈值进行比较;所述梯度阈值是根据所述裁剪后的各第一子梯度信息的分布规律确定的;所述第一节点基于梯度量化规则,根据所述第一子梯度信息与所述梯度阈值的比较结果,确定所述第一子梯度信息对应的第二子梯度信息。5.如权利要求2所述的方法,其特征在于,在得到第i+1轮全局模型梯度密文之后,还包括:所述第一节点从所述区块链获取所述第i+1轮全局模型梯度密文,并对所述第i+1轮全局模型梯度密文进行同态解密,得到第i+1轮全局模型梯度信息;所述第一节点若确定所述第i+1轮全局模型梯度信息与所述第i轮全局模型梯度信息的差值小于等于所述设定阈值,则将所述第i+1轮全局模型梯度信息作为目标全局模型梯度信息,从而得到训练好的联邦学习模型。
6.一种基于区块链的联邦学习方法,其特征在于,包括:聚合节点从区块链上获取各第一节点发送的各n类密文;第一节点是从N个区块链节点中选取的用于参与第i+1轮联邦学习训练的节点;所述聚合节点是所述N个区块链节点中除所述各第一节点以外的其它节点中的任一个;所述聚合节点对所述各第一节点的各n类密文中同类的密文进行聚合处理,从而得到第i+1轮全局模型梯度密文,并将所述第i+1轮全局模型梯度密文发送给所述区块链;其中,所述n类密文是所述第一节点对n类第三子梯度信息分别进行同态加密得到的;所述n类第三子梯度信息是所述第一节点按照梯度合并规则对各第二子梯度信息中每m个第二子梯度信息进行合并确定的;所述各第二子梯度信息是所述第一节点基于梯度裁剪量化规则对所述第i+1轮本地模型梯度信息中的各第一子梯度信息分别进行裁...

【专利技术属性】
技术研发人员:苗银宾郑玮童秋云马卓然范瑞彬张开翔李辉忠严强李成博
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1