CN112949868B - 一种基于区块链的异步联邦学习方法、装置及电子设备 - Google Patents
一种基于区块链的异步联邦学习方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112949868B CN112949868B CN202110132965.6A CN202110132965A CN112949868B CN 112949868 B CN112949868 B CN 112949868B CN 202110132965 A CN202110132965 A CN 202110132965A CN 112949868 B CN112949868 B CN 112949868B
- Authority
- CN
- China
- Prior art keywords
- model
- block chain
- global
- target
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于区块链的异步联邦学习方法、装置及电子设备,方法包括:接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型;接收与至少部分区块链节点中任一区块链节点关联的设备上传的多个第二全局模型,第二全局模型为与区块链节点关联的设备根据第一全局模型以及本地模型进行全局融合得到;按照目标条件,选取目标全局模型,并将目标全局模型作为新的第一全局模型存储至区块链中;重复接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型至按照目标条件,在多个第二全局模型中选取目标全局模型,并将目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至目标全局模型的准确度满足目标准确条件。
Description
技术领域
本发明涉及智能驾驶领域,具体涉及一种基于区块链的异步联邦学习方法、装置及电子设备。
背景技术
随着机器学习技术的快速发展,伴随着机器学习的出现,出现了许多新颖的移动应用,如自动驾驶、销售预测、视觉安全等,给用户带来了良好的服务体验。在机器学习技术显著提高移动应用性能的同时,物联网中使用的传统机器学习技术需要大量设备将包含个人信息的数据放入中央服务器进行模型训练。这导致了计算开销和中央服务器损失的急剧增加。同时,集中化用户数据的需要引起了人们对隐私和信息滥用的关注。为了应对这些挑战,联邦学习被引入作为一种新的特殊的分布式机器学习方法。联邦学习以一种分散的方式协同训练一个全局模型。移动设备只是迭代地训练本地模型,然后上传自己的本地训练模型,并将本地模型发送到中央服务器进行汇总。因为没有用户原始训练数据的传输,联邦学习成功地保护了用户的隐私,并将数据采集、训练和存储模型的机器学习过程解耦。
相关技术中,为了保证联邦学习过程中防篡改的能力,一般将联邦学习与区块链结合,然而,传统的联邦学习为同步联邦学习,同步联邦学习中训练速度快的设备需要等待最慢的设备训练完成才能上传本地模型,也就是说,每一轮训练只能以最慢设备的训练速度进行训练,使得联邦学习设备无法在本地更新完成后及时上传本地模型,导致联邦学习效率低下。
发明内容
有鉴于此,本发明实施例提供了一种基于区块链的异步联邦学习方法、装置及电子设备,以解决现有技术中联邦学习效率低下的缺陷。
根据第一方面,本发明实施例提供一种基于区块链的异步联邦学习方法,应用于区块链,包括如下步骤:接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,所述本地模型为与所述目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型进行本地训练得到;接收与所述至少部分区块链节点中任一区块链节点关联的设备上传的多个第二全局模型,所述第二全局模型为与所述至少部分区块链节点关联的设备根据区块链中的第一全局模型以及所述本地模型进行全局融合得到;按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中;重复所述接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型至所述按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至所述目标全局模型的准确度满足目标准确条件。
可选地,所述接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,包括:将所述本地模型在区块链中进行广播并对上传所述本地模型的与所述目标区块链节点关联的设备身份进行验证;当通过验证时,将所述本地模型存储至区块链。
可选地,还包括:接收并存储与所述目标区块链节点关联的设备的评估结果,所述评估结果表征所述设备的可信程度。
可选地,还包括:判断预设间隔时间内,是否存在区块分叉;当存在区块分叉,则重复所述将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至不存在区块分叉。
根据第二方面,本发明实施例提供一种基于区块链的异步联邦学习方法,应用于与任一区块链节点关联的设备,包括如下步骤:从区块链中获取第一全局模型以及本地模型,所述本地模型为根据本地样本对区块链上存储的第一全局模型进行本地训练的设备上传得到;对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型;将所述第二全局模型上传至区块链中。
可选地,还包括:根据本地样本对区块链上存储的第一全局模型进行本地训练,得到本地模型;将所述本地模型上传至所述区块链。
可选地,对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型,包括:从区块链中获取上传所述本地模型的设备的评估结果;根据所述评估结果,对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型。
可选地,还包括:根据预设指标,对所述区块链中与任一区块链节点关联的设备进行评估,得到设备的评估结果。
可选地,通过以下公式得到设备的评估结果:
其中,Sj为设备j的评估结果,n为预设指标个数,为第j个设备的第k个指标的标准化分数,当第k个指标为正向指标时,当k个指标为负向指标时, 为第j台设备的第k个指标数值,wk为第k个指标的熵权,ek为第k个指标的信息熵,为第j个设备的第k个指标权重比例,Nd为总设备台数,
根据第三方面,本发明实施例提供一种基于区块链的异步联邦学习装置,应用于区块链,所述区块链中的至少部分区块链节点与进行本地模型训练的设备连接,包括:第一数据接收模块,用于接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,所述本地模型为与所述目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型进行本地训练得到;第二数据接收模块,用于接收与所述至少部分区块链节点中任一区块链节点关联的设备上传的多个第二全局模型,所述第二全局模型为与所述至少部分区块链节点关联的设备根据区块链中的第一全局模型以及所述本地模型进行全局融合得到;第一全局模型存储模块,用于按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中;重复模块,用于重复所述接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型至所述按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至所述目标全局模型的准确度满足目标准确条件。
根据第四方面,本发明实施例提供一种基于区块链的异步联邦学习装置,应用于与任一区块链节点关联的设备,包括:本地模型获取模块,用于从区块链中获取第一全局模型以及本地模型,所述本地模型为根据本地样本对区块链上存储的第一全局模型进行本地训练的设备上传得到;第二全局模型确定模块,用于对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型;上传模块,用于将所述第二全局模型上传至区块链中。
根据第五方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面或第一方面任一实施方式或,第二方面或第二方面任一实施方式所述的基于区块链的异步联邦学习方法的步骤。
根据第六方面,本发明实施例提供一种存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面或第一方面任一实施方式或,第二方面或第二方面任一实施方式所述的基于区块链的异步联邦学习方法的步骤。
本发明技术方案,具有如下优点:
1.本发明提供的基于区块链的异步联邦学习方法,应用于区块链,当区块链中任一与目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型完成本地训练,得到本地模型,区块链会接收并存储该本地模型,并接收设备的第二全局模型,完成对全局模型的更新,重复执行更新过程直至完成联邦学习,也就是说,当任意一个与目标区块链节点关联的设备完成本地训练,都可以及时将本地模型传入区块链,区块链可以基于任意一个设备上传的本地模型对全局模型进行更新,并不需要等到所有设备都完成本地训练才对模型进行更新,从而提高了联邦学习效率。
2.本实施例提供的基于区块链的异步联邦学习方法,应用于区块链中任一与区块链节点关联的设备,当任意一个与目标区块链节点关联的设备完成本地训练,都可以及时将本地模型传入区块链,并不需要等到所有设备都完成本地训练才上本地模型,以使得区块链对全局模型进行更新,从而提高了联邦学习效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于区块链的异步联邦学习方法的一个具体示例的流程图;
图2为本发明实施例中基于区块链的异步联邦学习方法的一个具体示例的流程图;
图3为本发明实施例中基于区块链的异步联邦学习装置的一个具体示例原理框图;
图4为本发明实施例中基于区块链的异步联邦学习装置的一个具体示例原理框图;
图5为本发明实施例中电子设备的一个具体示例的原理框图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本实施例提供一种基于区块链的异步联邦学习方法,应用于区块链,如图1所示,包括如下步骤:
S101,接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,本地模型为与目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型进行本地训练得到。
示例性地,至少部分区块链节点表征在区块链中参与联邦学习的区块链节点数量可以是部分,也可以是所有区块链节点。目标区块链节点可以是任意一个参与联邦学习,并上传本地模型的区块链节点。在本实施例中区块链节点可以是服务器设备和/或终端设备,区块链上存储的第一全局模型可以是初始待训练模型,也可以是经过上一轮融合后得到的模型。当区块链接收到任一目标区块链节点上传的本地模型时,会根据共识机制,产生新区块,并将该本地模型存储在该新区块中。
S102,接收与至少部分区块链节点中任一区块链节点关联的设备上传的多个第二全局模型,第二全局模型为与至少部分区块链节点关联的设备根据区块链中的第一全局模型以及本地模型进行全局融合得到。
示例性地,第二全局模型可以是至少部分区块链节点下载区块链中存储的第一全局模型以及本地模型,并对其进行融合得到,融合的方式可以是按照与每个区块链节点关联的设备预先设定的固定比例融合,这些设备的固定比例可以预先存储在区块链中,当需要对模型进行融合时,与每个区块链节点关联的设备下载该固定比例即可,也可以预先存储在各个区块链节点关联的设备中。具体的融合过程可以是:ωl=(1-α)ωl-1+αωNEW,其中,α为上传本地模型的与目标区块链节点关联的设备预先设定的固定比例,ωl-1为第一全局模型,ωNEW为本地模型,ωl为第二全局模型。本实施例对融合第二全局模型的方式不做限定,本实施例不做限定,本领域技术人员可以根据需要确定。区块链可以接收到多个区块链节点上传的第二全局模型,接收到的每一个第二全局模型在区块链上都会进行广播,以供区块链节点之间进行相互验证。
S103,按照目标条件,在多个第二全局模型中选取目标全局模型,并将目标全局模型作为新的第一全局模型存储至区块链中。
示例性地,目标条件可以是选取多个第二全局模型中一致性最高的第二全局模型,作为目标全局模型。区块链接收到所有进行联邦学习的区块链节点关联的设备上传的第二全局模型,并在整个网络上广播,所有区块链节点之间将比较收到的第二全局模型之间的一致性,并使用数量最多的第二全局模型选取为目标全局模型,并根据目标共识机制,将目标全局模型存储在区块链中,以供下一轮进行全局模型更新时作为新的第一全局模型,其中,目标共识机制可以是POW共识机制,本实施例对目标共识机制不做限定,本领域技术人员可以根据需要确定。其余的第二全局模型被视为有缺陷的模型,计算出有缺陷全局模型的设备被记录为恶意的全局模型更新设备。这个过程利用了区块链的不可篡改性和分散性,保证了全局模型不会被恶意修改和攻击,从而提高了系统的安全性。
S104,重复接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型至按照目标条件,在多个第二全局模型中选取目标全局模型,并将目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至目标全局模型的准确度满足目标准确条件。
示例性地,目标准确条件可以是全局模型的准确度达到95%及以上。每一轮进行全局模型更新,都会得到更新的目标全局模型,对目标全局模型的准确度进行判断,当准确度满足目标准确条件,则表明该目标全局模型为联邦学习最终得到的模型。
本实施例提供的基于区块链的异步联邦学习方法,当区块链中任一目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型完成本地训练,得到本地模型,区块链会接收并存储该本地模型,并接收设备的第二全局模型,完成对全局模型的更新,重复执行更新过程直至完成联邦学习,也就是说,当任意一个目标区块链节点关联的设备完成本地训练,都可以及时将本地模型传入区块链,区块链可以基于任意一个设备上传的本地模型对全局模型进行更新,并不需要等到所有设备都完成本地训练才对模型进行更新,从而提高了联邦学习效率。
作为本实施例一种可选的实施方式,接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,包括:将本地模型在区块链中进行广播并对上传本地模型的与目标区块链节点关联的设备身份进行验证;当通过验证时,将本地模型存储至区块链。
示例性地,当接收到至少部分区块链节点中的任一目标区块链节点上传的本地模型,该本地模型会在区块链中进行广播,使得参与联邦学习的区块链节点都能对上传本地模型的目标区块链节点进行身份验证,进行身份验证的方式可以是对加密的本地模型进行解密,加密的本地模型为与目标区块链节点关联的设备根据自身的私钥,对本地模型进行加密得到,对加密的本地模型进行解密的方式可以是用区块链中存储的该设备的公钥对其解密,如果公钥不能对其解密,则表示该设备身份验证不通过,如果公钥能对其进行解密,则表示该设备身份验证通过。本实施例对身份验证方式不做限定,本领域技术人员根据需要确定。当通过验证时,通过共识机制将本地模型存储至区块链,以供区块链中与参与联邦学习的区块链节点关联的设备进行本地模型获取。
本实施例提供的基于区块链的异步联邦学习方法,在将本地模型写入区块链时,需要验证设备的身份信息,保证了上传的本地模型的安全,从而提高了联邦学习的安全性。
作为本实施例一种可选的实施方式,还包括:接收并存储与目标区块链节点关联的设备的评估结果,所述评估结果表征所述设备的可信程度。区块链上存储与目标区块链节点关联的设备的评估结果,以供与其他区块链节点关联的设备获取与目标区块链节点关联的设备的评估结果,以便于与其他区块链节点关联的设备根据评估结果对与目标区块链节点关联的设备上传的本地模型进行融合。
作为本实施例一种可选的实施方式,还包括:
判断预设间隔时间内,是否存在区块分叉;当存在区块分叉,则重复将目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至不存在区块分叉。
示例性地,在PoW的共识机制进行共识时,每一个与区块链节点关联设备都会寻找指定的nonce值,率先找到的区块链节点将会获得生成新区块的机会。任一区块链节点率先找到nonce值,广播给其他的区块链节点,当区块链系统中的多个区块链节点同时发现一个nonce时,就会发生分叉。为了避免分叉,一旦每个与区块链节点关联的设备接收到新的块,就会发送一个确认信号,其中包括是否出现分叉。区块链节点在生成一个新的块后会等待,直到预定义的最大块确认信号等待时间。当发生分叉,则重复将目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至不存在区块分叉。
本发明实施例提供一种基于区块链的异步联邦学习方法,如图2所示,应用于与任一区块链节点关联的设备,包括如下步骤:
S201,从区块链中获取第一全局模型以及本地模型,本地模型为根据本地样本对区块链上存储的第一全局模型进行本地训练的设备上传得到;
示例性地,第一全局模型可以是存储在区块链中的初始待训练模型,也可以是经过上一轮融合后得到的模型。当区块链中参与联邦学习的任一区块链节点关联的设备根据本地样本对第一全局模型进行本地训练得到本地模型时,则将本地模型上传至区块链,以供区块链存储。从区块链中获取第一全局模型以及本地模型的方式可以是从区块链中下载第一全局模型以及本地模型。
S202,对第一全局模型以及本地模型进行全局融合,得到第二全局模型;
示例性地,对第一全局模型以及本地模型进行全局融合,得到第二全局模型的方式可以是按照与每个区块链节点关联的设备预先设定的固定比例融合,这些设备的固定比例可以预先存储在区块链中,当需要对模型进行融合时,与每个区块链节点关联的设备下载该固定比例即可,也可以预先存储在与各个区块链节点关联的设备中。具体的融合过程可以是:ωl=(1-α)ωl-1+αωNEW,其中,α为上传本地模型的与目标区块链节点关联的设备预先设定的固定比例,ωl-1为第一全局模型,ωNEW为本地模型,ωl为第二全局模型。本实施例对融合第二全局模型的方式不做限定,本实施例不做限定,本领域技术人员可以根据需要确定。
S203,将第二全局模型上传至区块链中。
本实施例提供的基于区块链的异步联邦学习方法,当任意一个与目标区块链节点关联的设备完成本地训练,都可以及时将本地模型传入区块链,并不需要等到所有设备都完成本地训练才上本地模型,以使得区块链对全局模型进行更新,从而提高了联邦学习效率。
作为本实施例一种可选的实施方式,还包括:根据本地样本对区块链上存储的第一全局模型进行本地训练,得到本地模型;将本地模型上传至区块链。
示例性地,在本实施例中任意一个与区块链节点关联的设备都能够根据本地样本对第一全局模型进行本地训练,得到本地模型,将本地模型上传至区块链以供其他与区块链节点关联的设备下载该本地模型进行全局融合。根据本地样本对区块链上存储的第一全局模型进行本地训练,得到本地模型的方式可以是:设备Di有本地样本集Si,其中,每个本地样本si可以表示为si={xk,yk},xk是一个高维向量,yk是一个标量值。本地训练的目标是最小化损失函数f(ωi,Si),其中ωi是设备Di的本地模型,Si是它的本地样本集。设备Di使用它的本地样本集Si和接收到的第一全局模型ω来训练本地模型。那么第I次全局迭代和第h次本地迭代的本地模型可以表示为:
作为本实施例一种可选的实施方式,对第一全局模型以及本地模型进行全局融合,得到第二全局模型,包括:从区块链中获取上传本地模型的设备的评估结果;根据评估结果,对第一全局模型以及所述本地模型进行全局融合,得到第二全局模型。
示例性地,上传本地模型的设备的评估结果可以是该设备根据自身安全情况、历史数据等等,进行评估,并将评估结果上传至区块链,以供区块链存储。其评估结果可以在上传本地模型时,与本地模型打包,一起上传至区块链。当与区块链节点关联的设备需要对本地模型和第一全局模型进行全局融合时,则可以下载区块链中存储的上传本地模型的设备的评估结果、本地模型以及第一全局模型。
根据评估结果,对第一全局模型以及所述本地模型进行全局融合,得到第二全局模型的方式可以是执行以下公式:
ωl=(1-β)ωl-1+βωNEW,
其中,β=εPi,ε为自定义常数,Pi为上传本地模型的设备i的评估结果,ωl-1为第一全局模型,ωNEW为本地模型,ωl为第二全局模型。
本实施例提供的基于区块链的异步联邦学习方法,在对第一全局模型以及本地模型进行全局融合时,按照上传本地模型的设备的评估结果对其进行更新,考虑了设备本身的可信度和安全性,设备本身的可信度和安全性以评估结果进行体现,防止恶意设备发起的中毒攻击,当评估结果低,那么按照该本地模型进行更新的比例相应低,从而降低了风险设备对全局融合的影响。
作为本实施例一种可选的实施方式,还包括:
根据预设指标,对区块链中与任一区块链节点关联的设备进行评估,得到设备的评估结果。
示例性地,预设指标可以是本地样本集的大小、本地模型与全局模型的相关性、全局模型计算中的作弊次数、历史得分等等,本实施例对预设指标不做限定,本领域技术人员根据需要确定。根据预设指标,对对区块链中任一区块链节点关联的设备进行评估,得到设备的评估结果的方式可以是根据预设指标,对设备进行人工打分,并根据每项指标的权重,得到评估结果,还可以是根据预设指标,结合层次分析法,得到设备的评估结果。
作为本实施例一种可选的实施方式,根据预设指标,通过以下公式得到设备的评估结果:
其中,Sj为设备j的评估结果,n为预设指标个数,为第j个设备的第k个指标的标准化分数,当第k个指标为正向指标时,当k个指标为负向指标时, 为第j台设备的第k个指标数值,wk为第k个指标的熵权,ek为第k个指标的信息熵,为第j个设备的第k个指标权重比例,Nd为总设备台数,
本实施例提供的基于区块链的异步联邦学习方法,通过熵权法对设备进行评估,相比于层次分析法等,熵权法不需要人为参与评价,更具有客观性,能够更好的对结果进行解释,其利用的是信息之间的变异性(也就是差异性)来进行赋权的。即变化性越大的指标所占比重越大,仿真实验证明用熵权法进行评估能提高联邦学习的正确率。
本实施例提供一种基于区块链的异步联邦学习装置,如图3所示,应用于区块链,包括:
第一数据接收模块301,用于接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,所述本地模型为与所述目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型进行本地训练得到;具体内容参见上述实施例对应部分,在此不再赘述。
第二数据接收模块302,用于接收与所述至少部分区块链节点中任一区块链节点关联的设备上传的多个第二全局模型,所述第二全局模型为与所述至少部分区块链节点关联的设备根据区块链中的第一全局模型以及所述本地模型进行全局融合得到;具体内容参见上述实施例对应部分,在此不再赘述。
第一全局模型存储模块303,用于按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中;具体内容参见上述实施例对应部分,在此不再赘述。
重复模块304,用于重复所述接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型至所按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至所述目标全局模型的准确度满足目标准确条件。具体内容参见上述实施例对应部分,在此不再赘述。
本发明提供的基于区块链的异步联邦学习装置,当区块链中与任一目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型完成本地训练,得到本地模型,区块链会接收并存储该本地模型,并接收设备的第二全局模型,完成对全局模型的更新,重复执行更新过程直至完成联邦学习,也就是说,当任意一个与目标区块链节点关联的设备完成本地训练,都可以及时将本地模型传入区块链,区块链可以基于任意一个设备上传的本地模型对全局模型进行更新,并不需要等到所有设备都完成本地训练才对模型进行更新,从而提高了联邦学习效率。
作为本实施例一种可选的实施方式,还包括:
广播模块,用于将所述本地模型在区块链中进行广播并对上传所述本地模型的所述目标区块链节点关联的设备身份进行验证;具体内容参见上述实施例对应部分,在此不再赘述。
存储模块,用于当通过验证时,将所述本地模型存储至区块链。具体内容参见上述实施例对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,还包括:评估结果接收模块,用于接收并存储与所述目标区块链节点关联的设备的评估结果,所述评估结果表征所述设备的可信程度。具体内容参见上述实施例对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,还包括:
分叉判断模块,用于判断预设间隔时间内,是否存在区块分叉;具体内容参见上述实施例对应部分,在此不再赘述。
分叉重复模块,用于当存在区块分叉,则重复所述将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至不存在区块分叉。具体内容参见上述实施例对应部分,在此不再赘述。
本实施例提供一种基于区块链的异步联邦学习装置,如图4所示,应用于与任一区块链节点关联的设备,包括:
本地模型获取模块401,用于从区块链中获取第一全局模型以及本地模型,所述本地模型为根据本地样本对区块链上存储的第一全局模型进行本地训练的设备上传得到;具体内容参见上述实施例对应部分,在此不再赘述。
第二全局模型确定模块402,用于对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型;具体内容参见上述实施例对应部分,在此不再赘述。
上传模块403,用于将所述第二全局模型上传至区块链中。具体内容参见上述实施例对应部分,在此不再赘述。
本实施例提供的基于区块链的异步联邦学习装置,当任意一个目标区块链节点关联的设备完成本地训练,都可以及时将本地模型传入区块链,并不需要等到所有设备都完成本地训练才上本地模型,以使得区块链对全局模型进行更新,从而提高了联邦学习效率。
作为本实施例一种可选的实施方式,还包括:
本地训练模块,用于根据本地样本对区块链上存储的第一全局模型进行本地训练,得到本地模型;具体内容参见上述实施例对应部分,在此不再赘述。
本地上传模块,用于将所述本地模型上传至所述区块链。具体内容参见上述实施例对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,第二全局模型确定模块402,包括:
评估结果获取模块,用于从区块链中获取上传所述本地模型的设备的评估结果;具体内容参见上述实施例对应部分,在此不再赘述。
第二全局模型确定子模块,用于根据所述评估结果,对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型。具体内容参见上述实施例对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,还包括:
评估结果确定模块,用于根据预设指标,对与所述区块链中任一区块链节点关联的设备进行评估,得到设备的评估结果。具体内容参见上述实施例对应部分,在此不再赘述。
作为本实施例一种可选的实施方式,评估结果确定模块,包括评估计算模块,用于通过以下公式得到设备的评估结果:
其中,Sj为设备j的评估结果,n为预设指标个数,为第j个设备的第k个指标的标准化分数,当第k个指标为正向指标时,当k个指标为负向指标时, 为第j台设备的第k个指标数值,wk为第k个指标的熵权,ek为第k个指标的信息熵,为第j个设备的第k个指标权重比例,Nd为总设备台数,具体内容参见上述实施例对应部分,在此不再赘述。
本申请实施例还提供一种电子设备,如图5所示,处理器510和存储器520,其中处理器510和存储器520可以通过总线或者其他方式连接。
处理器510可以为中央处理器(Central Processing Unit,CPU)。处理器510还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器520作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的基于区块链的异步联邦学习方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器520可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器520中,当被所述处理器510执行时,执行如图1所示实施例中的基于区块链的异步联邦学习方法。
上述电子设备的具体细节可以对应参阅图1或2所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中基于区块链的异步联邦学习方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (13)
1.一种基于区块链的异步联邦学习方法,其特征在于,应用于区块链,包括如下步骤:
接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,所述本地模型为与所述目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型进行本地训练得到;
接收与所述至少部分区块链节点中任一区块链节点关联的设备上传的多个第二全局模型,所述第二全局模型为与所述至少部分区块链节点关联的设备根据区块链中的第一全局模型以及所述本地模型进行全局融合得到;
按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中;
重复所述接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型至所述按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至所述目标全局模型的准确度满足目标准确条件。
2.根据权利要求1所述的方法,其特征在于,所述接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,包括:
将所述本地模型在区块链中进行广播并对上传所述本地模型的与所述目标区块链节点关联的设备身份进行验证;
当通过验证时,将所述本地模型存储至区块链。
3.根据权利要求1所述的方法,其特征在于,还包括:接收并存储与所述目标区块链节点关联的设备的评估结果,所述评估结果表征所述设备的可信程度。
4.根据权利要求1所述的方法,其特征在于,还包括:
判断预设间隔时间内,是否存在区块分叉;
当存在区块分叉,则重复所述将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至不存在区块分叉。
5.一种基于区块链的异步联邦学习方法,其特征在于,应用于与任一区块链节点关联的设备,包括如下步骤:
从区块链中获取第一全局模型以及本地模型,所述本地模型为根据本地样本对区块链上存储的第一全局模型进行本地训练的设备上传得到;
对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型;
将所述第二全局模型上传至区块链中,使得所述区块链按照目标条件,在所述第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型进行存储;
当任意一个与目标区块链节点关联的设备完成本地训练,将本地模型传入区块链,重复所述从区块链中获取第一全局模型以及本地模型的步骤到所述将所述第二全局模型上传至区块链中的步骤,使得所述区块链在第二全局模型中选取的目标全局模型的准确度满足目标准确条件。
6.根据权利要求5所述的方法,其特征在于,还包括:
根据本地样本对区块链上存储的第一全局模型进行本地训练,得到本地模型;
将所述本地模型上传至所述区块链。
7.根据权利要求5所述的方法,其特征在于,对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型,包括:
从区块链中获取上传所述本地模型的设备的评估结果;
根据所述评估结果,对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型。
8.根据权利要求7所述的方法,其特征在于,还包括:
根据预设指标,对所述区块链中与任一区块链节点关联的设备进行评估,得到设备的评估结果。
10.一种基于区块链的异步联邦学习装置,其特征在于,应用于区块链,包括:
第一数据接收模块,用于接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型,所述本地模型为与所述目标区块链节点关联的设备根据本地样本对区块链上存储的第一全局模型进行本地训练得到;
第二数据接收模块,用于接收与所述至少部分区块链节点中任一区块链节点关联的设备上传的多个第二全局模型,所述第二全局模型为与所述至少部分区块链节点关联的设备根据区块链中的第一全局模型以及所述本地模型进行全局融合得到;
第一全局模型存储模块,用于按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中;
重复模块,用于重复所述接收并存储至少部分区块链节点中的任一目标区块链节点上传的本地模型至所述按照目标条件,在所述多个第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型存储至区块链中的步骤,直至所述目标全局模型的准确度满足目标准确条件。
11.一种基于区块链的异步联邦学习装置,其特征在于,应用于与任一区块链节点关联的设备,包括:
本地模型获取模块,用于从区块链中获取第一全局模型以及本地模型,所述本地模型为根据本地样本对区块链上存储的第一全局模型进行本地训练的设备上传得到;
第二全局模型确定模块,用于对所述第一全局模型以及所述本地模型进行全局融合,得到第二全局模型;
上传模块,用于将所述第二全局模型上传至区块链中,使得所述区块链按照目标条件,在所述第二全局模型中选取目标全局模型,并将所述目标全局模型作为新的第一全局模型进行存储;
重复模块,用于当任意一个与目标区块链节点关联的设备完成本地训练,将本地模型传入区块链,重复所述从区块链中获取第一全局模型以及本地模型的步骤到所述将所述第二全局模型上传至区块链中的步骤,使得所述区块链在第二全局模型中选取的目标全局模型的准确度满足目标准确条件。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-9任一所述的基于区块链的异步联邦学习方法的步骤。
13.一种存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-9任一所述的基于区块链的异步联邦学习方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132965.6A CN112949868B (zh) | 2021-01-29 | 2021-01-29 | 一种基于区块链的异步联邦学习方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110132965.6A CN112949868B (zh) | 2021-01-29 | 2021-01-29 | 一种基于区块链的异步联邦学习方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112949868A CN112949868A (zh) | 2021-06-11 |
CN112949868B true CN112949868B (zh) | 2022-12-27 |
Family
ID=76240174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110132965.6A Active CN112949868B (zh) | 2021-01-29 | 2021-01-29 | 一种基于区块链的异步联邦学习方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112949868B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239635A (zh) * | 2021-06-16 | 2021-08-10 | 中国银行股份有限公司 | 一种模型评价方法及装置 |
CN113612598B (zh) * | 2021-08-02 | 2024-02-23 | 北京邮电大学 | 基于秘密共享和联邦学习的车联网数据共享系统及方法 |
CN114297722B (zh) * | 2022-03-09 | 2022-07-05 | 广东工业大学 | 一种基于区块链的隐私保护异步联邦共享方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200141835A (ko) * | 2019-06-11 | 2020-12-21 | 한국전자통신연구원 | 머신 러닝 모델 페더레이션 장치 및 방법 |
CN111611610B (zh) * | 2020-04-12 | 2023-05-30 | 西安电子科技大学 | 联邦学习信息处理方法、系统、存储介质、程序、终端 |
CN111708640A (zh) * | 2020-06-23 | 2020-09-25 | 苏州联电能源发展有限公司 | 一种面向边缘计算的联邦学习方法和系统 |
CN111966698B (zh) * | 2020-07-03 | 2023-06-13 | 华南师范大学 | 一种基于区块链的可信联邦学习方法、系统、装置及介质 |
CN111950739A (zh) * | 2020-08-13 | 2020-11-17 | 深圳前海微众银行股份有限公司 | 基于区块链的数据处理方法、装置、设备及介质 |
-
2021
- 2021-01-29 CN CN202110132965.6A patent/CN112949868B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112949868A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112949868B (zh) | 一种基于区块链的异步联邦学习方法、装置及电子设备 | |
CN110189192B (zh) | 一种信息推荐模型的生成方法及装置 | |
CN112765677B (zh) | 一种基于区块链的联邦学习方法、装置和系统 | |
CN110990871B (zh) | 基于人工智能的机器学习模型训练方法、预测方法及装置 | |
CN111814985A (zh) | 联邦学习网络下的模型训练方法及其相关设备 | |
CN111901309B (zh) | 一种数据安全共享方法、系统及装置 | |
CN111784001B (zh) | 一种模型训练方法、设备及计算机可读存储介质 | |
CN110874571B (zh) | 人脸识别模型的训练方法及装置 | |
CN109542883A (zh) | 一种基于区块链的信息查重方法 | |
CN114580658A (zh) | 基于区块链的联邦学习激励方法、装置、设备和介质 | |
CN112055023A (zh) | 基于预言机的访问请求处理方法、装置、设备和介质 | |
CN107105199A (zh) | 基于物联网技术的智能家居看护方法及系统 | |
US20200329023A1 (en) | Conducting secure interactions utilizing reliability information | |
CN115499379B (zh) | 一种基于区块链的信息交互方法、装置、设备及介质 | |
CN107634989A (zh) | 一种云钱包构建方法及服务器 | |
CN111368984B (zh) | 用于联盟学习的方法、装置及联盟学习系统 | |
CN110855802B (zh) | 职教诊改系统的数据分片分发存储方法、装置及服务器 | |
CN105681107A (zh) | 一种无线路由器管理方法及系统 | |
KR101736007B1 (ko) | 소유자의 익명성을 보장하면서 차량용 카메라 영상 데이터의 시간과 위치를 검증하는 방법 및 장치 | |
CN111769945B (zh) | 基于区块链的拍卖处理方法和区块链节点 | |
CN111192054B (zh) | 一种多区块链联动方法、装置及存储介质 | |
CN112702159B (zh) | 一种基于区块链的线上专家评分方法和系统 | |
CN114707663A (zh) | 分布式机器学习方法、装置、电子设备及存储介质 | |
CN114329418A (zh) | 设备认证的方法及装置 | |
CN112422534A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |