本发明属于联邦学习,具体涉及一种基于预约分级的联邦学习方法。
背景技术:
1、随着大数据时代的发展,人们在日常生活中每天产生各类不同的数据,这些数据(例如电力数据、金融数据等)都被众多的企业和部门机关收集和使用。数据在时间和空间中不断的流动带来了经济价值。但是,随之出现的数据安全和数据隐私问题也受到重视,各国及地区随之颁布相关法律法规用于保护数据隐私。其中联邦学习是一种打破传统数据集中式模型训练的新型分布式模型训练方式,旨在数据不出本地。如图1所示,联邦学习主要是不同参与方利用其本地数据集训练的模型,然后通过隐私保护、模型聚合等多种技术将多方的本地训练模型聚合成一个全局模型。这样确保各参与方的数据保留在本地,降低了数据泄露的风险,同时全局模型可以学习到各方数据的特征。然而,联邦学习中等待客户端上传模型过久,无法快速聚合更新全局模型;而且,并没有考虑不同客户端和服务器在运行过程中实际通信资源情况,以及实际训练过程中可能出现的通信资源波动情况。
2、相比于传统的数据集中式机器学习在训练过程中进行数据的传输,在联邦学习训练的过程中,服务器和客户端之间通信主要是进行模型的上传下载;模型上传的过程中,由于客户端过多导致服务器出现通信拥挤的情况;而且,计算资源不同的客户端进行同样训练轮次,没有充分考虑联邦学习中客户端资源异构的情况,使得客户端没有得到充分利用。为了提高模型传输过程中的通信效率,不同的研究者提出不同的策略方案,有研究者提出局部训练调整策略和基于加权投票的自适应客户端聚类策略,先通过局部训练的时候调整客户端的训练次数,然后模型聚合的时候通过加权投票的方式将客户端模型聚类候再进行模型聚合。也有研究者采用动态采样和top-k选择屏蔽对联邦学习中的通信效率进行优化。显然,目前更多的研究关注的是通信效率优化。客户端在通信过程中会忽视联邦学习通信过程中在模型上传下载中出现的隐私泄露问题和恶意客户端针对诚实客户端的攻击。
技术实现思路
1、针对现有技术中存在的上述问题,本发明目的旨在提供一种在服务器通信资源约束情况下基于预约分级的联邦学习方法,提高联邦学习的效率,减少联邦学习训练过程中无效通信消耗,同时规避在模型聚合过程中由于不同客户端和服务器之间因为通信资源异构导致的聚合失败或等待时间过长等状态,提高联邦学习在模型通信效率,并减少模型在传输过程中可能出现的隐私泄露问题。
2、为了实现上述目的,本发明采取以下技术方案来实现。
3、本发明提供了一种基于预约分级的联邦学习方法,其包括以下步骤:
4、s1服务器将初始化全局模型参数或前一轮次训练得到的全局模型参数,和当前轮次模型训练通信预约规则发送给当前轮次的可预约客户端;
5、s2当前轮次的可预约客户端进行本地模型训练,并依据预约规则生成预约请求上传至服务器;
6、s3服务器依据预约请求,确定当前轮次的预约结果,并发送给出当前轮次选择的客户端;
7、s4被选择的客户端依据预约结果,继续完成本地训练,并将训练好的局部模型参数上传至服务器;
8、s5服务器按照预约结果中的上传时间段,分级别开启与之通信的客户端的上传通道,并将收集到的各客户端的局部模型参数进行聚合以更新全局模型参数;
9、重复上述步骤s1至s5,直至全局模型参数达到预定目标。
10、本发明以一种分级预约机制为基础提出一种联邦学习方法;在每一轮联邦学习通信的过程中,通过预约分级机制选择不同本地训练轮次的客户端,使得不同数据不同计算资源的客户端在联邦学习中发挥自己最大的作用。同时,通过错开不同等级客户端提交模型的时间,确保服务器不会出现通信拥挤的情况,可以使联邦学习更好的部署在现实生活场景(例如物联网行人重识别检测场景,金融机构信贷违约预测场景、医疗单位疾病风险预测场景)中。本发明是提供的联邦学习方法可以适用于多种全局模型网络结构(同时也是各客户端的本地模型网络结构),例如(resnet网络、cnn网络、rnn网络)。
11、上述步骤s1中,应用于服务器以及与服务器通信连接的若干客户端之间。初始时,服务器根据目标任务对全局模型参数进行随机初始化,并将初始化全局模型参数作为步骤s1中首轮次训练的全局模型参数。
12、在具体实现方式中,上述步骤s1包括以下分步骤:
13、s11以当前轮次所有活跃客户端作为当前轮次参与预约的可预约客户端,并确定各可预约客户端的发送时间和预约规则;
14、s12按照发送时间,将初始化全局模型参数或前一轮次训练得到的全局模型参数,和预约规则发送给相应的可预约客户端。
15、上述步骤s11中,所述活跃客户端是指当前时刻在线开启,同时与服务器有网络连接的客户端。所述预约规则包括可预约客户端的本地模型训练次数及预约时间。
16、上述步骤s2包括以下分步骤:
17、s21可预约客户端依据服务器发来的全局模型参数,更新可预约客户端的本地模型参数。
18、s22可预约客户端利用本地的数据训练更新后的本地模型,直至达到预约时间,得到该可预约客户端本地模型训练次数;
19、s23可预约客户端依据预约规则中要求的最大本地模型训练次数对本地模型训练效果进行评估,将满足预约规则的本地模型训练次数以及预约意愿时间段,生成预约请求,并上传至服务器;若不满足预约规则,则可预约客户端程序中止。
20、上述步骤s3包括以下分步骤:
21、s31服务器在预约时间内接收各可预约客户端发送的预约申请;
22、s32服务器依据各可预约客户端的预约请求,按照第一客户端选择规则,确定当前轮次各上传时间段被选择的客户端;
23、s33服务器将被选择的客户端最终需要上传时间和本地模型训练次数生成预约结果发送给对应的客户端。
24、上述步骤s31中,在预约时间内未收到预约申请的可预约客户端视为当前轮次已关闭的客户端,不参与当前轮次后续操作。
25、上述步骤s32中,服务器依据接收的可预约客户端的预约意愿时间段,确定上传时间段,并依据上传时间段划分为不同级别;服务器根据最新评估的通信资源约束,确定当前轮次不同级别上传时间段内被选择的客户端最大数量;例如,可以根据当前时刻宽度或实际吞吐量除以当前模型参数量得到。再结合第一客户端选择规则和接收的可预约客户端发送的预约请求确定被选择客户端。
26、第一客户端选择规则如式(1)所示:
27、
28、其中,表示客户端i预约第k个级别上传时间段是否选中,为1时表示该客户端i预约第k个级别上传时间段被选中,为0时表示该客户端i预约第k个级别上传时间段未被选中,n表示所有客户端数量,xi表示客户端i在当前全局模型训练申请预约时提交的本地模型训练次数,ti表示客户端i累计参与全局模型训练的轮次。
29、在计算式(1)前需要满足下列约束条件:
30、
31、其中,rik表示客户端i是否申请预约第k个级别上传时间段,rik=0表示客户端i没有申请,rik=1表示客户端i申请预约第k个级别上传时间段,rk表示当前服务器第k个级别上传时间段允许参与模型上传客户端的总数(由步骤s32确定)。
32、若当前轮次各上传时间段被选择客户端数量没有达到预设要求时,则按照第二客户端选择规则,结合各上传时间段之前落选的可预约客户端来进一步确定当前轮次相应上传时间段被选择的客户端。
33、即,如果式(2)无法满足,则将当前轮次第k个级别上传时间段之前各级别上传时间段(j=0,1,…,k-1)全局模型训练中落选的可预约客户端加入预约,则相应的第二客户端预约规则为:
34、
35、其中,表示表示客户端i预约当前轮次第k个级别上传时间段是否选中,表示该客户端i预约第k个级别上传时间段未选中,n表示所有客户端数量,xi表示客户端i在当前轮次全局模型训练申请预约时提交的本地模型训练次数,qi表示在第k个级别上传时间段之前各级别上传时间段预约但落选的客户端i是否在第k个级别上传时间段被候补选中,qi为1时表示该客户端i预约第k个级别上传时间段被选中,qi为0时表示该客户端i预约第k个级别上传时间段未被选中,ti表示客户端i累计参与全局模型训练的轮次。
36、在计算式(3)前需要满足下列约束条件:
37、
38、上述步骤s33中,满足式(1)的或者满足式(3)及qi=1的客户端作为被选择的客户端;重新设定被选择客户端的上传时间和本地模型训练次数,并以两者作为生成的预约结果。再将生成的预约结果发送给对应的客户端。
39、上述步骤s4中,各被选择客户端按服务器返回的预约结果,确定上传时间段和本地模型训练次数要求;将满足预约结果的被选择客户端的局部模型参数进行打包。
40、对于当前轮次第k个级别上传时间段被选择的客户端,到达预约结果返回的上传时间时,被选择客户端判断该上传时间段内的本地模型训练次数是否达到预约结果中的本地模型训练次数要求,如果达到了,则停止训练,并将训练好的局部模型参数进行打包发送给服务器;如果没有达到,则对本地模型继续进行训练,直至完成预约结果中的本地模型训练次数要求,之后停止训练,并将训练好的局部模型参数进行打包发送给服务器。
41、上述步骤s5包括以下分步骤:
42、s51服务器按设定的上传时间段内开启对应被选择客户端的上传通道,接受来自不同客户端的发送的局部模型参数,并判断是否满足预约结果,如果满足预约结果,接受该被选择客户端发送的局部模型参数;如果不满足预约结果,则拒绝该被选择客户端发送的局部模型参数;直到不同级别上传时间段内所有被选择客户端全部完成上传或者到达预定截止时间段;
43、s52服务器将所有接收到的局部模型参数进行聚合,生成当前轮次的全局模型参数;
44、s53判断全局模型参数是否达到预定收敛条件,如果达到预定收敛条件则停止训练;否则返回步骤s1进行下一轮全局模型训练。
45、上述步骤s51中,通道开启至各上传时间段结束,不论是否接收到全部被选择客户端的局部模型参数;如果提前接受完所有相应客户端的局部模型参数,可以提前结束通道时间。
46、与现有技术方案相比,本发明具有以下有益效果:
47、1)本发明综合考虑联邦学习在实际部署中服务器可能出现的通信资源的变化情况,能在不同通信资源情况下灵活调整联邦学习通信机制,提高联邦学习的可用性和可靠性。
48、2)本发明充分利用了联邦学习中客户端资源异构情况下不同客户端的计算资源,提高联邦学习在模型通信效率。
49、3)本发明对不同客户端,进行分级预约,从而减少了模型上传过程中恶意客户端对全局模型的影响。