一种基于贡献量的联邦学习客户机选择方法、系统及介质转让专利

申请号 : CN202110717168.4

文献号 : CN113378474B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 林伟伟许银海

申请人 : 华南理工大学

摘要 :

本发明公开了一种基于贡献量的联邦学习客户机选择方法、系统及介质。该方法包括:初始化选择权重;计算客户机选择概率;选择客户机集合进行本地训练;计算客户机贡献量;无偏估计并更新选择权重;迭代训练。本发明定义客户机对全局模型准确率的提高量作为客户机的贡献量,基于贡献量更新客户机的选择权重,为性能优异的客户机和本地数据集优质的客户机分配高选择概率,降低性能差和数据集恶劣的客户机选择概率,提高最终聚合模型收敛速度和效果。另外,本发明可通过调节客户机贡献量的无偏估计的调节系数θ,满足不同场景需求,如追求全局模型准确率、模型收敛速度或者两者的有效平衡,具有很强的适应性。

权利要求 :

1.一种基于贡献量的联邦学习客户机选择方法,其特征在于,包括以下步骤:初始化选择权重ωi,1=1/K,其中K为所有待选择的智能终端客户机的个数;

在每一轮训练开始前,根据选择权重ωi,t计算所有客户机的选择概率pi,t,其中t∈Γ,Γ={1,2,…,T}表示训练轮数的集合,最多训练T轮;

基于客户机的选择概率pi,t选择k个客户机集合At;

分发全局模型至At内被选择的客户机,被选择的客户机基于本地数据训练模型;

依次接收被选择的客户机训练得到的本地模型,并计算每个客户机的贡献量ai,t,所述客户机的贡献量ai,t为全局模型融合对应客户机本地模型后准确率的变化量,表示如下:*

ai,t=Z‑Z;

*

其中Z 和Z分别表示在第t轮通信回合中融合第i个客户机前后全局模型的准确率;ai,t表示第t轮中第i个客户机对全局模型准确率的贡献量;

对本轮贡献量ai,t进行无偏估计,预测每个客户机下一轮的贡献量 基于客户机下一轮的贡献量 更新该客户机i的选择权重ωi,t为ωi,t+1;

若训练达到指定轮数或全局模型准确率达到设定的目标值,则退出;否则返回计算客户机选择概率的步骤进行下一轮训练。

2.根据权利要求1所述一种基于贡献量的联邦学习客户机选择方法,其特征在于,所述根据选择权重ωi,t计算所有客户机的选择概率pi,t具体如下式:其中,pi,t表示第t轮中第i个客户机的选择概率;ωi,t表示第t轮中第i个客户机的选择权重;K为所有待选择的智能终端客户机的个数。

3.根据权利要求1所述一种基于贡献量的联邦学习客户机选择方法,其特征在于,所述客户机的贡献量ai,t∈[‑1,1]。

4.根据权利要求1所述一种基于贡献量的联邦学习客户机选择方法,其特征在于,所述对本轮贡献量ai,t进行无偏估计,预测每个客户机下一轮的贡献量 具体为:基于本轮训练中客户机对全局模型的真实贡献量,估计下一轮此客户机的贡献量,如下式:其中 表示在第t+1轮通信回合中第i个客户机的贡献量的无偏估计;pi,t表示在第t轮通信回合中第i个客户机的选择概率。

5.根据权利要求1所述一种基于贡献量的联邦学习客户机选择方法,其特征在于,所述ωi,t+1的更新方式具体为:其中,ωi,t表示第t轮中第i个客户机的选择权重; 表示在第t+1轮通信回合中第i个客户机的贡献量的无偏估计;θ表示 的调节系数,其取值范围为[1,∞);η表示权重更新的学习率,其取值范围为(0,1)。

6.根据权利要求1所述一种基于贡献量的联邦学习客户机选择方法,其特征在于,客户机选择过程的目标为全局模型的贡献量最大化,目标函数定义如下:P1:

At~(p1,t,p2,t,…,pK,t);

其中目标函数P1表示T轮贡献量总和的期望,即每一轮训练中选择对全局模型贡献量最大客户机的依据,pi,t表示第t轮中第i个客户机的选择概率,At为根据客户机概率随机选择的客户机组合。

7.根据权利要求6所述一种基于贡献量的联邦学习客户机选择方法,其特征在于,每一轮选择最大的客户机集合获得的贡献量 故目标函数还表示为:

P2:

通过将目标函数从P1转化为P2,把最大贡献量客户机选择问题转化为客户机的选择概率分配问题。

8.一种基于贡献量的联邦学习客户机选择系统,其特征在于,应用权利要求1‑7中任一项所述的一种基于贡献量的联邦学习客户机选择方法,包括预处理模块、模型训练模块、参数更新模块以及判定模块;

所述预处理模块用于初始化选择权重ωi,1=1/K,其中K为所有待选择的智能终端客户机的个数,并在每一轮训练开始前,根据选择权重ωi,t计算所有客户机的选择概率pi,t,其中t∈Γ,Γ={1,2,…,T}表示训练轮数的集合,最多训练T轮;最后基于客户机的选择概率pi,t选择k个客户机集合At;

所述模型训练模块用于分发全局模型至At内被选择的客户机,被选择的客户机基于本地数据训练模型,并依次接收被选择的客户机训练得到的本地模型,并计算每个客户机的贡献量ai,t,所述客户机的贡献量ai,t为全局模型融合对应客户机本地模型后准确率的变化量,表示如下:*

ai,t=Z‑Z;

*

其中Z 和Z分别表示在第t轮通信回合中融合第i个客户机前后全局模型的准确率;ai,t表示第t轮中第i个客户机对全局模型准确率的贡献量;

所述参数更新模块用于对每个客户机贡献量ai,t进行无偏估计,计算客户机i下一轮的贡献量 并将客户机i的选择权重ωi,t更新为ωi,t+1;

所述判定模块用于判断是否结束训练,具体为:若训练达到指定轮数或全局模型准确率达到设定的目标值,则退出;否则返回计算客户机选择概率的步骤进行下一轮训练。

9.一种存储介质,存储有程序,其特征在于:所述程序被处理器执行时,实现权利要求

1‑7任一项所述的一种基于贡献量的联邦学习客户机选择方法。

说明书 :

一种基于贡献量的联邦学习客户机选择方法、系统及介质

技术领域

[0001] 本发明属于联邦学习中客户机选择的技术领域,具体涉及一种基于贡献量的联邦学习客户机选择方法、系统及介质。

背景技术

[0002] 随着人工智能的发展,大数据驱动的智能设备广泛应用于生活中的各个领域。然而,大多数领域的数据有限,并且传统机器学习方法将数据集中至中心化服务器极大的侵害了个人或集体的隐私,这是在许多行业如金融、政府中绝对不允许的。联邦学习出现解决数据不足以及数据孤岛等问题。联邦学习允许多个用户(称为客户机)根据本地设备的数据训练模型然后汇总至中央服务器更新全局模型,本地数据不需要上传至中心服务器,极大的保护了用户的个人隐私。
[0003] 出于带宽通信压力的考虑,联邦学习中每一轮训练都只选择一部分客户机进行训练,随机选择算法是最早并且最常用的客户机选择算法。考虑到存在客户机无法在截止时间前完成本地训练的情况,T.Nishio出了FedCS算法,即在截止日期之前尽可能的选择最快完成训练的客户机。此算法与贪婪算法类似。然而,与分布式计算方式不同,由于联邦学习中数据天然存在于不同领域、机构的数据孤岛中,所以联邦学习中各个客户机的数据量差异大、数据分布不均。随机选择算法以及FedCS选择算法并没有考虑到客户机的本地数据质量,无法有效减少数据质量差的客户机的选择次数,从而导致全局模型效果不佳、收敛速度过慢等问题。因此,对客户机的有效选择,在保证全局模型效果的同时提高模型收敛速度成为了新的挑战。

发明内容

[0004] 本发明的主要目的在于解决客户机性能差异大、客户机本地数据分布恶劣场景下联邦学习客户机的选择问题,提供一种基于贡献量的联邦学习客户机选择方法、系统及介质。本发明定义客户机对全局模型准确率的提高量作为客户机的贡献量,基于贡献量更新客户机的选择权重,为性能优异的客户机和本地数据集优质的客户机分配高选择概率,降低性能差和数据集恶劣的客户机选择概率,提高最终聚合模型收敛速度和效果。
[0005] 为了达到上述目的,本发明采用以下技术方案:
[0006] 本发明的一个方面,提供了一种基于贡献量的联邦学习客户机选择方法,包括以下步骤:
[0007] 初始化选择权重ωi,1=1/K,其中K为所有待选择的智能终端客户机的个数;
[0008] 在每一轮训练开始前,根据选择权重计算所有客户机的选择概率pi,t,其中t∈Γ,Γ={1,2,…,T}表示训练轮数的集合,最多训练T轮;
[0009] 基于客户机的选择概率pi,t选择k个客户机集合At;
[0010] 分发全局模型至At内被选择的客户机,被选择的客户机基于本地数据训练模型;
[0011] 依次接收被选择的客户机训练得到的本地模型,并计算每个客户机的贡献量ai,t;
[0012] 对本轮贡献量ai,t进行无偏估计,预测每个客户机下一轮的贡献量 基于客户机下一轮的贡献量 更新该客户机i的选择权重为ωi,t+1;
[0013] 若训练达到指定轮数或全局模型准确率达到设定的目标值,则退出;否则返回计算客户机选择概率的步骤进行下一轮训练。
[0014] 作为优选的技术方案,所述根据选择权重计算所有客户机的选择概率pi,t具体如下式:
[0015]
[0016] 其中,pi,t表示第t轮中第i个客户机的选择概率;ωi,t表示第t轮中第i个客户机的选择权重;K为所有待选择的智能终端客户机的个数。
[0017] 作为优选的技术方案,所述客户机的贡献量ai,t为全局模型融合对应客户机本地模型后准确率的变化量,表示如下:
[0018] ai,t=Z‑Z*;
[0019] 其中Z*和Z分别表示在第t轮通信回合中融合第i个客户机前后全局模型的准确率;ai,t表示第t轮中第i个客户机对全局模型准确率的贡献量。
[0020] 作为优选的技术方案,所述客户机的贡献量ai,t∈[‑1,1],因为部分性能较差或数据分布偏置大的客户机训练得到的本地模型会对全局模型产生消极影响,故贡献量存在负值。
[0021] 作为优选的技术方案,所述对本轮贡献量ai,t进行无偏估计,预测每个客户机下一轮的贡献量 具体为:基于本轮训练中客户机对全局模型的真实贡献量,估计下一轮此客户机的贡献量,如下式:
[0022]
[0023] 其中 表示在第t+1轮通信回合中第i个客户机的贡献量的无偏估计;pi,t表示在第t轮通信回合中第i个客户机的选择概率。
[0024] 作为优选的技术方案,所述ωi,t+1的更新方式具体为:
[0025]
[0026] 其中,ωi,t表示第t轮中第i个客户机的选择权重; 表示在第t+1轮通信回合中第i个客户机的贡献量的无偏估计;θ表示 的调节系数,其取值范围为[1,∞);η表示权重更新的学习率,其取值范围为(0,1)。
[0027] 作为优选的技术方案,客户机选择过程的目标为全局模型的贡献量最大化,目标函数定义如下:
[0028]
[0029]
[0030] At~(p1,t,p2,t,…,pK,t);
[0031] 其中目标函数P1表示T轮贡献量总和的期望,即每一轮训练中选择对全局模型贡献量最大客户机的依据,pi,t表示第t轮中第i个客户机的选择概率,At为根据客户机概率随机选择的客户机组合。
[0032] 作为优选的技术方案,每一轮选择最大的客户机集合获得的贡献量故目标函数还表示为:
[0033]
[0034]
[0035] 通过将目标函数从P1转化为P2,把最大贡献量客户机选择问题转化为客户机的选择概率分配问题。
[0036] 本发明的另一个方面,还提供了一种基于贡献量的联邦学习客户机选择系统,应用于上述的一种基于贡献量的联邦学习客户机选择方法,包括预处理模块、模型训练模块、参数更新模块以及判定模块;
[0037] 所述预处理模块用于初始化选择权重ωi,1=1/K,其中K为所有待选择的智能终端客户机的个数,并在每一轮训练开始前,根据选择权重计算所有客户机的选择概率pi,t,其中t∈Γ,Γ={1,2,…,T}表示训练轮数的集合,最多训练T轮;最后基于客户机的选择概率pi,t选择k个客户机集合At;
[0038] 所述模型训练模块用于分发全局模型至At内被选择的客户机,被选择的客户机基于本地数据训练模型,并依次接收被选择的客户机训练得到的本地模型,并计算每个客户机的贡献量ai,t;
[0039] 所述参数更新模块用于对每个客户机贡献量ai,t进行无偏估计,计算客户机i下一轮的贡献量 并将客户机i的选择权重更新为ωi,t+1;
[0040] 所述判定模块用于判断是否结束训练,具体为:若训练达到指定轮数或全局模型准确率达到设定的目标值,则退出;否则返回计算客户机选择概率的步骤进行下一轮训练。
[0041] 本发明的另一个方面,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的一种基于贡献量的联邦学习客户机选择方法。
[0042] 本发明与现有技术相比,具有如下优点和有益效果:
[0043] (1)本发明定义客户机对全局模型准确率的提高量作为客户机的贡献量,基于贡献量更新客户机的选择权重,为性能优异的客户机和本地数据集优质的客户机分配高选择概率,降低性能差和数据集恶劣的客户机选择概率,提高最终聚合模型收敛速度和效果,有效解决客户机性能差异大、数据分布质量差的情况下的客户机选择问题;
[0044] (2)本发明以全局模型准确率为目标函数,通过迭代训练不断进行优化,有效提高全局模型的收敛速度和效果。
[0045] (2)本发明通过调节客户机贡献量的无偏估计的调节系数θ,可满足不同场景需求,如追求全局模型准确率、模型收敛速度或者两者的有效平衡,具有很强的适应性。
[0046] (3)本发明下全局模型收敛曲线更为光滑,收敛过程更加稳定。

附图说明

[0047] 图1是本发明实施例所述一种基于贡献量的联邦学习客户机选择方法的流程图;
[0048] 图2是为调节系数θ采取不同值时本发明方法下全局模型训练效果示意图;
[0049] 图3是本发明实施例中多种对比方法下全局模型训练效果示意图;
[0050] 图4是本发明实施例所述一种基于贡献量的联邦学习客户机选择系统的结构示意图;
[0051] 图5是本发明实施例的存储介质的结构示意图。

具体实施方式

[0052] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0053] 实施例
[0054] 在本实施例中,定义:
[0055] F={1,2,…,K}表示所有可选择的智能终端客户机的集合,共有K个客户机;
[0056] Γ={1,2,…,T}表示训练轮数的集合,最多训练T轮;
[0057] 在每轮通信回合中从客户机集合F中选择k个客户机集合参与训练,即:
[0058] |At|=k,t∈Γ;
[0059] 其中At表示第t轮中根据客户机概率随机选择的客户机组合。
[0060] 如图1所示,本实施例提供了一种基于贡献量的联邦学习客户机选择方法,具体包括以下步骤:
[0061] 步骤一:初始化选择权重ωi,1=1/K;
[0062] 步骤二:在每一轮训练开始前,根据选择权重计算所有客户机的选择概率pi,t;
[0063] 步骤三:基于客户机的选择概率pi,t选择k个客户机集合At;
[0064] 步骤四:分发全局模型至At内被选择的客户机,被选择的客户机基于本地数据训练模型;
[0065] 步骤五:依次接收被选择的客户机训练得到的本地模型,并计算每个客户机的贡献量ai,t;
[0066] 步骤六:对本轮贡献量ai,t进行无偏估计,预测每个客户机下一轮的贡献量基于客户机下一轮的贡献量 更新该客户机i的选择权重为ωi,t+1;
[0067] 步骤七:若训练达到指定轮数或全局模型准确率达到设定的目标值,则退出;否则转入步骤二。
[0068] 进一步的,步骤二所述根据选择权重计算所有客户机的选择概率pi,t具体如下式:
[0069]
[0070] 其中,pi,t表示第t轮中第i个客户机的选择概率;ωi,t表示第t轮中第i个客户机的选择权重;K为所有待选择的智能终端客户机的个数。
[0071] 进一步的,步骤五所述客户机的贡献量ai,t为全局模型融合对应客户机本地模型后准确率的变化量,表示如下:
[0072] ai,t=Z‑Z*;
[0073] 其中Z*和Z分别表示在第t轮通信回合中融合第i个客户机前后全局模型的准确率;ai,t表示第t轮中第i个客户机对全局模型准确率的贡献量。
[0074] 进一步的,步骤五所述客户机的贡献量ai,t∈[‑1,1],因为部分性能较差或数据分布偏置大的客户机训练得到的本地模型对全局模型产生消极影响,故所述客户机的贡献量ai,t可以为负数。
[0075] 进一步的,步骤六所述对本轮贡献量ai,t进行无偏估计,预测每个客户机下一轮的贡献量 具体为:基于本轮训练中客户机对全局模型的真实贡献量,估计下一轮此客户机的贡献量,如下式:
[0076]
[0077] 其中 表示在第t+1轮通信回合中第i个客户机的贡献量的无偏估计;pi,t表示在第t轮通信回合中第i个客户机的选择概率。
[0078] 进一步的,选择权重表示客户机基于历史贡献量信息下的重要程度,步骤六中所述将其对应的选择权重更新为ωi,t+1,具体如下式:
[0079]
[0080] 其中,ωi,t表示第t轮中第i个客户机的选择权重; 表示在第t+1轮通信回合中第i个客户机的贡献量的无偏估计;θ表示 的调节系数,其取值范围为[1,∞);η表示权重更新的学习率,其取值范围为(0,1)。
[0081] 进一步的,步骤七中,客户机选择过程的目标为全局模型的贡献量最大化,目标函数定义如下:
[0082]
[0083]
[0084] At~(p1,t,p2,t,…,pK,t);
[0085] 由于选择的客户机的贡献期望值 故目标函数还可表示为:
[0086]
[0087]
[0088] 其中,目标函数表示T轮贡献量总和的期望,每即一轮训练中选择对全局模型贡献量最大客户机的依据,pi,t表示第t轮中第i个客户机的选择概率,At为根据客户机概率随机选择的客户机组合。通过将目标函数从P1转化为P2,把最大贡献量客户机选择问题转化为客户机的选择概率分配问题,而后通过上述客户机概率分配方法解决此问题。
[0089] 更进一步的,在本实施例中,调节系数θ可以调节贡献量对客户机选择权重的反馈,进而调节最终全局模型的效果以及收敛速度。
[0090] 为了验证本发明的一种基于贡献量的联邦学习客户机选择方法的适应性,分别令θ=1,10,20,50,100,在CIFAR‑10数据集上进行联邦学习实验。如图2所示,随着调节系数θ的增大,全局模型收敛速度加快,但全局模型效果也有会一定程度降低。故可以调节系数θ满足不同场景需求,追求全局模型效果时可以适当减小调节系数θ;追求全局模型收敛速度时可以适当增大调节系数θ。
[0091] 为了验证本发明的一种基于贡献量的联邦学习客户机选择方法的有效性,将该方法与Random、Greedy以及K‑Center方法进行比较。调节系数θ=20,此时全局模型的收敛速度和效果都比较好,并且收敛曲线最稳定平滑。选用CIFAR‑10数据集,可供选择客户机数K=100,均分为A、B、C类客户机,分别拥有600、100、10个数据量,数据分布类型为非独立同分布。对于非独立同分布数据分布类型,设置一个参数α(0<α<1)表示数据的非独立同分布程度。从主标签中选择α*D个数据,其余的(1‑α)*D个数据从其他标签中均匀选择构成客户机的本地数据集。设计了三种不同数据分布类型的情况:
[0092] (i)设置A、B、C类客户机的数据分布程度系数α分别为0.3、0.5、0.8;
[0093] (ii)设置A、B、C类客户机的数据分布程度系数α均为0.5;
[0094] (iii)设置A、B、C类客户机的数据分布程度系数α分别为0.7、0.5、0.3。
[0095] 如图3所示,其中带菱形标志的曲线为本发明的基于贡献量的联邦学习客户机选择方法的训练效果曲线:相比Random,本发明的方法的收敛速度提高一倍,并且保持较好的最终全局模型;相比Greedy、K‑Center选择算法,本发明的方法最终全局模型能提升5%~20%;本发明的方法在收敛速度以及全局模型效果方面达到了较完美的结合,同时收敛曲线更光滑,表明此方法更加稳定,此现象在客户机数据愈糟糕的情况下愈明显。
[0096] 如图4所示,在本申请的另一个实施例中,提供了一种基于贡献量的联邦学习客户机选择系统,该系统包括预处理模块、模型训练模块、参数更新模块以及判定模块;
[0097] 所述预处理模块用于初始化选择权重ωi,1=1/K,其中K为所有待选择的智能终端客户机的个数,并在每一轮训练开始前,根据选择权重计算所有客户机的选择概率pi,t,其中t∈Γ,Γ={1,2,…,T}表示训练轮数的集合,最多训练T轮;最后基于客户机的选择概率pi,t选择k个客户机集合At;
[0098] 所述模型训练模块用于分发全局模型至At内被选择的客户机,被选择的客户机基于本地数据训练模型,并依次接收被选择的客户机训练得到的本地模型,并计算每个客户机的贡献量ai,t;
[0099] 所述参数更新模块用于对每个客户机贡献量ai,t进行无偏估计,计算客户机i下一轮的贡献量 并将客户机i的选择权重更新为ωi,t+1;
[0100] 所述判定模块用于判断是否结束训练,具体为:若训练达到指定轮数或全局模型准确率达到设定的目标值,则退出;否则返回计算客户机选择概率的步骤进行下一轮训练。
[0101] 在此需要说明的是,上述实施例提供的系统仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,该系统是应用于上述实施例的一种基于贡献量的联邦学习客户机选择方法。
[0102] 如图5所示,在本申请的另一个实施例中,还提供了一种存储介质,存储有程序,所述程序被处理器执行时,实现上述实施例的一种基于贡献量的联邦学习客户机选择方法,具体为:
[0103] 初始化选择权重ωi,1=1/K,其中K为所有待选择的智能终端客户机的个数;
[0104] 在每一轮训练开始前,根据选择权重计算所有客户机的选择概率pi,t,其中t∈Γ,Γ={1,2,…,T}表示训练轮数的集合,最多训练T轮;
[0105] 基于客户机的选择概率pi,t选择k个客户机集合At;
[0106] 分发全局模型至At内被选择的客户机,被选择的客户机基于本地数据训练模型;
[0107] 依次接收被选择的客户机训练得到的本地模型,并计算每个客户机的贡献量ai,t;
[0108] 对本轮贡献量ai,t进行无偏估计,预测每个客户机下一轮的贡献量 基于客户机下一轮的贡献量 更新该客户机i的选择权重为ωi,t+1;
[0109] 若训练达到指定轮数或全局模型准确率达到设定的目标值,则退出;否则返回计算客户机选择概率的步骤进行下一轮训练。
[0110] 应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0111] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。