【技术实现步骤摘要】
一种激励驱动的链上半异步联邦学习方法
[0001]本专利技术涉及人工智能领域的联邦学习问题,尤其是涉及了一种由区块链赋能且由激励驱动的可信、高效的联邦学习方法。
技术介绍
[0002]当今世界,人工智能和大数据为各个国家、各行各业带来巨大的发展,但与此同时,数据安全、数据隐私等问题也接踵而至。越来越多的政策法规对数据共享规则和数据的保护提出了明确的要求,但这也造成了数据之间的隔离和数据碎片化现象严重,并使得许多大企业在搜集大规模用户数据进行模型训练等方面面临着更大的阻力。为了能够利用分散在各地、各个机构、各个设备上的大规模数据训练人工智能模型,并且满足数据隐私保护、数据安全的要求,谷歌公司在2016年提出了联邦学习。
[0003]联邦学习是一种分布式机器学习框架,能够支持大量数据持有者在不暴露原始数据的情况下,协同训练机器学习模型。传统的联邦学习主要依赖各数据持有者与一个中心服务器进行迭代交互来训练模型。在每一轮迭代过程中,各数据持有者从中心服务器获取全局模型,然后利用本地私有数据进行训练更新,得到本地模型;而后,各数据持有者将本地更新后的模型上传给中心服务器;服务器聚合所有接收到的本地模型,并将聚合模型作为下一轮分发的全局模型。与传统集中数据进行模型训练相比,联邦学习以交换模型参数的方式来替代直接暴露原始数据。这种方法能够很好地保护模型训练过程中各参与方的数据隐私。但是,在实际落地的过程中,现有联邦学习方法仍然有许多不足之处,包括:
[0004](1)大部分联邦学习缺乏吸引数据持有者参与联邦学习并且 ...
【技术保护点】
【技术特征摘要】
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完成上述步骤后,若或模型训...
【专利技术属性】
技术研发人员:寿黎但,林泓,李圣权,毛云青,郁强,李开民,陈珂,
申请(专利权)人:城云科技中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。