基于联盟链的可信联邦学习方法技术

技术编号:34412077 阅读:18 留言:0更新日期:2022-08-03 22:04
本发明专利技术提供了一种基于联盟链的可信联邦学习方法,所述方法包括:由所述客户端选择需要加入的模型,所述服务器向每个所述客户端发送客户证明,并由所述客户端保存所述客户证明;所述客户端从服务器下载当前共享模型的参数,将当前参数加载到本地模型中训练,完成对模型的更新并生成新参数;所述客户端将新参数分发到该模型下超过半数的其他客户端进行测试,并收集其他客户签名后的测试反馈;所述客户端将新参数和测试反馈发给服务器,由所述服务器向其他客户端验证,验证通过后将新参数提交到链中心;所述服务器选择链上最优的参数进行聚合,更新共享模型,直至模型达到训练目标。保证了模型参数的安全性与可靠性,有效降低存储资源的开销。储资源的开销。储资源的开销。

【技术实现步骤摘要】
基于联盟链的可信联邦学习方法


[0001]本专利技术涉及社会网络
和模型敏感数据隐私保护
,特别涉及一种基于联盟链的可信联邦学习方法。

技术介绍

[0002]在“大数据”兴起的当今信息时代,计算机的计算力不断提高,算法的复杂程度不断变大,数据的规模也不断增长,人工智能在越来越多的行业领域中得到了充足的探索与应用。尤其是机器学习(Machine Learning,ML)方法更是越来越多的被运用于分析大量数据以得到结论的领域,但其要求模型能将数据集中聚集到一起进行训练,这就引起了用户对于个人数据的隐私和安全的担忧。随着数据驱动的智能应用快速发展,数据作为机器学习算法中不可或缺的资源变得越来越需要维护,难以得到充分共享。
[0003]由于用户隐私安全问题、企业竞争关系和审批流程等因素,这样造成的“数据孤岛”问题在很大程度上影响了当前各种机器学习模型的效率提高问题。此外,数据隐私和安全保护也已经逐渐成为了世界性的趋势。世界各国相继出台相应法案,严厉打击数据安全犯罪行为。在当前形势下,有些企业虽然愿意和其他企业共享数据,但也需要符合相关政策并遵守法律法规,不然很容易造成数据泄露,引发更严重的问题。
[0004]联邦学习(Federated Learning,FL)是一种分布式的可以为数据隐私提供有效保护的机器学习框架。在联邦学习过程中,各参与方不用把训练数据提交出去也能本地对某个机器学习模型进行迭代训练,并最终将训练结果提交给中心服务器,以此来更新学习模型,提高模型效率。由于训练数据仍然保存在用户本地,这种机制既实现了对各用户训练数据的充分利用,又有效保护了每个用户数据的隐私安全。客户端在不泄露数据的前提下完成了对模型的更新优化,以至于服务器可以获取到更有价值的信息来构建新的更好的全局模型。
[0005]联邦学习技术成功解决了数据孤岛背景下数据共享学习问题,给想要得到更好机器学习模型而不愿意共享数据的参与方提供了极大的便利。但在联邦学习的架构体系中,仍然存在一些缺点和威胁。一是参与边缘智能的节点可能存在恶意行为。这是由于联邦学习框架中服务器没有访问各节点本地数据及其训练过程的权限,使得恶意节点可以上传不正确的模型更新以达到并破坏全局模型的目的。二是各边缘节点由于缺乏足够的激励而不为整个框架系统做出积极的贡献,导致整个框架系统很难吸引足够的训练数据,无法保证最终的智能模型质量,且严重影响了对优质客户端的选择,从而导致全局模型精度降低。

技术实现思路

[0006]本专利技术提供了一种基于联盟链的可信联邦学习方法,其目的是为了解决联邦学习中出现的参数篡改、恶意节点以及激励机制问题。
[0007]为了达到上述目的,本专利技术提供了一种基于联盟链的可信联邦学习方法,应用于基于联盟链的可信联邦学习系统,所述系统包括:服务器;多个客户端,每个客户端分别与
所述服务器相连接,且每个客户端均拥有不同的训练数据集和测试数据集,用于训练和测试参数;所述方法包括:步骤1,由所述客户端选择需要加入的模型,所述服务器向每个所述客户端发送客户证明,并由所述客户端保存所述客户证明;步骤2,所述客户端从服务器下载当前共享模型的参数,将当前参数加载到本地模型中训练,完成对模型的更新并生成新参数;步骤3,所述客户端将新参数分发到该模型下超过半数的其他客户端进行测试,并收集其他客户签名后的测试反馈;步骤4,所述客户端将新参数和测试反馈发给服务器,由所述服务器向其他客户端验证,验证通过后将新参数提交到链中心;步骤5,所述服务器选择链上最优的参数进行聚合,更新共享模型,直至模型达到训练目标。
[0008]其中,所述方法还包括:在所述服务器搭建联盟链中心网络,用于存取参数文件、存取模型文件、验证参数和联盟币;由所述服务器建立神经网络学习模型,取出其中的参数,对所述神经网络学习模型和参数加密后保存加密文件,并上传到链中心。
[0009]其中,所述在所述服务器搭建联盟链中心网络的步骤具体包括:在所述服务器新建一个联盟币数据库并将数据库的散列值上传到联盟链;由链中心提供数据接口,参与方直接向链中心上传和下载相关文件,其文件名需要经过散列处理,由参与方保管;由链中心提供验证接口,将参数和联盟币保存在分类账本中,通过比对链中心的账本状态来验证该参数或联盟币的状态是否正确。
[0010]其中,所述由所述服务器建立神经网络学习模型,取出其中的参数,对所述神经网络学习模型和参数加密后保存加密文件,并上传到链中心的步骤具体包括:新建一个神经网络学习模型,并取出其中的参数;通过AES对称加密分别将模型和参数加密处理后保存为文件,其中,文件名是对随机一串字节的散列以保持其独特性;文件内容经过散列处理HASH得到文件哈希,将和上一次链上哈希以及IV合并的结果进行一次散列HASH得到新的链上哈希,上传到链中心。
[0011]其中,所述步骤1具体包括:客户端进行注册,并选择需要加入的模型;服务器向所述客户端利用RSA签名体制提供客户证明,并由客户端保存;服务器分发一定数量的联盟币作为该客户的初始资产,并更改联盟币数据库,将数据库的散列值上传至链中心。
[0012]其中,所述步骤2具体包括:所述客户端向所述服务器提供客户证明,服务器根据所述客户端的RSA公钥进行
验证;服务器将散列处理Hash过的文件名提供给客户端,客户端从链中心下载全局模型的参数,所述参数用AES解密;客户端向链中心验证该参数是否是最新的模型参数,且未被修改;客户端将下载的最新参数加载到本地模型进行更新,使用本地训练集进行训练得到最优的新模型参数。
[0013]其中,所述步骤3具体包括:客户端将新参数分发到该模型下超过半数的其他客户端进行测试,且由客户端向自己选择的其他客户端提供一定数量的联盟币,其他客户端根据其提供的联盟币的数量来决定是否需要为其测试参数;客户端收集其他客户签名后的测试反馈,测试反馈含有测试结果的正确率和使用RSA签名机制对该结果的签名。
[0014]其中,所述步骤4具体包括:客户端将本地的客户证明和测试反馈一并提交给服务器;服务器验证参数并提供正确性反馈,且所述服务器根据其附带提供的测试反馈来给予其合适的联盟币奖励,对于可信高效的新参数,服务器会给予更多的联盟币奖励;客户端将所述新参数提交到链中心。
[0015]其中,所述步骤5具体包括:当链中心有足够数量的客户新参数时,所述服务器向链中心下载新参数并进行聚合,更新全局模型参数;服务器重新上传全局模型参数到链中心,当参数的训练不满足终止条件时,客户端继续下载参数并完成本地训练更新参数。
[0016]其中,所述方法还包括:所述服务器根据客户端联盟币的数量来选择优质客户端,并聚合所述优质客户端的新参数;所述服务器定期通过查链上的数据库的散列值来获取客户端联盟币的情况。
[0017]本专利技术的上述方案有如下的有益效果:本专利技术的基于联盟链的可信联邦学习方法将模型参数与激励积分同时通过联盟链进行保存,以解决联邦学习中可能出现的参数被篡改、激励不公平等潜在问题,保证了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于联盟链的可信联邦学习方法,应用于基于联盟链的可信联邦学习系统,所述系统包括:服务器;多个客户端,每个客户端分别与所述服务器相连接,且每个客户端均拥有不同的训练数据集和测试数据集,用于训练和测试参数;其特征在于,所述方法包括:步骤1,由所述客户端选择需要加入的模型,所述服务器向每个所述客户端发送客户证明,并由所述客户端保存所述客户证明;步骤2,所述客户端从服务器下载当前共享模型的参数,将当前参数加载到本地模型中训练,完成对模型的更新并生成新参数;步骤3,所述客户端将新参数分发到该模型下超过半数的其他客户端进行测试,并收集其他客户签名后的测试反馈;步骤4,所述客户端将新参数和测试反馈发给服务器,由所述服务器向其他客户端验证,验证通过后将新参数提交到链中心;步骤5,所述服务器选择链上最优的参数进行聚合,更新共享模型,直至模型达到训练目标。2.根据权利要求1所述的基于联盟链的可信联邦学习方法,其特征在于,所述方法还包括:在所述服务器搭建联盟链中心网络,用于存取参数文件、存取模型文件、验证参数和联盟币;由所述服务器建立神经网络学习模型,取出其中的参数,对所述神经网络学习模型和参数加密后保存加密文件,并上传到链中心。3.根据权利要求2所述的基于联盟链的可信联邦学习方法,其特征在于,所述在所述服务器搭建联盟链中心网络的步骤具体包括:在所述服务器新建一个联盟币数据库并将数据库的散列值上传到联盟链;由链中心提供数据接口,参与方直接向链中心上传和下载相关文件,其文件名需要经过散列处理,由参与方保管;由链中心提供验证接口,将参数和联盟币保存在分类账本中,通过比对链中心的账本状态来验证该参数或联盟币的状态是否正确。4.根据权利要求3所述的基于联盟链的可信联邦学习方法,其特征在于,所述由所述服务器建立神经网络学习模型,取出其中的参数,对所述神经网络学习模型和参数加密后保存加密文件,并上传到链中心的步骤具体包括:新建一个神经网络学习模型,并取出其中的参数;通过AES对称加密分别将模型和参数加密处理后保存为文件,其中,文件名是对随机一串字节的散列以保持其独特性;文件内容经过散列处理HASH得到文件哈希,将和上一次链上哈希以及IV合并的结果进行一次散列HASH得到新的链上哈希,上传到链中心。5.根据...

【专利技术属性】
技术研发人员:邓庭波蔡洁胡荣向斌田谷
申请(专利权)人:湖南密码工程研究中心有限公司
类型:发明
国别省市:

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

1