1.本发明属于联邦学习技术领域,尤其涉及一种基于区块链和信誉机制的高质量联邦学习系统及学习方法。
背景技术:
2.目前,联邦学习是由google提出的为了解决机器学习中隐私安全问题的机器学习范式。联邦学习不再使用集中存储的数据来训练模型,而是要求参与者使用自己拥有的数据在本地进行模型训练,并将与模型相关的参数或梯度发送给中心聚合服务器。而模型中心服务器会利用这些本地模型生成准确的全局模型。在这整个过程中,参与者个人的数据由于不需要直接参与分享,所以在得到理想的模型的同时很好地保护了个人数据的安全。
3.联邦学习面临着一个关键的问题:如何鼓励数据所有者加入到任务中来。因为在这种新的模式下,数据所有者需要承担本地训练的开销。联邦学习需要合理的激励机制来激励数据拥有者更好地参与其中,与此同时还需确保联邦学习模型的质量。常见的方法是根据每个参与者的贡献来奖励他们。关于激励机制存在着许多已有的工作,如individual profit-sharing、shapley game profit-sharing以及fair-value game。尽管如此,如何为联邦学习场景设计激励机制仍有待研究。此外,在分布式的联邦学习中,训练任务可能会受到恶意参与者的攻击,例如提供错误的本地模型参数或夸大自己的贡献。因此,适当的模型质量评估机制和任务参与者管理规则是必要的。通常,基于信誉的管理规则可以用来鼓励参与者诚实地参与任务。
4.虽然联邦学习可以防止原始数据泄露,但中心聚合服务器面临着单点故障的风险。区块链技术为这个问题提供了一种很好的解决思路。区块链本质上是一个由点对点网络维护的分布式账本,它在没有第三方信用背书的情况下建立了一种新的去中心化信任机制。特别是在共识机制的帮助下,区块链网络上的账本具有防篡改、不可抵赖和可公开验证的特点。与此同时,智能合约技术有助于将传统业务部署到去中心化的环境中,并以透明、可追溯和不可伪造的方式展开业务。综上所述,区块链可以用来解决传统中心化服务的安全风险。
5.然而现有技术并没有基于区块链技术构建联邦学习系统的方法,也没有基于区块链搭建的联邦学习系统。
6.通过上述分析,现有技术存在的问题及缺陷为:现有技术并没有基于区块链技术构建联邦学习系统的方法,也没有基于区块链搭建的联邦学习系统;同时现有的联邦学习系统数据安全程度不高,质量不高,单点故障风险大。
7.解决以上问题及缺陷的难度为:现有的区块链技术不能直接应用于联邦学习系统的构建;联邦学习的节点难以控制和预测,数据质量难以衡量。
8.解决以上问题及缺陷的意义为:解决了传统联邦学习单点故障的问题,极大地加强了联邦学习的稳定性;加强了联邦学习对数据质量的控制能力,保证了最终模型的质量;加强了联邦学习对恶意节点的抵抗性,增加了联邦学习的安全性。
技术实现要素:
9.针对现有技术存在的问题,本发明提供了一种基于区块链和信誉机制的高质量联邦学习系统及学习方法。
10.本发明是这样实现的,一种基于区块链和信誉机制的高质量联邦学习系统,包括:
11.区块链层、信誉层、模型训练层;
12.区块链层,用于以智能合约为载体分享全局模型和信誉评价;
13.信誉层,用于利用模型评分机制对所有的数据拥有者分享的局部模型进行评分;同时用于利用信誉机制对每一个数据拥有者进行信誉评价;
14.模型训练层,用于数据拥有者进行本地模型的训练并且分享给模型聚合者;同时用于模型聚合者结合信誉对收集的模型进行聚合并对参与的数据拥有者进行奖励。
15.进一步,所述分享全局模型和信誉评价包括:数据拥有者和模型聚合者之间通过点对点的方式分享本地模型;模型聚合者之间通过点对点的方式共享收集到的模型;数据所有者从区块链中获得最新的全局模型和对应的信誉评价;模型聚合者将模型和数据所有者的信誉评价发布至区块链上。
16.本发明的另一目的在于提供一种应用于所述基于区块链和信誉机制的高质量联邦学习系统的基于区块链和信誉机制的高质量联邦学习方法,所述基于区块链和信誉机制的高质量联邦学习方法包括:
17.步骤一,数据拥有者从区块链网络中获取本次任务的初始模型,同时数据拥有者利用自己的私人数据进行训练,生成一轮本地模型;
18.步骤二,数据拥有者将生成的一轮本地模型上传至区块链网络中,并分享给模型聚合者;
19.步骤三,模型聚合者利用模型评价机制对接收的模型进行评分,并利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值;
20.步骤四,模型聚合者利用信誉值协助聚合得到新一轮的全局模型;模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励;
21.步骤五,重复步骤一至步骤四,直至达到预期效果或者预定时间。
22.进一步,所述利用模型评价机制对接收的模型进行评分包括:
23.基于公平价值博弈对接收的模型进行评分,即通过比较被评分的数据拥有者n参加聚合和不参加聚合之间的差别,衡量节点对全局模型聚合的影响:
[0024][0025]
其中,表示模型聚合节点m对数据贡献者n的评估结果,w
t
表示采用所有搜集的本地模型所聚合成的全局模型,表示数据贡献者n不参与全局聚合后的全局模型;g(
·
)表示用测试数据测试模型后的准确度。
[0026]
进一步,所述利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值包括:
[0027]
(1)为每个数据所有者初始化全局声誉值λ=1;数据所有者n的本地信誉值根据评估结果被更新;判断评估结果是否满足启动更新机制的阈值,当满足启动更新机制的阈值时,信誉更新机制触发;
[0028]
(2)计算数据所有者的历史信誉值,利用时间衰减函数e-α(t-ι)
对历史信誉进行加权,结合当前的评估结果更新数据所有者的信誉,如下:
[0029][0030]
其中,δ表示数据拥有者n历史信誉值的加权平均值;σ1和σ2表示触发更新机制的阈值;θ1和θ2表示可调的参数,且和分别表示更新的强度;ρ1和ρ2表示单位更新强度的更新值;
[0031]
(3)模型聚合者将自己生成的信誉评价和其他对等的模型聚合者的信誉评价进行结合,综合得到全局的信誉评价;模型聚合者m将合成的全局信誉打包进区块上传到区块链中,完成对数据拥有者n的一轮信誉更新。
[0032]
进一步,所述模型聚合者将自己生成的信誉评价和其他对等的模型聚合者的信誉评价进行结合,综合得到全局的信誉评价包括:
[0033]
1)设置为模型聚合者m采纳模型聚合者m
′
对数据拥有者n的信誉值更新时的引用程度,计算公式如下:
[0034][0035]
其中,m表示参与聚合的模型聚合者的数量;
[0036]
2)聚合者m将收集的其他模型聚合者提供的对数据拥有者n的信誉评价进行加权平均,得到间接信誉值
[0037][0038]
3)模型聚合者m将间接信誉值和自己得到的直接信誉值进行结合,计算得到全局信誉:
[0039][0040]
其中弘用于调节聚合者对间接信誉值和直接信誉值的偏好。
[0041]
进一步,所述模型聚合者利用信誉值协助聚合得到新一轮的全局模型包括:
[0042]
利用信誉对数据量进行加权作为聚合全局模型时所述本地模型所占的比重:
[0043][0044]
进一步,所述模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励包括:
[0045]
利用信誉对数据拥有者上报的数据贡献量进行加权,计算数据拥有者提供数据的
报酬;
[0046]
包括以下步骤:
[0047]
首先,计算每个数据拥有者在一次的本地训练中所能获得的报酬是
[0048]
其中,r表示联邦学习提供的本轮报酬预算,sn表示数据拥有者n上报的数据贡献量,且
[0049]
其次,计算数据拥有者n在一轮的本地训练中的效益:
[0050][0051]
其中,cn表示单位数据量所消耗的成本,由计算成本通信成本和存储成本组成,即
[0052]
本发明的另一目的在于提供一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行基于区块链和信誉机制的高质量联邦学习方法,包括下列步骤:
[0053]
步骤一,数据拥有者从区块链网络中获取本次任务的初始模型,同时数据拥有者利用自己的私人数据进行训练,生成一轮本地模型;
[0054]
步骤二,数据拥有者将生成的一轮本地模型上传至区块链网络中,并分享给模型聚合者;
[0055]
步骤三,模型聚合者利用模型评价机制对接收的模型进行评分,并利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值;
[0056]
步骤四,模型聚合者利用信誉值协助聚合得到新一轮的全局模型;模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励;
[0057]
步骤五,重复步骤一至步骤四,直至达到预期效果或者预定时间。
[0058]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于区块链和信誉机制的高质量联邦学习方法。
[0059]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:1)去中心化:以区块链网络为基础的联邦学习,不再存在单点故障的风险。同时,以区块链为中间存储介质,使得联邦学习中的重要参数获得了防篡改和可追溯的重要特征。2)保证模型高质量:以区块链为基础设计的信誉机制和报酬分配机制保证了数据所有者在贡献数据时不敢作恶,也极大地促进了数据所有者贡献高质量数据的积极性。数据质量越高,模型质量就越高。同时,基于信誉机制的模型聚合算法也使得即使存在恶意节点攻击模型,也能极大地降低恶意模型对整体模型的影响。3)公平性:以区块链为基础的报酬分配机制,结合信誉对所有参与任务的节点进行报酬分配,使所有节点按照其真实的贡献获得相应的报酬,从而使系统根据公平性。
[0060]
本发明提供了一种基于区块链的联邦学习系统,结合智能合约技术,利用区块链构建一个可信的环境,使联邦学习任务透明、公平地执行。本发明在区块链环境中,为联邦学习构建了信誉机制,根据对贡献的局部模型的评价,赋予相应的信誉值。然后,根据数据所有者贡献的数据量和信誉值对数据所有者进行奖励以及对模型进行加权聚合。本发明使
得拥有数据的参与者在联邦学习中始终选择良好的动机,并尽力贡献高质量数据来学习本地模型,最后在信誉-数据量加权的聚合算法中保证了全局模型的安全性和准确率。
[0061]
本发明使得参与者可以在区块链网络的基础上,实现对任务模型的高质量聚合。具体的,用区块链代替了传统的中心化参数服务器,进而避免了联邦学习单点故障的问题。同时设计信誉管理机制对参与者进行管理,防止参与者不诚信的行为。在信誉机制的基础上设计基于非合作博弈的报酬分配方法,激励参与者贡献高质量的本地训练模型并且利用信誉改进了传统的联邦平均算法,使模型聚合更具有抗干扰性和安全性。最后,使用智能合约将除了本地训练外的所有业务合约化,在区块链环境中自动执行。
[0062]
本发明对于利用区块链技术解决联邦学习的监管审查具有重要指导意义,对于提升联邦学习模型训练安全性和鲁棒性,促进参与者之间公平公正具有重要价值。
[0063]
本发明基于对模型质量的评估,设计了信誉机制。利用信誉来监督数据所有者参与任务,优化贡献者的奖励分配并改良全局模型的加权聚合;本发明利用非合作博弈来对奖励分配进行建模,并促使数据所有者只有在贡献最高质量的数据的情况下才能达到最大的收益,从而保证了联邦学习的高质量。
[0064]
本发明公开的基于区块链的联邦学习系统,对于实现高质量模型聚合任务具有重要指导和技术意义,有助于提升联邦学习的安全性和鲁棒性,有利于促进报酬分配的公平性和参与任务的积极性。
附图说明
[0065]
图1是本发明实施例提供的基于区块链和信誉机制的高质量联邦学习系统架构图。
[0066]
图2是本发明实施例提供的基于区块链和信誉机制的高质量联邦学习系统结构示意图;
[0067]
图中:1、区块链层;2、信誉层;3、模型训练层。
[0068]
图3是本发明实施例提供的基于区块链和信誉机制的高质量联邦学习方法原理图。
[0069]
图4是本发明实施例提供的基于区块链和信誉机制的高质量联邦学习方法流程图。
[0070]
图5是本发明实施例提供的准确率比较示意图。
[0071]
图6是本发明实施例提供的信誉比较示意图。
[0072]
图7是本发明实施例提供的效益比较示意图。
具体实施方式
[0073]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0074]
针对现有技术存在的问题,本发明提供了一种基于区块链和信誉机制的高质量联邦学习系统,下面结合附图对本发明作详细的描述。
[0075]
如图1-图2所示,本发明实施例提供的基于区块链和信誉机制的高质量联邦学习
系统包括:
[0076]
区块链层1,用于以智能合约为载体分享全局模型和信誉评价;
[0077]
信誉层2,用于利用模型评分机制对所有的数据拥有者分享的局部模型进行评分;同时用于利用信誉机制对每一个数据拥有者进行信誉评价;
[0078]
模型训练层3,用于数据拥有者进行本地模型的训练并且分享给模型聚合者;同时用于模型聚合者结合信誉对收集的模型进行聚合并对参与的数据拥有者进行奖励。
[0079]
本发明实施例提供的分享全局模型和信誉评价包括:数据拥有者和模型聚合者之间通过点对点的方式分享本地模型;模型聚合者之间通过点对点的方式共享收集到的模型;数据所有者从区块链中获得最新的全局模型和对应的信誉评价;模型聚合者将模型和数据所有者的信誉评价发布至区块链上。
[0080]
如图3-图4所示,本发明实施例提供的基于区块链和信誉机制的高质量联邦学习方法包括:
[0081]
s101,数据拥有者从区块链网络中获取本次任务的初始模型,同时数据拥有者利用自己的私人数据进行训练,生成一轮本地模型;
[0082]
s102,数据拥有者将生成的一轮本地模型上传至区块链网络中,并分享给模型聚合者;
[0083]
s103,模型聚合者利用模型评价机制对接收的模型进行评分,并利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值;
[0084]
s104,模型聚合者利用信誉值协助聚合得到新一轮的全局模型;模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励;
[0085]
s105,重复步骤s101至步骤s104,直至达到预期效果或者预定时间。
[0086]
本发明实施例提供的利用模型评价机制对接收的模型进行评分包括:
[0087]
基于公平价值博弈对接收的模型进行评分,即通过比较被评分的数据拥有者n参加聚合和不参加聚合之间的差别,衡量节点对全局模型聚合的影响:
[0088][0089]
其中,表示模型聚合节点m对数据贡献者n的评估结果,w
t
表示采用所有搜集的本地模型所聚合成的全局模型,表示数据贡献者n不参与全局聚合后的全局模型;g(
·
)表示用测试数据测试模型后的准确度。
[0090]
本发明实施例提供的利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值包括:
[0091]
(1)为每个数据所有者初始化全局声誉值λ=1;数据所有者n的本地信誉值根据评估结果被更新;判断评估结果是否满足启动更新机制的阈值,当满足启动更新机制的阈值时,信誉更新机制触发;
[0092]
(2)计算数据所有者的历史信誉值,利用时间衰减函数e-α(t-ι)
对历史信誉进行加权,结合当前的评估结果更新数据所有者的信誉,如下:
[0093][0094]
其中,δ表示数据拥有者n历史信誉值的加权平均值;σ1和σ2表示触发更新机制的阈值;θ1和θ2表示可调的参数,且和分别表示更新的强度;ρ1和ρ2表示单位更新强度的更新值;
[0095]
(3)模型聚合者将自己生成的信誉评价和其他对等的模型聚合者的信誉评价进行结合,综合得到全局的信誉评价;模型聚合者m将合成的全局信誉打包进区块上传到区块链中,完成对数据拥有者n的一轮信誉更新。
[0096]
本发明实施例提供的模型聚合者将自己生成的信誉评价和其他对等的模型聚合者的信誉评价进行结合,综合得到全局的信誉评价包括:
[0097]
1)设置为模型聚合者m采纳模型聚合者m
′
对数据拥有者n的信誉值更新时的引用程度,计算公式如下:
[0098][0099]
其中,m表示参与聚合的模型聚合者的数量;
[0100]
2)聚合者m将收集的其他模型聚合者提供的对数据拥有者n的信誉评价进行加权平均,得到间接信誉值
[0101][0102]
3)模型聚合者m将间接信誉值和自己得到的直接信誉值进行结合,计算得到全局信誉:
[0103][0104]
其中弘用于调节聚合者对间接信誉值和直接信誉值的偏好。
[0105]
本发明实施例提供的模型聚合者利用信誉值协助聚合得到新一轮的全局模型包括:
[0106]
利用信誉对数据量进行加权作为聚合全局模型时所述本地模型所占的比重:
[0107][0108]
本发明实施例提供的模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励包括:
[0109]
利用信誉对数据拥有者上报的数据贡献量进行加权,计算数据拥有者提供数据的报酬;
[0110]
包括以下步骤:
[0111]
首先,计算每个数据拥有者在一次的本地训练中所能获得的报酬是
[0112]
其中,r表示联邦学习提供的本轮报酬预算,sn表示数据拥有者n上报的数据贡献量,且
[0113]
其次,计算数据拥有者n在一轮的本地训练中的效益:
[0114][0115]
其中,cn表示单位数据量所消耗的成本,由计算成本通信成本和存储成本组成,即
[0116]
下面结合具体实施例对本发明的技术方案做进一步说明。
[0117]
实施例1:
[0118]
1基于区块链的联邦学习系统
[0119]
1.1角色定义
[0120]
数据拥有者:数据拥有者持有可用于模型训练的私人数据,这些数据不直接对外共享。此类节点利用私人数据在本地训练模型,并通过分享本地模型的方式对外共享数据。
[0121]
模型聚合者:模型聚合者持有可用于模型评价的私人数据。模型聚合者之间会共享收集到的本地模型,模型评价会对所搜集的本地模型进行信誉评价。模型聚合者们最终会合作生成对模型的全局评价。
[0122]
1.2系统架构
[0123]
如图2-1所示该系统主要由三层组成:区块链层、信誉层、模型训练层。
[0124]
区块链层是整个系统的基础。在该层,数据拥有者和模型聚合者之间通过点对点的方式分享本地模型。模型聚合者之间以同样的方式共享收集到的模型。在该层,区块链作为了分享全局模型和信誉评价的桥梁。数据所有者从区块链中获得最新的全局模型和他们的信誉评价,而模型聚合者将模型和数据所有者的信誉评价发布到区块链上。上述所有的操作都将以智能合约为载体执行。
[0125]
信誉层在区块链层的基础上完成了对数据所有者信誉的评估。模型评分机制对所有的数据拥有者分享的局部模型进行了评分。在评分的基础上,信誉机制对每一个数据拥有者进行信誉的评价。
[0126]
模型训练层在前两层的基础上,完成训练模型的生成和聚合任务。数据拥有者在该层完成本地模型的训练并且分享给模型聚合者。模型聚合者结合信誉对收集到的模型进行聚合并对参与的数据拥有者进行奖励。
[0127]
1.2联邦学习的交互过程
[0128]
根据图2-2的联邦学习的交互图所示,在一次联邦学习任务开始时,首先数据拥有者从区块链网络中获取此次任务的初始模型。然后数据拥有者利用自己的私人数据进行训练,生成一轮本地模型。得到本地模型后,数据拥有者将本地模型上传到区块链网络中,由模型聚合者接受。模型聚合者接受这些本地模型后,启动模型评价机制对模型进行评分,并利用评分为每一位数据拥有者生成新的信誉值。之后模型聚合者利用信誉值来协助聚合出
新一轮的全局模型。同时,数据拥有者将根据本轮的数据贡献和信誉值获得一笔报酬作为奖励。以上便是一轮联邦学习的过程。在联邦学习达到预期效果或者预定时间之前,该步骤将不断重复。
[0129]
2基于区块链的联邦学习的详细设计
[0130]
2.1模型评分机制
[0131]
模型聚合者在获取到所有的本地模型之后,利用所拥有的数据集对本地模型进行评分。
[0132]
公平价值博弈(the fair-value game)是一种基于损失的边际方法,将其应用到本地模型的质量评分中,通过比较被评分的数据拥有者n参加聚合和不参加聚合之间的差别,来衡量节点对全局模型聚合的影响:
[0133][0134]
其中,表示模型聚合节点m对数据贡献者n的评估结果,w
t
表示采用所有搜集的本地模型所聚合成的全局模型,则表示数据贡献者n不参与全局聚合后的全局模型。g(
·
)表示用测试数据测试模型后的准确度。
[0135]
2.2信誉评价机制
[0136]
首先,系统为每个数据所有者初始化全局声誉值λ=1。数据所有者n的本地信誉值根据测试结果被更新。当满足启动更新机制的阈值时,信誉更新机制被触发。信誉机制首先计算数据所有者的历史信誉值,然后结合当前的测试结果来更新信誉。考虑到信誉的参考价值会随着时间的推移而减少,这里使用时间衰减函数e-α(t-ι)
来对历史信誉进行加权,即
[0137][0138]
其中,
[0139][0140]
δ表示数据拥有者n历史信誉值的加权平均值;σ1和σ2定义了触发更新机制的阈值;θ1和θ2是可调的参数,且和分别表示更新的强度;ρ1和ρ2表示单位更新强度的更新值。
[0141]
每个模型聚合者因为所使用的测试数据不同,会产生不同的信誉评价。为了更加全面和客观地对每一个数据拥有者做出信誉值更新,模型聚合者将自己做出的信誉评价和其他对等的模型聚合者的信誉评价进行结合,综合得出全局的信誉评价。首先设置为模型聚合者m采纳模型聚合者m
′
对数据拥有者n的信誉值更新时的引用程度,具体计算方法如下:
[0142][0143]
其中,m表示参与聚合的模型聚合者的数量。
[0144]
假设选择模型聚合者m作为最终确认全局信誉的节点,聚合者m将收集的其他模型聚合者提供的对数据拥有者n的信誉评价进行加权平均,得到间接信誉值具体计算方式如下:
[0145][0146]
模型聚合者m将间接信誉值和自己得到的直接信誉值进行结合,计算出全局信誉:
[0147][0148]
其中弘用于调节聚合者对间接信誉值和直接信誉值的偏好。
[0149]
模型聚合者m将合成的全局信誉打包进区块上传到区块链中,便完成了对数据拥有者n的一轮信誉更新。
[0150]
2.3基于信誉的报酬分配机制
[0151]
为了激励数据拥有者诚实参与到联邦学习任务中来,并积极贡献高质量的数据,本发明利用信誉对数据拥有者上报的数据贡献量进行加权。每个数据拥有者在一次的本地训练中所能获得的报酬是其中r表示联邦学习提供的本轮报酬预算,sn表示数据拥有者n上报的数据贡献量。那么,对于数据拥有者n而言,其在一轮的本地训练中的效益被表示为:
[0152][0153]
其中,cn表示单位数据量所消耗的成本,由计算成本通信成本和存储成本组成,即
[0154]
为了限制数据拥有者贡献质量差的本地模型,在报酬机制中对数据拥有者在每轮分配报酬中所能上报的数据量做出如下限制:
[0155][0156]
该限制使得在t-1轮中获得较低信誉评价的数据拥有者在下一轮即第t轮中所能上报的数据量变少,从而限制了其对整体模型的影响。
[0157]
2.4基于信誉的模型聚合算法
[0158]
数据拥有者的信誉值同样被设计作用于最终的模型聚合过程中,具体聚合步骤如下:
[0159][0160]
当数据拥有者的信誉比较低的时候,其上报的数据量的可信度也就较低,因此用
信誉对数据量进行加权来作为聚合全局模型时该本地模型所占的比重。这样有效限制了低质量本地模型对全局模型聚合的影响。
[0161]
3方案验证
[0162]
3.1报酬分配机制的激励证明
[0163]
理性的数据拥有者在决定参与联邦学习任务后,会努力使得自己的效用最大化。所以根据上述的报酬分配和效用函数,可以构建出如下效用目标函数:
[0164][0165][0166]
sn>0
[0167][0168]
利用纳什均衡和kkt条件可以解得,当数据拥有者n选择贡献的数据量为:
[0169][0170]
时,在整个报酬分配中获得的效益最大。从可以看出,数据拥有者n保持越高的信誉λn,其达到效益最大所需的数据量越小,根据效益函数u(sn)可知其相应的成本cnsn越低而得到的效益越高。所以该机制能有效激励数据拥有者诚实参与任务并积极贡献高质量的数据来训练模型。
[0171]
3.2仿真实验验证
[0172]
为了提现本发明的有效性,仿真实验从准确率、信誉管理、报酬分配三个角度进行验证。在mnist数据集的基础上,本实验使用深度学习来训练一个图像识别模型。mnist包含60,000个训练样本和10,000个测试样本。为了构建数据所有者,训练样本被随机地平均分配给三个节点。恶意节点是通过人工破坏这些数据所有者之一的训练集而模拟出来的。破坏程度分别被设定为0.25、0.5、0.75和1,以代表数据质量。例如,如果实验需要模拟质量为0.25的数据,那么25%的数据标签被人为地设置为错误。同样,测试样本也被随机分为三等份,并分配给作为模型聚合者的其他三个节点。本实验利用tensorflow 2.0框架来实现深度学习,用最简单的三层全连接网络来训练模型,其中relu被选为第一层的激活函数,softmax是第三层的激活函数。设置学习率为0.01。整个联合学习训练的回合数为30。对信誉更新机制中的参数进行初始化,设置σ1=0.001,σ2=-0.001,θ1=0.001,θ2=0.005。本实验实现了基于hyperledger fabric的联邦学习系统。三个数据拥有者和三个模型聚合者被注册在fabric网络中。
[0173]
3.2.1准确率验证
[0174]
实验将本发明(简称为bfl)和传统的中心化深度学习(简称为cdl)、联邦平均算法(简称为fedavg)在准确率方面进行比较。为了控制变量,cdl随机设置1/3的数据为错误数据;fedavg和bfl中,随机挑选其中一个数据拥有者使其拥有的数据的破坏程度为1。实验结果如图5所示。
[0175]
如图5所示,在理想的状况下,cdl的确能发挥中心化集中训练的优势,达到最高的准确率,而bfl和fedavg的准确率相似。但当系统处于不安全的状况下(比如数据拥有者不诚实)的时候,cdl的准确率受到极大的影响且无法收敛。此时fedavg的准确率也受到了比较大的影响,但是优于cdl。而bfl的准确率基本没有收到影响,依旧处在比较高的水准。
[0176]
3.2.2信誉机制验证
[0177]
实验记录了数据拥有者在贡献不同质量的数据的时候的信誉变化,来验证信誉机制的有效性。在实验中,随机选取其中一个数据拥有者,每次设置不同的数据质量,即破坏程度分别被设定为0.25、0.5、0.75和1。结果如图6。
[0178]
从图6中可以看出,在bfl中,数据拥有者贡献的数据质量越好,其获得的信誉越高。同时,当数据拥有者贡献完全正确的数据时,其信誉随着训练轮次不断上升;反之,贡献的数据质量越差,其信誉越早开始下降且最后的信誉评价越低。
[0179]
3.2.3报酬分配机制验证
[0180]
实验记录了数据拥有者在贡献不同质量数据时所获得的效益,具体细节如图7。
[0181]
从图7中可以明显看出,只有当数据拥有者一直贡献高质量的数据时,其效益才会不断上升。若数据拥有者贡献低质量的数据时,在某个时间点其效益会开始不断下降且质量越差开始点越早、下降幅度越大。特别的,当数据拥有者贡献完全错误的数据时,其总收益为负。
[0182]
本发明提出了一种基于区块链和信誉机制的联邦学习系统,用于完成高质量的模型聚合任务。因此介绍了一个带有系统化智能合约的联盟区块链,它能以可信和可靠的方式进行去中心化的联邦学习任务;设计了适用于该系统的信誉机制和报酬分配机制,其不仅可以激励数据所有者诚实参与任务,还可以激励他们贡献高质量的数据。在整个系统的帮助下,联邦学习完成了高质量的模型聚合任务。
[0183]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0184]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于区块链和信誉机制的高质量联邦学习系统,其特征在于,所述基于区块链和信誉机制的高质量联邦学习系统包括:区块链层,用于以智能合约为载体分享全局模型和信誉评价;信誉层,用于利用模型评分机制对所有的数据拥有者分享的局部模型进行评分;同时用于利用信誉机制对每一个数据拥有者进行信誉评价;模型训练层,用于数据拥有者进行本地模型的训练并且分享给模型聚合者;同时用于模型聚合者结合信誉对收集的模型进行聚合并对参与的数据拥有者进行奖励。2.如权利要求1所述基于区块链和信誉机制的高质量联邦学习系统,其特征在于,所述分享全局模型和信誉评价包括:数据拥有者和模型聚合者之间通过点对点的方式分享本地模型;模型聚合者之间通过点对点的方式共享收集到的模型;数据所有者从区块链中获得最新的全局模型和对应的信誉评价;模型聚合者将模型和数据所有者的信誉评价发布至区块链上。3.一种应用于如权利要求1-2任意一项所述基于区块链和信誉机制的高质量联邦学习系统的基于区块链和信誉机制的高质量联邦学习方法,其特征在于,所述基于区块链和信誉机制的高质量联邦学习方法包括:步骤一,数据拥有者从区块链网络中获取本次任务的初始模型,同时数据拥有者利用自己的私人数据进行训练,生成一轮本地模型;步骤二,数据拥有者将生成的一轮本地模型上传至区块链网络中,并分享给模型聚合者;步骤三,模型聚合者利用模型评价机制对接收的模型进行评分,并利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值;步骤四,模型聚合者利用信誉值协助聚合得到新一轮的全局模型;模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励;步骤五,重复步骤一至步骤四,直至达到预期效果或者预定时间。4.如权利要求3所述基于区块链和信誉机制的高质量联邦学习方法,其特征在于,所述利用模型评价机制对接收的模型进行评分包括:基于公平价值博弈对接收的模型进行评分,即通过比较被评分的数据拥有者n参加聚合和不参加聚合之间的差别,衡量节点对全局模型聚合的影响:其中,表示模型聚合节点m对数据贡献者n的评估结果,w
t
表示采用所有搜集的本地模型所聚合成的全局模型,表示数据贡献者n不参与全局聚合后的全局模型;g(
·
)表示用测试数据测试模型后的准确度。5.如权利要求3所述基于区块链和信誉机制的高质量联邦学习方法,其特征在于,所述利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值包括:(1)为每个数据所有者初始化全局声誉值λ=1;数据所有者n的本地信誉值根据评估结果被更新;判断评估结果是否满足启动更新机制的阈值,当满足启动
更新机制的阈值时,信誉更新机制触发;(2)计算数据所有者的历史信誉值,利用时间衰减函数e-α(t-i)
对历史信誉进行加权,结合当前的评估结果更新数据所有者的信誉,如下:其中,δ表示数据拥有者n历史信誉值的加权平均值;σ1和σ2表示触发更新机制的阈值;θ1和θ2表示可调的参数,且和分别表示更新的强度;ρ1和ρ2表示单位更新强度的更新值;(3)模型聚合者将自己生成的信誉评价和其他对等的模型聚合者的信誉评价进行结合,综合得到全局的信誉评价;模型聚合者m将合成的全局信誉打包进区块上传到区块链中,完成对数据拥有者n的一轮信誉更新。6.如权利要求5所述基于区块链和信誉机制的高质量联邦学习方法,其特征在于,所述模型聚合者将自己生成的信誉评价和其他对等的模型聚合者的信誉评价进行结合,综合得到全局的信誉评价包括:1)设置为模型聚合者m采纳模型聚合者m
′
对数据拥有者n的信誉值更新时的引用程度,计算公式如下:其中,m表示参与聚合的模型聚合者的数量;2)聚合者m将收集的其他模型聚合者提供的对数据拥有者n的信誉评价进行加权平均,得到间接信誉值得到间接信誉值3)模型聚合者m将间接信誉值和自己得到的直接信誉值进行结合,计算得到全局信誉:其中μ用于调节聚合者对间接信誉值和直接信誉值的偏好。7.如权利要求3所述基于区块链和信誉机制的高质量联邦学习方法,其特征在于,所述模型聚合者利用信誉值协助聚合得到新一轮的全局模型包括:利用信誉对数据量进行加权作为聚合全局模型时所述本地模型所占的比重:
8.如权利要求3所述基于区块链和信誉机制的高质量联邦学习方法,其特征在于,所述模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励包括:利用信誉对数据拥有者上报的数据贡献量进行加权,计算数据拥有者提供数据的报酬;包括以下步骤:首先,计算每个数据拥有者在一次的本地训练中所能获得的报酬是其中,r表示联邦学习提供的本轮报酬预算,s
n
表示数据拥有者n上报的数据贡献量,且其次,计算数据拥有者n在一轮的本地训练中的效益:其中,c
n
表示单位数据量所消耗的成本,由计算成本通信成本和存储成本组成,即9.一种接收用户输入程序存储介质,所存储的计算机程序使电子设备执行如权利要求1-8任意一项基于区块链和信誉机制的高质量联邦学习方法,包括下列步骤:步骤一,数据拥有者从区块链网络中获取本次任务的初始模型,同时数据拥有者利用自己的私人数据进行训练,生成一轮本地模型;步骤二,数据拥有者将生成的一轮本地模型上传至区块链网络中,并分享给模型聚合者;步骤三,模型聚合者利用模型评价机制对接收的模型进行评分,并利用信誉评价机制基于模型的评分为每一位数据拥有者生成新的信誉值;步骤四,模型聚合者利用信誉值协助聚合得到新一轮的全局模型;模型聚合者基于数据拥有者在本轮学习中的数据贡献和信誉值为数据拥有者提供报酬作为奖励;步骤五,重复步骤一至步骤四,直至达到预期效果或者预定时间。10.一种信息数据处理终端,其特征在于,所述信息数据处理终端包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-8任意一项所述基于区块链和信誉机制的高质量联邦学习方法。
技术总结
本发明属于联邦学习技术领域,公开了一种基于区块链和信誉机制的高质量联邦学习系统及学习方法,区块链层以智能合约为载体分享全局模型和信誉评价;信誉层利用模型评分机制对所有的数据拥有者分享的局部模型进行评分;同时利用信誉机制对每一个数据拥有者进行信誉评价;模型训练层数据拥有者进行本地模型的训练并且分享给模型聚合者;同时模型聚合者结合信誉对收集的模型进行聚合并对参与的数据拥有者进行奖励。本发明公开的基于区块链的联邦学习系统,对于实现高质量模型聚合任务具有重要指导和技术意义,有助于提升联邦学习的安全性和鲁棒性,有利于促进报酬分配的公平性和参与任务的积极性。与任务的积极性。与任务的积极性。
技术研发人员:林飞龙 齐嘉浩 陈中育 王晓虎 郑忠龙
受保护的技术使用者:浙江师范大学
技术研发日:2021.12.06
技术公布日:2022/3/8