一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的联邦学习可信训练方法及装置与流程

2022-11-06 21:49:07 来源:中国专利 TAG:


1.本发明涉及区块链及联邦学习技术,尤其涉及一种基于区块链的联邦学习可信训练方法及装置。


背景技术:

2.传统的联邦学习方法是通过多个参与方与一个协调方共同训练一个模型达到数据隐私共享的效果。在训练前各方协商好训练模型和数据格式,由协调方分发初始模型参数,然后参与方各自在本地使用自己的数据集进行训练,训练后,各个参与方将加密后的梯度参数发给协调方,协调方汇总各个参与方的梯度参数之后进行安全梯度聚合,再分发给各个参与方继续训练,该过程迭代若干次后直至满足预设迭代次数或模型收敛为止。
3.联邦学习旨在建立一个基于分布数据集的联邦学习模型。在模型训练的过程中,模型相关的信息能够在各方之间交换(或者是以加密形式进行交换),但各自的数据不能交换。这一交换不会暴露每个节点上任何受保护的隐私数据。传统联邦学习方法着重针对好奇敌手模型(敌手诚实地遵守协议,但也会试图从接收到的信息中学习更多除输出以外的信息)来保护各方数据隐私,但也存在以下几方面的缺点:
4.(1)比较难预防恶意敌手的攻击,恶意敌手通过提供坏数据来腐败整个训练模型,让联邦学习任务失败。因为联邦学习过程设计多方共同协作,出于隐私保护各方也没办法看到其他成员的数据,所以当训练任务出现恶意敌手时,也很难识别出来。比如在多方数据参与计算过程中,有些节点是恶意节点(就是想参与计算,获取对方的原始数据),意在通过用非法数据或模型来套取数据。如果某个参与方,最开始与对方协商是用固定的一批数据参与联合计算,但是如果这个参与方是有恶意行为的(想通过模型或其他参与数据反推对方原始数据),对最开始协商的数据进行修改,如果对方不知道这批数据已经被修改,还进行联合计算,就有可能出现数据泄露风险。
5.(2)由于训练设计多方,虽然参与方之间的数据集之间会存在一定相同的交集,但可能在分布上会有较大差异,如果数据集之间的分布差异性比较大,会使训练模型非常难收敛,从而导致训练任务失败。传统联邦学习方法缺乏在训练过程前识别数据集分布差异性的手段,来避免这种情况的发生。
6.(3)很多时候联邦学习除了涉及参与方之外,还会涉及到监管方,传统的联邦学习的方法缺乏一些手段可以让监管单位在一定程度上对联邦学习任务进行审计,这对联邦学习落地带来一定困难。


技术实现要素:

7.本发明的目的在于为克服现有技术的以上缺陷,而提供一种基于区块链的联邦学习可信训练方法及装置,提高监管方在联邦学习的参与度,让监管方进行相关的审计校验,以使联邦学习顺利进行。
8.为实现上述目的,本发明采用以下技术方案:
9.一种基于区块链的联邦学习可信训练方法,包括以下步骤:
10.步骤s1,协调方发起联邦学习训练任务请求;
11.步骤s2,参与方将自身数据集的统计信息加密上链;
12.步骤s3,监管方获取各参与方数据集每项特征的统计信息并校验各参与方数据集统计信息的分布总偏离度;
13.步骤s4,参与方进行本地训练,训练所得梯度信息加密上链;
14.步骤s5,监管方校验参与方的梯度信息;
15.步骤s6,协调方对参与方的梯度信息进行安全聚合;
16.步骤s7,协调方将聚合后的梯度信息发送给各参与方以更新本地模型;
17.步骤s8,参与方判断模型是否收敛或者迭代次数是否到上限,若否,返回步骤s4迭代,若是,则结束训练。
18.进一步地,步骤s1中,在协调方下发任务之前,协调方需要创建对应的智能合约以供参与方和监管方调用。
19.进一步地,步骤s2中,数据集的统计信息至少包括均值、中位数、标准差、woe值、iv值。
20.进一步地,步骤s3中,监管方获取各参与方数据集统计信息之后,监管方两两比较参与方数据集同一项特征的偏离度是否超过设定值,遍历所有参与方的所有特征,最后汇总得到分布总偏离度,若分布总偏离度低于阈值,则校验通过并进入下一步,否则终止训练任务。
21.进一步地,步骤s3中,监管方两两比较参与方数据集同一项特征的偏离度时,依据参与方数据集一项特征的分布规律及统计信息生成随机数集,然后判断随机数集落在另一参与方数据集对应项特征的分布范围之外的比例,若比例超过设定值,则记偏离度为1,否则记偏离度为0;遍历所有参与方的所有特征之后,最后把偏离度加起来得到分布总偏离度。
22.进一步地,步骤s4包括:
23.步骤s41,参与方将任务编码和参数信息摘要上传到区块链中;
24.步骤s42,参与方查询该任务编码的其他参与方的参数信息摘要是否与自身一致,若一致,则进行下一步,否则终止训练任务;
25.步骤s43,初始化模型训练环境,拉取本地数据集,开始执行训练任务,训练所得梯度信息加密上链。
26.进一步地,步骤s5包括:
27.步骤s51,用随机数初始化一个数据集作为虚拟数据集,虚拟数据集的记录数为训练批次大小,虚拟数据集每条记录的特征数量与参与方数据集数据记录的特征数量相同;同时随机初始化虚拟标签集;
28.步骤s52,根据参与方提交的梯度变更量与上一次提供给参与方的模型权重相加,得到参与方训练后的模型权重,用该权重初始化一个训练模型;
29.步骤s53,用虚拟数据集作为数据源传入训练模型,正向传播得到模型结果,再与虚拟标签集联合计算损失函数和虚拟梯度;以虚拟梯度与实际梯度差值最小为优化方向,用梯度下降法迭代更新虚拟数据集及虚拟标签集,最终得出最优虚拟数据集;
30.步骤s54,计算最优虚拟数据集的统计信息,并与参与方提交的数据集统计信息进行比较,若偏差大于设定值,则终止训练任务,否则进入下一步。
31.进一步地,在步骤s54中,当最优虚拟数据集的统计信息与参与方提交的数据集统计信息偏差大于设定值,监管方发布终止任务信息与相关的监控报告;协调方监控到监管方发出终止任务信息后,获取相关监控报告,并通知各个参与方终止训练任务,并将相关监控报告发送给各个参与方。
32.本发明还公开了一种基于区块链的联邦学习可信训练系统,该系统包括协调方、参与方和监管方,协调方分别与参与方连接,协调方和参与方组成联邦学习集群,参与方连接于区块链,监管方连接于区块链;
33.协调方用于发起联邦学习训练任务请求;
34.参与方用于将自身数据集的统计特征加密上链;
35.监管方用于获取各参与方数据集统计特征并校验各参与方数据集统计特征的分布总偏离度;
36.参与方还用于进行本地训练,并将训练所得梯度信息加密上链;
37.监管方还用于校验参与方的梯度信息;
38.协调方还用于对参与方的梯度信息进行安全聚合;
39.协调方还用于将聚合后的梯度信息发送给各参与方以更新本地模型;
40.参与方还用于判断模型是否收敛或者迭代次数是否到上限,若否,迭代训练模型,若是,则结束训练。
41.本发明还公开了一种电子设备,包括:处理器;以及存储器,存储器上存储有计算机可读指令,计算机可读指令被处理器执行时实现以上的方法。
42.本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上的方法。
43.本发明与现有技术相比的有益效果是:在保障数据隐私的前提下,在训练前由监管方校验数据偏离度,避免由于分布不一致导致的训练失败的情况;同时通过参与方梯度上链,在训练时由监管方校验参与方的梯度信息,可以通过梯度信息异常识别出恶意参与方,保障联邦学习任务正常运行。由于整个训练流程都有数据上链,可以让监管方有效了解训练过程,提高了监管方在联邦学习的参与度,提高了监管方对联邦学习的了解与信任,也使联邦学习得以顺利进行。
44.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明技术手段,可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。
附图说明
45.图1为本发明的训练系统框架图。
46.图2为本发明训练方法的总流程图。
47.图3为本发明智能合约调用图。
48.图4为本发明训练方法的步骤s4的流程图。
49.图5为本发明训练方法的步骤s5的流程图。
50.图6为本发明训练方法的步骤s5的数据流向图。
51.需要说明的是,以上视图所示产品均为适应图纸大小及视图清楚而进行了适当的缩小/放大,并不对视图所示产品大小加以限制。
具体实施方式
52.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例。相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
53.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。
54.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
55.本实施例是一种基于区块链的联邦学习可信训练方法,如图1所示,涉及到协调方、参与方和监管方,协调方分别与参与方通过网络连接连接,协调方和参与方组成联邦学习集群。参与方是进行联邦学习任务的以及数据提供方。协调方是指协助联邦学习任务、帮助参与方做梯度聚合的参数服务器。参与方安装有区块链客户端程序,且参与方通过有线网络或者无线网络连接于区块链。监管方通过有线网络或者无线网络连接于区块链。
56.如图2所示,训练方法包括以下步骤:步骤s1,协调方发起联邦学习训练任务请求;步骤s2,参与方将自身数据集的统计信息加密上链;步骤s3,监管方获取各参与方数据集每项特征的统计信息并校验各参与方数据集统计信息的分布总偏离度;步骤s4,参与方进行本地训练,训练所得梯度信息加密上链;步骤s5,监管方校验参与方的梯度信息;步骤s6,协调方对参与方的梯度信息进行安全聚合;步骤s7,协调方将聚合后的梯度信息发送给各参与方以更新本地模型;步骤s8,判断模型是否收敛或者迭代次数是否到上限,若否,返回步骤s4迭代,若是,则结束训练。
57.本发明在保障数据隐私的前提下,在训练开始前由监管方校验数据偏离度,避免由于分布不一致导致的训练失败的情况;同时通过参与方梯度上链,在训练时由监管方校验参与方的梯度信息,可以通过梯度信息异常识别出恶意参与方,保障联邦学习任务正常运行。由于整个训练流程都有数据上链,可以让监管方有效了解训练过程,提高了监管方在联邦学习的参与度,提高了监管方对联邦学习的了解与信任,也使联邦学习得以顺利进行。
58.以下对训练方法的各个步骤进行详细描述。
59.步骤s1是由协调方发起联邦学习训练任务请求。协调方发起联邦学习训练任务可以有两种方式。第一种方式中,先由各参与方私下协商模型及数据集格式,并统一训练任务编码,然后协调方根据任务编码和参与方信息发起联邦学习任务。第二种方式中,直接由协
调方定义模型与数据集格式,随后发起联邦学习任务后下发到参与方中,开始联邦学习任务。
60.在下发任务之前,协调方需要创建对应的智能合约以供参与方和监管方调用。智能合约是一个包含若干状态与方法的代码片段,智能合约创建后可以通过区块链对应地址去调用合约中包含的方法。智能合约内部初始化任务存储空间,用于存储后续各个参与方上传的信息。同时限制该训练任务的后续调用方仅限于本次训练任务的参与方及监管方,避免其他人窃听任务信息。
61.在一些实施例中,如图3所示,协调方创建的智能合约包含以下方法:
62.1、初始化,初始化智能合约时,合约内部存储发送者的地址。
63.2、添加参与者,仅限于协调方调用,且仅限于调用一次。
64.3、添加监管者,仅限于协调方调用,且仅限于调用一次。
65.4、获取参与方清单,仅限参与者与监管者调用。
66.5、上传初始化参数,仅限参与者调用,且仅限调用一次。
67.6、获取参与方初始化参数,仅限参与者与监管者调用。
68.7、上传数据集统计信息,仅限参与者调用,数据统计摘要包含数据集的总样本数,每个特征的均值,中位数以及标准差。
69.8、获取上传数据集统计信息,仅限监管方调用。
70.9、上传训练梯度信息,仅限参与方调用。
71.10、查询训练梯度,仅限监管方调用。
72.11、终止训练任务,限监管方调用;由于训练过程中监控到的异常情况,监管方可以通过该接口终止训练任务,参与方与协调方通过上链数据来监控便于处理终止逻辑。
73.步骤s2是由参与方将自身数据集的统计信息加密上链。在步骤s2中,数据集的统计信息至少包括均值、中位数、标准差、woe值、iv值。这些统计信息是针对数据集的特征的集合计算得出。譬如数据集的特征有年龄、身高、体重,那么数据集中每一条记录的身高值就组成一个特征的集合,针对这一集合可以算出相应的统计信息,譬如均值、中位数、标准差等等。在算出统计信息之后,参与方将这些统计信息通过智能合约相应接口上传到区块链上,其中智能合约中包含有rsa、sm2加密算法,可以实现对统计信息加密并进行上链。调用该智能合约查询统计信息的权限只开放给监管方,通过监管方的私钥方可解密统计信息。
74.步骤s3是由监管方获取各参与方数据集每项特征的统计信息并校验各参与方数据集统计信息的分布总偏离度。当各个参与方将统计信息都上链之后,监管方便从区块链获取各参与方数据集统计信息。随后监管方两两比较参与方数据集同一项特征的偏离度是否超过设定值,遍历所有参与方的所有特征,最后汇总得到分布总偏离度。若所得的分布总偏离度低于阈值,则校验通过并进入下一步。若所得的分布总偏离度不低于阈值,说明各个参与方的数据分布较不均匀,进行联邦学习时很容易会出现梯度抵消的情况,这时就要及时终止训练任务。
75.具体地,在步骤s3中,当监管方两两比较参与方数据集同一项特征的偏离度时,先依据参与方数据集一项特征的分布规律及统计信息生成随机数集,然后判断随机数集落在另一参与方数据集对应项特征的分布范围之外的比例。若比例超过设定值,则记偏离度为
1,否则记偏离度为0。遍历所有参与方的所有特征之后,最后把偏离度加起来得到分布总偏离度。
76.以下详细举例说明。
77.例1
78.参与方a中,用μ表示特征f的均值,用σ表示特征f的标准差,x表示特征f的某一个数据,p表示数据x出现在某个范围的概率。参与方a数据集的特征f的统计信息中包含μ、σ,且特征f服从正态分布。因此特征f的数据符合p(|x-μ|≤3σ)≥99.7%,因此|x-μ|>3σ的数据就认为是偏离的数据。参与方b中根据用μ'表示特征f的均值,用σ'表示特征f的标准差,x’表示特征f的某一个数据,p’表示数据x’出现在某个范围的概率。按照p'(|x'-μ'|≤3σ')≥99.7%的规律生成随机数集s’,然后判断随机数集s’里面的数值落在参与方a特征f的分布范围之外的比例,即随机数集s’里面的数值落在|x-μ|>3σ范围的数值数量占随机数集s’数值总量的比例。这个比例如果超过了设定值(譬如5%),则记偏离度t为1,没超过设定值则记偏离度t为0。针对特征f分别两两比较各个参与方,然后再遍历所有的其他特征,最后得到分布总偏离度t

=∑t。根据分布总偏离度t

与阈值的比较结果决定是否终止训练任务。
79.例2
80.参与方a中,用μ表示特征f的均值,用σ表示特征f的标准差,x表示特征f的某一个数据,p表示数据x出现在某个范围的概率。参与方a数据集的特征f的统计信息中包含μ、σ,且特征f为非均匀分布。针对非均匀分布数据而言,用k表示倍率,数据的分布符合切比雪夫不等式通过调整k值大小来得到预设阈值的数据范围,超出范围的数据就认为是偏离的数据。参与方b中根据用μ'表示特征f的均值,用σ'表示特征f的标准差,x’表示特征f的某一个数据,p’表示数据x’出现在某个范围的概率。按照设定的倍率k以及切比雪夫不等式生成随机数集s’,然后判断随机数集s’里面的数值落在参与方a特征f的数据范围之外的比例,即随机数集s’里面的数值落在|x'-μ'|≥kσ'范围的数值数量占随机数集s’数值总量的比例。这个比例如果超过了设定值,则记偏离度t为1,没超过设定值则记偏离度t为0。针对特征f分别两两比较各个参与方,然后再遍历所有的其他特征,最后得到分布总偏离度t

=∑t。根据分布总偏离度t

与阈值的比较结果决定是否终止训练任务。
81.通过步骤s3的校验,在参与方的隐私数据不泄露的情况下,监管方可以判断出各参与方的数据偏离度情况,因此可以在大工作量的迭代训练开始之前避免了训练时梯度抵消、无法收敛的情况,避免出现无用功,提高了联邦学习的成功率。
82.步骤s4是由参与方进行本地训练,并将训练所得梯度信息加密上链。初始化训练模型和数据集参数后,各参与方开始使用本地私有的数据集进行模型训练,训练若干个批次后(由训练参数定义),得到梯度信息后将其加密(其使用的加密掩饰算法包括但不限于同态加密、差分隐私或秘密共享)并通过智能合约上传到区块链上。
83.具体地,如图4所示,步骤s4包括:步骤s41,参与方将任务编码和参数信息摘要上传到区块链中;步骤s42,参与方查询该任务编码的其他参与方的参数信息摘要是否与自身
一致,若一致,则进行下一步,否则终止训练任务;步骤s43,初始化模型训练环境,拉取本地数据集,开始执行训练任务,训练所得梯度信息加密上链。首先在步骤s41中,各参与方启动联邦学习训练任务时,在初始化模型和模型参数前,将模型结构和模型参数等初始化信息,按照系统预设格式进行编码,然后获取对应的信息摘要(信息摘要算法包括但不限于sha-2、sm3等),最后调用智能合约将任务编码和参数信息摘要上传到区块链中。随后在步骤s42中参与方通过智能合约查询该任务编码的其他参与方的参数信息摘要是否与自身一致,如果不一致,终止训练任务;如果一致,则进入步骤s43。最后在步骤s43中初始化模型训练环境,拉取参与方本地数据集,开始执行训练任务。训练迭代次数由训练参数定义,在迭代结束后,将训练所得梯度信息加密后上传到区块链上。
84.步骤s5是由监管方校验参与方的梯度信息。在步骤s5中,监管方通过智能合约接口监控到参与方上传梯度信息后,对其进行校验:通过梯度下降方法还原数据集的统计信息,与步骤s2中提交的参与方数据集统计信息进行比较,如果存有较大差异,将该参与方本次提交梯度信息视为异常,根据条件终止训练任务。
85.如图5所示,步骤s5分为步骤s51至步骤s54,以下详细描述,同时数据流向参考图6示。
86.在步骤s51中,先用随机数初始化一个数据集作为虚拟数据集,虚拟数据集的记录数为训练批次大小,虚拟数据集每条记录的特征数量与参与方数据集数据记录的特征数量相同。然后随机初始化一个虚拟标签集。其中,训练批次大小是参与方在训练模型时分批训练的批大小,是神经网络算法的一个通用优化策略,通常的批次是256、512、1024等,训练批次大小在训练任务初始化时已经被指定。以下举例说明,假设要训练一个预测个人是否患有肥胖症,参与方数据集的特征是年龄、身高、体重、体脂,对于上述数据集,特征数量为4,标签是是否患有肥胖症,标签值是0或1。假设训练批次大小是512,那么随机数初始化的虚拟数据集就有512条记录,每条记录包含年龄、身高、体重、体脂4个特征,总数据量一共是512*4,又因为标签是0或者1,所以随机512个0或1作为虚拟标签集。
87.步骤s52主要是还原参与方模型权重及初始化训练模型。具体地,先根据参与方提交的梯度变更量与上一次提供给参与方的模型权重相加,得到参与方训练后的模型权重,随后用该权重初始化一个训练模型。
88.步骤s53中,先用虚拟数据集作为数据源传入训练模型,正向传播得到模型结果,再与虚拟标签联合计算损失函数和虚拟梯度。以虚拟梯度与实际梯度差值最小为优化方向,用梯度下降法迭代更新虚拟数据集及虚拟标签集,最终得出最优虚拟数据集。这个最优虚拟数据集与参与方数据集最接近,因此最优虚拟数据集的统计信息也会与参与方数据集的统计信息相近。
89.结合图6,用x’表示虚拟数据集,w表示模型权重,y’表示虚拟标签,f表示模型正向传播映射,通过f(x’,w)运算得到标签结果与y’进行损失计算得到loss=(f(x

,w),y

),用loss与w进行微分得到虚拟梯度
[0090][0091]
在以上公式的基础上,求出最拟合模型的最优虚拟数据集x

*
和最优虚拟标签集y

*
。假设当x’和y’与参与方原始数据集及标签集一致时,则有训练时的梯度会一致,所以
优化的方向就是得到的虚拟梯度与实际梯度差值最小,于是优化方向便是如下公式:
[0092][0093]
通过以上公式不断迭代优化,并且同步反向更新虚拟数据集和虚拟标签集,直至迭代收敛时,就得到最优虚拟数据集x

*

[0094]
步骤s54中,计算最优虚拟数据集的统计信息(譬如均值、中位数、标准差、woe值、iv值),并与参与方提交的数据集统计信息进行比较,若两者偏差大于设定值,则终止训练任务,否则进入下一步。在步骤s54中,当最优虚拟数据集的统计信息与参与方提交的数据集统计信息偏差大于设定值,监管方便在区块链上发布终止任务信息与相关的监控报告。而协调方在区块链监控到监管方发出终止任务信息后,获取相关监控报告,并通知各个参与方终止训练任务,并将相关监控报告发送给各个参与方。
[0095]
步骤s5通过构建虚拟数据集以及用梯度下降法反向更新虚拟数据集,在无法获取参与方数据集的条件下,模拟出最接近参与方数据集特征的虚拟数据集,进而可以判断出是否存在异常,及时识别出恶意行为,避免恶意敌手通过提供坏数据来腐败整个训练模型而导致联邦学习任务失败。
[0096]
步骤s6是由协调方对参与方的梯度信息进行安全聚合。在步骤s5中监管方在校验所有参与方梯度信息通过之后,监管方将校验成功结果上链,协调方监控到区块链出块信息获取到监管方发出的校验成功结果后,协调方开始拉取这个批次每个参与方的梯度信息,对加密梯度进行安全聚合得到聚合梯度,譬如安全聚合可使用基于同态加密的加权平均方法进行。
[0097]
步骤s7是由协调方将聚合后的梯度信息发送给各参与方以更新本地模型。协调方在s6步骤得到聚合梯度后,将聚合梯度发送给各个参与方。而参与方接收到各自的聚合梯度后,用秘钥进行解密,并使用解密后的梯度结果更新自身的本地模型。
[0098]
步骤s8是由参与方判断模型是否收敛或者迭代次数是否到上限。在步骤s7中参与方更新本地模型之后,参与方判断模型是否收敛或者迭代次数是否到上限。如果没有收敛或没有达到迭代上限,则返回到步骤s4,也即是参与方继续进行本地训练。若模型收敛或者已达到迭代上限,则结束本次训练任务。
[0099]
本发明还公开了一种基于区块链的联邦学习可信训练系统。如图1所示,涉及到协调方、参与方和监管方,协调方分别与参与方通过网络连接连接,协调方和参与方组成联邦学习集群。参与方是进行联邦学习任务的以及数据提供方。协调方是指协助联邦学习任务、帮助参与方做梯度聚合的参数服务器。参与方安装有区块链客户端程序,且参与方通过有线网络或者无线网络连接于区块链。监管方通过有线网络或者无线网络连接于区块链。
[0100]
协调方用于发起联邦学习训练任务请求。
[0101]
参与方用于将自身数据集的统计特征加密上链。
[0102]
监管方用于获取各参与方数据集统计特征并校验各参与方数据集统计特征的分布总偏离度。
[0103]
参与方还用于进行本地训练,并将训练所得梯度信息加密上链。
[0104]
监管方还用于校验参与方的梯度信息。
[0105]
协调方还用于对参与方的梯度信息进行安全聚合。
[0106]
协调方还用于将聚合后的梯度信息发送给各参与方以更新本地模型。
[0107]
参与方还用于判断模型是否收敛或者迭代次数是否到上限,若否,迭代训练模型,若是,则结束训练。
[0108]
此外,在本发明的实施例中,还提供了一种能够实现上述基于区块链的联邦学习可信训练方法的电子设备。
[0109]
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施例、完全的软件实施例(包括固件、微代码等),或硬件和软件方面结合的实施例,这里可以统称为“电路”、“模块”或“系统”。
[0110]
电子设备以通用计算设备的形式表现。电子设备的组件可以包括但不限于:上述至少一个处理单元、上述至少一个存储单元、连接不同系统组件(包括存储单元和处理单元)的总线、显示单元。
[0111]
其中,存储单元存储有程序代码,程序代码可以被处理单元执行,使得处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。例如,处理单元可以执行本发明基于区块链的联邦学习可信训练方法的步骤s1至步骤s8。
[0112]
存储单元可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)和/或高速缓存存储单元,还可以进一步包括只读存储单元(rom)。
[0113]
存储单元还可以包括具有一组(至少一个)程序模块的程序/实用工具,这样的程序模块包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0114]
总线可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
[0115]
电子设备也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与电子设备的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0116]
通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施例的方法。
[0117]
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述基于区块链的联邦学习可信训练方法的程序产品。在一些可能的实施
例中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施例的步骤。
[0118]
根据本发明的实施例的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0119]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0120]
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0121]
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0122]
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0123]
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0124]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
[0125]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献