CN115796275A - 基于区块链的联邦学习方法、装置、电子设备及存储介质 - Google Patents
基于区块链的联邦学习方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115796275A CN115796275A CN202310010975.1A CN202310010975A CN115796275A CN 115796275 A CN115796275 A CN 115796275A CN 202310010975 A CN202310010975 A CN 202310010975A CN 115796275 A CN115796275 A CN 115796275A
- Authority
- CN
- China
- Prior art keywords
- cluster
- model update
- global
- parameters
- model
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004138 cluster model Methods 0.000 claims abstract description 141
- 238000012549 training Methods 0.000 claims abstract description 30
- 230000004931 aggregating effect Effects 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于区块链的联邦学习方法、装置、电子设备及存储介质,该方法包括:将初始全局基层参数和初始集群个性化层参数发送至多个客户端,使每个客户端反馈局部模型更新参数,对多个局部模型更新参数进行聚合,生成雾节点的集群模型更新数据并传至区块链,根据集群模型更新数据,生成全局模型更新数据,将集群模型更新数据作为初始集群个性化层参数,全局模型更新数据作为初始全局基层参数,重复上述步骤,生成目标全局模型更新数据,若目标全局模型更新数据与上一次训练生成的全局模型更新数据之差小于预设差值,则完成联邦学习。从而基于区块链训练个性化的联邦学习模型,使个性化模型适应客户端的个性化需求,提高了模型的准确率。
Description
技术领域
本发明涉及模型训练技术领域,具体为一种基于区块链的联邦学习方法、装置、电子设备及存储介质。
背景技术
联邦学习技术令客户端共同建立机器学习模型且只共享模型参数而非原始数据,从而在打破数据孤岛的同时保护了用户隐私。然而传统联邦学习得到的全局模型并不能很好地适应每个客户端,导致客户端的学习模型准确率较低。因此,如何训练获得适应客户端个性化需求的个性化模型,成为亟待解决的问题。
发明内容
针对现有技术中客户端上学习模型的准确率较低的技术问题,本发明提供了一种基于区块链的联邦学习方法、装置、电子设备及存储介质。
为实现以上目的,本发明通过以下技术方案予以实现:
本发明实施例第一方面,提供一种基于区块链的联邦学习方法,应用于服务器,所述方法包括:
通过联盟区块链中为多个客户端集群分配的多个雾节点,将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,其中,不同客户端集群对应的雾节点不同;
对于任意所述多个雾节点中的第一雾节点,对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据;
根据预设共识委员会对所述第一集群模型更新数据进行验证,若基于所述第一集群模型更新数据使所述预设共识委员会达成共识,则将所述第一集群模型更新数据发送至所述联盟区块链;
遍历所述多个雾节点,生成多个集群模型更新数据;
对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据;
将所述多个集群模型更新数据作为初始集群个性化层参数,所述全局模型更新数据作为初始全局基层参数,重复上述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型至以生成全局模型更新数据的步骤,以生成目标全局模型更新数据;
若所述目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值,则完成所述联邦学习。
可选地,所述根据预设共识委员会对所述第一集群模型更新数据进行验证,包括:
将所述第一集群模型更新数据作为建议信息广播至所述预设共识委员会的第一其他成员;
若所述第一其他成员中的任意成员同意所述建议信息,则向所述预设共识委员会的第二其他成员广播预备信息;
若所述预设共识委员会中所述预备信息的数量达到设定阈值,则确定基于所述第一集群模型更新数据使所述预设共识委员会达成共识。
可选地,所述对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据,包括:
从所述预设共识委员会中确定第一领导成员;
若所述联盟区块链中的所述多个集群模型更新数据达到预设数量,则根据所述第一领导成员,对所述多个集群模型更新数据进行聚合;
若预设时间内未生成所述全局模型更新数据,则从所述预设共识委员会中确定目标领导成员,以根据所述目标领导成员在所述预设时间内,生成所述全局模型更新数据。
可选地,所述对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据,包括:
根据所述多个第一局部模型更新参数,确定多个贡献率;
根据所述多个贡献率,对所述多个第一局部模型更新参数进行聚合,以生成所述第一集群模型更新数据。
可选地,所述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,包括:
将所述初始全局基层参数和所述初始集群个性化层参数发送至所述多个个性化模型,以使所述多个个性化模型根据所述初始全局基层参数,生成目标模型参数,并根据所述目标模型参数和所述初始集群个性化层参数,训练所述多个个性化模型,以反馈所述局部模型更新参数。
可选地,所述方法还包括:
将所述多个集群模型更新数据对应的基层数据发送至所述联盟区块链中,以生成集群模型更新块,所述集群模型更新块中包括:第一区块头、第一当前轮数、第一集群编号和第一更新密文。
可选地,所述方法还包括:
将所述全局模型更新数据发送至所述联盟区块链中,以生成全局模型更新块,所述全局模型更新块中包括:第二区块头、第二当前轮数、第二更新密文。
可选地,所述根据预设共识委员会对所述第一集群模型更新数据进行验证,包括:
将所述第一集群模型更新数据作为建议信息广播至所述预设共识委员会的第一其他成员;
若所述第一其他成员中的任意成员同意所述建议信息,则向所述预设共识委员会的第二其他成员广播预备信息;
若所述预设共识委员会中所述预备信息的数量达到设定阈值,则确定基于所述第一集群模型更新数据使所述预设共识委员会达成共识。
可选地,所述对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据,包括:
从所述预设共识委员会中确定第一领导成员;
若所述联盟区块链中的所述多个集群模型更新数据达到预设数量,则根据所述第一领导成员,对所述多个集群模型更新数据进行聚合;
若预设时间内未生成所述全局模型更新数据,则从所述预设共识委员会中确定目标领导成员,以根据所述目标领导成员在所述预设时间内,生成所述全局模型更新数据。
可选地,所述对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据,包括:
根据所述多个第一局部模型更新参数,确定多个贡献率;
根据所述多个贡献率,对所述多个第一局部模型更新参数进行聚合,以生成所述第一集群模型更新数据。
可选地,所述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,包括:
将所述初始全局基层参数和所述初始集群个性化层参数发送至所述多个个性化模型,以使所述多个个性化模型根据所述初始全局基层参数,生成目标模型参数,并根据所述目标模型参数和所述初始集群个性化层参数,训练所述多个个性化模型,以反馈所述局部模型更新参数。
可选地,所述方法还包括:
将所述多个集群模型更新数据对应的基层数据发送至所述联盟区块链中,以生成集群模型更新块,所述集群模型更新块中包括:第一区块头、第一当前轮数、第一集群编号和第一更新密文。
可选地,所述方法还包括:
将所述全局模型更新数据发送至所述联盟区块链中,以生成全局模型更新块,所述全局模型更新块中包括:第二区块头、第二当前轮数、第二更新密文。
本发明实施例第二方面,提供一种基于区块链的联邦学习装置,其特征在于,所述装置包括:
接收模块,用于通过联盟区块链中为多个客户端集群分配的多个雾节点,将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,其中,不同客户端集群对应的雾节点不同;
第二生成模块,用于对于任意所述多个雾节点中的第一雾节点,对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据;
识别模块,用于根据预设共识委员会对所述第一集群模型更新数据进行验证,若基于所述第一集群模型更新数据使所述预设共识委员会达到共识,则将所述第一集群模型更新数据发送至所述联盟区块链;
第三生成模块,用于遍历所述多个雾节点,生成多个集群模型更新数据;
第四生成模块,用于对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据;
第五生成模块,用于将所述多个集群模型更新数据作为初始集群个性化层参数,所述全局模型更新数据作为初始全局基层参数,重复上述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型至以生成全局模型更新数据的步骤,以生成目标全局模型更新数据;
执行模块,用于若所述目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值的情况下,则完成所述联邦学习。
本发明实施例第三方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本发明实施例第一方面中任意一项所述方法的步骤。
本发明实施例第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,所述程序指令被处理器执行时实现本发明实施例第一方面中任一项所述方法的步骤。
本发明提供了基于区块链的联邦学习方法、装置、电子设备及存储介质。与现有技术相比具备以下有益效果:
通过上述方案,将初始全局基层参数和初始集群个性化层参数发送至多个客户端对应的多个个性化模型,以使多个个性化模型反馈多个局部模型更新参数,对接收到的多个第一局部模型更新参数进行聚合,以生成第一雾节点对应的第一集群模型更新数据,若基于第一集群模型更新数据使预设共识委员会达到共识,则将第一集群模型更新数据发送至联盟区块链,遍历多个雾节点,生成多个集群模型更新数据,对接收到的多个集群模型更新数据进行聚合,以生成全局模型更新数据,将多个集群模型更新数据作为初始集群个性化层参数,全局模型更新数据作为初始全局基层参数,重复上述步骤,以生成目标全局模型更新数据,若目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值,则完成联邦学习。从而基于区块链对个性化模型进行联邦学习训练,使个性化模型适应客户端的个性化需求,提高了模型的准确率。
附图说明
图1是根据一示例性实施例示出的一种基于区块链的联邦学习方法的流程图。
图2是根据一示例性实施例示出的一种基于区块链的联邦学习装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是根据一示例性实施例示出的一种基于区块链的联邦学习方法的流程图,请参阅图1,本发明提供一种技术方案:一种基于区块链的联邦学习方法,所述方法包括以下步骤。
在步骤S11中,根据多个客户端的日志数据,对多个客户端进行划分,以生成多个客户端集群。
可以理解的是,本实施例应用于物联网设备,多个客户端通过无线通信的方式与物联网设备建立无线通信连接,允许多个客户端设备在雾节点辅助下根据场景需求共同建立相应的机器学习模型,各个客户端设备上装载有自己的个性化模型,能够使用模型对自身数据完成分类或预测任务从而实现智能化处理。示例的,场景需求为能源需求预测时,各个客户端设备基于自身数据在此框架下共同建立能量需求预测模型,最终能够利用得到的个性化模型对未来能源需求量进行预测。示例的,本实施例中该客户端可以是用于对用户进行能源供给的能源供给装置,通常情况下为增加该能源供给装置的适用性,该能源供给装置可以分布于城市的各个区域中,在不同区域中能源供给装置在不同时间点的能源供给情况不同,例如,在繁华城市中,能源供给装置的使用频次较为频繁,在偏远城市中,能源供给装置的使用频次较少,因此,可以根据能源供给装置的日志数据,对能源供给装置进行集群划分,生成多个集群。示例的,可以通过能源供给装置的聚类算法K-means(K 均值),对多个能源供给装置在日常运行过程中的日志数据进行聚合,并将日志数据较一致的多个能源供给装置划分在同一个集群中。值得一提的是,本实施例中客户端还可以是其他装置,可以根据用户不同的需求在客户端中设置不同的机器学习模型,对应的客户端的类型不同,对此本实施例中不做限定。
在步骤S12中,通过联盟区块链中为多个客户端集群分配的多个雾节点,将初始全局基层参数和初始集群个性化层参数发送至多个客户端对应的多个个性化模型,以使多个个性化模型反馈多个局部模型更新参数。
示例的,本实施例中在联盟区块链中为每个集群分配雾节点作为代理,通过联盟链将需要TA-认证的雾节点加入区块链。并通过所有雾节点组成的共识委员会建立PBFT共识机制。在各个客户端中均设置有初始模型,该初始模型用于根据日志数据进行模型训练。在联邦学习之初,将初始模型的初始全局基本层参数和训练相关的初始集群个性化层参数,存储在区块链的第0块中。在接收到联邦学习指令后,将初始全局基本层参数和初始集群个性化层参数通过各客户端集群对应的雾节点,发送至各个客户端对应的个性化模型中,使各个性化模型根据初始全局基本层参数和初始集群个性化层参数进行模型训练,生成局部模型更新参数,并将局部模型更新参数由对应的雾节点反馈给共识委员会。
可选地,上述步骤S12,包括:
将初始全局基层参数和初始集群个性化层参数发送至多个个性化模型,以使多个个性化模型根据初始全局基层参数,生成目标模型参数,并根据目标模型参数和初始集群个性化层参数,训练多个个性化模型,以反馈局部模型更新参数。
示例的,在第轮模型训练中,每个客户端首先根据初始全局基层参数和
集群个性化层参数来更新其自身的局部模型参数。然后,根据目标模型参数和初始
集群个性化层参数重新训练个性化模型,生成的局部模型更新参数:,
并将局部模型更新参数发送到该个性化模型对应的雾节点,其中,是基础层的权
重,是个性化层的权重。值得一提的是,在本实施例中,注意力层被用作为个性化层,其
他层用作为基层,其中,个性化模型在进行上传时,只上传加密的局部模型更新参数的基础
层,而个性化模型对应的原始数据仍存储在本地。
在步骤S13中,对于任意多个雾节点中的第一雾节点,对接收到的多个第一局部模型更新参数进行聚合,以生成第一雾节点对应的第一集群模型更新参数。
示例的,通常情况下,一个雾节点可以对应多个个性化模型,对应接收到由各个性化模型发送的局部模型更新参数,将接收到的多个局部模型更新参数进行聚合,生成雾节点对应的第一集群模型更新参数。
可选地,所述方法还包括:
将所述多个集群模型更新数据对应的基层数据发送至所述联盟区块链中,以生成集群模型更新块,所述集群模型更新块中包括:第一区块头、第一当前轮数、第一集群编号和第一更新密文。
可选地,上述步骤S13,包括:
根据多个第一局部模型更新参数,确定多个贡献率;
根据多个贡献率,对多个第一局部模型更新参数进行聚合,以生成第一集群模型更新块。
示例的,雾节点可以根据以下公式对获取到的多个局部模型更新参数进行聚合:
在步骤S14中,根据预设共识委员会对第一集群模型更新参数进行识别。
示例的,在雾节点完成聚合任务后,将第一集群模型更新参数发送至共识委员会中,由共识委员会对该集群模型更新参数进行验证,确定该第一集群模型更新参数是否能够得到其他成员的共识。
可选地,上述步骤S14,包括:
将第一集群模型更新参数作为建议信息广播至预设共识委员会的第一其他成员。
若第一其他成员中的任意成员同意建议信息,则向预设共识委员会的第二其他成员广播预备信息。
若预设共识委员会中预备信息的数量达到设定阈值,则确定基于第一集群模型更新数据使预设共识委员会达成共识。
示例的,本实施例中完成聚合任务的雾节点,将第一集群模型更新数据做为
propose(建议)信息,将此信息作为事务,并在共识委员会内广播事务和
,其中,是与相对应的视图编号,是的唯一编号,是的哈希摘要。其他委员会成员在接
收到信息后对事务进行验证,当验证成功后在共识委员会内广播预备信息,其中 是这些成员本身的序列号,当其他成员接收到设定阈值的预备
信息后,确定根据第一集群模型更新数据能够使预设共识委员会达成共识,并进一步广播
协议信息,使各其他委员会成员建立新的协议。
在步骤S15中,若基于第一集群模型更新数据使预设共识委员会达成共识,则将第一集群模型更新数据发送至联盟区块链。
示例的,雾节点通过集群模型更新参数获得多个客户端的信息,并将该信息对应的基础层数据上传至联盟区块链中,以生成集群模型更新块。值得一提的是,雾节点在进行数据上传时,仅上传聚合的基本层的集群模型更新块中的参数,而不上传整个权重中的参数。
在步骤S16中,遍历多个雾节点,生成多个集群模型更新参数。
示例的,通过上述步骤中生成第一集群模型更新参数的方式,遍历多个雾节点,生成多个集群模型更新参数。
在步骤S17中,对接收到的多个集群模型更新参数进行聚合,以生成全局模型更新参数。
示例的,将通过验证的多个集群模型更新参数打包到区块链,并对多个集群模型更新参数进行聚合,生成全局模型更新参数。
可选地,所述方法还包括:
将所述全局模型更新数据发送至所述联盟区块链中,以生成全局模型更新块,所述全局模型更新块中包括:第二区块头、第二当前轮数、第二更新密文。
示例的,本实施例中还提供一种全局模型更新块的生成方法,该生成方法包括以下步骤:
(2)本地模型更新数据通过雾节点聚合,生成集群模型更新数据,其中,由[集群模型更新参数+集群所有时间戳+集群所有样本量]构成该集群模型更新数据;
(3)集群模型更新数据中的[集群模型更新参数基层+集群时间戳+集群样本量]被上传至区块链中,并由[集群模型更新参数基层+集群所有时间戳+集群所有样本量+块头+轮次+集群编号]成为集群模型更新块;
(4)通过区块链中的共识委员会对集群模型更新块进行验证,对其中的[集群模型更新参数基层]进行聚合得到全局模型更新参数,并同样将[全局模型更新参数+全局所有时间戳+全局所有样本量]上传至区块链,[全局模型更新参数+全局所有时间戳+全局所有样本量+块头+轮次]成为全局模型更新块。
可选地,上述步骤S17,包括:
从预设共识委员会中确定第一领导成员;
若联盟区块链中的多个集群模型更新数据达到预设数量,则根据第一领导成员,对多个集群模型更新数据进行聚合;
若预设时间内未生成全局模型更新数据,则从预设共识委员会中确定目标领导成员,以根据目标领导成员在预设时间内,生成全局模型更新数据。
示例的,这些通过验证的更新将作为多个集群模型更新数据打包到区块链中,当
轮中多个集群模型更新数据的数量等于预设数量时,共识委员会将对该轮中的所有集群
模型更新数据进行二次聚合,以生成新的全局模型更新数据。示例的,随机选择一名委员会
成员作为负责二级聚合的领导成员,当要执行二次聚合时,成员将启动计时器,如果超
时后未生成全局模型更新数据,则认为领导者有故障,并在预设共识委员会中重新选择领
导成员。直至选择的目标领导成员能在预设时间内,通过对所有集群模型更新数据进行二
次聚合生成全局模型更新数据。
在步骤S18中,将多个集群模型更新数据作为初始集群个性化层参数,全局模型更新数据作为初始全局基层参数,重复上述将初始全局基层参数和初始集群个性化层参数发送至多个客户端对应的多个个性化模型至以生成全局模型更新数据的步骤,以生成目标全局模型更新数据。
示例的,在本实施例中雾节点将多个集群模型更新数据作为初始集群个性化层参
数,全局模型更新数据作为初始全局基层参数分配给对应的客户端,并根据新生成的初始
集群个性化层参数和新生成的初始全局基层参数,开始轮培训,并重复上述步骤,生成
目标全局模型更新数据。
在步骤S19中,若所述目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值,则完成所述联邦学习。
示例的,通过上述步骤生成的目标全局模型更新数据,将该目标全局模型更新数
据与上一次训练生成的全局模型更新数据进行比较,确定两者之间的差值,当该差值大于
预设差值,则表示全局梯度未得到收敛,仍需要将该目标全局模型更新数据作为初始全局
模型更新数据进行轮培训,直至根据获得的目标全局模型更新数据确定对应的全局模
型能够全局收敛,则模型训练停止。示例的,当时,其中为任意正整数,即表
示全局梯度收敛,模型训练停止;或者当达到一定的迭代次数时,模型训练停止。
通过上述方案,根据多个客户端的日志数据,对多个客户端进行划分,以生成多个客户端集群,将初始全局基层参数和初始集群个性化层参数发送至多个客户端对应的多个个性化模型,以使多个个性化模型反馈多个局部模型更新参数,对接收到的多个第一局部模型更新参数进行聚合,以生成第一雾节点对应的第一集群模型更新数据,若基于第一集群模型更新数据使预设共识委员会达到共识,则将第一集群模型更新数据发送至联盟区块链,遍历多个雾节点,生成多个集群模型更新数据,对接收到的多个集群模型更新数据进行聚合,以生成全局模型更新数据,将多个集群模型更新数据作为初始集群个性化层参数,全局模型更新数据作为初始全局基层参数,重复上述步骤,以生成目标全局模型更新数据,若目标全局模型更新数据与初始全局基层参数的差值小于预设差值,则完成联邦学习。从而使客户端具备个性化模型,提高了模型准确率。
图2是根据一示例性实施例示出的一种基于区块链的联邦学习装置的结构图,如图2所示,该基于区块链的联邦学习装置100包括:接收模块110、第一生成模块120、识别模块130、第二生成模块140、第三生成模块150、第四生成模块160和执行模块170。
接收模块110,用于通过联盟区块链中为多个客户端集群分配的多个雾节点,将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,其中,不同客户端集群对应的雾节点不同;
第一生成模块120,用于对于任意所述多个雾节点中的第一雾节点,对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据;
识别模块130,用于根据预设共识委员会对所述第一集群模型更新数据进行验证,若基于所述第一集群模型更新数据使所述预设共识委员会达到共识,则将所述第一集群模型更新数据发送至所述联盟区块链;
第二生成模块140,用于遍历所述多个雾节点,生成多个集群模型更新数据;
第三生成模块150,用于对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据;
第四生成模块160,用于将所述多个集群模型更新数据作为初始集群个性化层参数,所述全局模型更新数据作为初始全局基层参数,重复上述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型至以生成全局模型更新数据的步骤,以生成目标全局模型更新数据;
执行模块170,用于若所述目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值的情况下,则完成所述联邦学习。
可选地,所述识别模块130,还可以用于:
将所述第一集群模型更新数据作为建议信息广播至所述预设共识委员会的第一其他成员;
若所述第一其他成员中的任意成员同意所述建议信息,则向所述预设共识委员会的第二其他成员广播预备信息;
若所述预设共识委员会中所述预备信息的数量达到设定阈值,则确定基于所述第一集群模型更新数据使所述预设共识委员会达成共识。
可选地,第三生成模块150,还可以用于:
从所述预设共识委员会中确定第一领导成员;
若所述联盟区块链中的所述多个集群模型更新数据达到预设数量,则根据所述第一领导成员,对所述多个集群模型更新数据进行聚合;
若预设时间内未生成所述全局模型更新数据,则从所述预设共识委员会中确定目标领导成员,以根据所述目标领导成员在所述预设时间内,生成所述全局模型更新数据。
可选地,第二生成模块140,还用于:
根据所述多个第一局部模型更新参数,确定多个贡献率;
根据所述多个贡献率,对所述多个第一局部模型更新参数进行聚合,以生成所述第一集群模型更新数据。
可选地,接收模块110,还用于:
将所述初始全局基层参数和所述初始集群个性化层参数发送至所述多个个性化模型,以使所述多个个性化模型根据所述初始全局基层参数,生成目标模型参数,并根据所述目标模型参数和所述初始集群个性化层参数,训练所述多个个性化模型,以反馈所述局部模型更新参数。
可选地,所述基于区块链的联邦学习装置100还包括第一发送模块,所述第一发送模块用于:
将所述多个集群模型更新数据对应的基层数据发送至所述联盟区块链中,以生成集群模型更新块,所述集群模型更新块中包括:第一区块头、第一当前轮数、第一集群编号和第一更新密文。
可选地,所述基于区块链的联邦学习装置100还包括第二发送模块,所述第二发送模块用于:
将所述全局模型更新数据发送至所述联盟区块链中,以生成全局模型更新块,所述全局模型更新块中包括:第二区块头、第二当前轮数、第二更新密文。
通过上述方案,将初始全局基层参数和初始集群个性化层参数发送至多个客户端对应的多个个性化模型,以使多个个性化模型反馈多个局部模型更新参数,对接收到的多个第一局部模型更新参数进行聚合,以生成第一雾节点对应的第一集群模型更新数据,若基于第一集群模型更新数据使预设共识委员会达到共识,则将第一集群模型更新数据发送至联盟区块链,遍历多个雾节点,生成多个集群模型更新数据,对接收到的多个集群模型更新数据进行聚合,以生成全局模型更新数据,将多个集群模型更新数据作为初始集群个性化层参数,全局模型更新数据作为初始全局基层参数,重复上述步骤,以生成目标全局模型更新数据,若目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值,则完成联邦学习。从而使客户端具备个性化模型,提高了模型准确率。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的基于区块链的联邦学习方法的代码部分。
以上述依据本申请的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项申请技术思想的范围内,进行多样的变更以及修改。本项申请的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于区块链的联邦学习方法,其特征在于,应用于服务器,所述方法包括:
通过联盟区块链中为多个客户端集群分配的多个雾节点,将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,其中,不同客户端集群对应的雾节点不同;
对于任意所述多个雾节点中的第一雾节点,对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据;
根据预设共识委员会对所述第一集群模型更新数据进行验证,若基于所述第一集群模型更新数据使所述预设共识委员会达成共识,则将所述第一集群模型更新数据发送至所述联盟区块链;
遍历所述多个雾节点,生成多个集群模型更新数据;
对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据;
将所述多个集群模型更新数据作为初始集群个性化层参数,所述全局模型更新数据作为初始全局基层参数,重复上述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型至以生成全局模型更新数据的步骤,以生成目标全局模型更新数据;
若所述目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值,则完成所述联邦学习。
2.根据权利要求1所述的方法,其特征在于,所述根据预设共识委员会对所述第一集群模型更新数据进行验证,包括:
将所述第一集群模型更新数据作为建议信息广播至所述预设共识委员会的第一其他成员;
若所述第一其他成员中的任意成员同意所述建议信息,则向所述预设共识委员会的第二其他成员广播预备信息;
若所述预设共识委员会中所述预备信息的数量达到设定阈值,则确定基于所述第一集群模型更新数据使所述预设共识委员会达成共识。
3.根据权利要求1所述的方法,其特征在于,所述对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据,包括:
从所述预设共识委员会中确定第一领导成员;
若所述联盟区块链中的所述多个集群模型更新数据达到预设数量,则根据所述第一领导成员,对所述多个集群模型更新数据进行聚合;
若预设时间内未生成所述全局模型更新数据,则从所述预设共识委员会中确定目标领导成员,以根据所述目标领导成员在所述预设时间内,生成所述全局模型更新数据。
4.根据权利要求1所述的方法,其特征在于,所述对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据,包括:
根据所述多个第一局部模型更新参数,确定多个贡献率;
根据所述多个贡献率,对所述多个第一局部模型更新参数进行聚合,以生成所述第一集群模型更新数据。
5.根据权利要求1所述的方法,其特征在于,所述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,包括:
将所述初始全局基层参数和所述初始集群个性化层参数发送至所述多个个性化模型,以使所述多个个性化模型根据所述初始全局基层参数,生成目标模型参数,并根据所述目标模型参数和所述初始集群个性化层参数,训练所述多个个性化模型,以反馈所述局部模型更新参数。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述多个集群模型更新数据对应的基层数据发送至所述联盟区块链中,以生成集群模型更新块,所述集群模型更新块中包括:第一区块头、第一当前轮数、第一集群编号和第一更新密文。
7.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
将所述全局模型更新数据发送至所述联盟区块链中,以生成全局模型更新块,所述全局模型更新块中包括:第二区块头、第二当前轮数、第二更新密文。
8.一种基于区块链的联邦学习装置,其特征在于,所述装置包括:
接收模块,用于通过联盟区块链中为多个客户端集群分配的多个雾节点,将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型,以使所述多个个性化模型反馈多个局部模型更新参数,其中,不同客户端集群对应的雾节点不同;
第一生成模块,用于对于任意所述多个雾节点中的第一雾节点,对接收到的多个第一局部模型更新参数进行聚合,以生成所述第一雾节点对应的第一集群模型更新数据;
识别模块,用于根据预设共识委员会对所述第一集群模型更新数据进行验证,若基于所述第一集群模型更新数据使所述预设共识委员会达到共识,则将所述第一集群模型更新数据发送至所述联盟区块链;
第二生成模块,用于遍历所述多个雾节点,生成多个集群模型更新数据;
第三生成模块,用于对接收到的所述多个集群模型更新数据进行聚合,以生成全局模型更新数据;
第四生成模块,用于将所述多个集群模型更新数据作为初始集群个性化层参数,所述全局模型更新数据作为初始全局基层参数,重复上述将初始全局基层参数和初始集群个性化层参数发送至所述多个客户端对应的多个个性化模型至以生成全局模型更新数据的步骤,以生成目标全局模型更新数据;
执行模块,用于若所述目标全局模型更新数据与上一次训练生成的全局模型更新数据之间的差值小于预设差值的情况下,则完成所述联邦学习。
9.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-7中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述程序指令被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310010975.1A CN115796275A (zh) | 2023-01-05 | 2023-01-05 | 基于区块链的联邦学习方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310010975.1A CN115796275A (zh) | 2023-01-05 | 2023-01-05 | 基于区块链的联邦学习方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115796275A true CN115796275A (zh) | 2023-03-14 |
Family
ID=85428570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310010975.1A Pending CN115796275A (zh) | 2023-01-05 | 2023-01-05 | 基于区块链的联邦学习方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115796275A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116723200A (zh) * | 2023-08-11 | 2023-09-08 | 杭州趣链科技有限公司 | 集群变更方法、装置、电子设备及计算机可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966698A (zh) * | 2020-07-03 | 2020-11-20 | 华南师范大学 | 一种基于区块链的可信联邦学习方法、***、装置及介质 |
CN113379066A (zh) * | 2021-06-10 | 2021-09-10 | 重庆邮电大学 | 一种基于雾计算的联邦学习方法 |
CN114372589A (zh) * | 2021-12-30 | 2022-04-19 | 远光软件股份有限公司 | 一种联邦学习方法及相关装置 |
CN114626547A (zh) * | 2022-02-08 | 2022-06-14 | 天津大学 | 一种基于区块链的群组协同学习方法 |
CN115511109A (zh) * | 2022-09-30 | 2022-12-23 | 中南大学 | 一种高泛化性的个性化联邦学习实现方法 |
-
2023
- 2023-01-05 CN CN202310010975.1A patent/CN115796275A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111966698A (zh) * | 2020-07-03 | 2020-11-20 | 华南师范大学 | 一种基于区块链的可信联邦学习方法、***、装置及介质 |
CN113379066A (zh) * | 2021-06-10 | 2021-09-10 | 重庆邮电大学 | 一种基于雾计算的联邦学习方法 |
CN114372589A (zh) * | 2021-12-30 | 2022-04-19 | 远光软件股份有限公司 | 一种联邦学习方法及相关装置 |
CN114626547A (zh) * | 2022-02-08 | 2022-06-14 | 天津大学 | 一种基于区块链的群组协同学习方法 |
CN115511109A (zh) * | 2022-09-30 | 2022-12-23 | 中南大学 | 一种高泛化性的个性化联邦学习实现方法 |
Non-Patent Citations (1)
Title |
---|
孙睿等: "基于区块链的联邦学习研究进展", 《计算机应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116723200A (zh) * | 2023-08-11 | 2023-09-08 | 杭州趣链科技有限公司 | 集群变更方法、装置、电子设备及计算机可读存储介质 |
CN116723200B (zh) * | 2023-08-11 | 2023-11-10 | 武汉趣链数字科技有限公司 | 集群变更方法、装置、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112181666B (zh) | 一种基于边缘智能的设备评估和联邦学习重要性聚合方法 | |
CN110942154B (zh) | 基于联邦学习的数据处理方法、装置、设备及存储介质 | |
CN111083722B (zh) | 模型的推送、模型的请求方法及装置、存储介质 | |
CN108683539B (zh) | 区块链网络的管理方法、装置、介质及电子设备 | |
CN110113388B (zh) | 一种基于改进型聚类算法的区块链***共识的方法和装置 | |
CN110443375B (zh) | 一种联邦学习方法及装置 | |
CN110197285B (zh) | 基于区块链的安全协作深度学习方法及装置 | |
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
CN109905256A (zh) | 一种固件更新方法和装置 | |
US20140149348A1 (en) | Application program management method and apparatus using context information | |
CN111949672A (zh) | 一种支持物联网数据增量更新的区块链存储方法 | |
CN109815025A (zh) | 业务模型调用方法、装置及存储介质 | |
CN115796275A (zh) | 基于区块链的联邦学习方法、装置、电子设备及存储介质 | |
WO2019072021A1 (zh) | 一种支持人工参与区块链决策的方法及电子设备 | |
CN107343294A (zh) | 背景数据传输策略配置方法及装置 | |
CN112990276A (zh) | 基于自组织集群的联邦学习方法、装置、设备及存储介质 | |
CN109962947A (zh) | 一种对等网络中的任务分配方法及装置 | |
CN113378218B (zh) | 一种基于区块链的知识产权数据存证确权方法 | |
CN111083204B (zh) | 文件传输方法、装置及存储介质 | |
CN109348434A (zh) | 一种场景信息的发送方法、发送装置及终端设备 | |
CN115348278A (zh) | 区块链的分布式存储方法 | |
CN109936609B (zh) | 终端链式升级方法、装置及升级管理服务器 | |
CN110933000A (zh) | 分布式数据多阶段聚合方法、设备、服务器和存储介质 | |
CN113094180A (zh) | 无线联邦学习调度优化方法及装置 | |
CN110602515B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230314 |