CN114358324A - 一种具有奖惩机制的联邦学习方法及相关装置 - Google Patents
一种具有奖惩机制的联邦学习方法及相关装置 Download PDFInfo
- Publication number
- CN114358324A CN114358324A CN202111655095.7A CN202111655095A CN114358324A CN 114358324 A CN114358324 A CN 114358324A CN 202111655095 A CN202111655095 A CN 202111655095A CN 114358324 A CN114358324 A CN 114358324A
- Authority
- CN
- China
- Prior art keywords
- local parameter
- parameter
- node
- training
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种具有奖惩机制的联邦学习方法及相关装置,该方法由从链中的上传节点执行,上传节点为从链中用于上传第一本地参数至主链中主链节点的从链节点,该方法包括:上传节点获取待上传的第一本地参数和待验证的第一本地参数,待上传的第一本地参数为通过共识验证的第一本地参数,待验证的第一本地参数为未经过共识验证的第一本地参数;比较待上传的第一本地参数和待验证的第一本地参数,获得比较结果,比较结果包括第一本地参数被篡改或第一本地参数未被篡改;基于比较结果根据预设处理策略对第一训练节点执行奖励或扣除数字代币,第一训练节点为训练得到第一本地参数的节点,该方案提高了各个从链节点参与联邦学习的积极性。
Description
技术领域
本申请涉及联邦学习技术领域,特别是涉及一种具有奖惩机制的联邦学习方法及相关装置。
背景技术
为了实现快速学习获得机器学习模型,Google人工智能实验室提出了联邦学习架构,具体是用于实现使得多个分散的客户端和一个中心服务器能够协作学习一个机器学习模型,用于提高学习模型的效率。但是,在现有的联邦学习架构中,参与机器学习模型训练的边缘终端设备提供的数据是否真实、数据样本是否足够大,对模型训练准确性至关重要。但是在现有的联邦学习架构中,都无法保证数据真实性和数据样本的足够强大,也无法提高参与联邦学习的边缘终端的积极性,故急需一种可以解决上述技术问题的技术方案。
发明内容
本申请主要解决的技术问题是提供一种具有奖惩机制的联邦学习方法及相关装置,可以提高各个从链节点参与联邦学习的积极性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种具有奖惩机制的联邦学习方法,所述方法是由从链中的上传节点执行,所述上传节点为所述从链中用于上传第一本地参数至主链中的主链节点的从链节点,所述从链中的从链节点包括若干训练节点和若干共识节点,所述方法包括:
所述上传节点获取待上传的第一本地参数和待验证的第一本地参数,其中,所述待上传的第一本地参数为通过所述若干共识节点共识验证的第一本地参数,所述待验证的第一本地参数为未经过所述共识验证的第一本地参数;
比较所述待上传的第一本地参数和所述待验证的第一本地参数,获得比较结果,所述比较结果包括所述第一本地参数被篡改或所述第一本地参数未被篡改;
基于所述比较结果,根据预设处理策略对所述第一训练节点执行奖励数字代币或扣除数字代币,其中,所述第一训练节点为训练得到所述第一本地参数的所述训练节点。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种具有奖惩机制的联邦学习方法,所述方法是由主链中的主链节点执行,所述主链中包括若干所述主链节点,每个所述主链节点能够与从链中的上传节点进行交互,所述方法包括:
主链节点获取第一预设数量的从链节点训练得到的目标本地参数;
对所述第一预设数量的目标本地参数进行聚合,得到第一全局参数;
分别确定每个所述目标本地参数对所述第一全局参数的贡献值;
基于每个所述目标本地参数中对所述第一全局参数的贡献值,分别对各个所述目标本地参数对应的关联从链节点执行预设奖惩处理;其中,预设奖惩处理中对数字代币的处理数量,与所述目标本地参数对所述第一全局参数的贡献值正相关;所述目标本地参数对应的关联从链节点包括训练得到所述目标本地参数的训练节点和/或对所述目标本地参数进行共识验证的共识节点。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种具有奖惩机制的联邦学习系统,所述系统包括能够进行交互的主链和从链,其中,所述从链中设置有上传节点,所述上传节点为所述从链中用于上传第一本地参数至主链的从链节点,所述从链中的从链节点包括了若干训练节点和若干共识节点;
所述训练节点用于训练获得第一本地参数,所述共识节点用于对所述训练节点训练所得的所述第一本地参数进行共识验证,并将通过所述共识验证的第一本地参数确定为待上传的第一本地参数;
所述上传节点用于获取待上传的第一本地参数和待验证的第一本地参数;并用于比较所述待上传的第一本地参数和所述待验证的第一本地参数,获得比较结果;并基于所述比较结果,根据预设处理策略对所述第一训练节点执行奖励数字代币或扣除数字代币,其中,所述待上传的第一本地参数为经过所述若干共识节点共识验证的第一本地参数,所述待验证的第一本地参数为未经过所述共识验证的第一本地参数;所述比较结果包括所述第一本地参数被篡改或所述第一本地参数未被篡改;所述第一训练节点为训练得到所述第一本地参数的所述训练节点。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种具有奖惩机制的联邦学习系统,所述系统包括能够进行交互的主链和从链,其中,所述从链中包括若干从链节点,所述主链包括若干主链节点,每个所述主链节点能够与至少一个所述从链节点进行交互;
所述主链节点用于获取第一预设数量的从链节点训练得到的目标本地参数,并对所述第一预设数量的目标本地参数进行聚合,得到第一全局参数;
所述主链节点还用于分别确定每个所述目标本地参数对所述第一全局参数的贡献值;并基于每个所述目标本地参数中对所述第一全局参数的贡献值,分别对各个所述目标本地参数对应的关联从链节点执行预设奖惩处理;其中,预设奖惩处理中对数字代币的处理数量,与所述目标本地参数对所述第一全局参数的贡献值正相关;所述目标本地参数对应的关联从链节点包括训练得到所述目标本地参数的训练节点和/或对所述目标本地参数进行共识验证的共识节点。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种电子设备,所述电子设备包括处理器以及与所述处理器耦接的存储器;其中,
所述存储器用于存储计算机程序;
所述处理器用于运行所述计算机程序以执行如上任意一项所述的方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有能够被处理器运行的计算机程序,所述计算机程序用于实现如上任一项所述的方法。
本申请的有益效果是:区别于现有技术的情况,本申请所提供的技术方案,通过设置由联邦学习系统的从链中的上传节点执行,且上传节点通过获取待上传的第一本地参数和待验证的第一本地参数,并比较待上传的第一本地参数和待验证的第一本地参数,获得比较结果,且比较结果包括第一本地参数被篡改或第一本地参数未被篡改;然后基于比较结果,根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币,在本申请所提供的上述技术方案中,通过在基于区块链的联邦学习方案中设置奖惩机制,可以较好地提高各个从链节点参与联邦学习的积极性,起到了良好的技术效果。
附图说明
图1为本申请一种具有奖惩机制的联邦学习系统一实施例中的结构示意图;
图2为本申请一种具有奖惩机制的联邦学习方法一实施例中的流程示意图;
图3为本申请一种具有奖惩机制的联邦学习的方法另一实施例中的流程示意图;
图4为本申请一种具有奖惩机制的联邦学习的方法另一实施例中的流程示意图;
图5为本申请一种具有奖惩机制的联邦学习的方法一实施例中的流程示意图;
图6为本申请一种具有奖惩机制的联邦学习的方法另一实施例中的流程示意图;
图7为本申请一种具有奖惩机制的联邦学习的方法又一实施例中的流程示意图;
图8为本申请一种电子设备一实施例中的结构示意图;
图9为本申请一种计算机可读存储介质一实施例结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了便于理解本申请所提供的技术方案,在此首先阐述本申请方案中所涉及到的联邦学习概念。联邦学习是通过利用多个分散的客户端共同协作学习一个机器学习模型,同时将客户端的训练数据和训练所得的机器学习模型的至少部分参数保存在本地,并上传至中心服务器,再由中心服务器进行聚合得到全局参数的方法。而本申请所提供的具有奖惩机制的联邦学习方法则是通过构建包括主链和从链、且具有奖惩机制的联邦学习系统,利用区块链结构的信息一致性的特点,实现降低联邦学习过程中对于某一个服务器或电子设备的依赖性,提高联邦学习的可靠性和稳定性,同时还可以通过所设置的奖惩机制提高各个从链节点参与联邦学习的积极性。
首先,为了便于理解本申请所提供的技术方案,首先阐述本申请所提供的具有奖惩机制的联邦学习系统。请参见图1,图1为本申请一种具有奖惩机制的联邦学习系统一实施例中的结构示意图。
在当前实施例中,本申请所提供的具有奖惩机制的联邦学习系统100包括能够进行交互的从链A和主链B。
其中,从链A是用于训练获得第一本地参数的区块链结构,从链A中设置有上传节点,从链A中包括若干从链节点(图1所示意的A1至Am即为从链节点)。上传节点为从链A中用于将第一本地参数上传至主链的从链节点,从链A中的从链节点包括了若干训练节点和若干共识节点,训练节点用于训练获得第一本地参数;共识节点用于对训练节点训练所得的第一本地参数进行共识验证,并将通过共识验证的第一本地参数确定为待上传的第一本地参数。
具体地,是按照各个从链节点在当前联邦学习的周期中所执行的功能,将从链节点分类为若干训练节点和若干共识节点。即可以理解为按照各个从链节点在当前轮次的联邦学习过程中所执行的功能,将当前从链A中各个从链节点划分为训练节点和共识节点。另外,在训练获得同一个机器学习模型的不同联邦学习周期中,共识节点和训练节点是动态切换的,如,在上一周期中某个从链节点是作为共识节点对第一本地参数执行共识验证功能的,而在下一个周期或其他周期内,该从链节点可以切换为训练节点用于执行训练第一本地参数的功能。如图1所示意的A1至An代指的是当前轮次从链A中的训练节点,An+1至Am代指的是当前轮次从链A中的共识节点,An+1至Am构成了共识委员会101。
主链B是用于执行聚合从链A训练所得的第一本地参数,从而获得全局参数的联盟链结构,主链B包括若干主链节点,且各个主链节点能够与至少一个从链节点进行交互。进一步地,在一些实施例中,设置主链B用于获取第一预设数量的从链节点上传的第一本地参数,并将所获取的第一预设数量的第一本地参数进行聚合处理,获得第一全局参数。
进一步地从链节点可以是终端设备、传感器、穿戴设备等可以执行训练功能的电子设备中的任意一种,且同一个从链A中所包括的从链节点可以是不同类型的设备,在此不做限定。如,同一个从链A中所包括的若干从链节点各自的设备类型可以包括终端设备、对讲设备、传感器和穿戴设备。每个从链节点和从链节点所对应的用户均有各自的私钥和公钥,其中,从链节点的公钥的哈希值可以作为用来标识其身份的ID和/或该从链节点的钱包账户地址。
上传节点用于获取待上传的第一本地参数和待验证的第一本地参数;并用于比较待上传的第一本地参数和待验证的第一本地参数,获得比较结果;并基于比较结果,根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币的操作。其中,待上传的第一本地参数为经过若干共识节点共识验证的第一本地参数,待验证的第一本地参数为未经过共识验证的第一本地参数。比较结果包括第一本地参数被篡改或第一本地参数未被篡改;第一训练节点为训练得到被篡改的第一本地参数的训练节点。
进一步地,当某一个训练节点复用为自身的上传节点时,那么该训练节点不仅用于训练获得第一本地参数,还用于将通过共识验证的第一本地参数上传至主链节点,共识节点用于对训练节点训练所得的第一本地参数进行共识验证。
在其他实施例中,还可以设置将某个共识节点复用为上传节点,即是利用该共识节点将通过共识验证的第一本地参数上传至主链节点,具体依据实际设置为准。
进一步地,需要说明的是,从链A中的各个从链节点在执行当前轮次的联邦学习的过程时,首先需要明确自身在当前训练轮次中的功能。具体的,在执行当前轮次的联邦学习时,从链节点可以通过竞选获得执行共识验证的资格。
每个主链节点可以与从链A中的至少部分从链节点进行数据交互,主链节点所对应的设备类型包括服务器设备或电脑设备。可以理解的是,主链节点在其他实施例中,还可以为其他类型的设备,在此不一一列举。如图1,图1中所示意的B1至Bk代指的是主链B中的主链节点。
主链节点用于获取第一预设数量的从链节点训练得到的目标本地参数,并对第一预设数量的目标本地参数进行聚合,得到第一全局参数。其中,目标本地参数为被成功上传至主链的、且被抽中执行聚合功能获得第一全局参数的第一本地参数。
主链节点还用于分别确定每个目标本地参数对第一全局参数的贡献值,并基于每个目标本地参数中对第一全局参数的贡献值,分别对各个目标本地参数对应的关联从链节点执行预设奖惩处理;其中,预设奖惩处理中对数字代币的处理数量,与目标本地参数对第一全局参数的贡献值正相关;目标本地参数对应的关联从链节点包括训练得到目标本地参数的训练节点和/或对目标本地参数进行共识验证的共识节点。
请参见图2,图2为本申请一种具有奖惩机制的联邦学习方法一实施例中的流程示意图。在当前实施例中,本申请所提供的方法是由从链中的上传节点执行,上传节点为从链中用于上传第一本地参数至主链中的主链节点的从链节点,从链中的从链节点包括若干训练节点和若干共识节点。
在当前实施例中,本申请所提供的方法包括步骤S210至步骤S230。
S210:上传节点获取待上传的第一本地参数和待验证的第一本地参数。
在从链执行联邦学习的过程中,当某一个训练节点训练所得的第一本地参数通过共识委员会的共识验证之后,与通过共识验证的第一本地参数对应的上传节点还会进一步验证通过共识验证的第一本地参数是否被篡改。具体地,上传节点首先会获取待上传的第一本地参数和待验证的第一本地参数,然后执行下述步骤S220。
其中,上传节点为用于执行将通过共识验证的第一本地参数上传至主链的从链节点,如上所述,上传节点可以为从链中任意一个从链节点。如在一实施例中,可以预先设定由训练当前第一本地参数的训练节点执行上传第一本地参数至主链节点的步骤。在另一实施例中,也可以预先设定由共识节点中任意一个执行上传第一本地参数至主链节点的步骤。在又一实施例中,也可以设置是由从链中除去训练得到该第一本地参数的从链节点以外的任意一个从链节点作为上传节点,用于执行上传该第一本地参数至主链节点的步骤。
其中,待上传的第一本地参数为通过若干共识节点共识验证的第一本地参数;待验证的第一本地参数为还没有进行共识验证的第一本地参数。
S220:比较待上传的第一本地参数和待验证的第一本地参数,获得比较结果。
其中,比较结果包括第一本地参数被篡改或第一本地参数未被篡改。
上传节点在获取到待上传的第一本地参数和待验证的第一本地参数之后,进一步比较待上传的第一本地参数和待验证的第一本地参数,得到比较结果,上传节点还会根据待上传的第一本地参数和待验证的第一本地参数的比较结果,确定第一本地参数在生成至共识验证的过程中是否被篡改。
进一步地,在一实施例中,上传节点可以是直接比较待上传的第一本地参数(目标本地参数)和待验证的第一本地参数,判断两者是否相同,若相同,则判断得到第一本地参数没有被篡改,然后执行将待上传的第一本地参数上传至主链节点,并对第一训练节点执行奖励数字代币操作;反之,若比较得到两者不相同,则判断得到当前第一本地参数被篡改,则会对第一训练节点执行扣除数字代币操作。其中,对于第一训练节点的降低数字代币或扣除数字代币的数量可以根据实际需求预先设定。
在另一实施例中,上传节点可以是通过获取待上传的第一本地参数的第二哈希值和待验证的第一本地参数的第一哈希值,然后基于第一哈希值和第二哈希值判断待上传的第一本地参数和待验证的第一本地参数是否相同。
更进一步地,上传节点是通过对待上传的第一本地参数和待验证的第一本地参数分别进行哈希运算,进而分别获取得到第二哈希值和第一哈希值。具体地,对待验证的第一本地参数进行哈希运算获得第一哈希值,对待上传的第一本地参数进行哈希运算获得第二哈希值,然后比较第一哈希值是否等于第二哈希值,若是,则表示当前待上传第一本地参数没有被篡改,进一步确定比较结果为第一本地参数未被篡改;反之,若第一哈希值不等于第二哈希值,则表示当前待上传的第一本地参数被篡改,进一步确定比较结果为第一本地参数被篡改。
再进一步地,待验证的第一本地参数的第一哈希值,可以是训练节点在训练得到第一本参数,且在将第一本地参数传输至共识节点之前,由训练该第一本地参数的训练节点执行哈希运算的过程获得,训练该第一本地参数的训练节点在获得第一哈希值之后,还会进一步将第一哈希值存储至自身存储区或从链的分布式账本。然后上传节点在执行上述步骤S220时可以通过访问第一本地参数对应的训练节点或访问从链的分布式账本获得该第一哈希值,并与计算所得的第二哈希值进行比对,用以判断第一本地参数是否被篡改。
S230:基于比较结果,根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币。
其中,第一训练节点为训练得到第一本地参数的训练节点。
在一实施例中,若比较结果为第一本地参数被篡改,上传节点会根据预设处理策略,扣除训练该第一本地参数的第一训练节点的数字代币。其中,所扣除的第一训练节点数字代币的数量可以根据实际的需求进行设置。
在另一实施例中,若比较结果为第一本地参数未被篡改,上传节点会根据预设处理策略,奖励训练该第一本地参数的第一训练节点的数字代币。其中,所奖励的第一训练节点数字代币的数量可以根据实际的需求进行设置。
进一步地,在一实施例中,预设处理策略为:若比较结果为第一本地参数被篡改,扣除第一训练节点第二预设数量的数字代币;若比较结果为第一本地参数未被篡改,奖励第一训练节点第三预设数量的数字代币。其中,第二预设数量代指的是扣除的数字代币的数量,在同一轮联邦学习中,不同的第一训练节点所对应的第二预设数量可以是相同数值或不同数值;第三预设数量代指的是奖励的数字代币的数量,在同一轮联邦学习中,不同第一训练节点所对应的第三预设数量可以是相同数值或不同数值。
在一实施例中,对于多个不同的第一训练节点,如若多个不同的第一训练节点所训练的第一本地参数均被篡改,则会对多个不同的第一训练节点扣除相同的数字代币。即,对于从链内的任意训练节点,如若其所训练的第一本地参数被篡改,则会对不同的训练节点执行扣除相同数量的数字代币的操作,即此时多个不同的训练节点所对应的第二预设数量的数值是相同的。同理,对于从链内多个不同的训练节点,在同一轮次的联邦学习过程中,如若其各自训练的第一本地参数均没有被篡改,则对不同的训练节点执行奖励相同数量的数字代币的操作,即此时多个不同的训练节点所对应的第三预设数量的数值是相同的。
在另一实施例中,预设处理策略为:若比较结果为第一本地参数被篡改,结合第一训练节点训练获得第一本地参数所耗用的时间,确定扣除第一训练节点的数字代币的数量,即对应确定第二预设数量的数值;若比较结果为第一本地参数未被篡改,则结合第一训练节点训练获得第一本地参数所耗用的时间,确定奖励第一训练节点的数字代币的数量,即对应确定第三预设数量的数值。
其中,所扣除的数字代币的数量与训练获得第一本地参数所耗用的时间正相关,即第二预设数量的数值与训练获得第一本地参数所耗用的时间正相关。若某个第一训练节点所对应的比较结果为第一本地参数被篡改,当第一训练节点训练获得第一本地参数所耗用的时间越长,则对应扣除越多的数字代币,即第二预设数量数值越大;反之,当第一训练节点训练获得第一本地参数所耗用的时间越短,则对应扣除越少的数字代币,即第二预设数量的数值越小。即,在当前实施例中,对于两个不同的第一训练节点,若出现各自训练得到第一本地参数被篡改,但是两个第一训练节点训练获得第一本地参数所耗用的时间不同,则会扣除耗用时间较多的第一训练节点较多的数字代币,即耗用时间较多的第一训练节点所对应的第二预设数量的数值相对越大;相对的,会扣除耗用时间较少的第一训练节点较少的数字代币,即耗用时间较少的第一训练节点所对应的第二预设数量的数值相对越小。
其中,所奖励的数字代币的数量与训练获得第一本地参数所耗用的时间负相关,即第三预设数量的数值与训练获得第一本地参数所耗用的时间负相关。若某个第一训练节点所对应的比较结果为第一本地参数未被篡改,当第一训练节点训练获得第一本地参数所耗用的时间越长,则对应奖励越少的数字代币,即第三预设数量数值越小;反之,当第一训练节点训练获得第一本地参数所耗用的时间越短,则对应奖励越多的数字代币,即第三预设数量的数值越大。即,在当前实施例中,对于两个不同的第一训练节点,若出现各自训练得到第一本地参数均未被篡改,但是两个第一训练节点训练获得第一本地参数所耗用的时间不同,则会奖励耗用时间较多的第一训练节点较少的数字代币,即耗用时间较多的第一训练节点所对应的第三预设数量的数值相对越小;相对的,会奖励耗用时间较少的第一训练节点较多的数字代币,即耗用时间较少的第一训练节点所对应的第三预设数量的数值相对越大。在当前实施例中,通过设置第二预设数量的数值与训练获得第一本地参数所耗用的时间正相关,和/或设置第三预设数量的数值与训练获得第一本地参数所耗用的时间负相关,通过将训练第一本地参数所耗用的时间与奖励数字代币和/或扣除数字代币的数量结合,实现更积极有效地提高各个从链节点参与联邦学习的积极性。
本申请在图2所对应的实施例中,通过设置有奖惩机制,具体为每个与从链节点绑定的用户设置有一个账户,该账户用于接收和发送数字代币。若从链节点发送通过共识验证、且没有被篡改的第一本地参数则奖励数字代币;反之,若发送恶意参数或被篡改了的第一本地参数则扣除第一训练节点的数字代币,提高了各个从链节点参与联邦学习的积极性。并在一些实施例中,设置奖励的数字代币的数量也与每个从链节点上传目标本地参数到主链的时间有负相关,上传越快,则奖励的数字代币越多;同理,对于出现第一本地参数被篡改的情况,设置扣除的数字代币的数量也与每个从链节点训练获得第一目标本地参数的时间有正相关,时间耗时越短,则扣除的数字代币相对越少,反之,时间耗时越长,则扣除的数字代币相对越多,可以形成激励生态闭环,促进全局参数(全局机器学习模型)训练优化。
其中,第一本地参数指任意一个训练节点利用第一训练算法、第一类数据和第一初始参数进行模型训练获得的本地机器学习模型的参数。具体地,第一训练算法为从链节点用于训练获得本地机器学习模型的算法,第一训练算法包括梯度下降算法。第一类数据为从链节点在自身存储区所选择的用于获取本地机器学习模型的数据,第一初始参数和第一训练算法为主链节点下发至从链节点的。
请参见图3,图3为本申请一种具有奖惩机制的联邦学习的方法另一实施例中的流程示意图。在当前实施例中,本申请所提供的方法包括步骤S301至步骤S305。
S301:上传节点获取待上传的第一本地参数和待验证的第一本地参数。
S302:比较待上传的第一本地参数和待验证的第一本地参数,获得比较结果。
步骤S301至步骤S302与上述步骤S210至步骤S220相同,具体可以参见上文对应部分的阐述,在此不重复。
在当前实施例中,为了使得对各个从链节点的奖惩更为公平公正,避免出现误判导致奖惩不公,故上传节点在经过对待上传的第一本地参数和待验证的第一本地参数进行比较之后,还会利用从链中的其他从链节点对第一本地参数所对应的比较结果进行验证。在当前实施例中,在获得比较结果之后,本申请所提供的方法还包括步骤S303至步骤S304。
S303:将第一本地参数对应的比较结果广播至从链中的其他从链节点,以利用其他从链节点验证第一训练节点所对应的比较结果是否为真值。
上传节点在对待上传的第一本地参数和待验证的第一本地参数进行比较,并获得比较结果之后,上传节点还会将所得的第一本地参数对应的比较结果广播至从链中的其他从链节点。从链内至少部分从链节点在接收到第一本地参数的比较结果之后,进一步验证该比较结果是否为真值,并将结果反馈至上传节点,上传节点则会进一步统计从链内的从链节点对于比较结果的验证反馈,以判断是否存在超过第一预设比例的从链节点验证得到第一训练节点所对应的比较结果为真值。其中,当其他从链节点验证得到该第一本地参数所对应的比较结果为真值,则说明该从链节点判断上传节点比较所得的第一本地参数的比较结果是有效的。反之,如若某一从链节点验证得到上传节点比较所得的第一本地参数的比较结果为假值,则说明该从链节点判断上传节点比较所得的关于第一本地采纳数的比较结果是无有效的。
进一步地,在另一实施例中,上述步骤S303进一步包括:将第一本地参数对应的比较结果广播至从链中的部分从链节点,以利用部分从链节点验证第一训练节点所对应的比较结果是否为真值。其中,部分从链节点可以为从链的共识节点。在其他实施例中,部分从链节点还可以是从链内的训练节点。
进一步地,其他从链节点可以是通过进一步比对待上传的第一本地参数和待验证的第一本地参数,实现验证第一训练节点所对应的比较结果是否为真值。当自身比对所得的待上传的第一本地参数和待验证的第一本地参数的结果与上传节点所得的比较结果相同,则可以对应判断得到上传节点所得的比较结果为真值;反之,则判断上传节点所得的比较结果为假值。其他从链节点可以是通过广播或一对一的通信方式,将对于比较结果的验证结果反馈给上传节点。其中,当前实施例中,对于比较结果的验证结果包括:比较结果为真值或比较结果为假值。
S304:若超过第一预设比例的从链节点验证得到第一训练节点所对应的比较结果为真值,则进一步执行基于比较结果,根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币的步骤。
在上述步骤S303执行之后的设定时间内,上传节点通过统计其他节点对于比较结果的验证结果,进一步判断是否有超过第一预设比例的从链节点验证得到第一训练节点所对应的比较结果为真值。若是,则上传节点认为当前比较结果是有效的,则会进一步基于比较结果,根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币的步骤。反之,若在设定时间内,上传节点没有接收到超过第一预设比例的从链节点验证得到第一训练节点所对应的比较结果为真值,或上传节点接收到超过第一预设比例的从链节点验证得到第一训练节点所对应的比较结果为假值,则上传节点确定得到当前比较结果无效。
再进一步地,如若在设定时间内,上传节点没有接收到超过第一预设比例的从链节点验证得到第一训练节点所对应的比较结果为真值,则上传节点可以根据预先设定再次广播比较结果,以使得没有反馈验证结果的其他从链节点尽快反馈。上传节点还可以根据预先设定,直接基于比较结果执行奖励数字代币或扣除数字代币。
更进一步地,上传节点还可以进一步根据所接收到的验证结果的数量与从链内从链节点总数量的比值和第一预设比例,确定对第一训练节点奖励的数字代币数量或扣除数字代币数量。其中,定义所接收到的验证结果的数量与从链内从链节点总数量的比值为第一比值。如若是对第一训练节点进行奖励,则奖励的数字代币的第三预设数量=(第一比值/第一预设比例)*初始第三预设数量,初始第三预设数量为存在超过第一预设比例的从链节点反馈比较结果为真值时,所需要奖励第一训练节点的数字代币数量。如若是对第一训练节点进行惩罚,则扣除的数字代币的第二预设数量=(第一比值/第一预设比例)*初始第二预设数量,初始第二预设数量为存在超过第一预设比例的从链节点反馈比较结果为真值时,所需要扣除第一训练节点的数字代币数量。
进一步地,在又一实施例中,请继续参见图3,在根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币之后,本申请所提供的方法还包括步骤S305。
S305:在从链中广播对第一训练节点的数字代币奖励结果或数字代币扣除结果。
其中,数字代币奖励结果包括:奖励第一训练节点的数字代币的数量、以及上传节点在对第一训练节点执行完奖励数字代币之后,第一训练节点所拥有的最新的数字代币数量。同理,数字代币扣除结果为扣除第一训练节点的数字代币的数量、以及上传节点在对第一训练节点执行完扣除数字代币之后,第一训练节点所拥有的数字代币数量。
在当前实施例中,上传节点在对第一训练节点执行奖励数字代币或扣除数字代币之后,还会在从链中广播对第一训练节点的数字代币奖励结果或数字代币扣除结果,以保持从链内信息一致性。
请参见图4,图4为本申请一种具有奖惩机制的联邦学习的方法另一实施例中的流程示意图。在当前实施例中,上述步骤S220比较待上传的第一本地参数和待验证的第一本地参数,获得比较结果,进一步包括步骤S401至步骤S403。
S401:分别获取待上传的第一本地参数的第一哈希值和待验证的第一本地参数的第二哈希值。
在当前实施例中,可以是利用哈希值判断待上传的第一本地参数和待验证的第一本地参数是否相同。具体地,上传节点通过获取待上传的第一本地参数的第一哈希值,以及获取待验证的一本地参数的第二哈希值,然后执行下述步骤S402。
进一步地,若干共识节点在完成对第一本地参数的共识验证,且该第一本地参数通过了共识验证之后,由若干共识节点中的领导节点将通过共识验证的第一本地参数传输至从链内各个从链节点。具体地,领导节点可以是通过广播的形式将通过共识验证的第一本地参数传输至从链内各个从链节点。用于执行上传功能的上传节点获取到通过共识验证的第一本地参数之后,利用哈希算法对所获取的通过共识验证的第一本地参数进行哈希运算,进而获得第一哈希值。上传节点可以是对所获取到的待验证的第一本地参数执行哈希运算,进而获得第二哈希值。其中,哈希算法包括SHA-256算法。
进一步地,步骤S401包括:对待上传的第一本地参数进行哈希运算获得第一哈希值;自第一训练节点或从链的分布式账本上获取待验证的第一本地参数的第二哈希值。在当前实施例中,通过设置当训练节点训练获得第一本地参数,且在将第一本地参数上传至共识节点进行共识验证之前,训练节点即会对第一本地参数执行哈希运算获得第二哈希值,并将所得的第二哈希值存储至自身的存储区或在从链内上链存储。等到第一本地参数通过共识验证时,上传节点可以直接通过访问第一本地参数所对应的训练节点或从链的分布式账本,进而获得待验证的第一本地参数的第二哈希值。
S402:判断第一哈希值是否等于第二哈希值。
在获得第一哈希值和第二哈希值之后,进一步判断第一哈希值是否等于第二哈希值。若判断得到第一哈希值等于第二哈希值,则说明当前待上传的第一本地参数与待验证第一本地参数相同,即第一本地参数没有被篡改,继续执行将待上传第一本地参数上传至主链节点的步骤。反之,如若判断得到第一哈希值不等于第二哈希值,则可以得到第一本地参数在生成时至进行共识验证的过程中存在被篡改的现象,则会执行下述步骤S403。
S403:若第一哈希值不等于第二哈希值,则确定第一本地参数被篡改;或,若第一哈希值等于第二哈希值,则确定第一本地参数未被篡改。
如若上传节点在判断得到第一哈希值不等于第二哈希值,则可以得到第一本地参数在生成至进行共识验证的过程中存在被篡改的现象,则确定当前的第一本地参数被篡改,则会进一步生成比较结果为第一本地参数被篡改。如若判断得到第一哈希值等于第二哈希值,则可以得到第一本地参数在生成至进行共识验证的过程中不存在被篡改的现象,则确定当前的第一本地参数未被篡改,则会进一步生成比较结果为第一本地参数未被篡改。
进一步地,本申请所提供的方法还包括:接收主链节点下发的对第二训练节点和/或共识节点的奖惩指令,并响应于奖惩指令执行扣除数字代币或奖励数字代币的操作。其中,第二训练节点为上传了第一本地至主链节点,但是没有被主链节点用于聚合获得第一全局参数的训练节点。
在本申请所提供的技术方案中,还会设置由主链节点基于各个从链节点训练所得的第一本地参数对于第一全局参数的贡献值,对从链节点奖励或扣除数字代币,用以激励从链节点参与联邦学习的积极性。
请参见图5,图5为本申请一种具有奖惩机制的联邦学习的方法一实施例中的流程示意图。在当前实施例中,本申请所提供的方法是由主链中的主链节点执行,主链中包括若干主链节点,每个主链节点能够与从链中的上传节点进行交互。本申请所提供的方法包括步骤S510至步骤S540。
S510:主链节点获取第一预设数量的从链节点训练得到的目标本地参数。
在当前实施例中,主链节点在执行本申请所提供的具有奖惩机制的联邦学习方法时,主链节点首先需要获取第一预设数量的从链节点上传的目标本地参数。其中,第一预设数量可以是预先根据需求进行设置以及进行调整。
进一步地,主链节点获取第一预设数量的从链节点上传的本地参数之前,该方法还包括:自从链中所有的从链节点中随机选取第一预设数量的从链节点。
在一实施例中,当与当前主链配合执行联邦学习的从链中所包括的训练节点的总数量较大时,为了提高联邦学习的效率,用户可以根据从链中所包括的训练节点总数量调整第一预设数量。例如,在一实施例中,当从链中所包括的从链节点的总数量为10000时,可以设置第一数量为1000。
在另一实施例中,当从链中所包括的从链节点的总数量为100时,可以对应将第一预设数量设置为100。即在一些实施例中,也可以设置第一预设数量等于从链中包括的从链节点的数量,即设置主链节点获取从链中所包括的所有从链节点上传的目标本地参数,然后基于所获取的目标本地参数执行下述步骤S520。
进一步地,主链节点是自从链中随机确定第一预设数量的从链节点,然后获取所确定的第一预设数量的从链节点所上传的目标本地参数。需要说明的是,通常是等待所选取的第一预设数量的从链节点都上传本地参数之后,主链中的主链节点才会进行聚合。其中,主链节点至少包括服务器。
在另一实施例中,主链节点还可以是基于从链节点的准确度(或评分)排名,抽取准确度(或评分)排名靠前的第一预设数量个从链节点,然后基于所抽取的第一预设数量个从链节点所上传的目标本地参数执行下述步骤S520。
S520:对第一预设数量的目标本地参数进行聚合,得到第一全局参数。
主链节点在获取第一预设数量的目标本地参数之后,进一步将第一预设数量的目标本地参数聚合得到第一全局参数。第一全局参数所对应的第一全局机器学习模型可将整个训练数据集上的损失函数(即所有从链节点和/或所有主链节点上的数据的并集)最小化。
进一步地,主链节点聚合第一预设数量的目标本地参数得到第一全局参数之后,需要经过在主链内广播,以经过主链内各个主链节点共识确认一致性后得到唯一的一个第一全局参数,然后执行输出第一全局参数的步骤,以将该第一全局参数反馈给从链节点,并触发下一轮学习迭代。其中,不同的从链节点的第一本地参数的聚合是通过智能合约来完成参数聚合。
进一步地,在步骤S520基于第一预设数量的目标本地参数聚合得到第一全局参数之后,本申请所提供的方法还包括:将第一全局参数上传至主链分布式账本中存储。在该实施例中,通过将第一全局参数上传至主链分布式账本可以实现使得主链中各个主链节点都可以通过,访问主链分布式账本获得该第一全局参数,也较好地避免第一全局参数被篡改。
S530:分别确定每个目标本地参数对第一全局参数的贡献值。
在聚合得到第一全局参数之后,主链节点则会进一步确定每个目标本地参数对第一全局参数的贡献值。
进一步地,请参见图6,图6为本申请一种具有奖惩机制的联邦学习的方法另一实施例中的流程示意图。在当前实施例中,上述步骤S530分别确定每个目标本地参数对第一全局参数的贡献值进一步包括步骤S601至步骤S602。
S601:针对每个目标本地参数,对除目标本地参数以外的其他目标本地参数进行聚合得到第二全局参数。
主链节点在对第一预设数量的目标本地参数进行聚合,得到第一全局参数之后,主链节点还会用于分别对除去某一个目标本地参数以外的其他所有的目标本地参数进行聚合,进而获得第二全局参数。
如,在一实施例中,当主链节点是基于100个目标本地参数聚合获得第一全局参数,针对每一个目标本地参数,主链节点还会分别对除去该目标本地参数以外的99个其他目标本地参数进行聚合得到第二全局参数。对应的,这100个目标本地参数中每一个均会对应有一个第二全局参数,主链节点则会聚合得到100个第二全局参数。
S602:获取分别基于第一全局参数和第二全局参数对测试数据测试的准确率,并将第一全局参数对应的准确率和第二全局参数对应的准确率之间的差值作为目标本地参数的贡献值。
主链节点在聚合得到第二全局参数之后,分别会获取各个第二全局参数对应测试数据测试的准确率。其中,测试数据是预先存储的用于对联邦学习所得的全局机器学习模型进行测试的数据。其中,全局机器学习模型包括第一全局参数对应的第一全局机器学习模型,和第二全局参数对应的第二全局机器学习模型。
接上述实施例,当主链节点是基于100个目标本地参数聚合获得第一全局参数后,主链节点还会基于第一全局参数所对应的第一全局机器学习模型对测试数据进行测试,获得其所对应的准确率。同时,针对每个目标本地参数,主链节点还会聚合得到分别与各个目标本地参数对应的第二全局参数,并会基于第二全局参数所对应的第二全局机器学习模型对测试进行测试,获得其所对应的准确率。
对于每一个目标本地参数,并将第一全局参数对应的准确率和该目标本地参数所对应的第二全局参数的准确率之间的差值作为目标本地参数的贡献值。其中,准确率差值可以为正也可以为负,当准确率差值为正,则代表当前目标本地参数对于第一全局参数具有积极贡献,可以提高全局机器学习模型的准确率。当准确率差值为负,则代表当前目标本地参数对于第一全局参数没有积极贡献,会降低全局机器学习模型的准确率。
S540:基于每个目标本地参数中对第一全局参数的贡献值,分别对各个目标本地参数对应的关联从链节点执行奖励数字代币或扣除数字代币。
其中,目标本地参数对应的关联从链节点包括训练得到目标本地参数的训练节点和/或对目标本地参数进行共识验证的共识节点。
主链节点在分别确定每个目标本地参数对第一全局参数的贡献值之后,主链节点进一步基于每个目标本地参数中对第一全局参数的贡献值,分别对各个目标本地参数对应的关联从链节点执行奖励数字代币或扣除数字代币,用以激励各个从链节点参与联邦学习。
具体地,当目标本地参数对应的贡献值为正,则对目标本地参数对应的关联从链节点执行奖励数字代币的步骤。其中,奖励数字代币的数量与贡献值正相关。当贡献值为正,且当贡献值越大,则对与目标本地参数对应的关联从链节点所奖励数字代币的数量越多。
更进一步地,当目标本地参数对应的贡献值为正,奖励数字代币的数量还与训练节点的用于训练目标本地参数训练的数据量正相关,与训练目标本地参数的时间成本负相关。当训练节点的用于训练目标本地参数训练的数据量越多,且训练目标本地参数的时间成本越小,则奖励数字代币的数量越多。其中,训练目标本地参数的时间成本为训练节点自接到训练任务至上传目标本地参数之间的时间差值。
当目标本地参数对应的贡献值为负,则对目标本地参数对应的关联从链节点执行扣除数字代币的步骤。其中,扣除数字代币的数量与贡献值的绝对值正相关。当贡献值为负,且当贡献值的绝对值越大,则对与目标本地参数对应的关联从链节点所扣除数字代币的数量越多。
更进一步地,当目标本地参数对应的贡献值为负,扣除数字代币的数量还与训练节点的用于训练目标本地参数训练的数据量和训练目标本地参数的时间成本负相关。即,其中,训练节点的用于训练目标本地参数训练的数据量和训练目标本地参数的时间成本越多,则对应扣除越多的数字代币。训练目标本地参数的时间成本为训练节点自接到训练任务至上传目标本地参数之间的时间差值。需要说明的是,在其他实施例中,如若是以激励从链节点为主,则可以设置,当目标本地参数对应的贡献值为负时,对应扣除相同数量的数字代币。
进一步地,请参见图7,图7为本申请一种具有奖惩机制的联邦学习的方法又一实施例中的流程示意图。在当前实施例中,上述步骤S540基于每个目标本地参数中对第一全局参数的贡献值,分别对各个目标本地参数对应的关联从链节点执行奖励数字代币或扣除数字代币,进一步包括步骤S701至步骤S703。
S701:分别根据各个目标本地参数对第一全局参数的贡献值,分别确定对各个目标本地参数所对应的关联从链节点奖惩类型和目标数量数字代币。
在当前实施例中,主链节点在求得各个目标本地参数对第一全局参数的贡献值之后,进一步基于各个目标本地参数对应的贡献值的正负,确定对目标本地参数所对应的关联从链节点的奖惩类型。其中,所述奖惩类型包括奖励数字代币或扣除数字代币。
当目标本地参数对第一全局参数的贡献值为正,则确定对该目标本地参数所对应的关联从链节点奖惩类型为奖励数字代币。当目标本地参数对第一全局参数的贡献值为负,则确定对该目标本地参数所对应的关联从链节点奖惩类型为扣除数字代币。
在确定各个目标本地参数所对应的关联从链节点奖惩类型的同时,主链节点还会进一步确定目标本地参数所对应的目标数量数字代币。气质,目标本地参数所对应的目标数量数字代币可以是指所奖励的数字代币的数量或所扣除的数字代币数量。
在一实施例中,可以根据各个目标本地参数对第一全局参数的贡献值的绝对值,预先设定目标数量数字代币。如,可以预先设定,当目标本地参数对第一全局参数的贡献值的绝对值属于第一数值区间时,则设置目标数量数字代币为第一数值;当目标本地参数对第一全局参数的贡献值的绝对值属于第二数值区间时,则设置目标数量数字代币为第二数值;当目标本地参数对第一全局参数的贡献值的绝对值属于第三数值区间时,则设置目标数量数字代币为第三数值。期中,第三数值区间大于第二数值区间,第二数值区间大于第一数值区间。
进一步地,当关联从链节点包括训练得到目标本地参数的训练节点和对目标本地参数进行共识验证的共识节点时,也可以分别为训练得到目标本地参数的训练节点和对目标本地参数进行共识验证的共识节点设置不同的目标数量数字代币确定关系式。
S702:基于目标数量数字代币,生成关于各关联从链节点的奖惩指令。
主链节点在分别确定对各个目标本地参数所对应的关联从链节点奖惩类型和目标数量数字代币之后,主链节点进一步基于目标数量数字代币,生成关于各关联从链节点的奖惩指令。需要说明的是,当关联从链节点包括训练得到目标本地参数的训练节点和对目标本地参数进行共识验证的共识节点,则步骤S702会基于目标数量数字代币,生成关于训练得到目标本地参数的训练节点和对目标本地参数进行共识验证的共识节点的奖惩指令。
S703:将奖惩指令发送至从链,以使得从链响应于奖惩指令,对各个关联从链节点执行奖励目标数量数字代币或扣除目标数量数字代币的步骤。
主链节点在生成关于各关联从链节点的奖惩指令之后,主链节点进一步将奖惩指令发送至从链,以使得从链响应于奖惩指令,对各个关联从链节点执行奖励目标数量数字代币或扣除目标数量数字代币的步骤。
进一步地,在一实施例中,本申请所提供的方法还包括:求取第一预设数量的目标本地参数的贡献值的均值;将目标本地参数的贡献值的均值确定为第二本地参数的贡献值,并基于第二本地参数的贡献值,分别对每个第二本地参数关联从链节点执行奖励数字代币或扣除数字代币。
其中,第二本地参数为主链节点所接收到的除目标本地参数以外的第一本地参数。
以当从链中所包括的从链节点的总数量为10000时,可以设置第一数量为1000,即抽取1000个第一本地参数作为目标本地参数为例,主链节点还会求取所抽取的1000个目标本地参数的贡献值的均值,并将所抽取的1000个目标本地参数的贡献值的均值输出作为剩余的9000个从链节点上传的本地参数(第二本地参数)的贡献值。然后基于所确定的第二本地参数的贡献值的正负,确定对多个第二本地参数的奖惩类型以及所对应的目标数量数字代币,然后基于所确定的奖惩类型以及所对应的目标数量数字代币,对每个第二本地参数关联从链节点执行奖励数字代币或扣除数字代币的步骤。
本申请所提供的方案,可以较好地解决现有技术中缺乏奖惩机制问题,以及从链节点提供的数据是否真实、数据样本是否足够大的问题,可以使得从链节点被激励去自愿提供大量可靠的样本数据来进行联邦训练,进而提高参与联邦学习的积极性和自主性。
另外,进一步地,在另一实施例中,本申请所提供的技术方案中,每个从链节点的奖励可以包括训练奖励和验证奖励。
其中,训练奖励是从链节点接收到的数字资产奖励(上述各个实施例中是以数字代币为实例),当训练获得第一本地参数通过共识节点验证,且没有被篡改时,从链节点将获得数字货币奖励,奖励以交易转账形式发送至账户地址。当主链节点聚合得到第一全局参数(或理解为聚合得到的第一全局机器学习模型直至收敛),主链节点可以根据各个从链节点训练得到的目标本地参数对于第一全局参数的贡献度,来执行奖励分配。
其中,训练奖励的大至少是与下述因素有关:从链节点训练得到目标本地参数的时间成本、训练节点训练获得目标本地参数所使用的数据样本的大小以及目标本地参数对第一全局参数的贡献值,具体可以参见上文各个实施例中的阐述。
验证奖励为向每一轮次中执行共识验证的共识节点对第一本地参数执行共识验证过程的奖励。其中,验证奖励与共识节点贡献的验证能力成正比,共识节点的验证能力是由与其自身以及与其相关联的客户端所存储的有用数据样本的集合决定的。当共识节点正确处理目标本地参数时,它将收到相应的数字资产作为奖励;并且当共识节点不诚实并违反共识协议时,和/或未按时完成对第一本地参数的共识验证,该共识节点的数字资产还将被扣除一定数量作为惩罚。
请参见图8,图8为本申请一种电子设备一实施例中的结构示意图。在当前实施例中,本申请所提供的电子设备800包括处理器801以及与处理器801耦接的存储器802。电子设备800可以执行图2至图7及其对应的任意一个实施例中所述的方法。
其中,存储器802包括本地储存(图未示),且用于存储有计算机程序,计算机程序被执行时可以实现图2至图7及其所对应的任意一个实施例中所述的方法。
处理器801与存储器802耦接,处理器801用于运行计算机程序,以执行如上图2至图7及其对应的任意一个实施例中所述的方法。进一步地,在一些实施例中,电子设备可包括移动终端、车载终端、摄像头、电脑终端、计算机、具备计算存储能力的图像采集设备、服务器等中的任意一种,也可以包括其他任何具有计算处理功能的设备。
参见图9,图9为本申请一种计算机可读存储介质一实施例结构示意图。该计算机可读存储介质900存储有能够被处理器运行的计算机程序901,该计算机程序901用于实现如上图2至图7及其对应的任意一个实施例中所描述的方法。具体地,上述计算机可读存储介质900可以是存储器、个人计算机、服务器、网络设备,或者U盘等其中的一种,具体在此不做任何限定。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (17)
1.一种具有奖惩机制的联邦学习方法,其特征在于,所述方法是由从链中的上传节点执行,所述上传节点为所述从链中用于上传第一本地参数至主链中的主链节点的从链节点,所述从链中的从链节点包括若干训练节点和若干共识节点,所述方法包括:
所述上传节点获取待上传的第一本地参数和待验证的第一本地参数,其中,所述待上传的第一本地参数为通过所述若干共识节点共识验证的第一本地参数,所述待验证的第一本地参数为未经过所述共识验证的第一本地参数;
比较所述待上传的第一本地参数和所述待验证的第一本地参数,获得比较结果,所述比较结果包括所述第一本地参数被篡改或所述第一本地参数未被篡改;
基于所述比较结果,根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币,其中,所述第一训练节点为训练得到所述第一本地参数的所述训练节点。
2.根据权利要求1所述的方法,其特征在于,所述获得比较结果之后,所述方法还包括:
将所述第一本地参数对应的比较结果广播至所述从链中的其他所述从链节点,以利用其他所述从链节点验证所述第一训练节点所对应的比较结果是否为真值;
若超过第一预设比例的所述从链节点验证得到所述第一训练节点所对应的比较结果为真值,则进一步执行所述基于所述比较结果,根据预设处理策略对第一训练节点执行奖励数字代币或扣除数字代币的步骤。
3.根据权利要求2所述的方法,其特征在于,所述根据预设处理策略对所述第一训练节点执行奖励数字代币或扣除数字代币之后,所述方法还包括:
在所述从链中广播对所述第一训练节点的数字代币奖励结果或数字代币扣除结果。
4.根据权利要求1所述的方法,其特征在于,所述比较所述待上传的第一本地参数和所述待验证的第一本地参数,获得比较结果,进一步包括:
分别获取所述待上传的第一本地参数的第一哈希值和所述待验证的第一本地参数的第二哈希值;
判断所述第一哈希值是否等于所述第二哈希值;
若所述第一哈希值不等于所述第二哈希值,则确定所述第一本地参数被篡改;或,若所述第一哈希值等于所述第二哈希值,则确定所述第一本地参数未被篡改。
5.根据权利要求4所述的方法,其特征在于,所述分别获取所述待上传的第一本地参数的第一哈希值和所述待验证的第一本地参数的第二哈希值,进一步包括:
对所述待上传的第一本地参数进行哈希运算获得所述第一哈希值;
自所述第一训练节点或所述从链的分布式账本上获取所述待验证的第一本地参数的第二哈希值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收主链节点下发的对第二训练节点和/或所述共识节点的奖惩指令,并响应于所述奖惩指令执行扣除数字代币或奖励数字代币的操作。
7.根据权利要求1所述的方法,其特征在于,所述第一本地参数是任意一个所述训练节点利用第一训练算法、第一类数据和第一初始参数进行模型训练获得的。
8.一种具有奖惩机制的联邦学习方法,其特征在于,所述方法是由主链中的主链节点执行,所述主链中包括若干所述主链节点,每个所述主链节点能够与从链中的上传节点进行交互,所述方法包括:
主链节点获取第一预设数量的从链节点训练得到的目标本地参数;
对所述第一预设数量的目标本地参数进行聚合,得到第一全局参数;
分别确定每个所述目标本地参数对所述第一全局参数的贡献值;
基于每个所述目标本地参数中对所述第一全局参数的贡献值,分别对各个所述目标本地参数对应的关联从链节点执行奖励数字代币或扣除数字代币,其中,所述目标本地参数对应的关联从链节点包括训练得到所述目标本地参数的训练节点和/或对所述目标本地参数进行共识验证的共识节点。
9.根据权利要求8所述的方法,其特征在于,当所述目标本地参数对应的贡献值为正,则对所述目标本地参数对应的关联从链节点执行奖励数字代币的步骤,其中,奖励数字代币的数量与所述贡献值正相关;
当所述目标本地参数对应的贡献值为负,则对所述目标本地参数对应的关联从链节点执行扣除数字代币的步骤,其中,扣除数字代币的数量与所述贡献值的绝对值正相关。
10.根据权利要求8所述的方法,其特征在于,所述基于每个所述目标本地参数中对所述第一全局参数的贡献值,分别对各个所述目标本地参数对应的关联从链节点执行奖励数字代币或扣除数字代币,进一步包括:
分别根据各个目标本地参数对所述第一全局参数的贡献值,分别确定对各个所述目标本地参数所对应的关联从链节点奖惩类型和目标数量数字代币,所述奖惩类型包括所述奖励数字代币或扣除数字代币;
基于所述目标数量数字代币,生成关于各所述关联从链节点的奖惩指令;
将所述奖惩指令发送至所述从链,以使得所述从链响应于所述奖惩指令,对各个所述关联从链节点执行奖励所述目标数量数字代币或扣除所述目标数量数字代币的步骤。
11.根据权利要求8所述的方法,其特征在于,所述确定每个所述目标本地参数对所述第一全局参数的贡献值,进一步包括:
针对每个所述目标本地参数,将除去所述目标本地参数以外的其他目标本地参数进行聚合得到第二全局参数;
获取分别基于所述第一全局参数和第二全局参数对测试数据测试的准确率,并将所述第一全局参数对应的准确率和第二全局参数对应的准确率之间的差值作为所述目标本地参数的贡献值。
12.根据权利要求9所述的方法,其特征在于,当所述目标本地参数对应的贡献值为正,奖励数字代币的数量还与训练节点的用于训练目标本地参数训练的数据量正相关,与训练所述目标本地参数的时间成本负相关;当所述目标本地参数对应的贡献值为负,扣除数字代币的数量还与训练节点的用于训练目标本地参数训练的数据量和训练所述目标本地参数的时间成本负相关;其中,所述训练所述目标本地参数的时间成本为训练节点自接到训练任务至上传所述目标本地参数之间的时间差值。
13.根据权利要求8至12任意一项所述的方法,其特征在于,所述方法还包括:
求取所述第一预设数量的目标本地参数的贡献值的均值;
将所述第一预设数量的目标本地参数的贡献值的均值确定为第二本地参数的贡献值,并基于所述第二本地参数的贡献值,分别对每个所述第二本地参数关联从链节点执行奖励数字代币或扣除数字代币,其中,所述第二本地参数为所述主链节点所接收到的除所述目标本地参数以外的第一本地参数。
14.一种具有奖惩机制的联邦学习系统,其特征在于,所述系统包括能够进行交互的主链和从链,其中,所述从链中设置有上传节点,所述上传节点为所述从链中用于上传第一本地参数至主链的从链节点,所述从链中的从链节点包括了若干训练节点和若干共识节点;
所述训练节点用于训练获得第一本地参数,所述共识节点用于对所述训练节点训练所得的所述第一本地参数进行共识验证,并将通过所述共识验证的第一本地参数确定为待上传的第一本地参数;
所述上传节点用于获取待上传的第一本地参数和待验证的第一本地参数;并用于比较所述待上传的第一本地参数和所述待验证的第一本地参数,获得比较结果;并基于所述比较结果,根据预设处理策略对所述第一训练节点执行奖励数字代币或扣除数字代币,其中,所述待上传的第一本地参数为经过所述若干共识节点共识验证的第一本地参数,所述待验证的第一本地参数为未经过所述共识验证的第一本地参数;所述比较结果包括所述第一本地参数被篡改或所述第一本地参数未被篡改;所述第一训练节点为训练得到所述第一本地参数的所述训练节点。
15.一种具有奖惩机制的联邦学习系统,其特征在于,所述系统包括能够进行交互的主链和从链,其中,所述从链中包括若干从链节点,所述主链包括若干主链节点,各个所述主链节点能够与至少一个所述从链节点进行交互;
所述主链节点用于获取第一预设数量的从链节点训练得到的目标本地参数,并对所述第一预设数量的目标本地参数进行聚合,得到第一全局参数;
所述主链节点还用于分别确定每个所述目标本地参数对所述第一全局参数的贡献值;并基于每个所述目标本地参数中对所述第一全局参数的贡献值,分别对各个所述目标本地参数对应的关联从链节点执行预设奖惩处理;其中,预设奖惩处理中对数字代币的处理数量,与所述目标本地参数对所述第一全局参数的贡献值正相关;所述目标本地参数对应的关联从链节点包括训练得到所述目标本地参数的训练节点和/或对所述目标本地参数进行共识验证的共识节点。
16.一种电子设备,其特征在于,所述电子设备包括处理器以及与所述处理器耦接的存储器;其中,
所述存储器用于存储计算机程序;
所述处理器用于运行所述计算机程序以执行权利要求1至13任意一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有能够被处理器运行的计算机程序,所述计算机程序用于实现权利要求1至13任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111655095.7A CN114358324A (zh) | 2021-12-30 | 2021-12-30 | 一种具有奖惩机制的联邦学习方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111655095.7A CN114358324A (zh) | 2021-12-30 | 2021-12-30 | 一种具有奖惩机制的联邦学习方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114358324A true CN114358324A (zh) | 2022-04-15 |
Family
ID=81103869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111655095.7A Pending CN114358324A (zh) | 2021-12-30 | 2021-12-30 | 一种具有奖惩机制的联邦学习方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114358324A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660114A (zh) * | 2022-11-11 | 2023-01-31 | 湖北文理学院 | 基于区块链的异步联邦学习架构系统及方法 |
-
2021
- 2021-12-30 CN CN202111655095.7A patent/CN114358324A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115660114A (zh) * | 2022-11-11 | 2023-01-31 | 湖北文理学院 | 基于区块链的异步联邦学习架构系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110580653B (zh) | 一种基于交易的区块链共识机制 | |
CN110610242B (zh) | 一种联邦学习中参与者权重的设置方法及装置 | |
CN107220130B (zh) | 一种在区块链的节点处实现的信息共识方法、装置及系统 | |
CN112784994B (zh) | 基于区块链的联邦学习数据参与方贡献值计算和激励方法 | |
CN110490335A (zh) | 一种计算参与者贡献率的方法及装置 | |
CN108933656B (zh) | 在线作品投票方法及装置、计算机设备、可读存储介质 | |
CN110442457A (zh) | 基于联邦学习的模型训练方法、装置及服务器 | |
CN109543075A (zh) | 区块生成方法和系统 | |
CN114372589A (zh) | 一种联邦学习方法及相关装置 | |
CN110855432B (zh) | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 | |
CN112990987B (zh) | 信息推广方法、装置、电子设备及存储介质 | |
CN110928951A (zh) | 一种基于区块链的数据共享及仲裁方法 | |
CN113268543A (zh) | 一种车联网中基于区块链的安全内容共享管理方法 | |
CN113553377B (zh) | 基于区块链和联邦学习的数据共享方法及装置 | |
CN113347162A (zh) | 一种面向群智服务的区块链节点贡献度证明共识方法 | |
CN111680098A (zh) | 数据采集、数据标注、ai模型训练和验证的区块链系统 | |
CN112765656A (zh) | 基于区块链的电车共享充电可信系统和方法 | |
CN114358324A (zh) | 一种具有奖惩机制的联邦学习方法及相关装置 | |
CN111861661A (zh) | 一种电动汽车充电交易方法及装置 | |
CN112184274A (zh) | 一种在线履约系统和方法 | |
CN111046439B (zh) | 一种基于区块链的智能合约任务可验证方法和系统 | |
CN111832606A (zh) | 基于机器学习竞赛的区块链架构 | |
CN116366669A (zh) | 一种适用于众包系统的基于信誉值分权制衡的共识方法 | |
CN110460471A (zh) | 一种超级节点竞选方法、装置及存储介质 | |
CN114169387A (zh) | 模型训练方法和装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |