本发明涉及区块链,尤其涉及一种联邦学习聚合方法、装置、设备及存储介质。
背景技术:
1、联邦学习是一种分布式的机器学习系统,现有的联邦学习系统包含一个中央服务器与若干客户端,每个客户端包含有一个仅自己可见的训练数据集。整个系统的最终目标是:在不将全部训练数据收集到中央服务器的前提下,尽可能全面的利用所有客户端的私有训练数据训练出一个机器学习模型。其中,中央服务器维护一个全局模型,在每个全局轮次开始时,中央服务器将当前的全局模型下发至所有客户端,每个客户端利用自己本地训练数据基于中央服务器所下发的全局模型计算梯度,之后每个客户端将自己所计算出的梯度提交至中央服务器,中央服务器运行聚合算法将所有收集来的梯度聚合成一个用于更新全局模型的梯度,最后中央服务器使用这个聚合出的梯度更新全局模型,至此完成一个全局轮次的训练过程。整个系统不断重复这样一个过程,直到全局模型收敛。联邦学习的目的是各个边缘设备(客户端)联合训练一个好的机器学习模型,同时保护数据隐私(数据不共享)。传统分布式中心化集体学习的范式,每个机构把数据全都上传到服务器云平台,然后在服务器大云平台上面训练好的ai模型。而联邦学习的所有用户数据停留在本地,不上传数据,只上传模型的反馈,通过服务器对模型的反馈参数进行操作以训练更优的模型。
2、但是,现有的联邦学习架构依赖于可信任的中央服务器,存在无法避免的单点故障问题。
技术实现思路
1、本发明的主要目的在于提供一种联邦学习聚合方法、装置、设备及存储介质,旨在解决现有的联邦学习架构依赖于可信任的中央服务器,存在无法避免的单点故障的技术问题。
2、为实现上述目的,本发明提供一种联邦学习聚合方法,所述联邦学习聚合方法应用于联邦学习聚合设备,所述联邦学习聚合设备上设置有区块链的智能合约,所述联邦学习聚合设备通过所述智能合约执行所述联邦学习聚合方法,所述联邦学习聚合方法包括:
3、收集各个数据提供者对应的各个客户端提交的梯度,所述梯度由各个客户端基于本地训练数据对全局模型进行本地训练获得,所述梯度在所述区块链上以交易的形式进行存储;
4、对所述梯度进行聚合,获得聚合梯度;
5、基于所述聚合梯度对所述全局模型进行更新,并返回所述收集各个数据提供者对应的客户端提交的梯度的步骤,直至更新后全局模型满足预设训练终止条件,输出所述更新后全局模型。
6、可选地,所述对所述梯度进行聚合,获得聚合梯度,包括:
7、根据所述梯度的模长对所述梯度进行筛选;
8、计算各个客户端在当前训练轮次提交善良梯度的先验概率;
9、根据所述先验概率对筛选后梯度进行聚合,获得聚合梯度。
10、可选地,所述根据所述梯度的模长对所述梯度进行筛选,包括:
11、计算所述梯度的欧式模长、欧式模长均值以及模长标准差;
12、根据所述欧式模长、所述欧式模长均值以及所述模长标准差对不符合预设标准的梯度进行筛选。
13、可选地,所述计算各个客户端在当前训练轮次提交善良梯度的先验概率,包括:
14、从所述区块链中获取各个客户端在历史训练轮次中的历史行为信息;
15、根据所述历史行为信息构建各个客户端对应的隐马尔可夫模型;
16、基于所述隐马尔可夫模型计算各个客户端在当前训练轮次提交善良梯度的先验概率。
17、可选地,所述根据所述先验概率对筛选后梯度进行聚合,获得聚合梯度,包括:
18、计算各个客户端的先验概率之和;
19、根据所述先验概率和所述各个客户端的先验概率之和对筛选后梯度进行聚合,获得聚合梯度。
20、可选地,所述根据所述先验概率对筛选后梯度进行聚合,获得聚合梯度之后,还包括:
21、对各个客户端提交的梯度进行余弦相似度评估;
22、根据评估结果更新各个客户端在历史训练轮次中的历史行为信息,所述历史行为信息存储在所述区块链上。
23、可选地,所述根据评估结果更新各个客户端在历史训练轮次中的历史行为信息,包括:
24、从评估结果中获取各个客户端提交的梯度的余弦相似度;
25、根据所述聚合梯度、所述余弦相似度以及预设阈值对各个客户端提交的梯度进行善恶检测,所述预设阈值基于当前训练轮次的余弦相似度均值和上一训练轮次的余弦相似度均值自适应更新;
26、根据检测结果更新各个客户端在历史训练轮次中的历史行为信息。
27、此外,为实现上述目的,本发明还提出一种联邦学习聚合装置,所述联邦学习聚合装置包括:
28、收集模块,用于收集各个数据提供者对应的各个客户端提交的梯度,所述梯度由各个客户端基于本地训练数据对全局模型进行本地训练获得,所述梯度在所述区块链上以交易的形式进行存储;
29、聚合模块,用于对所述梯度进行聚合,获得聚合梯度;
30、输出模块,用于基于所述聚合梯度对所述全局模型进行更新,并返回所述收集各个数据提供者对应的客户端提交的梯度的步骤,直至更新后全局模型满足预设训练终止条件,输出所述更新后全局模型。
31、此外,为实现上述目的,本发明还提出一种联邦学习聚合设备,所述联邦学习聚合设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的联邦学习聚合程序,所述联邦学习聚合程序配置为实现如上文所述的联邦学习聚合方法。
32、此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有联邦学习聚合程序,所述联邦学习聚合程序被处理器执行时实现如上文所述的联邦学习聚合方法。
33、在本发明中,公开了联邦学习聚合方法应用于联邦学习聚合设备,联邦学习聚合设备上设置有区块链的智能合约,联邦学习聚合设备通过智能合约执行联邦学习聚合方法,方法包括:收集各个数据提供者对应的各个客户端提交的梯度,梯度由各个客户端基于本地训练数据对全局模型进行本地训练获得,梯度在区块链上以交易的形式进行存储,对梯度进行聚合,获得聚合梯度,基于聚合梯度对全局模型进行更新,并返回收集各个数据提供者对应的客户端提交的梯度的步骤,直至更新后全局模型满足预设训练终止条件,输出更新后全局模型;由于本发明中用区块链替代了传统联邦学习中的中央服务器,从而规避了单点故障问题,进而提高了系统的可靠性与安全性。
1.一种联邦学习聚合方法,其特征在于,所述联邦学习聚合方法应用于联邦学习聚合设备,所述联邦学习聚合设备上设置有区块链的智能合约,所述联邦学习聚合设备通过所述智能合约执行所述联邦学习聚合方法,所述联邦学习聚合方法包括:
2.如权利要求1所述的联邦学习聚合方法,其特征在于,所述对所述梯度进行聚合,获得聚合梯度,包括:
3.如权利要求2所述的联邦学习聚合方法,其特征在于,所述根据所述梯度的模长对所述梯度进行筛选,包括:
4.如权利要求2所述的联邦学习聚合方法,其特征在于,所述计算各个客户端在当前训练轮次提交善良梯度的先验概率,包括:
5.如权利要求2所述的联邦学习聚合方法,其特征在于,所述根据所述先验概率对筛选后梯度进行聚合,获得聚合梯度,包括:
6.如权利要求2所述的联邦学习聚合方法,其特征在于,所述根据所述先验概率对筛选后梯度进行聚合,获得聚合梯度之后,还包括:
7.如权利要求6所述的联邦学习聚合方法,其特征在于,所述根据评估结果更新各个客户端在历史训练轮次中的历史行为信息,包括:
8.一种联邦学习聚合装置,其特征在于,所述联邦学习聚合装置包括:
9.一种联邦学习聚合设备,其特征在于,所述联邦学习聚合设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的联邦学习聚合程序,所述联邦学习聚合程序被所述处理器执行时实现如权利要求1至7中任一项所述的联邦学习聚合方法。
10.一种存储介质,其特征在于,所述存储介质上存储有联邦学习聚合程序,所述联邦学习聚合程序被处理器执行时实现如权利要求1至7中任一项所述的联邦学习聚合方法。