Client Selection for Federated Learning with Heterogeneous Resources in Mobile Edge

背景

传统的联邦学习在当某些客户端的计算资源有限(即需要更长的训练时间)或者在无线信道状况较差(即导致上传时间更长)时,整个训练的过程可能会变得效率低下。这篇文章提出了一个新的FL协议FedCS,可以缓解上述问题。它的一个思想是根据客户端的资源状况来主动管理客户端,然后选择合适的客户端来进行模型聚合

FedCS

文章提出了一个FedCS协议,下面是该协议的过程:

翻译一下上述协议过程:

  • 初始化:跟传统联邦一样,服务器随机初始化全局模型
  • 资源请求:服务器随机选择 K × C K \times C K×C个客户端参与到该轮训练,其中 K K K是所有客户端的数量, C ∈ ( 0 , 1 ] C \in (0,1] C(0,1]代表选择的百分数。之后服务器向选择的客户端发送资源信息的请求
  • 客户端选择:服务器得收到了关于客户端的资源信息之后,便可以利用这些信息作出决断,然后选择那些合适的客户端进行模型的聚合
  • 分发模型:服务器将全局模型发送给选择出来的客户端
  • 局部模型更新和上传:客户端在本地数据集上训练分发下来的模型,然后上传梯度给服务器
  • 模型聚合:同传统联邦一样,使用上传的梯度来更新全局模型
  • 重复以上除了”初始化“以外的工作

其实上述协议跟传统的联邦学习的不同之处便在于多了一个Resource Request的过程,这个过程的作用便是让服务器拿到客户端的一个关于资源的信息,比如带宽、内存之类会影响训练速度和上传速度的信息,然后根据这个信息去做决策,选择合适的客户端进行训练,如下图所示:

Algorithm for Client Selection Step

经过上述的分析,这个FedSC协议其实并没有什么特别的地方,重点在于它是如何根据上传的资源信息进行决策的

假设 K = 1 , . . . , K \mathbb{K} = {1,...,K} K=1,...,K表示 K K K个客户端组成的集合,然后每次只挑选 K × C K \times C K×C个客户端参与训练,挑选出来的客户端形成的子集为 K ′ \mathbb{K'} K。在这之中被选择参与模型聚合的客户端集合表示为 S = [ k 1 , k 2 , . . . , k ∣ S ∣ ] \mathbb{S} = [k_1,k_2,...,k_{|\mathbb{S}|}] S=[k1,k2,...,kS] T r o u n d ∈ R + T_{round} \in R^{+} TroundR+表示该训练轮次的最后期限(DDL), T f i n a l ∈ R + T_{final} \in R^+ TfinalR+表示整个训练过程的最后期限(DDL), T c s ∈ R + T_{cs} \in R^+ TcsR+表示选择客户端的时间, T a g g T_{agg} Tagg表示模型聚合所需要的时间, T S d ∈ R + T_{\mathbb{S}}^d \in R^+ TSdR+表示分发模型的时间,它取决于选择的客户端 S \mathbb{S} S t k U D t_k^{UD} tkUD t k U L t_k^{UL} tkUL表示第 k k k个客户端训练模型和上传模型所需要的时间,这两个参数的值可以在资源请求步骤中得到。那么整个训练过程从模型更新和上传开始直到最后一个客户端完成上传所需要的时间为

其中 T i U D = ∑ j = 1 i m a x { 0 , t t j U D − θ j − 1 } T_i^{UD} = \sum_{j=1}^i max\{0,t_{t_j}^{UD} - \theta_{j-1}\} TiUD=j=1imax{0,ttjUDθj1} T i U L = ∑ j = 1 i t k j U L T_i^{UL} = \sum_{j=1}^i t_{k_j}^{UL} TiUL=j=1itkjUL

然后客户端选择的问题便可以表示为最大化能够选择的客户端数量的问题,如下所示:

m a x S ∣ S ∣ s . t . T r o u n d ≥ T c s + T S d + θ ∣ S ∣ + T a g g max_{\mathbb{S}}|\mathbb{S}| \\ s.t. T_{round} \geq T_{cs} + T_{\mathbb{S}}^d + \theta_{|\mathbb{S}|} + T_{agg} maxSSs.t.TroundTcs+TSd+θS+Tagg

然后文章用的是贪心算法来解决上述最优化问题,如下图所示:

基本思想就是每一次都找出需要的总时间最少的客户端,然后判断目前的预计训练时间是否满足DDL要求,如果满足的话便将客户端加入集合 S \mathbb{S} S中,最后就能得到适合进行模型聚合的客户端集合 S \mathbb{S} S

总结

思想还是比较简单,服务器通过请求客户端拿到该客户端训练模型和上传模型需要的时间,然后设定一个DDL,从需要总时间最小的客户端开始将其加入一个集合中,之后将需要总时间第二小的客户端加入集合中…,直到集合里面的客户端需要的总时间加起来大于DDL,集合里面的客户端便是可以用来聚合全局模型的客户端

缺点:那些计算能力比较差、或者通信能力不好的客户端将很少有机会能参与到联邦训练中来,这其实一定程度影响到了全局模型的准确率,并且对于这些客户端而言也是不公平的

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
联邦学习是一种通过多方计算(MPC)进行信用评分的方法。信用评分是评估个人信用风险的重要工具,但在传统模型中,所有的个人数据都必须集中在一起进行建模和分析,这会引发隐私和数据安全的担忧。 联邦学习通过在保持数据分散的同时进行模型训练,解决了这些问题。在这一方法中,各方参与者共享他们的本地模型,而不是直接共享他们的数据。每个参与者都单独训练模型,并将更新的模型参数发送给中央服务器。服务器对接收到的参数进行聚合,生成一个全局模型,然后将更新的模型参数再次分发给各参与者。这个过程迭代进行,直到全局模型收敛并达到所需的性能。 联邦学习具有以下优点:首先,隐私得到了保护,因为个人数据不必共享;其次,数据安全风险降低,因为数据不必发送到中央服务器;再次,由于数据分布保持不变,模型的准确性和鲁棒性可以得到保证。 在信用评分方面,用联邦学习进行多方计算,可以使多个金融机构之间能够合作进行信用评分,而不必共享客户的个人数据。这种方法可以提高信用评分的效果,同时保护客户的隐私和数据安全。 总而言之,联邦学习通过多方计算解决了信用评分中的隐私和数据安全问题。这种方法可以促进金融机构之间的合作,并提高信用评分的准确性和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值