一种基于区块链的联邦学习方法及相关装置制造方法及图纸

技术编号:38391005 阅读:6 留言:0更新日期:2023-08-05 17:44
本申请公开了一种基于区块链的联邦学习方法及相关装置,包括:获取本地局部模型;将本地局部模型上传至对应的移动边缘计算服务器;获取其它移动边缘计算服务器广播的第一数据区块中对应客户端的局部模型;对本地局部模型和其它移动边缘计算服务器广播的第一数据区块中对应客户端的局部模型按照预设模型聚合规则进行聚合,得到本地初始全局模型;使用本地数据对所述本地初始全局模型进行训练,得到训练后的目标全局模型,本申请中使用的区块链技术具有分布式、不变性和可追溯性等特点,可以为基于联邦学习架构的训练及计算提供解决方案,有助于消除对中心服务器的需求,保证用户的隐私不被泄露,提供较好的安全性保障,有利于消除模型威胁。利于消除模型威胁。利于消除模型威胁。

【技术实现步骤摘要】
一种基于区块链的联邦学习方法及相关装置


[0001]本申请涉及联邦学习
,更具体的说,是涉及一种基于区块链的联邦学习方法及相关装置。

技术介绍

[0002]在现实世界中,数据通常分别存在于多个企业中,以孤岛的形式存在,即数据孤岛。为了训练这些数据,联邦学习被提出并广泛地运用在各个场景。联邦学习的本质是一种分布式机器学习技术,使得分布在不同地点的多个客户端在不泄露数据的情况下,建立一个共享的全局机器学习模型。
[0003]联邦学习需要一个中心服务器来聚合全局模型,因此会存在安全性和可扩展性的问题,故通常采用移动边缘计算技术。移动边缘计算(Mobile edge computing,MEC)用来处理来自无处不在的移动设备的大量数据,以便在人工智能(AI)的帮助下实现智能服务。传统上,AI技术通常需要在单个实体中进行集中数据收集和训练,但是MEC服务器由于数据隐私问题和大数据量通信开销无法计算。基于上述背景提出联邦学习通过协调多个移动设备联合训练模型,而无需泄露本地的数据。
[0004]但是,目前的联邦学习系统依然存在一些问题。首先,用户需要完全信任MEC服务器进行模型聚合,但在现实的无线网络中并不总是能够做到这一点。其次,尽管借助MEC服务器的联邦学习有助于增强用户隐私,但将学习参数传输到移动边缘计算服务器容易受到安全瓶颈的影响,例如恶意威胁,这些威胁可能会修改或窃取本地更新的信息。此外,一旦服务器受到攻击,移动边缘计算服务器对模型聚合的依赖将引入单点故障瓶颈,从而中断整个系统,存在较大的模型威胁和安全隐患。

技术实现思路

[0005]鉴于上述问题,提出了本申请以便提供一种基于区块链的联邦学习方法及相关装置,使用的区块链技术具有分布式、不变性和可追溯性等特点,可以为基于联邦学习架构的训练及计算提供解决方案,有助于消除对中心服务器的需求,保证用户的隐私不被泄露,提供较好的安全性保障,有利于消除模型威胁。具体方案如下:
[0006]一种基于区块链的联邦学习方法,应用于客户端,包括:
[0007]获取本地局部模型,所述本地局部模型是由联邦学习架构中的客户端通过各自的本地数据对预设的初始局部模型进行训练后得到的,所述联邦学习架构包括多个客户端及与每一所述客户端对应的移动边缘计算服务器,且各个移动边缘计算服务器将其创建的区块以时间顺序相连后组合成区块链网络;
[0008]将所述本地局部模型上传至对应的移动边缘计算服务器,使得所述移动边缘计算服务器依据所述本地局部模型创建第一数据区块,并将所述第一数据区块广播至所述区块链网络中的其它移动边缘计算服务器,以及接收所述其它移动边缘计算服务器广播的所述第一数据区块中对应客户端的局部模型;
[0009]获取所述其它移动边缘计算服务器广播的第一数据区块中对应客户端的局部模型;
[0010]对所述本地局部模型和所述其它移动边缘计算服务器广播的第一数据区块中对应客户端的局部模型按照预设模型聚合规则进行聚合,得到本地初始全局模型;
[0011]使用所述本地数据对所述本地初始全局模型进行训练,得到训练后的目标全局模型。
[0012]优选地,所述使用所述本地数据对所述本地初始全局模型进行训练,得到训练后的目标全局模型,包括:
[0013]将所述本地数据输入至所述本地初始全局模型中进行前向计算,得到前向计算结果,并根据所述前向计算结果对所述本地初始全局模型进行更新,并将更新后的本地初始全局模型作为目标全局模型。
[0014]优选地,所述本地数据包括与联邦学习任务相关联的至少一个样本对应的样本数据以及对每个样本进行标注后的真实类别;
[0015]所述将所述本地数据输入至所述本地初始全局模型中进行前向计算,得到前向计算结果,并根据所述前向计算结果对所述本地初始全局模型进行更新,并将更新后的本地初始全局模型作为目标全局模型,包括:
[0016]将所述本地数据输入至所述本地初始全局模型中,得到所述本地初始全局模型输出的每个样本的预测类别;
[0017]依据所述每个样本的预测类别与所述每个样本的真实类别,计算所述每个样本的损失值;
[0018]获取所述其它移动边缘计算服务器广播的对应客户端的初始全局模型以及各初始全局模型在对应客户端进行训练时得到的每个样本的损失值,所述初始全局模型是由联邦学习架构中的其他客户端依据获取的局部模型进行聚合后形成的;
[0019]基于所述本地初始全局模型计算的每个样本的损失值、所述其它移动边缘计算服务器上传的初始全局模型计算得到的每个样本的损失值,以及所述联邦学习架构的客户端总数,得到全局客户端平均损失值;
[0020]按照预设规则对所述本地局部模型中的模型参数进行更新,得到中间本地局部模型,并对客户端权重进行更新,其中,所述客户端权重用于在所述预设聚合规则中,根据各客户端所对应的客户端权重,对各客户端的初始局部模型进行聚合;
[0021]在所述每个样本的损失值和所述全局客户端平均损失值的差值不大于预设值的条件下,判断所述全局客户端平均损失值是否高于预设值,或者迭代训练次数是否还未达到预设最大迭代次数;
[0022]若是,则对所述本地初始全局模型进行更新,得到新的本地初始全局模型后,返回执行所述将所述本地数据输入至所述本地初始全局模型中,得到所述本地初始全局模型输出的每个样本的预测类别的步骤,直至所述全局客户端平均损失值不高于预设阈值为止,或者直至重复执行的次数达到预设最大迭代次数为止;
[0023]若否,则将所述中间本地局部模型和所述其它移动边缘计算服务器广播的对应客户端的中间局部模型按照预设模型聚合规则进行聚合,得到目标全局模型。
[0024]优选地,所述对所述本地初始全局模型进行更新,包括:
[0025]将所述中间本地局部模型上传至对应的移动边缘计算服务器,所述移动边缘计算服务器依据所述中间本地局部模型创建第二数据区块,并将所述第二数据区块广播至其它移动边缘计算服务器,以及接收其它移动边缘计算服务器广播的所述第二数据区块中对应客户端的中间局部模型;
[0026]获取所述其它移动边缘计算服务器广播的所述第二数据区块中对应客户端的中间局部模型;
[0027]对所述中间本地局部模型和所述其它移动边缘计算服务器广播的所述第二数据区块中对应客户端的中间局部模型按照所述预设模型聚合规则进行聚合,得到新的本地初始全局模型。
[0028]优选地,所述按照预设规则对所述本地局部模型中的模型参数进行更新,得到中间本地局部模型,并对客户端权重进行更新,得到新的客户端权重,包括:
[0029]确定所述本地局部模型的损失函数展开式;
[0030]根据所述本地局部模型的损失函数展开式,确定所述本地局部模型的新权重;
[0031]从对应的移动边缘计算服务器中获取预先配置的初始客户端权重;
[0032]根据所述本地局部模型的新权重和所述初始客户端权重,确定新的模型参数;
[0033]将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的联邦学习方法,应用于客户端,其特征在于,包括:获取本地局部模型,所述本地局部模型是由联邦学习架构中的客户端通过各自的本地数据对预设的初始局部模型进行训练后得到的,所述联邦学习架构包括多个客户端及与每一所述客户端对应的移动边缘计算服务器,且各个移动边缘计算服务器将其创建的区块以时间顺序相连后组合成区块链网络;将所述本地局部模型上传至对应的移动边缘计算服务器,使得所述移动边缘计算服务器依据所述本地局部模型创建第一数据区块,并将所述第一数据区块广播至所述区块链网络中的其它移动边缘计算服务器,以及接收所述其它移动边缘计算服务器广播的所述第一数据区块中对应客户端的局部模型;获取所述其它移动边缘计算服务器广播的第一数据区块中对应客户端的局部模型;对所述本地局部模型和所述其它移动边缘计算服务器广播的第一数据区块中对应客户端的局部模型按照预设模型聚合规则进行聚合,得到本地初始全局模型;使用所述本地数据对所述本地初始全局模型进行训练,得到训练后的目标全局模型。2.根据权利要求1所述的方法,其特征在于,所述使用所述本地数据对所述本地初始全局模型进行训练,得到训练后的目标全局模型,包括:将所述本地数据输入至所述本地初始全局模型中进行前向计算,得到前向计算结果,并根据所述前向计算结果对所述本地初始全局模型进行更新,并将更新后的本地初始全局模型作为目标全局模型。3.根据权利要求2所述的方法,其特征在于,所述本地数据包括与联邦学习任务相关联的至少一个样本对应的样本数据以及对每个样本进行标注后的真实类别;所述将所述本地数据输入至所述本地初始全局模型中进行前向计算,得到前向计算结果,并根据所述前向计算结果对所述本地初始全局模型进行更新,并将更新后的本地初始全局模型作为目标全局模型,包括:将所述本地数据输入至所述本地初始全局模型中,得到所述本地初始全局模型输出的每个样本的预测类别;依据所述每个样本的预测类别与所述每个样本的真实类别,计算所述每个样本的损失值;获取所述其它移动边缘计算服务器广播的对应客户端的各初始全局模型在对应客户端进行训练时得到的每个样本的损失值,所述初始全局模型是由联邦学习架构中的其他客户端依据获取的局部模型进行聚合后形成的;基于所述本地初始全局模型计算的每个样本的损失值、所述其它移动边缘计算服务器上传的初始全局模型计算得到的每个样本的损失值,以及所述联邦学习架构的客户端总数,得到全局客户端平均损失值;按照预设规则对所述本地局部模型中的模型参数进行更新,得到中间本地局部模型,并对客户端权重进行更新,其中,所述客户端权重用于在所述预设聚合规则中,根据各客户端所对应的客户端权重,对各客户端的初始局部模型进行聚合;在所述每个样本的损失值和所述全局客户端平均损失值的差值不大于预设值的条件下,判断所述全局客户端平均损失值是否高于预设值,或者迭代训练次数是否还未达到预设最大迭代次数;
若是,则对所述本地初始全局模型进行更新,得到新的本地初始全局模型后,返回执行所述将所述本地数据输入至所述本地初始全局模型中,得到所述本地初始全局模型输出的每个样本的预测类别的步骤,直至所述全局客户端平均损失值不高于预设阈值为止,或者直至重复执行的次数达到预设最大迭代次数为止;若否,则将所述中间本地局部模型和所述其它移动边缘计算服务器广播的对应客户端的中间局部模型按照预设模型聚合规则进行聚合,得到目标全局模型。4.根据权利要求3所述的方法,其特征在于,所述对所述本地初始全局模型进行更新,包括:将所述中间本地局部模型上传至对应的移动边缘计算服务器,所述移动边缘计算服务器依据所述中间本地局部模型创建第二数据区块,并将所述第二数据区块广播至其它移动边缘计算服务器,以及接收其它移动边缘计算服务器广播的所述第二数据区块中对应客户端的中间局部模型;获取所述其它移动边缘计算服务器广播的所述第二数据区块中对应客户端的中间局部模型;对所述中间本地局部模型和所述其它移动边缘计算服务器广播的所述第二数据区块中对应客户端的中间局部模型按照所述预设模型聚合规则进行聚合,得到新的本地初始全局模型。5.根据权利要求3所述的方法,其特征在于,所述按照预设规则对所述本地局部模型中的模型参数进行更新,得到中间本地局部模型,并对客户端权重进行更新,得到新的客户端权重,包括:确定所述本地局部模型的损失函数展开式;根据所述本地局部模型...

【专利技术属性】
技术研发人员:廖天驰褚学森陈川李晓丽郑子彬
申请(专利权)人:中国船舶科学研究中心深海技术科学太湖实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1