一种基于区块链开展可信联邦学习的方法技术

技术编号:33395006 阅读:14 留言:0更新日期:2022-05-11 23:14
本发明专利技术提供一种基于区块链开展可信联邦学习的方法,涉及区块链技术领域。该方法涉及任务发布者、数据拥有者和区块链共识节点;任务发布者通过联邦学习,在不收集隐私数据的前提下完成模型的训练,同时可以免除检验模型的工作量;数据拥有者只需按照普通的联邦学习进行训练即可;区块链共识节点负责对数据拥有者提交的训练好的模型进行验证,并聚合得到聚合模型;区块链共识节点相互之间对聚合模型进行共识验证;任务发布者检验聚合模型,如果聚合模型能够满足任务发布者的要求,任务结束。该方法可以有效地保护数据提供者的数据隐私,有效的避免了联邦学习参与节点作恶影响整个联邦学习过程正常进行的问题。邦学习过程正常进行的问题。邦学习过程正常进行的问题。

【技术实现步骤摘要】
一种基于区块链开展可信联邦学习的方法


[0001]本专利技术涉及区块链
,尤其涉及一种基于区块链开展可信联邦学习的方法。

技术介绍

[0002]随着互联网技术的爆炸发展,人们的生活工作已经发生了天翻地覆的变化,互联网极大地融入并重构了人们正常的生活,并推动着当下社会不断向前发展。特别地,随着当下人工智能的发展,世界变得越来越智能,人工智能已经逐渐可以当做决策依据,帮助人们处理越来越多的事情,例如各种智能机器人、温度监控、人脸识别等设备,这些设备随处可见,渐渐成为社会生活中的一部分。
[0003]而在当下人工智能应用中,最为关键的一环便是模型的训练,而一个良好的模型则需要大量的优质数据作为支撑。现实生活中,除了少数巨头公司能够满足,绝大多数企业都存在数据量少,数据质量差的问题,不足以支撑人工智能技术的实现。同时数据隐私问题也引起了国家的重视,国内外监管环境也在逐步加强数据保护,陆续出台相关政策,如欧盟最近引入的新法案《通用数据保护条例》(GDPR),我国国家互联网信息办公室起草的《数据安全管理办法(征求意见稿)》,更加制约了数据集的收集。
[0004]联邦学习是针对上述数据孤岛问题提出的一种分布式的机器学习技术。通过联邦学习技术,将多个数据拥有者组织起来形成一个联邦学习平台,参与者可以在不泄露明文数据的前提下,用多方的数据共同训练模型,实现数据可用不可见。参与个体可以不用将自己本身的数据共享出去,而是可以在本地进行训练出子模型,中心节点则负责汇总子模型,得到最终的模型结果。同时此平台还可以根据各方提供的数据量以及子模型的质量提供相应奖励,激励数据拥有者提供更多、更高质量的数据。但此平台需要一个中心节点负责子模型的聚合、子模型质量的评估、奖励的分配,但在现实场景里中心节点并不可信,如果中心节点作恶会导致训练出的模型不可用,损害数据提供者的利益等问题,导致整个联邦学习平台无法正常运转。
[0005]区块链是近年来逐渐兴起的一种新型技术,采用一种分布式计算模式,使用区块链来存储数据,使用密码原理确保传输和访问的安全性,数据存储由互联网用户共同维护和监督,拥有去中心化、透明公开、数据不可修改等显著特点,其使用分布式储存与算力使整个网络节点的权利与义务相同,系统中数据本质为全网节点共同维护,从而区块链不再依靠于中央处理节点,实现数据的分布式存储、记录与更新。到目前为止,区块链技术在电子政务、医疗健康等众多领域有了越来越大的作用。

技术实现思路

[0006]本专利技术要解决的技术问题是针对上述现有技术的不足,提供一种基于区块链开展可信联邦学习的方法。
[0007]为解决上述技术问题,本专利技术所采取的技术方案是:一种基于区块链开展可信联
邦学习的方法,涉及任务发布者、数据拥有者和区块链共识节点:任务发布者通过联邦学习,在不收集隐私数据的前提下完成模型的训练,同时可以免除检验模型的工作量;数据拥有者只需按照普通的联邦学习进行训练即可;区块链共识节点负责对数据拥有者提交的训练好的模型进行验证,并聚合得到聚合模型;具体包括以下步骤:
[0008]步骤1、任务发布者通过区块链智能合约发布模型数据需求,并提供任务所需的检验数据和需要训练的模型g
t
,t为训练的轮次;
[0009]在联邦学习开始前,任务发布者在区块链上利用智能合约发布联邦学习模型训练任务,需要明示所需模型数据的特征;并上传验证该模型训练任务所需的数据到区块链存储区,区块链的共识节点能够访问区块链存储区中任务发布者的数据并用于对数据拥有者上传模型的共识验证;
[0010]智能合约支持模型训练任务逻辑的实现以及任务信息发布、任务领取、训练好的模型存储、聚合模型存储、模型评估和奖励分配的实现;
[0011]模型数据以智能合约调用参数返回,存储在区块链存储区中,区块链存储模型数据使用默克尔树实现,支持为上链的模型数据生成默克尔证明;
[0012]模型数据能够放在区块链链上存储通过智能合约读取;模型数据还能够放在区块链下存储,使用分布式文件系统Ipfs进行存储,区块链上存储相应模型数据的哈希值,通过智能合约解析哈希值验证数据;
[0013]步骤2、数据拥有者通过智能合约响应任务发布者的模型训练要求,确认参与联邦学习任务;智能合约将任务发布者提供的需要训练的模型g
t
分发给数据拥有者;
[0014]数据拥有者通过阅读数据发布者对数据的要求,判定自己所拥有的数据与该任务的匹配程度,如果自认为匹配度高,则通过智能合约进行响应,确认参加该联邦学习任务;通过智能合约,数据拥有者调用智能合约中模型读取接口,获取需要训练的模型g
t

[0015]步骤3、数据拥有者利用所拥有的本地数据D
i
训练模型g
t
,再将训练好的本地模型作为训练模型,进行多次重复训练,得到最终训练好的本地模型;
[0016]数据拥有者利用所拥有的本地数据D
i
训练模型g
t
的训练方式如下公式所示:
[0017][0018]其中,是第i个数据拥有者训练好的本地模型,是根据g
t
和D
i
求取的模型梯度,γ则是学习率,控制梯度对模型的影响;
[0019]步骤4、数据拥有者在限定的时间内将最终训练好的本地模型通过智能合约上传到区块链,区块链会将最终训练好的本地模型存储到区块链存储区中;
[0020]步骤5、每个区块链共识节点访问区块链存储区,负责对数据拥有者提交的训练好的模型进行共识验证;对验证通过后的数据拥有者上传的训练好的模型进行聚合,得到聚合模型;聚合之后,区块链共识节点相互之间对聚合模型进行共识验证;
[0021]所述对验证通过后的数据拥有者上传的训练好的本地模型进行聚合,是通过对各个数据拥有者训练好的本地模型的数据量加权平均实现,如下公式所示:
[0022][0023]其中,g
t+1
为聚合模型,n
i
为第i个数据拥有者的数据量,n为总数据量;
[0024]步骤6、任务发布者检验聚合模型g
t+1
,如果该聚合模型的效果还不能达到任务发布者的预期,那么将聚合模型g
t+1
分发给数据拥有者,并跳转至步骤3继续联邦学习任务;如果聚合模型g
t+1
能够满足任务发布者的要求,任务结束。
[0025]步骤5所述区块链共识节点进行共识验证由具备抗拜占庭攻击的bft类共识算法实现,共识节点包括负责执行模型聚合操作的主节点和负责模型验证操作的从节点;具体验证方法为:
[0026]步骤S1、区块链共识节点接收到数据拥有者提交的训练好的模型后,首先验证交易的合法性,全部通过验证的交易被放到交易池中;对交易池中的交易中的模型进行模型评估,将模型的验证结果附加在此交易后,并用本共识节点的公钥对此交易进行签名;
[0027]步骤S2、当主节点的交本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链开展可信联邦学习的方法,涉及任务发布者、数据拥有者和区块链共识节点:任务发布者通过联邦学习,在不收集隐私数据的前提下完成模型的训练,同时可以免除检验模型的工作量;数据拥有者只需按照普通的联邦学习进行训练即可;区块链共识节点负责对数据拥有者提交的训练好的模型进行验证,并聚合得到聚合模型,其特征在于:具体包括以下步骤:步骤1、任务发布者通过区块链智能合约发布模型数据需求,并提供任务所需的检验数据和需要训练的模型;步骤2、数据拥有者通过智能合约响应任务发布者的模型训练要求,确认参与联邦学习任务;智能合约将任务发布者提供的需要训练的模型分发给数据拥有者;步骤3、数据拥有者利用所拥有的本地数据训练需要训练的模型,再将训练好的本地模型作为训练模型,进行多次重复训练,得到最终训练好的本地模型;步骤4、数据拥有者在限定的时间内将最终训练好的本地模型通过智能合约上传到区块链,区块链会将最终训练好的本地模型存储到区块链存储区中;步骤5、每个区块链共识节点访问区块链存储区,负责对数据拥有者提交的训练好的模型进行共识验证;对验证通过后的数据拥有者上传的训练好的模型进行聚合,得到聚合模型;聚合之后,区块链共识节点相互之间对聚合模型进行共识验证;步骤6、任务发布者检验聚合模型,如果该聚合模型的效果还不能达到任务发布者的预期,那么将聚合模型分发给数据拥有者,并跳转至步骤3继续联邦学习任务;如果聚合模型能够满足任务发布者的要求,任务结束。2.根据权利要求1所述的一种基于区块链开展可信联邦学习的方法,其特征在于:所述步骤1的具体方法为:在联邦学习开始前,任务发布者在区块链上利用智能合约发布联邦学习模型训练任务,需要明示所需模型数据的特征;并上传验证该模型训练任务所需的数据到区块链存储区,区块链的共识节点能够访问区块链存储区中任务发布者的数据并用于对数据拥有者上传模型的共识验证。3.根据权利要求2所述的一种基于区块链开展可信联邦学习的方法,其特征在于:步骤1所述智能合约支持模型训练任务逻辑的实现以及任务信息发布、任务领取、训练好的模型存储、聚合模型存储、模型评估和奖励分配的实现;所述模型数据以智能合约调用参数返回,存储在区块链存储区中,区块链存储模型数据使用默克尔树实现,支持为上链的模型数据生成默克尔证明;模型数据能够放在区块链链上存储通过智能合约读取;还能够放在区块链下存储,使用分布式文件系统Ipfs进行存储,区块链上存储相应模型数据的哈希值,通过智能合约解析哈希值验证数据。4.根据权利要求3所述的一种基于区块链开展可信联邦学习的方法,其特征在于:所述步骤2的具体方法为:数据拥有者通过阅读数据发布者对数据的要求,判定自己所拥有的数据与该任务的匹配程度,如果自认为匹配度高,则通过智能合约进行响应,确认参加该联邦学习任务;通过智能合约,数据拥有者调用智能合约中模型读取接口,获取需要训练的模型。5.根据权利要求4所述的一种基于区块链开展可信联邦学习的方法,其特征在于:步骤
3所述数据拥有者利用所拥有的本地数据训练需要训练的模型的方式如下公式所示:其中,是第i个数据拥有者训...

【专利技术属性】
技术研发人员:陈钟李青山高健博任立峰吴振豪兰云飞郝嘉琨
申请(专利权)人:博雅正链重庆科技有限公司南京博雅区块链研究院有限公司
类型:发明
国别省市:

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

1