当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于区块链的群体学习激励方法技术

技术编号:37429265 阅读:19 留言:0更新日期:2023-04-30 09:49
本发明专利技术公开了一种基于区块链的群体学习激励方法,首先将集群中的节点分为网络节点、数据节点、带激励机制的计算节点和其他节点,对主要节点使用基于区块链和声誉机制的激励方法,辅以基于博弈论的奖惩机制计算每个节点可能的奖赏和罚金,让每个节点诚实工作的收益最大。本发明专利技术可实现群体学习的良性循环,依托区块链记录声誉和博弈论方法促进数据节点提供真实的信息;在深度学习和机器学习时代可发挥重要作用,如在各金融机构之间,本无法使它们互信地进行有隐私保护的数据融合,但本发明专利技术可以评估各机构之间的信用,维持数据需求方和数据提供方的利益平衡,从而使得各方自愿地加入群体学习过程中,充分发挥潜在的数据价值。充分发挥潜在的数据价值。充分发挥潜在的数据价值。

【技术实现步骤摘要】
一种基于区块链的群体学习激励方法


[0001]本专利技术涉及区块链、联邦学习、激励机制等领域,尤其涉及一种基于区块链的群体学习激励方法。

技术介绍

[0002]对于基于区块链的群体学习激励方法,目前还没有公开的解决方法。尽管如此,工业界已经提出了许多和联邦学习相关的激励方法。比如,通过拍卖的形式售卖数据或模型进行激励,可以真实地体现出数据或模型的真实价值;基于博弈论的方式对合作的多方设定博弈规则和支付函数,能够在较大程度上减少合作各方作恶的可能。但是,以上的方法的缺陷在于它们无法将历史数据整合起来,而导致当前轮次的信用估计和价值估计不准确;另外,以上方法只是提出了一个具体场景的解决思路,没有构建出一个完整的群体学习的架构。
[0003]另外一类最新的联邦学习激励方法是基于区块链的reputation方法。该类方法通过主观加权算法统计每个数据节点的reputation,然后选取出reputation大于某个阈值的数据节点作为真实参与训练的节点。然而,这类方法没有考虑到模型发布方会瞒报reputation的可能,这个漏洞会在实际应用中作恶方利用。同时,该方法让模型发布节点承担聚合梯度和更新全局模型的任务,但模型发布节点可能并没有相匹配的算力支持。
[0004]在联邦学习的激励方法中,基于隐私保护手段、激励机制以及区块链的DeepChain方法也被提出。该类方法的主要目标是使得联邦学习可以安全地、可持续地运作起来,它对不同的节点赋予了不同的任务。这种方法可以较好地实现基于区块链的联邦学习训练,但缺乏模型使用阶段的考虑。

技术实现思路

[0005]针对现有技术的不足,本专利技术要解决的问题是如何基于联盟链,使得群体学习可以安全地、可持续地、闭环地运行起来。为了解决该问题,本专利技术提出了一种基于区块链的群体学习激励方法。
[0006]本专利技术是通过以下技术方案来实现的,
[0007]一种基于区块链的群体学习激励方法,包括以下步骤:
[0008](1)节点预处理,具体包括以下子步骤:
[0009](1.1)构建联盟链以及身份准入合约contract1和保证金合约contract2;
[0010](1.2)将节点分为网络节点network_node、数据节点data_node、带激励机制的计算节点worker_node和模型使用节点user_node后,依据contract1合约验证身份和contract2合约缴纳保证金m
i
加入到步骤(1.1)构建的联盟链中;
[0011](1.3)所述联盟链中有若干个相似职能的机构O
i
,其在一个机构中包含有一个网络节点、若干个数据节点和带激励机制的计算节点;
[0012](2)网络节点对数据节点进行预训练与筛选,具体包括以下子步骤:
[0013](2.1)网络节点将模型任务发布到区块链上以供各个数据节点查询,数据节点自愿地加入预训练阶段让网络节点挑选合适的参与者;
[0014](2.2)在预训练阶段,网络节点计算评估数据节点的信用值,即tot_reputation;其中tot_reputation=direct_reputation+indirect_reputation,direct_reputation是指网络节点计算的数据节点在预训练阶段的信用值,indirect_reputation是指在链上参考的信用值;
[0015](2.3)数据节点根据自身能提供的数据类型、数据质量、数据规模与网络节点签署对应的智能合约task_contract,其中合约里应注明数据节点按要求完成训练后应得到的奖励reward;若数据节点在结束训练后满足合约的要求,则获取相关的奖励reward,同时网络节点将上传其实际的reputation;若数据节点故意作恶或者没有达到契约的要求,它的保证金m
i
会被没收并用来赔偿其他的数据节点和网络节点,同时网络节点会给予该数据节点一个50%reputation的评价并上传;若作恶的数据节点想再次加入训练,其必须先缴纳上次保证金的两倍作为本次保证金;
[0016](2.4)网络节点在完成数据节点选择后,把后续的计算委托给带激励机制的计算节点,并支付给带激励机制的计算节点委托金,而带激励机制的计算节点会将训练过程产生的多个结果通过同态加密的方式告知网络节点;为了阻止计算节点得知额外的梯度信息,数据节点的梯度信息也通过同态加密的形式传输给带激励机制的计算节点;所述多个结果包括最终模型参数、数据节点的reputation以及每轮的详细信息;所述梯度信息是指每个数据节点在每一轮训练过程中产生的梯度值;
[0017](3)带激励机制的计算节点进行全局模型和信用值的计算与共识,具体包含以下子步骤:
[0018](3.1)每个计算节点的诚信值trust的初始为100分,且trust>0;假设此时系统拥有n个计算节点,其计算节点的下标可以设为0,1,...n

1;系统同时维护一个trust数组,其中trust[i]即表示下标为i的计算节点的诚信度;系统计算出trust数组的前缀和数组preSum_trust,其中前缀和数组的最后一个元素即为所有计算节点的trust值总和tot_trust;系统利用区块链随机数算法生成一个属于[0,tot_trust]之间的随机数r,然后通过二分搜索算法高效找出r在前缀和数组preSum_trust中的位置,设preSum_trust[j]<r<=preSum_trust[j+1],指定第j个计算节点作为leader;
[0019]Leader节点需要完成全局模型M的全局梯度G的更新,同时需要计算第i个数据节点的reputation;其数学表达式为:
[0020][0021]其中j(1≤j≤n)表示第j轮训练;
[0022]所述leader计算的是同态加密后的数据,同时leader需要附上正确性证明V;若其余计算节点希望验证leader的结果正确性,可加入验证委员会,其中验证委员会里面使用PBFT共识协议;
[0023](3.2)当leader完成网络节点委托的计算任务后,验证委员会对leader的结果进行验证;若leader的结果不被大于2/3的其他带激励机制的计算节点认可,则认为leader是
在故意作恶,此时leader的保证金将均分给其他计算节点;若作恶的带激励机制的计算节点想再次加入训练,其必须先缴纳上次保证金的两倍作为本次保证金;同时leader的诚信值trust
i
会减分,且下次被随机数算法抽到的概率变低;后续需要在剩余带激励机制的计算节点中再次执行选举

计算

验证的步骤;若leader的结果被大于2/3的其他带激励机制的计算节点认可,诚信值trust
i
会加分,同时它将能获得本轮的出块奖励以及获得模型发布者的委托金;对于其他本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的群体学习激励方法,其特征在于,包括以下步骤:(1)节点预处理,具体包括以下子步骤:(1.1)构建联盟链以及身份准入合约contract1和保证金合约contract2;(1.2)将节点分为网络节点network_node、数据节点data_node、带激励机制的计算节点worker_node和模型使用节点user_node后,依据contract1合约验证身份和contract2合约缴纳保证金m
i
加入到步骤(1.1)构建的联盟链中;(1.3)所述联盟链中有若干个相似职能的机构O
i
,其在一个机构中包含有一个网络节点、若干个数据节点和带激励机制的计算节点;(2)网络节点对数据节点进行预训练与筛选,具体包括以下子步骤:(2.1)网络节点将模型任务发布到区块链上以供各个数据节点查询,数据节点自愿地加入预训练阶段让网络节点挑选合适的参与者;(2.2)在预训练阶段,网络节点计算评估数据节点的信用值,即tot_reputation;其中tot_reputation=direct_reputation+indirect_reputation,direct_reputation是指网络节点计算的数据节点在预训练阶段的信用值,indirect_reputation是指在链上参考的信用值;(2.3)数据节点根据自身能提供的数据类型、数据质量、数据规模与网络节点签署对应的智能合约task_contract,其中合约里应注明数据节点按要求完成训练后应得到的奖励reward;若数据节点在结束训练后满足合约的要求,则获取相关的奖励reward,同时网络节点将上传其实际的reputation;若数据节点故意作恶或者没有达到契约的要求,它的保证金m
i
会被没收并用来赔偿其他的数据节点和网络节点,同时网络节点会给予该数据节点一个50%reputation的评价并上传;若作恶的数据节点想再次加入训练,其必须先缴纳上次保证金的两倍作为本次保证金;(2.4)网络节点在完成数据节点选择后,把后续的计算委托给带激励机制的计算节点,并支付给带激励机制的计算节点委托金,而带激励机制的计算节点会将训练过程产生的多个结果通过同态加密的方式告知网络节点;为了阻止计算节点得知额外的梯度信息,数据节点的梯度信息也通过同态加密的形式传输给带激励机制的计算节点;所述多个结果包括最终模型参数、数据节点的reputation以及每轮的详细信息;所述梯度信息是指每个数据节点在每一轮训练过程中产生的梯度值;(3)带激励机制的计算节点进行全局模型和信用值的计算与共识,具体包含以下子步骤:(3.1)每个计算节点的诚信值trust的初始为100分,且trust>0;假设此时系统拥有n个计算节点,其计算节点的下标可以设为0,1,...n

1;系统同时维护一个trust数组,其中trust[i]即表示下标为i的计算节点的诚信度;系统计算出trust数组的前缀和数组preSum_trust,其中前缀和数组的最后一个元素即为所有计算节点的trust值总和tot_trust;系统利用区块链随机数算法生成一个属于[0,tot_trust]之间的随机数r,然后通过二分搜索算法高效找出r在前缀和数组preSum_trust中的位置,设preSum_trust[j]<r<=preSum_trust[j+1],指定第j个计算节点作为leader;Leader节点需要完成全局模型M的全局梯度G的更新,同时需要计算第i个数据节点的reputation;其数学表达式为:
其中j(1≤j≤n)表示第j轮训练;所述leader计算的是同态加密后的数据,同时leader需要附上正确性证明V;若其余计算节点希望验证leader的结果正确性,可加入验证委员会,其中验证委员会里面使用PBFT共识协议;(3.2)当leader完成网络节点委托的计算任务后,验证委员会对leader的结果进行验证;若leader的结果不被大于2/3的其他带激励机制的计算节点认可,则认为leader是在故意作恶,此时leader的保证金将均分给其他计算节点;若作恶的带激励机制的计算节点想再次加入训练,其必须先缴纳上次保证金的两倍作为本次保证金;同时leader的诚信值trust
i
会减分,且下次被随机数算法抽到的概率变低;后续需要在剩余带激励机制的计算节点中再次执行选举

计算

验证...

【专利技术属性】
技术研发人员:尹可挺李粤海陈晓丰
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1