CN116627970A - 一种基于区块链和联邦学习的数据共享方法及装置 - Google Patents
一种基于区块链和联邦学习的数据共享方法及装置 Download PDFInfo
- Publication number
- CN116627970A CN116627970A CN202310577063.2A CN202310577063A CN116627970A CN 116627970 A CN116627970 A CN 116627970A CN 202310577063 A CN202310577063 A CN 202310577063A CN 116627970 A CN116627970 A CN 116627970A
- Authority
- CN
- China
- Prior art keywords
- model
- node
- task
- global
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012549 training Methods 0.000 claims abstract description 65
- 239000003999 initiator Substances 0.000 claims abstract description 14
- 238000004891 communication Methods 0.000 claims description 59
- 238000011156 evaluation Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 28
- 238000012360 testing method Methods 0.000 claims description 21
- 230000002776 aggregation Effects 0.000 claims description 19
- 238000004220 aggregation Methods 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000009826 distribution Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000013441 quality evaluation Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000013140 knowledge distillation Methods 0.000 claims description 3
- 238000006116 polymerization reaction Methods 0.000 claims description 3
- 230000006641 stabilisation Effects 0.000 claims description 3
- 238000011105 stabilization Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000005284 excitation Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 10
- 238000004900 laundering Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 3
- 238000007477 logistic regression Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000011001 backwashing Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/098—Distributed learning, e.g. federated learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于区块链和联邦学习的数据共享方法及装置,联邦学习网络中的任务发起方节点向区块链网络发起联邦学习任务;区块链网络向联邦学习网络广播;确认可以参加本次任务的联邦节点向区块链网络进行反馈;区块链网络将全局模型发送给参与任务的联邦学习节点;联邦学习节点在本地进行迭代更新;经过本地更新后将局部模型发送给区块链网络;区块链网络根据任务类型执行相应的智能合约;根据设置的训练轮次数进行迭代训练;区块链网络将最终训练好的全局模型发送给任务发起方。本发明可以提高联邦学习训练全局模型的鲁棒性,为多方节点训练个性化模型;通过区块链技术保证激励的公开透明,提高参与方的积极性。
Description
技术领域
本发明涉及隐私计算的联邦学习领域,尤其涉及一种基于区块链和联邦学习的数据共享方法及装置。
背景技术
为了在满足数据隐私、安全和监管要求的前提下,设计一个机器学习框架让人工智能系统能够更加高效、准确地共同使用各自的数据,业界提出了联邦学习技术。联邦学习技术是指在中央服务器的协调下,多个客户端协作解决机器学习的问题。在这一过程中,保证每个客户端的原始数据都保存在本地,不进行交换或传输。该技术方案由于参与者无需共享数据而只需传输本地模型参数,在最大程度上保护了数据隐私安全。同时,利用多方协同训练模型,比单独利用本地数据集训练模型更能提升模型性能。
但在现实不同场景中,数据的分布往往不同,无论是数据特征分布、标签分布还是数据数量,不同场景下均可能不同,即各方的数据通常是非独立且非同分布的。现有的联邦学习存在模型唯一的问题,所有参与者都依据相同的全局模型训练本地模型,且最后聚合得到的全局模型为同一个模型,因此对于所有参与者使用一个模型并不能达到最优性能。
通用的联邦学习的拓扑结构是中心化的拓扑结构,中心化的拓扑结构在在实际应用中会对网络带宽,网络通信负载带来巨大的压力。同时中心化的拓扑结构的鲁棒性不高,一旦中心节点遭受到了攻击或者断电,断网等意外情况会对整个联邦学习过程带来巨大的影响。利用区块链网络代替中央服务器可以解决这个问题,区块链本身的共识算法和防篡改特性也能在一定程度上提高联邦学习的安全性。同时,可以通过区块链技术保证激励的公开透明,提高参与方的积极性。
发明内容
本发明目的在于针对现有技术的不足,提出一种基于区块链和联邦学习的数据共享方法及装置。
本发明的目的是通过以下技术方案来实现的:一种基于区块链和联邦学习的数据共享方法,步骤如下:
S1、联邦学习网络中的任务发起方节点向区块链网络发起联邦学习任务,联邦学习任务信息包括:任务类型、训练所用的相关数据类型和初始全局模型和训练轮次数;
S2、区块链网络向联邦学习网络广播联邦学习任务信息,寻找可以参与本次任务的节点;
S3、确认参加本次任务的联邦节点将本地的联邦学习任务的相关数据量向区块链网络进行反馈;
S4、区块链网络将初始全局模型上传到星际文件系统ipfs,并将对应的哈希地址发送给参与任务的联邦学习节点;
S5、参加本次任务的联邦学习节点下载初始全局模型,各节点根据任务类型相关的本地数据对初始全局模型的参数进行迭代更新,得到局部模型;
S6、经过本地更新后将局部模型上传到ipfs,并将对应的哈希地址发送给区块链网络;
S7、区块链网络根据任务类型执行相应的智能合约,对各节点的局部模型进行评估、模型聚合、声誉值更新和奖励分配;
S8、区块链网络上的节点执行共识机制,将验证通过的交易写入区块中;
S9、根据训练轮次数重复S4-S8;得到综合了各节点本地数据的最终全局模型,上传到ipfs;
S10、区块链网络将最终全局模型对应的哈希地址发送给任务发起方。
进一步地,所述步骤1中,任务类型包括以下两种:单节点请求训练全局模型或多节点协同训练个性化模型;
单节点请求训练全局模型所支付的费用包括:区块链网络执行智能合约费用和共识节点出块奖励、联邦学习节点训练费用;
多节点协同训练个性化模型由这些节点共同支付区块链网络费用,包括执行智能合约费用、共识节点出块奖励。
进一步地,所述步骤4中,将区块链网络与联邦学习网络交互的模型存储在星际文件系统ipfs,只传输对应的哈希地址,减轻通信的压力并减小时延。
进一步地,所述步骤5中,若训练任务类型为单节点请求训练全局模型,则训练出一个鲁棒性的全局模型,由于联邦学习客户端节点之间的数据非独立同分布,添加近端项对局部模型的更新进行约束,消除训练过程中出现的客户端漂移现象,使全局模型的损失函数收敛的更稳定;因此任务参与方k在本地迭代时的要优化的函数为:
其中,设任务参与方本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;wt-1为t-1轮全局通信时聚合得到的全局模型,为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的局部模型,L(*)为损失函数,μ为近端项系数。
进一步地,所述步骤5中,若训练任务类型为多节点协同训练个性化模型,则为每个参与任务的节点训练出个性化模型;因此任务参与方k在本地迭代时的要优化的函数为:
局部模型更新函数:
其中,任务参与方k本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的局部模型,L(*)为损失函数;
个性化模型更新函数:
其中,任务参与方k本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的个性化模型,L(*)为损失函数,mt-1为t-1轮全局通信时聚合得到的全局模型;a为动态参数,根据各参与方的需求对a的值进行调整,最终各联邦学习节点得到个性化模型。
进一步地,所述步骤7中,区块链网络执行智能合约对局部模型的质量评估只考虑任务类型为单节点请求训练全局模型的情况;若是多节点协同训练个性化模型,则无需支付联邦学习节点训练费用,即不需要质量评估。
若任务发起方提供了部分测试数据集,则首先利用测试数据集对各联邦学习节点的局部模型进行评估得到评估分数评估指标为平均绝对误差,即局部模型在测试数据集上预测错误的数量占数据集总数量的比值;之后根据局部模型与上一轮全局模型的相似度计算评估分数/>加入动态项来进行调节,其中γ为超参数,根据具体情况进行设定值;
其中Dtest为测试数据集的数据量,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;为t轮全局通信时节点k在本地更新后得到的局部模型,wt-1为t-1轮聚合得到的的全局模型;t为当前全局通信的轮次,T为本任务全局通信的总轮次。
综合评估分数为:
若任务发起方未提供测试数据集,将训练过程分为两个阶段:训练前期阶段和训练后期阶段;其中前期阶段区块链网络根据局部模型与上一轮全局模型的相似度计算评估分数此时综合评估分数/>经过一定轮次的全局迭代稳定之后进入训练后期阶段,区块链网络根据各联邦节点的预测模型利用知识蒸馏生成符合全局数据分布的伪测试数据集,之后在此数据集上对联邦学习节点进行评估;综合评估分数/>β为评估分数/>和/>权重聚合参数;
假设参与任务的联邦学习节点个数为n个,将这些节点的综合评估分数Evak进行转换:
。
进一步地,所述步骤7中,区块链网络执行智能合约对局部模型进行聚合,若任务类型为单节点请求训练全局模型,将综合评估分数Evak作为局部模型的权重进行聚合:
其中,Evak为节点k的综合评估分数,为t轮全局通信时节点k在本地更新后得到的局部模型,wt为t轮全局通信时聚合得到的的全局模型;
若任务类型为多节点协同训练个性化模型,则根据数据量进行加权聚合:
其中Dk为任务参与方的本地数据量,为本次任务的全局数据量;
为t轮全局通信时节点k在本地更新后得到的局部模型,mt为t轮全局通信时聚合得到的的全局模型。
进一步地,所述步骤7中,区块链网络执行智能合约对参与任务的联邦学习节点进行声誉值更新和奖励分配只考虑任务类型为单节点请求训练全局模型的情况;区块链网络根据综合评估分数对声誉值进行更新,之后基于声誉值进行奖励发放。
其中为t轮全局通信时节点k更新后得到的声誉值,/>为t-1轮全局通信时节点k的声誉值,Evak为节点k的综合评估分数,REP为区块链网络设置的声誉值分配固定值;
其中为t轮全局通信时节点k更新后得到的声誉值,INCt为t轮全局通信时用来分配的奖励,/>为t轮全局通信时节点k分配到的奖励。
第二方面,本发明还提供了一种基于区块链和联邦学习的数据共享装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现所述的一种基于区块链和联邦学习的数据共享方法。
第三方面,本发明还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时,实现所述的一种基于区块链和联邦学习的数据共享方法。
本发明的有益效果:本发明根据联邦学习任务类型的不同,为单节点训练鲁棒性的全局模型或为多节点训练个性化模型,解决了联邦学习中各方数据非独立同分布的问题;利用区块链网络代替中央服务器解决中心化的拓扑结构网络通信负载压力大的问题,并提高联邦学习网络拓扑结构的鲁棒性;通过区块链技术保证激励的公开透明,提高参与方的积极性,利用区块链本身的共识算法和防篡改特性提高联邦学习的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1为本发明提供的一种基于区块链和联邦学习的数据共享方法流程图。
图2位发明提供的一种基于区块链和联邦学习的数据共享装置的结构图。
具体实施方式
下面利用实例并结合附图对本发明作进一步说明:
如图1所示,本发明的一个实施例是应用在银行场景,一家银行想要利用机器学习技术建立反洗钱模型,但该银行内部的数据量不足以训练出一个可用的模型,因此该银行需要与其他银行联合建模。基于此场景假设联邦学习网络中存在5个银行,用P1、P2、P3、P4、P5进行代替,区块链网络中存在5个区块链节点B1、B2、B3、B4、B5。两个网络中的节点都在星际文件系统(ipfs)进行注册登记,同时,联邦学习网络上的节点在区块链网络中进行注册登记,并进行初始化。
联邦学习网络中有上述场景需求的银行P5作为任务发起方节点向区块链网络发起与联邦学习网络中的其他银行联合建立反洗钱模型任务。任务信息包括:任务类型、本任务用到的数据为反洗钱相关数据和任务采用逻辑回归模型、训练轮次数等。反洗钱数据的表示形式为(xi,yi),xi表示用户的特征数据(存款、贷款等信贷数据),yi为标签数据,用来判断每一个用户的交易行为是否可疑。本任务建立的反洗钱模型为二分类任务,采用的逻辑回归模型可以根据输入的用户特征信息,判断该用户的行为是否为洗钱行为。
该任务的任务类型可能为以下两种:(1)银行P5请求为自己训练反洗钱模型,这种情况为单节点请求训练全局模型。(2)银行P5发送任务信息寻找也有该需求的其他银行,这种情况为多节点协同训练个性化模型。根据任务类型,单节点请求训练全局模型所支付的费用包括:区块链网络执行智能合约费用和共识节点出块奖励、联邦学习节点训练费用;多节点协同训练个性化模型共同支付区块链网络费用,包括执行智能合约费用、共识节点出块奖励;
区块链网络向联邦学习网络广播,寻找可以参与本次联合建立反洗钱模型的银行。确认可以参加本次任务的银行将本地的反洗钱相关数据量Dk向区块链网络进行反馈。本实例中假设银行P1、P2、P3、P4节点为可以参与本次任务的联邦学习节点。
区块链网络将全局逻辑回归模型上传到星际文件系统(ipfs),并将对应的哈希地址发送给参与任务的银行P1、P2、P3、P4、P5。区块链网络与联邦学习网络交互的模型存储在ipfs星际文件系统,只传输对应的哈希地址,可以减轻通信的压力并减小时延。
银行P1、P2、P3、P4、P5根据哈希地址下载全局模型,各银行根据训练任务类型选择在本地进行迭代更新的策略。若训练任务类型为单节点请求训练全局模型,则训练出一个鲁棒性的全局模型,由于各银行之间的数据非独立同分布,为了消除训练过程中出现的客户端漂移现象,添加近端项对局部模型的更新进行约束,使全局模型的损失函数收敛的更稳定;因此联合建立反洗钱模型任务参与方k在本地迭代时的要优化的函数为:
其中,设任务参与方本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签。wt-1为t-1轮全局通信时聚合得到的全局模型,为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的局部模型,L(*)为损失函数,μ为近端项系数。
若训练任务类型为多节点协同训练个性化模型多个联邦客户端节点协同训练个性化模型,则为每个参与联合建立反洗钱模型任务的节点联邦学习客户端训练出个性化模型。因此任务参与方k在本地迭代时的要优化的函数为:
局部模型更新函数:
其中,任务参与方k本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签。为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的局部模型,L(*)为损失函数。
个性化模型更新函数:
其中,任务参与方k本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签。为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的个性化模型,L(*)为损失函数,mt-1为t-1轮全局通信时聚合得到的全局模型。a为动态参数,根据各银行的需求对a的值进行调整,最终各银行得到个性化模型。
经过本地更新后将局部模型上传到ipfs,并将对应的哈希地址发送给区块链网络。区块链网络根据任务类型执行相应的智能合约对各银行的局部模型进行评估、模型聚合、声誉值更新和奖励分配。
区块链网络执行智能合约对局部模型的质量评估只考虑任务类型为单节点请求训练全局模型的情况。若是多节点协同训练个性化模型,则无需支付各银行训练费用,即不需要质量评估。
若任务发起方银行P5提供了部分测试数据集,则首先利用测试数据集对各银行的局部模型进行评估得到评估分数评估指标为平均绝对误差,即局部模型在测试数据集上预测准错误的数量占数据集总数量的比值。之后根据局部模型与上一轮全局模型的相似度计算评估分数/>模型相似度太大不利于模型训练,相似度太小不能稳定收敛,因此加入动态项来进行调节,其中γ为超参数,可以根据具体情况进行设定值。
其中Dtest为测试数据集的数据量,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签。为t轮全局通信时节点k在本地更新后得到的局部模型,wt-1为t-1轮聚合得到的的全局模型。t为当前全局通信的轮次,T为本任务全局通信的总轮次。
综合评估分数为:
若任务发起方银行P5未提供测试数据集,将训练过程分为两个阶段:训练前期阶段和训练后期阶段。其中前期阶段区块链网络根据局部模型与上一轮全局模型的相似度计算评估分数此时综合评估分数/>经过一定轮次的全局迭代稳定之后进入训练后期阶段,区块链网络根据各银行的预测模型利用知识蒸馏生成符合全局数据分布的伪测试数据集,之后在此数据集上对各银行的局部模型进行评估。综合评估分数/>β为评估分数/>和/>权重聚合参数。
参与联合建立反洗钱模型任务的联邦学习节点个数为5个,将这些银行的综合评估分数进行转换:
区块链网络执行智能合约对局部模型进行聚合,若任务类型为单节点请求训练全局模型,将综合评估分数Evak作为局部模型的权重进行聚合:
其中,Evak为节点k的综合评估分数,为t轮全局通信时节点k在本地更新后得到的局部模型,wt为t轮全局通信时聚合得到的的全局模型。
若任务类型为多节点协同训练个性化模型,则根据数据量进行加权聚合:
其中Dk为任务参与方的本地数据量,为本次任务的全局数据量。/>为t轮全局通信时节点k在本地更新后得到的局部模型,mt为t轮全局通信时聚合得到的的全局模型。
区块链网络执行智能合约对参与任务的银行进行声誉值更新和奖励分配只考虑任务类型为单节点请求训练全局模型的情况。区块链网络根据综合评估分数对声誉值进行更新,之后基于声誉值进行奖励发放。
其中为t轮全局通信时节点k更新后得到的声誉值,/>为t-1轮全局通信时节点k的声誉值,Evak为节点k的综合评估分数,REP为区块链网络设置的声誉值分配固定值。
其中为t轮全局通信时节点k更新后得到的声誉值,INCt为t轮全局通信时用来分配的奖励,/>为t轮全局通信时节点k分配到的奖励。
区块链网络上的节点执行共识机制,将验证通过的交易写入区块中。区块链网络采用fabric,将区块链网络需要执行的函数写进智能合约,模型存储采用ipfs星际文件系统。智能合约内包含的功能有局部模型评估、全局模型聚合、声誉值更新、奖励分配、基于知识蒸馏伪数据生成。区块链网络的共识机制为基于声誉值的PoS共识机制。假设在某一轮共识时,随机从5个区块链节点上选取的3个节点为B1、B2、B3,比较这三个节点的声誉值。假设B1声誉值最高,则B1为记账节点并获得出块奖励,剩余节点B2、B3、B4、B5进行验证。
根据设置的训练轮次数重复上述训练步骤,区块链网络将最终训练好的全局模型上传至ipfs,并将对应的哈希地址发送给任务发起方银行P5。
与前述一种基于区块链和联邦学习的数据共享方法的实施例相对应,本发明还提供了一种基于区块链和联邦学习的数据共享装置的实施例。
参见图2,本发明实施例提供的一种基于区块链和联邦学习的数据共享装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述实施例中的一种基于区块链和联邦学习的数据共享方法。
本发明提供的一种基于区块链和联邦学习的数据共享装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本发明提供的一种基于区块链和联邦学习的数据共享装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的一种基于区块链和联邦学习的数据共享方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
Claims (10)
1.一种基于区块链和联邦学习的数据共享方法,其特征在于,步骤如下:
S1、联邦学习网络中的任务发起方节点向区块链网络发起联邦学习任务,联邦学习任务信息包括:任务类型、训练所用的相关数据类型和初始全局模型和训练轮次数;
S2、区块链网络向联邦学习网络广播联邦学习任务信息,寻找可以参与本次任务的节点;
S3、确认参加本次任务的联邦节点将本地的联邦学习任务的相关数据量向区块链网络进行反馈;
S4、区块链网络将初始全局模型上传到星际文件系统ipfs,并将对应的哈希地址发送给参与任务的联邦学习节点;
S5、参加本次任务的联邦学习节点下载初始全局模型,各节点根据任务类型相关的本地数据对初始全局模型的参数进行迭代更新,得到局部模型;
S6、经过本地更新后将局部模型上传到ipfs,并将对应的哈希地址发送给区块链网络;
S7、区块链网络根据任务类型执行相应的智能合约,对各节点的局部模型进行评估、模型聚合、声誉值更新和奖励分配;
S8、区块链网络上的节点执行共识机制,将验证通过的交易写入区块中;
S9、根据训练轮次数重复S4-S8;得到综合了各节点本地数据的最终全局模型,上传到ipfs;
S10、区块链网络将最终全局模型对应的哈希地址发送给任务发起方。
2.根据权利要求1所述的一种基于区块链和联邦学习的数据共享方法,其特征在于:所述步骤1中,任务类型包括以下两种:单节点请求训练全局模型或多节点协同训练个性化模型;
单节点请求训练全局模型所支付的费用包括:区块链网络执行智能合约费用和共识节点出块奖励、联邦学习节点训练费用;
多节点协同训练个性化模型由这些节点共同支付区块链网络费用,包括执行智能合约费用、共识节点出块奖励。
3.根据权利要求1所述的一种基于区块链和联邦学习的数据共享方法,其特征在于:所述步骤4中,将区块链网络与联邦学习网络交互的模型存储在星际文件系统ipfs,只传输对应的哈希地址,减轻通信的压力并减小时延。
4.根据权利要求2所述的一种基于区块链和联邦学习的数据共享方法,其特征在于:所述步骤5中,若训练任务类型为单节点请求训练全局模型,则训练出一个鲁棒性的全局模型,由于联邦学习客户端节点之间的数据非独立同分布,添加近端项对局部模型的更新进行约束,消除训练过程中出现的客户端漂移现象,使全局模型的损失函数收敛的更稳定;因此任务参与方k在本地迭代时的要优化的函数为:
其中,设任务参与方本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;wt-1为t-1轮全局通信时聚合得到的全局模型,为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的局部模型,L(*)为损失函数,μ为近端项系数。
5.根据权利要求2所述的一种基于区块链和联邦学习的数据共享方法,其特征在于:所述步骤5中,若训练任务类型为多节点协同训练个性化模型,则为每个参与任务的节点训练出个性化模型;因此任务参与方k在本地迭代时的要优化的函数为:
局部模型更新函数:
其中,任务参与方k本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的局部模型,L(*)为损失函数;
个性化模型更新函数:
其中,任务参与方k本地的数据量为Dk,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;为局部模型在更新迭代时的中间值,/>为t轮全局通信时节点k在本地更新后得到的个性化模型,L(*)为损失函数,mt-1为t-1轮全局通信时聚合得到的全局模型;a为动态参数,根据各参与方的需求对a的值进行调整,最终各联邦学习节点得到个性化模型。
6.根据权利要求2所述的一种基于区块链和联邦学习的数据共享方法,其特征在于:所述步骤7中,区块链网络执行智能合约对局部模型的质量评估只考虑任务类型为单节点请求训练全局模型的情况;若是多节点协同训练个性化模型,则无需支付联邦学习节点训练费用,即不需要质量评估。
若任务发起方提供了部分测试数据集,则首先利用测试数据集对各联邦学习节点的局部模型进行评估得到评估分数评估指标为平均绝对误差,即局部模型在测试数据集上预测准错误的数量占数据集总数量的比值;之后根据局部模型与上一轮全局模型的相似度计算评估分数/>加入动态项来进行调节,其中γ为超参数,根据具体情况进行设定值;
其中Dtest为测试数据集的数据量,数据的表示形式为(xi,yi),xi为第i个数据的特征,yi为第i个数据的标签;为t轮全局通信时节点k在本地更新后得到的局部模型,wt-1为t-1轮聚合得到的的全局模型;t为当前全局通信的轮次,T为本任务全局通信的总轮次。
综合评估分数为:
若任务发起方未提供测试数据集,将训练过程分为两个阶段:训练前期阶段和训练后期阶段;其中前期阶段区块链网络根据局部模型与上一轮全局模型的相似度计算评估分数此时综合评估分数/>经过一定轮次的全局迭代稳定之后进入训练后期阶段,区块链网络根据各联邦节点的预测模型利用知识蒸馏生成符合全局数据分布的伪测试数据集,之后在此数据集上对联邦学习节点进行评估;综合评估分数/>β为评估分数/>和/>权重聚合参数;
假设参与任务的联邦学习节点个数为n个,将这些节点的综合评估分数Evak进行转换:
。
7.根据权利要求2所述的一种基于区块链和联邦学习的数据共享方法,其特征在于:所述步骤7中,区块链网络执行智能合约对局部模型进行聚合,若任务类型为单节点请求训练全局模型,将综合评估分数Evak作为局部模型的权重进行聚合:
其中,Evak为节点k的综合评估分数,为t轮全局通信时节点k在本地更新后得到的局部模型,wt为t轮全局通信时聚合得到的的全局模型;
若任务类型为多节点协同训练个性化模型,则根据数据量进行加权聚合:
其中Dk为任务参与方的本地数据量,为本次任务的全局数据量;
为t轮全局通信时节点k在本地更新后得到的局部模型,mt为t轮全局通信时聚合得到的的全局模型。
8.根据权利要求6所述的一种基于区块链和联邦学习的数据共享方法,其特征在于:所述步骤7中,区块链网络执行智能合约对参与任务的联邦学习节点进行声誉值更新和奖励分配只考虑任务类型为单节点请求训练全局模型的情况;区块链网络根据综合评估分数对声誉值进行更新,之后基于声誉值进行奖励发放。
其中为t轮全局通信时节点k更新后得到的声誉值,/>为t-1轮全局通信时节点k的声誉值,Evak为节点k的综合评估分数,REP为区块链网络设置的声誉值分配固定值;
其中为t轮全局通信时节点k更新后得到的声誉值,INCt为t轮全局通信时用来分配的奖励,/>为t轮全局通信时节点k分配到的奖励。
9.一种基于区块链和联邦学习的数据共享装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,实现如权利要求1-8中任一项所述的一种基于区块链和联邦学习的数据共享方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时,实现如权利要求1-8中任一项所述的一种基于区块链和联邦学习的数据共享方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310577063.2A CN116627970A (zh) | 2023-05-18 | 2023-05-18 | 一种基于区块链和联邦学习的数据共享方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310577063.2A CN116627970A (zh) | 2023-05-18 | 2023-05-18 | 一种基于区块链和联邦学习的数据共享方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116627970A true CN116627970A (zh) | 2023-08-22 |
Family
ID=87591368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310577063.2A Pending CN116627970A (zh) | 2023-05-18 | 2023-05-18 | 一种基于区块链和联邦学习的数据共享方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116627970A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314424A (zh) * | 2023-09-18 | 2023-12-29 | 纬创软件(武汉)有限公司 | 面向金融大数据的区块链交易系统及方法 |
CN117408332A (zh) * | 2023-10-19 | 2024-01-16 | 华中科技大学 | 一种去中心化ai训练与交易平台及方法 |
CN117472866A (zh) * | 2023-12-27 | 2024-01-30 | 齐鲁工业大学(山东省科学院) | 一种区块链监管与激励下的联邦学习数据共享方法 |
-
2023
- 2023-05-18 CN CN202310577063.2A patent/CN116627970A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117314424A (zh) * | 2023-09-18 | 2023-12-29 | 纬创软件(武汉)有限公司 | 面向金融大数据的区块链交易系统及方法 |
CN117314424B (zh) * | 2023-09-18 | 2024-03-29 | 纬创软件(武汉)有限公司 | 面向金融大数据的区块链交易系统及方法 |
CN117408332A (zh) * | 2023-10-19 | 2024-01-16 | 华中科技大学 | 一种去中心化ai训练与交易平台及方法 |
CN117472866A (zh) * | 2023-12-27 | 2024-01-30 | 齐鲁工业大学(山东省科学院) | 一种区块链监管与激励下的联邦学习数据共享方法 |
CN117472866B (zh) * | 2023-12-27 | 2024-03-19 | 齐鲁工业大学(山东省科学院) | 一种区块链监管与激励下的联邦学习数据共享方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Fedcoin: A peer-to-peer payment system for federated learning | |
He et al. | Blockchain-based edge computing resource allocation in IoT: A deep reinforcement learning approach | |
CN116627970A (zh) | 一种基于区块链和联邦学习的数据共享方法及装置 | |
CN112733967B (zh) | 联邦学习的模型训练方法、装置、设备及存储介质 | |
Kang et al. | Communication-efficient and cross-chain empowered federated learning for artificial intelligence of things | |
CN112862011A (zh) | 基于联邦学习的模型训练方法、装置及联邦学习系统 | |
CN112257873A (zh) | 机器学习模型的训练方法、装置、系统、设备及存储介质 | |
CN110782042A (zh) | 横向联邦和纵向联邦联合方法、装置、设备及介质 | |
CN114297722B (zh) | 一种基于区块链的隐私保护异步联邦共享方法及系统 | |
CN115510494B (zh) | 一种基于区块链与联邦学习的多方安全数据共享方法 | |
CN110443375A (zh) | 一种联邦学习方法及装置 | |
CN112799708B (zh) | 联合更新业务模型的方法及系统 | |
Zhan et al. | Incentive mechanism design for federated learning: Challenges and opportunities | |
CN112907353A (zh) | 基于区块链的业务处理方法以及装置 | |
CN113469373A (zh) | 基于联邦学习的模型训练方法、系统、设备及存储介质 | |
CN109063049A (zh) | 一种区块链网络的账号处理方法、装置、设备及存储介质 | |
CN113902127A (zh) | 一种区块链赋能的异步联邦学习方法 | |
CN116595094A (zh) | 基于区块链的联邦学习激励方法、装置、设备和存储介质 | |
CN116669111A (zh) | 一种基于区块链的移动边缘计算任务卸载方法 | |
CN116029390A (zh) | 一种模型聚合训练方法及装置 | |
CN116431915A (zh) | 一种基于联邦学习和注意力机制的跨域推荐方法与装置 | |
CN113297310B (zh) | 一种物联网中区块链分片验证者选取的方法 | |
CN114580661A (zh) | 基于联邦学习的数据处理方法、装置和计算机设备 | |
Yu | FedCoin: A Peer-to-Peer Payment System for Federated Learning | |
Yang et al. | Federated continual learning via knowledge fusion: A survey |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |