CN114372581A - 基于区块链的联邦学习方法、装置和计算机设备 - Google Patents
基于区块链的联邦学习方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN114372581A CN114372581A CN202210181449.7A CN202210181449A CN114372581A CN 114372581 A CN114372581 A CN 114372581A CN 202210181449 A CN202210181449 A CN 202210181449A CN 114372581 A CN114372581 A CN 114372581A
- Authority
- CN
- China
- Prior art keywords
- gradient
- local
- edge terminal
- edge
- aggregation
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000002776 aggregation Effects 0.000 claims abstract description 74
- 238000004220 aggregation Methods 0.000 claims abstract description 74
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 27
- 238000012549 training Methods 0.000 claims description 29
- 238000011156 evaluation Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000006116 polymerization reaction Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 10
- 230000000875 corresponding effect Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 9
- 239000004744 fabric Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000004927 fusion Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于区块链的联邦学习方法、装置和计算机设备。所述方法包括:通过分布式账本平台,建立联邦学习区块链网络,通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据状态数据库中的本地梯度,生成关于本地梯度的交易,并写入新的区块;接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;采用随机梯度算法进行本地模型更新和全局模型更新。采用本方法能够提高联邦学习数据的安全性和效率。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于区块链的联邦学习方法、装置和计算机设备。
背景技术
工业物联网(IIoT)模式下互联设备的快速发展,大量部署在传统数据中心、云内的基础设施(存储、计算、通信等)将被推出中心,重新部署在边缘和终端设备上,导致边缘网络产生的数据量迅速增加,通过对边缘网络数据的分析、挖掘与共享,能够促进属于不同利益主体的异构智能设备之间开展积极有效的融合与协作,为提高新兴边缘应用程序的服务质量开辟了新的可能性。
近年来,边缘智能通过结合AI算法和边缘计算对网络终端数据共享与融合进行了大量的研究。如深度强化学习被用于边缘计算的资源优化。但是,对于用户数据高效协同利用、数据安全与隐私等问题不断关注加剧了对新技术和先进解决方案的需求。所述模式中,数据是新兴边缘应用形成精准决策认知,提高服务质量的基础,也是边缘终端自组织融合协作的关键。基于数据的精准决策、高效利用可以转换为依赖于正确高效的算法模型,但更依赖大规模的训练数据。而广域、分散的环境导致各边缘和终端的本地数据规模不足以支撑训练可靠、精准的智能决策模型;数据集中传输至云端的方法风险高,传输不稳定,容易造成数据拥塞。同时技术上的可行性与数据隐私保密性、权属明确性之间的分歧正在加大,尤其是在敏感复杂的环境中尤为突出。
区块链作为一种新范式,可以通过为非信任实体之间维护分布式账本的方式提供一种在不可信环境下解决安全问题的方案。区块链结合AI算法对于分布式数据共享融合提供了一种有前景的技术,但是传统AI算法通过将数据收集集中在中心服务器上训练,不但会泄露用户隐私,还会增加区块链的负荷。
发明内容
基于此,有必要针对上述技术问题,提供一种基于区块链的联邦学习方法、装置和计算机设备。
一种基于区块链的联邦学习方法,所述方法包括:
通过分布式账本平台,建立联邦学习区块链网络;所述联邦学习区块链网络中每个边缘终端对应区块链节点,所述边缘终端中存储本地模型和本地数据库,所述边缘终端根据所述本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库;
通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据所述状态数据库中的本地梯度,生成关于所述本地梯度的交易,并写入新的区块;
接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;
采用随机梯度算法进行本地模型更新和全局模型更新。
在其中一个实施例中,还包括:根据本轮迭代的所述聚合梯度,确定边缘终端的梯度熵值,以及根据所述梯度熵值确定各个边缘终端的本地梯度的选择概率,根据所述选择概率获取新的区块中的本地梯度。
在其中一个实施例中,还包括:根据本轮迭代的所述聚合梯度,确定边缘终端的梯度熵值为:
其中,Ei,t(g(Wi,t))表示梯度熵值,p(wi)是根据所述本地梯度与所述聚合梯度的比值得到的,g(Wi,t)表示本地梯度,wi本地模型参数。
在其中一个实施例中,还包括:根据所述梯度熵值确定贡献评估值,根据所述贡献评估值确定各个边缘终端的本地梯度的选择概率;所述贡献评估值为:
其中,其中,St表示进行梯度聚合的边缘终端的数量,Ci,t表示贡献评估值。
在其中一个实施例中,还包括:确定联邦学习区块链网络可用的边缘终端和不可用的边缘终端;
可用的边缘终端采用随机梯度算法进行全局模型更新;
不可用的边缘终端在恢复通讯后通过智能合约在区块链上查找并接收最新的全局模型,并且根据最新的全局模型更新本地模型。
在其中一个实施例中,还包括:可用的边缘终端采用随机梯度算法进行全局模型更新为:
不可用的边缘终端在恢复通讯后通过智能合约在区块链上查找并接收最新的全局模型,并且根据最新的全局模型更新本地模型为:
其中,Wi,old表示第i个边缘终端的本地最近一个的模型参数,Wnew表示边缘终端在恢复通讯后接收最新的聚合结果,αi(t)表示权重系数。
一种基于区块链的联邦学习装置,所述装置包括:
网络模块,用于通过分布式账本平台,建立联邦学习区块链网络;所述联邦学习区块链网络中每个边缘终端对应区块链节点,所述边缘终端中存储本地模型和本地数据库,所述边缘终端根据所述本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库;
梯度生成模块,用于通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据所述状态数据库中的本地梯度,生成关于所述本地梯度的交易,并写入新的区块;
梯度聚合模块,用于接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;
全局更新模块,用于采用随机梯度算法进行本地模型更新和全局模型更新。
在其中一个实施例中,所述网络模块还用于根据本轮迭代的所述聚合梯度,确定边缘终端的梯度熵值,以及根据所述梯度熵值确定各个边缘终端的本地梯度的选择概率,根据所述选择概率获取新的区块中的本地梯度。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
通过分布式账本平台,建立联邦学习区块链网络;所述联邦学习区块链网络中每个边缘终端对应区块链节点,所述边缘终端中存储本地模型和本地数据库,所述边缘终端根据所述本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库;
通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据所述状态数据库中的本地梯度,生成关于所述本地梯度的交易,并写入新的区块;
接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;
采用随机梯度算法进行本地模型更新和全局模型更新。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
通过分布式账本平台,建立联邦学习区块链网络;所述联邦学习区块链网络中每个边缘终端对应区块链节点,所述边缘终端中存储本地模型和本地数据库,所述边缘终端根据所述本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库;
通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据所述状态数据库中的本地梯度,生成关于所述本地梯度的交易,并写入新的区块;
接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;
采用随机梯度算法进行本地模型更新和全局模型更新。
上述基于区块链的联邦学习方法、装置、计算机设备和存储介质,通过区块链改进联邦学习,其中,区块链以及智能合约自动执行,完全不依赖于数据中心,从而使得各个边缘终端,可以自动执行联邦学习,本地数据无需对外公开,保证数据的安全性。
附图说明
图1为一个实施例中基于区块链的联邦学习方法的流程示意图;
图2为一个实施例中基于区块链的联邦学习装置的结构框图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种基于区块链的联邦学习方法,包括以下步骤:
步骤102,通过分布式账本平台,建立联邦学习区块链网络。
联邦学习区块链网络中每个边缘终端对应区块链节点,边缘终端中存储本地模型和本地数据库,边缘终端根据本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库。
值得说明的是,边缘终端是边缘网络中分散于边缘各处的终端,边缘终端可以依靠本地数据训练本地模型。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议,智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。
值得说明的是,本发明的信息传播过程均是通过智能合约实现的,从而保证联邦学习过程安全性、可审计性和高效性。
联邦学习区块链网络在Hyperledger Fabric区块链平台上搭建,区块链具有去中心化的特点,通过Fabric网络执行Putstate()内部命令和Getstate()等内部命令以及编写的聚合算法、熵值计算等外部算法,可以基于智能合约实现在去中心化的区块链网络中执行联邦学习。
步骤104,通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据状态数据库中的本地梯度,生成关于本地梯度的交易,并写入新的区块。
本步骤中,在一轮迭代中,边缘终端可以根据本地数据库进行本地模型的训练,值得说明的是,每次迭代,从本地数据库中选择一个本地数据输入本地模型,得到新的本地梯度,而在一次迭代中,边缘终端会接收到聚合梯度,该聚合梯度用来更新本地模型,以进行下一次本地训练,循环以往,可以完成联邦训练。
步骤106,接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度。
本步骤中,梯度聚合对应的智能合约是边缘终端主动触发的,然后由区块链网络执行所有数据的聚合,得到聚合梯度。
步骤108,采用随机梯度算法进行本地模型更新和全局模型更新。
上述基于区块链的联邦学习方法中,通过区块链改进联邦学习,其中,区块链以及智能合约自动执行,完全不依赖于数据中心,从而使得各个边缘终端,可以自动执行联邦学习,本地数据无需对外公开,保证数据的安全性。
首先,有N个边缘终端和设备集合E={e1,e2,…,eN}响应联邦学习任务,对于任意终端ei(ei∈E),持有本地数据集Di,所有本地数据集服从独立同分布(II-D)。集合E旨在共同训练一个全局模型M,而不泄露任何本地数据。
本地模型训练由各边缘终端依据本地数据集与算力实现。训练目标是最小化损失函数可以定义为:
边缘终端ei计算本轮训练梯度g(Wi,t),转化为json格式,通过调用智能合约,上传至Fabric区块链中,保存并更新Fabric状态数据库。梯度计算表达式如下:
在得到本地梯度之后,区块链上的所有参与训练的边缘终端一旦接收到关于g(Wi,t)的提案后,他们首先通过模拟执行该提案以验证提交者ei的ID、训练时间t等信息是否正确,并验证参数的准确性,生成关于该提案的读写集并附上签名。根据背书策略,若提案通过,则由ei生成关于的g(Wi,t)的交易,发送至排序节点和确认节点以进一步验证,写入新的区块。
具体的,梯度上传通过梯度上传智能合约实现,由参与学习的边缘终端调用触发,Fabric网络执行Putstate()内部命令,上传交易记录在区块中,梯度数据存储至状态数据库中。
与传统联邦学习中只有中央服务器才有聚合资格不同,在所设计的基于区块链的联邦学习中,每个迭代时间t内,所有在线的边缘设备ei都可以通过调用聚合智能合约自动得到聚合结果,并将结果上传到区块链进行自动验证。梯度聚合的超时规则编码在智能合约上,并通过区块链网络严格执行。梯度聚合公式如下:
其中,在第t次迭代训练中的聚合评价梯度,St表示第t迭代训练中所有在线的边缘终端的集合。梯度自动聚合通过聚合智能合约实现,由参与学习的边缘终端调用触发,可用的边缘终端ID集合为触发该合约的输入参数,Fabric网络执行智能合约程序,根据梯度聚合公式自动计算得到聚合结果。
在其中一个实施例中,根据本轮迭代的聚合梯度,确定边缘终端的梯度熵值,以及根据所述梯度熵值确定各个边缘终端的本地梯度的选择概率,根据选择概率获取新的区块中的本地梯度。
本实施例中,考虑到边缘网络的不稳定性和边缘设备的动态性,参与联邦学习训练的边缘设备并不总是活跃的情况,在联邦学习中设计一种基于区块链的动态学习机制和基于梯度熵的贡献评估机制,以解决节点动态参与联邦学习影响训练稳定性和训练质量的问题。
具体的,对于加入区块链中的所有边缘终端,根据其训练的本地梯度与聚合梯度的占比,对边缘终端的活跃程度进行评价,从而可以根据评价结果,选择每个边缘终端的本地梯度进行聚合的概率。
在其中一个实施例中,根据本轮迭代的聚合梯度,确定边缘终端的梯度熵值为:
其中,Ei,t(g(Wi,t))表示梯度熵值,p(wi)是根据本地梯度与所述聚合梯度的比值得到的,g(Wi,t)表示本地梯度,wi本地模型参数。
具体的,p(wi)可以表示为:
其中,St表示第t次迭代进行梯度聚合的边缘终端的数量。
在其中一个实施例中,根据梯度熵值确定贡献评估值,根据贡献评估值确定各个边缘终端的本地梯度的选择概率;贡献评估值为:
其中,St表示进行梯度聚合的边缘终端的数量,Ci,t表示贡献评估值。
具体的,根据熵的定义,衡量随机变量的不确定性,熵值越大,变量的取值越不确定。以此概念来衡量梯度信息的不确定性,熵值越高,表示某边缘终端共享的梯度变量相对于聚合结果而言,不确定性越大,即贡献越小。在此基础上,构建了贡献评估值。基于梯度熵的贡献自动评估通过调用贡献自动评估合约实现,由参与学习的边缘终端调用触发,可用的边缘终端ID集合为触发该合约的输入参数,Fabric执行梯度熵值计算公式和聚合计算的代码命令,自动计算,并将结果上链存储,保证其真实性与不可篡改。
在其中一个实施例中,确定联邦学习区块链网络可用的边缘终端和不可用的边缘终端;可用的边缘终端采用随机梯度算法进行全局模型更新;不可用的边缘终端在恢复通讯后通过智能合约在区块链上查找并接收最新的全局模型,并且根据最新的全局模型更新本地模型。
在其中一个实施例中,可用的边缘终端采用随机梯度算法进行全局模型更新为:
不可用的边缘终端在恢复通讯后通过智能合约在区块链上查找并接收最新的全局模型,并且根据最新的全局模型更新本地模型为:
其中,Wi,old表示第i个边缘终端的本地最近一个的模型参数,Wnew表示边缘终端在恢复通讯后接收最新的聚合结果,αi(t)表示权重系数。
具体的,ei使用随机梯度算法(SGA)在本地维护和更新全局模型。但是,考虑到边缘网络的不稳定性,对于突然掉线导致梯度贡献失败,之后又恢复通信的边缘训练节点而言,模型与梯度有可能会出现不匹配的问题(例如,使用时间t-2的梯度更新时刻t的模型),导致联邦学习质量低,甚至无法收敛。传统的联邦学习采用直接将其剔除的做法来保证训练可靠性,但是缺乏可扩展性,也可能导致训练数据不足。为解决上述问题,我们设计了动态学习机制,即在第t次迭代训练时可用的边缘终端继续使用梯度下降算法更新和维护训练训练模型,而在第t次迭代训练时不可用的边缘终端通过区块链能够在任意时刻获得最新的全局模型。
St表示t轮梯度聚合时,所有可用的边缘终端集合,η表示学习率。Wnew表示本轮最新的聚合结果,即Wt+1,通过区块链可以实时查询得知,Wold表示本地模型参数,αi(t)表示权重系数,其与时间是负相关性,即Δt表示恢复通信的节点与最新训练时间的差值,即延迟参与训练轮数。β表示约束系数,与本地样本量、计算资源等相关。任意时刻掉线后又恢复的边缘终端,通过获取聚合结果智能合约实现,由参与学习的边缘终端调用触发,当前时间作为处罚该合约的输入参数,Fabric网络执行Getstate()内部命令,保证任意时刻进入的边缘终端都能及时获取最新全局模型更新。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种基于区块链的联邦学习装置,包括:网络模块202、梯度生成模块204、梯度聚合模块206和全局更新模块208,其中:
网络模块202,用于通过分布式账本平台,建立联邦学习区块链网络;所述联邦学习区块链网络中每个边缘终端对应区块链节点,所述边缘终端中存储本地模型和本地数据库,所述边缘终端根据所述本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库;
梯度生成模块204,用于通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据所述状态数据库中的本地梯度,生成关于所述本地梯度的交易,并写入新的区块;
梯度聚合模块206,用于接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;
全局更新模块208,用于采用随机梯度算法进行本地模型更新和全局模型更新。
在其中一个实施例中,网络模块202还用于根据本轮迭代的所述聚合梯度,确定边缘终端的梯度熵值,以及根据所述梯度熵值确定各个边缘终端的本地梯度的选择概率,根据所述选择概率获取新的区块中的本地梯度。
在其中一个实施例中,梯度聚合模块206还用于根据本轮迭代的所述聚合梯度,确定边缘终端的梯度熵值为:
其中,Ei,t(g(Wi,t))表示梯度熵值,p(wi)是根据所述本地梯度与所述聚合梯度的比值得到的,g(Wi,t)表示本地梯度,wi本地模型参数。
在其中一个实施例中,梯度聚合模块206还用于根据所述梯度熵值确定贡献评估值,根据所述贡献评估值确定各个边缘终端的本地梯度的选择概率;所述贡献评估值为:
其中,St表示进行梯度聚合的边缘终端的数量,Ci,t表示贡献评估值。
在其中一个实施例中,全局更新模块208还用于确定联邦学习区块链网络可用的边缘终端和不可用的边缘终端;可用的边缘终端采用随机梯度算法进行全局模型更新;不可用的边缘终端在恢复通讯后通过智能合约在区块链上查找并接收最新的全局模型,并且根据最新的全局模型更新本地模型。
在其中一个实施例中,全局更新模块208还用于可用的边缘终端采用随机梯度算法进行全局模型更新为:
不可用的边缘终端在恢复通讯后通过智能合约在区块链上查找并接收最新的全局模型,并且根据最新的全局模型更新本地模型为:
其中,Wi,old表示第i个边缘终端的本地最近一个的模型参数,Wnew表示边缘终端在恢复通讯后接收最新的聚合结果,αi(t)表示权重系数。
关于基于区块链的联邦学习装置的具体限定可以参见上文中对于基于区块链的联邦学习方法的限定,在此不再赘述。上述基于区块链的联邦学习装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于区块链的联邦学习方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现上述实施例中方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于区块链的联邦学习方法,其特征在于,所述方法包括:
通过分布式账本平台,建立联邦学习区块链网络;所述联邦学习区块链网络中每个边缘终端对应区块链节点,所述边缘终端中存储本地模型和本地数据库,所述边缘终端根据所述本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库;
通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据所述状态数据库中的本地梯度,生成关于所述本地梯度的交易,并写入新的区块;
接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;
采用随机梯度算法进行本地模型更新和全局模型更新。
2.根据权利要求1所述的方法,其特征在于,边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,包括:
根据本轮迭代的所述聚合梯度,确定边缘终端的梯度熵值,以及根据所述梯度熵值确定各个边缘终端的本地梯度的选择概率,根据所述选择概率获取新的区块中的本地梯度。
5.根据权利要求1所述的方法,其特征在于,所述采用随机梯度算法进行本地模型更新和全局模型更新包括:
确定联邦学习区块链网络可用的边缘终端和不可用的边缘终端;
可用的边缘终端采用随机梯度算法进行全局模型更新;
不可用的边缘终端在恢复通讯后通过智能合约在区块链上查找并接收最新的全局模型,并且根据最新的全局模型更新本地模型。
7.一种基于区块链的联邦学习装置,其特征在于,所述装置包括:
网络模块,用于通过分布式账本平台,建立联邦学习区块链网络;所述联邦学习区块链网络中每个边缘终端对应区块链节点,所述边缘终端中存储本地模型和本地数据库,所述边缘终端根据所述本地数据库训练所述本地模型时,得到当前迭代次数对应的本地模型参数和对应的本地梯度,并且通过智能合约上传至区块链节点的状态数据库;
梯度生成模块,用于通过智能合约向边缘终端发送上传本地梯度的提案,以使边缘终端根据所述状态数据库中的本地梯度,生成关于所述本地梯度的交易,并写入新的区块;
梯度聚合模块,用于接收边缘终端发送的聚合智能合约调用请求,使得边缘终端根据所述聚合智能合约调用请求获取新的区块中的本地梯度,并进行梯度聚合,得到聚合梯度;
全局更新模块,用于采用随机梯度算法进行本地模型更新和全局模型更新。
8.根据权利要求7所述的装置,其特征在于,所述网络模块还用于根据本轮迭代的所述聚合梯度,确定边缘终端的梯度熵值,以及根据所述梯度熵值确定各个边缘终端的本地梯度的选择概率,根据所述选择概率获取新的区块中的本地梯度。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181449.7A CN114372581B (zh) | 2022-02-25 | 2022-02-25 | 基于区块链的联邦学习方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181449.7A CN114372581B (zh) | 2022-02-25 | 2022-02-25 | 基于区块链的联邦学习方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114372581A true CN114372581A (zh) | 2022-04-19 |
CN114372581B CN114372581B (zh) | 2024-03-19 |
Family
ID=81145587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210181449.7A Active CN114372581B (zh) | 2022-02-25 | 2022-02-25 | 基于区块链的联邦学习方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114372581B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277446A (zh) * | 2022-07-12 | 2022-11-01 | 中国信息通信研究院 | 一种节能的在网联邦学习网络和方法 |
CN115660114A (zh) * | 2022-11-11 | 2023-01-31 | 湖北文理学院 | 基于区块链的异步联邦学习架构系统及方法 |
CN115994588A (zh) * | 2023-03-16 | 2023-04-21 | 杭州海康威视数字技术股份有限公司 | 基于区块链与合同理论的联邦学习方法、装置及设备 |
CN117371027A (zh) * | 2023-09-21 | 2024-01-09 | 北京大学深圳研究生院 | 数据处理方法和相关装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194126A (zh) * | 2021-04-21 | 2021-07-30 | 泉州华中科技大学智能制造研究院 | 一种基于区块链的横向联邦学习模型构建方法 |
CN113408746A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 一种基于区块链的分布式联邦学习方法、装置及终端设备 |
CN113467928A (zh) * | 2021-05-20 | 2021-10-01 | 杭州趣链科技有限公司 | 基于区块链去中心化的联邦学习成员推理攻击防御方法和装置 |
US20210312336A1 (en) * | 2020-04-03 | 2021-10-07 | International Business Machines Corporation | Federated learning of machine learning model features |
CN113992360A (zh) * | 2021-10-01 | 2022-01-28 | 浙商银行股份有限公司 | 一种基于区块链跨链的联邦学习方法及设备 |
-
2022
- 2022-02-25 CN CN202210181449.7A patent/CN114372581B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210312336A1 (en) * | 2020-04-03 | 2021-10-07 | International Business Machines Corporation | Federated learning of machine learning model features |
CN113194126A (zh) * | 2021-04-21 | 2021-07-30 | 泉州华中科技大学智能制造研究院 | 一种基于区块链的横向联邦学习模型构建方法 |
CN113467928A (zh) * | 2021-05-20 | 2021-10-01 | 杭州趣链科技有限公司 | 基于区块链去中心化的联邦学习成员推理攻击防御方法和装置 |
CN113408746A (zh) * | 2021-06-22 | 2021-09-17 | 深圳大学 | 一种基于区块链的分布式联邦学习方法、装置及终端设备 |
CN113992360A (zh) * | 2021-10-01 | 2022-01-28 | 浙商银行股份有限公司 | 一种基于区块链跨链的联邦学习方法及设备 |
Non-Patent Citations (1)
Title |
---|
朱建明 等: "基于区块链的隐私保护可信联邦学习模型", 计算机学报, vol. 44, no. 12, pages 2464 - 2484 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277446A (zh) * | 2022-07-12 | 2022-11-01 | 中国信息通信研究院 | 一种节能的在网联邦学习网络和方法 |
CN115660114A (zh) * | 2022-11-11 | 2023-01-31 | 湖北文理学院 | 基于区块链的异步联邦学习架构系统及方法 |
CN115994588A (zh) * | 2023-03-16 | 2023-04-21 | 杭州海康威视数字技术股份有限公司 | 基于区块链与合同理论的联邦学习方法、装置及设备 |
CN115994588B (zh) * | 2023-03-16 | 2023-07-25 | 杭州海康威视数字技术股份有限公司 | 基于区块链与合同理论的数据处理方法、装置及设备 |
CN117371027A (zh) * | 2023-09-21 | 2024-01-09 | 北京大学深圳研究生院 | 数据处理方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114372581B (zh) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114372581B (zh) | 基于区块链的联邦学习方法、装置和计算机设备 | |
CN114945044B (zh) | 基于联邦学习的数字孪生平台构建方法、装置及设备 | |
CN112926747B (zh) | 优化业务模型的方法及装置 | |
CN116627970A (zh) | 一种基于区块链和联邦学习的数据共享方法及装置 | |
CN114760308B (zh) | 边缘计算卸载方法及装置 | |
CN114912022A (zh) | 预测模型训练方法、系统、计算机设备及存储介质 | |
Magableh et al. | A deep recurrent Q network towards self‐adapting distributed microservice architecture | |
Jain et al. | Blockchain enabled trusted task offloading scheme for fog computing: A deep reinforcement learning approach | |
Leckey et al. | Prediction intervals for load‐sharing systems in accelerated life testing | |
Akselrod et al. | Information flow control for collaborative distributed data fusion and multisensor multitarget tracking | |
CN111935026B (zh) | 一种数据传输方法、装置、处理设备及介质 | |
Hang et al. | An improved Kalman filter using ANN-based learning module to predict transaction throughput of blockchain network in clinical trials | |
CN113779116B (zh) | 对象排序方法、相关设备及介质 | |
Hamrouni et al. | An evolutionary algorithm for collaborative mobile crowdsourcing recruitment in socially connected iot systems | |
CN113297310B (zh) | 一种物联网中区块链分片验证者选取的方法 | |
CN114528992A (zh) | 一种基于区块链的电子商务业务分析模型的训练方法 | |
Taylor et al. | Two decades of multiagent teamwork research: past, present, and future | |
Kalam et al. | 5g traffic forecasting using federated learning | |
CN113379344A (zh) | 一种基于云计算处理的智能物流处理方法和系统 | |
Mao et al. | QoS trust rate prediction for Web services using PSO-based neural network | |
CN111784535A (zh) | 一种基于反馈神经网络的风能直接区间预测方法和装置 | |
CN114118631B (zh) | 基于图神经网络的装卸货点推荐方法和装置 | |
CN115834247B (zh) | 一种基于区块链的边缘计算信任评价方法 | |
WO2023202363A1 (zh) | 一种信任评估方法、装置及设备 | |
CN116957067B (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 |