1.一种基于雾计算的联邦学习方法,其特征在于:该方法包括以下步骤:S1:运营商作为任务发布者从云端分发联邦学习FL任务以及对应的智能合约;
S2:区块链系统为该FL任务创建F‑channel以提供安全的学习协调服务,该F‑channel一经创建就会初始化一条新的子链以存储全局学习模型的相关信息;
S3:物联网设备通过公网获取并签署智能合约以作为联邦学习任务的客户端;
S4:客户端下载并解密全局学习模型,并利用本地数据在Tround内对其进行训练,然后将训练后的模型更新上传;
S5:FN对客户端上传的模型更新进行校验,并将校验通过的模型更新作为交易存储在交易池内;
S6:当前F‑channel内的所有共识节点FN广播交易并更新交易池,当交易达到给定数量,Leader节点开始生成新区块并将其广播,共识完成后,新区块会挂载到当前FL任务所对应的子链上;
S7:重复S4‑S6,直到全局收敛,联邦学习任务完成,任务发布者从该任务对应子链中最新生成的区块获取收敛的全局模型用于测试与部署。
2.根据权利要求1所述的一种基于雾计算的联邦学习方法,其特征在于:在所述S1中,智能合约基于区块链系统链所提供的接口进行签署,包括参与联邦学习任务的客户端所需资源信息,包括算力大小和数据集大小,完成全局收敛的任务条件和奖励。
3.根据权利要求1所述的一种基于雾计算的联邦学习方法,其特征在于:在所述S2中,F‑channel的创建和子链的初始化通过fabric chaincode的订阅者模块以完成,且该子链的创世块包含全局学习模型的初始化信息,包括模型参数的维数、超参数,激活函数和偏置项。
4.根据权利要求1或2所述的一种基于雾计算的联邦学习方法,其特征在于:在所述S3中,物联网设备通过解包签署的合约以得到该任务所对应的F‑channel地址和SDK证书,并在该F‑channel完成注册认证成为授权的客户端以上传下载模型参数。
5.根据权利要求1或4所述的一种基于雾计算的联邦学习方法,其特征在于:在所述S4中,客户端通过基于证书生成的可逆密码运算符P,,对下载的全局模型更新进行解密操作,并更新本地模型,如下式给出:
其中,wi是客户端i的本地模型参数, 是客户端i所在簇c(i)的全局模型更新,如下式给出:
针对客户端i的本地训练过程,采用随机梯度下降SGD作为启发式算法,令Di为客户端i所持有的数据集,得到:
Δwi←P(SGD(wi,Di)‑wi)。
6.根据权利要求1所述的一种基于雾计算的联邦学习方法,其特征在于:在所述S6中,在PBFT共识协议中,共识节点分为leader replica和follower replica,其中leader replica负责打包新区块并发起共识,而follower replica负责验证,复制和转发区块以完成共识;leader replica需要基于聚类算法计算一个至多个全局模型更新,并将之存储到新生成的区块中,follower replica需要对广播的交易进行交叉验证;定义的区块包括区块头和区块体,区块头存储共识和验证所需的元数据信息,底层区块生成时间戳和父区块哈希值;区块体存储与交易相关的信息,其中交易是客户上传的模型更新,Merkle树是通过自下而上对两两交易进行SHA256操作构建的,其中Merkle树的根节点位于区块头,存储所有交易的元信息,当N个交易在加密后插入Merkle树,最多计算2log2(N)次就完成一个交易的查询;以同样的方式,基于簇的全局模型更新以Merkle树结构存储在区块中。