一种激励驱动的链上半异步联邦学习方法技术

技术编号:37604818 阅读:18 留言:0更新日期:2023-05-18 11:56
本发明专利技术公开了一种激励驱动的链上半异步联邦学习方法,该方法提出将联邦学习任务部署在区块链平台上,利用区块链平台所流通的数字货币来奖励对联邦学习做出贡献的参与者,并利用智能合约来实现完全去中心化地协调多参与者协同配合,在不暴露各方数据隐私的前提条件下迭代多轮优化任务所需的全局模型,同时保证联邦学习过程中的信息不被篡改且能够被查询。与传统的联邦学习方法相比,本发明专利技术一方面可以吸引更多的参与者持续为联邦学习贡献本地算力和通信资源,另一方面可以提高联邦学习抵抗恶意攻击的能力,防止所训练模型被恶意参与者操控,能够适应于各种在信任难以建立的环境之中的联邦学习。中的联邦学习。中的联邦学习。

【技术实现步骤摘要】
一种激励驱动的链上半异步联邦学习方法


[0001]本专利技术涉及人工智能领域的联邦学习问题,尤其是涉及了一种由区块链赋能且由激励驱动的可信、高效的联邦学习方法。

技术介绍

[0002]当今世界,人工智能和大数据为各个国家、各行各业带来巨大的发展,但与此同时,数据安全、数据隐私等问题也接踵而至。越来越多的政策法规对数据共享规则和数据的保护提出了明确的要求,但这也造成了数据之间的隔离和数据碎片化现象严重,并使得许多大企业在搜集大规模用户数据进行模型训练等方面面临着更大的阻力。为了能够利用分散在各地、各个机构、各个设备上的大规模数据训练人工智能模型,并且满足数据隐私保护、数据安全的要求,谷歌公司在2016年提出了联邦学习。
[0003]联邦学习是一种分布式机器学习框架,能够支持大量数据持有者在不暴露原始数据的情况下,协同训练机器学习模型。传统的联邦学习主要依赖各数据持有者与一个中心服务器进行迭代交互来训练模型。在每一轮迭代过程中,各数据持有者从中心服务器获取全局模型,然后利用本地私有数据进行训练更新,得到本地模型;而后,各数据持有者将本地更新后的模型上传给中心服务器;服务器聚合所有接收到的本地模型,并将聚合模型作为下一轮分发的全局模型。与传统集中数据进行模型训练相比,联邦学习以交换模型参数的方式来替代直接暴露原始数据。这种方法能够很好地保护模型训练过程中各参与方的数据隐私。但是,在实际落地的过程中,现有联邦学习方法仍然有许多不足之处,包括:
[0004](1)大部分联邦学习缺乏吸引数据持有者参与联邦学习并且持续贡献本地算力的经济激励;虽然已有部分研究提出在联邦学习中引入激励机制,以经济奖励吸引更多的数据持有者参与联邦学习;但现有的激励机制并非基于参与节点的贡献来进行奖励分配,因此参与方并没有足够的动机使用自己全部的数据来参与训练,一旦参与方都消极地提供数据就会使得联邦学习失效,无法达到预期效果;训练节点没有动机主动分担联邦训练负荷,在完成联邦学习后也无法获得激励,这使得现有的联邦学习更流于一种形式上的合作,难于做到真正的分布式协同。
[0005](2)联邦学习进程易受恶意参与者攻击;一方面,现有的大部分联邦学习方法过度依赖中心化服务器,一旦中心服务器受恶意节点控制,整个联邦学习进程可能完全瘫痪;另一方面,传统的联邦学习缺乏对参与者所提交结果的审查机制,恶意节点可以通过在本地计算结果中注入不当信息,来影响联邦学习所训练的全局模型的性能。尽管现有一些方法通过联邦学习任务的发布节点对模型训练节点的行为进行审查或者训练节点相互之间进行审查来抵御恶意节点的攻击,但任务发布节点和训练节点作为利益相关方,都无法信任对方可以确保审查过程的公平性,这些审查方法并不适合在联邦学习系统的实际场景中使用。此外,现有的研究没有考虑到恶意节点在引入激励机制的联邦学习环境下可能发起针对激励分配的攻击,该类攻击可能不会对联邦学习所训练模型性能产生明显影响,但会极大程度破坏激励分配公平性。然而,现有抵御恶意节点的方法是不足以抵抗所述针对激励
分配的攻击。
[0006](3)联邦学习效率易受慢速参与者影响;虽然现有的联邦学习方法尝试解决该问题,但现有解决方案大部分都是直接丢弃慢速参与者的本地计算结果或者降低其结果在聚合模型中的影响;这种解决方式浪费了慢速参与者的算力和通信资源;当慢速参与者所提供的本地计算结果是高质量的时候,这种解决方式也限制了联邦学习进一步取得更好性能指标的可能性。

技术实现思路

[0007]针对现有技术的不足,本专利技术提供了一种激励驱动的链上半异步联邦学习方法,既能够吸引更多的数据持有者参与到联邦学习,也能够针对联邦学习过程中的多种类型恶意节点及其多种类型的不当行为进行有效审查和抵御,还能够提高联邦学习的学习效率,利用慢速参与者所提供高质量本地计算结果提高联邦学习的性能指标。
[0008]本专利技术所采取的技术方案如下:一种激励驱动的链上半异步联邦学习方法,所述方法包含三种参与者角色,分别为任务发布节点,模型训练节点以及模型验证节点;所述任务发布节点负责将任务以智能合约的形式部署于区块链平台上,提供数字货币作为模型训练和验证节点的经济奖励,并提供模型训练和验证所需的相关文件(如初始化的全局模型、验证数据集、所述方法超参数初始值等);所述训练节点利用本地数据训练全局模型,提供本地更新后的模型;所述验证节点评估训练节点所提交的本地模型,并聚合合格的模型为新一轮的全局模型。所述方法中的每一位参与者利用可信的分布式文件系统来存储在联邦学习过程中所需的验证数据集以及所产生的全局模型、本地更新后的模型等文件,并利用区块链平台共享各文件的文件句柄。所述方法中的每一位参与者皆拥有一对公钥(public key)

私钥(private key),用于联邦学习进行过程中的文件加密传输;所述公钥公开存储于联邦学习任务所对应的智能合约之中,所述私钥由参与者个人保存。
[0009]所述激励驱动的链上半异步联邦学习方法提供三部分技术模块以支持多参与者之间进行协同分布式且可信高效的联邦学习,具体包括:
[0010]1.基于贡献的激励机制;该机制要求任务发布节点提供足量的数字货币,通过智能合约将数字货币在每一轮联邦学习中奖励给对本轮模型训练或验证做出贡献的训练或验证节点;所述激励机制根据各节点的贡献大小决定奖励分配占比。
[0011]具体来说,在每一轮联邦学习中,各训练节点的贡献大小由其在本轮提交的本地模型是否合格以及其本地模型对于全局聚合模型的性能损失的边际效益影响决定;训练节点所提交的本地模型被验证为合格且边际效益越大,则其接受到的奖励越多;假设任务中共有K个训练节点,每轮训练节点能获得的奖励总数额为R
worker
,训练节点k(其中k=1,

,K)在第r轮所提供的本地模型对于全局聚合模型的性能损失的边际效益影响为当训练节点k在第r轮未提交本地模型或所提交模型不合格时则训练节点k在第r轮联邦学习的奖励计算公式如下:
[0012][0013]此外,在每一轮联邦学习中,各验证节点的贡献大小由其在本轮是否具有模型评
估和聚合资格以及所提交的结果是否符合共识决定,若其提交的结果符合大多数验证节点所提交的共识结果,则被奖励,否则不予奖励。假设任务中共有M个验证节点,每轮验证节点能获得的奖励总数额为R
validator
,则验证节点m(其中m=1,

,M)在第r轮联邦学习的奖励计算公式如下:
[0014][0015]其中为标识符,当验证节点m在第r轮具有模型评估和聚合资格且所提交的结果符合共识结果时,标识符为1,否则为0。
[0016]2.抵抗联邦学习恶意节点攻击的链上审查机制;该机制主要包括两部分:对训练节点的审查和对验证节点的审查;
[0017]所述对训练节点的审查主要是通过模型验证节点来评估各训练节点所提交的本地模型是否合格,包括是否来源于偷窃诚实训练节点的计算结果,是否来源于重放全局模型或已本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种激励驱动的链上半异步联邦学习方法,其特征在于:所述方法包括如下步骤:步骤1:任务发布节点根据联邦学习的任务需要,将联邦学习任务以智能合约的形式部署在区块链平台上,并向合约转入必要数额的数字货币,作为激励其他类型参与者加入联邦学习并提供正确模型训练或验证结果的经济奖励;在部署任务智能合约时,任务发布节点提供任务所需的超参数的初始值,包括所需招募的训练节点总数K,验证节点总数M,模型评估过程中所需的阈值∈
d
、∈
l
,时间窗口阈值β,半异步联邦学习算法中所需的超参数τ、训练节点空闲率阈值C,验证委员会的预期成员规模V,验证委员会共识达成阈值∈
c
,模型训练阶段的预期超时阈值模型评估与聚合结果加密提交阶段和揭示阶段的预期超时阈值值每轮分发给训练节点的奖励总数额R
worker
以及每轮分发给验证节点的奖励总数额R
validator
,任务轮数上限阈值,任务全局模型目标达到的性能阈值;步骤2:具有区块链平台账户的各个节点访问区块链,根据任务要求、状态以及自身条件,向有意向参与的联邦学习任务所对应的智能合约报名,申请注册为模型训练节点或验证节点;各节点在注册时提供用于文件加密传输的公钥,此外,各训练节点在注册时提供进行一次本地训练任务的预期完成时间ETC
k
,各验证节点在注册时提供进行一次模型评估与聚合任务的预期完成时间ETC
m
;待足够数量的模型训练节点和验证节点加入任务后,任务所对应的智能合约停止参与者注册;此时,任务发布者利用已注册节点所提供的公钥加密任务所需的验证数据集D
val
以及初始化的全局模型,将加密的文件存入分布式文件系统,并向智能合约提交对应的文件句柄;同时,任务发布者根据各参与者提供的ETC数值,更新任务各阶段的超时阈值:务各阶段的超时阈值:务各阶段的超时阈值:而后,智能合约将任务状态切换为模型训练阶段,并初始化轮数索引r为1;初始化空闲训练节点数量K
hw
为0;初始化各训练节点k(k=1,

,K)对应的变量,包括初始化节点k最后一次从智能合约读取全局模型文件句柄时的轮数r
k
为1,初始化节点k最近一次提交的本地模型的版本号v
k
为0;初始化各验证节点m(m=1,

,M)是否提交正确模型评估与聚合结果的标识符为0;步骤3:当任务处于模型训练阶段,每个训练节点从智能合约中获取自身所对应的r
k
,v
k
等变量、当前轮数索引r以及超参数τ,而后,按照半异步联邦学习算法规则,判断是否自己属于空闲训练节点(v
k
=r
k
=r)或慢速训练节点(r

r
k
>τ);若属于空闲训练节点,则立即参与最新一轮的全局模型训练,从智能合约获取当前轮的全局模型所对应的文件句柄,从可信分布式文件系统中下载具体文件并用自己的私钥进行解密,使用本地数据集完成模型训练,并将训练更新所得到的本地模型用各验证节点公开在智能合约的公钥进行加密后,存入可信分布式文件系统,将对应文件句柄与本次用于本地训练任务的数据量n
k
上传至智能合约;若属于慢速训练节点,则按照算法规则立即强制更新,即停止本地已有的训练任务,用各验证节点公开在智能合约的公钥加密半成品本地模型,上传至可信分布式文件系统,并向智能合约提交对应文件句柄以及本次用于本地训练任务的数据量,而后立即参与最新
一轮的全局模型训练;若训练节点不属于所述两类训练节点中的任意一种,则继续在本地已有的训练任务上进行工作;步骤4:智能合约按照半异步联邦学习算法规则以及当前轮数索引r、在接收到各训练节点k(k=1,

,K)的本地模型的同时,更新其所对应的r
k
,v
k
等变量数值,并统计空闲训练节点的数量;步骤5:在模型评估与聚合阶段,每个验证节点根据所述审查机制的规则,判断自己此轮是否被选为具有参与审查资格的验证委员会成员;若属于验证委员会成员,则从智能合约获取任务发布节点所提供的验证数据集、已处理过的以及尚未处理过的本地模型、任务过程中产生的全局模型等文件的文件句柄,从可信分布式文件系统中下载对应文件并用自己的私钥进行解密,评估各个本地模型的质量,并按照所述半异步联邦学习算法中的基于性能指标的模型聚合方法将所有合格的模型聚合作为下一轮的全局模型,将聚合模型用各训练节点公开在智能合约的公钥加密,并存入可信分布式文件系统;此后,验证节点根据基于贡献的激励机制的规则,计算提交合格本地模型的训练节点对当前轮的贡献;完成全部计算任务后,验证节点基于所述审查机制中的加密提交方法,生成本地模型评估与聚合结果所对应的两个加密值,并将两个加密值与自己被选中为验证委员会成员的证明文件提交给智能合约;步骤6:智能合约根据任务指定的审查机制的规则,验证提交结果的验证节点是否被选为具有审查资格的验证委员会成员,比对各个认证的验证委员会成员所提交的结果,并确定最终的共识结果;步骤7:在模型评估与聚合结果揭示阶段,各验证节点根据两阶段加密提交方法,向智能合约提交模型评估和聚合的具体结果,包括记录所有训练节点的贡献值的集合记录本轮所有合格本地模型的性能损失数值的集合以及记录本轮用于模型聚合的所有本地模型的平均性能损失数值步骤8:智能合约根据各验证节点m在先前提交cns
m
和cws
m
,以及委员会共识Consensus,判断如下三个公式是否同时满足:cns
m
=Consensus=Consensus若三个公式同时满足,则验证节点m所提交的模型评估和聚合的具体结果符合共识,智能合约设置其对应变量数值为1;步骤9:当超过任务预定义的超时时间∈
rev
后,智能合约查看是否至少有一个验证节点提交了符合共识的模型评估与聚合结果;若没有,智能合约将终止本次联邦学习任务,将合约内剩余的经济激励退还给任务发布者,并且向任务发布者返回当前全局模型;任务发布者可在后续选择是否开启新的任务并雇佣新的成员来继续优化所接收到的全局模型;若有,智能合约停止等待验证节点提交模型评估与聚合的具体结果,更新本轮共识结果,更新模型评估所使用的阈值∈
l
,并开始进行本轮的奖励分发;完成奖励分发后,智能合约准备开启新一轮联邦学习,根据半异步联邦学习算法规则,更新各训练节点在智能合约
上的相关参数以及空闲训练节点总数,并将任务状态切换回模型训练阶段;步骤10:重复上述步骤3至步骤9若干轮,直到达到目标轮数或全局模型达到指定的性能指标。2.根据权利要求1所述的激励驱动的链上半异步联邦学习方法;其特征在于,所述步骤4包括如下子步骤:步骤4.1:通过如下公式,更新v
k
:v
k

r
k
步骤4.2:若更新后的v
k
≤r且任务处于模型训练阶段,则通过如下公式,更新r
k
(以强制训练节点k即可开始当前轮的训练任务):r
k

r步骤4.3:否则,通过如下公式,更新空闲训练节点总数:K
hw

K
hw
+1完成上述步骤后,若或模型训...

【专利技术属性】
技术研发人员:寿黎但林泓李圣权毛云青郁强李开民陈珂
申请(专利权)人:城云科技中国有限公司
类型:发明
国别省市:

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

1