本技术属于区块链领域,尤其涉及一种面向数据智能共享的联邦学习任务混淆部署系统及其方法。
背景技术:
1、随着能源数字化转型的深入推进,数据跨界汇聚融合、共享融通和创新应用日益广泛。电力业务数据作为能源领域的重要生产要素,如何实现电力数据安全融合共享是推进能源数字化转型、构建新型电力系统的关键步骤。在供电企业与政府、发电企业、用户和其他相关机构间业务的深入合作中,电力数据的开放共享及多方协作将不可避免带来安全挑战和隐私泄露风险,如何在保障数据安全的基础上促进电力数据的开发利用,建立一种安全可信、数据协同共享机制成为目前电力企业面临的重要难题。
2、区块链承担了构建数据互信的机制,有效实现分布式协作模式,能够推动上下游产业互信,实现数据可信共享,提升风险防范能力,有效解决电力数据融通、网络安全和多主体协同等问题。针对电力业务数据和不同机构、企业数据协作的海量数据联合训练。然而,将所有数据都集中于一个节点进行训练是低效且不安全的,联邦学习技术的出现解决了这一问题,它使数据可以在本地进行训练,通过传递模型参数代替传递数据,是现阶段解决隐私保护问题的可行途径。然而,当前基于区块链的联邦学习过程仍然面临很多恶意攻击威胁,比如协同训练过程中恶意节点窃取特定节点模型从而造成数据泄露;区块链信息交换计算时易造成设备位置隐私的泄露导致设备遭受攻击。所以,如何利用区块链和联邦学习在保证数据安全隐私的情况下进行计算节点身份混淆成为现阶段的业务需求。
3、现有技术方案1:论文《trustworthy federated learning viablockchain》[1],针对恶意设备和恶意服务器会危及隐私提出了基于pbft的去中心化“区块链+联邦学习”架构,通过使用一种安全的全局聚合算法来抵御恶意设备,在多个边缘服务器之间部署高效、低能耗的实用拜占庭容错共识协议(pbft),防止恶意服务器篡改模型,并加入验证服务器对每一轮每个节点的训练结果进行验证,验证通过才可进行下一步工作,有效地抵御了恶意攻击行为。然而该方案中每轮迭代的每个节点都要互相评价其训练结果,每个节点的计算量压力过大,且时延长。
4、[1]z.yang,y.shi,y.zhou,z.wang andk.yang,"trustworthy federatedlearning viablockchain,"in ieee internet ofthings journal,vol.10,no.1,pp.92-109,1jan.1,2023,doi:10.1109/jiot.2022.3201117.
5、现有技术方案2:论文《基于区块链的隐私保护可信联邦学习模型》[2],针对联邦平均算法不能考虑到低质模型带来的全局模型质量降低这一问题,利用区块链进行去中心化的模型训练中间参数存储,并激励协作节点进行模型参数验证,对上传虚假或低质模型参数的节点进行惩罚。此外,以模型质量为依据,提出了一种poc贡献度证明共识机制和自适应聚合算法,既降低了节点的计算度,又提高了模型的公平性。然而该方案对节点的贡献度量化的指标选取不够全面,在链上涉及到交互的数据过多,使得联邦学习的训练效率较低。
6、[2]朱建明,张沁楠,高胜等.基于区块链的隐私保护可信联邦学习模型[j].计算机学报,2021,44(12):2464-2484.
7、现有技术方案3:论文《基于秘密共享的本地多节点联邦学习算法》[3],针对联邦学习的安全性和效率兼顾问题提出了基于秘密共享的本地多节点联邦学习算法,在分层联邦学习框架基础上,通过秘密共享的方式生成可复用的安全参数掩码,本地节点在训练过程的上行通信中对模型添加掩码从而保护模型参数安全。该算法能够在保护隐私的前提下保持相对较高的准确率,并且显著减少了全局通信轮次,有效地提高了跨数据库联邦学习中的模型训练速度。然而该方案未考虑到节点的位置隐私,难以抵抗通信过程中的监听。
8、[3]王捍贫,范耀榕.基于秘密共享的本地多节点联邦学习算法[j].广州大学学报(自然科学版),2022,21(03):1-13.
技术实现思路
1、为解决现有技术中存在的不足,本发明提供一种面向数据智能共享的联邦学习任务混淆部署系统及其方法。
2、本发明具体采用如下技术方案:
3、面向数据智能共享的联邦学习任务混淆部署系统,包括任务层、区块链层、参与层和通信层,其特征在于:
4、所述任务层由任务发布方组成,当有新的联邦学习任务时,任务发布方将初始全局模型参数,将该训练任务所需的环境条件和计算节点得分时的初始权重更新至区块链层,供参与方下载与使用;
5、所述区块链层使用区块链作为各参与方的通信介质,实现共识机制,选择主节点,完成整个联邦学习过程的流程调度并储存任务数据;
6、所述参与层由满足环境条件的各参与方组成,通过区块链层的共识机制从各参与方筛选出训练节点和恶意节点,恶意节点不参与本轮迭代的聚合;将训练节点组成训练小组,从训练小组中选出主节点实现模型聚合;
7、所述通信层使用洋葱路由协议,训练小组中的各节点借助通信层将模型聚合参数传递给主节点,通信层对模型聚合参数中的元数据和每一层路由信息逐层加密,逐层解密。
8、本发明进一步提供了以下优选方案。
9、所述任务层对于不同的参与方的本地设备,有不同的配置和训练环境,当有新的联邦学习任务要完成时,任务发布方将初始全局模型参数ω0,完成该训练任务所需的环境条件con和计算节点得分时的权重req更新至区块链,供参与方使用。
10、所述共识机制的指标包括各节点训练的模型准确率、其他节点对某一节点的训练模型的验证值、节点训练模型的数据量。
11、在区块链层,每一轮训练结束后,根据各节点训练的模型准确率、其他节点对某一节点的训练模型的验证值以及节点训练模型的数据量,进行每个节点的安全得分,其中安全得分最高的节点作为下一轮训练的主节点;主节点拥有聚合和记账权。
12、当安全得分最高者大于1个节点时,采用下式进行二次得分,二次得分最高的节点作为下一轮训练的主节点:
13、
14、其中,为第i个节点第k轮迭代训练后的安全得分,为第i个节点第k轮迭代训练后的二次得分,random为不等于0的随机变量。
15、每一轮训练结束后,安全得分高于设定阈值的节点参与下一轮的迭代训练,否则,被认定为恶意节点,不能参与下一轮的迭代训练。
16、在主节点对其它节点的模型聚合时,各节点的模型聚合权重按照下式确定:
17、
18、
19、其中,表示第i个节点在第k轮迭代训练的安全得分,score(k)表示所有n个节点在第k轮中的安全得分相加后的值;表示第i个节点在第k+1轮的模型参数,ωk+1表示第k+1轮聚合后的模型参数,n表示参与聚合的节点个数。
20、按照下式计算第k轮迭代的第i个节点的安全得分:
21、
22、
23、其中,为第i个节点第k轮迭代训练后的安全得分,diffi(k)为第i个节点在第k轮迭代训练后的节点模型准确率acci(k)与经其它节点对该节点验证后的模型准确率acc2i(k)的差值的绝对值,sizei(k)为第i个节点第k轮迭代的训练的数据集大小,αi(k)为第i个节点在第k轮的准确率权重,βi(k)为第i个节点在第k轮的训练量权重。
24、
25、
26、其中,diff(k)(max)为第k轮训练后,所有节点中节点模型准确率与经其它节点对该节点验证后的模型准确率的差值的绝对值最大者,diff(k)(min)为第k轮训练后,所有节点中节点模型准确率与经其它节点对该节点验证后的模型准确率的差值的绝对值最小者;为第k轮训练中,所有节点训练量的平均值。
27、各参与方节点在将训练后的模型参数传递给聚合主节点时使用阈值同态加密算法:
28、参与方获得对应的公钥-私钥对;
29、使用公钥加密本地模型参数,向主节点上传加密的模型参数;
30、主节点对加密的模型参数进行密文聚合,对于安全得分高的节点传来的参数,给予更高的聚合权重,并将通过检验的聚合的密文模型上传到链;
31、参与方从链上下载最新的聚合的密文模型,根据私钥进行解密,得到聚合的模型参数。
32、所述的洋葱路由由四个类别的节点构成,分别是客户端节点,中继节点,目的节点和目录服务器节点,客户端节点需从目录服务器获取路由信息,通过中继节点传给目的节点。
33、本技术还公开了一种基于前述联邦学习任务混淆部署系统的面向数据智能共享的联邦学习任务混淆部署方法,其特征在于,包括如下步骤:
34、步骤s1:任务发布方在任务层发布待联邦学习的任务到区块链层;
35、步骤s2:区块链层从各参与方中筛选出训练节点和恶意节点,训练节点构成训练小组,恶意节点不参与本轮迭代的聚合;
36、步骤s3:区块链中各训练节点对从任务层下载的初始全局模型进行训练;
37、步骤s4:区块链层计算各节点在本轮训练模型中的安全得分,安全得分值超过预设阈值才能参与本轮的迭代聚合,安全得分值最高者成为主节点拥有聚合和记账权;
38、步骤s5:区块链层从各参与方中筛选出训练节点和恶意节点,训练节点构成训练小组,恶意节点不参与本轮迭代的聚合;
39、步骤s6:由主节点将聚合后的全局模型进行广播,参与方的训练节点利用己方数据集对全局模型验证,各方验证loss的平均值与主节点的训练loss值的差即为全局模型的验证值,当参与方节点同意验证值通过的比例大于预设阈值,即为验证通过,通过则返回s2进入下一轮,不通过则更换,按照安全得分值从高到低的顺序更换主节点进行聚合,直到验证通过;
40、步骤s7:当全局模型的训练准确率达到任务发布方要求的阈值,且全局模型通过验证时,整个训练流程结束,结束后将最终的全局模型上传至区块链供任务发布方和参与方使用。
41、步骤s4具体包括:
42、s41:计算每一轮迭代中各节点训练的模型准确率、其他节点对某一节点的训练模型的验证值、节点训练模型的数据量三个指标;
43、s42:确定三个指标的权重,计算每一轮迭代过程中各节点三个指标乘以对应权重后的值作为各个节点的初始得分,也为安全得分;
44、s43:若初始得分高于阈值,则能够参与本轮的迭代聚合,参与聚合的节点进行二次得分的计算,二次得分最高者,则成为主节点拥有聚合和记账权;
45、s44:聚合后将全局模型参数广播,组内的其他节点负责验证,验证通过更新全局模型参数,验证不通过按本次得分的顺序顺延,由下一个得分最高的节点成为主节点,同时验证不通过的节点需要被剔除,不参与此次训练任务。
46、在s5的聚合过程中各节点采用以下同态加密方式:
47、s51:参与方获得对应的公钥-私钥对;
48、(pk,sk,ek)<-getkey(params);
49、pk,sk,ek分别为公钥、私钥和用于计算的密钥;params表示keygen密钥生成算法的系统参数。
50、s52:使用公钥加密各参与节点的本地模型参数,各参与节点构建洋葱路由,并通过洋葱路由向主节点上传加密后的模型参数;
51、[[model]]<-encrypt(model,pk),
52、其中,[[model]]为加密的模型参数,[[model]]为已经加密的模型参数,pk为加密的公钥,model为需要加密的模型参数。
53、s53:主节点对加密后的模型参数进行密文聚合,根据各节点原始得分在所有节点中原始得分中的赋予聚合权重,并将通过检验的聚合的密文模型上传到链;
54、[[aggregationmodel]]<-agg
55、(([[model1]],pk1,ek1),([[model2]],pk2,ek2),…([[modeln]],pkn,ekn))
56、其中,[[aggregationmodel]]为聚合后的加密的模型参数,[[model1]]-[[modeln]]表示聚合前各个节点训练的已经加密好的模型参数,pk1-pkn表示加密的公钥,ek1-ekn表示用于计算的密钥。
57、s54:参与方从链上下载最新的聚合的密文模型,根据私钥进行解密,得到聚合的模型参数。
58、本发明具有以下有益的技术效果:
59、本发明提出一种以隐私保护为核心的“区块链+联邦学习”架构,从隐私威胁入手对联邦学习的隐私泄露问题进行解决,针对恶意的参与方节点会攻击中央服务器或其他参与方设备,导致隐私泄露的问题,采用基于ads的共识机制进行恶意节点的剔除;针对承担聚合工作的中央服务器可能发生单点故障,导致模型聚合过程不能顺利进行的问题,采用基于同态加密和安全得分的聚合算法对聚合时各节点训练的模型参数提供保护。
60、本发明通过基于洋葱路由的隐私保护方法,针对参与方和聚合方通信过程中,模型参数信息易被窃取和推断,参与方位置信息易暴露的问题,在通信过程中,将洋葱路由与链下联邦学习的参数传输过程相结合,使用轻量洋葱路由的方法逐层加密,实现混淆部署。
61、通过ads共识机制剔除恶意节点,通过基于安全得分和同态加密的聚合算法实现模型参数聚合,保证了整个任务的安全性和效率,同时提出轻量的洋葱路由机制,实现联邦学习链下的混淆部署,抵抗传输参数过程的监听。