基于区块链的可信联邦梯度提升树参与者贡献评估方法

文档序号:35875070发布日期:2023-10-28 12:23阅读:43来源:国知局
基于区块链的可信联邦梯度提升树参与者贡献评估方法

本发明涉及联邦学习(federated learning),具体涉及一种基于区块链的可信联邦梯度提升树参与者贡献评估方法。


背景技术:

1、机器学习模型的训练需要大量的训练数据,传统的集中式机器学习方法需要收集各方的数据,这些数据可能来自医院、银行、政府、公司或个人,如果直接将原始数据暴露无疑会对隐私造成严重侵害。随着各个国家和地区出台相应的法律法规,直接收集和处理原始数据受到约束。联邦学习的提出在一定程度上缓解了以上问题,这是一种分布式机器学习范式,每个参与方在本地使用本地数据进行模型训练后,中心服务器对每个参与方的本地梯度提升决策树模型进行聚合得到全局梯度提升决策树模型。在这个过程中,各方数据保留在本地,通信内容只包含模型梯度信息,提供了一定的隐私保障。

2、梯度提升决策树(gradient boosting decision tree,gbdt)是一种集成学习方法,通过迭代训练决策树来进行集成,每轮训练一棵决策树(弱分类器)来组合成一个树集合模型(强分类器)来提高预测精度。与大量研究工作中使用的深度神经网络(deep neuralnetwork,dnn)相比,梯度提升决策树有可解释性好的特点。目前对于联邦梯度提升决策树已经有很多研究,但仍面临隐私和公平方面的挑战。隐私方面的挑战主要在于,从梯度信息能反推出原始数据信息,直接将梯度进行通信仍会对隐私造成侵害。公平方面的挑战主要在于,缺乏量化各方对最终模型贡献的机制,可能会损害各方参与模型训练的积极性。


技术实现思路

1、本发明所要解决的是多个参与方协同训练联邦梯度提升决策树模型时产生的隐私和公平方面的问题,提供一种基于区块链的可信联邦梯度提升树参与者贡献评估方法。

2、为解决上述问题,本发明是通过以下技术方案实现的:

3、基于区块链的可信联邦梯度提升树参与者贡献评估方法,包括步骤如下:

4、步骤1、任务发起方新建一条许可链,并在区块链上发布模型请求事务;其中模型请求事务中的相关参数包括模型规范、数据集描述以及报酬金额;

5、步骤2、各个符合要求的任务参与方从区块链中获取模型请求事务中的模型规范和数据集描述,生成本地数据分布摘要后签名发送给任务发起方;

6、步骤3、任务发起方验证各任务参与方的本地数据分布摘要后提交任务初始化交易;

7、步骤4、各任务参与方通过区块链获取其他任务参与方的本地数据分布摘要后,在本地进行签名验证,并使用本地数据查询其他任务参与方的本地数据分布摘要以构建任务参与方的分布权重矩阵;

8、步骤5、各任务参与方从区块链获取当前全局梯度提升决策树模型作为其当前本地梯度提升决策树模型,并使用当前本地梯度提升决策树模型计算本地数据的每个特征的分裂增益,并将最大分裂增益的特征记为本地投票特征,再将本地投票特征及其特征梯度直方图一并加密并签名发送给其他任务参与方;

9、步骤6、各任务参与方收到其他任务参与方的本地投票特征及其特征梯度直方图,在可信执行环境中进行签名验证和解密,并对所有通过验证的其他任务参与方的本地投票特征进行得票统计,选出得票最高的特征记为全局投票特征;

10、步骤7、对于本地投票特征不是全局投票特征的任务参与方,将本地投票特征更新为全局投票特征,并将本地投票特征及其特征梯度直方图一并加密并签名发送给其他任务参与方,其他任务参与方在可信执行环境中进行签名验证和解密;

11、步骤8、各任务参与方在可信执行环境中,先利用本地数据的分布权重矩阵构造拟合其他任务参与方的特征梯度直方图,再计算所构造拟合出的其他任务参与方的特征梯度直方图与对应其他任务参与方所发送来的特征梯度直方图的重叠度:若两者的重叠度大于设定的重叠度阈值,则认为该其他任务参与方的特征梯度直方图可靠;否则认为该其他任务参与方的特征梯度直方图不可靠;后整合可靠的特征梯度直方图生成全局直方图,并利用全局直方图计算出全局最佳分裂点后,将本轮的全局投票特征和最佳分裂点作为事务写入区块链并据此更新全局梯度提升决策树模型;

12、步骤9、各任务参与方从区块链获取本轮的全局投票特征和最佳分裂点,在可信执行环境中利用shapley值法计算其边际贡献;

13、步骤10、各任务参与方通过共识机制对边际贡献达成一致后,将边际贡献记录区块链;

14、步骤11、区块链智能合约判断当前全局梯度提升决策树模型是否达到设定的最大树量:如果未达到,则返回步骤5;否则,转至步骤12;

15、步骤12、区块链将当前全局梯度提升决策树模型作为最终梯度提升决策树模型并记录在区块链上;

16、步骤13、任务发起方根据区块链所记录的边际贡献向各任务参与方分发金钱奖励;

17、步骤14、各任务参与方从区块链获取最终梯度提升决策树模型,并利用最终梯度提升决策树模型对本地新样本进行预测。

18、上述方案中,任务参与方包括任务发起方。

19、上述步骤4中,当前任务参与方pm的分布权重矩阵其中当前任务参与方pm在的本地数据的样本i在其他参与方pj的本地数据分布摘要psdj中的分布权重为:

20、

21、式中,vlj表示在其他任务参与方pj的本地数据分布摘要psdj的节点l所对应的超空间中包含的其他任务参与方pj方的样本数,表示当前任务参与方pm落入其他任务参与方pj的本地数据分布摘要psdj的节点l所对应的超空间的样本集合,表示当前任务参与方pm落入其他任务参与方pj的本地数据分布摘要psdj的节点l所对应的超空间的样本的数量。

22、上述步骤5中,特征的分裂增益g(il,ir)为:

23、

24、式中,il和ir分别为特征分裂后的左节点和右节点的样本集合,gi表示样本i对于当前本地梯度提升决策树模型的残差,λ是正则化参数。

25、上述步骤8中,任务参与方pm构造拟合的特征梯度直方图与任务参与方pj发送来的特征梯度直方图hj的重叠度为:

26、

27、式中,表示特征梯度直方图hj的桶bin中的梯度,表示特征梯度直方图的桶bin中的梯度,表示特征梯度直方图hj的桶bin中的梯度信息计数,表示特征梯度直方图的桶bin中的梯度信息计数。

28、上述步骤9中,当前任务参与方pm的边际贡献为:

29、

30、式中,m表示任务参与方的数量;sm表示包含任务参与方pm的所有组合情况的组合集合;s表示组合集合sm中的一个元素;|s|表示元素s的任务参与方数量;v(s)表示使用元素s中所有任务参与方的本地数据训练得到的最佳分裂点的分裂增益;v(s\{m})表示利用元素s中除m以外所有任务参与方的本地数据训练得到的最佳分裂点的分裂增益;(*)!表示阶乘。

31、与现有技术相比,本发明具有如下特点:

32、1、隐私得到更好的保护。在传统联邦学习过程中,参与方和服务器通信的内容是模型的梯度信息。然而,梯度信息可以反推出原始数据信息,因此直接暴露梯度信息会损害隐私。本发明中,各参与方之间的通信内容是加密的投票信息的特征梯度直方图,对于投票信息和特征梯度直方图的计算和处理均是在可信执行环境中进行的。由于可信执行环境具有安全性的特点,在可信执行环境中处理数据可以保证数据的机密性。

33、2、提供验证方法和可信任激励,评估各方数据价值提高公平性。在联邦学习的范式中,需要每个参与方积极参与模型训练,做出的假设是每个参与方都诚实使用自己的真实数据进行本地训练。然而,在现实场景中,参与方由于商业利益等原因,并没有充分的动机主动贡献出自己的真实数据。因此,验证参与方的更新参数并充分衡量每个参与方对全局梯度提升决策树模型的贡献并给予与其贡献相对应的回报是重要的,这有利于提高参与方的积极性。本发明通过在可信执行环境中验证每轮各方的更新信息并计算shapley值精确量化每个参与方对模型的贡献,评估各方的数据价值,并根据边际贡献分发奖励,提高了公平性。

34、3、实现防篡改、防抵赖的数据存储。联邦学习的另外一个假设是每轮每个参与方都使用最新的模型进行本地训练,然而在现实场景中可能会出现参与方为了获得更高的奖励而扭曲本地梯度值的情况。本发明使用区块链技术进行模型训练中间数据的存储,记录客户端每次训练产生的信息,由于区块链的不可篡改的特性,可以确保模型的完整性和可追溯性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1